@charset "utf-8";
/* ==========================================================================
   glycobalancee.com

   TECHNOLOGY
   ----------------------------------------------------------------------
   This site ships NO JAVASCRIPT. There is no .js file anywhere in the
   package and no <script> tag on any page except the JSON-LD blocks,
   which are data rather than code. Everything that would normally need a
   script is done natively:

     * the FAQ rows are <details>/<summary> disclosures;
     * the mobile menu is a <details> disclosure that CSS forces open and
       inline from 961px up;
     * the scroll reveal is a CSS scroll-driven animation
       (animation-timeline: view()) wrapped in @supports, so browsers
       without it simply show the content;
     * the order bar is a plain fixed element with page padding reserved
       for it, so nothing is ever covered and nothing has to listen for a
       scroll event;
     * the copyright year is written at build time.

   The stylesheet itself is organised with CSS cascade layers, and the
   card grids respond with container queries rather than only viewport
   media queries.

   NAMING
   ----------------------------------------------------------------------
   gce-l-*   layout        gce-c-*   component
   gce-u-*   utility       gce-is-*  state

   IMAGES
   ----------------------------------------------------------------------
   Nothing is cropped. Every picture is width-driven with height:auto, no
   image sits in a fixed-height box, the cropping value of object-fit is
   used nowhere, and no ancestor of an image hides its overflow.
   ========================================================================== */

@layer reset, tokens, layout, components, utilities, responsive;

/* ========================================================== @layer tokens */
@layer tokens {
  :root{
    --gce-page:#F5F9F9;
    --gce-band:#E4F0F0;
    --gce-mist:#EFF7F5;
    --gce-surface:#FFFFFF;
    --gce-ink:#10262E;
    --gce-deep:#12494F;
    --gce-sea:#1B7F84;
    --gce-sea-lt:#43A9AC;
    --gce-body:#3B565B;
    --gce-quiet:#6F8C90;
    --gce-line:#D2E4E4;
    --gce-line-soft:#E6F1F1;
    --gce-coral:#C2603F;
    --gce-coral-soft:#FBEDE7;
    --gce-sand:#FAF3E8;
    --gce-amber:#9A6A16;

    --gce-lift-1:0 1px 3px rgb(16 38 46 / .05),0 10px 26px rgb(16 38 46 / .07);
    --gce-lift-2:0 8px 18px rgb(16 38 46 / .08),0 32px 62px rgb(16 38 46 / .13);

    --gce-r-sm:12px; --gce-r:18px; --gce-r-lg:26px; --gce-r-xl:34px; --gce-r-pill:999px;

    --gce-font:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    --gce-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

    --gce-gutter:22px;
    --gce-band-y:clamp(50px,5.2vw,94px);
    --gce-dock-h:76px;
  }
}

/* =========================================================== @layer reset */
@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{margin:0;background:var(--gce-page);color:var(--gce-body);
    font-family:var(--gce-font);font-size:19px;line-height:1.7;font-weight:400;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
    padding-bottom:var(--gce-dock-h)}
  /* one rule, every picture on the site: width leads, height follows the
     file's own proportions. Nothing is ever squashed and nothing is cropped. */
  img{display:block;max-width:100%;height:auto}
  svg{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;
    stroke-linecap:round;stroke-linejoin:round}
  a{color:var(--gce-sea);text-underline-offset:3px;overflow-wrap:break-word}
  a:hover{color:var(--gce-deep)}
  h1,h2,h3,h4{font-family:var(--gce-font);color:var(--gce-ink);margin:0 0 .5em;
    font-weight:800;line-height:1.16;letter-spacing:-.028em;overflow-wrap:break-word}
  h1{font-size:clamp(2.15rem,1.22rem + 3.3vw,3.75rem);line-height:1.08}
  h2{font-size:clamp(1.72rem,1.1rem + 2.1vw,2.75rem)}
  h3{font-size:clamp(1.12rem,1rem + .5vw,1.38rem);line-height:1.32;letter-spacing:-.018em;
    font-weight:700}
  h4{font-size:1.03rem;font-weight:700}
  p{margin:0 0 1.1em}
  p:last-child{margin-bottom:0}
  b,strong{color:var(--gce-ink);font-weight:700}
  summary{cursor:pointer;list-style:none}
  summary::-webkit-details-marker{display:none}
  ::selection{background:var(--gce-sea-lt);color:#fff}
  :focus-visible{outline:3px solid var(--gce-sea);outline-offset:3px;border-radius:6px}
}

