/* Homepage visual refinement. Kept separate from service-page styling. */
.home-visual .section{padding:88px 0}
.home-visual .tpf-head{margin-bottom:36px}
.home-visual .tpf-h2{max-width:760px;margin-bottom:18px}
.home-visual .tpf-lead{max-width:690px;line-height:1.65}
.home-visual .tpf-grid{display:block}
.home-visual .tpf-feat{display:grid;grid-template-columns:1.08fr 1fr;box-shadow:none;background:#19182e;border:1px solid #282640}
.home-visual .tpf-feat-top{padding:30px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 0 100%,#353563,transparent 80%),#22213a}
.home-visual .tpf-chips{margin-bottom:22px}
.home-visual .tpf-shot{border-radius:10px;box-shadow:0 20px 40px -18px #0008}
.home-visual .tpf-feat-body{padding:32px}
.home-visual .tpf-feat h3{font-size:28px;line-height:1.2}
.home-visual .tpf-feat-row{gap:18px}
.home-visual .tpf-metric{padding-left:18px}
.home-visual .tpf-metric b{color:#ceeadb;font-size:42px}
.home-visual .tpf-metric span{color:#b2c9c0}
.home-visual .tpf-quote{padding:20px 0 0;border:0;border-top:1px solid #ffffff24;background:none;border-radius:0;margin-top:24px}
.home-visual .tpf-quote .qm{color:#c0bcf0}
.home-visual .tpf-quote p{font-size:14px}
.home-visual .tpf-by{padding-top:0;border:0;color:#b7b7d2}
.home-visual .tpf-cta{padding-top:24px}
.home-visual .tpf-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:22px;margin-top:24px}
.home-visual .tpf-item{height:100%;display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;overflow:hidden;border-radius:18px}
.home-visual .tpf-item-shot{width:100%;aspect-ratio:16/10;border:0;border-radius:0;padding:18px;background:#e8ece4}
.home-visual .tpf-item-shot img{object-fit:contain;border-radius:7px}
.home-visual .tpf-list>.tpf-item:nth-child(2) .tpf-item-shot{background:#f0e2c9}
.home-visual .tpf-list>.tpf-item:nth-child(3) .tpf-item-shot{background:#e2e7f2}
.home-visual .tpf-item-body{padding:22px 24px 26px}
.home-visual .tpf-item h3{font-size:19px;line-height:1.3;margin-bottom:10px}
.home-visual .tpf-item p{font-size:14px;line-height:1.6;color:#5c6275}
.home-visual .tpf-vwrap>.tpf-item{padding-bottom:24px}
.home-visual .tpf-visit{right:24px;bottom:18px;font-size:10px;color:#565c73}
.home-visual .tpf-trust{padding:32px 0 0;margin-top:38px;background:none;border:0;border-top:1px solid #d9d8e7;border-radius:0}
.home-visual .tpf-trust-head{margin-bottom:24px;flex-wrap:wrap}
.home-visual .tpf-trust-head b{font-size:36px;color:var(--deep)}
.home-visual .tpf-tcard{padding:24px 28px;border:0;border-radius:12px;background:#ffffffb3}
.home-visual .tpf-tcard p{line-height:1.75}
/* A service preview with a visible destination and true keyboard-operable tabs. */
.home-visual #what{--home-service-bg:linear-gradient(120deg,#edf2fc,#f0ecfa)}
.home-visual #what .wb{display:block}
.home-visual #what .wb-list{display:none}
.home-visual #what .wb-stage{border:0;background:none;padding:0;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-radius:0}
.home-visual #what .wb-panel{display:flex;flex-direction:column;background:var(--home-service-bg);border:1px solid #e4e6ef;border-radius:20px;overflow:hidden}
.home-visual #what .wb-panel[hidden]{display:none}
.home-visual #what .home-service-art{margin:0;padding:22px 22px 12px;border-bottom:1px solid #0000000a;background:transparent}
.home-visual #what .home-service-art img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 16px 24px -18px #151b3877}
.home-visual #what .home-service-art figcaption{font-size:10px;text-align:right;margin-top:9px;letter-spacing:.025em;color:#45495a}
.home-visual #what .home-service-copy{padding:26px 30px 30px}
.home-visual #what .wb-panel h3{margin:0 0 12px;font-size:26px}
.home-visual #what .wb-panel p{font-size:16px;line-height:1.65;margin:0 0 20px;max-width:none}
.home-text-link{display:inline-block;font-size:14px;font-weight:650;color:var(--deep);border-bottom:1px solid #c9c5e1;padding-bottom:3px}
.home-text-link:hover{border-color:var(--deep)}
.home-visual #what.home-services-ready .wb{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:28px;align-items:start}
.home-visual #what.home-services-ready .wb-stage{grid-column:1;grid-row:1;display:block}
.home-visual #what.home-services-ready .wb-list{grid-column:2;grid-row:1;display:flex;gap:9px}
.home-visual #what .wb-item{width:100%;display:flex;gap:15px;align-items:center;text-align:left;font:inherit;color:var(--ink);padding:12px;background:#fff;border:1px solid transparent;border-radius:14px;box-shadow:none}
.home-visual #what .wb-item:hover{background:#f7f7fc}
.home-visual #what .wb-item.active{background:var(--home-service-bg);border-color:#d2cee8}
.home-visual #what .wb-item:focus-visible,.home-visual a:focus-visible{outline:3px solid #7b70c3;outline-offset:4px}
.home-visual #what .home-tab-art{display:block;flex:0 0 94px;width:94px;aspect-ratio:1.6;padding:7px;border-radius:8px;background:var(--home-service-bg);overflow:hidden}
.home-visual #what .home-tab-art img{display:block;width:100%;height:100%;object-fit:contain;border-radius:3px}
.home-tab-copy{min-width:0}
.home-visual #what .it-title{display:block;font-size:15px;line-height:1.35}
.home-tab-hint{display:block;font-size:12px;line-height:1.4;color:#6a6d7f;margin-top:5px}
.home-tab-arrow{margin-left:auto;align-self:center;font-size:19px;color:#777089;padding-right:3px}
.home-visual #what .wb-item.active .home-tab-arrow{color:var(--deep)}
/* A full-width real-world scene separates proof of work from the service gallery. */
.home-visual .home-approach{background:#18182c;isolation:isolate;scroll-margin-top:68px}
.home-approach-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.home-visual .home-approach:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#16182cb8 0%,#1c1b34a8 40%,#18182cee 70%,#18182cf5 100%)}
.home-visual .home-approach .inner{padding:96px 0 64px}
.home-approach-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:start}
.home-approach-intro{padding-top:14px;max-width:480px}
.home-visual .home-approach .kicker{color:#d1cef1;margin-bottom:24px;font-size:11px;line-height:1.7}
.home-visual .home-approach h2{max-width:480px;font-size:44px;line-height:1.12;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 2px 16px #0002}
.home-approach-caption{font-size:18px;line-height:1.6;color:#e0dfec;margin:26px 0 0}
.home-approach-steps{display:grid;gap:0}
.home-approach-step{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:26px 0}
.home-approach-step:first-child{padding-top:0}
.home-approach-step+.home-approach-step{border-top:1px solid #ffffff25}
.home-visual .home-approach-step .num{font-size:14px;margin:3px 0 0;color:#bedfce;line-height:32px;width:36px;text-align:center;border-radius:8px;background:#bedfce17;height:32px}
.home-visual .home-approach-step:nth-child(2) .num{color:#efd2b3;background:#efd2b317}
.home-visual .home-approach-step:nth-child(3) .num{color:#c1d5fa;background:#c1d5fa17}
.home-approach-step h3{font-family:'Schibsted Grotesk',sans-serif;font-size:22px;line-height:1.25;margin:0 0 10px;font-weight:650;letter-spacing:-.02em}
.home-approach-step p{font-size:15px;line-height:1.7;color:#dedde9;margin:0}
/* Scenarios: photography balances compact groups of linked service descriptions. */
.home-visual .home-scenarios{display:grid;grid-template-columns:1fr;gap:28px;margin-top:38px}
.home-scenario{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.5fr);gap:0;border-radius:20px;overflow:hidden;background:linear-gradient(120deg,#ecf3fb,#f0ecf9)}
.home-scenario-photo{position:relative;min-height:320px;overflow:hidden;background:#d9e0e8}
.home-scenario-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block}
.home-scenario-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#181f34aa)}
.home-scenario-label{position:absolute;bottom:24px;left:26px;right:20px;z-index:1;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:650;line-height:1.3;color:#fff}
.home-scenario-label>span{font-family:'JetBrains Mono',monospace;font-size:11px;color:#fff9;font-weight:400}
.home-scenario-panel{padding:30px 34px}
.home-visual .home-scenarios .ucg-h{font-family:'Schibsted Grotesk',sans-serif;font-size:22px;line-height:1.3;letter-spacing:-.02em;text-transform:none;min-height:0;margin:0 0 24px;padding:0;border:0;font-weight:650;color:#2e304a;max-width:550px}
.home-visual .home-scenarios .uc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px}
.home-visual .home-scenarios .uc{padding:0;border:0;font-size:15px}
.home-visual .home-scenarios .uc>strong{font-size:15px;line-height:1.4}
.home-visual .home-scenarios .uc>strong a{color:#373354}
.home-visual .home-scenarios .uc>strong a span{font-weight:400;color:#777197;white-space:nowrap}
.home-visual .home-scenarios .uc>strong a:hover{color:var(--deep);text-decoration:underline;text-underline-offset:4px}
.home-visual .home-scenarios .uc-copy{font-size:14px;line-height:1.65;color:#60657a;margin-top:7px}
.home-visual .home-scenario:nth-child(2){grid-template-columns:minmax(0,1.5fr) minmax(0,.72fr)}
.home-scenario:nth-child(2) .home-scenario-photo{grid-column:2;grid-row:1}
.home-scenario:nth-child(2) .home-scenario-panel{grid-column:1;grid-row:1}
.home-scenario:nth-child(2) .uc:last-child{grid-column:1/-1;max-width:460px}
.home-visual .stats{border-top:1px solid #e3e4ed;border-bottom:1px solid #e3e4ed;padding:32px 0;gap:30px}
.home-visual .stat+.stat{border-left:1px solid #e3e4ed;padding-left:26px}
.home-visual .stat .v{font-size:30px;line-height:1.2}
.home-visual .stat .l{margin-top:8px;line-height:1.5}
.home-visual .faq-head{padding:28px;background:linear-gradient(135deg,#edf3fc,#f0ecfa);border-radius:18px}
.home-visual .faq-head h2{font-size:30px;line-height:1.2}
.home-visual .faq-note{font-size:15px;line-height:1.7}
/* Clear invitation on the left; calm, light fields on the right. */
.home-visual .home-contact{padding:52px;background:radial-gradient(ellipse at 0 0,#35315e,transparent 70%),#1b1a31}
.home-visual .home-contact .inner{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:64px;max-width:none;align-items:start}
.home-contact-copy{padding-top:12px;min-width:0}
.home-visual .home-contact .kicker{color:#bdb7ec;margin-bottom:24px}
.home-visual .home-contact h2{text-wrap:balance;text-align:left;font-size:40px;line-height:1.12;letter-spacing:-.03em;margin-bottom:24px}
.home-visual .home-contact .sub{text-align:left;font-size:16px;line-height:1.75;color:#c3c2d5;margin:0}
.home-contact-email{display:block;color:#eceafa;border-top:1px solid #ffffff25;margin-top:40px;padding-top:22px;font-size:16px;overflow-wrap:anywhere}
.home-contact-email span{display:block;font-size:12px;color:#bdbbce;margin-bottom:8px}
.home-contact-email b{font-weight:400;margin-left:6px}
.home-contact-form{padding:28px 30px;background:#f5f5fc;border-radius:16px;min-width:0}
.home-visual .home-contact .field label{color:#5c5d78;font-size:10px;letter-spacing:.1em}
.home-visual .home-contact .vsp{background:#fff;border:1px solid #d9dbe8;color:#2a2d42;box-shadow:none}
.home-visual .home-contact .vsp::placeholder{color:#9698aa}
.home-visual .home-contact .vsp:focus{outline:2px solid #a49acb;outline-offset:2px;border-color:#8a7cbe;background:#fff}
.home-visual .home-contact .fsubmit{background:var(--deep);color:#fff;width:100%;margin-top:8px}
.home-visual .home-contact .thanks{padding:32px 0;color:#292d43}
.home-visual .home-contact .thanks h3,.home-visual .home-contact .thanks p{color:#292d43}
@media(max-width:1100px){
 .home-visual .tpf-feat{grid-template-columns:1fr 1fr}.home-visual .tpf-feat-body{padding:26px}.home-visual .tpf-feat-top{padding:24px}
 .home-visual .tpf-feat-row{flex-direction:column}.home-visual .tpf-metric{text-align:left;padding:0;border:0;display:flex;align-items:center;gap:14px}
 .home-visual .tpf-metric span{margin:0}.home-visual .tpf-item-body{padding:20px}.home-visual .tpf-item-shot{padding:12px}
 .home-visual #what.home-services-ready .wb{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}
 .home-visual #what .home-tab-art{flex-basis:76px;width:76px}.home-tab-hint{font-size:11px}
 .home-approach-layout{gap:54px}.home-scenario-panel{padding:28px}
 .home-visual .home-contact{padding:40px}.home-visual .home-contact .inner{gap:34px}.home-visual .home-contact h2{font-size:34px}
}
@media(max-width:880px){
 .home-visual .section{padding:64px 0}.home-visual .tpf-list{gap:16px}.home-visual .tpf-item h3{font-size:17px}.home-visual .tpf-item p{font-size:13px}
 .home-visual .tpf-feat{grid-template-columns:1fr}.home-visual .tpf-feat-top{padding:26px}.home-visual .tpf-feat-body{padding:26px}
 .home-visual .tpf-feat-row{flex-direction:row}.home-visual .tpf-metric{display:block;flex:none;max-width:110px}
 .home-visual .tpf-item-shot{aspect-ratio:1.45}.home-visual .tpf-item-body{padding:18px}
 .home-visual #what .sec-head{align-items:start;flex-direction:column;gap:20px}.home-visual #what .sec-head p{max-width:560px;font-size:16px}
 .home-visual #what.home-services-ready .wb{display:flex;flex-direction:column;gap:18px}
 .home-visual #what.home-services-ready .wb-list{display:flex;flex-direction:row;overflow-x:auto;max-width:100%;width:100%;padding:4px 3px 12px;scrollbar-width:thin;scrollbar-color:#c8c3e1 transparent}
 .home-visual #what .wb-item{flex:0 0 200px;gap:10px;padding:10px;border-color:#e2e1ec;align-items:center}
 .home-visual #what .home-tab-art{width:58px;flex-basis:58px;padding:4px}.home-visual #what .it-title{font-size:13px}
 .home-tab-hint,.home-tab-arrow{display:none}.home-visual #what.home-services-ready .wb-stage{width:100%}
 .home-approach-layout{grid-template-columns:1fr;gap:42px}.home-approach-steps{gap:0}.home-approach-intro{max-width:600px;padding-top:0}.home-visual .home-approach h2{max-width:570px;font-size:40px}.home-approach-background{height:520px;object-position:center 42%}.home-visual .home-approach:before{background:linear-gradient(180deg,#18182ca6 0,#18182cc7 260px,#18182c 520px)}
 .home-visual .home-approach .inner{padding:64px 0 40px}.home-approach-step{grid-template-columns:36px 1fr}
 .home-scenario,.home-visual .home-scenario:nth-child(2){grid-template-columns:minmax(0,.65fr) minmax(0,1fr)}
 .home-scenario:nth-child(2) .home-scenario-photo{grid-column:1}.home-scenario:nth-child(2) .home-scenario-panel{grid-column:2}
 .home-visual .home-scenarios .uc-grid{grid-template-columns:1fr;gap:18px}.home-visual .home-scenarios .ucg-h{font-size:20px}
 .home-scenario-label{font-size:16px;left:20px}.home-scenario-panel{padding:26px}
 .home-visual .stat+.stat{border-left:0;padding-left:0}.home-visual .stats{gap:26px}
 .home-visual .home-contact .inner{grid-template-columns:1fr;gap:30px}.home-contact-copy{padding:0}.home-contact-email{margin-top:24px}
 .home-visual .home-contact h2{font-size:34px;max-width:550px}.home-visual .home-contact .sub{max-width:590px}
 .home-visual .home-contact .frow{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .home-visual .tpf-head{margin-bottom:26px}.home-visual .tpf-list{grid-template-columns:1fr;gap:20px}
 .home-visual .tpf-item-shot{aspect-ratio:16/10;padding:20px}.home-visual .tpf-item-body{padding:22px}
 .home-visual .tpf-item h3{font-size:21px}.home-visual .tpf-item p{font-size:15px}
 .home-visual .tpf-feat-row{flex-direction:column;gap:18px}.home-visual .tpf-metric{display:flex;max-width:none;gap:14px}
 .home-visual .tpf-feat h3{font-size:25px}.home-visual .tpf-feat-top{padding:20px}.home-visual .tpf-feat-body{padding:24px}
 .home-visual .tpf-trust{margin-top:28px}.home-visual .tpf-trust-head{gap:12px}.home-visual .tpf-trust-head b{font-size:32px}
 .home-visual .tpf-tcard{padding:22px}.home-visual #what .wb-stage{grid-template-columns:1fr}
 .home-visual #what .home-service-art{padding:14px 14px 10px}.home-visual #what .home-service-copy{padding:24px}
 .home-visual #what .wb-panel h3{font-size:24px}.home-visual #what .wb-panel p{font-size:15px}
 .home-visual #what .home-service-art figcaption{font-size:9px}.home-text-link{font-size:13px}
 .home-visual .home-approach h2{font-size:34px;line-height:1.16}.home-approach-caption{font-size:16px;margin-top:22px}.home-visual .home-approach .kicker{margin-bottom:18px}
 .home-approach-step{gap:16px}.home-approach-step h3{font-size:21px}
 .home-scenario,.home-visual .home-scenario:nth-child(2){display:flex;flex-direction:column}
 .home-scenario-photo{min-height:200px;height:200px}.home-scenario-panel{padding:26px}
 .home-visual .home-scenarios .uc-grid{gap:20px}.home-visual .home-scenarios .uc>strong{font-size:16px}
 .home-visual .home-scenarios .uc-copy{font-size:15px}.home-visual .home-scenarios .ucg-h{font-size:22px;margin-bottom:26px}
 .home-visual .stat .v{font-size:25px}.home-visual .stats{padding:26px 0}
 .home-visual .faq-head{padding:24px}.home-visual .faq-head h2{font-size:27px}
 .home-visual .home-contact{padding:28px 22px;border-radius:20px}.home-visual .home-contact h2{font-size:32px}
 .home-contact-form{padding:24px 18px}.home-visual .home-contact .frow{grid-template-columns:1fr}
}

/* Gentle background-only parallax; unsupported browsers keep the static photo. */
@supports (animation-timeline:view()){
 @media (min-width:881px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .home-visual .home-approach{view-timeline-name:--home-approach;view-timeline-axis:block}
  .home-approach-background{top:-82px;bottom:auto;height:calc(100% + 164px);animation:home-approach-drift 1s linear both;animation-timeline:--home-approach;animation-range:entry 0% exit 100%}
 }
 @keyframes home-approach-drift{from{transform:translateY(-80px)}to{transform:translateY(80px)}}
}
