/* Sol Food · solfood.life · pre-launch
   Hand-written, mobile-first. The visual system mirrors the print brand code
   (Digital Assets/Print/_brand/brand.py) shared by the jar label, info banner and canopy set:
   dark brown radial ground, flower-of-life lattice at 17%, double gold rule, diamond rule,
   Cinzel caps, Cormorant Garamond, Source Sans 3. */

@font-face{font-family:"Cormorant Garamond";src:url(../fonts/CormorantGaramond.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/CormorantGaramond-Italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:Cinzel;src:url(../fonts/Cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/SourceSans3.woff2) format("woff2");font-weight:200 900;font-display:swap}

:root{
  /* print brand colors (brand.py) */
  --bg0:#3d2311;          /* radial ground, center */
  --bg1:#27150a;          /* radial ground, mid */
  --bg2:#170b04;          /* radial ground, edge */
  --gold:#d9a521;         /* logo, SEA MOSS, thick rule */
  --gold-thin:#8a6918;    /* thin inner rule (decorative only: 3.4:1 on ground) */
  --gold-lt:#e3c077;      /* secondary type */
  --gold-md:#d9b871;      /* italic lines, web + social */
  --fol:#e2b23a;          /* flower of life (drawn at 17%) */
  --cream:#f3e8cc;        /* Supplement Facts card */
  --ink:#000;             /* type on the facts card (100K on the label) */

  /* web roles built from the print colors */
  --text:var(--cream);            /* body text on the ground: 14:1 */
  --text-soft:var(--gold-lt);     /* secondary text: 10:1 */
  --line:rgba(217,165,33,.32);
  --ph-bg:rgba(217,165,33,.14);
  --ground:radial-gradient(120% 90% at 50% 38%,var(--bg0) 0%,var(--bg1) 55%,var(--bg2) 100%);
  --lattice:url(../img/fol-lattice.svg);
  --tile:clamp(24px,2.3vw,34px);
  --ground-deep:radial-gradient(120% 80% at 50% 0%,var(--bg1) 0%,var(--bg2) 70%);

  /* type */
  --f-serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --f-caps:Cinzel,"Trajan Pro",Georgia,serif;
  --f-sans:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* rhythm */
  --wrap:min(1200px,100% - 2.5rem);
  --sec:clamp(4.5rem,10vw,8.5rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem;background:var(--bg2)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg2);color:var(--text);font-family:var(--f-serif);font-weight:500;font-size:1.1875rem;line-height:1.6;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
@media (min-width:960px){body{font-size:1.3rem}}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3{margin:0;font-weight:500;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(2.4rem,6.6vw,4.4rem);color:var(--text)}
h2 em,h1 em{font-style:italic;font-weight:500;color:var(--gold)}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--gold-lt);outline-offset:3px}
.facts-card :focus-visible{outline-color:var(--ink)}

.wrap{width:var(--wrap);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sr-defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--gold);color:var(--bg2);padding:.6rem 1rem;font-family:var(--f-caps);font-size:.8rem;letter-spacing:.12em;text-decoration:none}
.skip:focus{top:1rem}

/* placeholders: deliberately visible until the owner supplies the content */
mark.ph{background:var(--ph-bg);color:inherit;border:1px dashed currentColor;border-radius:3px;padding:.05em .45em;font-style:italic;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- brand primitives ---------- */

/* Dark ground + flower-of-life lattice (every section, as on every print piece) */
.hero,.proof,.scalar,.ritual,.sdf,.label-sec,.iodine,.founder,.community,.circle,.faq,.site-footer{
  position:relative;background:var(--lattice) center top/var(--tile) auto repeat,var(--ground);background-color:var(--bg1)}

/* rhythm: alternate the glowing ground with a deeper one */
.ritual,.sdf,.iodine,.faq{background:var(--lattice) center top/var(--tile) auto repeat,var(--ground-deep)}

/* Double gold rule (thick gold over thin darker gold) as section trim */
.scalar::before,.ritual::before,.sdf::before,.label-sec::before,.iodine::before,.founder::before,.community::before,.circle::before,.faq::before,.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:7px;pointer-events:none;
  background:linear-gradient(var(--gold),var(--gold)) 0 0/100% 3px no-repeat,linear-gradient(var(--gold-thin),var(--gold-thin)) 0 6px/100% 1px no-repeat}

