/* ==========================================================================
   geelagen.com — official site stylesheet
   Class convention: "gln-" prefix. States are written "is-open", "is-on"
   and are only ever used alongside a gln- class. Hand written, no framework.
   Progressive enhancement: everything below assumes the page works without
   JavaScript, and .gln-js on <html> unlocks the enhanced behaviour.
   ========================================================================== */

:root{
  /* ink */
  --ink:#241826;
  --ink-2:#57405C;
  --ink-3:#8B7590;
  /* brand: plum */
  --plum:#7A2E5B;
  --plum-d:#5A1E42;
  --plum-l:#FBEAF2;
  /* accent: peach */
  --peach:#F08A5D;
  --peach-d:#CE6A3E;
  --peach-l:#FDEFE6;
  /* surfaces */
  --porc:#FFFFFF;
  --mist:#FAF6F8;
  --mist-2:#F3E9EF;
  --line:#EADFE6;
  --line-2:#D8C7D2;
  --night:#1C1220;
  --night-2:#2B1B32;
  /* shape */
  --r:14px;
  --r-lg:24px;
  --r-pill:999px;
  --pop:0 1px 2px rgba(36,24,38,.05),0 12px 34px rgba(36,24,38,.08);
  --pop-2:0 3px 8px rgba(36,24,38,.07),0 26px 64px rgba(90,30,66,.15);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.gln-js{scroll-behavior:smooth}
body{margin:0;background:var(--porc);color:var(--ink-2);
  font:19px/1.74 Rubik,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0 0 .5em;color:var(--ink);
  font-family:"Plus Jakarta Sans",Rubik,Helvetica,Arial,sans-serif;
  font-weight:800;letter-spacing:-.028em;line-height:1.15}
h1{font-size:36px}
h2{font-size:29px}
h3{font-size:21px;letter-spacing:-.016em}
h4{font-size:17.5px}
p{margin:0 0 1.15em}
a{color:var(--plum);text-decoration:none}
a:hover{text-decoration:underline}
b,strong{color:var(--ink);font-weight:600}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin-bottom:.5em}
table{width:100%;border-collapse:collapse;font-size:17px}
th,td{padding:14px 16px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line)}
thead th{background:var(--plum);color:#fff;border-bottom:0;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:15.5px;
  white-space:nowrap}
