/* A normal document on phones and touch devices, independent of the camera.
   Keep this query in sync with compactLayout in main.js and the head bootstrap. */
.mobile-hero-art{display:none}
.mobile-portal-scene,.mobile-scroll-hint{display:none}
@media (max-width:1000px), (pointer:coarse){
 .mobile-scroll-portal .hero.journey-sticky{position:sticky;overflow:hidden}
 .mobile-scroll-portal .mobile-portal-scene{display:block;position:absolute;inset:0;z-index:-2;background:#eee8dd;pointer-events:none}
 .mobile-portal-plane{position:absolute}
 .mobile-portal-plane>img{width:100%;height:100%;max-width:none}
 .mobile-portal-opening{position:absolute;left:41.8%;top:14.56%;width:15.12%;height:74.49%;clip-path:polygon(0 0,100% 3.57%,100% 95.88%,0 100%);opacity:0;background:#eee8dd}
 .mobile-portal-opening>img{width:100%;height:100%;object-fit:cover;object-position:75% center}
 .mobile-portal-scene>.mobile-portal-arrival{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% center;opacity:0}
 .mobile-scroll-portal.is-crossing .mobile-portal-plane{will-change:transform}
 .mobile-scroll-portal .mobile-scroll-hint{display:block;font-size:12px;line-height:1.5;color:#655b4e;text-align:center;margin:12px 0 0}
 .mobile-viewport-ruler{position:absolute;width:1px;height:100svh;visibility:hidden;pointer-events:none}
 .business-stop.mobile-portal-destination .mobile-scene{display:none}
 html{scroll-behavior:auto;scroll-padding-top:24px}
 body{background:#eee8dd}
 .world-stage,.scene-world,#portal-canvas,.business-nav,.motion-toggle,
 .future-copy,.journey-toolbar,.hero-bottom,.tour-progress,.surface-text{display:none!important}
 .header{position:absolute;inset:0 0 auto;height:80px;margin:0;padding:8px max(24px,env(safe-area-inset-right)) 8px max(24px,env(safe-area-inset-left));z-index:20}
 .header .brand,.header .brand-wordmark{width:104px}
 .header .desktop-nav,.header .nav-cta{display:none}
 .header .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:48px;height:48px;border:1px solid #81705740;border-radius:50%;background:#eee8dde6}
 .header .menu-toggle>span{width:23px;height:1px;background:#4b4334}
 .header .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}
 .header .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .mobile-menu:not([hidden]){display:flex;flex-direction:column;position:fixed;inset:80px 0 0;max-height:none;z-index:19;background:#eee8dd;backdrop-filter:none;padding:24px max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));gap:0;overflow-y:auto;overscroll-behavior:contain}
 .mobile-menu a{display:flex;align-items:center;min-height:68px;padding:16px 0;border-bottom:1px solid #bbae9b80;font:500 clamp(18px,4.8vw,25px)/1.4 var(--heading);letter-spacing:-.03em}
 .mobile-menu a:last-child{margin-top:24px;padding:18px 20px;min-height:56px;background:#292923;color:#faf6ed;border:0;font:500 16px/1.4 var(--sans)}
 html.menu-open,html.menu-open body{overflow:hidden}
 .menu-open .header{position:fixed;background:#eee8dd}
 .journey,.motion-reduced .journey{height:auto;min-height:0;background:#eee8dd}
 .hero.journey-sticky{position:relative;top:auto;display:flex;align-items:flex-end;min-height:100vh;min-height:100svh;height:auto;overflow:visible;isolation:isolate;padding:210px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
 .mobile-hero-art{display:block;position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,#eee8dd10 5%,#eee8dd20 24%,#eee8dded 54%,#eee8dd 82%),url(assets/mobile/portal-1280.webp);background-size:cover;background-position:50% 0;background-repeat:no-repeat;pointer-events:none}
 .hero .hero-content,.motion-reduced .hero .hero-content{position:relative;inset:auto;width:100%;max-width:600px;margin:0 auto;opacity:1;transform:none!important;pointer-events:auto}
 .hero .hero-offers{display:none}
 .hero .hero-content h1{font-size:clamp(40px,10.9vw,58px);font-weight:450;line-height:1.06;letter-spacing:-.055em;margin:0 0 20px;color:#292923;text-wrap:balance}
 .hero .hero-content h1 span{color:#80603d}
 .hero .hero-description{max-width:440px;margin:0 0 24px;color:#514c43;font-size:16px;line-height:1.6}
 .hero .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px;max-width:440px}
 .hero .hero-actions .button{display:flex;min-height:54px;padding:16px 20px;font-size:15px;line-height:1.4;gap:16px}
 .hero .hero-actions .text-link{display:flex;justify-content:center;max-width:none;min-height:48px;padding:12px 0;font-size:14px;gap:12px}
 .button:hover{transform:none}
 .business-stop,.surface-experience .business-stop:not(.stop-contact),.motion-reduced .business-stop,.motion-reduced .stop-conviction{display:block;position:relative;height:auto;min-height:0;margin:0;padding:0;background:var(--scene-paper);--reading-width:100%;scroll-margin-top:0}
 .business-stop:before{display:none}
 .business-stop .mobile-scene{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4/3;max-height:420px;overflow:hidden;position:relative;background:var(--scene-paper)}
 .business-stop .mobile-scene:after{display:none}
 .business-stop .mobile-scene img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:75% center;transform:none!important}
 .business-stop[data-side=right] .mobile-scene img{object-position:25% center}
 .business-stop .stop-panel,.business-stop[data-side=right] .stop-panel{position:relative;width:100%;max-width:660px;margin:0 auto;padding:36px 24px 52px;background:var(--scene-paper);border:0;box-shadow:none;backdrop-filter:none}
 .business-stop .section-kicker{display:block;font-size:11px;line-height:1.6;letter-spacing:.08em;margin:0 0 24px;padding:0 0 16px}
 .business-stop .section-kicker>span{display:block;text-align:left}
 .business-stop .section-kicker>span+span{display:none}
 .business-stop h2,.stop-contact .contact-main h2{max-width:100%;font-size:clamp(32px,8.7vw,44px);line-height:1.15;letter-spacing:-.045em;overflow-wrap:break-word;text-wrap:balance}
 .business-stop .section-heading{margin-bottom:24px}
 .business-stop .section-heading>p,.business-stop .conviction-copy,.business-stop .perspective-copy>p,.business-stop .section-intro,.business-stop .expertise-card>p,.business-stop .contact-bottom p{font-size:16px;line-height:1.65;max-width:none}
 .business-stop .conviction-copy{margin-top:22px}
 .business-stop .button{width:100%;min-height:54px;padding:16px 20px;font-size:15px;line-height:1.4;gap:16px}
 .business-stop .line-link{min-height:48px;font-size:15px;line-height:1.5;gap:16px}
 .business-stop .line-link>span,.button>span{flex-shrink:0}
 .business-stop .coaching-formats,.business-stop .build-services{grid-template-columns:1fr;gap:24px;margin-top:24px}
 .business-stop .coaching-formats h3,.business-stop .build-services h3{font-size:22px;line-height:1.3}
 .business-stop .coaching-formats p,.business-stop .build-services p,.business-stop .principles p{font-size:15px;line-height:1.65}
 .business-stop .principles{margin-top:24px}
 .business-stop .offer-result{margin:24px 0;padding-left:16px}
 .business-stop .offer-result>p:last-child{font-size:15px;line-height:1.65}
 .business-stop .card-tags{gap:8px;margin-bottom:24px}
 .business-stop .card-tags span{font-size:12px}
 .business-stop .build-lifecycle{flex-wrap:wrap;gap:10px;font-size:13px}
 .mobile-details{border-top:1px solid var(--scene-line);border-bottom:1px solid var(--scene-line);margin:24px 0}
 .mobile-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:14px 0;font-size:15px;font-weight:500;cursor:pointer;list-style:none;color:var(--scene-ink)}
 .mobile-details>summary::-webkit-details-marker{display:none}
 .mobile-details>summary:after{content:'+';font-size:24px;font-weight:400}
 .mobile-details[open]>summary:after{content:'−'}
 .mobile-details[open]{padding-bottom:8px}
 .business-stop .steps{gap:12px}
 .business-stop .step{min-height:60px;padding-bottom:16px}
 .business-stop .step>span:nth-child(2){font-size:18px}
 .business-stop .step-panel{min-height:0;padding-top:24px}
 .business-stop .step-panel h3{font-size:25px;line-height:1.3}
 .business-stop .panel-number{display:none}
 .business-stop .step-panel>p:not(.panel-label),.business-stop .panel-output p{font-size:15px;line-height:1.65}
 .business-stop .panel-label{font-size:11px;line-height:1.5}
 .stop-approche .mobile-scene,.stop-perspective .mobile-scene,.stop-etudes .mobile-scene{display:none}
 .business-stop.stop-approche,.business-stop.stop-perspective,.business-stop.stop-etudes{border-top:1px solid #ffffff26}
 .business-stop.stop-approche .stop-panel,.business-stop.stop-perspective .stop-panel,.business-stop.stop-etudes .stop-panel{padding-top:48px}
 .business-stop .study-feature h3,.business-stop .study-secondary h3{font-size:24px;line-height:1.3;overflow-wrap:anywhere}
 .business-stop .study-feature{padding:24px 0}
 .business-stop .study-secondary{gap:16px;padding:24px 0}
 .business-stop .study-secondary>div{min-width:0}
 .business-stop .newsletter{margin-top:36px;padding-top:28px}
 .business-stop .newsletter h3{font-size:28px}
 .business-stop .newsletter .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.07em}
 .business-stop .form-row{grid-template-columns:1fr;gap:0}
 .business-stop .form-field input{min-width:0;width:100%;min-height:50px;font-size:16px}
 .business-stop .form-field label{font-size:14px;line-height:1.5}
 .business-stop .consent{font-size:13px;line-height:1.65;gap:12px}
 .business-stop .consent input{flex:0 0 20px;width:20px;height:20px;margin-top:4px}
 .business-stop.stop-contact{padding:0;min-height:0;background:#eee8dd}
 .business-stop.stop-contact .stop-panel{width:100%;max-width:660px;padding:52px 24px 36px;text-align:left;background:none}
 .stop-contact .contact-bottom{align-items:stretch;gap:24px}
 .footer{padding:0 24px max(28px,env(safe-area-inset-bottom));background:#eee8dd}
 .footer-top,.footer-bottom{max-width:612px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
 .footer-top{padding-top:28px;margin-bottom:24px}
 .footer-top>.brand{width:auto}
 .footer-top p,.footer-top>a:last-child{font-size:14px}
 .footer-top>a:last-child{display:flex;align-items:center;min-height:44px}
 .footer-bottom{font-size:12px;gap:8px}
 .footer-bottom>div{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0 24px}
 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
 .js-motion .reveal,.js-motion .reveal.in-view{opacity:1;transform:none;transition:none}
 @media(min-width:600px){
  .hero.journey-sticky{padding-top:280px;padding-bottom:40px}
  .hero .hero-content h1{font-size:64px}
  .hero .hero-description{font-size:18px;max-width:520px}
  .hero .hero-actions{max-width:520px;flex-direction:row;gap:24px;align-items:center}
  .hero .hero-actions .button{min-width:240px}
  .hero .hero-actions .text-link{flex:1}
  .business-stop .mobile-scene{aspect-ratio:16/9}
 }
 @media(max-height:540px) and (orientation:landscape){
  .hero.journey-sticky{padding-top:112px;padding-bottom:32px}
  .hero .hero-content{margin-left:0;max-width:580px}
  .hero .hero-content h1{font-size:42px}
  .hero .hero-description{font-size:16px;max-width:500px}
  .mobile-hero-art{background-image:linear-gradient(90deg,#eee8ddf5 15%,#eee8dde6 50%,#eee8dd25 100%),url(assets/mobile/portal-1280.webp);background-position:right center}
 }
 @media(max-width:360px){
  .hero.journey-sticky{padding-top:180px;padding-left:20px;padding-right:20px}
  .hero .hero-content h1{font-size:39px}
  .hero .hero-description{font-size:15px;line-height:1.55;margin-bottom:20px}
  .business-stop .stop-panel,.business-stop[data-side=right] .stop-panel,.business-stop.stop-contact .stop-panel{padding-left:20px;padding-right:20px}
  .business-stop .step>span:nth-child(2){font-size:16px}
 }
}

/* Native vector on compact screens; preserve the desktop icon. */
.cta-arrow-mobile{display:none}
@media (max-width:1000px), (pointer:coarse){
 .cta-arrow-text{display:none}
 .cta-arrow-mobile{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:-2px}
}

@media (max-width:1000px), (pointer:coarse){.mobile-menu a .cta-arrow-mobile{margin-left:auto}}
