/* ==========================================================================
   OptimRise — production stylesheet, v4
   Archetype: heritage-craft / quiet-luxury. Mobile-first. Two type weights
   in body use. Restrained motion.

   Every custom class is namespaced `or-`. Font files are self-hosted and
   referenced relative to this stylesheet. No build step or framework is used.

   SIGNATURE
   ---------
   `--or-band-*` drives the OptimRise signature: a soft horizontal band of
   warm morning light that progresses down the page, echoing the upper-frame
   light delivery of the product. Each chapter sets its own band offset and
   opacity, so the band appears to travel and fade as the page descends. All
   three values can be tuned independently.
   ========================================================================== */

@font-face{font-family:Inter;src:url(fonts/inter-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}

.or-root{
  /* palette — supplied brand tokens, unaltered */
  --or-charcoal:#1C1C1A;
  --or-bone:#F7F4ED;
  --or-cream:#EFE7D8;
  --or-sand:#E0D6C5;
  --or-slate:#5F5C55;
  --or-sunrise:#E89B4D;
  --or-wheat:#E8DBC4;
  --or-taupe:#9A8C7A;
  --or-ochre:#B57440;
  --or-ink:#1A1815;

  --or-rule:rgba(28,28,26,.13);
  --or-rule-dark:rgba(247,244,237,.16);

  /* depth — images sit in the page rather than on it */
  --or-lift:0 30px 60px -34px rgba(28,28,26,.34),0 4px 14px -8px rgba(28,28,26,.14);
  --or-lift-sm:0 18px 38px -24px rgba(28,28,26,.30);

  /* type scale — fluid, capped so desktop stays editorial not billboard */
  --or-t-eyebrow:clamp(.66rem,.62rem + .18vw,.74rem);
  --or-t-body-s:clamp(.86rem,.83rem + .16vw,.94rem);
  --or-t-body:clamp(1rem,.96rem + .22vw,1.09rem);
  --or-t-lead:clamp(1.12rem,1.02rem + .5vw,1.4rem);
  --or-t-h4:clamp(1.05rem,1rem + .3vw,1.2rem);
  --or-t-h3:clamp(1.3rem,1.15rem + .7vw,1.72rem);
  --or-t-h2:clamp(1.75rem,1.35rem + 2vw,3.1rem);
  --or-t-h1:clamp(2.35rem,1.6rem + 3.5vw,4.6rem);
  --or-t-huge:clamp(2.1rem,1.35rem + 3.6vw,4rem);

  /* spacing scale — one consistent rhythm, no ad-hoc gaps */
  --or-s1:.5rem; --or-s2:1rem; --or-s3:1.5rem; --or-s4:2rem; --or-s5:3rem;
  --or-s6:4rem; --or-s7:5.5rem;
  --or-sec-y:clamp(3.75rem,2.4rem + 6.6vw,7.5rem);
  --or-gutter:clamp(1.25rem,.7rem + 2.6vw,3rem);
  --or-maxw:1220px;
  --or-measure:60ch;

  --or-ease:cubic-bezier(.22,.61,.36,1);
  --or-nav-h:60px;

  /* signature light band — defaults; each chapter overrides */
  --or-band-top:0px;
  --or-band-h:200px;
  --or-band-o:0;

  box-sizing:border-box;
  background:var(--or-bone);
  color:var(--or-charcoal);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:var(--or-t-body);
  font-weight:400;
  line-height:1.62;
  letter-spacing:-.008em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.or-root *,.or-root *::before,.or-root *::after{box-sizing:border-box}
.or-root img,.or-root video{max-width:100%;height:auto;display:block}
/* :where() keeps these element resets at zero specificity. Without it,
   `.or-root p` (0,1,1) silently beats every single-class rule like
   `.or-hero__sub` (0,1,0) and swallows its margin-top. */
.or-root :where(h1,h2,h3,h4){
  margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.06;text-wrap:balance;
}
.or-root :where(h2){font-size:var(--or-t-h2)}
.or-root :where(h3,h4){letter-spacing:-.022em;line-height:1.18}
.or-root :where(p){margin:0}
/* Anchors inherit their surrounding colour, EXCEPT buttons: .or-root a is
   specificity 0,2,0 and would otherwise beat .or-btn--primary (0,1,0),
   rendering charcoal text on a charcoal button. */
.or-root a:not(.or-btn){color:inherit}
.or-root :focus-visible{outline:2px solid var(--or-sunrise);outline-offset:3px;border-radius:2px}
.or-root ::selection{background:var(--or-sand);color:var(--or-ink)}

/* ---------------------------------------------------------------- layout */
.or-wrap{width:100%;max-width:var(--or-maxw);margin-inline:auto;padding-inline:var(--or-gutter)}
.or-wrap--narrow{max-width:860px}
.or-sec{position:relative;padding-block:var(--or-sec-y);overflow:clip}
.or-sec--tight{padding-block:calc(var(--or-sec-y) * .66)}
.or-bg-bone{background:var(--or-bone)}
.or-bg-cream{background:var(--or-cream)}
.or-bg-sand{background:var(--or-sand)}
.or-bg-wheat{background:var(--or-wheat)}
.or-bg-dark{background:var(--or-ink);color:var(--or-bone)}
.or-bg-dark h1,.or-bg-dark h2,.or-bg-dark h3{color:var(--or-bone)}
.or-hair{border:0;border-top:1px solid var(--or-rule);margin:0}
.or-bg-dark .or-hair{border-top-color:var(--or-rule-dark)}
.or-measure{max-width:var(--or-measure)}

/* --------------------------------------- the signature morning light band */
.or-sec::before{
  content:"";position:absolute;left:0;right:0;
  top:var(--or-band-top);height:var(--or-band-h);
  background:linear-gradient(
    180deg,
    rgba(232,155,77,var(--or-band-o)) 0%,
    rgba(232,155,77,calc(var(--or-band-o) * .45)) 42%,
    rgba(232,155,77,0) 100%);
  pointer-events:none;z-index:0;
}
.or-sec>*{position:relative;z-index:1}
/* on dark chapters the band reads as light spill, so it is warmer and wider */
.or-bg-dark.or-sec::before{
  background:linear-gradient(
    180deg,
    rgba(232,155,77,calc(var(--or-band-o) * 1.5)) 0%,
    rgba(232,155,77,calc(var(--or-band-o) * .5)) 55%,
    rgba(232,155,77,0) 100%);
}

/* ------------------------------------------------------------ typography */
.or-eyebrow{
  font-size:var(--or-t-eyebrow);font-weight:500;letter-spacing:.15em;
  text-transform:uppercase;color:var(--or-taupe);margin:0 0 var(--or-s3);
  display:flex;align-items:center;gap:.7em;
}
.or-eyebrow::before{content:"";width:1.6em;height:1px;background:var(--or-sunrise);flex:none}
.or-bg-dark .or-eyebrow{color:var(--or-sand)}
.or-bg-sand .or-eyebrow{color:var(--or-slate)}
.or-lead{font-size:var(--or-t-lead);line-height:1.44;letter-spacing:-.018em;color:var(--or-charcoal)}
.or-bg-dark .or-lead{color:var(--or-bone)}
.or-body{max-width:var(--or-measure);color:var(--or-slate)}
.or-bg-dark .or-body{color:rgba(247,244,237,.74)}
.or-fine{font-size:var(--or-t-body-s);line-height:1.55;color:var(--or-taupe)}
.or-bg-dark .or-fine{color:rgba(247,244,237,.55)}
.or-bg-sand .or-fine{color:var(--or-slate)}
.or-accent{color:var(--or-ochre)}
.or-stack>*+*{margin-top:var(--or-s3)}
.or-mt4{margin-top:var(--or-s4)}

/* --------------------------------------------------------------- buttons */
.or-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:.95rem 1.7rem;
  font-family:inherit;font-size:var(--or-t-body-s);font-weight:500;letter-spacing:.005em;
  border-radius:2px;border:1px solid transparent;cursor:pointer;text-decoration:none;
  text-align:center;
  transition:background .34s var(--or-ease),color .34s var(--or-ease),
             border-color .34s var(--or-ease),transform .34s var(--or-ease),
             box-shadow .34s var(--or-ease);
}
.or-btn--primary{background:var(--or-charcoal);color:var(--or-bone);border-color:var(--or-charcoal)}
.or-btn--primary:hover{background:var(--or-ink);transform:translateY(-1px);box-shadow:var(--or-lift-sm)}
.or-btn--light{background:var(--or-bone);color:var(--or-ink);border-color:var(--or-bone)}
.or-btn--light:hover{background:#fff;transform:translateY(-1px)}
.or-btn--ghost{background:transparent;color:var(--or-charcoal);border-color:rgba(28,28,26,.3)}
.or-btn--ghost:hover{border-color:var(--or-charcoal)}
.or-btn--sm{min-height:44px;padding:.6rem 1.15rem}
.or-btn--block{width:100%}
.or-btn[disabled],.or-btn[aria-disabled=true]{cursor:default}

/* quiet text link with a drawn underline */
.or-tlink{
  display:inline-flex;align-items:center;gap:.45em;
  font-size:var(--or-t-body-s);font-weight:500;text-decoration:none;color:var(--or-charcoal);
  padding-block:.15em;position:relative;
}
.or-tlink::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
  transform-origin:left;opacity:.28;
  transition:opacity .34s var(--or-ease);
}
.or-tlink:hover::after{opacity:1}
.or-tlink svg{transition:transform .34s var(--or-ease)}
.or-tlink:hover svg{transform:translateX(3px)}
.or-tlink--down:hover svg{transform:translate(0,3px)}
.or-bg-dark .or-tlink{color:var(--or-bone)}
@media (max-width:899px){
  .or-tlink{padding-block:.78em}
  .or-tlink::after{bottom:.7em}
}

/* ============================================ 1. HERO — luminous morning */
/* Fallback ladder option 3: cinematic morning atmosphere, no visible product.
   No truthful production-intent product visualisation exists yet, so the hero
   deliberately carries no eyewear. The photographic light band across the
   upper wall is the origin of the page-wide signature. */
.or-hero{position:relative;background:var(--or-bone);overflow:clip}
.or-hero__media{position:relative;margin:0;background:var(--or-sand)}
.or-hero__media img{
  width:100%;height:clamp(300px,44vh,420px);object-fit:cover;object-position:52% 42%;
}
/* warm scrim: on mobile it only softens the base of the image */
.or-hero__scrim{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(247,244,237,0) 52%,rgba(247,244,237,.55) 84%,var(--or-bone) 100%);
}
.or-hero__in{
  position:relative;z-index:2;
  padding-block:clamp(1.75rem,4.5vh,2.75rem) clamp(2.25rem,5vh,3.25rem);
}
.or-hero h1{font-size:var(--or-t-h1);letter-spacing:-.042em;max-width:15ch}
.or-hero__sub{
  font-size:var(--or-t-lead);font-weight:500;letter-spacing:-.024em;line-height:1.32;
  /* the h1 sets very tight, so it needs a real gap here to stop the three
     text blocks reading as one mass */
  margin-top:clamp(1.5rem,3.2vh,2.25rem);max-width:27ch;color:var(--or-charcoal);
}
.or-hero__body{
  margin-top:clamp(1rem,2vh,1.4rem);max-width:40ch;
  color:var(--or-slate);font-size:var(--or-t-body-s);
}
.or-hero__cta{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--or-s3) var(--or-s4);
  margin-top:clamp(var(--or-s4),4.5vh,var(--or-s5));
}
.or-hero__meta{
  margin-top:var(--or-s5);padding-top:var(--or-s3);
  border-top:1px solid var(--or-rule);
  display:grid;gap:var(--or-s3);
}
.or-hero__meta div{display:grid;gap:.2em}
.or-hero__meta dt{
  font-size:var(--or-t-eyebrow);font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--or-slate);
}
.or-hero__meta dd{margin:0;font-size:var(--or-t-body-s);font-weight:500;letter-spacing:-.015em}
.or-hero__status{
  display:inline-flex;align-items:baseline;gap:.6em;
  font-size:var(--or-t-body-s);color:var(--or-slate);
}
.or-hero__status i{
  width:6px;height:6px;border-radius:50%;background:var(--or-sunrise);flex:none;
  transform:translateY(-1px);box-shadow:0 0 0 4px rgba(232,155,77,.18);
}
@media (min-width:600px){
  .or-hero__meta{grid-template-columns:repeat(3,auto);gap:var(--or-s5);justify-content:start}
}
/* desktop: one full-bleed frame, type set into the light on the left */
@media (min-width:960px){
  .or-hero{display:grid;min-height:100svh;align-items:stretch}
  .or-hero__media{position:absolute;inset:0;margin:0}
  .or-hero__media img{height:100%;object-position:58% 44%}
  .or-hero__scrim{
    /* The type block runs to ~62% of the frame, so the scrim must still be
       carrying weight there — it only reaches zero past 84%. */
    background:
      linear-gradient(90deg,rgba(247,244,237,.975) 0%,rgba(247,244,237,.955) 34%,
                      rgba(247,244,237,.86) 52%,rgba(247,244,237,.42) 68%,
                      rgba(247,244,237,0) 84%),
      linear-gradient(180deg,rgba(247,244,237,.5) 0%,rgba(247,244,237,0) 26%);
  }
  .or-hero__in{
    align-self:center;
    padding-block:calc(var(--or-nav-h) + var(--or-s6)) var(--or-s7);
    max-width:calc(var(--or-maxw) * .62);
  }
}

