@font-face{
  font-family:"Dela Gothic One";
  src:url("fonts/dela-gothic-one.ttf") format("truetype");
  font-display:swap;
}
@font-face{
  font-family:"Source Code Pro";
  src:url("fonts/source-code-pro.ttf") format("truetype");
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("fonts/inter.ttf") format("truetype");
  font-weight:100 900;
  font-display:swap;
}

:root{
  --black:#050505;
  --white:#fff;
  --cream:#efeae4;
  --light-ink:#33322b;
  --muted:#a1aaa4;
  --light-muted:#6f7066;
  --gold:#ebb638;
  --story-violet:#504b8d;
  --story-violet-deep:#3d3974;
  --story-lime:#96e562;
  --story-yellow:#ffc54d;
  --story-pink:#f63f79;
  --story-red:#c90038;
  --dark-line:rgba(255,255,255,.19);
  --light-line:rgba(51,50,43,.2);
  --page:86rem;
  --gutter:clamp(1.25rem,4vw,4.5rem);
  --section-y:clamp(4.5rem,6.25vw,6rem);
  --display:"Dela Gothic One",sans-serif;
  --body:"Inter",sans-serif;
  --mono:"Source Code Pro",monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{background:var(--black);scroll-behavior:smooth}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--black);
  color:var(--white);
  font:400 clamp(1rem,1.02vw,1.05rem)/1.55 var(--body);
  text-rendering:optimizeLegibility;
}
a{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--black)}

.topbar{
  position:sticky;
  z-index:50;
  top:0;
  height:4.5rem;
  border-bottom:1px solid var(--dark-line);
  background:rgba(5,5,5,.94);
  backdrop-filter:blur(12px);
}
.topbar-inner{
  width:min(100%,var(--page));
  height:100%;
  margin:auto;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.topbar img{width:5.45rem;height:auto}
.topbar-mark{
  width:.6rem;
  height:.6rem;
  border-radius:50%;
  background:var(--gold);
}
.scroll-progress{
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left center;
}

.section{
  position:relative;
  display:grid;
  grid-template-columns:minmax(13rem,4fr) minmax(0,7fr);
  gap:clamp(2.5rem,5vw,5rem);
  padding:var(--section-y) max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter)));
  border-top:1px solid var(--dark-line);
  background:var(--black);
}
.section-head,.section-body{min-width:0;align-self:start}
.section-body{max-width:47rem}
.section-title{
  max-width:18ch;
  margin:0;
  color:var(--white);
  font:400 clamp(1.75rem,2.55vw,2.8rem)/1.07 var(--display);
  letter-spacing:-.035em;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.motion-word{
  position:relative;
  display:inline-grid;
  overflow:hidden;
  padding-bottom:.055em;
  vertical-align:top;
}
.motion-word::before,
.motion-fill{grid-area:1/1}
.motion-word::before{
  content:attr(data-word);
  opacity:0;
  color:currentColor;
  pointer-events:none;
}
.motion-fill{
  color:inherit;
  will-change:transform,filter,color;
}
h2,h3,p,li{overflow-wrap:break-word}
h3{
  margin:0 0 .55rem;
  color:var(--white);
  font:400 clamp(.96rem,1.08vw,1.08rem)/1.38 var(--display);
  letter-spacing:-.015em;
}
.content-heading{
  margin:1.75rem 0 .85rem;
  color:var(--gold);
  font:400 .75rem/1.4 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
p{
  max-width:68ch;
  margin:0 0 1.15rem;
  color:var(--muted);
}
ul{
  max-width:68ch;
  margin:1.5rem 0 0;
  padding:0;
  border-top:1px solid var(--dark-line);
  list-style:none;
}
li{
  position:relative;
  min-height:3.25rem;
  padding:.85rem .25rem .85rem 1.35rem;
  border-bottom:1px solid var(--dark-line);
}
li::before{
  content:"";
  position:absolute;
  top:1.35rem;
  left:.05rem;
  width:.34rem;
  height:.34rem;
  border-radius:50%;
  background:var(--gold);
}
.button{
  display:inline-flex;
  min-height:3.25rem;
  margin-top:.8rem;
  padding:.9rem 1.2rem;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--white);
  cursor:pointer;
  font:400 .78rem/1 var(--body);
  text-decoration:none;
  transition:color 220ms var(--ease),background 220ms var(--ease);
  touch-action:manipulation;
}
.button:hover{background:var(--gold);color:var(--black)}
.button:focus-visible,
.faq-item summary:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:4px;
}

/* Generated editorial visuals */
.section-visual{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#111;
}
.section-visual::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.16);
  pointer-events:none;
}
.section-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 420ms var(--ease);
}
.section-visual:hover img{transform:scale(1.012)}

/* Hero */
.hero{
  min-height:calc(100svh - 4.5rem);
  grid-template-columns:minmax(18rem,5fr) minmax(0,7fr);
  grid-template-rows:auto 1fr;
  align-items:end;
  padding-top:clamp(4.5rem,7vw,7rem);
  padding-bottom:clamp(3rem,5vw,5rem);
  overflow:hidden;
}
.hero .section-head{grid-column:1/-1;align-self:start}
.hero .section-title{
  max-width:14ch;
  color:var(--gold);
  font-size:clamp(2.8rem,4.8vw,4.65rem);
  line-height:1;
  text-transform:uppercase;
}
.hero .section-body{
  grid-column:1;
  grid-row:2;
  max-width:34rem;
  padding-top:2rem;
}
.hero p{color:var(--muted)}
.visual-hero{
  grid-column:2;
  grid-row:2;
  width:100%;
  aspect-ratio:1.8/1;
  align-self:end;
}

/* Light inversions */
.problem,.deliverables,.weekly,.comparison,.packages,.passport{
  border-color:var(--light-line);
  background:var(--cream);
  color:var(--light-ink);
}
.problem .section-title,.deliverables .section-title,.weekly .section-title,
.comparison .section-title,.packages .section-title,.passport .section-title{color:var(--light-ink)}
.problem p,.deliverables p,.weekly p,.comparison p,.packages p,.passport p{color:var(--light-muted)}
.problem .button,.deliverables .button,.weekly .button,
.comparison .button,.packages .button,.passport .button{color:var(--light-ink)}
.problem ul,.problem li,.deliverables ul,.deliverables li,
.weekly ul,.weekly li,.comparison ul,.comparison li,
.packages ul,.packages li,.passport ul,.passport li{border-color:var(--light-line)}

/* Symptoms */
.problem .section-body{max-width:none}
.problem .section-body p{
  max-width:none;
  margin:0;
  padding:1rem 0;
  border-top:1px solid var(--light-line);
  color:var(--light-ink);
}
.problem .section-body p:last-child{border-bottom:1px solid var(--light-line)}

/* Compact editorial rows */
.entries{margin-top:1.75rem;border-top:1px solid var(--dark-line)}
.entry{
  display:grid;
  grid-template-columns:minmax(10rem,4fr) minmax(0,7fr);
  gap:clamp(1.5rem,3.25vw,3rem);
  padding:1.1rem 0;
  align-items:start;
  border-bottom:1px solid var(--dark-line);
}
.entry h3{max-width:18ch;margin:0}
.entry p{max-width:56ch;margin:0}
.weekly .entries,.comparison .entries{border-color:var(--light-line)}
.weekly .entry,.comparison .entry{border-color:var(--light-line)}
.weekly .entry h3,.comparison .entry h3{color:var(--light-ink)}