/* Double gold frame, for cards (the banner's frame) */
.frame{position:relative;border:2px solid var(--gold);box-shadow:inset 0 0 0 4px var(--bg2),inset 0 0 0 5px var(--gold-thin)}

/* Diamond rule: thin gold line with a center diamond (the logo's finial) */
.drule{display:block;position:relative;width:min(19rem,78%);height:14px;margin:1.4rem auto;
  background:linear-gradient(90deg,var(--gold) 0 calc(50% - 13px),transparent calc(50% - 13px) calc(50% + 13px),var(--gold) calc(50% + 13px)) center/100% 1px no-repeat}
.drule::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:13px;translate:-50% -50%;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}

.eyebrow{font-family:var(--f-caps);font-size:.8rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 1.2rem}
.eyebrow-dark{color:var(--gold)}
.card-label{font-family:var(--f-caps);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:0 0 .8rem;color:var(--gold)}
.section-head{max-width:46rem;margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head .drule{margin:1.5rem auto 0}
.section-sub{color:var(--text-soft);margin:1.4rem auto 0;max-width:38rem}

/* buttons: square-cut, like the print trim */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.8rem 1.6rem;border-radius:2px;border:1px solid transparent;font-family:var(--f-caps);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .3s var(--ease),background-color .3s,box-shadow .3s,color .3s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:linear-gradient(180deg,#e9c25a 0%,var(--gold) 55%,#b9861a 100%);color:var(--bg2);box-shadow:0 1px 0 rgba(255,240,200,.55) inset,0 10px 30px -14px rgba(217,165,33,.7)}
.btn-gold:hover{box-shadow:0 1px 0 rgba(255,240,200,.55) inset,0 14px 34px -12px rgba(217,165,33,.85)}
.btn-ghost{border-color:var(--gold);color:var(--gold-lt);background:transparent}
.btn-ghost:hover{background:rgba(217,165,33,.12)}
.btn-dark{background:var(--gold);color:var(--bg2)}
.btn-dark:hover{background:var(--gold-lt)}

/* ---------- announce + header ---------- */
.announce{background:var(--gold);color:var(--bg2);text-align:center;font-family:var(--f-sans);font-size:.85rem;font-weight:600;padding:.45rem .75rem}
@media (min-width:600px){.announce{font-size:.95rem}}
.announce p{margin:0}
.announce a{font-weight:700}
.site-header{position:sticky;top:0;z-index:40;background:rgba(23,11,4,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--gold-thin)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.25rem}
.brand img{width:auto;height:3rem}
.nav{display:none}
.header-cta{min-height:2.6rem;padding:.5rem 1.1rem;font-size:.7rem}
@media (min-width:960px){
  .nav{display:block}
  .nav ul{display:flex;gap:2rem}
  .nav a{font-family:var(--f-caps);font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold-lt);transition:color .2s}
  .nav a:hover{color:var(--gold)}
  .header-inner{height:4.75rem}
}

/* ---------- HERO: the banner lockup ---------- */
.hero{overflow:hidden;color:var(--text);padding:2.4rem 0 3.6rem;
  background:var(--lattice) center top/var(--tile) auto repeat,radial-gradient(70% 60% at 50% 34%,var(--bg0) 0%,var(--bg1) 55%,var(--bg2) 100%)}
/* the banner's double gold frame, inset in the hero */
.hero::after{content:"";position:absolute;inset:.75rem;border:2px solid var(--gold);box-shadow:inset 0 0 0 5px transparent,inset 0 0 0 6px var(--gold-thin);pointer-events:none}
.hero-grid{position:relative;display:grid;gap:1.4rem}
.hero-copy{text-align:center;max-width:36rem;margin-inline:auto}

.lockup{display:flex;flex-direction:column;align-items:center;margin-bottom:2.2rem}
.lockup-logo img{width:9.5rem;height:auto}
.lockup-wellness{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,9vw,2.6rem);line-height:1;letter-spacing:.16em;padding-left:.16em;color:var(--gold);margin:1.4rem 0 1rem}
.lockup-tagline{font-family:var(--f-caps);font-weight:700;font-size:clamp(1rem,4.2vw,1.2rem);line-height:1.4;letter-spacing:.02em;color:var(--gold-lt);margin:0}
.lockup .drule{margin:1.3rem auto}
.lockup-links{display:flex;flex-direction:column;gap:.3rem}
.lockup-links a{font-family:var(--f-caps);font-weight:600;font-size:.86rem;letter-spacing:.08em;text-decoration:none;color:var(--gold-md)}
.lockup-links a:hover{color:var(--gold-lt);text-decoration:underline}