/* ========================================================== @layer layout */
@layer layout {
  .gce-l-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--gce-ink);
    color:#fff;padding:12px 20px;border-radius:0 0 12px 0}
  .gce-l-skip:focus{left:0}

  /* every hold and every split column is a query container, so the card
     grids inside them respond to the space they actually have rather than to
     the width of the window. */
  .gce-l-hold{width:100%;max-width:1210px;margin:0 auto;padding:0 var(--gce-gutter);
    container-type:inline-size}
  .gce-l-hold--slim{max-width:830px}

  .gce-l-band{padding:var(--gce-band-y) 0;position:relative}
  .gce-l-band--short{padding:clamp(32px,3.2vw,54px) 0}
  .gce-l-band--mist{background:var(--gce-mist)}
  .gce-l-band--band{background:var(--gce-band)}
  .gce-l-band--surface{background:var(--gce-surface)}
  .gce-l-band--deep{background:var(--gce-ink);color:#C9DEDE}
  .gce-l-band--deep h2,.gce-l-band--deep h3{color:#fff}

  /* card grids answer to their container, not to the viewport */
  .gce-l-cards{display:grid;gap:24px}
  .gce-l-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gce-l-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gce-l-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}

  .gce-l-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(26px,3.8vw,58px);align-items:center}
  .gce-l-split>*{container-type:inline-size;min-width:0}
  .gce-l-split--top{align-items:start}
  .gce-l-split--wide{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
}

