/* Our story: one arc, one scene. Tokens from site.css only. */
.st-hero .st-rule{font-size:clamp(44px,6.4vw,84px);line-height:1.02;letter-spacing:-0.03em;text-wrap:balance}
.st-anyway{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(28px,3.4vw,44px);line-height:1.1;color:var(--on-dark-2)}
.st-by{margin:0;font-family:var(--display);font-weight:600;font-size:15px;color:var(--on-dark-3)}
.st-hero .figure-photo img{aspect-ratio:4/5;object-position:50% 50%}
.st-hero .caption,.st-dock .caption{color:var(--on-dark-3)}

.st-prose,.st-dock-copy,.st-idea-grid>.stack-lg,.st-sea .wrap{display:flex;flex-direction:column;gap:var(--s6)}
.st-prose{gap:var(--s4);max-width:34em}
.st-hero .stack-lg{display:flex;flex-direction:column;gap:var(--s4)}
.st-hero .stack-lg>*{margin:0}
.st-hero .lede{margin-top:var(--s4)}
.st-home{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s16);align-items:center}
.st-motto{display:flex;flex-direction:column;gap:var(--s6)}
.st-motto p{margin:0}
.st-motto-line{font-family:var(--body);font-style:italic;font-size:clamp(40px,4.6vw,64px);line-height:1.05;letter-spacing:-0.01em;color:var(--ocean)}
.st-prose>*,.st-dock-copy>*,.st-idea-grid>.stack-lg>*,.st-sea .wrap>*{margin:0}
.st-prose p{margin:0}

/* The one scene: photo bleeds to the left edge, copy sits beside it */
.st-dock{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.st-dock-photo{margin:0;position:relative;min-height:640px}
.st-dock-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.st-dock-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:var(--s12) var(--s8) var(--s6);background:linear-gradient(0deg,rgba(13,28,43,.88) 0%,rgba(13,28,43,0) 100%)}
.st-dock-copy{padding:var(--s24) max(20px,calc((100vw - var(--wrap)) / 2 + 20px)) var(--s24) var(--s16);max-width:calc(var(--wrap) / 2 + 40px);align-self:center}
.st-dock-copy p{margin:0;color:var(--on-dark-2)}
.st-count{display:flex;flex-wrap:wrap;gap:0 .32em;font-family:var(--display);font-weight:300;font-size:clamp(40px,4.4vw,60px);line-height:1.05;letter-spacing:-0.02em;color:var(--chalk)!important}
.st-count span{display:inline-block}
.st-count.is-armed span{opacity:0;transform:translateY(8px)}
.st-count.is-on span{opacity:1;transform:none;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}
.st-count.is-on span:nth-child(2){transition-delay:.35s}
.st-count.is-on span:nth-child(3){transition-delay:.7s}
.st-count.is-on span:nth-child(4){transition-delay:1.1s}
.st-thesis{color:var(--chalk)!important;max-width:20em;padding-top:var(--s6);border-top:1px solid rgba(247,247,247,.18)}

.st-idea{background:var(--ocean);color:var(--chalk)}
.st-idea a:not(.btn){color:var(--chalk)}
.st-idea-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--s16);align-items:end}
.st-idea p{margin:0;max-width:var(--measure);color:var(--on-dark-2)}
.st-idea .st-big{font-size:clamp(24px,2.6vw,34px);line-height:1.35;color:var(--chalk);max-width:26em}
.st-sunfish img{aspect-ratio:796/1029}
.st-sunfish .caption{color:var(--on-dark-2)}

.st-sea{position:relative;padding-block:var(--s32);background:linear-gradient(90deg,rgba(13,28,43,.95) 0%,rgba(13,28,43,.82) 50%,rgba(13,28,43,.3) 100%),url("img/hero-horizon.jpg") 50% 60%/cover no-repeat,var(--midnight)}
.st-sea-h{max-width:13em;text-wrap:balance}
.st-sea p{margin:0}
.st-honest{font-family:var(--display);font-weight:600;font-size:17px;color:var(--on-dark-2)}

.st-doors{list-style:none;margin-bottom:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s8)}
.st-doors li{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start;padding-top:var(--s6);border-top:2px solid var(--midnight)}
.st-doors h3,.st-doors p{margin:0}
.st-doors .btn{margin-top:auto}
.st-doors p{margin-bottom:var(--s4)}
.st-reads h3{margin:0 0 var(--s3)}
.st-reads ul{list-style:none;margin:0;padding:0}
.st-reads li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s2) var(--s6);padding:var(--s4) 0;border-top:1px solid var(--border)}
.st-reads li:last-child{border-bottom:1px solid var(--border)}
.st-reads a{font-family:var(--display);font-weight:600;font-size:17px;color:var(--midnight);text-underline-offset:4px;min-height:24px}

@media (prefers-reduced-motion:reduce){.st-count.is-armed span{opacity:1;transform:none}.st-count.is-on span{transition:none}}
@media (max-width:860px){
  .st-home{grid-template-columns:minmax(0,1fr);gap:var(--s8)}
  .st-dock{grid-template-columns:minmax(0,1fr)}
  .st-dock-photo{min-height:0;aspect-ratio:4/5}
  .st-dock-copy{padding:var(--s16) 20px;max-width:none}
  .st-idea-grid{grid-template-columns:minmax(0,1fr);gap:var(--s8)}
  .st-sunfish{max-width:280px}
  .st-doors{grid-template-columns:minmax(0,1fr);gap:var(--s12)}
  .st-reads li{grid-template-columns:minmax(0,1fr);gap:var(--s1)}
  .st-sea{padding-block:var(--s24);background:linear-gradient(180deg,rgba(13,28,43,.9) 0%,rgba(13,28,43,.82) 100%),url("img/hero-horizon.jpg") 50% 60%/cover no-repeat,var(--midnight)}
}