.hero .eyebrow{margin-bottom:1rem}
.hero h1{font-size:clamp(2.3rem,9vw,3.6rem);font-weight:500;line-height:1.02;letter-spacing:-.01em;margin-bottom:1.2rem;color:var(--text)}
.hero h1 em{display:block;color:var(--gold)}
.lede{color:var(--text-soft);font-size:1.08em;line-height:1.5;margin-bottom:1.8rem}

.hero-figure{position:relative;margin:0 auto;width:min(92%,30rem);aspect-ratio:1/1;display:grid;place-items:center}
.fol{position:absolute;inset:-4%;width:108%;max-width:none;height:108%;color:var(--gold);opacity:.5}
.fol circle{stroke-dasharray:1;stroke-dashoffset:0}
.hero-glow{position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle,rgba(233,190,90,.34),rgba(217,165,33,0) 68%);filter:blur(10px)}
.hero-jar{position:relative;width:58%}
.hero-jar img{width:100%;filter:drop-shadow(0 30px 34px rgba(0,0,0,.6))}
.hero-jar::after{content:"";position:absolute;left:6%;right:6%;bottom:-3%;height:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.65),rgba(0,0,0,0));z-index:-1}

@media (min-width:960px){
  .hero{padding:3.4rem 0 4.4rem;min-height:calc(100svh - 6.9rem);display:flex;align-items:center}
  .hero::after{inset:1.25rem}
  .hero-grid{grid-template-columns:1.08fr 1fr;align-items:center;gap:3rem}
  .hero-copy{max-width:none;margin:0}
  /* back-wall arrangement: logo | thin rule | WELLNESS block */
  .lockup{flex-direction:row;justify-content:center;gap:2.2rem;margin-bottom:2.2rem}
  .lockup-mark{padding-right:2.2rem;border-right:1px solid var(--gold-thin)}
  .lockup-logo img{width:12.5rem}
  .lockup-wellness{font-size:2.5rem;margin-top:0}
  .lockup-tagline{font-size:1.08rem}
  .hero h1{font-size:clamp(2.6rem,3.6vw,3.5rem)}
  .hero h1 em{display:inline}
  .lede{max-width:33rem;margin-inline:auto}
  .hero-figure{width:100%;max-width:36rem}
}

/* Signature motion: the flower of life draws itself, then turns very slowly. */
@media (prefers-reduced-motion:no-preference){
  .js .fol circle{stroke-dashoffset:1;animation:fol-draw 1.9s var(--ease) forwards;animation-delay:calc(var(--i) * 110ms + 250ms)}
  .js .fol-spin{transform-origin:center;transform-box:fill-box;animation:fol-spin 240s linear 3.2s infinite}
  .js .hero-jar{animation:jar-rise 1.4s var(--ease) both .15s}
  .js .hero-glow{animation:glow 1.8s ease both .4s}
}
@keyframes fol-draw{to{stroke-dashoffset:0}}
@keyframes fol-spin{to{transform:rotate(360deg)}}
@keyframes jar-rise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
@keyframes glow{from{opacity:0}to{opacity:1}}

