/* Phone-first refinements. Desktop composition and all content stay intact. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.hero .orbit-tile{pointer-events:auto;cursor:pointer;border:0;padding:0;display:block;color:inherit}
.hero .orbit-tile video{pointer-events:none}
.hero .orbit-tile:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.hero .orbit:has(a:focus-visible) .orbit-spin{animation-play-state:paused}}
.hero-discover{display:grid;place-items:center;min-width:44px;min-height:44px}
.process-motion{min-height:44px;min-width:44px}
.video-load-error{padding:24px;font-size:16px;line-height:1.8}
@media(max-width:700px){
 body>header,[data-theme=light] body>header{left:12px;right:12px;top:max(8px,env(safe-area-inset-top));height:58px;padding:5px 8px;display:flex;gap:8px;justify-content:space-between;border-radius:14px;background:var(--bg)!important;border:1px solid var(--line);box-shadow:0 3px 16px #0001;z-index:80}
 body>header .brand,body>header .brand img{width:64px;height:40px;opacity:1!important;visibility:visible!important;pointer-events:auto!important;object-fit:contain}
 body>header .menu-toggle{min-width:62px;padding:8px 3px;gap:5px}
 body>header .language-toggle{min-width:58px;font-size:12px}
 body>header .theme-toggle{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--panel);color:var(--ink)}
 body>header .theme-toggle svg{width:24px;height:24px}
 body>header #navigation{top:66px;left:-1px;right:-1px;width:auto;padding:10px 16px;z-index:81}
 body>header #navigation a,.join-page>header #navigation a{font-size:16px;min-height:48px;padding:12px 2px}
 .logo-travel{display:none!important}.hero-logo{visibility:visible!important;opacity:1!important}
 .hero{--hero-drop:12px;min-height:500px;height:calc(100svh + 12px)}
 .hero .orbit-inner{--radius:24vw;--tile:8vw}.hero .orbit-outer{--radius:40vw;--tile:8.4vw}
 .hero .orbit-tile:after{content:'';position:absolute;inset:-7px;border-radius:5px}
 .hero-copy,html[lang=en] .hero-copy{width:35vw}
 .hero h1,html[lang=en] .hero h1{font-size:12px;line-height:1.5}
 .section{padding:46px 20px}
 .section-label{font-size:11px;line-height:1.7;gap:10px;flex-wrap:wrap}
 .section-label>span:last-child{max-width:100%}
 .intro{font-size:15px;line-height:1.85}
 .statement,html[lang=en] .statement{font-size:clamp(27px,7.2vw,32px);line-height:1.5;letter-spacing:-.025em}
 .section-heading,.results-opening{gap:18px;margin-top:24px;margin-bottom:26px}
 .section-heading h2,.services .section-heading h2,.results-opening h2,.method-intro h2,.success-heading h2{font-size:clamp(27px,7.2vw,32px);line-height:1.35}
 .section-heading p,.results-opening>p,.method-intro>p{font-size:14px;line-height:1.8}
 .service-toggle{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:16px;padding:16px;min-height:76px}
 .service-icon{width:38px;height:38px;border-radius:11px;flex:none}.service-icon svg{width:23px;height:23px;pointer-events:none}
 .service-toggle>span:nth-child(2){flex:1;padding-inline:0 28px;line-height:1.55;font-size:16px;min-width:0}
 html[lang=en] .service-toggle>span:nth-child(2){padding-inline:0 28px}
 .service-toggle bdi{font-size:12px;line-height:1.4}
 .service-chevron{top:50%;bottom:auto;transform:translateY(-50%);left:13px;right:auto;pointer-events:none}
 html[lang=en] .service-chevron{left:auto;right:13px}
 .service-panel>div{padding-inline:16px}.service-panel p{font-size:14px;line-height:1.8}.service-panel ul{font-size:13px;line-height:1.8}
 .project-demo{margin-top:24px}.demo-thread{height:300px}.demo-header{padding:12px}.demo-message p{font-size:13px;line-height:1.8}
 .results .metrics{gap:8px;padding:22px 0;margin-bottom:32px}.results .metrics strong,.results .metrics>div:first-child strong{font-size:clamp(25px,7vw,32px)}
 .success-name h3{font-size:22px}.success-outcome strong{font-size:40px}.success-note{font-size:14px;line-height:1.7}
 #work .work-grid:not(.expanded),#work .work-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 #work .work:first-child{grid-column:auto;grid-row:auto}
 #work .work:first-child:before{width:30px;height:32px;font-size:19px}
 #work .work .video-tile,#work .work:first-child .video-tile{aspect-ratio:9/16}
 #work .work-views strong,#work .work:first-child .work-views strong{font-size:clamp(29px,8vw,35px)}
 #work .work-views>span{font-size:10px}#work .work-client{font-size:11px;line-height:1.65}
 #work .work .play{width:44px;height:44px;min-width:44px;min-height:44px}
 #process .method-card{padding:22px 18px;min-height:360px}#process .method-card h3,html[lang=en] #process .method-card h3{font-size:23px}
 #process .method-card>p{font-size:14px;line-height:1.8}.process-motion{font-size:12px;padding:12px 15px}
 .closing-copy h2,html[lang=en] .closing-copy h2{font-size:clamp(31px,8.5vw,37px);line-height:1.3}.closing-copy>p{font-size:14px;line-height:1.9}
 .footer-contact-icons{gap:12px;flex-wrap:wrap;justify-content:center}.footer-contact-icons a{width:48px;height:48px;min-width:48px;min-height:48px;position:relative;z-index:1}.footer-contact-icons svg{pointer-events:none;width:22px;height:22px}
 .viral-footer .footer-navigation{gap:4px 18px}.viral-footer .footer-navigation a,.viral-footer .footer-navigation a:last-child{font-size:14px;min-height:44px}
 .footer-location-email,.footer-copyright{font-size:13px;line-height:1.8}
 dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);margin:auto;padding:12px;border-radius:16px;overscroll-behavior:contain}
 dialog.tiktok-modal{width:calc(100vw - 24px)}.modal-bar h2{font-size:15px;line-height:1.5}.modal-foot{font-size:12px;display:flex;flex-wrap:wrap}.modal-foot a{min-height:44px;display:flex;align-items:center}
 #player iframe.tiktok-player{height:62svh;width:min(100%,calc(62svh * 9 / 16))}
 .join-main{padding:106px 20px 40px}.join-hero{margin-bottom:28px}.join-eyebrow{font-size:12px;margin-bottom:14px}.join-hero h1{font-size:clamp(32px,8.5vw,38px);line-height:1.3;letter-spacing:-.025em}.join-hero>p{font-size:15px;line-height:1.8;margin-top:16px}
 .join-layout{gap:24px}.join-aside h2{font-size:23px}.join-aside>p{font-size:13px;line-height:1.85}.join-spark{width:36px;height:36px}.join-aside{grid-template-columns:36px 1fr;gap:12px}
 .application-card{padding:20px 16px}.application-heading h2{font-size:22px}.application-heading{gap:12px;margin-bottom:24px}.join-step{width:38px;height:38px;font-size:17px}
 .form-field label{font-size:14px}.form-field input,.form-field textarea{font-size:16px}.form-field textarea{min-height:140px}.delivery-note{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.hero .orbit-spin{animation:none!important}}
/* Keep the creative engine compact on the phone's first screen. */
@media(max-width:700px){
 .hero{--hero-drop:0px;height:clamp(440px,75svh,570px);min-height:440px}
 .hero .orbit{top:0;height:100%;scale:1}
 .hero-copy,html[lang=en] .hero-copy{top:52%;width:31vw;gap:8px}
 .hero .orbit-spin{top:52%}
 .hero .orbit-inner{--radius:20.5vw;--tile:7.2vw}.hero .orbit-outer{--radius:34vw;--tile:7.8vw}
 .hero-logo{width:24vw;max-width:112px}
 .hero h1,html[lang=en] .hero h1{font-size:11px;line-height:1.5}
}
.video-tile[data-video],.video-tile[data-tiktok]{text-decoration:none}
@media(max-width:700px){.hero .orbit-tile:active{outline:2px solid var(--orange);outline-offset:2px}.hero .orbit-tile video{object-fit:cover}}
/* Transparent orbit layers never intercept a thumbnail beneath them. */
.hero .orbit,.hero .orbit-zoom,.hero .orbit-spin{pointer-events:none}
.hero .orbit-tile{pointer-events:auto;overflow:visible}
.hero .orbit-tile video{border-radius:5px}
@media(max-width:700px){
 .hero .orbit-tile:after{inset:auto;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
 .is-open .service-chevron{transform:translateY(-50%) rotate(45deg)}
}

/* v51: persistent touch focus must never freeze the phone orbit. */
.hero-motion{display:none}
@media(max-width:700px){
 body>header,[data-theme=light] body>header{display:grid;grid-template-columns:64px 58px 44px 66px;direction:ltr;justify-content:space-between;gap:5px}
 body>header .brand{grid-column:1;grid-row:1}body>header .language-toggle{grid-column:2;grid-row:1}body>header .theme-toggle{grid-column:3;grid-row:1}body>header .menu-toggle{grid-column:4;grid-row:1}
 body>header #navigation{direction:rtl;text-align:right}html[lang=en] body>header #navigation{direction:ltr;text-align:left}
 .hero .orbit-spin{animation:orbit-turn 24s linear infinite;will-change:transform;animation-play-state:running}
 .hero .orbit-outer .orbit-spin{animation-duration:32s;animation-direction:reverse}
 .hero .orbit:focus-within .orbit-spin{animation-play-state:running}
 .motion-paused .hero .orbit-spin{animation-play-state:paused!important}
 .hero-motion{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:90px;bottom:13px;left:20px;padding:10px 12px;border:1px solid var(--line);border-radius:22px;background:var(--bg);font-size:11px;line-height:1.5;color:var(--muted);z-index:5}
 #process.process-v6{padding:38px 20px}
 #process .method-intro{margin-bottom:22px}#process .method-intro h2{font-size:27px}#process .method-intro>p{font-size:13px;line-height:1.7}
 #process .method-grid{gap:14px}
 #process .method-card,#process .method-card:first-child,#process .method-card:nth-child(2){padding:18px 16px;min-height:0;border-radius:18px}
 #process .method-card h3,html[lang=en] #process .method-card h3{font-size:21px;line-height:1.4;margin-top:9px}
 #process .stage-label{font-size:11px}
 #process .method-card>p,#process .method-card:nth-child(2)>p{font-size:13px;line-height:1.75;margin-top:9px;margin-bottom:16px}
 #process .wide-visual{height:155px}
 #process .foundation-art{padding:12px 8px}
 #process .brand-search{padding:8px;font-size:11px}#process .wide-symbol{width:26px;height:26px;font-size:20px}
 #process .plan-columns{padding:10px;gap:8px}#process .plan-columns span{font-size:10px}
 #process .growth-rings{top:15px;width:230px}
 #process .growth-core{width:120px;height:120px;bottom:-34px;padding:28px}
 #process .orbit-chip{width:34px;height:34px;font-size:22px}
 #process .process-motion{margin-top:15px;font-size:11px}
}
/* Motion stays off for system reduction unless the visitor explicitly presses Play. */
@media(prefers-reduced-motion:reduce){.hero .orbit-spin{animation:none!important}}
html.hero-motion-enabled .hero .orbit-spin{animation:orbit-turn 24s linear infinite!important}
html.hero-motion-enabled .hero .orbit-outer .orbit-spin{animation-duration:32s!important;animation-direction:reverse!important}
@media(max-width:700px){
 #process .method-card .stage-label{margin-bottom:8px}
 #process .method-card h3,html[lang=en] #process .method-card h3{margin-top:0;margin-bottom:6px}
 #process .method-card>p,#process .method-card:nth-child(2)>p{margin-top:0;margin-bottom:12px}
 .clients:hover .logo-track,.clients:focus-within .logo-track{animation-play-state:var(--client-run,running)!important}
 .clients.clients-paused .logo-track{animation-play-state:paused!important}
}
