html{scroll-behavior:smooth}
#back-to-top{position:fixed;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));z-index:1010;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffffaa;border-radius:50%;background:#ecb9a4;color:#38454f;box-shadow:0 4px 16px #38454f26;transition:background-color 160ms ease,translate 160ms ease}
#back-to-top[hidden]{display:none}
@media(hover:hover){#back-to-top:hover{background:#f4d9cc;translate:0 -3px}}
@media(max-width:767px){#back-to-top{left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){#back-to-top{transition:none}#back-to-top:hover{translate:none}}
#desktop-nav{display:none}
@media(min-width:768px){
  #desktop-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);position:fixed;left:0;top:0;width:100%;height:80px;padding:12px clamp(24px,4.5vw,86px);z-index:1000;box-shadow:0 3px 12px #38454f0d}
  #desktop-nav [data-node-id="0:16"]{display:contents}
  #desktop-nav [data-node-id="0:13"]{grid-column:1;justify-self:start}
  #desktop-nav [data-node-id="0:17"]{grid-column:2;justify-content:center;gap:clamp(14px,2vw,38px);font-size:clamp(14px,1vw,18px)}
  #desktop-nav [data-node-id="0:23"]{grid-column:3;justify-self:end;gap:8px;align-items:center}
  #desktop-nav [data-node-id="0:25"]{font-size:24px;line-height:1.2}
  #desktop-nav [data-node-id="0:26"]{font-size:11px;line-height:1.3}
  #desktop-nav .brand-mark{width:48px;height:48px;object-fit:contain}
  #desktop-nav [data-node-id="0:14"]{min-height:44px;padding:10px 18px}
  #desktop-nav [data-node-id="0:15"]{font-size:16px}
  #contact,#faq,#about,#parents,#children{scroll-margin-top:96px}
  html.meeting-motion #gains-story{top:92px}
}
@media screen and (min-width:1100px) and (prefers-reduced-motion:no-preference){
  #gains-story[data-scroll-mode="pin"] .gains-copy{width:max(15.520833vw,calc(224px / var(--scene-scale)));height:max(10.937500vw,calc(150px / var(--scene-scale)));padding:calc(14px / var(--scene-scale));display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
  #gains-story[data-scroll-mode="pin"] .gains-copy>p{position:static;width:100%;transform:none;font-size:max(1.145833vw,calc(14px / var(--scene-scale)));line-height:1.4;text-align:center}
  #gains-story[data-scroll-mode="pin"] .gains-copy>p:first-child{font-size:max(1.25vw,calc(16px / var(--scene-scale)));line-height:1.2;margin-bottom:calc(8px / var(--scene-scale))}
  #gains-story[data-scroll-mode="pin"] .gains-copy:is([data-scene="0"],[data-scene="1"],[data-scene="2"]){left:auto;right:2vw}
  #gains-story[data-scroll-mode="pin"] .gains-copy:is([data-scene="3"],[data-scene="4"],[data-scene="5"]){left:2vw;right:auto}
  #gains-story[data-scroll-mode="pin"] .gains-copy:is([data-scene="0"],[data-scene="5"]){top:17vw}
  #gains-story[data-scroll-mode="pin"] .gains-copy:is([data-scene="1"],[data-scene="4"]){top:34vw}
  #gains-story[data-scroll-mode="pin"] .gains-copy:is([data-scene="2"],[data-scene="3"]){top:51vw}
}
@media(min-width:768px) and (max-width:1000px){
  #desktop-nav{padding:12px 24px;column-gap:12px}
  #desktop-nav [data-node-id="0:17"]{gap:12px;font-size:13px}
  #desktop-nav [data-node-id="0:25"]{font-size:20px}
  #desktop-nav [data-node-id="0:26"]{font-size:9px}
  #desktop-nav .brand-mark{width:40px;height:40px}
  #desktop-nav [data-node-id="0:14"]{padding:10px 12px}
  #desktop-nav [data-node-id="0:15"]{font-size:14px}
}
a,button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #915b45;outline-offset:4px}
[data-node-id="0:86"]{pointer-events:none}
/* Independent translate preserves Figma's centering and rotation transforms. */
.motion-button{transition:translate 180ms ease-out,scale 180ms ease-out}
.motion-button:active{scale:.98}
.motion-link{transition:opacity 160ms ease-out}
.motion-link:hover{opacity:.65}
.motion-card{transition:translate 240ms cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){
  .motion-button:hover{translate:0 -3px}
  .motion-card:hover{translate:0 -5px}
}
.motion-reveal{opacity:0;translate:0 16px;transition:opacity 380ms ease-out,translate 380ms cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.is-visible{opacity:1;translate:0 0}
.motion-reveal:focus-within{opacity:1;translate:0 0}
@keyframes dialog-enter{from{opacity:0;translate:0 8px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
dialog[open]{animation:dialog-enter 200ms ease-out}
.hero-video{opacity:0;pointer-events:none}
.hero-video.is-playing{opacity:1}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .motion-button,.motion-link,.motion-card,.motion-reveal{transition:none;opacity:1;translate:none;scale:1}
  .motion-button:hover,.motion-button:active,.motion-card:hover{translate:none;scale:1}
  dialog[open]{animation:none}
  .hero-video{display:none}
  #hero-motion-toggle{display:none}
}
.meeting-stop{transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,opacity 220ms ease}
.meeting-stop.is-active{background:var(--step-color,#ffeed3);border-color:#38454f}
.meeting-stop.is-active p{color:#38454f}
.meeting-wave{pointer-events:none}
@media(prefers-reduced-motion:reduce){.meeting-stop{transition:none}}
@media print{#meeting-process{transform:none!important}.meeting-stop,.meeting-card{opacity:1!important;translate:none!important}.meeting-wave-draw{stroke-dashoffset:0!important}}
.gains-scene{opacity:0;pointer-events:none}
.gains-scene.is-current{opacity:1}
.gains-copy{background:transparent;border-color:transparent;box-shadow:none;transition:background-color 240ms ease,box-shadow 240ms ease,opacity 240ms ease;opacity:.55}
.gains-copy::before{opacity:0;transition:opacity 240ms ease}
.gains-copy.is-active{background:var(--gain-color);border-color:#ffffffaa;box-shadow:0 12px 28px #38454f1c;opacity:1}
.gains-copy.is-active::before{opacity:1}
@media(prefers-reduced-motion:reduce){.gains-copy{opacity:1;transition:none}}
@media print{#gains-story{transform:none!important}.gains-copy{opacity:1!important}}

/* Native scroll owns positioning; only image opacity is composited. */
#gains-story,#meeting-process{overflow-anchor:none}
.gains-scene{will-change:opacity}
.scroll-scene-canvas{display:contents}
@media screen and (min-width:768px) and (prefers-reduced-motion:no-preference){
  html.meeting-motion :is(#pillars-sticky,#meeting-process,#gains-story)[data-scroll-scene]{position:sticky;top:var(--scene-top,92px);height:var(--scene-height);left:0}
  html.meeting-motion [data-scroll-scene]>.scroll-scene-canvas{display:block;position:relative;width:100%;height:var(--scene-natural-height);transform:scale(var(--scene-scale,1));transform-origin:50% 0}
  html.meeting-motion :is(#pillars-sticky,#meeting-process,#gains-story)[data-scroll-mode="flow"]{position:relative;top:0}
  html.meeting-motion #pillars-sticky [data-node-id="0:30"]{top:0}
  html.meeting-motion #pillars-sticky [data-node-id="0:62"]{top:10.781250vw}
  html.meeting-motion #pillars-sticky #group-pillars{top:20.104167vw}
  #meeting-process[data-scroll-mode="pin"] .meeting-card{width:max(16.145833vw,calc(170px / var(--scene-scale)))}
  #meeting-process[data-scroll-mode="pin"] .meeting-card-title{font-size:max(1.302083vw,calc(16px / var(--scene-scale)))}
  #meeting-process[data-scroll-mode="pin"] .meeting-card-copy{font-size:max(1.145833vw,calc(14px / var(--scene-scale)))}
  #pillars-sticky[data-scroll-mode="pin"] #group-pillars .pillar-copy{font-size:max(1.25vw,calc(14px / var(--scene-scale)))}
  #pillars-sticky[data-scroll-mode="pin"] #group-pillars .pillar-title{font-size:max(1.979167vw,calc(22px / var(--scene-scale)))}
}

.faq-question{cursor:pointer}
.faq-question::-webkit-details-marker{display:none}
.faq-question:focus-visible{outline:2px solid #915b45;outline-offset:4px}
.faq-question:hover{color:#915b45}
.faq-indicator{transition:transform 180ms ease}
.faq-item[open] .faq-indicator{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.faq-indicator{transition:none}}

.pillar-card{transition:translate 260ms ease,box-shadow 260ms ease}
.pillar-art svg{transition:rotate 300ms ease,scale 300ms ease}
@media(hover:hover){.pillar-card:hover{translate:0 -7px;box-shadow:0 12px 30px #38454f16}.pillar-card:hover .pillar-art svg{rotate:-5deg;scale:1.06}}
@media(prefers-reduced-motion:reduce){.pillar-card,.pillar-art svg{transition:none}.pillar-card:hover{translate:none}.pillar-card:hover .pillar-art svg{rotate:none;scale:1}}

.pillar-stage{cursor:default}
.pillar-stage.is-dragging{cursor:grabbing}
.pillar-stage:focus-visible{outline:2px solid #915b45;outline-offset:4px}
.pillar-stage .pillar-card{transition:none;translate:none;will-change:transform,opacity;box-shadow:0 16px 30px #38454f14}
.pillar-stage .pillar-card:hover{translate:none}
.pillar-controls button:hover{background:#f4d9cc}

.pillar-stage .pillar-card:hover .pillar-art svg{rotate:none;scale:1}

.mobile-work-edge{display:none;position:absolute;left:0;width:100%;z-index:-1;pointer-events:none}
@media(max-width:767px){
  #mobile-page .mobile-pillar-wrapper{top:var(--mobile-pin-top,80px);min-height:var(--mobile-pin-space,calc(100svh - 80px))}
  #mobile-page .mobile-gains-visual{top:var(--mobile-pin-top,80px)}
  #mobile-page.mobile-pillars-flow .mobile-pillar-wrapper{position:relative;top:0;min-height:0}
  #mobile-page.mobile-pillars-flow .mobile-pillar-stage{gap:28px;align-items:center}
  #mobile-page.mobile-pillars-flow .mobile-pillar-stage::after{display:none}
  #mobile-page.mobile-pillars-flow .mobile-pillars-track{margin-bottom:0;padding:108px 0 40px}
  #mobile-page.mobile-gains-flow .mobile-gains-visual{position:relative!important;top:0}
}
.mobile-work-edges-ready .mobile-work-edge{display:block}
.mobile-work-edges-ready .mobile-work-connection>.mobile-work-bg,
.mobile-work-edges-ready .mobile-work-insight>.mobile-work-bg,
.mobile-work-edges-ready .mobile-work-initiative>.mobile-work-bg{display:none}