/* ---------- waitlist form ---------- */
.waitlist{max-width:34rem;margin-inline:auto}
.field-row{display:flex;flex-direction:column;gap:.7rem}
.waitlist input[type=email],.share-row input{width:100%;min-height:3.25rem;padding:.75rem 1.2rem;border-radius:2px;border:1px solid var(--gold);background:rgba(23,11,4,.55);color:var(--text);font:400 1.05rem/1.2 var(--f-sans);transition:border-color .2s,background-color .2s}
.waitlist input::placeholder{color:#b89a5e;opacity:1}
.waitlist input:focus{border-color:var(--gold-lt);background:rgba(23,11,4,.75);outline:none;box-shadow:0 0 0 3px rgba(217,165,33,.4)}
.waitlist input[aria-invalid=true]{border-color:#f0a07a}
.micro{font-family:var(--f-sans);font-size:.92rem;color:var(--text-soft);margin:.9rem 0 0;line-height:1.5}
.form-status{margin:.6rem 0 0;font-family:var(--f-sans);font-size:.95rem;font-weight:600;min-height:1.4em;color:var(--gold-lt)}
.form-status.err{color:#ffc4a8}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.waitlist.is-busy button{opacity:.7;pointer-events:none}
@media (min-width:600px){
  .field-row{flex-direction:row;padding:.3rem;border:1px solid var(--gold);background:rgba(23,11,4,.55);box-shadow:inset 0 0 0 3px rgba(23,11,4,.55),inset 0 0 0 4px rgba(138,105,24,.7)}
  .field-row:focus-within{box-shadow:0 0 0 3px rgba(217,165,33,.4);border-color:var(--gold-lt)}
  .waitlist .field-row input[type=email]{border:0;background:transparent;min-height:3rem}
  .waitlist .field-row input[type=email]:focus{box-shadow:none}
  .field-row .btn{flex:none}
}

/* ---------- PROOF STRIP ---------- */
.proof{padding:1.5rem 0;border-top:1px solid var(--gold-thin);border-bottom:1px solid var(--gold-thin);background:var(--bg2)}
.proof-list{display:grid;gap:.7rem 1.5rem;grid-template-columns:1fr}
.proof-list li{display:flex;align-items:center;gap:.7rem;font-family:var(--f-caps);font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lt);line-height:1.4}
.proof-list svg{flex:none;width:.55rem;height:.55rem;color:var(--gold)}
.tag{display:inline-block;margin-left:.35rem;padding:.1rem .5rem;border:1px solid var(--gold-thin);font-size:.62rem;letter-spacing:.12em;color:var(--gold-md);vertical-align:.1em;white-space:nowrap}
@media (min-width:600px){.proof-list{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.proof-list{display:flex;justify-content:space-between;gap:1.2rem}.proof-list li{font-size:.68rem}}

/* ---------- SCALAR ---------- */
.scalar{overflow:hidden;color:var(--text);padding:var(--sec) 0;text-align:center}
.scalar-rings{position:absolute;left:50%;top:50%;width:min(140vw,1100px);aspect-ratio:1;translate:-50% -50%;color:var(--gold);opacity:.3;pointer-events:none}
.scalar-rings svg{width:100%;height:100%}
.scalar-rings::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(39,21,10,0) 30%,var(--bg1) 72%)}
.scalar-inner{position:relative;max-width:56rem}
.scalar h2{font-size:clamp(2.9rem,9.5vw,6.4rem);line-height:.98;margin-bottom:1.6rem}
.scalar-lede{font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--text);max-width:38rem;margin:0 auto 3rem;line-height:1.4}
.scalar-cards{display:grid;gap:1rem;text-align:left}
.scalar-card{margin:0;padding:1.7rem 1.7rem 1.5rem;background:rgba(23,11,4,.72);border:2px solid var(--gold);box-shadow:inset 0 0 0 4px rgba(23,11,4,.9),inset 0 0 0 5px var(--gold-thin)}
.scalar-card p:last-child{margin:0}
.scalar-machine{font-size:1.5rem;line-height:1.3}
.scalar-quote p:not(.card-label){font-size:1.35rem;font-style:italic;line-height:1.4}
@media (min-width:800px){.scalar-cards{grid-template-columns:1fr 1.6fr}}