/* ================================== 2. RECOGNITION — full-bleed dark image */
.or-bleed{
  position:relative;display:grid;align-items:end;overflow:clip;
  min-height:clamp(520px,84svh,820px);
  padding-block:var(--or-s7) var(--or-sec-y);
}
.or-bleed__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.or-bleed__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(20,18,15,.52) 0%,rgba(20,18,15,.20) 32%,rgba(20,18,15,.88) 100%),
    linear-gradient(90deg,rgba(20,18,15,.58),rgba(20,18,15,0) 74%);
}
/* the signature band, here reading as the first light on the horizon */
.or-bleed__band{
  position:absolute;left:0;right:0;top:16%;height:26%;pointer-events:none;
  background:linear-gradient(180deg,rgba(232,155,77,0),rgba(232,155,77,.16) 48%,rgba(232,155,77,0));
}
.or-bleed__in{position:relative;z-index:1}
.or-bleed h2{font-size:var(--or-t-huge);letter-spacing:-.04em;max-width:17ch}
.or-bleed .or-lead{margin-top:var(--or-s3);color:rgba(247,244,237,.80);max-width:30ch}
.or-bleed__note{
  margin-top:clamp(var(--or-s5),7vh,var(--or-s7));
  padding-top:var(--or-s4);border-top:1px solid var(--or-rule-dark);
  max-width:56ch;display:grid;gap:var(--or-s2);
}
.or-bleed__note p{color:rgba(247,244,237,.80);font-size:var(--or-t-body-s)}
.or-bleed__note .or-fine{color:rgba(247,244,237,.52);font-size:.78rem}
.or-bleed__note a{color:var(--or-sand);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}
.or-bleed__note a:hover{color:var(--or-sunrise)}

