/* Horizontal rails must start at their first item, including when content overflows. */
@media(max-width:949px),(max-height:719px){
 .service-pin .platform-modules{justify-content:flex-start}
}
/* Phone composition: keep the photographs, type and native scroll in one rhythm. */
@media(max-width:760px){
 html{scroll-padding-top:24px}
 .masthead{height:88px;padding:env(safe-area-inset-top,0px) 6vw 0;gap:16px}
 .masthead .brand{font-size:30px;letter-spacing:-.065em}
 .masthead .brand em{font-size:34px}
 .masthead nav{gap:18px}
 .masthead nav>.nav-talk{font-size:13px;gap:6px;min-height:44px;align-items:center}
 .masthead .nav-talk .icon{width:16px;height:16px}
 #menu-toggle,.masthead-reveal nav button{width:44px;height:44px;border-color:#f2e8d870}
 #menu-toggle span,.masthead-reveal nav button span{width:17px}
 #site-menu{padding:calc(24px + env(safe-area-inset-top,0px)) 6vw calc(24px + env(safe-area-inset-bottom,0px))}
 #site-menu .menu-top{margin-bottom:42px}
 #site-menu>nav a{font-size:clamp(25px,6.7vw,43px);gap:16px;min-height:74px}
 #site-menu nav .icon{width:20px;height:20px}
 .hero-stage{min-height:780px}
 .hero-top{top:106px;font-size:8px}
 .hero h1{top:54%}
 .hero h1>.hero-functions{font-size:clamp(17px,4.65vw,28px);line-height:1.5;letter-spacing:-.045em}
 .hero h1>em{font-size:25vw}
 .hero-bottom{bottom:30px;gap:20px;align-items:end}
 .hero-offer{flex:1;min-width:0}
 .hero-offer p{font-size:16px}
 .hero-offer>span{font-size:12px;line-height:1.65;max-width:290px;margin-top:12px}
 .hero-offer>span br{display:none}
 .hero-start{width:64px;height:64px;flex-shrink:0;padding:8px;font-size:11px}
 .hero-start em{font-size:20px}
 .hero-start .icon{width:18px;height:18px}
 .hero-toolbar{padding:23px 6vw;gap:20px;flex-wrap:wrap}
 .hero-toolbar>span{gap:14px}
 .hero-toolbar>span>span{font-size:12px}
 .hero-toolbar button{font-size:13px;min-height:44px;width:100%;justify-content:space-between}
 .hero-toolbar>small{display:block;font-size:10px}
 .journey-canvas{overflow-y:auto;overscroll-behavior-y:contain;padding-top:100px}
 .canvas-path button{min-height:44px}
 .canvas-bottom button,.canvas-walkthrough{min-height:44px;display:inline-flex;align-items:center}
 .one-demo-tabs{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
 .one-demo-tabs button{min-width:80px;min-height:52px;scroll-snap-align:center}
 .brand-stage .brand-preview{touch-action:pan-y pinch-zoom}
 .brand-scroll-hint{display:block;font-size:11px;margin-top:16px}
 .service-pin .platform-modules{scroll-padding:8px;overscroll-behavior-x:contain}
 .service-pin .platform-modules button,.service-pin .platform-modules [aria-selected=true]{height:66px;min-height:66px}
 .service-pin .platform-modules [aria-selected=true]{height:76px;min-height:76px}
 .human-crossout{padding:0 6vw}
 .craft-pin{padding:48px 0 54px}
 .human-crossout .section-index{font-size:8px;margin-bottom:28px}
 .craft-chalk .craft-composition{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;transform:none}
 .craft-chalk .craft-writing,.craft-chalk .craft-aside{display:contents}
 .craft-chalk .craft-writing>.eyebrow{grid-row:1;font-size:9px;letter-spacing:.07em}
 .craft-chalk h2{grid-row:2;font-size:clamp(32px,8.5vw,46px);margin:12px 0 24px}
 .craft-chalk .routine-list{grid-row:3;margin:0}
 .craft-chalk .routine-line{padding:17px 0;gap:12px}
 .routine-number{font-size:10px;width:15px}
 .craft-chalk .routine-task{font-size:clamp(20px,5.35vw,34px);line-height:1.3;letter-spacing:-.04em}
 .craft-chalk .routine-strike{height:18px;top:calc(50% - 9px)}
 .craft-chalk .routine-strike .chalk-main{stroke-width:5;opacity:.78}
 .craft-chalk .routine-strike .chalk-detail{stroke-width:1}
 .craft-chalk .craft-photo{grid-row:4;position:relative;top:auto;right:auto;width:100%;height:auto;margin:28px 0 0}
 .craft-chalk .craft-photo img{width:100%;height:auto;aspect-ratio:6/5;object-position:62% 48%}
 .craft-chalk .craft-photo figcaption{display:block;position:static;font-size:8px;letter-spacing:.04em;margin-top:12px;line-height:1.5}
 .craft-chalk .craft-payoff{grid-row:5;height:auto;overflow:visible;clip-path:none;opacity:1;transform:none;will-change:auto;margin-top:26px}
 .craft-payoff-inner{padding:0 3px 3px}
 .craft-chalk .craft-payoff h3{font-size:clamp(42px,11.7vw,78px);line-height:1.08;letter-spacing:-.055em}
 .craft-chalk .craft-payoff .craft-support{padding-top:22px}
 .craft-chalk .craft-payoff .craft-support p{font-size:15px;line-height:1.7}
 .craft-support p br{display:none}
 .craft-chalk .craft-payoff .text-link{font-size:13px;min-height:44px;margin-top:18px}
 .craft-payoff .text-link .icon{width:18px;height:18px}
 .transition-scene{height:150svh}
 .scene-sticky{height:100svh;min-height:560px;padding:12vw}
 .scene-overline{top:104px;left:12vw;right:12vw;font-size:8px}
 .scene-sticky h2{font-size:clamp(54px,16vw,108px);line-height:.93}
 .scene-caption{font-size:14px;line-height:1.7;margin-top:30px}
 .scene-bottom{font-size:13px;min-height:44px;display:flex;align-items:center;gap:12px;bottom:90px;left:12vw}
}
@media(max-width:360px){
 .masthead nav{gap:12px}.masthead .brand{font-size:27px}.masthead .brand em{font-size:31px}
 .hero-offer>span{font-size:11px}.hero-start{width:56px;height:56px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-stage .reveal-board,.masthead-reveal{transition:none}
 .routine-strike path{stroke-dashoffset:0!important}
 .payoff-marker{clip-path:none!important}
 .transition-scene{height:auto}.scene-sticky{position:relative}
}