.system .section-body>p{max-width:52ch;color:var(--white)}
.shooting .section-body>p:first-child,
.format .section-body>p:first-child{
  max-width:52ch;
  color:var(--white);
  font-size:clamp(1.02rem,1.22vw,1.18rem);
}
.ai-team .entry h3{
  color:var(--gold);
  font:400 .76rem/1.4 var(--mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* Flat deliverables */
.deliverables{display:block}
.deliverables .section-head,.deliverables .section-body{
  width:min(100%,var(--page));
  max-width:none;
  margin-inline:auto;
}
.deliverables .section-head{margin-bottom:2.25rem}
.deliverables ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:none;
  column-gap:2rem;
}
.deliverables li{color:var(--light-ink)}

/* Roadmap — related copy stays in one flow */
.roadmap{
  display:block;
  padding-right:0;
  padding-left:0;
}
.roadmap>.section-head,
.roadmap>.section-visual{
  width:min(100%,var(--page));
  margin-right:auto;
  margin-left:auto;
}
.roadmap>.section-head{padding:0 var(--gutter) 2.75rem}
.visual-roadmap{
  aspect-ratio:2.25/1;
  max-height:32rem;
  margin-bottom:1rem;
}
.roadmap>.section-body{max-width:none}
.phase{
  display:grid;
  grid-template-columns:minmax(7rem,1.5fr) minmax(13rem,3fr) minmax(0,6fr);
  gap:clamp(1.5rem,3.5vw,4rem);
  padding:clamp(3rem,4.5vw,4.25rem) max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter)));
  align-items:start;
  border-top:1px solid var(--dark-line);
}
.phase .group-kicker{
  margin:0;
  color:var(--gold);
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.phase h3{
  font-size:clamp(1.35rem,1.95vw,2rem);
  line-height:1.08;
}
.phase-content{min-width:0}
.phase-content p{color:var(--muted)}
.phase-content p:last-of-type{margin-bottom:0}
.phase-content ul{margin-top:1.25rem}
.phase:nth-child(even){
  border-color:var(--light-line);
  background:var(--cream);
  color:var(--light-ink);
}
.phase:nth-child(even) h3{color:var(--light-ink)}
.phase:nth-child(even) p{color:var(--light-muted)}
.phase:nth-child(even) ul,.phase:nth-child(even) li{border-color:var(--light-line)}

/* AI visual breaks the document rhythm */
.ai-team{
  grid-template-rows:auto auto;
}
.ai-team .section-head{grid-row:1/span 2}
.visual-ai-team{
  grid-column:2;
  aspect-ratio:2/1;
  margin-bottom:1rem;
}
.ai-team .section-body{grid-column:2}

/* Use cases */
.use-cases{display:block}
.use-cases>.section-head,.use-cases>.section-body{
  width:min(100%,var(--page));
  max-width:none;
  margin-inline:auto;
}
.use-cases>.section-head{margin-bottom:2.5rem}
.use-cases .group-stack{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
  border-top:1px solid var(--dark-line);
  border-bottom:1px solid var(--dark-line);
}
.case{
  min-width:0;
  padding:2rem clamp(1rem,2.5vw,2.5rem);
  border-right:1px solid var(--dark-line);
}
.case:last-child{border-right:0}
.case .group-title{
  margin:0 0 1.5rem;
  color:var(--gold);
  font:400 .75rem/1.4 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.case-content{min-width:0}
.case .group-subtitle{
  margin:0 0 1rem;
  color:var(--white);
  font:400 clamp(1.08rem,1.35vw,1.28rem)/1.35 var(--display);
}

.outcome .section-body>p:first-child{
  max-width:52ch;
  color:var(--white);
  font-size:clamp(1.04rem,1.25vw,1.2rem);
}

/* Packages */
.packages{
  display:block;
  padding-right:0;
  padding-left:0;
}
.packages>.section-head,
.packages>.section-visual,
.packages>.section-body>p{
  width:min(100%,var(--page));
  max-width:none;
  margin-right:auto;
  margin-left:auto;
}
.packages>.section-body{max-width:none}
.packages>.section-head{padding:0 var(--gutter) 2.5rem}
.packages>.section-body>p{padding:0 var(--gutter)}
.visual-packages{
  aspect-ratio:2.25/1;
  max-height:31rem;
  margin-bottom:2rem;
}
.package{
  display:grid;
  grid-template-columns:minmax(15rem,4fr) minmax(0,7fr);
  gap:clamp(2rem,5vw,6rem);
  padding:clamp(3rem,4.75vw,4.5rem) max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter)));
  border-top:1px solid var(--light-line);
}
.package .group-title{
  max-width:16ch;
  margin:0;
  color:var(--light-ink);
  font:400 clamp(1.35rem,1.95vw,1.9rem)/1.1 var(--display);
  letter-spacing:-.025em;
}
.package-content{min-width:0}
.package-content p{max-width:62ch}
.package-content ul{margin-top:1.25rem}
.package:nth-child(2){
  border-color:var(--dark-line);
  background:var(--black);
  color:var(--white);
}
.package:nth-child(2) .group-title{color:var(--white)}
.package:nth-child(2) p{color:var(--muted)}
.package:nth-child(2) ul,.package:nth-child(2) li{border-color:var(--dark-line)}
.package:nth-child(2) .button{color:var(--white)}