/* =========================================== 3. ROUTINE — image + timeline */
.or-figwide{
  margin:clamp(var(--or-s5),7vh,var(--or-s7)) auto 0;
  padding-inline:var(--or-gutter);
  max-width:calc(var(--or-maxw) + var(--or-gutter) * 2);
}
.or-figwide img{width:100%;border-radius:2px;box-shadow:var(--or-lift)}
.or-figwide figcaption{margin-top:var(--or-s2);font-size:.78rem;color:var(--or-taupe)}

/* a timeline drawn as one line, not a table of cards */
.or-tline{list-style:none;margin:clamp(var(--or-s5),6vh,var(--or-s6)) 0 0;padding:0;display:grid;gap:0}
.or-tline li{
  display:flex;align-items:baseline;gap:var(--or-s3);
  padding-block:.85rem;border-bottom:1px solid var(--or-rule);
}
.or-tline li:first-child{border-top:1px solid var(--or-rule)}
.or-tline b{
  font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--or-t-body-s);
  letter-spacing:-.01em;color:var(--or-ochre);flex:none;min-width:4.2em;
}
.or-tline span{color:var(--or-slate);font-size:var(--or-t-body-s)}
@media (min-width:760px){
  .or-tline{grid-template-columns:repeat(var(--or-tline-n,4),1fr);position:relative;padding-top:var(--or-s5)}
  .or-tline::before{
    content:"";position:absolute;left:0;right:0;top:calc(var(--or-s5) - 1px);height:1px;
    background:linear-gradient(90deg,var(--or-sunrise),rgba(232,155,77,.18));
  }
  .or-tline li{display:block;padding:var(--or-s3) var(--or-s3) 0 0;border:0;position:relative}
  .or-tline li::before{
    content:"";position:absolute;left:0;top:calc(var(--or-s3) * -1 - 4px);
    width:1px;height:9px;background:var(--or-taupe);
  }
  .or-tline li:first-child{border-top:0}
  .or-tline b{display:block;margin-bottom:.35em;font-size:var(--or-t-h4)}
  .or-tline span{display:block}
}