/* ---------- HERITAGE / RITUAL ---------- */
.ritual{padding:var(--sec) 0}
.ritual-head{max-width:48rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.ritual-grid{display:grid;gap:2.5rem;align-items:start}
.ritual-image{margin:0;border:2px solid var(--gold);padding:5px;background:var(--bg2);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.ritual-image picture{outline:1px solid var(--gold-thin);outline-offset:-1px}
.ritual-image img{width:100%}
.shore{padding:1.6rem 0;border-top:1px solid var(--line)}
.shore:first-child{padding-top:0;border-top:0}
.shore h3{font-family:var(--f-caps);font-size:.95rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;display:flex;align-items:baseline;gap:.9rem}
.shore-num{font-family:var(--f-serif);font-style:italic;font-size:1.6rem;letter-spacing:0;text-transform:none;color:var(--gold-md)}
.shore p{margin:0;color:var(--text)}
.shore-sol p{font-size:1.12em}
.ast{color:var(--gold);text-decoration:none;font-weight:700;padding:0 .15em}
@media (min-width:960px){.ritual-grid{grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}}

/* ---------- SOURCE · DOSE · FORM ---------- */
.sdf{padding:var(--sec) 0}
.sdf h2 .dot{color:var(--gold)}
.medallions{display:grid;gap:3rem;margin-bottom:clamp(4rem,8vw,6rem)}
.medallion{text-align:center}
.medal{position:relative;width:9.5rem;aspect-ratio:1;margin:0 auto 1.6rem;display:grid;place-items:center;color:var(--gold);border-radius:50%;background:radial-gradient(circle,var(--bg0) 0%,var(--bg2) 75%);box-shadow:0 0 0 2px var(--gold),0 0 0 6px var(--bg2),0 0 0 7px var(--gold-thin),0 30px 50px -25px rgba(0,0,0,.8)}
.medal svg{position:absolute;inset:4%;width:92%;height:92%;opacity:.4}
.medal span{position:relative;font-family:var(--f-caps);font-size:1rem;font-weight:700;letter-spacing:.24em;padding-left:.24em;color:var(--gold-lt);text-shadow:0 0 12px var(--bg2),0 0 4px var(--bg2)}
.medallion dl{margin:0;max-width:20rem;margin-inline:auto}
.medallion dl div{padding:.7rem 0;border-top:1px solid var(--line)}
.medallion dt{font-family:var(--f-caps);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.medallion dd{margin:0;line-height:1.4}
@media (min-width:860px){.medallions{grid-template-columns:repeat(3,1fr);gap:2.5rem}.medal{width:12rem}.medal span{font-size:1.05rem}}

.price-card{display:grid;overflow:hidden;background:var(--bg2);color:var(--text);border:2px solid var(--gold);box-shadow:inset 0 0 0 5px var(--bg2),inset 0 0 0 6px var(--gold-thin),0 50px 90px -50px rgba(0,0,0,.9)}
.price-image{padding:6px 6px 0}
.price-image img{width:100%;height:100%;object-fit:cover}
.price-body{padding:2.2rem 1.6rem 2.4rem;position:relative}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem 1rem;margin:0 0 1.2rem}
.price-num{font-size:clamp(4.5rem,12vw,6.5rem);line-height:.9;font-weight:500;color:var(--gold)}
.price-label{font-family:var(--f-caps);font-size:.8rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt)}
.price-math{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.price-math li{border:1px solid var(--gold-thin);padding:.3rem .95rem;font-family:var(--f-sans);font-size:.95rem;color:var(--gold-lt)}
.price-math strong{color:var(--cream);font-weight:700}
.price-note{color:var(--text-soft);margin-bottom:1.6rem}
@media (min-width:900px){.price-card{grid-template-columns:1.25fr 1fr}.price-image{padding:6px 0 6px 6px}.price-body{padding:3.5rem 3rem;align-self:center}}

/* ---------- THE LABEL ---------- */
.label-sec{padding:var(--sec) 0}
.label-art{margin:0 0 clamp(3rem,6vw,4.5rem)}
.label-strip{display:flex;flex-direction:column;gap:1rem}
.label-panel{display:block;box-shadow:0 30px 60px -30px rgba(0,0,0,.9);outline:1px solid var(--gold-thin)}
.label-panel img{width:100%}
.label-cap{margin-top:1rem;text-align:center;font-family:var(--f-sans);font-size:.88rem;color:var(--text-soft)}
@media (min-width:760px){
  /* desktop: the three panels join back into the flat 7.5 x 1.5 in label */
  .label-strip{flex-direction:row;gap:0;box-shadow:0 40px 80px -40px rgba(0,0,0,.95);outline:1px solid var(--gold-thin)}
  .label-panel{box-shadow:none;outline:0}
  .label-panel-left,.label-panel-right{flex:2.65 1 0}
  .label-panel-front{flex:2.2 1 0}
}
.label-facts{display:grid;gap:2rem;align-items:start;max-width:62rem;margin-inline:auto}
.facts-card{background:var(--cream);color:var(--ink);font-family:var(--f-sans);padding:.9rem 1rem 1rem;border:2px solid var(--gold);box-shadow:inset 0 0 0 4px var(--cream),inset 0 0 0 5px var(--ink)}
.facts-card *{font-family:var(--f-sans)}
.facts-title{font-size:2.1rem;font-weight:700;line-height:1.05;letter-spacing:-.005em;padding:0 .4rem;margin:.35rem 0 .3rem}
.facts-row{margin:0;padding:0 .4rem;font-size:1.02rem;line-height:1.45}
.facts-row strong{font-weight:700}
.facts-rule-thick{border-bottom:8px solid var(--ink);padding-bottom:.25rem;margin:0 .4rem;padding-inline:0}
.facts-table{width:calc(100% - .8rem);margin:0 .4rem;border-collapse:collapse;font-size:1.02rem;line-height:1.35}
.facts-table th,.facts-table td{text-align:left;padding:.25rem 0;vertical-align:top}
.facts-table thead th{font-size:.9rem;font-weight:700;border-bottom:1px solid var(--ink)}
.facts-table tbody th{font-weight:700;border-bottom:5px solid var(--ink);padding-bottom:.4rem}
.facts-table tbody td{font-weight:600;border-bottom:5px solid var(--ink);white-space:nowrap}
.facts-table .num{text-align:right}
.facts-sub{display:block;font-weight:400;padding-left:.8rem}
.facts-foot{margin:.4rem .4rem 0;font-size:.9rem}
.label-text{margin:0}
.label-text div{padding:.85rem 0;border-top:1px solid var(--line)}
.label-text div:first-child{border-top:0;padding-top:0}
.label-text dt{font-family:var(--f-caps);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}
.label-text dd{margin:0;font-family:var(--f-sans);font-size:1rem;line-height:1.55;color:var(--text)}
@media (min-width:860px){.label-facts{grid-template-columns:minmax(0,22rem) 1fr;gap:3.5rem}}

/* ---------- IODINE ---------- */
.iodine{padding:var(--sec) 0}
.iodine-grid{display:grid;gap:3rem}
.iodine h2{margin-bottom:1.6rem}
.iodine-copy p{max-width:36rem}
.sources{font-family:var(--f-sans);font-size:.95rem;color:var(--text-soft);margin-top:1.6rem}
.sources a{color:var(--gold-lt)}
.iodine-side{display:grid;gap:1rem;align-content:start}
.iodine-number{background:var(--bg2);color:var(--text);padding:2rem 1.8rem;position:relative;overflow:hidden;border:2px solid var(--gold);box-shadow:inset 0 0 0 4px var(--bg2),inset 0 0 0 5px var(--gold-thin)}
.iodine-number::before{content:"";position:absolute;right:-30%;top:-40%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(217,165,33,.22),transparent 65%)}
.iodine-number .big{position:relative;font-size:clamp(4rem,10vw,5.5rem);line-height:1;margin:.2rem 0 .8rem;color:var(--gold);display:flex;align-items:baseline;gap:.8rem}
.iodine-number .big mark.ph{font-style:normal;padding:0 .3em;min-width:2.2em;text-align:center;letter-spacing:.05em}
.iodine-number .big span{font-size:.4em;color:var(--gold-lt);font-family:var(--f-caps);letter-spacing:.15em}
.iodine-number .lot{position:relative;margin:0;color:var(--text-soft);font-family:var(--f-sans);font-size:.95rem}
.care{border:1px solid var(--gold-thin);background:rgba(23,11,4,.6);padding:1.6rem 1.8rem}
.care h3{font-family:var(--f-caps);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;line-height:1.5}
.care li{position:relative;padding-left:1.4rem;margin:.35rem 0}
.care li::before{content:"";position:absolute;left:0;top:.5em;width:.5rem;height:.8rem;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
@media (min-width:960px){.iodine-grid{grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}}

/* ---------- FOUNDER ---------- */
.founder{overflow:hidden;padding:var(--sec) 0;color:var(--text)}
.founder-grid{position:relative;display:grid;gap:3rem;align-items:center}
.founder h2{margin-bottom:1.6rem}
.founder-copy p{color:var(--text);max-width:34rem}
.founder-copy a{color:var(--gold-lt)}
.founder-quote{margin:2.2rem 0 0;padding:0 0 0 1.4rem;border-left:3px solid var(--gold);box-shadow:-6px 0 0 -5px var(--gold-thin)}
.founder-quote p{font-size:1.5rem;font-style:italic;line-height:1.4;color:var(--text)!important}
.founder-quote footer{font-family:var(--f-caps);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.founder-portrait{margin:0}
.portrait-ph{position:relative;aspect-ratio:4/5;max-width:26rem;margin-inline:auto;border-radius:200px 200px 0 0;border:2px solid var(--gold);box-shadow:inset 0 0 0 5px var(--bg2),inset 0 0 0 6px var(--gold-thin);background:radial-gradient(circle at 50% 35%,rgba(217,165,33,.16),rgba(23,11,4,.6) 62%);display:grid;place-items:center;padding:2rem;text-align:center;color:var(--gold)}
.portrait-ph svg{position:absolute;width:70%;height:auto;aspect-ratio:1;top:14%;left:15%;opacity:.35}
.portrait-ph mark{position:relative;align-self:end;font-size:1rem;color:var(--text)}
@media (min-width:960px){.founder-grid{grid-template-columns:1.3fr 1fr;gap:6rem}}

/* ---------- COMMUNITY ---------- */
.community{padding:var(--sec) 0}
.testimonials{display:grid;gap:1.2rem}
.t-card{padding:2.2rem 1.8rem;min-height:12rem;display:grid;place-items:center;text-align:center}
.t-empty{border:1.5px dashed var(--gold-thin);background:rgba(23,11,4,.55)}
.t-card p{margin:0;color:var(--text-soft)}
@media (min-width:860px){.testimonials{grid-template-columns:repeat(3,1fr)}}

/* ---------- FOUNDING CIRCLE ---------- */
.circle{padding:var(--sec) 0}
.circle-card{position:relative;overflow:hidden;max-width:58rem;margin-inline:auto;background:rgba(23,11,4,.9);color:var(--text);padding:3rem 1.4rem 2.6rem;text-align:center;border:2px solid var(--gold);box-shadow:inset 0 0 0 5px rgba(23,11,4,.95),inset 0 0 0 6px var(--gold-thin),0 60px 120px -50px rgba(0,0,0,.9)}
.circle-seed{position:absolute;width:34rem;height:34rem;left:50%;top:-12rem;translate:-50% 0;color:var(--gold);opacity:.12;pointer-events:none}
.circle-card>*{position:relative}
.circle-card>.circle-seed{position:absolute}
.circle h2{margin-bottom:1.3rem}
.circle-lede{color:var(--text-soft);max-width:34rem;margin:0 auto 2rem}
.waitlist-lg{margin-bottom:2.6rem}
.thanks{max-width:34rem;margin:0 auto 2.6rem;padding:1.6rem;border:1px solid var(--gold);background:rgba(217,165,33,.08)}
.thanks:focus{outline:none}
.thanks-title{font-size:2rem;font-style:italic;color:var(--gold);margin-bottom:.4rem}
.share-row{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}
.share-row input{font-size:1rem}
@media (min-width:600px){.share-row{flex-direction:row}.circle-card{padding:4rem 3rem 3rem}}
.tiers{display:grid;gap:.8rem;text-align:left}
.tiers li{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:center;padding:1rem 1.2rem;border:1px solid var(--gold-thin);background:rgba(243,232,204,.03)}
.tier-num{grid-row:span 2;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:50%;border:1px solid var(--gold);font-family:var(--f-caps);font-size:.85rem;font-weight:700;color:var(--gold)}
.tier-req{font-family:var(--f-caps);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt)}
.tier-gift{font-size:1.1rem}
@media (min-width:860px){.tiers{grid-template-columns:repeat(3,1fr)}}

/* ---------- FAQ ---------- */
.faq{padding:var(--sec) 0}
.faq-grid{display:grid;gap:2.5rem}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-size:1.35rem;font-weight:600;line-height:1.3;color:var(--text)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--gold);background:linear-gradient(var(--gold),var(--gold)) center/.7rem 1.5px no-repeat,linear-gradient(var(--gold),var(--gold)) center/1.5px .7rem no-repeat;transition:transform .3s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin:0 0 1.4rem;color:var(--text-soft);max-width:40rem}
@media (min-width:960px){.faq-grid{grid-template-columns:1fr 1.7fr;gap:6rem}.faq-head{position:sticky;top:8rem;align-self:start}}

