/* ==========================================================================
   shop-gelagen.com
   Naming: "ggx-" namespace. Elements use a single hyphen (ggx-card-top),
   variants and states use a trailing underscore token (ggx-btn_ghost,
   ggx-nav_on). Nothing here is shared with any other project.
   Layout language: left-aligned numbered section heads, square corners,
   flat outlined surfaces, one accent rule per block.
   ========================================================================== */

:root{
  --ink:#171528;
  --body:#4A4763;
  --mute:#807CA0;
  --ind:#2F2A6B;
  --ind-dp:#211D52;
  --ind-tn:#EEEDF8;
  --pink:#FF4D8D;
  --pink-dp:#D6296B;
  --pink-tn:#FFEDF3;
  --surf:#FFFFFF;
  --page:#F7F7FB;
  --page-2:#EFEFF6;
  --line:#E4E3F0;
  --line-2:#CFCDE4;
  --dark:#141230;
  --dark-2:#1E1A47;
  --rad:8px;
  --rad-2:4px;
  --shade:0 2px 0 var(--line);
  --lift:0 18px 40px -22px rgba(23,21,40,.45);
  --gut:clamp(18px,4vw,40px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surf);color:var(--body);
  font:19px/1.7 "DM Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0 0 .55em;color:var(--ink);
  font-family:"Space Grotesk","DM Sans",Helvetica,Arial,sans-serif;
  font-weight:700;letter-spacing:-.022em;line-height:1.16}
h1{font-size:34px}
h2{font-size:27px}
h3{font-size:20px}
h4{font-size:16px;letter-spacing:.01em}
p{margin:0 0 1.1em}
a{color:var(--ind);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:var(--line-2)}
a:hover{color:var(--pink-dp);text-decoration-color:currentColor}
b,strong{color:var(--ink);font-weight:700}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0 0 1.15em;padding-left:1.25em}
li{margin-bottom:.45em}
figure{margin:0}
table{width:100%;border-collapse:collapse;font-size:16.5px}
caption{text-align:left}
th,td{padding:13px 15px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line)}
thead th{background:var(--ind);color:#fff;border-bottom:0;font-size:14.5px;
  font-family:"Space Grotesk",sans-serif;font-weight:700;letter-spacing:.02em;
  text-transform:uppercase}
tbody th{width:34%;color:var(--ink);font-weight:700;background:var(--page)}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
::selection{background:var(--pink);color:#fff}

@media (min-width:700px){h1{font-size:46px}h2{font-size:33px}h3{font-size:21px}}
@media (min-width:1020px){h1{font-size:56px}h2{font-size:38px}}

/* ---------- frame ------------------------------------------------------- */
.ggx-hold{width:100%;max-width:1180px;margin:0 auto;padding-inline:var(--gut)}
.ggx-hold_tight{max-width:880px}
.ggx-jump{position:absolute;left:-999em;top:0;z-index:60;padding:12px 18px;
  background:var(--ink);color:#fff}
.ggx-jump:focus{left:0}
.ggx-away{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- ticker ------------------------------------------------------ */
.ggx-ticker{background:var(--ind-dp);color:#C9C6E6;font-size:14px;
  letter-spacing:.01em}
.ggx-ticker ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;
  margin:0;padding:10px 0;list-style:none}
.ggx-ticker li{margin:0;position:relative;padding-left:16px}
.ggx-ticker li::before{content:"";position:absolute;left:0;top:9px;width:6px;
  height:6px;background:var(--pink);transform:rotate(45deg)}
.ggx-ticker b{color:#fff}

/* ---------- masthead ---------------------------------------------------- */
.ggx-top{position:sticky;top:0;z-index:50;background:var(--surf);
  border-bottom:1px solid var(--line);transition:box-shadow .18s ease}
.ggx-top_on{box-shadow:0 10px 30px -20px rgba(23,21,40,.7)}
.ggx-top-in{display:flex;align-items:center;gap:18px;min-height:70px}
.ggx-brand{display:flex;align-items:center;gap:10px;flex:none;
  text-decoration:none}
.ggx-brand img{width:34px;height:34px}
.ggx-brand-name{display:block;font-family:"Space Grotesk",sans-serif;
  font-weight:700;font-size:23px;letter-spacing:-.03em;color:var(--ink);
  line-height:1}
.ggx-brand-name i{font-style:normal;color:var(--pink-dp)}
.ggx-brand-sub{display:block;margin-top:2px;font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mute)}
.ggx-menu{display:none}
.ggx-menu a{position:relative;padding:24px 0;color:var(--body);font-size:16px;
  font-weight:500;text-decoration:none}
.ggx-menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:3px;background:var(--pink);transform:scaleX(0);transform-origin:left;
  transition:transform .18s ease}
.ggx-menu a:hover{color:var(--ink)}
.ggx-menu a:hover::after,.ggx-menu a[aria-current]::after{transform:scaleX(1)}
.ggx-menu a[aria-current]{color:var(--ind)}
.ggx-top-buy{display:none;margin-left:auto}
.ggx-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--rad-2);
  background:var(--surf);color:var(--ink);text-decoration:none;
  font:700 14px/1 "Space Grotesk",sans-serif;letter-spacing:.06em;
  text-transform:uppercase;cursor:pointer}
