@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Montserrat:wght@300;400;500;600&display=swap");

:root {
  color-scheme: light;
  --paper:#f4f1e9;
  --ink:#111411;
  --muted:#66645e;
  --line:rgba(17,20,17,.2);
  --night:#101716;
  --night-soft:#17201e;
  --teal:#167f78;
  --coral:#d94a3d;
  --gold:#aa8007;
  --mulberry:#843d79;
  --cobalt:#3f73ba;
  --pine:#264f43;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --header-h:75px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html.uses-overlay-scrollbar,
html.uses-overlay-scrollbar body { scrollbar-width:none; }
html.uses-overlay-scrollbar::-webkit-scrollbar,
html.uses-overlay-scrollbar body::-webkit-scrollbar { width:0; height:0; }
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.7;
  text-rendering:optimizeLegibility;
}
body[data-theme="dark"] {
  color-scheme:dark;
  --paper:#101312;
  --ink:#f3f0e8;
  --muted:#b8b6ae;
  --line:rgba(243,240,232,.2);
}
body.nav-open { overflow:hidden; }
a { color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
img { display:block; max-width:100%; }

.skip-link { position:fixed; z-index:120; top:-5rem; left:1rem; padding:.75rem 1rem; background:var(--paper); color:var(--ink); }
.skip-link:focus { top:1rem; }
.wrap { width:min(1180px,calc(100% - 3rem)); margin-inline:auto; }
.section { padding:clamp(5rem,10vw,9rem) 0; }
.section--compact { padding:clamp(4rem,7vw,6rem) 0; }
.eyebrow { display:flex; align-items:center; gap:.7rem; margin:0 0 1.3rem; font-family:var(--font-mono); font-size:.7rem; font-weight:500; line-height:1.2; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow::before { content:""; width:1.65rem; height:1px; background:currentColor; }
.headline { margin:0; font-size:clamp(2.55rem,5.2vw,5.5rem); font-weight:500; line-height:1.07; letter-spacing:-.045em; text-wrap:balance; }
.display { margin:0; font-size:clamp(3.5rem,8vw,8rem); font-weight:500; line-height:.96; letter-spacing:-.055em; text-wrap:balance; }
.lede { max-width:46rem; margin:0; color:var(--muted); font-size:clamp(1rem,1.4vw,1.22rem); line-height:1.58; }
.mt-1 { margin-top:1rem; }
.mt-2 { margin-top:2rem; }
.button-row { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:space-between; gap:1.7rem; padding:.85rem 1.25rem; border:1px solid currentColor; border-radius:999px; background:transparent; color:inherit; font-weight:600; text-decoration:none; transition:transform 160ms var(--ease),background 160ms var(--ease),color 160ms var(--ease),border-color 160ms var(--ease); }
.button:hover { transform:translateY(-2px); background:var(--ink); color:var(--paper); }
.button--solid { border-color:var(--coral); background:var(--coral); color:#fff; }
.button--solid:hover { border-color:var(--teal); background:var(--teal); color:#fff; }

.site-head { position:sticky; z-index:80; top:0; min-height:var(--header-h); }
.site-head__inner { min-height:var(--header-h); display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1.2rem,3.5vw,3rem); align-items:center; }
.wordmark {
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  flex:none;
  color:inherit;
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-kerning:normal;
  font-synthesis:none;
  line-height:1.25;
  text-decoration:none;
}
.site-head .wordmark { order:1; align-items:flex-start; justify-self:start; text-align:left; }
.wordmark strong {
  position:relative;
  top:-.8889px;
  display:block;
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.15em;
  text-transform:uppercase;
  white-space:nowrap;
}
.wordmark small {
  display:block;
  margin-top:5.3333px;
  font-size:8px;
  font-weight:400;
  line-height:1.25;
  letter-spacing:.25em;
  text-transform:uppercase;
  white-space:nowrap;
}
.primary-nav { order:2; display:flex; align-items:center; justify-content:center; gap:clamp(.85rem,2.2vw,2rem); }
.primary-nav a { position:relative; font-size:12px; text-decoration:none; white-space:nowrap; }
.primary-nav a::after { content:""; position:absolute; inset:auto 0 -.65rem; height:1px; background:var(--nav-accent,var(--teal)); transform:scaleX(0); transform-origin:left; transition:transform 180ms var(--ease); }
.primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after { transform:scaleX(1); }
.nav-toggle { display:none; order:4; width:44px; height:44px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; }
.nav-toggle span { display:block; width:24px; height:1px; margin:6px auto; background:currentColor; transition:transform 180ms var(--ease),opacity 180ms var(--ease); }
.nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }
.site-head__grape { order:3; width:40px; height:40px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--paper) 20%,rgba(247,244,237,.45)); border-radius:999px; color:inherit; text-decoration:none; transition:transform 170ms var(--ease), border-color 170ms var(--ease); }
.site-head__grape:hover { transform:translateY(-1px); border-color:var(--paper); }
.site-head__grape:focus-visible { outline:2px solid color-mix(in srgb,var(--paper) 25%,transparent); outline-offset:3px; }
.site-head__grape__mark { width:20px; height:26px; fill:currentColor; stroke:none; }