/* ---------- FOOTER ---------- */
.site-footer{color:var(--text-soft);padding:4.5rem 0 7rem;background:var(--lattice) center top/var(--tile) auto repeat,var(--bg2)}
.footer-top{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}
.footer-logo img{width:7rem;height:auto}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem}
.footer-nav a{font-family:var(--f-caps);font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--gold-lt)}
.footer-nav a:hover{color:var(--gold)}
.disclaimer{margin:3rem auto 2.5rem;max-width:46rem;border:2px solid var(--gold);box-shadow:inset 0 0 0 4px var(--bg2),inset 0 0 0 5px var(--gold-thin);background:var(--bg2);padding:1.3rem 1.5rem;text-align:center}
.disclaimer p{margin:0;font-family:var(--f-sans);font-size:.98rem;line-height:1.55;color:var(--cream)}
.disclaimer strong{font-weight:600}
.footer-base{display:flex;flex-direction:column;align-items:center;gap:.8rem;font-family:var(--f-sans);font-size:.92rem;border-top:1px solid var(--gold-thin);padding-top:1.6rem}
.footer-base p{margin:0}
.footer-social{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem}
.footer-social a{font-family:var(--f-caps);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-decoration:none;color:var(--gold-md)}
.footer-social a:hover{color:var(--gold-lt);text-decoration:underline}
@media (min-width:800px){.site-footer{padding-bottom:3rem}.footer-top{flex-direction:row;justify-content:space-between;text-align:left}.footer-base{flex-direction:row;justify-content:space-between}}