.ggx-toggle:hover{border-color:var(--ind);color:var(--ind)}
.ggx-toggle span{display:block;width:16px;height:9px;
  border-top:2px solid currentColor;border-bottom:2px solid currentColor}
@media (min-width:1020px){
  .ggx-menu{display:flex;align-items:center;gap:26px;margin-left:auto}
  .ggx-top-buy{display:block;margin-left:26px}
  .ggx-toggle{display:none}
}

/* fold-out navigation: an ordinary block of links until JS upgrades it */
.ggx-fold{border-top:1px solid var(--line);background:var(--page)}
.ggx-fold-in{padding:22px 0 28px}
.ggx-fold h4{margin:0 0 10px;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mute)}
.ggx-fold ul{margin:0 0 22px;padding:0;list-style:none;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.ggx-fold li{margin:0;border-bottom:1px solid var(--line)}
.ggx-fold a{display:block;padding:11px 2px;color:var(--body);font-size:16px;
  text-decoration:none}
.ggx-fold a:hover{color:var(--pink-dp)}
.ggx-js .ggx-fold{display:none}
.ggx-js .ggx-fold_on{display:block;position:fixed;inset:70px 0 0;z-index:49;
  overflow-y:auto}
@media (min-width:1020px){.ggx-fold,.ggx-js .ggx-fold_on{display:none}}

/* ---------- buttons ----------------------------------------------------- */
.ggx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:16px 30px;border:2px solid var(--ind);border-radius:var(--rad);
  background:var(--ind);color:#fff;text-decoration:none;cursor:pointer;
  font:700 17px/1.1 "Space Grotesk",sans-serif;letter-spacing:-.005em;
  transition:background .16s ease,border-color .16s ease,color .16s ease,
             transform .16s ease}
.ggx-btn:hover{background:var(--ind-dp);border-color:var(--ind-dp);color:#fff;
  transform:translateY(-1px)}
