/* V11 — readable imagery, focused motion and a clearer inquiry experience. */
.manifest-visual{display:block;height:auto}
.manifest-visual-main{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;width:100%;aspect-ratio:auto!important;background:#0b101e}
.manifest-visual-main img{grid-column:1;grid-row:1;width:100%;height:auto;object-fit:contain;transform:none!important}
.manifest-visual-main:after{display:none}
.manifest-visual-main>span{position:static!important;grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(22px,3vw,45px);background:linear-gradient(90deg,#17244f,#101b3b);font-size:clamp(22px,2.2vw,34px);text-shadow:none}
.manifest-visual-main>span b{font-size:clamp(12px,1.1vw,16px);letter-spacing:.02em;text-transform:uppercase}
.bus-trace{grid-column:1;grid-row:1;position:relative;z-index:2;display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
.bus-trace path{fill:none;stroke:#ea374d;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 9px rgba(231,43,64,.85))}
.bus-trace circle{fill:#fff;stroke:#e52d43;stroke-width:4;opacity:0;filter:drop-shadow(0 0 9px #e52d43)}
.manifest-visual.visible .bus-trace path,.work-project.visible .bus-trace path{animation:bus-route-draw 2.7s cubic-bezier(.2,.7,.12,1) .25s forwards}
.manifest-visual.visible .bus-trace circle,.work-project.visible .bus-trace circle{animation:bus-route-dot .8s ease-out 2.5s forwards}
@keyframes bus-route-draw{to{stroke-dashoffset:0}}
@keyframes bus-route-dot{from{opacity:0}to{opacity:1}}
.work-project[data-sector=advertising] .work-viewport{position:relative}
.work-project[data-sector=advertising] .bus-trace{position:absolute;inset:0;height:100%;width:100%}
.work-glimpse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-glimpse-grid a,.work-glimpse-grid a:nth-child(3){aspect-ratio:3300/2220;transform:none}
.work-glimpse-grid img{object-fit:contain;object-position:center;transform:none!important}
.work-glimpse-grid a:after{inset:70% 0 0}
.service-showcase-grid img{object-fit:contain;transform:none!important}

.check-gauge.is-empty>strong{font-size:clamp(43px,4.8vw,68px);letter-spacing:-.05em;color:#c7d0ff}
.check-gauge.is-empty>i{visibility:hidden}
.check-gauge>strong{font-size:clamp(72px,7vw,122px)}

/* Service symbols use different motions to express the three disciplines. */
.strategy-icon b:nth-child(1),.visual-strategy i:nth-child(1){animation:strategy-orbit 12s linear infinite}
.strategy-icon b:nth-child(2),.visual-strategy i:nth-child(2){animation:strategy-orbit 8s linear infinite reverse}
.strategy-icon b:nth-child(3),.visual-strategy i:nth-child(3){animation:strategy-pulse 2.3s ease-in-out infinite}
.design-icon b:nth-child(1),.visual-design i:first-child{animation:design-outer 8s ease-in-out infinite alternate}
.design-icon b:nth-child(2){animation:design-middle 7s ease-in-out infinite alternate}
.design-icon b:nth-child(3),.visual-design i:last-child{animation:design-core 5s ease-in-out infinite alternate}
.code-icon,.visual-code{animation:code-breathe 2.4s ease-in-out infinite}
@keyframes strategy-orbit{50%{transform:scale(1.1);border-color:rgba(132,177,255,.82)}100%{transform:scale(1)}}
@keyframes strategy-pulse{50%{transform:scale(1.45);box-shadow:0 0 45px #75ecff}}
@keyframes design-outer{to{transform:rotate(32deg) translate(-20px,-10px);border-color:#aab4ff}}
@keyframes design-middle{to{transform:rotate(67deg) translate(5px,-3px);border-color:#bb8fff}}
@keyframes design-core{to{transform:rotate(95deg) scale(1.08);box-shadow:0 0 70px rgba(152,109,255,.75)}}
@keyframes code-breathe{50%{transform:translateY(-7px);color:#cbd2ff;text-shadow:0 0 55px rgba(111,143,255,.9)}}
.service-card:hover .service-icon,.deep-card:hover .deep-card-visual{filter:brightness(1.25)}

/* The home inquiry is a single, intentional surface rather than a generic field grid. */
.contact{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(38px,6vw,105px);align-items:start}
.contact-copy{position:sticky;top:130px}
.contact-form-v11{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;padding:clamp(22px,3.5vw,52px);border:1px solid #7589d0;border-radius:10px;background:radial-gradient(circle at 100% 0,rgba(111,137,255,.23),transparent 40%),linear-gradient(145deg,#1a2a5b,#111c3f);box-shadow:0 35px 100px rgba(0,0,0,.25);backdrop-filter:none}
.contact-form-v11 .full{grid-column:1/-1}
.contact-form-intro{border-bottom:1px solid rgba(171,190,255,.3);padding-bottom:30px;margin-bottom:7px}
.contact-form-intro>span{font:600 11px var(--mono);letter-spacing:.09em;color:#aab9ff}
.contact-form-intro h3{font-size:clamp(35px,3.2vw,55px);line-height:1;letter-spacing:-.055em;margin:22px 0 14px;color:#fff}
.contact-form-intro p{font-size:18px;color:#bdc8e8;margin:0}
.contact-form-v11 label,.contact-form-v11 .project-choice>span{font:600 12px var(--mono);letter-spacing:.035em;color:#d1d8f0;text-transform:none}
.contact-form-v11 input,.contact-form-v11 textarea{width:100%;margin-top:12px;padding:17px 18px;border:1px solid rgba(168,184,239,.35);border-radius:6px;background:#0d1734;color:#fff;font:500 17px var(--sans);transition:border-color .2s,box-shadow .2s}
.contact-form-v11 input:focus,.contact-form-v11 textarea:focus{border-color:#b9c7ff;box-shadow:0 0 0 3px rgba(145,167,255,.18)}
.contact-form-v11 input::placeholder,.contact-form-v11 textarea::placeholder{color:#8e9bc0}
.contact-form-v11 textarea{min-height:155px;resize:vertical}
.contact-form-v11 .project-choice{padding:8px 0}
.contact-form-v11 .project-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.contact-form-v11 .project-choice-grid button{min-height:58px;text-align:left;padding:13px 17px;border-radius:6px;background:#121e42;border-color:#55679f;color:#e7ebff;font-size:15px}
.contact-form-v11 .project-choice-grid button.active{background:#adbaff;color:#0b1530;border-color:#dce3ff}
.contact-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:25px;border-top:1px solid rgba(171,190,255,.3)}
.contact-form-bottom p{margin:0;max-width:340px;color:#b0bcde;font-size:13px;line-height:1.5}
.contact-form-bottom p a{color:#e2e8ff}
.contact-form-bottom .button{width:auto;min-width:245px;margin:0;white-space:nowrap}
.briefing-form{border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#182857,#101c40);border-color:#6a7bc2}
.briefing-form:before{background:#21366d;color:#d4dcff}
.briefing-form .form-section{border-color:rgba(169,187,255,.24)}
.briefing-form .form-section>span{color:#bfcbff}
.briefing-form input,.briefing-form select,.briefing-form textarea{background:#0c1631;border-color:#586aa7;border-radius:6px;color:#f6f8ff}
.briefing-aside{background:linear-gradient(145deg,#203264,#111d40);border-color:#6678b8;border-radius:10px}

.works-statement{display:flex;align-items:center;min-height:clamp(360px,37vw,590px);padding:clamp(75px,8vw,135px) var(--pad);border-top:1px solid var(--nexus-line)}
.works-statement p{max-width:1100px;margin:0 0 0 clamp(0px,12vw,230px);font-size:clamp(46px,6vw,102px);line-height:.98;letter-spacing:-.065em;font-weight:600;text-wrap:balance}
.works-statement em{font-style:normal;color:#aab8ff}

@media(max-width:1050px){.contact{grid-template-columns:1fr}.contact-copy{position:static}.contact-form-v11{max-width:840px;width:100%}}
@media(max-width:720px){
  .manifest-visual-main>span{align-items:start;flex-direction:column;gap:8px;padding:18px;font-size:23px}
  .manifest-visual-main>span b{font-size:11px}
  .bus-trace path{stroke-width:5}
  .work-glimpse-grid{grid-template-columns:1fr}
  .work-glimpse-grid a,.work-glimpse-grid a:nth-child(3){grid-column:1;aspect-ratio:3300/2220}
  .work-glimpse-grid a>span{font-size:23px}
  .contact-form-v11{grid-template-columns:1fr;padding:25px 18px}
  .contact-form-v11 label{grid-column:1}
  .contact-form-intro h3{font-size:40px}
  .contact-form-bottom{align-items:stretch;flex-direction:column;gap:20px}
  .contact-form-bottom .button{width:100%;min-width:0}
  .works-statement{min-height:350px}
  .works-statement p{margin-left:7vw;font-size:clamp(44px,11vw,66px)}
}
@media(prefers-reduced-motion:reduce){.strategy-icon b,.visual-strategy i,.design-icon b,.visual-design i,.code-icon,.visual-code,.bus-trace path,.bus-trace circle{animation:none!important}.bus-trace path{stroke-dashoffset:0}.bus-trace circle{opacity:1}}