/* ---------- mobile sticky CTA ---------- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(23,11,4,0),rgba(23,11,4,.94) 35%);display:flex;justify-content:center;transform:translateY(110%);transition:transform .35s var(--ease);pointer-events:none}
.sticky-cta .btn{width:100%;max-width:26rem;pointer-events:auto}
.sticky-cta.is-on{transform:none;pointer-events:auto}
@media (min-width:800px){.sticky-cta{display:none}}
@media (prefers-reduced-motion:reduce){.sticky-cta{transition:none}}

/* gentle reveal, only when motion is welcome and JS is present */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;translate:0 26px;transition:opacity .9s var(--ease),translate .9s var(--ease)}
  .js [data-reveal].is-in{opacity:1;translate:0 0}
}

/* Prop 65 (27 CCR 25602(b)): set off in a box. Hidden in the markup while the label prints none. */
.p65-warning{border:1px solid currentColor;padding:.7rem .9rem;margin:0 0 1.6rem;font-family:var(--f-sans);font-size:.9rem;line-height:1.45;color:var(--text-soft)}
.p65-warning[hidden]{display:none}
.p65-warning strong{font-weight:700}
.p65-warning a{color:inherit}

.checkout{margin-top:1.4rem}
.checkout #paypal-checkout{min-height:3rem}
.legal{max-width:44rem;margin:0 auto;padding:4rem 1.25rem 5rem;line-height:1.7}
.legal h1{margin-bottom:1rem}
.legal h2{margin-top:2.2rem;font-size:1.5rem}
.legal-brand{display:block;margin-bottom:2.5rem}