/* ======================================================== 4. STATEMENT */
.or-stmt__q{
  font-size:var(--or-t-huge);font-weight:600;letter-spacing:-.042em;line-height:1.06;
  text-wrap:balance;
}
.or-stmt__q em{font-style:normal;color:var(--or-ochre)}
.or-stmt__a{
  margin-top:var(--or-s5);max-width:52ch;color:var(--or-slate);
  padding-top:var(--or-s4);border-top:1px solid var(--or-rule);
}
@media (min-width:860px){.or-stmt__a{margin-left:auto;margin-right:0}}

/* ========================================================= 5. PRODUCT */
/* Product information stays text-led; hardware imagery is consolidated in
   the engineering chapter. */
.or-prod{max-width:52rem}
.or-feat{list-style:none;margin:0;padding:0;display:grid;gap:var(--or-s4)}
.or-feat li{font-size:var(--or-t-body);color:var(--or-slate);padding-left:var(--or-s3);border-left:1px solid var(--or-rule)}
.or-feat li b{
  display:block;font-weight:600;font-size:var(--or-t-h4);letter-spacing:-.024em;
  color:var(--or-charcoal);margin-bottom:.3em;
}
/* quiet spec row — a single hairline, no cell grid */
.or-specs{
  margin:clamp(var(--or-s5),6vh,var(--or-s6)) 0 0;padding-top:var(--or-s3);
  border-top:1px solid var(--or-rule);
  display:flex;flex-wrap:wrap;gap:var(--or-s3) clamp(var(--or-s4),4vw,var(--or-s7));
}
.or-specs div{display:grid;gap:.25em}
.or-specs dt{
  font-size:var(--or-t-eyebrow);font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--or-taupe);
}
.or-specs dd{margin:0;font-size:var(--or-t-body-s);font-weight:500;letter-spacing:-.015em;max-width:22ch}

/* ============================================= 6. SCIENCE — one sequence */
.or-seq{margin-top:clamp(var(--or-s5),7vh,var(--or-s7))}
.or-seq__svg{width:100%;height:auto;max-width:900px;display:block;margin-inline:auto}
.or-seq__cap{list-style:none;counter-reset:orseq;margin:var(--or-s4) 0 0;padding:0;display:grid;gap:var(--or-s4)}
.or-seq__cap li{counter-increment:orseq;display:grid;gap:.35em}
.or-seq__cap li b{font-size:var(--or-t-h4);font-weight:600;letter-spacing:-.024em;color:var(--or-bone)}
.or-seq__cap li b::before{
  content:counter(orseq,decimal-leading-zero);
  display:block;margin-bottom:.5em;font-size:var(--or-t-eyebrow);font-weight:500;
  letter-spacing:.14em;color:var(--or-sunrise);
}
.or-seq__cap li span{font-size:var(--or-t-body-s);color:rgba(247,244,237,.7);max-width:36ch}
@media (min-width:820px){
  .or-seq__cap{grid-template-columns:repeat(3,1fr);gap:clamp(var(--or-s4),3vw,var(--or-s6));margin-top:var(--or-s5)}
}

/* disclaimer — present, deliberately quiet */
.or-disc{
  margin-top:var(--or-s5);padding-top:var(--or-s3);border-top:1px solid var(--or-rule-dark);
  font-size:.78rem;line-height:1.55;color:rgba(247,244,237,.48);max-width:64ch;
}
.or-bg-bone .or-disc,.or-bg-cream .or-disc,.or-bg-wheat .or-disc,.or-bg-sand .or-disc{
  border-top-color:var(--or-rule);color:var(--or-taupe);
}
.or-disc a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}

/* ================================================= 7. ENGINEERING PROOF */
/* Hard cap: three engineering assets on the homepage. One overall build,
   one optical-testing frame, one electronics/temple detail. No video. */
.or-evt{
  margin-top:clamp(var(--or-s5),7vh,var(--or-s7));
  display:grid;gap:var(--or-s3);
  padding-inline:var(--or-gutter);
  max-width:calc(var(--or-maxw) + var(--or-gutter) * 2);margin-inline:auto;
}
.or-evt figure{margin:0}
.or-evt img{width:100%;border-radius:2px;box-shadow:var(--or-lift-sm)}
.or-evt figcaption{margin-top:var(--or-s2);font-size:.78rem;line-height:1.5;color:var(--or-slate)}
@media (min-width:860px){
  .or-evt{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--or-s3),2.4vw,var(--or-s4));align-items:start}
  .or-evt__a{grid-column:1 / -1}
  .or-evt__a img{height:clamp(360px,52vh,540px);object-fit:cover;object-position:center 50%}
}