/* Closing sections */
.addons{padding-top:4rem;padding-bottom:4rem}
.passport .section-body>p:first-child{color:var(--light-ink)}
.passport .content-heading{color:#7f5f10}
.faq-item{border-top:1px solid var(--dark-line)}
.faq-item:last-child{border-bottom:1px solid var(--dark-line)}
.faq-item summary{
  display:grid;
  grid-template-columns:1fr auto;
  gap:2rem;
  min-height:4rem;
  padding:1.1rem 0;
  align-items:center;
  color:var(--white);
  cursor:pointer;
  list-style:none;
  touch-action:manipulation;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{
  color:var(--gold);
  font-size:1.4rem;
  transition:transform 220ms var(--ease);
}
.faq-item[open] summary span{transform:rotate(45deg)}
.faq-item>div{padding:0 2rem 1.35rem 0}
.faq-item[open]>div{animation:faq-in 260ms var(--ease) both}
.faq-item p{margin:0}
.closing{
  padding-top:clamp(5rem,7vw,7rem);
  padding-bottom:clamp(5rem,7vw,7rem);
  border-bottom:1px solid var(--dark-line);
}
.closing .section-title{
  color:var(--gold);
  font-size:clamp(2rem,3.15vw,3.3rem);
}
.closing .button{margin-right:.65rem}

/* ICOMAT motion language: premium headings, calm supporting motion */
.motion-ready .topbar img{
  animation:ui-entrance 620ms var(--ease) 40ms both;
}
.motion-ready .topbar-mark{
  animation:ui-entrance 620ms var(--ease) 150ms both;
}
.motion-ready .section-title .motion-word::before{
  opacity:.2;
  transition:opacity 320ms ease-out;
}
.motion-ready .section-title .motion-fill{
  color:#7f8581;
  filter:blur(5px);
  transform:translate3d(0,112%,0);
  transition:
    transform 760ms var(--ease),
    filter 520ms var(--ease),
    color 360ms ease-out;
  transition-delay:calc(var(--word-index) * 28ms);
}
.motion-ready .section.is-visible .section-title .motion-fill{
  color:inherit;
  filter:blur(0);
  transform:translate3d(0,0,0);
}
.motion-ready .section.is-visible .section-title .motion-word::before{
  opacity:.08;
  transition-delay:calc(var(--word-index) * 28ms + 170ms);
}
.motion-ready .section:not(.hero)>.section-body,
.motion-ready .hero>.section-body{
  opacity:0;
  filter:blur(3px);
  transform:translate3d(0,14px,0) scale(.997);
  transition:
    opacity 520ms var(--ease),
    filter 520ms var(--ease),
    transform 620ms var(--ease);
}
.motion-ready .section.is-visible>.section-body{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
}
.motion-ready .section.is-visible>.section-body{transition-delay:110ms}
.motion-ready .roadmap>.section-body,
.motion-ready .packages>.section-body,
.motion-ready .use-cases>.section-body{
  opacity:1;
  filter:none;
  transform:none;
  transition:none;
}
.motion-ready .reveal-unit{
  opacity:0;
  filter:blur(3px);
  transform:translate3d(0,18px,0) scale(.995);
  transition:
    opacity 520ms var(--ease),
    filter 480ms var(--ease),
    transform 650ms var(--ease);
  transition-delay:var(--delay,70ms);
}
.motion-ready .reveal-unit.is-visible{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
}
.motion-ready .roadmap .reveal-unit,
.motion-ready .packages .reveal-unit{
  transform:translate3d(0,18px,0);
}
.motion-ready .roadmap .reveal-unit.is-visible,
.motion-ready .packages .reveal-unit.is-visible{
  transform:translate3d(0,0,0);
}
.motion-ready .section-visual.reveal-unit{
  clip-path:inset(7% 0 0 0);
  transform:translate3d(0,24px,0) scale(.982);
  transition:
    opacity 620ms var(--ease),
    filter 560ms var(--ease),
    transform 820ms var(--ease),
    clip-path 820ms var(--ease);
}
.motion-ready .section-visual.reveal-unit.is-visible{
  clip-path:inset(0);
  transform:translate3d(0,0,0) scale(1);
}
.motion-ready .entry.reveal-unit{
  transform:translate3d(0,12px,0);
}
.motion-ready .entry.reveal-unit.is-visible{
  transform:translate3d(0,0,0);
}
@keyframes ui-entrance{
  from{opacity:0;filter:blur(4px);transform:translate3d(0,-8px,0)}
  to{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
}
@keyframes faq-in{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}

/* Author-led scroll story */
.story-flight{
  --flight-x:77vw;
  --flight-y:63vh;
  --flight-r:-16deg;
  --flight-scale:.82;
  --flight-opacity:1;
  --roadmap-axis:calc(max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter))) + 4rem);
  position:fixed;
  z-index:35;
  top:0;
  left:0;
  width:clamp(10rem,14vw,15rem);
  opacity:var(--flight-opacity);
  pointer-events:none;
  transform:
    translate3d(var(--flight-x),var(--flight-y),0)
    translate(-50%,-50%)
    rotate(var(--flight-r))
    scale(var(--flight-scale));
  transform-origin:50% 50%;
  will-change:transform,opacity;
}
.story-flight svg{display:block;width:100%;height:auto;overflow:visible}
.story-flight-trail{
  fill:none;
  stroke:rgba(255,255,255,.9);
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:7 8;
  animation:story-dash 900ms linear infinite;
}
.story-flight-plane-top{display:none}
.plane-face{transition:fill 320ms var(--ease)}
.story-flight[data-palette="lime"] .plane-face-a{fill:#9dde68}
.story-flight[data-palette="lime"] .plane-face-b{fill:#c2e162}
.story-flight[data-palette="lime"] .plane-face-c{fill:#83c052}
.story-flight[data-palette="yellow"] .plane-face-a{fill:#f3cd54}
.story-flight[data-palette="yellow"] .plane-face-b{fill:#eae057}
.story-flight[data-palette="yellow"] .plane-face-c{fill:#bf8f44}
.story-flight[data-palette="pink"] .plane-face-a{fill:#eb185d}
.story-flight[data-palette="pink"] .plane-face-b{fill:#d94f7b}
.story-flight[data-palette="pink"] .plane-face-c{fill:#c5114c}

/* One sharp SVG sheet, one fold sequence, one travelling plane. */
.hero-fold-stage{
  --fold-stage-opacity:1;
  --fold-sheet-opacity:1;
  --fold-sheet-scale:1;
  --fold-mid-opacity:0;
  --fold-mid-scale:.9;
  --fold-plane-opacity:0;
  --fold-plane-scale:.72;
  position:fixed;
  z-index:1;
  inset:0;
  overflow:hidden;
  opacity:var(--fold-stage-opacity);
  pointer-events:none;
  will-change:opacity;
}
.hero-fold-object{
  position:absolute;
  top:56vh;
  left:72vw;
  translate:-50% -50%;
  will-change:opacity,transform;
}
.hero-fold-object svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.hero-fold-sheet{
  width:clamp(26rem,46vw,44rem);
  opacity:var(--fold-sheet-opacity);
  transform:scale(var(--fold-sheet-scale));
}
.hero-fold-mid{
  width:clamp(22rem,38vw,36rem);
  opacity:var(--fold-mid-opacity);
  transform:scale(var(--fold-mid-scale));
}
.hero-fold-plane{
  width:clamp(10rem,15vw,15rem);
  opacity:var(--fold-plane-opacity);
  transform:rotate(-13deg) scale(var(--fold-plane-scale));
}
.fold-paper-base{fill:var(--story-lime)}
.fold-guide{
  fill:none;
  stroke:#468c38;
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:10 11;
  vector-effect:non-scaling-stroke;
}
.fold-mid-base{fill:#7bc94f}
.fold-mid-light{fill:#a5ec70}
.fold-mid-dark{fill:#4e9d3a}
.fold-plane-a{fill:#9dde68}
.fold-plane-b{fill:#c2e162}
.fold-plane-c{fill:#83c052}
@keyframes story-dash{to{stroke-dashoffset:-30}}

.story-scene{
  --scene-shift:0px;
  --scene-scale:1.075;
  isolation:isolate;
  overflow:clip;
  border-color:rgba(255,255,255,.22);
  background:var(--story-violet);
  color:var(--white);
}
.story-scene::before{
  display:none;
}
.story-scene>.section-head,
.story-scene>.section-body{
  position:relative;
  z-index:2;
}
.story-scene>.section-visual{
  position:absolute;
  z-index:0;
  inset:0;
  grid-column:1/-1;
  grid-row:1/-1;
  width:100%;
  height:100%;
  max-height:none;
  margin:0;
  border:0;
  background:var(--story-violet);
  pointer-events:none;
}
.story-scene>.section-visual::after{display:none}
.story-scene>.section-visual img{
  width:100%;
  height:100%;
  opacity:1;
  object-fit:cover;
  object-position:center;
  transform:translate3d(0,var(--scene-shift),0) scale(var(--scene-scale));
  will-change:transform;
}
.story-scene .section-title,
.story-scene h3{color:var(--white)}
.story-scene p{color:#f5f6f5}
.story-scene ul,
.story-scene li,
.story-scene .entries,
.story-scene .entry{border-color:rgba(255,255,255,.3)}
.story-scene li::before{background:var(--story-lime)}
.story-scene .button{
  border-color:var(--story-yellow);
  color:var(--white);
}
.story-scene .button:hover{
  background:var(--story-yellow);
  color:var(--story-violet-deep);
}

.hero.story-scene{
  min-height:calc(100svh - 4.5rem);
  background:var(--story-violet);
  isolation:auto;
}
.hero.story-scene .section-title{color:var(--story-yellow)}
.hero.story-scene .section-head,
.hero.story-scene .section-body{z-index:2}
.hero.story-scene>.section-visual{
  grid-column:1/-1;
  grid-row:1/-1;
  aspect-ratio:auto;
}

.problem.story-scene{
  min-height:clamp(38rem,88svh,57rem);
  background:var(--story-violet);
}
.problem.story-scene .section-title,
.problem.story-scene .section-body p{color:var(--white)}
.problem.story-scene .section-body p{
  border-color:rgba(255,255,255,.3);
}

.system.story-scene .section-body>p{color:var(--white)}
.system.story-scene .entry h3{color:var(--story-yellow)}

.roadmap.story-scene,
.packages.story-scene{
  padding:0;
  overflow:visible;
}
.roadmap.story-scene>.section-visual,
.packages.story-scene>.section-visual{
  bottom:auto;
  height:clamp(34rem,72svh,54rem);
}
.roadmap.story-scene>.section-head,
.packages.story-scene>.section-head{
  display:flex;
  width:min(100%,var(--page));
  min-height:clamp(34rem,72svh,54rem);
  margin-inline:auto;
  padding:clamp(5rem,9vw,8rem) var(--gutter);
  align-items:center;
}
.roadmap.story-scene>.section-body,
.packages.story-scene>.section-body{
  position:relative;
  z-index:3;
  background:var(--black);
}
.packages.story-scene>.section-body{background:var(--cream)}
.packages.story-scene>.section-body>p{
  padding-top:3rem;
  color:var(--light-ink);
}

.ai-team.story-scene .entry h3{color:var(--story-yellow)}

.motion-ready .story-scene>.section-visual.reveal-unit{
  opacity:1;
  filter:none;
  clip-path:none;
  transform:none;
  transition:none;
}

@media(max-width:1024px){
  .section{grid-template-columns:minmax(12rem,4fr) minmax(0,7fr);gap:2.5rem}
  .phase{grid-template-columns:6.5rem minmax(12rem,3fr) minmax(0,5fr);gap:2rem}
  .deliverables ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:840px){
  .section{
    grid-template-columns:1fr;
    gap:2rem;
    padding-top:4.75rem;
    padding-bottom:4.75rem;
  }
  .section-title{max-width:22ch}
  .hero{
    min-height:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
  }
  .hero .section-head,.hero .section-body,.visual-hero{grid-column:1}
  .hero .section-body,.visual-hero{grid-row:auto}
  .hero .section-body{padding-top:0}
  .visual-hero{aspect-ratio:1.65/1}
  .ai-team .section-head,.visual-ai-team,.ai-team .section-body{grid-column:1;grid-row:auto}
  .visual-ai-team{aspect-ratio:1.8/1}
  .phase{
    grid-template-columns:7rem 1fr;
    padding-top:3rem;
    padding-bottom:3rem;
  }
  .phase .group-kicker{grid-column:1}
  .phase h3{grid-column:2}
  .phase-content{grid-column:2}
  .package{grid-template-columns:1fr;gap:1.5rem}
  .package .group-title{max-width:22ch}
}

@media(max-width:600px){
  body{font-size:16px}
  .topbar{height:4.25rem}
  .topbar-inner{padding-inline:1.25rem}
  .section{
    gap:1.75rem;
    padding:4.25rem 1.25rem;
  }
  .section-title{font-size:clamp(1.65rem,7.4vw,2.15rem)}
  .hero{
    padding-top:4.5rem;
    padding-bottom:4rem;
  }
  .hero .section-title{
    max-width:13ch;
    font-size:clamp(2.35rem,10.6vw,3.1rem);
  }
  .visual-hero{aspect-ratio:1.35/1}
  .problem .section-body p{padding:.9rem 0}
  .entry{grid-template-columns:1fr;gap:.45rem;padding:1rem 0}
  .entry h3{max-width:24ch}
  .deliverables{padding-right:1.25rem;padding-left:1.25rem}
  .deliverables ul{grid-template-columns:1fr}
  .roadmap>.section-head,.packages>.section-head,
  .packages>.section-body>p{padding-right:1.25rem;padding-left:1.25rem}
  .visual-roadmap,.visual-packages{
    width:calc(100% - 2.5rem);
    aspect-ratio:1.35/1;
  }
  .phase{
    grid-template-columns:1fr;
    gap:.75rem;
    padding:2.75rem 1.25rem;
  }
  .phase .group-kicker,.phase h3,.phase-content{grid-column:1}
  .phase h3{font-size:1.45rem}
  .use-cases{padding-right:1.25rem;padding-left:1.25rem}
  .use-cases .group-stack{grid-template-columns:1fr}
  .case{border-right:0;border-bottom:1px solid var(--dark-line)}
  .case:last-child{border-bottom:0}
  .package{padding:3rem 1.25rem}
  .faq-item summary{gap:1rem}
  .faq-item>div{padding-right:0}
  .closing .button{display:flex;width:100%;margin:1rem 0 0}
}

@media(max-width:840px){
  .story-flight{
    width:8.75rem;
    z-index:30;
    --roadmap-axis:calc(max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter))) + 3rem);
  }
  .story-scene>.section-visual{
    grid-column:1;
    grid-row:1/-1;
  }
  .story-scene>.section-visual img{
    width:170%;
    max-width:none;
    margin-left:-35%;
    object-fit:cover;
  }
  .hero.story-scene>.section-visual{aspect-ratio:auto}
  .roadmap.story-scene>.section-visual,
  .packages.story-scene>.section-visual{
    width:100%;
    height:clamp(31rem,72svh,42rem);
    margin:0;
    aspect-ratio:auto;
  }
  .roadmap.story-scene>.section-head,
  .packages.story-scene>.section-head{
    min-height:clamp(31rem,72svh,42rem);
    padding-inline:1.25rem;
  }
}

/* 1.4 — directed paper-plane story */
.story-flight{
  --flight-opacity:0;
  width:clamp(8.5rem,12vw,12rem);
}
.story-flight-trail{
  stroke-width:2.5;
  stroke-dasharray:8 9;
}
.story-flight[data-mode="roadmap"] .story-flight-trail,
.story-flight[data-mode="roadmap"] .story-flight-plane-side{display:none}
.story-flight[data-mode="roadmap"] .story-flight-plane-top{display:block}

.hero.story-scene .section-title{
  max-width:12ch;
  font-size:clamp(2.2rem,3.35vw,3.3rem);
  line-height:1.04;
}
.hero.story-scene{
  grid-template-columns:minmax(18rem,31rem) minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:clamp(1.5rem,2.5vw,2.5rem);
  align-content:center;
  align-items:start;
  padding-top:clamp(3.5rem,6vh,5.5rem);
  padding-bottom:clamp(3.5rem,6vh,5.5rem);
}
.hero.story-scene .section-head{
  grid-column:1;
  grid-row:1;
}
.hero.story-scene .section-body{
  grid-column:1;
  grid-row:2;
  max-width:31rem;
  padding-top:0;
}
.hero.story-scene .section-body p{
  max-width:34rem;
  margin:0;
  color:var(--white);
  font:500 clamp(1rem,1.12vw,1.12rem)/1.55 "Inter",sans-serif;
  letter-spacing:-.012em;
}
.hero.story-scene .button{
  min-height:3.5rem;
  margin-top:clamp(1.4rem,2.4vw,2rem);
  padding:1rem 1.45rem;
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
  font:600 .95rem/1 "Inter",sans-serif;
}
.hero.story-scene .button:hover{
  border-color:#191919;
  background:#191919;
  color:var(--white);
}
.hero.story-scene>.section-visual img{object-position:right center}
.audience.story-scene{
  background:var(--black);
  border-color:var(--dark-line);
}
.audience.story-scene::after{
  content:"";
  position:absolute;
  z-index:0;
  top:10%;
  right:-5rem;
  width:clamp(12rem,24vw,25rem);
  aspect-ratio:1;
  background:var(--story-pink);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.audience.story-scene .section-head,
.audience.story-scene .section-body{z-index:2}
.system.story-scene{
  background:var(--story-pink);
  border-color:rgba(255,255,255,.36);
}
.system.story-scene .section-title,
.system.story-scene .entry h3{color:var(--white)}
.system.story-scene .entry h3{
  font-size:clamp(1rem,1.35vw,1.3rem);
}
.system.story-scene .section-body>p{color:var(--white)}
.system.story-scene li::before{background:var(--story-yellow)}

/* Program route: two visible week numbers per chapter, one continuous flight. */
.roadmap{
  display:block;
  padding:clamp(5rem,7vw,7rem) 0 0;
  overflow:clip;
  background:var(--black);
}
.roadmap>.section-head{
  width:min(100%,var(--page));
  margin-inline:auto;
  padding:0 var(--gutter) clamp(3rem,5vw,5rem);
}
.roadmap>.section-head .section-title{max-width:18ch}
.roadmap>.section-body{
  position:relative;
  isolation:isolate;
  max-width:none;
  --route-start:max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter)));
  --route-column:8rem;
  --route-axis:calc(var(--route-start) + 4rem);
}
.roadmap .group-stack{
  position:relative;
  z-index:1;
}
.roadmap-track{
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:calc(var(--route-axis) - 1px);
  width:2px;
  background:var(--story-yellow);
  pointer-events:none;
}
.phase{
  position:relative;
  display:grid;
  grid-template-columns:var(--route-column) minmax(14rem,3fr) minmax(0,5fr);
  gap:clamp(1.5rem,3vw,3.25rem);
  min-height:24rem;
  padding:clamp(3.5rem,5vw,5rem) var(--route-start);
  align-items:start;
  border-top:1px solid var(--dark-line);
}
.phase-rail{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:1;
  display:flex;
  height:15rem;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
}
.phase-rail span{
  display:grid;
  width:4.7rem;
  height:4.7rem;
  place-items:center;
  border:2px solid currentColor;
  border-radius:50%;
  background:var(--black);
  color:var(--story-yellow);
  font:400 clamp(1.65rem,2.45vw,2.65rem)/1 var(--body);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  padding-left:.02em;
  box-shadow:0 0 0 .6rem var(--black);
}
.phase:nth-child(3n+2) .phase-rail span{color:var(--story-pink)}
.phase:nth-child(3n) .phase-rail span{color:var(--story-lime)}
.phase-head{
  grid-column:2;
  grid-row:1;
  padding-top:.35rem;
}
.phase-head .group-kicker{margin:0}
.phase-head h3{
  max-width:15ch;
  margin-top:clamp(1.25rem,2vw,1.8rem);
}
.phase-content{grid-column:3;grid-row:1}
.phase:nth-child(even) .phase-rail span{
  background:var(--cream);
  box-shadow:0 0 0 .6rem var(--cream);
}

/* AI chapter: one balanced system, with an authored construction study. */
.ai-team{
  position:relative;
  display:grid;
  grid-template-columns:minmax(18rem,4fr) minmax(0,7fr);
  grid-template-rows:auto 1fr;
  overflow:clip;
  background:var(--story-violet);
  color:var(--white);
}
.ai-team .section-head{
  grid-column:1;
  grid-row:1;
  position:relative;
  z-index:2;
}
.ai-team .section-body{
  grid-column:2;
  grid-row:1/3;
  position:relative;
  z-index:2;
  max-width:none;
}
.ai-team .section-title{color:var(--white)}
.ai-team .section-body>p{max-width:56ch}
.ai-team .section-body>p,
.ai-team .entry p{color:#f5f6f5}
.ai-team .entries,
.ai-team .entry{border-color:rgba(255,255,255,.28)}
.ai-team .entry{
  grid-template-columns:minmax(10rem,1fr) minmax(0,1.7fr);
  gap:clamp(1.25rem,2.5vw,2.5rem);
}
.ai-art{
  grid-column:1;
  grid-row:2;
  width:100%;
  max-width:30rem;
  aspect-ratio:2.35/1;
  align-self:end;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
}
.ai-art img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ai-conclusion{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.5rem,3vw,3rem);
  margin-top:2rem;
  padding-top:2rem;
  border-top:1px solid rgba(255,255,255,.28);
}
.ai-conclusion p{margin:0;color:var(--white)}

/* Comparison is three coherent offers, not detached rows. */
.comparison{display:block}
.comparison>.section-head,
.comparison>.section-body{
  width:min(100%,var(--page));
  max-width:none;
  margin-inline:auto;
}
.comparison>.section-head{margin-bottom:2.75rem}
.comparison>.section-body>p{
  max-width:68ch;
  margin:0 0 2.25rem;
  color:var(--light-ink);
  font-size:clamp(1.08rem,1.35vw,1.3rem);
  line-height:1.5;
}
.comparison .entries{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:0;
  border:1px solid var(--light-line);
  background:var(--light-line);
}
.comparison .entry{
  display:block;
  min-width:0;
  padding:clamp(1.75rem,3vw,3rem);
  border:0;
  background:var(--cream);
}
.comparison .entry h3{
  min-height:3.1rem;
  margin-bottom:1.75rem;
  color:var(--light-ink);
  font-size:clamp(1.35rem,1.8vw,1.8rem);
}
.comparison .entry p{max-width:38ch;margin-bottom:1rem;color:var(--light-ink)}
.comparison .entry:last-child{
  background:var(--story-violet);
  color:var(--white);
}
.comparison .entry:last-child h3,
.comparison .entry:last-child p{color:var(--white)}

/* Services and launches get their own visual chapters. */
.use-cases{padding-top:clamp(5rem,7vw,7rem);padding-bottom:clamp(5rem,7vw,7rem)}
.use-cases .group-stack{
  gap:1.25rem;
  border:0;
}
.case{
  padding:0 0 2rem;
  overflow:hidden;
  border:1px solid var(--dark-line);
  background:#0d0d0d;
}
.case:last-child{border-right:1px solid var(--dark-line)}
.case-visual{
  width:100%;
  aspect-ratio:2.15/1;
  margin-bottom:2rem;
  overflow:hidden;
}
.case-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.case .group-title,
.case-content{margin-inline:clamp(1.25rem,2.5vw,2.5rem)}
.case .group-title{margin-bottom:1.4rem}

/* Concrete result: a bright field of coloured checks. */
.outcome{
  display:grid;
  background:var(--story-yellow);
  color:var(--black);
}
.outcome .section-title{color:var(--black)}
.outcome .section-body>p{color:#2f2512}
.outcome ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  max-width:none;
  margin:2rem 0;
  border:0;
}
.outcome li{
  display:grid;
  min-height:5rem;
  padding:1rem 1rem 1rem 4.5rem;
  align-items:center;
  border:0;
  background:var(--cream);
  color:var(--black);
}
.outcome li::before{
  content:"✓";
  top:50%;
  left:1rem;
  display:grid;
  width:2.6rem;
  height:2.6rem;
  place-items:center;
  border-radius:0;
  background:var(--story-pink);
  color:var(--white);
  font:400 1.35rem/1 var(--display);
  transform:translateY(-50%);
}
.outcome li:nth-child(3n+2)::before{background:var(--story-violet)}
.outcome li:nth-child(3n)::before{background:#4f933b}

/* Work format becomes a visual operating system. */
.format{
  position:relative;
  overflow:clip;
  background:var(--story-violet);
}
.format::after{
  content:"";
  position:absolute;
  right:-8rem;
  bottom:-8rem;
  width:clamp(18rem,34vw,34rem);
  aspect-ratio:1;
  border:4rem solid var(--story-pink);
  transform:rotate(45deg);
  pointer-events:none;
}
.format .section-head,
.format .section-body{position:relative;z-index:2}
.format .section-title{color:var(--white)}
.format .section-body>p{color:var(--white)}
.format ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  max-width:none;
  margin:2rem 0;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.3);
}
.format li{
  min-height:5.5rem;
  padding:1.25rem 1.25rem 1.25rem 3.25rem;
  border:0;
  background:var(--story-violet);
  color:var(--white);
}
.format li::before{
  top:1.72rem;
  left:1.25rem;
  width:.7rem;
  height:.7rem;
  border-radius:0;
  background:var(--story-yellow);
  transform:rotate(45deg);
}

/* Actual selectable three-column pricing. */
.packages{
  display:block;
  padding:clamp(5rem,7vw,7rem) var(--gutter);
  background:var(--cream);
}
.packages>.section-head,
.packages>.section-body{
  width:min(100%,var(--page));
  max-width:none;
  margin-inline:auto;
}
.packages>.section-head{padding:0 0 1.75rem}
.packages>.section-body>p{
  width:auto;
  max-width:72ch;
  margin:0 0 1rem;
  padding:0;
  color:var(--light-ink);
}
.packages>.section-body>p:last-of-type{margin-bottom:0}
.packages .group-stack{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:clamp(2.25rem,3.5vw,3rem);
}
.package,
.package:nth-child(2){
  display:flex;
  min-width:0;
  min-height:100%;
  padding:clamp(1.5rem,2.5vw,2.5rem);
  flex-direction:column;
  gap:1.5rem;
  border:1px solid var(--light-line);
  background:var(--white);
  color:var(--light-ink);
}
.package:nth-child(2){
  border:2px solid var(--story-yellow);
  background:var(--black);
  color:var(--white);
}
.package:nth-child(3){
  border-color:var(--story-pink);
  background:var(--story-pink);
  color:var(--black);
}
.package .group-title,
.package:nth-child(2) .group-title,
.package:nth-child(3) .group-title{
  max-width:none;
  color:inherit;
  font-size:clamp(1.25rem,1.55vw,1.62rem);
  line-height:1.15;
}
.package-content{
  display:flex;
  min-height:0;
  flex:1;
  flex-direction:column;
}
.package-content p,
.package:nth-child(2) p,
.package:nth-child(3) p{color:inherit}
.package-content ul{
  flex:0 0 auto;
  margin:1rem 0 1.5rem;
  border-color:currentColor;
}
.package-content li,
.package:nth-child(2) li,
.package:nth-child(3) li{border-color:rgba(50,50,43,.22)}
.package:nth-child(2) li{border-color:var(--dark-line)}
.package-price{
  margin:auto 0 .5rem!important;
  color:inherit!important;
  font:400 clamp(1.25rem,1.5vw,1.65rem)/1.22 var(--display)!important;
  letter-spacing:-.025em;
}
.package-price + .package-price{
  margin-top:.6rem!important;
  font:400 clamp(.95rem,1.05vw,1.08rem)/1.5 var(--body)!important;
  letter-spacing:0;
}
.package .button{
  width:100%;
  margin-top:1rem;
  flex:0 0 auto;
}
.package:nth-child(3) .button{
  border-color:var(--black);
  color:var(--black);
}
.package:nth-child(3) .button:hover{background:var(--black);color:var(--white)}

@media(max-width:1024px){
  .comparison .entries{grid-template-columns:1fr}
  .comparison .entry h3{min-height:auto}
  .packages .group-stack{grid-template-columns:1fr}
  .package:nth-child(2){transform:none}
}

@media(max-width:840px){
  .hero-fold-object{top:60vh;left:72vw}
  .hero-fold-sheet{width:clamp(22rem,72vw,34rem)}
  .hero-fold-mid{width:clamp(19rem,64vw,30rem)}
  .hero-fold-plane{width:clamp(9.5rem,24vw,12rem)}
  .hero.story-scene>.section-visual img{
    width:135%;
    margin-left:-20%;
    object-position:right center;
  }
  .audience.story-scene::after{right:-8rem}
  .roadmap>.section-body{
    --route-column:6rem;
    --route-axis:calc(var(--route-start) + 3rem);
  }
  .phase{
    grid-template-columns:var(--route-column) minmax(0,1fr);
    gap:1rem 1.25rem;
    min-height:0;
  }
  .phase-rail{grid-column:1;grid-row:1;height:13rem}
  .phase-head,
  .phase-content{grid-column:2}
  .phase-head{grid-row:1}
  .phase-content{grid-row:2}
  .ai-team{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
  }
  .ai-team .section-head{grid-column:1;grid-row:1}
  .ai-art{
    grid-column:1;
    grid-row:2;
    max-width:none;
    aspect-ratio:2.35/1;
  }
  .ai-team .section-body{grid-column:1;grid-row:3}
  .outcome ul,
  .format ul{grid-template-columns:1fr}
}

@media(max-width:600px){
  .hero-fold-object{top:64vh;left:72vw}
  .hero-fold-sheet{width:23rem}
  .hero-fold-mid{width:19rem}
  .hero-fold-plane{width:9.5rem}
  .story-flight{--roadmap-axis:3.375rem}
  .roadmap{padding-top:4.5rem}
  .roadmap>.section-body{
    --route-start:1.25rem;
    --route-column:4.25rem;
    --route-axis:calc(var(--route-start) + 2.125rem);
  }
  .phase{
    grid-template-columns:var(--route-column) minmax(0,1fr);
    padding:3rem var(--route-start);
  }
  .phase-rail{height:11rem}
  .phase-rail span{width:3.4rem;height:3.4rem;font-size:1.35rem}
  .hero.story-scene{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    gap:1.5rem;
    align-content:center;
    padding-top:3.5rem;
    padding-bottom:3.5rem;
  }
  .hero.story-scene>.section-head{grid-row:1}
  .hero.story-scene>.section-visual{
    position:relative;
    inset:auto;
    grid-column:1;
    grid-row:2;
    width:calc(100% + 2.5rem);
    height:14rem;
    margin:-1rem -1.25rem 0;
  }
  .hero.story-scene>.section-visual img{
    width:100%;
    margin-left:0;
    object-fit:cover;
    object-position:center;
  }
  .hero.story-scene>.section-body{
    grid-column:1;
    grid-row:2;
  }
  .hero.story-scene .section-title{
    max-width:11ch;
    font-size:clamp(2rem,9.2vw,2.65rem);
  }
  .hero.story-scene .section-body p{
    max-width:31ch;
    font-size:1rem;
    line-height:1.5;
  }
  .hero.story-scene .button{
    width:auto;
    min-height:3.25rem;
    margin-top:1.25rem;
    padding:.9rem 1.2rem;
  }
  .phase-content p{max-width:none}
  .comparison,
  .use-cases,
  .outcome,
  .format,
  .packages{padding-right:1.25rem;padding-left:1.25rem}
  .case-visual{aspect-ratio:1.65/1}
  .outcome li{padding-left:4rem}
  .ai-conclusion{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .story-flight{display:none}
  .hero-fold-stage{
    position:absolute;
    height:calc(100svh - 4.25rem);
    opacity:1;
  }
  .hero-fold-sheet,
  .hero-fold-mid{display:none}
  .hero-fold-plane{
    display:block;
    opacity:1;
    transform:rotate(-13deg) scale(1);
  }
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* Offer 3.0 — the sales logic drives the composition. */
.kickoff{
  border-color:var(--light-line);
  background:var(--cream);
  color:var(--light-ink);
}
.kickoff .section-title,
.kickoff .section-body>p:first-child{color:var(--light-ink)}
.kickoff p{color:var(--light-muted)}
.kickoff .section-body>p:first-child{
  max-width:53ch;
  margin-bottom:1.4rem;
  font-size:clamp(1.16rem,1.48vw,1.42rem);
  line-height:1.45;
}

.system.story-scene .section-body{max-width:none}
.system.story-scene .entries{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.34);
}
.system.story-scene .entry{
  display:block;
  min-height:15rem;
  padding:clamp(1.4rem,2.4vw,2.25rem);
  border:0;
  background:var(--story-pink);
}
.system.story-scene .entry h3{
  min-height:4.5rem;
  margin-bottom:1.2rem;
}
.system.story-scene .entry p{color:#fff}
.system.story-scene .entry:nth-child(2){
  background:var(--story-red);
}
.system.story-scene .entry:nth-child(3){
  background:var(--story-violet);
}

.phase-rail-single{
  height:4.7rem;
  justify-content:flex-start;
}

.requirements{
  display:block;
  border-color:var(--dark-line);
  background:var(--black);
  color:var(--white);
}
.requirements>.section-head,
.requirements>.section-body{
  width:min(100%,var(--page));
  max-width:none;
  margin-inline:auto;
}
.requirements>.section-head{margin-bottom:clamp(2rem,3.5vw,3.25rem)}
.requirements .section-title{
  max-width:15ch;
  color:var(--white);
}
.requirements ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  max-width:none;
  margin:0;
  border-top:1px solid var(--dark-line);
  border-bottom:1px solid var(--dark-line);
  background:var(--dark-line);
}
.requirements li{
  display:flex;
  min-height:11.5rem;
  padding:4.5rem clamp(1.4rem,2.4vw,2.3rem) 1.8rem;
  align-items:flex-start;
  border:0;
  background:var(--black);
  color:var(--white);
  font-size:clamp(1.03rem,1.25vw,1.18rem);
  font-weight:500;
  line-height:1.5;
}
.requirements li::before{
  top:2rem;
  left:clamp(1.4rem,2.4vw,2.3rem);
  width:2.25rem;
  height:.25rem;
  border-radius:0;
  background:var(--story-yellow);
  transform:none;
}

.comparison .entries{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.comparison .entry h3{
  min-height:4rem;
  font-size:clamp(1.18rem,1.48vw,1.5rem);
}

.packages .button,
.closing .button{
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
  font-weight:650;
}
.packages .button:hover,
.closing .button:hover{
  border-color:#191919;
  background:#191919;
  color:var(--white);
}
.package:nth-child(2) .button{
  border-color:var(--story-yellow);
  background:var(--story-yellow);
  color:var(--black);
}
.package:nth-child(2) .button:hover{
  border-color:#ffd475;
  background:#ffd475;
  color:var(--black);
}
.package:nth-child(3) .button{
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
}

.addons{
  border-color:var(--light-line);
  background:var(--cream);
  color:var(--light-ink);
}
.addons .section-title{color:var(--light-ink)}
.addons p{
  max-width:58ch;
  color:var(--light-muted);
  font-size:clamp(1.08rem,1.35vw,1.28rem);
}

.guides,
.idea-banks{
  display:block;
  min-height:clamp(44rem,58vw,52rem);
  isolation:isolate;
  overflow:clip;
}
.guides.story-scene{
  border-color:rgba(255,255,255,.24);
  background:var(--story-violet);
  color:var(--white);
}
.guides .section-head,
.idea-banks .section-head,
.guides .section-body,
.idea-banks .section-body{
  position:relative;
  z-index:2;
  width:min(100%,var(--page));
  max-width:none;
  margin-inline:auto;
}
.guides .section-visual,
.idea-banks .section-visual{
  position:absolute;
  z-index:0;
  top:3.5rem;
  right:2vw;
  bottom:auto;
  left:auto;
  width:min(46vw,52rem);
  height:clamp(22rem,31vw,31rem);
  margin:0;
  overflow:visible;
  border:0;
  background:transparent;
  pointer-events:none;
}
.guides .section-visual::after,
.idea-banks .section-visual::after{display:none}
.guides .section-visual img,
.idea-banks .section-visual img{
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
  object-position:right top;
}
.resource-scene-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.resource-scene-svg .guide-stack,
.resource-scene-svg .guide-phone,
.resource-scene-svg .guide-camera,
.resource-scene-svg .idea-card,
.resource-scene-svg .idea-folder{
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform;
}
.motion-ready .resource-scene-svg .guide-tick{
  stroke-dasharray:74;
  stroke-dashoffset:74;
}
.motion-ready .resource-scene-svg .idea-tick{
  stroke-dasharray:250;
  stroke-dashoffset:250;
}
.motion-ready .resource-scene-svg .guide-stack{
  animation:resource-float-a 6.8s ease-in-out infinite;
}
.motion-ready .resource-scene-svg .guide-phone{
  animation:resource-float-b 5.7s ease-in-out -1.3s infinite;
}
.motion-ready .resource-scene-svg .guide-camera{
  animation:resource-float-c 6.2s ease-in-out -2.4s infinite;
}
.motion-ready .resource-scene-svg .idea-card-a{
  animation:resource-float-a 7.1s ease-in-out infinite;
}
.motion-ready .resource-scene-svg .idea-card-b{
  animation:resource-float-b 6.3s ease-in-out -1.7s infinite;
}
.motion-ready .resource-scene-svg .idea-card-c{
  animation:resource-float-c 7.7s ease-in-out -3s infinite;
}
.motion-ready .resource-scene-svg .idea-folder{
  animation:resource-float-b 6.9s ease-in-out -2.1s infinite;
}
.motion-ready .resource-scene-svg .guide-lens,
.motion-ready .resource-scene-svg .idea-sun{
  transform-box:fill-box;
  transform-origin:center;
  animation:resource-pulse 3.8s ease-in-out infinite;
}
.motion-ready .guides.is-assembled .guide-tick,
.motion-ready .idea-banks.is-assembled .idea-tick{
  animation:resource-tick-loop 4.4s var(--ease) infinite;
}
.motion-ready .guides.is-assembled .guide-tick-b{animation-delay:.38s}
.motion-ready .guides.is-assembled .guide-tick-c{animation-delay:.76s}
@keyframes resource-float-a{
  0%,100%{translate:0 0}
  50%{translate:-5px -11px}
}
@keyframes resource-float-b{
  0%,100%{translate:0 0}
  50%{translate:7px -9px}
}
@keyframes resource-float-c{
  0%,100%{translate:0 0}
  50%{translate:-4px 10px}
}
@keyframes resource-pulse{
  0%,100%{scale:1}
  50%{scale:.87}
}
@keyframes resource-tick-loop{
  0%,55%{stroke-dashoffset:0}
  67%{stroke-dashoffset:var(--tick-length)}
  84%,100%{stroke-dashoffset:0}
}
.motion-ready .resource-scene-svg .guide-tick{--tick-length:74}
.motion-ready .resource-scene-svg .idea-tick{--tick-length:250}
.guides .section-title{
  max-width:12ch;
  color:var(--story-yellow);
}
.guides p,
.idea-banks p{
  max-width:36rem;
  margin-top:2rem;
  color:var(--white);
  font-size:clamp(1.04rem,1.25vw,1.2rem);
}
.guides ul,
.idea-banks ul{
  position:relative;
  z-index:2;
  display:grid;
  max-width:none;
  margin-top:clamp(13rem,18vw,17rem);
  column-gap:clamp(1.5rem,3vw,3rem);
  border-top:1px solid rgba(255,255,255,.42);
}
.guides ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.guides ul,
.guides li{border-color:rgba(255,255,255,.32)}
.guides li{
  min-height:5.25rem;
  padding:1.15rem .5rem 1.15rem 1.35rem;
  border-bottom:1px solid rgba(255,255,255,.32);
  color:var(--white);
  font-size:clamp(.92rem,1vw,1rem);
}
.guides li::before{
  top:1.7rem;
  border-radius:0;
  background:var(--story-yellow);
}
.idea-banks.story-scene{
  border-color:rgba(255,255,255,.34);
  background:var(--story-pink);
}
.idea-banks ul{
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:clamp(1.25rem,2.5vw,2.5rem);
}
.idea-banks .section-title,
.idea-banks p,
.idea-banks li{color:var(--white)}
.idea-banks li{
  min-height:7.5rem;
  padding:1.35rem .5rem 1.35rem 1.4rem;
  border-bottom:1px solid rgba(255,255,255,.4);
  font-size:clamp(.96rem,1.12vw,1.08rem);
  font-weight:600;
}
.idea-banks li::before{
  top:1.85rem;
  border-radius:0;
  background:var(--story-yellow);
  transform:rotate(45deg);
}
.motion-ready .guides.story-scene>.section-visual.reveal-unit,
.motion-ready .idea-banks.story-scene>.section-visual.reveal-unit{
  opacity:1;
  clip-path:none;
  transform:none;
  transition:none;
}
.motion-ready .guides.story-scene>.section-visual.reveal-unit.is-visible,
.motion-ready .idea-banks.story-scene>.section-visual.reveal-unit.is-visible{
  opacity:1;
  clip-path:none;
  transform:none;
}
.motion-ready .guides.story-scene>.section-visual img,
.motion-ready .idea-banks.story-scene>.section-visual img{
  transition:transform 180ms linear;
}

.format .section-body{max-width:none}
.format li{
  font-weight:600;
}

.closing{
  border-color:rgba(5,5,5,.2);
  background:var(--story-yellow);
  color:var(--black);
}
.closing .section-title,
.closing p{color:var(--black)}
.closing .section-body>p:first-child{
  font-size:clamp(1.16rem,1.5vw,1.45rem);
  font-weight:650;
}

@media(max-width:1120px){
  .comparison .entries{grid-template-columns:repeat(2,minmax(0,1fr))}
  .comparison .entry h3{min-height:auto}
  .guides ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .idea-banks ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:840px){
  .system.story-scene .entries{grid-template-columns:1fr}
  .system.story-scene .entry{min-height:0}
  .system.story-scene .entry h3{min-height:0}
  .requirements ul{grid-template-columns:1fr}
  .requirements li{
    min-height:0;
    padding-top:4rem;
    padding-bottom:1.5rem;
  }
  .guides .section-visual,
  .idea-banks .section-visual{
    top:5rem;
    right:-10%;
    width:68%;
    height:22rem;
    max-height:none;
  }
  .guides ul,
  .idea-banks ul{margin-top:17rem}
  .phase-rail-single{height:4.7rem}
}

@media(max-width:600px){
  .system.story-scene .entry{padding:1.35rem}
  .requirements li{
    min-height:0;
    padding:3.6rem 0 1.35rem;
  }
  .requirements li::before{
    top:1.7rem;
    left:0;
  }
  .comparison .entries{grid-template-columns:1fr}
  .guides .section-visual,
  .idea-banks .section-visual{
    top:7rem;
    right:-24%;
    width:112%;
    height:17rem;
    margin:0;
  }
  .guides,
  .idea-banks{min-height:0}
  .guides p,
  .idea-banks p{
    max-width:27ch;
    margin-top:1.25rem;
  }
  .guides ul,
  .idea-banks ul{
    grid-template-columns:1fr;
    margin-top:15rem;
    column-gap:0;
  }
  .guides li,
  .idea-banks li{
    min-height:0;
    padding:1rem 0 1rem 1.2rem;
  }
  .guides li::before,
  .idea-banks li::before{top:1.55rem}
  .phase-rail-single{height:3.4rem}
}

/* 1.17 — mobile hero safe area, full-program CTA, legible pink package */
.roadmap .phase:last-child .button{
  min-height:3.5rem;
  margin-top:1.5rem;
  border-color:var(--story-yellow);
  background:var(--story-yellow);
  color:var(--black);
  font:650 .95rem/1.2 var(--body);
}
.roadmap .phase:last-child .button:hover{
  border-color:#ffd475;
  background:#ffd475;
  color:var(--black);
}

.package:nth-child(3){
  border:2px solid var(--story-pink);
  background:var(--white);
  color:var(--light-ink);
}
.package:nth-child(3) .group-title,
.package:nth-child(3) .package-price{
  color:var(--story-red)!important;
}
.package:nth-child(3) li{border-color:rgba(246,63,121,.3)}
.package:nth-child(3) li::before{background:var(--story-pink)}
.package:nth-child(3) .button{
  border-color:var(--black);
  background:var(--black);
  color:var(--white);
}

@media(max-width:600px){
  .hero.story-scene{
    min-height:calc(100svh - 4.5rem);
    align-content:start;
    padding-top:clamp(3.25rem,9svh,5rem);
    padding-bottom:2.5rem;
  }
  .hero.story-scene>.section-head,
  .hero.story-scene>.section-body{
    position:relative;
    z-index:3;
  }
  .hero.story-scene>.section-head{grid-row:1}
  .hero.story-scene>.section-body{
    grid-row:2;
    max-width:100%;
    padding:0 0 1.5rem;
  }
  .hero.story-scene .section-title{
    max-width:10.5ch;
    font-size:clamp(2rem,9vw,2.55rem);
    line-height:1.03;
  }
  .hero.story-scene .section-body p{
    max-width:31ch;
    font-size:1rem;
    line-height:1.5;
  }
  .hero-fold-object{
    top:calc(100svh + 1rem);
    left:70vw;
  }
  .hero-fold-sheet{width:22rem}
  .hero-fold-mid{width:18rem}
  .hero-fold-plane{width:9rem}
  .roadmap .phase:last-child .button{
    width:100%;
    margin-top:1.25rem;
    padding:1rem 1.1rem;
  }
}
