/* Direction C, applied site-wide: the page is the walk */
body.c{background:#1c1426}

/* header: logo left, nav across the top, CTA pill right */
.c-top{position:absolute;left:0;right:0;top:0;z-index:40;display:flex;align-items:center;gap:1.5rem;padding:1rem 1.25rem 1rem 3.5rem;color:#f8f7fb}
.c-brand{display:flex;align-items:center;gap:.8rem;margin-right:auto}
.c-brand .mark{width:46px;height:46px;border-radius:999px;box-shadow:0 0 0 2px rgb(248 247 251 / .92),0 6px 18px rgb(0 0 0 / .35)}
.c-word{display:flex;flex-direction:column;gap:.35rem;line-height:1}
.c-word span{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.02em}
.c-word small{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;opacity:.78}
.c-nav{display:none;gap:1.75rem;align-items:center}
.c-nav a{font-size:.95rem;color:rgb(248 247 251 / .84);padding:.45rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.c-nav a:hover,.c-nav a[aria-current="page"]{color:#fff;border-color:rgb(248 247 251 / .6)}
.c-cta{display:none;align-items:center;min-height:44px;padding:0 1.3rem;border-radius:999px;background:rgb(248 247 251 / .14);border:1px solid rgb(248 247 251 / .42);color:#fff;font-size:.95rem;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s}
.c-cta:hover{background:rgb(248 247 251 / .26)}
.c-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgb(248 247 251 / .42);color:#fff}
.c-drawer{position:absolute;top:78px;left:1rem;right:1rem;z-index:45;padding:.5rem;background:#fbfafd;color:#241a31;border-radius:6px;box-shadow:0 18px 40px rgb(21 15 29 / .35)}
.c-drawer a{display:block;padding:.8rem .9rem;border-radius:4px;font-size:1rem}
.c-drawer a:hover{background:rgb(107 78 140 / .1)}
.c-drawer a[aria-current="page"]{font-weight:600}
.c-drawer .c-drawer-cta{margin-top:.35rem;background:#100e12;color:#f8f7fb;text-align:center;font-weight:600}
.c-drawer .c-drawer-cta:hover{background:#2a1f3a}
@media (min-width:640px){.c-cta{display:inline-flex}}
@media (min-width:1100px){.c-nav{display:flex}.c-burger{display:none}.c-drawer{display:none!important}}

/* the walking rail starts below the header so it never touches the logo */
.c-rail{position:fixed;left:0;top:84px;bottom:0;width:44px;z-index:30;pointer-events:none;mix-blend-mode:difference}
.c-rail svg{width:100%;height:100%;display:block;overflow:visible}
.c-rail .bed{stroke:rgb(255 255 255 / .22);stroke-width:1.5;fill:none;stroke-dasharray:2 7;stroke-linecap:round}
.c-rail .done{stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round}
.c-walk{position:absolute;left:0;top:0;width:0;height:0}
.c-walk i{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:-7px;left:-7px}
.c-here{position:absolute;left:-6px;top:14px;writing-mode:vertical-rl;white-space:nowrap;font:700 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:#fff;display:none}
.c-here:empty{display:none!important}

/* homepage stages */
.c-stage{position:relative;padding:clamp(4.5rem,9vw,8rem) 1.25rem clamp(4.5rem,9vw,8rem) 3.5rem}
.c-in{max-width:46rem;margin:0 auto}
.c-wide{max-width:62rem;margin:0 auto}
.c-dark{color:#f8f7fb;--color-plum:oklab(77.7495% .0235407 -.0385745)}
.c-way{display:flex;align-items:center;gap:.9rem;margin-bottom:1.75rem}
.c-way::before{content:"";width:2.5rem;height:2px;background:currentColor;opacity:.4}
.c-hero{min-height:100svh;display:flex;align-items:flex-end;position:relative;isolation:isolate;overflow:hidden}
.c-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scaleX(-1)}
.c-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#1c1426 6%,rgb(28 20 38 / .72) 45%,rgb(28 20 38 / .5))}
.c-h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.9rem,8.4vw,7rem);line-height:.95;letter-spacing:-.035em;text-wrap:balance}
.c-h1 em{font-style:italic;font-weight:600;color:#c9b8e6}
.c-h2{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.03em;text-wrap:balance}
.c-big{font-family:var(--font-display);font-weight:600;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.25;letter-spacing:-.015em;text-wrap:pretty}
.c-body{font-size:1.0625rem;line-height:1.72;opacity:.82}
.c-pace{display:inline-flex;align-items:center;gap:.6rem;margin-top:2.5rem;font-size:.85rem;opacity:.75}
.c-pace b{display:inline-block;width:1px;height:2.4rem;background:currentColor;opacity:.5}
.c-forks{display:grid;margin-top:3rem;border-top:1px solid rgb(36 26 49 / .16)}
.c-forks a{display:grid;gap:.5rem;padding:1.75rem 0;border-bottom:1px solid rgb(36 26 49 / .16);transition:padding .35s cubic-bezier(.22,.61,.36,1)}
.c-forks a:hover{padding-left:1rem}
.c-forks h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}
.c-forks p{opacity:.75;max-width:36rem}
.c-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.c-chips li{padding:.4rem .85rem;border:1px solid currentColor;border-radius:999px;font-size:.85rem;opacity:.8}
.c-carry{display:grid;gap:3.5rem;margin-top:3.5rem}
.c-carry a{display:grid;gap:1.25rem;align-items:center}
.c-carry img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px}
.c-carry h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.02em;line-height:1.1}
.c-carry p{margin-top:.6rem;opacity:.75}
.c-bench{position:relative;isolation:isolate;overflow:hidden}
.c-bench img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.c-bench::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgb(21 15 29 / .93) 30%,rgb(21 15 29 / .55))}
.c-voices{display:grid;gap:2rem;margin-top:3.5rem}
.c-voices blockquote{font-size:1.1rem;line-height:1.55}
.c-voices figcaption{margin-top:.75rem;font-size:.85rem;opacity:.7}
.c-plain{display:grid;margin-top:3rem;border-top:1px solid rgb(36 26 49 / .16)}
.c-plain>div{display:grid;gap:.5rem;padding:1.75rem 0;border-bottom:1px solid rgb(36 26 49 / .16)}
.c-plain h3{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-.015em}
.c-plain p{opacity:.78;max-width:40rem}
.c-nums{display:flex;flex-wrap:wrap;gap:2rem 3.5rem;margin-top:3rem}
.c-nums dt{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,5vw,3.8rem);letter-spacing:-.03em;line-height:1}
.c-nums dd{margin-top:.4rem;font-size:.9rem;opacity:.72;max-width:13rem}
.c-about{display:grid;gap:2.5rem;align-items:start}
.c-about img{width:100%;max-width:22rem;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%;border-radius:3px}

/* interior pages: dark photo hero, light below, room for the rail */
.x12,.x25,.x48{background:#1c1426;color:#f8f7fb;--color-plum:oklab(77.7495% .0235407 -.0385745);--color-amber:#c9b8e6;--amber:#c9b8e6}
.x12::before,.x25::before,.x48::before{mix-blend-mode:overlay;opacity:.16}
.x13 img{opacity:1;filter:none}
.c-shade{position:absolute;inset:0;z-index:-5;pointer-events:none;background:linear-gradient(to top,#1c1426 4%,rgb(28 20 38 / .74) 48%,rgb(28 20 38 / .55))}
main section:not(.c-stage),footer{padding-left:3.5rem}

@media (min-width:900px){
.c-top{padding:1.4rem 2.5rem 1.4rem 7rem}
.c-rail{width:88px;top:96px}.c-here{display:block}
.c-stage{padding-left:9rem;padding-right:3rem}
main section:not(.c-stage),footer{padding-left:7rem}
.c-carry a{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:3rem}
.c-carry a:nth-child(even) img{order:2}
.c-voices{grid-template-columns:repeat(3,minmax(0,1fr))}
.c-plain>div{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:3rem}
.c-about{grid-template-columns:22rem minmax(0,1fr);gap:4rem}
}
@media (prefers-reduced-motion:reduce){.c-forks a,.c-nav a,.c-cta{transition:none}}
/* no scroll-reveal anywhere: underlines and lines arrive already drawn */
.ink::after{transition:none;transform:scaleX(1)}
.reveal{opacity:1!important;transform:none!important}