/* development status — words, not measurements */
.or-status{
  margin:clamp(var(--or-s5),6vh,var(--or-s6)) 0 0;padding-top:var(--or-s4);
  border-top:1px solid var(--or-rule);display:grid;gap:var(--or-s4);
}
.or-status div{display:grid;gap:.4em}
.or-status dt{
  font-size:var(--or-t-h4);font-weight:600;letter-spacing:-.024em;color:var(--or-charcoal);
}
.or-status dd{margin:0;font-size:var(--or-t-body-s);color:var(--or-slate);max-width:34ch}
.or-status .or-status__tag{
  font-size:var(--or-t-eyebrow);font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--or-taupe);
}
@media (min-width:820px){
  .or-status{grid-template-columns:repeat(3,1fr);gap:clamp(var(--or-s4),3vw,var(--or-s6))}
}

/* ======================================================== 8. THE OFFER */
.or-offer{display:grid;gap:clamp(var(--or-s5),5vh,var(--or-s6))}
@media (min-width:960px){
  .or-offer>div:first-child{max-width:52rem}
}
.or-incl{margin:clamp(var(--or-s4),4vh,var(--or-s5)) 0 0;padding:0;list-style:none;border-top:1px solid var(--or-rule)}
.or-incl li{
  display:flex;gap:var(--or-s2);align-items:flex-start;
  padding-block:.8rem;border-bottom:1px solid var(--or-rule);font-size:var(--or-t-body-s);
}
.or-incl li::before{
  content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--or-sunrise);margin-top:.62em;
}

/* two payment options for one $199 product — deliberately unequal */
.or-pay{display:grid;gap:var(--or-s3)}
@media (min-width:960px){
  .or-pay{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .or-pay__note,.or-pay__checkout{grid-column:1/-1}
}
.or-pay__card{
  border:1px solid var(--or-rule);border-radius:3px;background:var(--or-bone);
  padding:var(--or-s4) clamp(var(--or-s3),3vw,var(--or-s4));
}
.or-pay__card--primary{
  border-color:rgba(28,28,26,.24);background:var(--or-cream);
  box-shadow:var(--or-lift);position:relative;
}
.or-pay__card--primary::before{
  content:"";position:absolute;inset:0 0 auto;height:2px;border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--or-sunrise),rgba(232,155,77,.25));
}
.or-pay__tag{
  display:inline-block;margin-bottom:var(--or-s2);
  font-size:var(--or-t-eyebrow);font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--or-ochre);
}
.or-pay__card--alt .or-pay__tag{color:var(--or-taupe)}
.or-pay__amt{display:flex;align-items:baseline;gap:.45em;flex-wrap:wrap}
.or-pay__amt b{font-size:clamp(2.4rem,1.7rem + 3.4vw,3.6rem);font-weight:600;letter-spacing:-.05em;line-height:.95}
.or-pay__card--alt .or-pay__amt b{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.1rem)}
.or-pay__amt span{font-size:var(--or-t-body-s);font-weight:500;color:var(--or-slate)}
.or-pay__desc{margin-top:var(--or-s3);font-size:var(--or-t-body-s);color:var(--or-slate);max-width:44ch}
.or-pay__card .or-btn{margin-top:var(--or-s4)}
.or-pay__card--alt .or-btn{margin-top:var(--or-s3)}
.or-pay__terms{margin:var(--or-s3) 0 0;padding:0;list-style:none;display:grid;gap:.4em}
.or-pay__terms li{font-size:.78rem;line-height:1.5;color:var(--or-taupe);padding-left:1em;position:relative}
.or-pay__terms li::before{content:"";position:absolute;left:0;top:.66em;width:5px;height:1px;background:var(--or-taupe)}
.or-pay__note{margin-top:var(--or-s2);font-size:.78rem;line-height:1.5;color:var(--or-taupe)}
.or-pay__checkout{font-size:.78rem;line-height:1.55;color:var(--or-slate)}
.or-pay__checkout a{text-underline-offset:2px}

/* ======================================================= 9. THE FOUNDER */
.or-founder{display:grid;gap:var(--or-s4)}
.or-founder__fig{margin:0}
.or-founder__fig img{
  width:132px;height:132px;border-radius:50%;object-fit:cover;
  box-shadow:var(--or-lift-sm);
}
.or-founder .or-body+.or-body{margin-top:var(--or-s3)}
.or-founder__sig{
  margin-top:var(--or-s4);padding-top:var(--or-s3);border-top:1px solid var(--or-rule);
  font-size:var(--or-t-body-s);
}
.or-founder__sig b{display:block;font-weight:600;letter-spacing:-.015em}
.or-founder__sig span{color:var(--or-taupe)}
@media (min-width:760px){
  .or-founder{grid-template-columns:auto minmax(0,1fr);gap:clamp(var(--or-s4),4vw,var(--or-s6));align-items:start}
  .or-founder__fig img{width:156px;height:156px}
}

.or-team{display:grid;gap:var(--or-s5)}
.or-team__card{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--or-s4);align-items:start;
  padding-top:var(--or-s4);border-top:1px solid var(--or-rule)
}
.or-team__card>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.or-team__fig{margin:0}
.or-team__fig img{
  width:132px;height:132px;border-radius:50%;object-fit:cover;object-position:center;
  box-shadow:var(--or-lift-sm)
}
.or-team__card h3{font-size:var(--or-t-h4);font-weight:600;letter-spacing:-.02em}
.or-team__card h3+.or-body{margin-top:var(--or-s1)}
.or-team__link{
  margin-top:var(--or-s2);color:var(--or-ochre);font-size:var(--or-t-body-s);font-weight:500;
  line-height:1.4;text-decoration:none;border-bottom:1px solid rgba(181,116,64,.35)
}
.or-team__link:hover{border-color:currentColor}
.or-team__role{
  width:100%;margin-top:var(--or-s3);padding-top:var(--or-s3);border-top:1px solid var(--or-rule);
  color:var(--or-taupe);font-size:var(--or-t-body-s);line-height:1.5
}
@media (min-width:760px){
  .or-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--or-s5),5vw,var(--or-s7))}
  .or-team__card{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start}
  .or-team__card>div{height:100%}
  .or-team__role{margin-top:auto}
  .or-team__fig img{width:156px;height:156px}
}

