.adaptive-canvas{display:contents}
.adaptive-next{display:none}
@media(max-width:1000px){
 .stage{overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}
 .stage>.adaptive-canvas{display:block;position:relative;width:100%;height:max(100svh,740px,calc(450px + 56.28vw));overflow:hidden}
 .mobile-choices{top:calc(326px + 56.28vw);z-index:20}
 body>header{transform:translateY(calc(-1 * var(--hero-scroll,0px)))}
}
@media(min-width:701px) and (max-width:1000px){
 .stage .adaptive-next{display:block;position:absolute;bottom:12px;left:6%;width:88%;min-height:44px;border:1px solid #751b2c66;border-radius:8px;background:var(--paper);color:var(--wine);font-size:14px;z-index:20}
 .stage .hint{display:none}.stage .back,.stage #next-work{bottom:68px}
 body[data-surface=hero] .scene-scroll-cue{display:none}
}
/* A scrollable canvas preserves the composition instead of shrinking it away. */
@media(max-height:700px){
 :root{--scene-height:740px}
 body>header{transform:translateY(calc(-1 * var(--hero-scroll,0px)))}
 .stage,.idea-section,.conversation,.process,.partner,.pricing{overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}
 .adaptive-canvas{display:block;position:relative;width:100%;height:var(--scene-height);overflow:hidden}
 .idea-viewport{height:var(--scene-height)}
 .conversation,.pricing{display:block;padding:0}
 .conversation>.adaptive-canvas{display:flex;flex-direction:column;align-items:center;padding:72px 24px 90px;height:auto;min-height:var(--scene-height)}
 .conversation-copy,.conversation-chat,.conversation-footer{flex-shrink:0}
 .conversation-copy{margin-bottom:24px}
 .process-card{width:min(62vw,340px)}
 .process-deck{inset:64px 0 130px}
 .process-controls{bottom:18px}
 .partner-layout{height:100%;padding:68px 6% 24px;gap:18px}
 .partner-heading-row{display:block}
 .partner-intro{margin-top:18px}
 .partner-footer{flex-direction:column;align-items:flex-start;gap:12px}
 .partner-action{width:100%;justify-content:space-between}
 .pricing>.adaptive-canvas{display:grid;place-items:center;padding:64px 4% 80px}
 .business-card-space{height:100%;max-height:none}
 .pricing-flip{bottom:18px}
 .idea-heading-row h2{font-size:48px}
 .idea-phone{width:min(75vw,230px)}
 .idea-mobile-note{top:20%;font-size:18px}
 .scene-scroll-cue{display:none}
 .brief-send{position:static;box-shadow:none}
 .adaptive-next{display:block;position:absolute;bottom:14px;left:6%;right:6%;width:88%;min-height:44px;background:var(--paper);color:var(--wine);border:1px solid #751b2c66;border-radius:8px;font-size:14px;z-index:20}
 .idea-bottom{bottom:76px}
 .idea-phone{top:23%;width:min(55vw,180px)}
 #idea .idea-arrow{top:350px;left:10%;width:70px;height:60px}
 .idea-custom .idea-monitor,.idea-monitor,.idea-tablet{top:29%;width:min(86%,340px);left:calc(50% - min(43%,170px))}
 .stage .hint{display:none}
 .stage .back,.stage #next-work{bottom:64px}
}
@media(min-width:701px) and (max-width:1000px) and (min-height:701px){
 .conversation{padding-top:64px}
 .conversation-chat{width:70vw;padding:16px 24px 18px}
 .conversation h2{font-size:48px}.conversation h2 span{font-size:28px}
 .conversation-copy{margin-bottom:22px}
 .conversation-person{padding-bottom:10px;margin-bottom:14px}
 .conversation-footer{gap:12px;margin-top:18px}
}
@media(max-width:700px) and (max-height:700px){
 .process-card{width:min(76vw,310px)}
 .pricing-heart{top:160px;bottom:150px;height:auto}
}
@media(min-width:701px) and (max-width:1000px){
 .idea-paper-content{left:8%;width:56%}
 .idea-phone{left:68%;width:25%}
 .idea-monitor{left:58%;width:40%}
 .idea-tablet{left:58%;width:40%}
}
@media(max-width:360px){header{padding:16px 18px}.brand img{width:136px}nav .contact{white-space:nowrap;padding:10px 12px}}