.ggx-btn_pink{background:var(--pink);border-color:var(--pink);color:#3A0C20}
.ggx-btn_pink:hover{background:var(--pink-dp);border-color:var(--pink-dp);
  color:#fff}
.ggx-btn_ghost{background:transparent;border-color:var(--line-2);
  color:var(--ink)}
.ggx-btn_ghost:hover{background:var(--ind-tn);border-color:var(--ind);
  color:var(--ind)}
.ggx-btn_sm{padding:11px 20px;font-size:15px;border-width:2px}
.ggx-btn_wide{width:100%}
.ggx-dim .ggx-btn_ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.ggx-dim .ggx-btn_ghost:hover{background:rgba(255,255,255,.1);color:#fff;
  border-color:#fff}

/* ---------- bands ------------------------------------------------------- */
.ggx-band{padding:56px 0}
@media (min-width:1020px){.ggx-band{padding:84px 0}}
.ggx-band_page{background:var(--page)}
.ggx-band_tint{background:var(--ind-tn)}
.ggx-band_rose{background:var(--pink-tn)}
.ggx-band_line{border-top:1px solid var(--line)}
.ggx-dim{background:var(--dark);color:#B9B5D8}
.ggx-dim h2,.ggx-dim h3,.ggx-dim h4{color:#fff}
.ggx-dim b,.ggx-dim strong{color:#fff}
.ggx-dim a{color:#FFA7C6;text-decoration-color:rgba(255,167,198,.45)}

/* section head: number + rule on the left, lede on the right */
.ggx-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;
  margin-bottom:38px;padding-top:22px;border-top:2px solid var(--ink)}
@media (min-width:900px){
  .ggx-head{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;
    align-items:end;margin-bottom:52px}
}
.ggx-head h2{margin:0;max-width:19ch}
.ggx-head-no{display:block;margin-bottom:12px;
  font:700 13px/1 "Space Grotesk",sans-serif;letter-spacing:.26em;
  text-transform:uppercase;color:var(--pink-dp)}
.ggx-head-say{margin:0;font-size:17.5px;color:var(--mute)}
.ggx-dim .ggx-head{border-top-color:rgba(255,255,255,.35)}
.ggx-dim .ggx-head-no{color:#FF9EC2}
.ggx-dim .ggx-head-say{color:#9C97C4}

/* ---------- hero -------------------------------------------------------- */
.ggx-hero{position:relative;padding:38px 0 0;overflow:hidden}
.ggx-hero-in{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;
  align-items:center}
@media (min-width:900px){
  .ggx-hero{padding:56px 0 0}
  .ggx-hero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:52px}
}
.ggx-hero-tag{display:inline-block;margin:0 0 20px;padding:7px 14px;
  border:1px solid var(--line-2);border-radius:var(--rad-2);
  font-size:13.5px;letter-spacing:.04em;color:var(--ind);background:var(--surf)}
.ggx-hero-tag b{color:var(--pink-dp);letter-spacing:.12em}
.ggx-hero h1{letter-spacing:-.035em}
.ggx-hero h1 u{text-decoration:none;background:linear-gradient(transparent 62%,
  var(--pink-tn) 62%);box-decoration-break:clone;
  -webkit-box-decoration-break:clone;padding-inline:2px}
.ggx-hero-say{max-width:33em;margin:0 0 24px;font-size:19.5px;line-height:1.65}
.ggx-hero-do{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.ggx-hero-fine{margin:0;font-size:14.5px;color:var(--mute)}
.ggx-hero-art{position:relative;padding:22px}
.ggx-hero-art::before{content:"";position:absolute;inset:0 0 16% 8%;
  background:var(--ind-tn);border-radius:var(--rad)}
.ggx-hero-art img{position:relative;margin-inline:auto;
  max-width:min(430px,100%)}
.ggx-hero-seal{position:absolute;right:2%;bottom:4%;width:96px;max-width:96px}
@media (min-width:900px){.ggx-hero-seal{width:112px;max-width:112px}}

/* chips under the hero */
.ggx-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;margin:36px 0 0;padding:0;list-style:none;background:var(--line);
  border:1px solid var(--line)}
@media (min-width:820px){.ggx-chips{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ggx-chips li{margin:0;display:flex;align-items:center;gap:12px;padding:16px 14px;
  background:var(--surf)}
.ggx-chips img{flex:none;width:40px;height:40px}
.ggx-chips b{display:block;font-family:"Space Grotesk",sans-serif;font-size:15px;
  line-height:1.25}
.ggx-chips span{display:block;font-size:13.5px;color:var(--mute);line-height:1.35}

/* ---------- numbers ----------------------------------------------------- */
.ggx-count{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line-2);border:1px solid var(--line-2)}
@media (min-width:820px){.ggx-count{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ggx-count div{padding:24px 20px;background:var(--surf)}
.ggx-count b{display:block;font:700 34px/1 "Space Grotesk",sans-serif;
  color:var(--ind);letter-spacing:-.03em}
.ggx-count span{display:block;margin-top:8px;font-size:14.5px;line-height:1.45;
  color:var(--mute)}

/* ---------- grids + tiles ----------------------------------------------- */
.ggx-set{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:720px){.ggx-set_2,.ggx-set_4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1020px){
  .ggx-set_3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ggx-set_4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.ggx-split{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;
  align-items:center}
@media (min-width:900px){
  .ggx-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
  .ggx-split_wide{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .ggx-split_flip>*:first-child{order:2}
}

.ggx-tile{position:relative;height:100%;padding:26px 24px 24px;
  background:var(--surf);border:1px solid var(--line);border-radius:var(--rad-2);
  transition:border-color .18s ease,transform .18s ease}
.ggx-tile::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;
  height:3px;background:var(--pink);transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease}
.ggx-tile:hover{border-color:var(--line-2);transform:translateY(-2px)}
.ggx-tile:hover::before{transform:scaleX(1)}
.ggx-tile h3{margin-bottom:9px}
.ggx-tile p{margin:0;font-size:16.5px;line-height:1.62}
.ggx-tile-no{display:block;margin-bottom:14px;
  font:700 13px/1 "Space Grotesk",sans-serif;letter-spacing:.2em;
  color:var(--pink-dp)}
.ggx-tile-ico{display:block;width:44px;height:44px;margin-bottom:16px}
.ggx-tile-ico svg{width:44px;height:44px;stroke:var(--ind)}

/* stacked numbered list, used where a grid would be too busy */
.ggx-steps{margin:0;padding:0;list-style:none;counter-reset:gx}
.ggx-steps li{position:relative;margin:0;padding:24px 0 24px 62px;
  border-bottom:1px solid var(--line);counter-increment:gx}
.ggx-steps li:first-child{border-top:1px solid var(--line)}
.ggx-steps li::before{content:counter(gx,decimal-leading-zero);position:absolute;
  left:0;top:26px;font:700 15px/1 "Space Grotesk",sans-serif;color:#fff;
  background:var(--ind);padding:8px 9px;border-radius:var(--rad-2);
  letter-spacing:.02em}
.ggx-steps h3{margin-bottom:7px}
.ggx-steps p{margin:0;font-size:16.5px}

/* ---------- alternating ingredient rows --------------------------------- */
.ggx-strip{border-top:1px solid var(--line)}
.ggx-strip-row{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;
  padding:34px 0;border-bottom:1px solid var(--line);align-items:center}
@media (min-width:900px){
  .ggx-strip-row{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:46px;
    padding:44px 0}
  .ggx-strip-row:nth-child(even) figure{order:2}
}
.ggx-strip-row figure img{width:auto;max-width:min(340px,100%);
  margin-inline:auto;border-radius:var(--rad-2)}
.ggx-split img{margin-inline:auto}
.ggx-strip-dose{display:inline-block;margin-bottom:10px;padding:5px 12px;
  background:var(--ind);color:#fff;border-radius:var(--rad-2);
  font:700 14px/1.3 "Space Grotesk",sans-serif;letter-spacing:.02em}
.ggx-strip-row h3{margin-bottom:8px;font-size:23px}
.ggx-strip-row p{font-size:17px}
.ggx-strip-row p:last-child{margin-bottom:0}

/* ---------- pricing as horizontal rows ---------------------------------- */
.ggx-plans{display:grid;gap:18px}
.ggx-plan{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;
  padding:24px;background:var(--surf);border:1px solid var(--line-2);
  border-radius:var(--rad);align-items:center}
@media (min-width:820px){
  .ggx-plan{grid-template-columns:150px minmax(0,1fr) 190px;gap:32px;
    padding:26px 30px}
}
.ggx-plan_pick{border-color:var(--ind);border-width:2px;box-shadow:var(--lift)}
.ggx-plan-flag{display:inline-block;margin-bottom:10px;padding:5px 11px;
  background:var(--pink-tn);color:var(--pink-dp);border-radius:var(--rad-2);
  font:700 11.5px/1 "Space Grotesk",sans-serif;letter-spacing:.18em;
  text-transform:uppercase}
.ggx-plan_pick .ggx-plan-flag{background:var(--ind);color:#fff}
.ggx-plan figure{display:flex;align-items:center;justify-content:center;
  min-height:120px}
.ggx-plan figure img{max-width:min(150px,100%);max-height:150px;width:auto;
  object-fit:contain}
.ggx-plan h3{margin-bottom:6px;font-size:22px}
.ggx-plan-say{margin:0 0 12px;font-size:15px;color:var(--mute)}
.ggx-plan-perks{margin:0;padding:0;list-style:none;display:grid;gap:6px}
@media (min-width:600px){.ggx-plan-perks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ggx-plan-perks li{position:relative;margin:0;padding-left:22px;font-size:15.5px;
  line-height:1.45}
.ggx-plan-perks li::before{content:"";position:absolute;left:0;top:8px;width:9px;
  height:9px;background:var(--pink);transform:rotate(45deg)}
.ggx-plan-cost{text-align:left}
@media (min-width:820px){.ggx-plan-cost{text-align:right}}
.ggx-plan-big{margin:0;font-family:"Space Grotesk",sans-serif;line-height:1;
  color:var(--ink)}
.ggx-plan-big u{text-decoration:none;font-size:20px;font-weight:700;
  vertical-align:super}
.ggx-plan-big b{font-size:46px;font-weight:700;letter-spacing:-.035em}
.ggx-plan-big span{display:block;margin-top:6px;font-size:13px;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.ggx-plan-sum{margin:6px 0 14px;font-size:15px;color:var(--body)}
.ggx-plan-ship{display:inline-block;margin-top:12px;font-size:13.5px;
  color:var(--mute)}
.ggx-pay{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.ggx-pay img{max-width:min(200px,100%)}
.ggx-pay p{margin:0;font-size:14.5px;color:var(--mute)}

/* ---------- quotes ------------------------------------------------------ */
.ggx-says{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line)}
@media (min-width:760px){.ggx-says{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1120px){.ggx-says{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ggx-say{display:flex;flex-direction:column;padding:28px 26px;
  background:var(--surf)}
.ggx-say-mark{display:block;margin-bottom:6px;
  font:700 40px/1 "Space Grotesk",sans-serif;color:var(--pink-tn)}
.ggx-say-rate{display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:14px}
.ggx-say-star{color:var(--pink-dp);letter-spacing:.14em;font-size:14.5px}
.ggx-say-week{font:700 11.5px/1 "Space Grotesk",sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mute)}
.ggx-say blockquote{flex:1;margin:0 0 20px;font-size:17px;line-height:1.68}
.ggx-say blockquote p:last-child{margin-bottom:0}
.ggx-say-who{display:flex;align-items:center;gap:12px;padding-top:16px;
  border-top:1px solid var(--line)}
.ggx-say-who img{flex:none;width:46px;height:46px;border-radius:var(--rad-2);
  object-fit:cover}
.ggx-say-who b{display:block;font-family:"Space Grotesk",sans-serif;font-size:16px}
.ggx-say-who span{display:block;font-size:13.5px;color:var(--mute)}

/* ---------- guides ------------------------------------------------------ */
.ggx-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (min-width:900px){.ggx-books{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ggx-book{padding:20px 18px;background:var(--surf);border:1px solid var(--line);
  border-radius:var(--rad-2);text-align:center;transition:border-color .18s ease}
.ggx-book:hover{border-color:var(--ind)}
.ggx-book img{max-width:min(130px,100%);margin:0 auto 14px;
  border-radius:var(--rad-2)}
.ggx-book b{display:block;margin-bottom:6px;font-family:"Space Grotesk",sans-serif;
  font-size:16px;color:var(--ink);line-height:1.3}
.ggx-book span{display:block;font-size:14.5px;line-height:1.55;color:var(--mute)}

/* ---------- marks ------------------------------------------------------- */
.ggx-marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line)}
@media (min-width:900px){.ggx-marks{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ggx-mark{padding:26px 22px;background:var(--surf)}
.ggx-mark img{max-width:min(130px,100%);margin-bottom:14px}
.ggx-mark b{display:block;margin-bottom:7px;font-family:"Space Grotesk",sans-serif;
  font-size:16.5px;color:var(--ink)}
.ggx-mark span{display:block;font-size:15px;line-height:1.58;color:var(--mute)}

/* ---------- pledge ------------------------------------------------------ */
.ggx-pledge{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;
  padding:30px;background:var(--surf);border:2px solid var(--ink);
  border-radius:var(--rad);align-items:center}
@media (min-width:820px){
  .ggx-pledge{grid-template-columns:150px minmax(0,1fr);gap:40px;padding:38px 42px}
}
.ggx-pledge img{max-width:min(150px,100%);margin-inline:auto}
.ggx-pledge h2{margin-bottom:12px}
.ggx-pledge p:last-child{margin-bottom:0}

/* ---------- callouts ---------------------------------------------------- */
.ggx-flag{margin:0 0 1.3em;padding:20px 22px;background:var(--ind-tn);
  border-left:4px solid var(--ind);border-radius:0 var(--rad-2) var(--rad-2) 0}
.ggx-flag p{margin:0;font-size:17px;line-height:1.65}
.ggx-care{margin:0 0 1.3em;padding:20px 22px;background:var(--pink-tn);
  border-left:4px solid var(--pink-dp);border-radius:0 var(--rad-2) var(--rad-2) 0;
  color:#5C1030}
.ggx-care p{margin:0;font-size:17px;line-height:1.65}
.ggx-care b{color:#3A0C20}
.ggx-pan{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.4em}

/* label panel */
.ggx-label{max-width:32rem;border:2px solid var(--ink);border-radius:var(--rad-2);
  overflow:hidden;background:var(--surf)}
.ggx-label-top{padding:16px 20px;background:var(--ink);color:#fff}
.ggx-label-top b{display:block;color:#fff;
  font:700 19px/1.2 "Space Grotesk",sans-serif}
.ggx-label-top span{display:block;margin-top:4px;font-size:13.5px;color:#ADA8D0}
.ggx-label table{font-size:15.5px}
.ggx-label th,.ggx-label td{padding:11px 20px}
.ggx-label tbody th{width:auto;background:none}
.ggx-label td{text-align:right;font-family:"Space Grotesk",sans-serif;
  font-weight:700;color:var(--ink);white-space:nowrap}
.ggx-label-foot{margin:0;padding:15px 20px;background:var(--page);
  border-top:1px solid var(--line);font-size:13.5px;line-height:1.55;
  color:var(--mute)}

/* ---------- questions --------------------------------------------------- */
.ggx-ask{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:900px){.ggx-ask{grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 24px;align-items:start}}
.ggx-ask details{background:var(--surf);border:1px solid var(--line);
  border-radius:var(--rad-2)}
.ggx-ask details[open]{border-color:var(--ind)}
.ggx-ask summary{position:relative;padding:18px 50px 18px 20px;cursor:pointer;
  list-style:none;font:700 16.5px/1.45 "Space Grotesk",sans-serif;
  color:var(--ink)}
.ggx-ask summary::-webkit-details-marker{display:none}
.ggx-ask summary::after{content:"+";position:absolute;right:20px;top:16px;
  font:700 22px/1 "Space Grotesk",sans-serif;color:var(--pink-dp)}
.ggx-ask details[open] summary::after{content:"\2013"}
.ggx-ask-a{padding:0 20px 20px}
.ggx-ask-a p{margin:0;font-size:16.5px;line-height:1.68}

/* ---------- reading ----------------------------------------------------- */
.ggx-read{max-width:42rem}
.ggx-read h2{margin-top:2.1em}
.ggx-read h2:first-child{margin-top:0}
.ggx-read h3{margin-top:1.6em;color:var(--ind)}
.ggx-read>p:last-child{margin-bottom:0}
.ggx-read img{border-radius:var(--rad-2)}
.ggx-yes,.ggx-no{list-style:none;margin:0 0 1.3em;padding:0}
.ggx-yes li,.ggx-no li{position:relative;margin-bottom:9px;padding-left:28px;
  font-size:17px;line-height:1.55}
.ggx-yes li::before{content:"";position:absolute;left:0;top:9px;width:10px;
  height:10px;background:var(--ind);transform:rotate(45deg)}
.ggx-no li::before{content:"\00d7";position:absolute;left:1px;top:-1px;
  font:700 20px/1.6 "Space Grotesk",sans-serif;color:var(--pink-dp)}

/* ---------- onward links ------------------------------------------------ */
.ggx-next{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line)}
@media (min-width:760px){.ggx-next{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ggx-next a{display:block;height:100%;padding:22px 22px 24px;
  background:var(--surf);text-decoration:none;transition:background .18s ease}
.ggx-next a:hover{background:var(--ind-tn)}
.ggx-next b{display:block;margin-bottom:6px;color:var(--ink);
  font:700 17px/1.3 "Space Grotesk",sans-serif}
.ggx-next span{display:block;font-size:15px;line-height:1.55;color:var(--mute)}
.ggx-dim .ggx-next{background:#2A2555;border-color:#2A2555}
.ggx-dim .ggx-next a{background:var(--dark-2)}
.ggx-dim .ggx-next a:hover{background:#272254}
.ggx-dim .ggx-next b{color:#fff}
.ggx-dim .ggx-next span{color:#9C97C4}

/* ---------- journal cards ----------------------------------------------- */
.ggx-notes{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:720px){.ggx-notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.ggx-notes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ggx-note{display:flex;flex-direction:column;height:100%;padding:24px 22px;
  background:var(--surf);border:1px solid var(--line);border-radius:var(--rad-2);
  transition:border-color .18s ease}
.ggx-note:hover{border-color:var(--ind)}
.ggx-note-kind{align-self:flex-start;margin-bottom:12px;padding:5px 11px;
  background:var(--page-2);color:var(--ind);border-radius:var(--rad-2);
  font:700 11px/1 "Space Grotesk",sans-serif;letter-spacing:.16em;
  text-transform:uppercase}
.ggx-note h3{margin-bottom:9px;font-size:19px}
.ggx-note h3 a{color:var(--ink);text-decoration:none}
.ggx-note h3 a:hover{color:var(--ind)}
.ggx-note p{flex:1;margin:0 0 16px;font-size:15.5px;line-height:1.6}
.ggx-note-when{margin:0;padding-top:14px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--mute)}

/* ---------- page opener ------------------------------------------------- */
.ggx-trail{padding:18px 0 0;font-size:14px;color:var(--mute)}
.ggx-trail ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;
  list-style:none}
.ggx-trail li{margin:0}
.ggx-trail li+li::before{content:"/";margin-right:8px;color:var(--line-2)}
.ggx-trail a{color:var(--mute);text-decoration:none}
.ggx-trail a:hover{color:var(--ind)}
.ggx-open{padding:10px 0 46px;background:var(--page);
  border-bottom:1px solid var(--line)}
.ggx-open-no{margin:0 0 10px;font:700 12px/1 "Space Grotesk",sans-serif;
  letter-spacing:.24em;text-transform:uppercase;color:var(--pink-dp)}
.ggx-open h1{max-width:20ch}
.ggx-open-say{max-width:42rem;margin:0;font-size:19px;color:var(--body)}

/* ---------- closing ----------------------------------------------------- */
.ggx-end{padding:60px 0;background:var(--dark);color:#B9B5D8}
.ggx-end-in{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;
  align-items:center}
@media (min-width:900px){
  .ggx-end-in{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px}
}
.ggx-end h2{color:#fff;margin-bottom:14px}
.ggx-end-art{position:relative;text-align:center}
.ggx-end-art img{margin-inline:auto;max-width:min(330px,100%)}
.ggx-end-do{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.ggx-end p{color:#B9B5D8}
.ggx-end .ggx-yes li{color:#CFCBE8}
.ggx-end .ggx-yes li::before{background:var(--pink)}
.ggx-end .ggx-btn_ghost{color:#fff;border-color:rgba(255,255,255,.34)}
.ggx-end .ggx-btn_ghost:hover{background:rgba(255,255,255,.12);color:#fff;
  border-color:#fff}

/* ---------- footer ------------------------------------------------------ */
.ggx-foot{padding:54px 0 26px;background:var(--dark-2);color:#9591BE}
.ggx-foot-top{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;
  margin-bottom:40px}
@media (min-width:900px){
  .ggx-foot-top{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:60px}
}
.ggx-foot p{font-size:15px;line-height:1.66}
.ggx-foot .ggx-brand-name{color:#fff}
.ggx-foot .ggx-brand-sub{color:#7B76A8}
.ggx-foot h4{margin-bottom:14px;color:#fff;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase}
.ggx-foot-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
@media (min-width:900px){
  .ggx-foot-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
}
.ggx-foot ul{margin:0;padding:0;list-style:none}
.ggx-foot li{margin-bottom:9px}
.ggx-foot a{color:#BEB9E0;font-size:15px;text-decoration:none}
.ggx-foot a:hover{color:#fff;text-decoration:underline}
.ggx-foot-mail{display:inline-block;color:#FFA7C6 !important;font-weight:700;
  font-size:17px}
.ggx-foot-refs{margin-top:26px}
.ggx-foot-refs img{max-width:min(260px,100%);opacity:.7}
.ggx-small{margin-top:38px;padding-top:24px;border-top:1px solid #322D62}
.ggx-small p{margin:0 0 13px;font-size:13px;line-height:1.62;color:#817CAE}
.ggx-small b{color:#A9A4CF}
.ggx-foot-end{display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:center;gap:12px;margin-top:24px;padding-top:20px;
  border-top:1px solid #322D62;font-size:13.5px;color:#817CAE}
.ggx-foot-end nav{display:flex;flex-wrap:wrap;gap:8px 16px}
.ggx-foot-end nav a{font-size:13.5px}

/* ---------- motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;scroll-behavior:auto !important}
  .ggx-tile:hover,.ggx-btn:hover{transform:none}
}