/* ============================================================ 10. FAQ */
.or-faq{margin-top:clamp(var(--or-s5),6vh,var(--or-s6));border-top:1px solid var(--or-rule)}
.or-faq details{border-bottom:1px solid var(--or-rule)}
.or-faq summary{
  display:flex;align-items:flex-start;gap:var(--or-s3);
  padding-block:var(--or-s3);cursor:pointer;list-style:none;
  font-size:var(--or-t-h4);font-weight:500;letter-spacing:-.02em;line-height:1.32;
  transition:color .3s var(--or-ease);
}
.or-faq summary::-webkit-details-marker{display:none}
.or-faq summary::marker{content:""}
.or-faq summary:hover{color:var(--or-ochre)}
.or-faq summary i{flex:none;position:relative;width:12px;height:12px;margin-top:.42em;margin-left:auto}
.or-faq summary i::before,.or-faq summary i::after{
  content:"";position:absolute;inset:50% 0 auto;height:1.5px;background:currentColor;
  transform:translateY(-50%);transition:transform .34s var(--or-ease),opacity .34s var(--or-ease);
}
.or-faq summary i::after{transform:translateY(-50%) rotate(90deg)}
.or-faq details[open] summary i::after{transform:translateY(-50%) rotate(0);opacity:0}
.or-faq__a>div{padding-bottom:var(--or-s4);max-width:68ch;color:var(--or-slate);font-size:var(--or-t-body-s)}
.or-faq__a>div>*+*{margin-top:var(--or-s2)}
.or-faq__a a{color:var(--or-ochre);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}

/* ======================================================== 11. CLOSING */
.or-close{padding-block:clamp(4rem,2.4rem + 7vw,8rem)}
.or-close h2{font-size:var(--or-t-huge);letter-spacing:-.042em;max-width:20ch}
.or-close__cta{
  margin-top:clamp(var(--or-s5),6vh,var(--or-s6));
  display:flex;flex-wrap:wrap;gap:var(--or-s3) var(--or-s4);align-items:center;
}

/* ================================================== science page (dense) */
.or-scihero{padding-top:calc(var(--or-nav-h) + clamp(2.5rem,6vh,4.5rem))}
.or-scihero h1{font-size:clamp(2.1rem,1.5rem + 3.4vw,4rem);letter-spacing:-.04em;max-width:24ch}
.or-cat{display:grid;gap:0;margin-top:var(--or-s5);border-top:1px solid var(--or-rule)}
.or-cat__row{padding-block:var(--or-s4);border-bottom:1px solid var(--or-rule)}
.or-cat__tag{
  display:inline-block;margin-bottom:var(--or-s2);padding:.28em .7em;border-radius:2px;
  font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
}
.or-cat__tag--a{background:var(--or-sand);color:var(--or-ink)}
.or-cat__tag--b{background:rgba(154,140,122,.28);color:var(--or-ink)}
.or-cat__tag--c{background:rgba(232,155,77,.24);color:var(--or-ochre)}
.or-cat__h{font-size:var(--or-t-h4);font-weight:600;letter-spacing:-.022em;margin-bottom:var(--or-s2);max-width:26ch}
.or-cat__p{font-size:var(--or-t-body-s);color:var(--or-slate);max-width:40ch}
@media (min-width:820px){
  .or-cat{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--or-rule)}
  .or-cat__row{border-bottom:0;padding:var(--or-s5) var(--or-s4)}
  .or-cat__row:first-child{padding-left:0}
  .or-cat__row+.or-cat__row{border-left:1px solid var(--or-rule)}
}
.or-expl{display:grid;gap:0;border-top:1px solid var(--or-rule);margin-top:var(--or-s5)}
.or-expl__item{padding-block:var(--or-s5);border-bottom:1px solid var(--or-rule);display:grid;gap:var(--or-s3)}
.or-expl__k{font-size:var(--or-t-h3);font-weight:600;letter-spacing:-.028em;max-width:20ch}
.or-expl__v{display:grid;gap:var(--or-s3)}
.or-expl__v p{color:var(--or-slate);max-width:64ch}
.or-expl__v .or-fine{max-width:64ch}
@media (min-width:900px){
  .or-expl__item{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--or-s6)}
}
.or-cite{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}
.or-cite li{font-size:.82rem;line-height:1.5;color:var(--or-taupe);padding-left:1.1em;position:relative}
.or-cite li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:1px;background:var(--or-taupe)}
.or-cite a{color:var(--or-ochre);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}
.or-tblwrap{
  margin-top:var(--or-s4);overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--or-rule);border-radius:3px;
}
.or-ledger{width:100%;min-width:820px;border-collapse:collapse;font-size:.82rem}
.or-ledger th,.or-ledger td{padding:.8rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--or-rule)}
.or-ledger th{
  font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--or-taupe);background:var(--or-bone);position:sticky;top:0;
}
.or-ledger tr:last-child td{border-bottom:0}
.or-ledger a{color:var(--or-ochre);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}
.or-ledger td:first-child{max-width:34ch}
.or-tblhint{margin-top:var(--or-s2);font-size:.76rem;color:var(--or-taupe)}
@media (min-width:900px){.or-tblhint{display:none}}

