/*
Theme Name: IT-Helpperi
Theme URI: https://it-helpperi.fi/
Author: IT-Helpperi
Author URI: https://it-helpperi.fi/
Description: IT-Helpperin oma WordPress-teema. Sisältää palvelut, hinnaston, portfolion, yhteydenottolomakkeen ja jatkuvan etusivuanimaation.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: it-helpperi
*/
:root{--navy:#0b1835;--blue:#075ee8;--ink:#101828;--muted:#5f6b7d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:82px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.8px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:10px;font-size:15px;letter-spacing:-1px;box-shadow:0 8px 18px #075ee82c}nav{display:flex;gap:34px;margin-left:auto}nav a{font-size:14px;font-weight:700;color:#33405a}nav a:hover{color:var(--blue)}.header-call{padding:12px 20px;border:1px solid #dce3ee;border-radius:10px;font-size:14px;font-weight:800}
.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;background:linear-gradient(115deg,#f8fbff 0%,#eef5ff 57%,#e8f5ff 100%);overflow:hidden}.hero-copy{max-width:690px;align-self:center;padding:78px 36px 82px max(36px,calc((100vw - 1180px)/2));position:relative;z-index:2}.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:2.1px}.eyebrow span{display:block;width:25px;height:2px;background:currentColor}h1,h2,h3,p{margin-top:0}h1{margin-bottom:24px;color:var(--navy);font-size:clamp(48px,5.2vw,76px);line-height:.99;letter-spacing:-4px}h1 em,h2 em{color:var(--blue);font-style:normal}.hero-lead{max-width:610px;color:var(--muted);font-size:19px;line-height:1.65}.hero-actions{display:flex;gap:12px;margin:34px 0;flex-wrap:wrap}.button{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:10px;font-size:14px;font-weight:800;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:var(--blue);box-shadow:0 12px 25px #075ee836}.secondary{border:1px solid #cbd5e3;background:#fff}.trust-row{display:flex;gap:24px;flex-wrap:wrap;color:#586579;font-size:12px;font-weight:700}
.hero-visual{min-height:650px;position:relative;background:radial-gradient(circle at 75% 15%,#176fe5 0,#0d3c84 26%,#0b2148 58%,#08162f 100%);overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}.tech-orbit{position:absolute;border:1px solid #60a5fa30;border-radius:50%}.orbit-one{width:560px;height:560px;top:45px;left:40px}.orbit-two{width:390px;height:390px;top:130px;left:125px;box-shadow:0 0 80px #1377ff22}.tech-panel{position:absolute;z-index:2;top:86px;left:50%;width:min(430px,72%);min-height:480px;padding:27px;transform:translateX(-50%) rotate(-1.5deg);color:#fff;background:linear-gradient(145deg,#ffffff1c,#ffffff0b);border:1px solid #ffffff30;border-radius:26px;backdrop-filter:blur(18px);box-shadow:0 35px 80px #020b1d99,0 0 0 8px #ffffff05}.panel-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #ffffff20}.panel-brand{display:flex;align-items:center;gap:9px}.panel-brand>span{width:35px;height:35px;display:grid;place-items:center;background:#1683ff;border-radius:9px;font-size:12px;font-weight:900}.panel-brand strong{font-size:16px}.live-pill{padding:8px 10px;border:1px solid #4ee59d44;border-radius:20px;color:#8ef0bd;font-size:8px;font-weight:900;letter-spacing:1px}.live-pill i{display:inline-block;width:7px;height:7px;margin-right:5px;background:#37dd8b;border-radius:50%;box-shadow:0 0 10px #37dd8b}.panel-title{padding:35px 3px 25px}.panel-title small{color:#8eb5eb;font-size:9px;font-weight:800;letter-spacing:2px}.panel-title h2{margin:10px 0 0;color:#fff;font-size:36px;line-height:1.06;letter-spacing:-1.7px}.panel-title h2 em{color:#63b3ff;font-style:normal}.panel-services{display:grid;grid-template-columns:1fr 1fr;gap:9px}.panel-services span{padding:15px 12px;display:flex;align-items:center;gap:9px;background:#07152f55;border:1px solid #ffffff16;border-radius:11px;font-size:11px;font-weight:700}.panel-services i{color:#63b3ff;font-size:8px;font-style:normal}.panel-bottom{margin-top:27px;padding-top:19px;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #ffffff20}.panel-bottom span{color:#8eb5eb;font-size:8px;font-weight:800;letter-spacing:1.4px}.panel-bottom strong{font-size:17px}.floating-chip{position:absolute;z-index:3;padding:13px 16px;display:flex;align-items:center;gap:10px;color:var(--navy);background:#fff;border-radius:13px;box-shadow:0 18px 45px #020b1d88}.floating-chip b{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:#1683ff;border-radius:8px}.floating-chip span{display:flex;flex-direction:column;font-size:12px;font-weight:800}.floating-chip small{color:#8a96a8;font-size:7px;letter-spacing:1px}.chip-fast{left:5%;top:180px}.chip-local{right:4%;bottom:84px}.chip-local b{background:#18a967}
.section{max-width:1180px;margin:auto;padding:105px 28px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:50px}.section-heading h2,.process h2,.contact h2,.offer-band h2{margin-bottom:0;color:var(--navy);font-size:clamp(38px,4vw,56px);line-height:1.05;letter-spacing:-2.5px}.section-heading>p{max-width:440px;margin-bottom:5px;color:var(--muted);font-size:16px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfe5ed;border-left:1px solid #dfe5ed}.service-card{min-height:290px;padding:32px;display:flex;flex-direction:column;border-right:1px solid #dfe5ed;border-bottom:1px solid #dfe5ed;transition:.2s}.service-card:hover{background:#f7faff;transform:translateY(-3px);box-shadow:0 15px 35px #1c355314}.service-card>span{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:1px}.service-card h3{margin:34px 0 13px;color:var(--navy);font-size:21px}.service-card p{color:var(--muted);font-size:14px;line-height:1.65}.service-card a{margin-top:auto;color:var(--blue);font-size:13px;font-weight:800}
.offer-band{max-width:1180px;margin:0 auto;padding:48px 55px;display:flex;justify-content:space-between;align-items:center;gap:40px;color:#fff;background:linear-gradient(105deg,#075ee8,#0c7deb);border-radius:22px;box-shadow:0 20px 50px #075ee82d}.offer-band h2{max-width:790px;color:#fff;font-size:clamp(30px,3.5vw,48px)}.offer-band h2 em{color:#9eefff}.eyebrow.light{color:#bfefff}.white{flex:none;color:var(--blue);background:#fff}.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.process-intro>p:last-child{margin-top:26px;color:var(--muted);line-height:1.7}.steps{margin:0;padding:0;list-style:none}.steps li{padding:24px 0;display:flex;gap:24px;border-bottom:1px solid #dfe5ed}.steps li>span{flex:0 0 42px;height:42px;display:grid;place-items:center;color:var(--blue);background:#eaf2ff;border-radius:50%;font-weight:800}.steps h3{margin:2px 0 8px;color:var(--navy);font-size:20px}.steps p{margin:0;color:var(--muted);line-height:1.6}
.pricing{padding-bottom:35px}.price-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dfe5ed}.price-card{min-height:150px;padding:26px 24px;display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #dfe5ed}.price-card:nth-child(odd){border-right:1px solid #dfe5ed}.price-card h3{margin-bottom:9px;color:var(--navy);font-size:18px}.price-card p{max-width:310px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.price{flex:0 0 auto;text-align:right}.price strong{display:block;color:var(--blue);font-size:23px}.price span{color:#798596;font-size:10px;font-weight:800;text-transform:uppercase}.package-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.package-row article{padding:25px;color:#fff;background:var(--navy);border-radius:14px}.package-row span{color:#8fb4f4;font-size:9px;font-weight:800;letter-spacing:1.4px}.package-row h3{min-height:42px;margin:13px 0;color:#fff;font-size:16px}.package-row strong{font-size:28px}
.tax-credit{margin-top:24px;padding:30px 34px;display:flex;gap:24px;align-items:flex-start;background:linear-gradient(110deg,#edf8f2,#f5fbf8);border:1px solid #cbe8d8;border-radius:16px}.tax-icon{flex:0 0 54px;height:54px;display:grid;place-items:center;color:#fff;background:#18a967;border-radius:14px;font-size:23px;font-weight:900;box-shadow:0 12px 25px #18a96728}.tax-credit span{color:#138653;font-size:9px;font-weight:900;letter-spacing:1.5px}.tax-credit h3{margin:7px 0 9px;color:var(--navy);font-size:20px}.tax-credit p{max-width:850px;margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}.tax-credit a{color:#138653;font-size:12px;font-weight:800}
.contact{padding:90px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;color:#fff;background:var(--navy)}.contact h2{color:#fff}.contact>div>p:not(.eyebrow){max-width:520px;margin-top:24px;color:#a9b7ce;line-height:1.7}.contact-phone{display:flex;flex-direction:column;margin-top:34px}.contact-phone small{color:#8da0be;font-size:10px;font-weight:800;letter-spacing:1.4px}.contact-phone strong{margin-top:5px;font-size:30px}.business-id{margin-top:24px!important;color:#7186a6!important;font-size:12px}.contact-form{padding:34px;color:var(--navy);background:#fff;border-radius:18px;box-shadow:0 22px 55px #0005}.contact-form label{display:block;margin-bottom:17px;font-size:12px;font-weight:800}.contact-form input,.contact-form textarea{width:100%;margin-top:7px;padding:13px 14px;color:var(--ink);background:#f5f7fb;border:1px solid #d8e0eb;border-radius:9px;font:inherit;font-size:14px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #075ee816}.contact-form textarea{resize:vertical}.form-button{width:100%;min-height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#18a967;border:0;border-radius:9px;font-size:14px;font-weight:800;cursor:pointer}.form-button:hover{background:#128953}.form-note{margin:12px 0 0!important;color:#7c8798!important;font-size:10px;line-height:1.5!important}footer{max-width:1180px;min-height:120px;margin:auto;padding:30px 28px;display:flex;align-items:center;gap:32px;color:#6c7788;font-size:12px}footer>p:nth-last-child(1){margin-left:auto}.footer-brand{color:var(--navy)}
@media(max-width:800px){.site-header{height:70px;padding:0 20px}.site-header nav{display:none}.header-call{padding:10px 12px}.hero{grid-template-columns:1fr}.hero-copy{padding:64px 22px}.hero-visual{min-height:480px}.section{padding:76px 22px}.section-heading,.process,.contact{grid-template-columns:1fr;gap:36px}.service-grid,.price-grid{grid-template-columns:1fr 1fr}.package-row{grid-template-columns:1fr}.offer-band{margin:0 18px;padding:38px 28px;flex-direction:column;align-items:flex-start}.contact{padding:70px 22px}.trust-row{gap:12px}.hero-actions{align-items:stretch}.button{width:100%}footer{flex-wrap:wrap;gap:15px}footer>p:nth-last-child(1){margin-left:0;width:100%}}
@media(max-width:520px){.service-grid,.price-grid{grid-template-columns:1fr}.price-card:nth-child(odd){border-right:0}.price-card{padding:24px 5px}.tax-credit{padding:24px 20px;display:block}.tax-icon{margin-bottom:18px}.header-call{font-size:12px}.brand{font-size:19px}h1{letter-spacing:-2.5px}.tech-panel{top:50px;width:86%;padding:20px}.panel-title{padding:25px 3px 20px}.panel-title h2{font-size:30px}.floating-chip{display:none}.section-heading{gap:18px}.contact-form{padding:24px 18px}}

/* Sähköposti- ja WhatsApp-yhteydenotto */
.contact{grid-template-columns:.82fr 1.18fr;gap:72px}.contact-email{display:inline-block;margin-top:13px;color:#80b5ff;font-size:14px;font-weight:700}.contact-box{width:100%}.form-heading{margin-bottom:22px}.form-heading span{color:var(--blue);font-size:9px;font-weight:900;letter-spacing:1.5px}.form-heading h3{margin:6px 0 4px;font-size:24px}.form-heading p{margin:0;color:#788497;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-form .form-trap{position:absolute;left:-9999px;width:1px;height:1px}.form-button{background:var(--blue)}.form-button:hover{background:#064fc1}.form-button:disabled{cursor:wait;opacity:.72}.form-status{min-height:0}.form-status p{margin:12px 0 0!important;padding:10px 12px;border-radius:8px;font-size:12px!important;line-height:1.5!important}.form-status .success{color:#0c6944!important;background:#eaf8f2}.form-status .error{color:#9b2936!important;background:#fff0f1}.form-status .error a{text-decoration:underline}.contact-divider{height:34px;display:flex;align-items:center;justify-content:center}.contact-divider:before,.contact-divider:after{content:"";flex:1;height:1px;background:#ffffff1c}.contact-divider span{padding:0 12px;color:#7084a4;font-size:8px;font-weight:900;letter-spacing:1px}.whatsapp-button{min-height:70px;padding:14px 18px;display:flex;align-items:center;gap:13px;background:#18a967;border-radius:13px;box-shadow:0 14px 32px #0003}.whatsapp-button b{width:40px;height:40px;display:grid;place-items:center;color:#18a967;background:#fff;border-radius:50%;font-size:16px}.whatsapp-button>span{display:flex;flex:1;flex-direction:column;font-size:13px;font-weight:800}.whatsapp-button small{margin-bottom:3px;color:#c8f4de;font-size:8px;letter-spacing:1.2px}.whatsapp-button i{font-style:normal;font-size:20px}
@media(max-width:520px){.form-row{grid-template-columns:1fr}.whatsapp-button>span{font-size:11px}}

/* Portfolio: real client website captures */
.portfolio{scroll-margin-top:24px}.portfolio-list{display:grid;gap:36px}.portfolio-project{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:38px;padding:28px;background:#f2f5fa;border:1px solid #e2e8f0;border-radius:20px}.portfolio-project:nth-child(2){background:#f3f4ed}.portfolio-project:nth-child(3){background:#edf4f0}.portfolio-screen{display:block;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 15px 28px #152b4517;transition:transform .2s}.portfolio-screen:hover{transform:translateY(-4px)}.portfolio-browser{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;padding:11px 13px;color:#536174;font-size:10px}.portfolio-browser>span:first-child{letter-spacing:2px;color:#bbc5d3}.portfolio-screen img{display:block;width:100%;height:auto}.portfolio-number{color:#708197;font-size:11px;font-weight:700;letter-spacing:2px}.portfolio-type{margin:22px 0 8px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:1.5px}.portfolio-copy h3{margin-bottom:14px;color:var(--navy);font-size:29px;line-height:1.1;letter-spacing:-1px}.portfolio-copy>p:not(.portfolio-type){color:#526175;font-size:14px;line-height:1.7}.portfolio-tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0;padding:0;list-style:none}.portfolio-tags li{border:1px solid #ccd6e0;background:#ffffff80;padding:6px 9px;border-radius:5px;font-size:10px;color:#45566c}.portfolio-link{display:inline-flex;align-items:center;gap:22px;color:var(--blue);font-size:14px;font-weight:800;padding:8px 0}.portfolio-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:42px;padding-top:36px;border-top:1px solid #dfe5ed}.portfolio-cta h3{font-size:27px;color:var(--navy);margin-bottom:10px;letter-spacing:-.7px}.portfolio-cta p{max-width:620px;margin:0;color:var(--muted);line-height:1.6;font-size:15px}.portfolio-cta .button{flex:none}.portfolio a:focus-visible{outline:3px solid #075ee8;outline-offset:5px}.site-header nav{gap:24px}
@media(max-width:950px){.portfolio-project{grid-template-columns:1fr;gap:24px}.portfolio-copy h3{font-size:30px}.portfolio-type{margin-top:16px}.portfolio-cta{align-items:stretch;flex-direction:column}.site-header nav{gap:15px}}
@media(max-width:520px){.portfolio-project{padding:16px;border-radius:14px}.portfolio-browser{font-size:9px;padding:10px 8px}.portfolio-copy h3{font-size:27px}}

/* Etusivun kevyt IT-animaatio */
.hero-visual:after{content:"";position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 43%,#52a8ff13 49%,#8bd6ff2a 50%,#52a8ff13 51%,transparent 57%);transform:translateX(-52%);animation:hero-light-sweep 7s ease-out 1 both;pointer-events:none}.data-stream{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.data-stream i{position:absolute;left:-22%;width:38%;height:1px;background:linear-gradient(90deg,transparent,#5bc0ff,#fff,transparent);filter:drop-shadow(0 0 6px #42adff);opacity:0;transform:rotate(-18deg)}.data-stream i:nth-child(1){top:23%;animation:data-packet 5.4s .5s ease-in-out 1}.data-stream i:nth-child(2){top:50%;animation:data-packet 5.4s 1.25s ease-in-out 1}.data-stream i:nth-child(3){top:74%;animation:data-packet 5.4s 2s ease-in-out 1}.signal-dots{position:absolute;z-index:1;inset:0;pointer-events:none}.signal-dots i{position:absolute;width:6px;height:6px;border-radius:50%;background:#72c7ff;box-shadow:0 0 0 5px #5bbcff17,0 0 18px #5bbcff;opacity:0;animation:signal-pop 4.8s ease-out 1 both}.signal-dots i:nth-child(1){left:16%;top:21%;animation-delay:.8s}.signal-dots i:nth-child(2){right:12%;top:31%;animation-delay:1.7s}.signal-dots i:nth-child(3){left:12%;bottom:22%;animation-delay:2.6s}.signal-dots i:nth-child(4){right:18%;bottom:14%;animation-delay:3.3s}.tech-orbit{animation:orbit-breathe 10s ease-in-out infinite}.orbit-two{animation-delay:-4s}.tech-panel{overflow:hidden;animation:panel-arrive 1.05s cubic-bezier(.2,.75,.25,1) both,panel-float 8s 1.15s ease-in-out infinite}.scan-line{position:absolute;z-index:-1;left:0;right:0;top:-14%;height:14%;background:linear-gradient(to bottom,transparent,#69c6ff16,#9edfff3d,#69c6ff16,transparent);opacity:0;animation:panel-scan 5.2s 1.1s ease-in-out 1;pointer-events:none}.panel-services span{opacity:0;transform:translateY(12px);animation:service-reveal .55s cubic-bezier(.2,.7,.2,1) both}.panel-services span:nth-child(1){animation-delay:.75s}.panel-services span:nth-child(2){animation-delay:1s}.panel-services span:nth-child(3){animation-delay:1.25s}.panel-services span:nth-child(4){animation-delay:1.5s}.live-pill i{animation:status-pulse 2.2s ease-in-out 3}.floating-chip{opacity:0}.chip-fast{animation:chip-from-left .7s 2.05s cubic-bezier(.2,.8,.2,1) both}.chip-local{animation:chip-from-right .7s 2.55s cubic-bezier(.2,.8,.2,1) both}
@keyframes hero-light-sweep{0%{transform:translateX(-52%)}100%{transform:translateX(52%)}}
@keyframes data-packet{0%,18%{left:-35%;opacity:0}28%{opacity:.75}72%{opacity:.55}86%,100%{left:105%;opacity:0}}
@keyframes signal-pop{0%,18%{opacity:0;transform:scale(.3)}28%{opacity:1;transform:scale(1.15)}50%{opacity:.7;transform:scale(.8)}100%{opacity:0;transform:scale(.45)}}
@keyframes orbit-breathe{0%,100%{transform:scale(.96);opacity:.5}50%{transform:scale(1.025);opacity:1}}
@keyframes panel-arrive{0%{opacity:0;transform:translateX(-50%) translateY(28px) rotate(-3deg) scale(.97)}100%{opacity:1;transform:translateX(-50%) translateY(0) rotate(-1.5deg) scale(1)}}
@keyframes panel-float{0%,100%{transform:translateX(-50%) translateY(0) rotate(-1.5deg)}50%{transform:translateX(-50%) translateY(-7px) rotate(-.7deg)}}
@keyframes panel-scan{0%{top:-14%;opacity:0}15%,70%{opacity:1}100%{top:100%;opacity:0}}
@keyframes service-reveal{to{opacity:1;transform:translateY(0)}}
@keyframes status-pulse{0%,100%{transform:scale(.8);box-shadow:0 0 4px #37dd8b}50%{transform:scale(1.25);box-shadow:0 0 16px #37dd8b}}
@keyframes chip-from-left{0%{opacity:0;transform:translate(-24px,10px)}100%{opacity:1;transform:translate(0,0)}}
@keyframes chip-from-right{0%{opacity:0;transform:translate(24px,10px)}100%{opacity:1;transform:translate(0,0)}}
/* Animaatio pidetään käytössä myös silloin, kun laitteessa on vähennetyn liikkeen asetus. */

/* WhatsApp, Facebook ja Instagram */
.whatsapp-button b svg{width:23px;height:23px;display:block;fill:currentColor}.social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.social-button{min-height:66px;padding:13px 16px;display:flex;align-items:center;gap:12px;color:#fff;border-radius:13px;font-size:13px;font-weight:800;box-shadow:0 12px 27px #0002;transition:transform .2s,filter .2s}.social-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.social-button svg{flex:0 0 32px;width:32px;height:32px;fill:currentColor}.social-button span{display:flex;flex-direction:column}.social-button small{margin-bottom:3px;color:#ffffffb8;font-size:8px;letter-spacing:1.1px}.facebook{background:#1877f2}.instagram{background:linear-gradient(120deg,#515bd4,#8134af 38%,#dd2a7b 68%,#f58529)}
@media(max-width:520px){.social-buttons{grid-template-columns:1fr}}

/* IT-Helpperi wordmark */
.brand-logo{display:block;width:174px;height:auto}.site-header .brand-logo{filter:drop-shadow(0 8px 16px #0b18351a)}.panel-brand>span,.panel-brand>strong{display:none}.panel-brand img{display:block;width:128px;height:auto}.footer-brand .brand-logo{width:158px}@media(max-width:520px){.brand-logo{width:142px}.panel-brand img{width:112px}.footer-brand .brand-logo{width:142px}}

/* Jatkuva etusivun animaatio */
.hero-visual:before{animation:grid-drift 18s linear infinite}.hero-visual:after{animation:hero-light-sweep 6.8s ease-in-out infinite}.data-stream i:nth-child(1){animation:data-packet 5.4s .2s ease-in-out infinite}.data-stream i:nth-child(2){animation:data-packet 5.4s 2s ease-in-out infinite}.data-stream i:nth-child(3){animation:data-packet 5.4s 3.8s ease-in-out infinite}.signal-dots i{animation:signal-pop 4.8s ease-out infinite both}.scan-line{animation:panel-scan 5.2s 1.1s ease-in-out infinite}.live-pill i{animation:status-pulse 2.2s ease-in-out infinite}.chip-fast{animation:chip-from-left .7s .7s cubic-bezier(.2,.8,.2,1) both,chip-bob 4.5s 1.4s ease-in-out infinite}.chip-local{animation:chip-from-right .7s 1.1s cubic-bezier(.2,.8,.2,1) both,chip-bob-reverse 5s 1.8s ease-in-out infinite}
@keyframes grid-drift{to{background-position:44px 44px,44px 44px}}@keyframes chip-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes chip-bob-reverse{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* Selvästi näkyvä etusivun liike */
.orbit-one{border-style:dashed;border-width:2px;animation:orbit-spin 16s linear infinite,orbit-breathe 5s ease-in-out infinite}.orbit-two{border-style:dotted;border-width:2px;animation:orbit-spin-reverse 11s linear infinite,orbit-breathe 4s ease-in-out infinite}.tech-panel{animation:panel-arrive 1.05s cubic-bezier(.2,.75,.25,1) both,panel-float 5s 1.15s ease-in-out infinite,panel-glow 3s 1s ease-in-out infinite}.data-stream i{height:2px;background:linear-gradient(90deg,transparent,#73d0ff 30%,#fff 54%,#73d0ff 72%,transparent);filter:drop-shadow(0 0 10px #6bd0ff)}.hero-visual:after{background:linear-gradient(110deg,transparent 41%,#52a8ff24 47%,#d7f1ff70 50%,#52a8ff24 53%,transparent 59%);animation-duration:4.8s}.chip-fast{animation:chip-from-left .7s .7s cubic-bezier(.2,.8,.2,1) both,chip-bob-strong 3.2s 1.4s ease-in-out infinite}.chip-local{animation:chip-from-right .7s 1.1s cubic-bezier(.2,.8,.2,1) both,chip-bob-strong-reverse 3.7s 1.8s ease-in-out infinite}
@keyframes orbit-spin{to{transform:rotate(360deg) scale(1.02)}}@keyframes orbit-spin-reverse{to{transform:rotate(-360deg) scale(.98)}}@keyframes panel-glow{0%,100%{box-shadow:0 35px 80px #020b1d99,0 0 0 8px #ffffff05,0 0 22px #52b8ff20}50%{box-shadow:0 42px 95px #020b1db5,0 0 0 8px #ffffff0a,0 0 52px #52b8ff70}}@keyframes chip-bob-strong{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes chip-bob-strong-reverse{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}

/* Etusivun vaihtuvat ongelmakortit */
.issue-card{position:absolute;z-index:4;width:192px;padding:13px 14px;display:flex;align-items:center;gap:11px;color:#0b1835;background:#fffffff2;border:1px solid #ffffffc7;border-radius:15px;box-shadow:0 18px 45px #020b1d8c,0 0 0 1px #0f75ff12;backdrop-filter:blur(12px)}.issue-card>b{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2499ff,#075ee8);border-radius:10px;font-size:11px;font-style:normal;box-shadow:0 8px 18px #075ee842}.issue-card>span{min-width:0;display:flex;flex-direction:column}.issue-card small{margin-bottom:2px;color:#6d7b91;font-size:7px;font-weight:900;letter-spacing:1.2px}.issue-card strong{font-size:12px;line-height:1.2}.issue-card em{margin-top:4px;color:#075ee8;font-size:8px;font-weight:800;font-style:normal}.issue-wifi{left:3%;top:122px;animation:issue-in-left .75s .3s cubic-bezier(.2,.8,.2,1) both,issue-float-a 3.8s 1.05s ease-in-out infinite}.issue-pc{right:2.5%;top:286px;animation:issue-in-right .75s .75s cubic-bezier(.2,.8,.2,1) both,issue-float-b 4.3s 1.5s ease-in-out infinite}.issue-web{left:8%;bottom:48px;animation:issue-in-left .75s 1.2s cubic-bezier(.2,.8,.2,1) both,issue-float-c 4.8s 1.95s ease-in-out infinite}
@keyframes issue-in-left{from{opacity:0;transform:translate(-28px,10px) scale(.94)}to{opacity:1;transform:translate(0,0) scale(1)}}@keyframes issue-in-right{from{opacity:0;transform:translate(28px,10px) scale(.94)}to{opacity:1;transform:translate(0,0) scale(1)}}@keyframes issue-float-a{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}@keyframes issue-float-b{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(14px) rotate(-1deg)}}@keyframes issue-float-c{0%,100%{transform:translateY(0) rotate(.5deg)}50%{transform:translateY(-11px) rotate(-1deg)}}
@keyframes issue-mobile-cycle{0%{opacity:0;transform:translate(-50%,12px) scale(.96)}5%,28%{opacity:1;transform:translate(-50%,0) scale(1)}33%,100%{opacity:0;transform:translate(-50%,-10px) scale(.97)}}
@media(max-width:520px){.hero-visual{min-height:590px}.issue-card{left:50%!important;right:auto!important;top:auto!important;bottom:18px!important;width:calc(100% - 36px);opacity:0}.issue-wifi{animation:issue-mobile-cycle 12s 0s ease-in-out infinite}.issue-pc{animation:issue-mobile-cycle 12s 4s ease-in-out infinite}.issue-web{animation:issue-mobile-cycle 12s 8s ease-in-out infinite}}

/* WordPress-teeman omat lisäykset */
body{overflow-x:hidden}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-alert{margin:0 0 18px;padding:13px 15px;border-radius:9px;font-size:13px;font-weight:700}.contact-alert.success{color:#0b5d3b;background:#ddf8ec;border:1px solid #90dfbb}.contact-alert.error{color:#9b1c1c;background:#fff0f0;border:1px solid #f3b4b4}.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.site-header nav a:focus-visible,.button:focus-visible,.header-call:focus-visible,.service-card a:focus-visible,.portfolio-link:focus-visible,.contact-form button:focus-visible,.social-button:focus-visible,.whatsapp-button:focus-visible{outline:3px solid #63b3ff;outline-offset:3px}