.home .site-head { position:fixed; inset:0 0 auto; }
.home-hero { min-height:100svh; position:relative; overflow:hidden; background:#14263a; color:#fff; }
.home-hero__image { position:absolute; inset:var(--header-h) 0 auto; width:100%; height:calc(100% - var(--header-h)); object-fit:cover; object-position:center top; }
.home-hero__copy { position:relative; z-index:2; min-height:100svh; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:clamp(5rem,17vw,18rem); padding:calc(var(--header-h) + 6rem) 0 3rem; }
.home-statement { max-width:560px; }
.home-statement--right { justify-self:end; text-align:right; }
.home-statement p { margin:0 0 .8rem; font:500 .61rem/1.2 var(--font-mono); letter-spacing:.19em; text-transform:uppercase; }
.home-statement :is(h1,h2) { margin:0; font-size:clamp(2.8rem,5.25vw,5.8rem); font-weight:500; line-height:1.02; letter-spacing:-.045em; text-wrap:balance; }
.home-statement--left em { color:#ff8e91; font-style:normal; }
.home-statement--right em { color:#79d4d2; font-style:normal; }

.page-hero { min-height:calc(72svh - var(--header-h)); display:grid; align-items:end; padding:clamp(5rem,10vw,9rem) 0; background:var(--hero-bg,#ded8ca); color:var(--hero-ink,#171915); }
.page-hero__grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,9vw,9rem); align-items:start; }
.page-hero .headline strong { display:block; color:var(--hero-accent,var(--teal)); font-weight:400; }
.page-hero .lede { color:inherit; opacity:.72; }
.page-hero__grape { width:2.3rem; height:3.05rem; margin-top:2rem; background:var(--hero-accent,var(--teal)); -webkit-mask:url("sandr-grape-currentcolor.svg") center/contain no-repeat; mask:url("sandr-grape-currentcolor.svg") center/contain no-repeat; }
.theme-method { --hero-bg:#eee6d8; --hero-ink:#171915; --hero-accent:#167f78; }
.theme-consulting { --hero-bg:#c8d9d3; --hero-ink:#13201c; --hero-accent:#a33129; }
.theme-recognition { --hero-bg:#d9c8dc; --hero-ink:#28192d; --hero-accent:#8b3479; }
.theme-groups { --hero-bg:#e1b83f; --hero-ink:#1d1a0f; --hero-accent:#8d332c; }
.theme-sandr { --hero-bg:#101716; --hero-ink:#f2efe8; --hero-accent:#70c9bd; }
.theme-about { --hero-bg:#e9d2cc; --hero-ink:#281714; --hero-accent:#a3352d; }
.theme-contact { --hero-bg:#c9d9e6; --hero-ink:#15202a; --hero-accent:#365f9b; }
body[data-theme="dark"] .theme-method { --hero-bg:#24221d; --hero-ink:#f3f0e8; --hero-accent:#71d0c6; }
body[data-theme="dark"] .theme-consulting { --hero-bg:#19302a; --hero-ink:#eef4f1; --hero-accent:#f08a80; }
body[data-theme="dark"] .theme-recognition { --hero-bg:#332338; --hero-ink:#f7edf8; --hero-accent:#e887d6; }
body[data-theme="dark"] .theme-groups { --hero-bg:#3b3011; --hero-ink:#f8f0d1; --hero-accent:#ef7d73; }
body[data-theme="dark"] .theme-about { --hero-bg:#3b2420; --hero-ink:#f8ece8; --hero-accent:#ef8b82; }
body[data-theme="dark"] .theme-contact { --hero-bg:#1c2b39; --hero-ink:#edf5fb; --hero-accent:#81b2eb; }

.split-head { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,9vw,9rem); align-items:start; }
.intro-section .headline strong { color:var(--coral); font-weight:400; }
.sandr-intro { overflow:hidden; }
.sandr-intro__head { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(3rem,9vw,9rem); align-items:end; }
.sandr-intro .headline { max-width:10ch; }
.sandr-intro .headline strong { display:block; font-weight:400; }
.sandr-intro__copy { width:100%; justify-self:end; display:flex; flex-direction:column; align-items:flex-end; padding-bottom:.45rem; text-align:right; }
.sandr-intro__logo { width:clamp(10.5rem,16vw,13.5rem); height:auto; margin:0 0 clamp(2rem,3.5vw,3rem); }
.sandr-intro__definition { max-width:42rem; margin:0 0 1.25rem; font-size:clamp(1.35rem,2.3vw,2.15rem); font-weight:400; line-height:1.3; letter-spacing:-.025em; }
.sandr-questions { width:min(100%,54rem); margin:clamp(3.5rem,6vw,5.5rem) auto 0 0; padding:0; list-style:none; }
.sandr-questions li { --question-accent:#70c9bd; display:grid; grid-template-columns:3.25rem minmax(0,1fr); gap:1rem; align-items:baseline; padding:1.05rem 0; }
.sandr-questions li:nth-child(2){--question-accent:#75a2dc}.sandr-questions li:nth-child(3){--question-accent:#e4bd42}.sandr-questions li:nth-child(4){--question-accent:#e47b73}.sandr-questions li:nth-child(5){--question-accent:#c17ab5}
.sandr-questions span { color:var(--question-accent); font:500 .62rem/1.2 var(--font-mono); letter-spacing:.16em; }
.sandr-questions p { margin:0; font-size:clamp(1.18rem,1.75vw,1.65rem); font-weight:500; line-height:1.22; letter-spacing:-.025em; }
.sandr-intro__actions { margin-top:2.2rem; }
.moments-section .headline strong { color:var(--teal); font-weight:400; }
.role-grid,.principles-grid,.notes-grid,.proof-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; background:var(--line); }
.moment,.path-card,.role-card,.principle,.note-card,.proof-strip>div { padding:1.7rem; background:var(--paper); }
.moments-carousel { width:min(100%,52rem); margin:4rem auto 0; outline:none; }
.moments-carousel:focus-visible { outline:2px solid var(--teal); outline-offset:8px; }
.moments-carousel__viewport { overflow:hidden; }
.moments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; background:transparent; }
.moments[data-moments-track] { grid-template-columns:1fr; }
.moments-carousel:not(.is-carousel-ready) .moments-carousel__controls { display:none; }
.moments-carousel.is-carousel-ready .moments[data-moments-track] { display:flex; transition:transform 360ms var(--ease); will-change:transform; }
@media(max-width:900px){.moments:not([data-moments-track]){grid-template-columns:1fr}}
.moment { flex:0 0 100%; min-height:330px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(1rem,4vw,3rem); background:transparent; }
.moment:nth-child(1) { --card-accent:var(--coral); --card-hover:#efc3bd; }
.moment:nth-child(2) { --card-accent:var(--teal); --card-hover:#b8ddd7; }
.moment:nth-child(3) { --card-accent:var(--gold); --card-hover:#ead897; }
.moment small,.path-card small,.role-card small,.principle small,.note-card small { color:var(--card-accent,var(--teal)); font:600 .59rem/1.2 "Courier New",monospace; letter-spacing:.16em; text-transform:uppercase; }
.moment h3,.path-card h3,.role-card h3,.principle h3,.note-card h3 { margin:auto 0 1rem; font-size:clamp(1.6rem,2.5vw,2.7rem); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.moment p,.path-card p,.role-card p,.principle p,.note-card p { margin:0; color:var(--muted); }
.moment h3 { max-width:18ch; margin:1.6rem 0 1.15rem; }
.moment p { max-width:44rem; }
.moments-carousel__controls { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:.75rem; }
.moments-carousel__arrow { width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; transition:transform 160ms var(--ease),border-color 160ms var(--ease),background-color 160ms var(--ease); }
.moments-carousel__arrow:hover { transform:translateY(-2px); border-color:var(--teal); background:color-mix(in srgb,var(--teal) 9%,transparent); }
.moments-carousel__dots { display:flex; align-items:center; gap:.35rem; }
.moments-carousel__dots button { min-width:36px; height:36px; padding:0 .45rem; border:0; border-radius:999px; background:transparent; color:var(--muted); font:500 .6rem/1 var(--font-mono); letter-spacing:.08em; cursor:pointer; transition:background-color 160ms var(--ease),color 160ms var(--ease); }
.moments-carousel__dots button[aria-current="true"] { background:var(--ink); color:var(--paper); }
.moments-carousel__arrow:focus-visible,.moments-carousel__dots button:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.pathways { background:#e8e2d5; color:#171915; }
body[data-theme="dark"] .pathways { background:#171b19; color:#f3f0e8; }
.path-grid { display:grid; gap:clamp(2rem,4vw,3.5rem); margin-top:clamp(4rem,7vw,6rem); background:transparent; }
.path-card { position:relative; min-height:0; display:grid; grid-template-columns:minmax(12rem,.62fr) minmax(0,.9fr) minmax(17rem,1fr); grid-template-areas:"label title copy" ". title action"; gap:.9rem clamp(2rem,6vw,6rem); align-items:start; padding:0 0 0 1.5rem; background:transparent; }
.path-card::before { content:""; position:absolute; top:.08rem; bottom:.08rem; left:0; width:3px; border-radius:999px; background:var(--card-accent); }
.path-card:nth-child(1){--card-accent:var(--coral)}
.path-card:nth-child(2){--card-accent:var(--teal)}
.path-card:nth-child(3){--card-accent:var(--gold)}
.path-card small { grid-area:label; padding-top:.35rem; }
.path-card h3 { grid-area:title; margin:0; }
.path-card p { grid-area:copy; max-width:40rem; }
.path-card a { grid-area:action; justify-self:start; }
.path-card a,.note-card a { margin-top:1.5rem; color:var(--card-accent); font-weight:600; text-decoration:none; }
.method-preview { background:var(--night); color:#f3f0e8; }
.method-preview .headline em { color:#72cec4; font-style:normal; }
.method-preview__summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,6vw,6rem); margin-top:4rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.28); }
.method-preview__summary p { max-width:42rem; margin:0; color:rgba(243,240,232,.72); font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.72; }
.method-preview__steps { display:grid; grid-template-columns:repeat(5,1fr); margin-top:4rem; border-top:1px solid rgba(255,255,255,.28); border-bottom:1px solid rgba(255,255,255,.28); }
.method-preview__steps div { min-height:160px; padding:1.25rem; }
.method-preview__steps div+div { border-left:1px solid rgba(255,255,255,.28); }
.method-preview__steps b { display:block; color:#e2bd46; font:600 .58rem/1.2 "Courier New",monospace; letter-spacing:.14em; }
.method-preview__steps span { display:block; margin-top:2.5rem; font-size:1.05rem; }
.feature-pair { display:grid; grid-template-columns:1fr 1fr; }
.feature-panel { min-height:72svh; padding:clamp(4rem,8vw,7rem); display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; }
.feature-panel h2 { max-width:10ch; margin:0; font-size:clamp(2.7rem,5vw,5.5rem); font-weight:500; line-height:1; letter-spacing:-.05em; }
.feature-panel p { max-width:38rem; }

.method-chain { margin-top:5rem; border-top:1px solid currentColor; }
.method-step { --step:var(--teal); display:grid; grid-template-columns:4rem .7fr 1.3fr; gap:clamp(1.5rem,5vw,5rem); padding:2rem 0 3rem; border-bottom:1px solid currentColor; }
.method-step:nth-child(2){--step:var(--coral)}.method-step:nth-child(3){--step:var(--gold)}.method-step:nth-child(4){--step:var(--mulberry)}
.method-step small { color:var(--step); font:600 .62rem/1.2 "Courier New",monospace; letter-spacing:.17em; }
.method-step h3 { max-width:14ch; margin:0; font-size:clamp(1.55rem,2.5vw,2.75rem); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.method-step__copy>p { max-width:61ch; margin:0; color:var(--muted); }
.horizons { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:1.5rem; background:var(--line); }
.horizon { min-height:175px; padding:1.35rem; background:var(--paper); }
.horizon b { display:block; margin-bottom:2.7rem; color:var(--horizon); font:600 .58rem/1.2 "Courier New",monospace; letter-spacing:.15em; text-transform:uppercase; }
.horizon:nth-child(1){--horizon:var(--coral)}.horizon:nth-child(2){--horizon:var(--teal)}.horizon:nth-child(3){--horizon:var(--gold)}
.horizon p { margin:0; }
.principles-section { background:#efd1c9; color:#281714; }
body[data-theme="dark"] .principles-section { background:#3b2420; color:#f8ece8; }
.principle { min-height:225px; background:#efd1c9; }
body[data-theme="dark"] .principle { background:#3b2420; }
.principle h3 { margin:3.5rem 0 .75rem; font-size:1.4rem; }

.service-list { margin-top:4rem; border-bottom:1px solid currentColor; }
.service { border-top:1px solid currentColor; }
.service summary { min-height:105px; display:grid; grid-template-columns:4rem 1fr auto 2rem; gap:1rem; align-items:center; padding:1.2rem 0; cursor:pointer; list-style:none; }
.service summary::-webkit-details-marker { display:none; }
.service summary small { font:400 11px/1.2 "Courier New",monospace; }
.service summary strong { font-size:clamp(1.45rem,2.8vw,2.7rem); font-weight:500; letter-spacing:-.03em; }
.service summary span { opacity:.7; }
.service summary i { position:relative; width:18px; height:18px; }
.service summary i::before,.service summary i::after { content:""; position:absolute; inset:8px 0 auto; height:1px; background:currentColor; transition:transform 180ms var(--ease); }
.service summary i::after { transform:rotate(90deg); }
.service[open] summary i::after { transform:rotate(0); }
.service[open] summary { color:var(--coral); }
.service__body { display:grid; grid-template-columns:.8fr 1.2fr .75fr; gap:clamp(2rem,6vw,6rem); padding:0 0 3rem 5rem; }
.service__body p { margin:0; }
.service__body ul { margin:0; padding-left:1.2rem; }
.service__body li+li { margin-top:.5rem; }
.service__outcome { padding-left:1.5rem; border-left:1px solid currentColor; }
.service__outcome b { display:block; margin-bottom:.75rem; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.commitment { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,9vw,9rem); margin-top:4rem; padding-top:2rem; border-top:1px solid currentColor; }
.commitment p:last-child { max-width:48rem; margin:0; font-size:clamp(1.15rem,1.8vw,1.55rem); line-height:1.45; }

.recognition-body { background:#d9c8dc; color:#28192d; }
body[data-theme="dark"] .recognition-body { background:#332338; color:#f7edf8; }
.recognition-path,.portfolio-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:5rem; border-top:1px solid currentColor; border-bottom:1px solid currentColor; }
.recognition-step,.portfolio-step { min-height:320px; padding:1.5rem 2rem 2rem 0; }
.recognition-step+.recognition-step,.portfolio-step+.portfolio-step { padding-left:2rem; border-left:1px solid currentColor; }
.recognition-step small,.portfolio-step small { color:var(--step-accent); font:600 .58rem/1.2 "Courier New",monospace; letter-spacing:.17em; text-transform:uppercase; }
.recognition-step:nth-child(1){--step-accent:#a22f79}.recognition-step:nth-child(2){--step-accent:#0b746e}.recognition-step:nth-child(3){--step-accent:#8a6800}
.recognition-step h3,.portfolio-step h3 { margin:5rem 0 1rem; font-size:clamp(1.65rem,2.4vw,2.6rem); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.recognition-step p,.portfolio-step p { margin:0; opacity:.72; }

.portfolio-body { background:#e1b83f; color:#1d1a0f; }
body[data-theme="dark"] .portfolio-body { background:#3b3011; color:#f8f0d1; }
.portfolio-steps { grid-template-columns:repeat(4,1fr); }
.portfolio-step { min-height:340px; }
.portfolio-step:nth-child(1){--step-accent:#8d332c}.portfolio-step:nth-child(2){--step-accent:#0c5f5a}.portfolio-step:nth-child(3){--step-accent:#60386c}.portfolio-step:nth-child(4){--step-accent:#152f59}
.signal-list { display:grid; grid-template-columns:1fr 1fr; gap:0 3rem; margin-top:4rem; border-top:1px solid currentColor; }
.signal-list p { margin:0; padding:1.3rem 0; border-bottom:1px solid currentColor; font-size:clamp(1rem,1.25vw,1.2rem); }

.system-section { background:var(--night); color:#f2efe8; }
.system-section .headline em { color:#70c9bd; font-style:normal; }
.system-section .lede { color:#b9c3c0; }
.role-card { min-height:300px; background:var(--night); }
.role-card:nth-child(1){--card-accent:#e26c60}.role-card:nth-child(2){--card-accent:#63bdb2}.role-card:nth-child(3){--card-accent:#e0b637}
.role-card p { color:#b9c3c0; }
.proof-strip>div { background:var(--night-soft); }
.proof-strip strong { display:block; color:#f1c848; font-size:clamp(2.5rem,5vw,5rem); font-weight:300; letter-spacing:-.06em; }
.proof-strip span { color:#c8cbc7; font-size:.85rem; }
.guided-section { background:#d7c9dc; color:#201528; }
body[data-theme="dark"] .guided-section { background:#33243a; color:#f4ecf6; }
.guided-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(3rem,8vw,8rem); }
.guided-grid ol { margin:0; padding:0; list-style:none; counter-reset:days; border-top:1px solid currentColor; }
.guided-grid li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid currentColor; }
.guided-grid li::before { counter-increment:days; content:"0" counter(days); color:var(--mulberry); font:600 .62rem/1.4 "Courier New",monospace; }

.origin-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,8rem); align-items:center; }
.origin-figure { position:relative; margin:0; background:#ddd; }
.origin-figure img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.origin-figure figcaption { position:absolute; inset:auto 0 0; padding:1rem 1.25rem; background:rgba(16,19,18,.86); color:#f5f2eb; font-size:12px; }
.origin-copy p:not(.eyebrow) { max-width:42rem; color:var(--muted); font-size:clamp(1rem,1.4vw,1.15rem); }
.origin-copy strong { color:var(--coral); font-weight:500; }
.notes-section { background:var(--night); color:#f4f1e9; }
.note-card { min-height:330px; display:flex; flex-direction:column; background:var(--night); }
.note-card:nth-child(1){--card-accent:#e9766c}.note-card:nth-child(2){--card-accent:#70c9bd}.note-card:nth-child(3){--card-accent:#e2bd46}
.note-card p { color:#bac4c1; }

.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:4rem; background:var(--line); }
.contact-path { min-height:430px; padding:2rem; background:var(--paper); display:flex; flex-direction:column; align-items:flex-start; }
.contact-path small { color:var(--contact-accent); font:600 .59rem/1.2 "Courier New",monospace; letter-spacing:.16em; text-transform:uppercase; }
.contact-path:first-child{--contact-accent:var(--coral)}.contact-path:last-child{--contact-accent:var(--teal)}
.contact-path h2 { margin:5rem 0 1rem; font-size:clamp(2rem,3.7vw,4rem); font-weight:500; line-height:1.05; letter-spacing:-.04em; }
.contact-path p { margin:0 0 2rem; color:var(--muted); }
.contact-path .button { margin-top:auto; }
.faq-section { background:color-mix(in srgb,var(--paper) 88%,var(--gold)); }
.faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,8vw,8rem); }
.faq-list { border-bottom:1px solid var(--line); }
.faq-list details { border-top:1px solid var(--line); }
.faq-list summary { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; list-style:none; font-weight:500; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; flex:none; font-size:1.4rem; font-weight:300; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { margin:0; padding:0 3rem 1.5rem 0; color:var(--muted); }
.contact-details { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,9vw,9rem); }
.contact-details a { display:block; width:max-content; margin:.35rem 0; font-size:clamp(1.1rem,2vw,1.6rem); text-decoration:none; }

.end-section { background:var(--paper); color:var(--ink); }
.end-section .headline { max-width:980px; }

.site-footer { padding:4rem 0 3rem; }
.footer-head { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.2); }
.footer-head__sandr { justify-self:end; text-align:right; }
.footer-head__sandr img { width:auto; height:30px; margin-left:auto; }
.footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:3rem; padding:3rem 0; }
.footer-grid h3 { margin:0 0 1rem; font-size:13px; font-weight:500; }
.footer-grid p,.footer-grid a { font-size:13px; text-decoration:none; }
.footer-grid a { display:block; margin:.45rem 0; }
.footer-base { display:flex; justify-content:space-between; gap:2rem; padding-top:1.5rem; border-top:1px solid var(--line); font-size:12px; }

.scroll-indicator { position:fixed; inset:0 0 0 auto; z-index:100; width:4px; pointer-events:none; }
.scroll-indicator__thumb { position:absolute; inset:0 0 auto auto; width:3px; min-height:40px; border-radius:999px 0 0 999px; background:#ff716b; opacity:0; transition:opacity 300ms var(--ease); will-change:transform; }
body.is-scrolling .scroll-indicator__thumb { opacity:.9; }
.page-utilities { position:fixed; z-index:90; right:max(1rem,env(safe-area-inset-right)); bottom:max(1rem,env(safe-area-inset-bottom)); display:grid; gap:.5rem; }
.page-control { --control-accent:var(--teal); width:46px; height:46px; display:grid; place-items:center; padding:0; border:0; border-radius:0; background:transparent; color:var(--control-accent); box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; cursor:pointer; transition:opacity 180ms var(--ease); }
.page-control:nth-child(2){--control-accent:var(--gold)}.page-control:nth-child(3){--control-accent:var(--coral)}
.sandr-site-control { --control-accent:var(--mulberry); text-decoration:none; }
.page-control svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; transform-origin:center; transition:transform 320ms cubic-bezier(.2,1.35,.3,1),filter 320ms ease; }
.page-control.sandr-site-control .sandr-site-control__mark { width:20px; height:27px; fill:currentColor; stroke:none; }
.page-control svg[hidden] { display:none; }
.page-control:hover:not(:disabled) svg { transform:translateY(-3px) scale(1.16); filter:drop-shadow(0 2px 5px color-mix(in srgb,currentColor 45%,transparent)); }
.page-control[data-scroll-bottom]:hover:not(:disabled) svg { transform:translateY(3px) scale(1.16); }
.page-control[data-theme-toggle]:hover svg { transform:rotate(-20deg) scale(1.16); }
.page-control.sandr-site-control:hover svg { transform:translateY(-2px) rotate(8deg) scale(1.14); }
.page-control:active:not(:disabled) svg { transform:scale(.78); transition-duration:90ms; }
.page-control.is-activated svg:not([hidden]) { animation:page-control-tap 420ms cubic-bezier(.2,.8,.25,1) both; }
.page-control:focus-visible { outline:none; }
.page-control:focus-visible svg:not([hidden]) { transform:scale(1.16); filter:drop-shadow(0 0 5px var(--control-accent)) drop-shadow(0 0 1px var(--control-accent)); }
.page-control:disabled { opacity:.28; cursor:default; }
@keyframes page-control-tap { 0%{transform:scale(1)} 35%{transform:scale(.76)} 72%{transform:scale(1.23)} 100%{transform:scale(1)} }

@media (min-width:721px) {
  .home .section .headline { font-size:clamp(2.35rem,4.55vw,4.8rem); }
  .home .moment h3,.home .path-card h3 { font-size:clamp(1.5rem,2.15vw,2.35rem); }
  .home .feature-panel h2 { font-size:clamp(2.45rem,4.2vw,4.7rem); }
  .home .sandr-intro__definition { font-size:clamp(1.25rem,2vw,1.9rem); }
}

html.has-reveal-motion [data-reveal] { opacity:0; transform:translateY(22px); transition:opacity 600ms var(--ease),transform 600ms var(--ease); }
html.has-reveal-motion [data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width:980px) {
  .site-head__inner { grid-template-columns:1fr auto auto; }
  .site-head .wordmark { order:1; justify-self:start; }
  .nav-toggle { display:block; order:4; }
  .site-head__grape { order:3; justify-self:end; }
  .primary-nav { position:fixed; inset:var(--header-h) 0 auto; max-height:calc(100svh - var(--header-h)); display:grid; justify-content:stretch; gap:0; padding:1rem 1.5rem 1.5rem; transform:translateY(-115%); opacity:0; pointer-events:none; transition:transform 240ms var(--ease),opacity 180ms var(--ease); }
  .primary-nav.is-open { transform:none; opacity:1; pointer-events:auto; }
  .primary-nav a { padding:.8rem 0; border-bottom:1px solid var(--line); font-size:14px; }
  .primary-nav a::after { display:none; }
  .home-hero { min-height:auto; padding-top:62svh; background:var(--night); }
  .home-hero__image { inset:var(--header-h) 0 auto; height:calc(62svh - var(--header-h)); object-position:52% 24%; }
  .home-hero__copy { width:100%; min-height:auto; grid-template-columns:1fr; align-content:start; gap:2.5rem; padding:3rem 1.5rem 6rem; background:var(--night); }
  .home-statement :is(h1,h2) { font-size:clamp(2.7rem,8vw,4.2rem); }
  .method-preview__steps { grid-template-columns:repeat(3,1fr); }
  .method-preview__steps div:nth-child(4) { border-left:0; border-top:1px solid rgba(255,255,255,.28); }
  .method-preview__steps div:nth-child(5) { border-top:1px solid rgba(255,255,255,.28); }
  .portfolio-steps { grid-template-columns:1fr 1fr; }
  .portfolio-step:nth-child(3) { padding-left:0; border-left:0; border-top:1px solid currentColor; }
  .portfolio-step:nth-child(4) { border-top:1px solid currentColor; }
}

@media (max-width:720px) {
  :root { --header-h:75px; }
  .wrap { width:min(100% - 2rem,42rem); }
  .section { padding:4.75rem 0; }
  .site-head__inner { grid-template-columns:1fr auto auto; gap:1rem; }
  .site-head .wordmark { order:1; align-items:flex-start; justify-self:start; text-align:left; }
  .nav-toggle { order:3; justify-self:end; }
  .site-head__grape { order:2; }
  .home-hero { padding-top:62svh; background:var(--night); }
  .home .site-head { position:fixed; }
  .home-hero__image { inset:var(--header-h) 0 auto; height:calc(62svh - var(--header-h)); object-position:52% 24%; }
  .home-hero__copy { width:100%; min-height:auto; grid-template-columns:1fr; align-content:start; gap:2.5rem; padding:3rem 1rem 6rem; background:var(--night); }
  .home-statement--right { justify-self:auto; }
  .home-statement :is(h1,h2) { font-size:clamp(2.7rem,12vw,4.2rem); }
  .page-hero { min-height:calc(100svh - var(--header-h)); }
  .page-hero__grid,.split-head,.sandr-intro__head,.guided-grid,.origin-grid,.contact-details,.commitment,.faq-grid,.footer-head { grid-template-columns:1fr; }
  .sandr-intro__head { gap:2.5rem; }
  .sandr-questions { width:100%; margin-top:3rem; }
  .sandr-questions li { grid-template-columns:2.5rem minmax(0,1fr); gap:.75rem; padding:.9rem 0; }
  .role-grid,.principles-grid,.notes-grid,.proof-strip,.recognition-path,.portfolio-steps,.contact-grid,.feature-pair { grid-template-columns:1fr; }
  .moment,.path-card { min-height:280px; }
  .moment { padding:1rem 0 2rem; }
  .path-grid { gap:3rem; margin-top:3.5rem; }
  .path-card { min-height:0; grid-template-columns:1fr; grid-template-areas:"label" "title" "copy" "action"; gap:1rem; padding-left:1.25rem; }
  .feature-panel { min-height:75svh; padding:4rem 1rem; }
  .method-preview__steps { grid-template-columns:1fr; }
  .method-preview__summary { grid-template-columns:1fr; gap:1.4rem; margin-top:3rem; }
  .method-preview__steps div { min-height:0; }
  .method-preview__steps div+div { border-left:0; border-top:1px solid rgba(255,255,255,.28); }
  .method-preview__steps span { margin-top:1.5rem; }
  .method-step { grid-template-columns:2.5rem 1fr; gap:1rem; padding:1.5rem 0 2rem; }
  .method-step h3 { max-width:none; }
  .method-step__copy { grid-column:2; }
  .horizons { grid-template-columns:1fr; }
  .horizon { min-height:0; }
  .horizon b { margin-bottom:1rem; }
  .service summary { grid-template-columns:2.5rem 1fr 1.25rem; }
  .service summary span { display:none; }
  .service__body { grid-template-columns:1fr; padding:0 0 2.5rem; }
  .service__outcome { padding:1.25rem 0 0; border-top:1px solid currentColor; border-left:0; }
  .recognition-step,.portfolio-step { min-height:0; padding:1.5rem 0 2.5rem; border-bottom:1px solid currentColor; }
  .recognition-step+.recognition-step,.portfolio-step+.portfolio-step { padding-left:0; border-top:0; border-left:0; }
  .recognition-step:last-child,.portfolio-step:last-child { border-bottom:0; }
  .recognition-step h3,.portfolio-step h3 { margin-top:2.5rem; }
  .signal-list { grid-template-columns:1fr; }
  .origin-figure img { aspect-ratio:1/1.15; }
  .footer-head__sandr { justify-self:start; text-align:left; }
  .footer-head__sandr img { margin-left:0; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-base { flex-direction:column; }
  .page-utilities { right:max(.7rem,env(safe-area-inset-right)); bottom:max(.7rem,env(safe-area-inset-bottom)); gap:.4rem; }
  .page-control { width:43px; height:43px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  html.has-reveal-motion [data-reveal] { opacity:1; transform:none; }
  .sandr-questions.is-animated li { opacity:1!important; transform:none!important; }
}