/* ---------------------------------------------------------------- reveals */
.or-rv{opacity:0;transform:translateY(14px);transition:opacity .8s var(--or-ease),transform .8s var(--or-ease)}
.or-rv.is-in{opacity:1;transform:none}
.or-rv-d1{transition-delay:.07s}.or-rv-d2{transition-delay:.14s}.or-rv-d3{transition-delay:.21s}
@media (prefers-reduced-motion:reduce){
  .or-rv{opacity:1;transform:none;transition:none}
  .or-btn,.or-tlink::after,.or-tlink svg,
  .or-faq summary i::before,.or-faq summary i::after{transition:none}
}
.or-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* Touch targets for fine-print citation links (WCAG 2.5.8) */
@media (max-width:899px){
  .or-disc a,.or-cite a,.or-bleed__note a{display:inline-block;padding-block:1.15em}
}

/* ======================================================== SITE CHROME */
.or-skip{
  position:absolute;left:var(--or-gutter);top:-60px;z-index:99;
  background:var(--or-charcoal);color:var(--or-bone);padding:.7rem 1.1rem;
  border-radius:2px;font-size:.85rem;text-decoration:none;transition:top .2s;
}
.or-skip:focus{top:.6rem}
.or-hdr{
  position:fixed;inset:0 0 auto;z-index:70;
  background:rgba(247,244,237,.86);backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid transparent;
  transition:background .4s var(--or-ease),border-color .4s var(--or-ease);
}
.or-hdr.is-stuck{background:rgba(247,244,237,.94);border-bottom-color:var(--or-rule)}
.or-hdr__in{display:flex;align-items:center;gap:var(--or-s3);min-height:var(--or-nav-h)}
.or-hdr__logo{flex:none;display:flex;align-items:center;min-height:44px;line-height:0}
.or-hdr__logo img{width:104px;display:block}
.or-hdr__nav{display:none;margin-inline:auto;gap:var(--or-s4)}
.or-hdr__nav a{
  font-size:var(--or-t-body-s);font-weight:500;text-decoration:none;color:var(--or-slate);
  position:relative;padding-block:.2em;transition:color .3s var(--or-ease);
}
.or-hdr__nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform .34s var(--or-ease);
}
.or-hdr__nav a:hover{color:var(--or-charcoal)}
.or-hdr__nav a:hover::after{transform:scaleX(1)}
.or-hdr__cta{margin-left:auto;display:flex;align-items:center;gap:var(--or-s2)}
/* below the nav breakpoint the CTA lives inside the drawer, not the bar — left
   in the bar it wraps to two lines and crowds the wordmark */
.or-hdr__cta>.or-btn{display:none}
.or-hdr__burger{
  margin-left:var(--or-s1);width:44px;height:44px;
  /* flex, not grid: a 3-row grid in a 44px box spreads the bars ~15px apart,
     so the close-state transforms never converge into an × */
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  margin-right:-10px;background:none;border:0;cursor:pointer;color:var(--or-charcoal);
}
.or-hdr__burger span{
  display:block;width:19px;height:1.5px;background:currentColor;
  transition:transform .3s var(--or-ease),opacity .3s var(--or-ease);
}
.or-hdr__burger span+span{margin-top:5px}
.or-hdr__burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.or-hdr__burger[aria-expanded=true] span:nth-child(2){opacity:0}
.or-hdr__burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (min-width:1100px){
  .or-hdr__nav{display:flex}
  .or-hdr__burger{display:none}
  .or-hdr__cta>.or-btn{display:inline-flex}
}
.or-mnav{
  position:fixed;inset:var(--or-nav-h) 0 auto;z-index:69;background:var(--or-bone);
  border-bottom:1px solid var(--or-rule);
  display:grid;gap:var(--or-s1);padding:var(--or-s3) var(--or-gutter) var(--or-s4);
  transform:translateY(-8px);opacity:0;visibility:hidden;
  transition:opacity .3s var(--or-ease),transform .3s var(--or-ease),visibility .3s;
}
.or-mnav.is-open{transform:none;opacity:1;visibility:visible}
.or-mnav a{
  font-size:1.16rem;font-weight:500;letter-spacing:-.02em;text-decoration:none;
  padding-block:.72rem;border-bottom:1px solid var(--or-rule);
}
.or-mnav a:last-of-type{border-bottom:0}
.or-mnav .or-btn{margin-top:var(--or-s2)}
@media (min-width:1100px){.or-mnav{display:none}}
.or-ftr{
  background:var(--or-ink);color:rgba(247,244,237,.66);
  padding-block:var(--or-s6) var(--or-s4);border-top:1px solid var(--or-rule-dark);
}
.or-ftr__top{display:grid;gap:var(--or-s5)}
.or-ftr__brand img{width:150px;margin-bottom:var(--or-s3)}
.or-ftr__brand p{font-size:var(--or-t-body-s);color:rgba(247,244,237,.6);max-width:30ch}
.or-ftr__cols{display:grid;gap:var(--or-s4)}
.or-ftr__cols>div{display:grid;gap:.55rem;align-content:start}
.or-ftr h3{
  font-size:var(--or-t-eyebrow);font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--or-sand);margin-bottom:var(--or-s1);
}
.or-ftr a{
  font-size:var(--or-t-body-s);text-decoration:none;color:rgba(247,244,237,.66);
  transition:color .3s var(--or-ease);
}
.or-ftr a:hover{color:var(--or-bone)}
.or-ftr__disc{
  margin-top:var(--or-s6);padding-top:var(--or-s3);border-top:1px solid var(--or-rule-dark);
  font-size:.78rem;line-height:1.55;color:rgba(247,244,237,.46);max-width:88ch;
}
.or-ftr__disc a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.or-ftr__bot{margin-top:var(--or-s4);display:grid;gap:var(--or-s2);font-size:.78rem;color:rgba(247,244,237,.46)}
@media (max-width:899px){.or-ftr__disc a{display:inline-block;padding-block:1.15em}}
@media (min-width:760px){.or-ftr__cols{grid-template-columns:repeat(3,1fr)}}
@media (min-width:960px){
  .or-ftr__top{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--or-s7)}
  .or-ftr__bot{grid-template-columns:1fr auto;align-items:center}
}