/* ====================================================== @layer components */
@layer components {

  /* ---- action ---------------------------------------------------------- */
  .gce-c-go{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
    background:linear-gradient(135deg,var(--gce-sea-lt),var(--gce-sea) 52%,var(--gce-deep));
    color:#fff;font-weight:800;font-size:1.02rem;letter-spacing:-.012em;padding:17px 34px;
    border:0;border-radius:var(--gce-r-pill);text-decoration:none;
    box-shadow:0 8px 22px rgb(18 73 79 / .24);
    transition:transform .18s,box-shadow .18s,filter .18s}
  .gce-c-go:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.07);
    box-shadow:0 13px 30px rgb(18 73 79 / .3)}
  .gce-c-go svg{width:1.15em;height:1.15em;stroke-width:2.2}
  .gce-c-go--sm{padding:12px 24px;font-size:.94rem}
  .gce-c-go--lg{padding:20px 46px;font-size:1.12rem}
  .gce-c-go--block{width:100%}
  .gce-c-go--plain{background:var(--gce-surface);color:var(--gce-ink);
    border:1.5px solid var(--gce-line);box-shadow:none}
  .gce-c-go--plain:hover{background:var(--gce-mist);border-color:var(--gce-sea);
    color:var(--gce-ink);box-shadow:none}
  .gce-c-go--plain svg{color:var(--gce-sea)}
  .gce-c-gos{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
  .gce-c-link{display:inline-flex;align-items:center;gap:.4em;font-weight:800;font-size:.98rem;
    color:var(--gce-sea);text-decoration:none;border-bottom:2px solid var(--gce-sea-lt);
    padding-bottom:2px}
  .gce-c-link:hover{color:var(--gce-deep);border-color:var(--gce-deep)}

  /* ---- strip + masthead ------------------------------------------------ */
  .gce-c-strip{background:var(--gce-ink);color:#A9C6C6}
  .gce-c-strip__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
    gap:8px 26px;padding-block:9px;font-size:.79rem}
  .gce-c-strip__row span{display:inline-flex;align-items:center;gap:7px}
  .gce-c-strip__row svg{width:1.1em;height:1.1em;color:var(--gce-sea-lt)}
  .gce-c-strip__row b{color:#E6F3F3;font-weight:600}

  .gce-c-top{position:sticky;top:0;z-index:90;background:rgb(245 249 249 / .96);
    backdrop-filter:saturate(170%) blur(10px);border-bottom:1px solid var(--gce-line-soft)}
  .gce-c-top__row{display:flex;align-items:center;gap:18px;min-height:76px}
  .gce-c-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;
    margin-right:auto}
  .gce-c-logo__drop{width:46px;height:46px;flex:none;border-radius:15px;display:grid;
    place-items:center;background:linear-gradient(140deg,var(--gce-sea-lt),var(--gce-deep));
    color:#fff;box-shadow:0 5px 14px rgb(18 73 79 / .28)}
  .gce-c-logo__drop svg{width:1.35em;height:1.35em;stroke-width:1.9}
  .gce-c-logo__text{display:flex;flex-direction:column;font-weight:800;font-size:1.48rem;
    color:var(--gce-ink);line-height:1;letter-spacing:-.036em}
  .gce-c-logo__text em{font-style:normal;font-size:.49rem;letter-spacing:.25em;
    color:var(--gce-sea);font-weight:800;margin-top:6px}

  /* ---- navigation, and not one line of script --------------------------
     Two elements, never both on screen at once. From 961px a plain inline
     bar; below it a <details> disclosure. Forcing a closed <details> open
     with CSS is not reliable across engines, so this build does not try:
     each breakpoint gets the element that is right for it and the other is
     display:none, which also takes it out of the accessibility tree. */
  .gce-c-menu__bar{display:none}
  .gce-c-menu__bar a{color:var(--gce-body);font-size:.96rem;font-weight:700;
    text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
  .gce-c-menu__bar a:hover{color:var(--gce-ink);border-color:var(--gce-sea-lt)}
  .gce-c-menu__bar a.gce-is-here{color:var(--gce-ink);border-color:var(--gce-sea)}
  .gce-c-menu__bar .gce-c-go{border-bottom:0;color:#fff}
  .gce-c-menu__bar .gce-c-go:hover{color:#fff;border-bottom:0}
  .gce-c-menu{position:relative}
  .gce-c-menu__toggle{width:46px;height:44px;background:var(--gce-surface);
    border:1.5px solid var(--gce-line);border-radius:12px;display:grid;place-items:center;
    gap:5px;grid-auto-flow:row}
  .gce-c-menu__toggle i{display:block;width:20px;height:2px;background:var(--gce-ink);
    border-radius:2px;transition:transform .22s,opacity .18s}
  .gce-c-menu[open] .gce-c-menu__toggle i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .gce-c-menu[open] .gce-c-menu__toggle i:nth-child(2){opacity:0}
  .gce-c-menu[open] .gce-c-menu__toggle i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .gce-c-menu__list{position:absolute;right:0;top:calc(100% + 12px);min-width:min(80vw,260px);
    background:var(--gce-surface);border:1px solid var(--gce-line);border-radius:var(--gce-r);
    box-shadow:var(--gce-lift-2);padding:8px 18px 18px;display:flex;flex-direction:column;
    z-index:95}
  .gce-c-menu__list a{color:var(--gce-body);font-size:1rem;font-weight:700;text-decoration:none;
    padding:13px 0;border-bottom:1px solid var(--gce-line-soft)}
  .gce-c-menu__list a:hover{color:var(--gce-ink)}
  .gce-c-menu__list a.gce-is-here{color:var(--gce-sea)}
  .gce-c-menu__list .gce-c-go{margin-top:16px;border-bottom:0;color:#fff;justify-content:center}

  /* ---- opener ---------------------------------------------------------- */
  .gce-c-opener{background:
      radial-gradient(840px 500px at 78% 34%,#DDEFEF 0%,rgb(221 239 239 / 0) 70%),
      linear-gradient(180deg,#FBFEFE,var(--gce-page))}
  .gce-c-opener__row{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
    gap:clamp(24px,3.2vw,52px);align-items:center;padding-block:clamp(34px,4vw,70px)}
  .gce-c-opener__flag{display:inline-flex;align-items:center;gap:.5em;max-width:100%;
    background:var(--gce-mist);border:1px solid var(--gce-line);color:var(--gce-deep);
    font-size:.73rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;
    padding:9px 20px;border-radius:var(--gce-r-pill);margin-bottom:20px}
  .gce-c-opener__flag svg{width:1.05em;height:1.05em}
  .gce-c-opener h1{margin-bottom:.4em;max-width:17ch}
  .gce-c-opener__lede{font-size:clamp(1.04rem,1rem + .42vw,1.22rem);line-height:1.64;
    max-width:49ch}
  .gce-c-opener__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;
    margin-top:26px}
  .gce-c-opener__points>div{display:flex;gap:12px;align-items:flex-start;
    background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-sm);padding:14px 16px;box-shadow:var(--gce-lift-1)}
  .gce-c-opener__points i{width:38px;height:38px;flex:none;border-radius:11px;display:grid;
    place-items:center;background:var(--gce-mist);color:var(--gce-deep)}
  .gce-c-opener__points i svg{width:1.12em;height:1.12em}
  .gce-c-opener__points b{display:block;font-size:.89rem;font-weight:800;color:var(--gce-ink);
    line-height:1.32}
  .gce-c-opener__points em{font-style:normal;display:block;font-size:.77rem;
    color:var(--gce-quiet);line-height:1.44;margin-top:2px}
  .gce-c-opener__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding-top:22px;
    border-top:1px solid var(--gce-line-soft)}
  .gce-c-opener__chips span{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;
    color:var(--gce-body);background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-pill);padding:7px 15px}
  .gce-c-opener__chips svg{width:1.18em;height:1.18em;color:var(--gce-sea)}

  /* ---- product stage --------------------------------------------------- */
  .gce-c-stage{display:grid;place-items:center;position:relative}
  .gce-c-stage::before{content:"";position:absolute;width:min(84%,380px);aspect-ratio:1;
    border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgb(67 169 172 / .22),rgb(67 169 172 / 0) 66%)}
  .gce-c-stage img{position:relative;max-width:min(100%,330px);
    filter:drop-shadow(0 24px 36px rgb(16 38 46 / .18))}
  .gce-c-stage--wide img{max-width:min(100%,400px)}
  .gce-c-stage--small img{max-width:min(100%,220px)}

  /* ---- rail ------------------------------------------------------------ */
  .gce-c-rail{background:var(--gce-ink)}
  .gce-c-rail__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
    padding-block:20px}
  .gce-c-rail__cell{display:flex;align-items:center;gap:13px;padding-right:14px;
    border-right:1px solid rgb(201 222 222 / .16)}
  .gce-c-rail__cell:last-child{border-right:0}
  .gce-c-rail__cell i{width:42px;height:42px;flex:none;border-radius:13px;display:grid;
    place-items:center;background:rgb(67 169 172 / .18);color:#8ED2D4}
  .gce-c-rail__cell i svg{width:1.24em;height:1.24em}
  .gce-c-rail__cell b{display:block;color:#EEF8F8;font-size:.92rem;font-weight:800;
    line-height:1.3}
  .gce-c-rail__cell em{font-style:normal;display:block;font-size:.77rem;color:#8FAAAC;
    line-height:1.4}

  /* ---- headings -------------------------------------------------------- */
  .gce-c-head{max-width:800px;margin:0 auto clamp(28px,3vw,48px);text-align:center}
  .gce-c-head--left{margin:0 0 clamp(22px,2.5vw,40px);max-width:680px;text-align:left}
  .gce-c-head__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.73rem;
    font-weight:800;letter-spacing:.23em;text-transform:uppercase;color:var(--gce-sea);
    margin-bottom:12px}
  .gce-c-head__eyebrow::before{content:"";width:20px;height:3px;border-radius:3px;
    background:var(--gce-sea-lt)}
  .gce-c-head p{font-size:clamp(1.02rem,.99rem + .35vw,1.18rem);line-height:1.64}
  .gce-c-close{display:flex;align-items:center;justify-content:center;gap:18px;
    margin-top:clamp(32px,3.2vw,52px);font-size:.75rem;font-weight:800;letter-spacing:.21em;
    text-transform:uppercase;color:var(--gce-sea);text-align:center}
  .gce-c-close::before,.gce-c-close::after{content:"";height:1px;flex:1;max-width:140px;
    background:linear-gradient(90deg,transparent,var(--gce-sea-lt))}
  .gce-c-close::after{background:linear-gradient(90deg,var(--gce-sea-lt),transparent)}

  /* ---- panel card ------------------------------------------------------ */
  .gce-c-card{background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-lg);padding:28px;box-shadow:var(--gce-lift-1)}
  .gce-c-card h3{margin-bottom:.42em}
  .gce-c-card p{font-size:.95rem;line-height:1.64}
  .gce-c-card__mark{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;
    background:var(--gce-mist);color:var(--gce-deep);margin-bottom:16px;
    border:1px solid var(--gce-line)}
  .gce-c-card__mark svg{width:1.32em;height:1.32em}
  .gce-c-card__note{margin-top:14px;padding-top:12px;border-top:1px dashed var(--gce-line);
    font-size:.81rem;color:var(--gce-quiet)}
  .gce-c-card__note b{color:var(--gce-sea)}
  .gce-c-card__figure{display:block;font-size:2.3rem;font-weight:800;color:var(--gce-sea);
    line-height:1;letter-spacing:-.05em;margin-bottom:8px}
  .gce-c-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
  .gce-c-list li{display:flex;gap:12px;align-items:flex-start;font-size:.96rem;line-height:1.6}
  .gce-c-list li svg{width:1.13em;height:1.13em;margin-top:.32em;color:var(--gce-sea);
    stroke-width:2.4}

  /* ---- figures: width-driven, never cropped ---------------------------- */
  .gce-c-fig{margin:0;overflow:visible}
  .gce-c-fig img{display:block;width:100%;height:auto;max-width:100%}
  .gce-c-fig--framed{background:var(--gce-surface);border:1px solid var(--gce-line);
    border-radius:var(--gce-r-lg);padding:18px;box-shadow:var(--gce-lift-1)}
  .gce-c-fig figcaption{margin-top:12px;font-size:.81rem;line-height:1.55;color:var(--gce-quiet)}

  /* ---- botanical tiles (square photos, square frames) ------------------ */
  .gce-c-botanicals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .gce-c-botanical{background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-xl);overflow:visible;box-shadow:var(--gce-lift-1);
    display:flex;flex-direction:column}
  .gce-c-botanical__pic{width:100%;border-radius:var(--gce-r-xl) var(--gce-r-xl) 0 0}
  .gce-c-botanical__pic img{border-radius:var(--gce-r-xl) var(--gce-r-xl) 0 0}
  .gce-c-botanical__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
  .gce-c-botanical__tag{align-self:flex-start;background:var(--gce-mist);color:var(--gce-deep);
    font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    padding:5px 13px;border-radius:var(--gce-r-pill)}
  .gce-c-botanical h3{margin:0}
  .gce-c-botanical__latin{font-size:.79rem;font-style:italic;color:var(--gce-quiet);
    margin-top:-6px}
  .gce-c-botanical p{font-size:.93rem;line-height:1.62;margin:0}

  /* ---- ladder ---------------------------------------------------------- */
  .gce-c-ladder{display:grid}
  .gce-c-ladder__step{display:grid;grid-template-columns:68px minmax(0,1fr);gap:22px;
    padding:24px 0;border-bottom:1px solid var(--gce-line-soft)}
  .gce-c-ladder__step:last-child{border-bottom:0}
  .gce-c-ladder__n{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;
    font-size:1.34rem;font-weight:800;color:#fff;
    background:linear-gradient(140deg,var(--gce-sea-lt),var(--gce-deep))}
  .gce-c-ladder__step h3{margin-bottom:.3em}
  .gce-c-ladder__step p{font-size:.96rem}

  /* ---- supplement panel ------------------------------------------------ */
  .gce-c-panel{background:var(--gce-surface);border:2px solid var(--gce-ink);border-radius:6px;
    padding:22px 24px;max-width:560px;font-family:var(--gce-font)}
  .gce-c-panel__title{font-size:1.52rem;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;
    border-bottom:9px solid var(--gce-ink);padding-bottom:6px;color:var(--gce-ink)}
  .gce-c-panel__serve{font-size:.89rem;padding:5px 0;border-bottom:1px solid var(--gce-ink)}
  .gce-c-panel__hd{display:flex;justify-content:flex-end;font-size:.76rem;font-weight:800;
    padding:4px 0;border-bottom:5px solid var(--gce-ink)}
  .gce-c-panel__row{display:grid;grid-template-columns:1fr auto 64px;gap:10px;font-size:.86rem;
    padding:5px 0;border-bottom:1px solid #B9CCCC;line-height:1.4}
  .gce-c-panel__row span:nth-child(2),.gce-c-panel__row span:last-child{font-weight:800;
    color:var(--gce-ink)}
  .gce-c-panel__row span:last-child{text-align:right}
  .gce-c-panel__blend{font-size:.79rem;line-height:1.5;padding:8px 0;
    border-bottom:5px solid var(--gce-ink);color:var(--gce-body)}
  .gce-c-panel__foot{font-size:.74rem;line-height:1.5;color:var(--gce-body);margin-top:12px}
  .gce-c-panel__foot b{display:block;margin-top:8px}

  /* ---- voices ---------------------------------------------------------- */
  .gce-c-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
  .gce-c-voice{background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-xl);padding:30px 26px;box-shadow:var(--gce-lift-1);
    display:flex;flex-direction:column}
  .gce-c-voice__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
  .gce-c-voice__face{width:70px;flex:none;border-radius:var(--gce-r-sm);overflow:hidden;
    border:3px solid var(--gce-mist)}
  .gce-c-voice__name{font-size:1.06rem;font-weight:800;color:var(--gce-ink);margin:0}
  .gce-c-voice__meta{font-size:.8rem;color:var(--gce-quiet);margin:2px 0 0}
  .gce-c-stars{display:inline-flex;gap:3px;color:var(--gce-amber);margin-top:5px}
  .gce-c-stars svg{width:.95rem;height:.95rem;fill:currentColor;stroke:none}
  .gce-c-voice__text{font-size:.94rem;line-height:1.66;margin:0}

  /* ---- offers ---------------------------------------------------------- */
  .gce-c-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;
    align-items:start}
  .gce-c-offer{position:relative;background:var(--gce-surface);border:1px solid var(--gce-line);
    border-radius:var(--gce-r-xl);padding:32px 24px 26px;text-align:center;display:flex;
    flex-direction:column}
  .gce-c-offer--pick{border:2px solid var(--gce-sea);box-shadow:var(--gce-lift-2);
    background:linear-gradient(180deg,#F6FDFD,#fff)}
  .gce-c-offer__tab{position:absolute;top:-15px;left:50%;transform:translateX(-50%);
    background:var(--gce-ink);color:#DDEDED;font-size:.7rem;font-weight:800;letter-spacing:.13em;
    text-transform:uppercase;padding:7px 18px;border-radius:var(--gce-r-pill);white-space:nowrap}
  .gce-c-offer--pick .gce-c-offer__tab{
    background:linear-gradient(135deg,var(--gce-sea-lt),var(--gce-deep));color:#fff}
  .gce-c-offer__shot{display:grid;place-items:center;margin:16px auto 14px;width:100%}
  .gce-c-offer__shot img{max-width:min(100%,180px)}
  .gce-c-offer h3{font-size:1.36rem;margin-bottom:2px}
  .gce-c-offer__supply{font-size:.84rem;color:var(--gce-quiet);margin-bottom:14px}
  .gce-c-offer__unit{font-size:2.95rem;font-weight:800;color:var(--gce-ink);line-height:1;
    letter-spacing:-.05em}
  .gce-c-offer__unit sup{font-size:.4em;top:-.7em;position:relative;font-weight:800;
    margin-right:.05em}
  .gce-c-offer__per{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;
    color:var(--gce-quiet);margin-top:7px}
  .gce-c-offer__sum{margin-top:14px;font-size:.94rem}
  .gce-c-offer__sum s{color:var(--gce-quiet)}
  .gce-c-offer__save{display:inline-block;margin-top:10px;background:var(--gce-coral-soft);
    color:var(--gce-coral);font-size:.82rem;font-weight:800;padding:5px 15px;
    border-radius:var(--gce-r-pill)}
  .gce-c-offer__ship{margin-top:12px;font-size:.86rem;display:flex;align-items:center;
    justify-content:center;gap:7px;color:var(--gce-body)}
  .gce-c-offer__ship svg{width:1.18em;height:1.18em;color:var(--gce-sea)}
  .gce-c-offer__inc{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;
    gap:8px;text-align:left}
  .gce-c-offer__inc li{display:flex;gap:9px;align-items:flex-start;font-size:.87rem;
    line-height:1.5}
  .gce-c-offer__inc li svg{width:1.03em;height:1.03em;margin-top:.3em;color:var(--gce-sea);
    stroke-width:2.6}
  .gce-c-offer__go{margin-top:20px}
  .gce-c-offer__note{margin-top:12px;font-size:.78rem;color:var(--gce-quiet);line-height:1.5}

  /* ---- ebooks ---------------------------------------------------------- */
  .gce-c-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .gce-c-book{background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-lg);padding:24px;display:flex;flex-direction:column;gap:12px;
    box-shadow:var(--gce-lift-1)}
  .gce-c-book__cover{width:112px;margin:0 auto}
  .gce-c-book__cover img{filter:drop-shadow(0 8px 18px rgb(16 38 46 / .16))}
  .gce-c-book__tag{font-size:.71rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
    color:var(--gce-sea)}
  .gce-c-book h3{font-size:1.02rem;margin:0}
  .gce-c-book p{font-size:.89rem;line-height:1.58;margin:0}
  .gce-c-book__value{margin-top:auto;font-size:.82rem;color:var(--gce-quiet)}
  .gce-c-book__value b{color:var(--gce-ink)}

  /* ---- pledge + marks --------------------------------------------------- */
  .gce-c-pledge{display:grid;grid-template-columns:190px minmax(0,1fr);gap:34px;
    align-items:center;background:var(--gce-surface);border:1px solid var(--gce-line);
    border-radius:var(--gce-r-xl);padding:clamp(24px,3vw,42px);box-shadow:var(--gce-lift-1)}
  .gce-c-pledge__badge{width:100%;max-width:190px}
  .gce-c-pledge h2{margin-bottom:.3em}
  .gce-c-marks{display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:center}
  .gce-c-marks .gce-c-fig{width:116px}

  /* ---- disclosures: the FAQ, with no script ---------------------------- */
  .gce-c-qa{border-top:1px solid var(--gce-line)}
  .gce-c-qa__row{border-bottom:1px solid var(--gce-line)}
  .gce-c-qa__q{display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:21px 4px;font-size:clamp(1.01rem,.98rem + .3vw,1.16rem);font-weight:800;
    color:var(--gce-ink);line-height:1.35;letter-spacing:-.016em}
  .gce-c-qa__q::after{content:"";width:28px;height:28px;flex:none;border-radius:9px;
    border:1.5px solid var(--gce-line);
    background:
      linear-gradient(var(--gce-sea),var(--gce-sea)) center/12px 2px no-repeat,
      linear-gradient(var(--gce-sea),var(--gce-sea)) center/2px 12px no-repeat;
    transition:background-size .22s,background-color .2s}
  .gce-c-qa__row[open] .gce-c-qa__q::after{background:
      linear-gradient(var(--gce-sea),var(--gce-sea)) center/12px 2px no-repeat,
      var(--gce-mist)}
  .gce-c-qa__a{padding:0 4px 23px}
  .gce-c-qa__a p{font-size:.96rem;max-width:78ch}

  /* ---- asides ----------------------------------------------------------- */
  .gce-c-aside{background:var(--gce-surface);border:1px solid var(--gce-line);
    border-left:4px solid var(--gce-sea);border-radius:0 var(--gce-r) var(--gce-r) 0;
    padding:22px 26px}
  .gce-c-aside h3{font-size:1.04rem;margin-bottom:.4em}
  .gce-c-aside p{font-size:.94rem}
  .gce-c-warn{background:var(--gce-coral-soft);border:1px solid #EED4C9;
    border-left:4px solid var(--gce-coral);border-radius:0 var(--gce-r) var(--gce-r) 0;
    padding:22px 26px;color:#6B3B2C}
  .gce-c-warn h3{color:var(--gce-coral);font-size:1.04rem;margin-bottom:.4em}
  .gce-c-warn p{font-size:.94rem}

  /* ---- tables ----------------------------------------------------------- */
  .gce-c-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .gce-c-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
  .gce-c-table th,.gce-c-table td{text-align:left;padding:13px 16px;
    border-bottom:1px solid var(--gce-line)}
  .gce-c-table th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--gce-deep);background:var(--gce-mist);font-weight:800}
  .gce-c-table td b{color:var(--gce-ink)}

  /* ---- trail + page head ------------------------------------------------ */
  .gce-c-trail{font-size:.81rem;color:var(--gce-quiet);padding:18px 0 0}
  .gce-c-trail a{color:var(--gce-quiet);text-decoration:none}
  .gce-c-trail a:hover{color:var(--gce-sea)}
  .gce-c-trail i{margin:0 9px;font-style:normal;color:var(--gce-line)}
  .gce-c-pagehead{padding:clamp(20px,2.4vw,36px) 0 clamp(24px,3vw,44px);
    background:linear-gradient(180deg,#FBFEFE,var(--gce-page))}
  .gce-c-pagehead h1{max-width:22ch}
  .gce-c-pagehead p{font-size:clamp(1.02rem,.99rem + .35vw,1.18rem);line-height:1.64;
    max-width:68ch}

  /* ---- reach ------------------------------------------------------------ */
  .gce-c-reach{background:var(--gce-surface);border:1px solid var(--gce-line-soft);
    border-radius:var(--gce-r-lg);padding:28px;text-align:center;box-shadow:var(--gce-lift-1)}
  .gce-c-reach i{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;
    margin:0 auto 14px;background:var(--gce-mist);color:var(--gce-deep);
    border:1px solid var(--gce-line)}
  .gce-c-reach i svg{width:1.28em;height:1.28em}
  .gce-c-reach h3{font-size:1.03rem;margin-bottom:.3em}
  .gce-c-reach p{font-size:.93rem}

  /* ---- the order dock: fixed, always present, no scroll listener -------- */
  .gce-c-dock{position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:rgb(16 38 46 / .97);color:#CCE2E2;min-height:var(--gce-dock-h);
    box-shadow:0 -6px 24px rgb(16 38 46 / .24);display:flex;align-items:center}
  .gce-c-dock__row{display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding-block:11px;width:100%}
  .gce-c-dock__row p{margin:0;font-size:.9rem}
  .gce-c-dock__row b{color:#fff}

  /* ---- closer ----------------------------------------------------------- */
  .gce-c-closer{background:var(--gce-ink);color:#C6DCDC}
  .gce-c-closer__row{display:grid;grid-template-columns:230px minmax(0,1fr);
    gap:clamp(24px,4vw,54px);align-items:center;padding-block:clamp(36px,4.2vw,68px)}
  .gce-c-closer__shot{position:relative;display:grid;place-items:center}
  .gce-c-closer__shot::before{content:"";position:absolute;width:190px;height:190px;
    border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgb(67 169 172 / .3),rgb(67 169 172 / 0) 68%)}
  .gce-c-closer__shot img{position:relative;max-width:min(100%,180px);
    filter:drop-shadow(0 18px 32px rgb(0 0 0 / .42))}
  .gce-c-closer h2{margin-bottom:.35em;color:#fff}
  .gce-c-closer__copy p{max-width:60ch;font-size:clamp(1.02rem,.99rem + .35vw,1.18rem);
    line-height:1.64;color:#B9D2D2}
  .gce-c-closer__go{margin-top:24px}
  .gce-c-closer__fine{margin-top:16px;font-size:.81rem;color:#87A6A6}

  /* ---- footer ----------------------------------------------------------- */
  .gce-c-foot{background:var(--gce-ink);color:#96B3B3;padding:clamp(40px,4.4vw,68px) 0 30px;
    border-top:1px solid rgb(201 222 222 / .12)}
  .gce-c-foot__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px}
  .gce-c-foot .gce-c-logo__text{color:#fff}
  .gce-c-foot .gce-c-logo__text em{color:var(--gce-sea-lt)}
  .gce-c-foot__about p{margin-top:18px;font-size:.89rem;line-height:1.64;max-width:42ch}
  .gce-c-foot__col h2{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;
    color:var(--gce-sea-lt);margin:0 0 12px;font-weight:800}
  .gce-c-foot__col h2 + ul{margin-bottom:22px}
  .gce-c-foot__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;
    gap:2px}
  .gce-c-foot__col a{color:#B0C9C9;font-size:.9rem;text-decoration:none;display:inline-block;
    padding:5px 0}
  .gce-c-foot__col a:hover{color:#fff}
  .gce-c-foot__legal{margin-top:38px;padding-top:26px;
    border-top:1px solid rgb(201 222 222 / .14);display:grid;gap:12px}
  .gce-c-foot__legal p{font-size:.78rem;line-height:1.6;color:#82A0A0;margin:0;max-width:104ch}
  .gce-c-foot__legal b{color:#BFD6D6}
  .gce-c-foot__base{margin-top:24px;padding-top:20px;
    border-top:1px solid rgb(201 222 222 / .14);display:flex;flex-wrap:wrap;gap:10px 26px;
    justify-content:space-between;font-size:.78rem;color:#739292}
  .gce-c-foot__base a{color:#96B3B3;text-decoration:none}
  .gce-c-foot__base a:hover{color:#fff}
}

/* ======================================================= @layer utilities */
@layer utilities {
  .gce-u-center{text-align:center}
  .gce-u-quiet{font-size:.82rem;line-height:1.56;color:var(--gce-quiet)}
  .gce-u-lede{font-size:clamp(1.02rem,.99rem + .35vw,1.18rem);line-height:1.64}
  .gce-u-mt{margin-top:clamp(26px,3vw,44px)}
  .gce-u-mt-sm{margin-top:18px}
  .gce-u-prose h2{margin-top:1.6em}
  .gce-u-prose h3{margin-top:1.4em}
  .gce-u-prose ul,.gce-u-prose ol{padding-left:1.25em;margin:0 0 1.1em}
  .gce-u-prose li{margin-bottom:.5em}
  .gce-u-prose>*:first-child{margin-top:0}

  /* scroll-driven reveal, native. No observer, no script. */
  @supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
      .gce-u-rise{animation:gce-rise linear both;animation-timeline:view();
        animation-range:entry 0% cover 20%}
    }
  }
  @keyframes gce-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}

/* ====================================================== @layer responsive */
@layer responsive {
  /* container queries first: components react to their own width */
  @container (max-width: 720px) {
    .gce-c-botanicals,.gce-c-voices,.gce-c-offers,.gce-c-books,
    .gce-l-cards--3,.gce-l-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @container (max-width: 460px) {
    .gce-c-botanicals,.gce-c-voices,.gce-c-offers,.gce-c-books,
    .gce-l-cards--2,.gce-l-cards--3,.gce-l-cards--4{grid-template-columns:1fr}
  }

  /* viewport fallback, for anything that does not do container queries */
  @supports not (container-type: inline-size) {
    @media (max-width: 900px) {
      .gce-c-botanicals,.gce-c-voices,.gce-c-offers,.gce-c-books,
      .gce-l-cards--3,.gce-l-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width: 640px) {
      .gce-c-botanicals,.gce-c-voices,.gce-c-offers,.gce-c-books,
      .gce-l-cards--2,.gce-l-cards--3,.gce-l-cards--4{grid-template-columns:1fr}
    }
  }

  /* the dock carries its sentence only where the sentence fits on one line */
  @media (max-width: 1099px) {
    .gce-c-dock__row p{display:none}
    .gce-c-dock__row{justify-content:center}
  }

  /* the bar takes over from the disclosure at 961px, and vice versa */
  @media (min-width: 961px) {
    .gce-c-menu{display:none}
    .gce-c-menu__bar{display:flex;align-items:center;gap:24px}
  }

  @media (max-width: 1040px) {
    .gce-c-foot__grid{grid-template-columns:1fr 1fr 1fr}
    .gce-c-foot__about{grid-column:1/-1}
  }
  @media (max-width: 960px) {
    .gce-c-top__row{min-height:68px}
    .gce-c-opener__row{grid-template-columns:1fr}
    .gce-c-opener__lede{max-width:none}
    .gce-c-stage{order:-1;margin-bottom:8px}
    .gce-c-stage img{max-width:min(72%,300px)}
    .gce-l-split{grid-template-columns:1fr}
    .gce-c-pledge{grid-template-columns:1fr;text-align:center;justify-items:center}
    .gce-c-closer__row{grid-template-columns:180px minmax(0,1fr)}
  }
  @media (max-width: 760px) {
    body{font-size:18.5px}
    .gce-c-rail__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
    .gce-c-rail__cell:nth-child(2n){border-right:0}
    .gce-c-closer__row{grid-template-columns:1fr;text-align:center;justify-items:center}
    .gce-c-closer__copy p{max-width:none}
  }
  @media (max-width: 620px) {
    .gce-l-hold{padding:0 18px}
    .gce-c-opener__points{grid-template-columns:1fr}
    .gce-c-logo__text{font-size:1.28rem}
    .gce-c-logo__drop{width:40px;height:40px;border-radius:13px}
    .gce-c-ladder__step{grid-template-columns:1fr;gap:14px}
    .gce-c-close{gap:12px;font-size:.69rem;letter-spacing:.15em}
    .gce-c-close::before,.gce-c-close::after{max-width:48px}
    .gce-c-foot__grid{grid-template-columns:1fr 1fr}
    .gce-c-marks .gce-c-fig{width:94px}
    .gce-c-voice__head{flex-direction:column;text-align:center;gap:10px}
  }
  @media (max-width: 400px) {
    .gce-c-go{padding:15px 24px;font-size:.96rem}
  }
}