tbody th{width:36%;color:var(--ink);font-weight:600;background:var(--mist)}
:focus-visible{outline:3px solid var(--peach);outline-offset:3px}
::selection{background:var(--plum);color:#fff}

@media (min-width:760px){h1{font-size:50px}h2{font-size:36px}h3{font-size:23px}}
@media (min-width:1180px){h1{font-size:62px}h2{font-size:41px}}

/* ---------- shell ------------------------------------------------------- */
.gln-shell{width:100%;max-width:1240px;margin:0 auto;padding:0 22px}
.gln-shell--slim{max-width:940px}
.gln-skip{position:absolute;left:-9999px;top:0;z-index:200;padding:13px 20px;
  background:var(--night);color:#fff;border-radius:0 0 var(--r) 0}
.gln-skip:focus{left:0}
.gln-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- notice bar -------------------------------------------------- */
.gln-notice{background:var(--night);color:#E3D2E6;font-size:14.5px}
.gln-notice p{margin:0;padding:11px 0;text-align:center;line-height:1.5}
.gln-notice b{color:#fff;font-weight:600}
.gln-notice i{font-style:normal;color:var(--peach);margin:0 12px}

/* ---------- header ------------------------------------------------------ */
.gln-head{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--line);backdrop-filter:saturate(170%) blur(8px);
  transition:box-shadow .2s}
.gln-head.is-stuck{box-shadow:0 6px 26px rgba(36,24,38,.09)}
.gln-head-in{display:flex;align-items:center;gap:20px;min-height:72px}
.gln-logo{display:flex;align-items:center;gap:11px;flex:none}
.gln-logo img{width:38px;height:38px}
.gln-logo b{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;
  font-size:25px;letter-spacing:-.035em;color:var(--ink);line-height:1}
.gln-logo b i{font-style:normal;color:var(--plum)}
.gln-logo span{display:block;margin-top:3px;font-size:9.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--ink-3);font-weight:500}
.gln-nav{display:none}
.gln-nav a{padding:10px 12px;color:var(--ink-2);font-size:16px;font-weight:500;
  border-radius:9px}
.gln-nav a:hover{background:var(--plum-l);color:var(--plum-d);text-decoration:none}
.gln-nav a[aria-current]{color:var(--plum);background:var(--plum-l);font-weight:600}
.gln-head-cta{display:none;margin-left:auto}
.gln-burger{margin-left:auto;display:inline-flex;align-items:center;gap:9px;
  padding:11px 15px;background:none;border:1px solid var(--line-2);
  border-radius:10px;color:var(--ink);font:600 15px/1 Rubik,sans-serif;
  cursor:pointer}
.gln-burger:hover{text-decoration:none;border-color:var(--plum);color:var(--plum)}
.gln-burger span{position:relative;display:block;width:17px;height:2px;
  background:var(--ink);border-radius:2px}
.gln-burger span::before,.gln-burger span::after{content:"";position:absolute;
  left:0;width:17px;height:2px;background:var(--ink);border-radius:2px}
.gln-burger span::before{top:-6px}
.gln-burger span::after{top:6px}
@media (min-width:1100px){
  .gln-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
  .gln-head-cta{display:block;margin-left:14px}
  .gln-burger{display:none}
}

/* drawer: a plain anchor target without JS, an overlay panel with it */
.gln-drawer{border-top:1px solid var(--line);background:var(--mist)}
.gln-drawer-in{padding:20px 0 28px}
.gln-drawer h4{margin-bottom:12px;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3)}
.gln-drawer ul{margin:0 0 20px;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.gln-drawer li{margin:0}
.gln-drawer a{display:block;padding:11px 12px;border-radius:9px;
  color:var(--ink-2);font-size:16.5px}
.gln-drawer a:hover{background:var(--porc);text-decoration:none;color:var(--plum-d)}
.gln-js .gln-drawer{display:none;position:fixed;inset:72px 0 0;z-index:88;
  overflow-y:auto;border-top:1px solid var(--line)}
.gln-js .gln-drawer.is-open{display:block}
@media (min-width:1100px){.gln-js .gln-drawer,.gln-drawer{display:none}}

/* ---------- buttons ----------------------------------------------------- */
.gln-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 32px;border:0;border-radius:var(--r-pill);cursor:pointer;
  background:linear-gradient(135deg,var(--plum) 0%,#9A3A6E 100%);color:#fff;
  font:700 18px/1.15 "Plus Jakarta Sans",sans-serif;letter-spacing:-.008em;
  box-shadow:0 10px 26px rgba(122,46,91,.3);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s}
.gln-btn:hover{color:#fff;text-decoration:none;transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(122,46,91,.36);filter:saturate(115%)}
.gln-btn i{font-style:normal;transition:transform .18s var(--ease)}
.gln-btn:hover i{transform:translateX(4px)}
.gln-btn--peach{background:linear-gradient(135deg,var(--peach) 0%,#F5A87F 100%);
  color:#4A2412;box-shadow:0 10px 26px rgba(240,138,93,.34)}
.gln-btn--peach:hover{color:#4A2412;box-shadow:0 16px 36px rgba(240,138,93,.4)}
.gln-btn--line{background:none;color:var(--ink);border:2px solid var(--line-2);
  box-shadow:none;padding:15px 28px}
.gln-btn--line:hover{border-color:var(--plum);color:var(--plum);
  background:var(--plum-l);transform:none;box-shadow:none}
.gln-btn--sm{padding:11px 22px;font-size:15.5px;box-shadow:none}
.gln-btn--sm:hover{box-shadow:0 8px 20px rgba(122,46,91,.28)}
.gln-btn--full{width:100%}
.gln-dark .gln-btn--line{color:#fff;border-color:rgba(255,255,255,.32)}
.gln-dark .gln-btn--line:hover{background:rgba(255,255,255,.12);color:#fff;
  border-color:rgba(255,255,255,.6)}

/* ---------- sections ---------------------------------------------------- */
.gln-sec{padding:58px 0}
@media (min-width:900px){.gln-sec{padding:86px 0}}
.gln-sec--porc{background:var(--porc)}
.gln-sec--mist{background:var(--mist)}
.gln-sec--mist2{background:var(--mist-2)}
.gln-sec--plum{background:var(--plum-l)}
.gln-sec--peach{background:var(--peach-l)}
.gln-dark{background:var(--night);color:#CBB6D2}
.gln-dark h1,.gln-dark h2,.gln-dark h3,.gln-dark h4{color:#fff}
.gln-dark b,.gln-dark strong{color:#fff}
.gln-dark a{color:#F5B6D3}

/* centred heading with a small script-flavoured eyebrow */
.gln-title{max-width:740px;margin:0 auto 44px;text-align:center}
.gln-title--left{margin-inline:0;text-align:left}
.gln-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;
  padding:8px 18px;border-radius:var(--r-pill);background:var(--plum-l);
  color:var(--plum-d);font:600 12.5px/1 Rubik,sans-serif;letter-spacing:.16em;
  text-transform:uppercase}
.gln-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--peach)}
.gln-sec--plum .gln-eyebrow{background:var(--porc)}
.gln-dark .gln-eyebrow{background:rgba(240,138,93,.16);color:#FFC4A3}
.gln-title p{margin:16px 0 0;font-size:19.5px;color:var(--ink-3)}
.gln-dark .gln-title p{color:#A691AC}

/* ---------- grids ------------------------------------------------------- */
.gln-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.gln-grid--2,.gln-grid--3,.gln-grid--4{display:grid;
  grid-template-columns:minmax(0,1fr);gap:24px}
.gln-duo{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;
  align-items:center}
@media (min-width:680px){
  .gln-grid--2,.gln-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:980px){
  .gln-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gln-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gln-duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
  .gln-duo--wide{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
  .gln-duo--swap > *:first-child{order:2}
}

/* ---------- hero -------------------------------------------------------- */
.gln-hero{position:relative;overflow:hidden;padding:44px 0 60px;
  background:radial-gradient(120% 90% at 78% 8%,var(--plum-l) 0%,transparent 58%),
             radial-gradient(90% 70% at 4% 96%,var(--peach-l) 0%,transparent 55%),
             var(--porc)}
@media (min-width:900px){.gln-hero{padding:66px 0 86px}}
.gln-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:38px;
  align-items:center}
@media (min-width:980px){
  .gln-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:58px}
}
.gln-duo img{border-radius:var(--r-lg)}
.gln-prose img{border-radius:var(--r-lg)}
.gln-hero h1{letter-spacing:-.04em}
.gln-hero h1 em{font-style:normal;
  background:linear-gradient(120deg,var(--plum) 0%,var(--peach-d) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.gln-hero-lede{max-width:34em;margin-bottom:26px;font-size:20.5px;line-height:1.68;
  color:var(--ink-2)}
.gln-stars{display:inline-flex;align-items:center;gap:11px;margin-bottom:20px;
  padding:9px 18px;border-radius:var(--r-pill);background:var(--porc);
  border:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.gln-stars b{color:var(--peach-d);letter-spacing:.13em;font-size:15px}
.gln-hero-shot{position:relative;text-align:center}
.gln-hero-shot > img{margin-inline:auto;max-width:min(410px,100%)}
@media (min-width:980px){.gln-hero-shot > img{max-width:min(490px,100%)}}
.gln-hero-shot img.gln-ring{position:absolute;right:1%;bottom:3%;width:104px;
  height:104px;max-width:104px;
  filter:drop-shadow(0 12px 28px rgba(36,24,38,.24))}

/* floating benefit pills beside the bottle */
.gln-float{display:none}
@media (min-width:1100px){
  .gln-float{display:block;position:absolute;left:-6%;top:16%;width:210px}
  .gln-float + .gln-float{top:auto;bottom:30%;left:auto;right:-4%}
}
.gln-float p{margin:0;padding:14px 18px;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r-pill);
  box-shadow:var(--pop);font-size:15px;line-height:1.4;color:var(--ink)}
.gln-float p b{display:block;font-family:"Plus Jakarta Sans",sans-serif;
  font-size:15.5px}

/* hero tick list */
.gln-ticks{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:11px}
@media (min-width:620px){.gln-ticks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gln-ticks li{position:relative;margin:0;padding-left:32px;font-size:16.5px;
  line-height:1.5}
.gln-ticks li::before{content:"";position:absolute;left:0;top:2px;width:21px;
  height:21px;border-radius:50%;background:var(--plum-l)
   url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A2E5B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")
   center/12px no-repeat}
.gln-dark .gln-ticks li::before{background-color:rgba(245,182,211,.2)}
.gln-crosses{list-style:none;margin:0 0 1.4em;padding:0}
.gln-crosses li{position:relative;margin-bottom:11px;padding-left:32px;
  font-size:17.5px;line-height:1.6}
.gln-crosses li::before{content:"";position:absolute;left:0;top:4px;width:21px;
  height:21px;border-radius:50%;background:var(--peach-l)
   url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CE6A3E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E")
   center/11px no-repeat}

/* strip of four numbers */
.gln-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
  margin-top:42px;padding-top:34px;border-top:1px solid var(--line)}
@media (min-width:900px){.gln-figures{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gln-figures div{text-align:center}
.gln-figures b{display:block;font:800 30px/1 "Plus Jakarta Sans",sans-serif;
  background:linear-gradient(120deg,var(--plum),var(--peach-d));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.gln-figures span{display:block;margin-top:8px;font-size:14.5px;line-height:1.45;
  color:var(--ink-3)}

/* ---------- cards ------------------------------------------------------- */
.gln-card{height:100%;padding:30px 28px;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),
             border-color .22s}
.gln-card:hover{transform:translateY(-4px);box-shadow:var(--pop-2);
  border-color:var(--plum-l)}
.gln-card p{margin:0;font-size:16.5px;line-height:1.65}
.gln-card h3{margin-bottom:10px}
.gln-badge{display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;margin-bottom:18px;border-radius:16px;
  background:linear-gradient(140deg,var(--plum-l),#F7DCE9);color:var(--plum)}
.gln-badge svg{width:25px;height:25px}
.gln-badge--peach{background:linear-gradient(140deg,var(--peach-l),#FBD9C4);
  color:var(--peach-d)}

/* numbered step */
.gln-step{position:relative;height:100%;padding:30px 26px 26px;
  background:var(--porc);border:1px solid var(--line);border-radius:var(--r-lg)}
.gln-step-n{position:absolute;top:-16px;left:26px;display:inline-flex;
  align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:50%;background:var(--plum);color:#fff;
  font:800 17px/1 "Plus Jakarta Sans",sans-serif;
  box-shadow:0 8px 20px rgba(122,46,91,.3)}
.gln-step h3{margin:14px 0 9px}
.gln-step p{margin:0;font-size:16.5px;line-height:1.65}

/* benefit row card */
.gln-gain{display:flex;gap:18px;height:100%;padding:26px 24px;
  background:var(--porc);border:1px solid var(--line);border-radius:var(--r-lg)}
.gln-gain .gln-badge{flex:none;margin-bottom:0;width:48px;height:48px}
.gln-gain h3{margin-bottom:7px;font-size:19px}
.gln-gain p{margin:0;font-size:16.5px;line-height:1.62}

/* ---------- tabs: what's inside ---------------------------------------- */
.gln-tabs{display:none}
.gln-js .gln-tabs{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;
  margin-bottom:34px}
.gln-tabs button{padding:11px 20px;border:1px solid var(--line-2);
  border-radius:var(--r-pill);background:var(--porc);color:var(--ink-2);
  font:600 15.5px/1 Rubik,sans-serif;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s}
.gln-tabs button:hover{border-color:var(--plum);color:var(--plum)}
.gln-tabs button[aria-selected="true"]{background:var(--plum);color:#fff;
  border-color:var(--plum)}
.gln-panels{display:grid;gap:24px}
.gln-js .gln-panels{display:block}
.gln-js .gln-panel[hidden]{display:none}
.gln-panel{background:var(--porc);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden}
.gln-panel-grid{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:820px){
  .gln-panel-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
}
.gln-panel figure{position:relative;margin:0;min-height:230px;
  background:var(--mist-2);overflow:hidden}
.gln-panel figure img{width:100%;height:230px;object-fit:cover}
@media (min-width:820px){
  .gln-panel figure img{position:absolute;inset:0;width:100%;height:100%}
}
.gln-panel-body{padding:30px 28px}
.gln-panel-dose{display:inline-flex;align-items:baseline;gap:8px;
  margin-bottom:14px;padding:7px 16px;border-radius:var(--r-pill);
  background:var(--peach-l);color:var(--peach-d);
  font:700 15px/1 "Plus Jakarta Sans",sans-serif}
.gln-panel-dose span{font-size:12px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase}
.gln-panel-body p{font-size:17px;line-height:1.68}
.gln-panel-body p:last-child{margin-bottom:0}

/* ---------- reviews slider --------------------------------------------- */
.gln-rail{display:grid;gap:24px}
.gln-js .gln-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding-bottom:8px;
  scrollbar-width:none}
.gln-js .gln-rail::-webkit-scrollbar{display:none}
.gln-js .gln-rail > *{flex:0 0 100%;scroll-snap-align:start;height:auto}
@media (min-width:760px){.gln-js .gln-rail > *{flex:0 0 calc(50% - 12px)}}
@media (min-width:1080px){.gln-js .gln-rail > *{flex:0 0 calc(33.333% - 16px)}}
.gln-quote{height:100%;padding:30px 28px;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--pop)}
.gln-quote-top{display:flex;align-items:center;justify-content:space-between;
  gap:14px;margin-bottom:16px}
.gln-quote-stars{color:var(--peach-d);letter-spacing:.16em;font-size:15px}
.gln-quote-when{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);font-weight:500}
.gln-quote blockquote{margin:0 0 20px;font-size:17.5px;line-height:1.7;
  color:var(--ink-2)}
.gln-quote blockquote p{margin:0 0 .9em}
.gln-quote blockquote p:last-child{margin-bottom:0}
.gln-quote-who{display:flex;align-items:center;gap:14px;padding-top:18px;
  border-top:1px solid var(--line)}
.gln-quote-who img{flex:none;width:50px;height:50px;border-radius:50%;
  object-fit:cover}
.gln-quote-who b{display:block;font-size:16.5px;color:var(--ink);
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700}
.gln-quote-who span{display:block;font-size:14px;color:var(--ink-3)}
.gln-railnav{display:none}
.gln-js .gln-railnav{display:flex;align-items:center;justify-content:center;
  gap:18px;margin-top:30px}
.gln-railnav button{display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--line-2);border-radius:50%;
  background:var(--porc);color:var(--ink);cursor:pointer;transition:.18s}
.gln-railnav button:hover:not(:disabled){border-color:var(--plum);
  color:var(--plum);background:var(--plum-l)}
.gln-railnav button:disabled{opacity:.35;cursor:default}
.gln-railnav svg{width:19px;height:19px}
.gln-dots{display:flex;gap:9px}
.gln-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:var(--line-2);cursor:pointer;transition:.18s}
.gln-dots button.is-on{background:var(--plum);width:26px;border-radius:9px}

/* ---------- packages ---------------------------------------------------- */
.gln-packs{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;
  align-items:start}
@media (min-width:980px){
  .gln-packs{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.gln-pack{position:relative;display:flex;flex-direction:column;height:100%;
  background:var(--porc);border:2px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.gln-pack:hover{border-color:var(--plum-l);box-shadow:var(--pop)}
.gln-pack.is-best{border-color:var(--plum);box-shadow:var(--pop-2)}
@media (min-width:980px){.gln-pack.is-best{transform:scale(1.035)}}
.gln-pack-flag{margin:0;padding:12px;text-align:center;background:var(--mist-2);
  color:var(--ink-2);font:700 12px/1 "Plus Jakarta Sans",sans-serif;
  letter-spacing:.18em;text-transform:uppercase}
.gln-pack.is-best .gln-pack-flag{
  background:linear-gradient(135deg,var(--plum),#9A3A6E);color:#fff}
.gln-pack-in{display:flex;flex-direction:column;flex:1;padding:30px 26px 28px;
  text-align:center}
.gln-pack-in h3{margin-bottom:4px}
.gln-pack-sup{margin:0 0 18px;font-size:13.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3)}
.gln-pack figure{display:flex;align-items:flex-end;justify-content:center;
  height:200px;margin:0 auto 18px}
.gln-pack figure img{max-width:min(190px,100%);max-height:200px;width:auto;
  object-fit:contain;margin-inline:auto}
.gln-pack-price{margin:0;font-family:"Plus Jakarta Sans",sans-serif;line-height:1;
  color:var(--ink)}
.gln-pack-price u{text-decoration:none;font-size:22px;font-weight:800;
  vertical-align:super}
.gln-pack-price b{font-size:56px;font-weight:800;letter-spacing:-.04em}
.gln-pack-price span{display:inline-block;margin-left:7px;text-align:left;
  font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-3);line-height:1.2}
.gln-pack-total{margin:10px 0 16px;font-size:16.5px;color:var(--ink-2)}
.gln-pack-list{flex:1;margin:18px 0 22px;padding:0;list-style:none;
  text-align:left}
.gln-pack-list li{position:relative;margin-bottom:10px;padding-left:28px;
  font-size:16px;line-height:1.52}
.gln-pack-list li::before{content:"";position:absolute;left:0;top:4px;width:18px;
  height:18px;border-radius:50%;background:var(--plum-l)
   url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A2E5B' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")
   center/10px no-repeat}
.gln-ship{display:inline-block;padding:7px 16px;border-radius:var(--r-pill);
  font-size:13.5px;font-weight:600}
.gln-ship--free{background:var(--plum-l);color:var(--plum-d)}
.gln-ship--add{background:var(--mist-2);color:var(--ink-3)}
.gln-pack-pay{margin:16px 0 0}
.gln-pack-pay img{max-width:min(175px,100%);margin-inline:auto}

/* live summary line under the packages, filled in by JS */
.gln-summary{display:none}
.gln-js .gln-summary{display:block;max-width:640px;margin:34px auto 0;
  padding:20px 24px;text-align:center;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r-lg)}
.gln-summary p{margin:0;font-size:17px}
.gln-summary b{font-family:"Plus Jakarta Sans",sans-serif}

/* ---------- callouts + tables ------------------------------------------ */
.gln-note{margin:0 0 1.4em;padding:22px 26px;background:var(--mist);
  border-left:4px solid var(--plum);border-radius:0 var(--r) var(--r) 0}
.gln-note p{margin:0;font-size:17.5px;line-height:1.68}
.gln-warn{margin:0 0 1.4em;padding:22px 26px;background:var(--peach-l);
  border-left:4px solid var(--peach-d);border-radius:0 var(--r) var(--r) 0;
  color:#6A3418}
.gln-warn p{margin:0;font-size:17.5px;line-height:1.68}
.gln-warn b{color:#4A2412}
.gln-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5em}

/* supplement panel */
.gln-facts{max-width:34rem;border:2px solid var(--ink);border-radius:var(--r);
  overflow:hidden;background:var(--porc)}
.gln-facts-hd{padding:17px 22px;background:var(--ink);color:#fff}
.gln-facts-hd b{display:block;color:#fff;
  font:800 20px/1.2 "Plus Jakarta Sans",sans-serif}
.gln-facts-hd span{display:block;margin-top:5px;font-size:14px;color:#BCA7C2}
.gln-facts table{font-size:16px}
.gln-facts th,.gln-facts td{padding:12px 22px}
.gln-facts tbody th{width:auto;background:none}
.gln-facts td{text-align:right;font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:700;color:var(--ink);white-space:nowrap}
.gln-facts-ft{margin:0;padding:16px 22px;background:var(--mist);
  border-top:1px solid var(--line);font-size:14px;line-height:1.58;
  color:var(--ink-3)}

/* ---------- FAQ --------------------------------------------------------- */
.gln-faq{max-width:52rem;margin-inline:auto}
.gln-faq details{margin-bottom:12px;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gln-faq summary{position:relative;padding:20px 58px 20px 24px;cursor:pointer;
  list-style:none;font:700 17.5px/1.45 "Plus Jakarta Sans",sans-serif;
  color:var(--ink)}
.gln-faq summary::-webkit-details-marker{display:none}
.gln-faq summary::after{content:"";position:absolute;right:24px;top:26px;
  width:14px;height:2px;background:var(--plum);transition:transform .2s}
.gln-faq summary::before{content:"";position:absolute;right:30px;top:20px;
  width:2px;height:14px;background:var(--plum);transition:transform .2s,opacity .2s}
.gln-faq details[open] summary{background:var(--plum-l);color:var(--plum-d)}
.gln-faq details[open] summary::before{transform:rotate(90deg);opacity:0}
.gln-faq-a{padding:0 24px 22px}
.gln-faq-a p{margin:0;font-size:17px;line-height:1.7}

/* ---------- prose ------------------------------------------------------- */
.gln-prose{max-width:44rem}
.gln-prose--mid{margin-inline:auto}
.gln-prose h2{margin-top:2.4em}
.gln-prose h2:first-child{margin-top:0}
.gln-prose h3{margin-top:1.7em;color:var(--plum-d)}
.gln-prose > p:last-child{margin-bottom:0}

/* ---------- link cards -------------------------------------------------- */
.gln-more{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:680px){.gln-more{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gln-more a{display:block;height:100%;padding:24px 26px;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.gln-more a:hover{text-decoration:none;border-color:var(--plum);
  transform:translateY(-4px);box-shadow:var(--pop)}
.gln-more b{display:block;margin-bottom:6px;color:var(--ink);
  font:700 17.5px/1.3 "Plus Jakarta Sans",sans-serif}
.gln-more span{display:block;font-size:15.5px;line-height:1.58;color:var(--ink-3)}
.gln-dark .gln-more a{background:var(--night-2);border-color:#3C2A44}
.gln-dark .gln-more b{color:#fff}
.gln-dark .gln-more span{color:#A691AC}

/* ---------- article cards ---------------------------------------------- */
.gln-post{display:flex;flex-direction:column;height:100%;padding:28px 26px;
  background:var(--porc);border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform .2s var(--ease),box-shadow .2s}
.gln-post:hover{transform:translateY(-4px);box-shadow:var(--pop)}
.gln-post-tag{align-self:flex-start;margin-bottom:14px;padding:6px 14px;
  border-radius:var(--r-pill);background:var(--peach-l);color:var(--peach-d);
  font:600 11.5px/1 Rubik,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.gln-post h3{margin-bottom:10px;font-size:19.5px}
.gln-post h3 a{color:var(--ink)}
.gln-post h3 a:hover{color:var(--plum);text-decoration:none}
.gln-post p{flex:1;margin:0 0 18px;font-size:16px;line-height:1.62}
.gln-post-meta{margin:0;padding-top:16px;border-top:1px solid var(--line);
  font-size:14px;color:var(--ink-3)}

/* ---------- crumbs + page head ----------------------------------------- */
.gln-crumbs{padding:20px 0 0;font-size:14.5px;color:var(--ink-3)}
.gln-crumbs ol{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;
  list-style:none}
.gln-crumbs li{margin:0}
.gln-crumbs li+li::before{content:"\203A";margin-right:9px;color:var(--line-2)}
.gln-pagetop{padding:14px 0 52px;
  background:linear-gradient(180deg,var(--mist) 0%,var(--porc) 100%);
  border-bottom:1px solid var(--line)}
.gln-kicker{margin:0 0 12px;font:600 12px/1 Rubik,sans-serif;letter-spacing:.2em;
  text-transform:uppercase;color:var(--plum)}
.gln-pagetop-lede{max-width:44rem;margin:0;font-size:20px;color:var(--ink-2)}

/* ---------- trust marks, gifts, guarantee ------------------------------- */
.gln-marks figure{margin:0;text-align:center}
.gln-marks img{max-width:min(150px,100%);margin:0 auto 14px}
.gln-marks b{display:block;margin-bottom:6px;color:var(--ink);
  font:700 16.5px/1.3 "Plus Jakarta Sans",sans-serif}
.gln-marks span{display:block;font-size:15px;line-height:1.58;color:var(--ink-3)}
.gln-gift{height:100%;padding:24px 20px;text-align:center;background:var(--porc);
  border:1px solid var(--line);border-radius:var(--r-lg);transition:.2s var(--ease)}
.gln-gift:hover{transform:translateY(-4px);box-shadow:var(--pop)}
.gln-gift img{max-width:min(126px,100%);margin:0 auto 16px}
.gln-gift b{display:block;margin-bottom:7px;color:var(--ink);
  font:700 16.5px/1.3 "Plus Jakarta Sans",sans-serif}
.gln-gift span{display:block;font-size:15px;line-height:1.58;color:var(--ink-3)}
.gln-promise{padding:34px 32px;background:var(--porc);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--pop)}
.gln-promise img{max-width:min(140px,100%);margin-inline:auto}

/* ---------- sources ----------------------------------------------------- */
.gln-cites{max-width:52rem;margin:0;padding-left:1.35em;font-size:16.5px}
.gln-cites li{margin-bottom:14px;line-height:1.64}
.gln-cites a{word-break:break-word}

/* ---------- closing ----------------------------------------------------- */
.gln-close{position:relative;overflow:hidden;padding:70px 0;color:#CBB6D2;
  background:radial-gradient(90% 120% at 80% 0%,#4A1C3A 0%,transparent 60%),
             linear-gradient(150deg,var(--night) 0%,#3A1730 60%,#5A1E42 130%)}
.gln-close h2{color:#fff}

/* ---------- footer ------------------------------------------------------ */
.gln-foot{padding:62px 0 28px;background:var(--night);color:#9A85A2}
.gln-foot-top{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;
  margin-bottom:44px}
@media (min-width:900px){
  .gln-foot-top{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:70px}
}
.gln-foot p{font-size:15.5px;line-height:1.68}
.gln-foot .gln-logo b{color:#fff}
.gln-foot .gln-logo span{color:#7A6480}
.gln-foot h4{margin-bottom:16px;color:#fff;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase}
.gln-foot-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
@media (min-width:900px){
  .gln-foot-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
}
.gln-foot ul{margin:0;padding:0;list-style:none}
.gln-foot li{margin-bottom:10px}
.gln-foot a{color:#C0AAC7;font-size:15.5px}
.gln-foot a:hover{color:#fff}
.gln-foot-mail{display:inline-block;color:#F5B6D3 !important;font-weight:600;
  font-size:17.5px}
.gln-fine{margin-top:44px;padding-top:28px;border-top:1px solid #3A2842}
.gln-fine p{margin:0 0 14px;font-size:13.5px;line-height:1.64;color:#87738D}
.gln-fine b{color:#B3A0B9}
.gln-foot-end{display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:center;gap:14px;margin-top:26px;padding-top:22px;
  border-top:1px solid #3A2842;font-size:14px;color:#87738D}
.gln-foot-end nav{display:flex;flex-wrap:wrap;gap:10px 18px}
.gln-foot-end nav a{font-size:14px}
@media (min-width:900px){.gln-foot-end nav{justify-content:flex-end}}

/* ---------- sticky mobile CTA + back to top ---------------------------- */
.gln-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  background:rgba(28,18,32,.97);backdrop-filter:blur(6px)}
.gln-bar .gln-btn{width:100%;padding:14px 20px;font-size:16.5px}
body{padding-bottom:82px}
@media (min-width:1100px){.gln-bar{display:none}body{padding-bottom:0}}
.gln-top{display:none}
.gln-js .gln-top{display:inline-flex;position:fixed;right:22px;bottom:96px;
  z-index:79;align-items:center;justify-content:center;width:48px;height:48px;
  border:1px solid var(--line-2);border-radius:50%;background:var(--porc);
  color:var(--ink);cursor:pointer;box-shadow:var(--pop);opacity:0;
  transform:translateY(12px);pointer-events:none;transition:.25s var(--ease)}
.gln-js .gln-top.is-on{opacity:1;transform:none;pointer-events:auto}
.gln-top svg{width:20px;height:20px}
@media (min-width:1100px){.gln-js .gln-top{bottom:28px}}

/* ---------- scroll reveal ---------------------------------------------- */
.gln-js .gln-rise{opacity:0;transform:translateY(22px);
  transition:opacity .6s var(--ease),transform .6s var(--ease)}
.gln-js .gln-rise.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html.gln-js{scroll-behavior:auto}
  .gln-js .gln-rise{opacity:1;transform:none;transition:none}
  .gln-btn,.gln-card,.gln-more a,.gln-post,.gln-gift{transition:none}
  .gln-btn:hover,.gln-card:hover,.gln-more a:hover,.gln-post:hover,
  .gln-gift:hover{transform:none}
}