/* ======================================================= EMAIL SIGNUP */
.or-updates{display:grid;gap:var(--or-s5);align-items:end}
.or-signup{position:relative;max-width:42rem}
.or-signup>label{display:block;margin-bottom:.55rem;font-size:var(--or-t-body-s);font-weight:600}
.or-signup__row{display:grid;gap:var(--or-s2)}
.or-signup input[type=email]{
  min-height:52px;width:100%;border:1px solid rgba(28,28,26,.28);border-radius:2px;
  background:var(--or-bone);color:var(--or-charcoal);padding:.85rem 1rem;font:inherit;
}
.or-signup input[type=email]::placeholder{color:var(--or-taupe)}
.or-signup input[type=email]:focus{border-color:var(--or-charcoal);outline:2px solid var(--or-sunrise);outline-offset:2px}
.or-signup>p{margin-top:var(--or-s2);font-size:.78rem;color:var(--or-slate)}
.or-signup>p a{text-underline-offset:2px}
.or-socials{margin-top:var(--or-s3)}
.or-socials__label{
  margin-bottom:.65rem;color:var(--or-slate);font-size:var(--or-t-eyebrow);font-weight:600;
  letter-spacing:.12em;text-transform:uppercase
}
.or-socials__grid{display:grid;gap:.7rem}
.or-social-card{
  min-width:0;min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:.8rem;padding:.72rem .85rem;background:rgba(247,244,237,.78);
  color:var(--or-charcoal);border:1px solid rgba(28,28,26,.16);border-radius:3px;
  text-decoration:none;transition:border-color .28s var(--or-ease),background .28s var(--or-ease),
  transform .28s var(--or-ease),box-shadow .28s var(--or-ease)
}
.or-social-card:hover{
  background:var(--or-bone);border-color:rgba(28,28,26,.42);transform:translateY(-1px);
  box-shadow:var(--or-lift-sm)
}
.or-social-card__icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;
  box-shadow:0 8px 18px -12px rgba(28,28,26,.5)
}
.or-social-card__icon svg{width:23px;height:23px}
.or-social-card__icon--instagram{background:linear-gradient(145deg,#F9CE34 0%,#EE2A7B 47%,#6228D7 100%)}
.or-social-card__icon--tiktok{background:#111;color:#fff}
.or-social-card__copy{min-width:0;display:grid;line-height:1.2}
.or-social-card__copy strong{font-size:var(--or-t-body-s);font-weight:600}
.or-social-card__copy small{margin-top:.22rem;color:var(--or-slate);font-size:.76rem;letter-spacing:.01em}
.or-social-card__arrow{color:var(--or-taupe);font-size:1rem}
@media (min-width:520px){.or-socials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.or-honeypot{position:absolute!important;left:-5000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (min-width:620px){
  .or-updates{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--or-s6)}
  .or-signup__row{grid-template-columns:minmax(0,1fr) auto}
}

/* ==================================================== LEGAL + CONFIRMATION */
.or-legal{padding-block:calc(var(--or-nav-h) + var(--or-s6)) var(--or-s7);background:var(--or-bone);min-height:100vh}
.or-legal h1,.or-thank h1{font-size:var(--or-t-h1)}
.or-legal__updated{margin-top:var(--or-s2);font-size:var(--or-t-body-s);color:var(--or-taupe)}
.or-legal .or-lead{margin-top:var(--or-s4);max-width:58ch}
.or-legal h2{font-size:var(--or-t-h3);margin-top:var(--or-s5);padding-top:var(--or-s3);border-top:1px solid var(--or-rule)}
.or-legal h2+p,.or-legal p+p,.or-legal h2+ul{margin-top:var(--or-s3)}
.or-legal p,.or-legal li{color:var(--or-slate)}
.or-legal ul{padding-left:1.25rem;display:grid;gap:.65rem}
.or-legal a{text-underline-offset:2px}
.or-legal__note{margin-top:var(--or-s6)!important;padding:var(--or-s3);background:var(--or-cream);border-left:2px solid var(--or-sunrise);font-size:var(--or-t-body-s)}

.or-thank{min-height:100vh;display:grid;place-items:center;padding:calc(var(--or-nav-h) + var(--or-s5)) var(--or-gutter) var(--or-s5);background:
  linear-gradient(180deg,rgba(232,155,77,.13),transparent 38%),var(--or-bone)}
.or-thank__card{width:min(100%,48rem);background:var(--or-cream);border:1px solid var(--or-rule);border-top:2px solid var(--or-sunrise);box-shadow:var(--or-lift);padding:clamp(var(--or-s4),6vw,var(--or-s6))}
.or-thank__card>.or-lead{margin-top:var(--or-s3)}
.or-thank__card>p:not(.or-eyebrow):not(.or-lead):not(.or-founder__sig){margin-top:var(--or-s3);color:var(--or-slate)}
.or-thank__next{margin-top:var(--or-s5);padding-top:var(--or-s4);border-top:1px solid var(--or-rule)}
.or-thank__next h2{font-size:var(--or-t-h3)}
.or-thank__next ul{margin:var(--or-s3) 0 0;padding-left:1.25rem;display:grid;gap:var(--or-s2);color:var(--or-slate)}
.or-thank__actions{margin-top:var(--or-s5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--or-s3)}
