/* glpc.css — glpatcch.com (GLPro Patch). Bootstrap 5.3.3 base + custom design system. */
:root{
  --teal:#0B6E7C; --teal2:#0E8B99; --teal3:#083F47;
  --gold:#C89B4C; --coral:#F2764F;
  --ink:#162423; --mut:#5B6B69; --line:#DCE6E5;
  --ground:#F5FAF9; --cream:#FFFFFF; --deep:#0A2C31;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
body{
  font-family:'Work Sans',sans-serif; font-size:18px; line-height:1.65;
  color:var(--ink); background:var(--cream); overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Manrope',sans-serif; font-weight:800; color:var(--deep);
  overflow-wrap:break-word; word-break:break-word; hyphens:auto; letter-spacing:-0.01em;
}
h1{font-size:clamp(2rem,5vw,3.3rem); line-height:1.08}
h2{font-size:clamp(1.6rem,3.6vw,2.5rem); line-height:1.14}
h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}
p{margin-bottom:1rem}
a{color:var(--teal); text-decoration:none}
a:hover{color:var(--teal2)}
img{max-width:100%; height:auto}
.container{max-width:1200px}
@media (max-width:400px){h1{font-size:clamp(1.6rem,8vw,2.1rem)}}

/* ── buttons ───────────────────────────────────────────────────────── */
.glpc-btn{
  font-family:'Manrope',sans-serif; font-weight:700; border-radius:999px;
  padding:.85rem 1.7rem; border:none; transition:transform .15s ease, box-shadow .15s ease;
  white-space:normal;
}
.glpc-btn--solid{background:linear-gradient(135deg,var(--coral),#e35f38); color:#fff; box-shadow:0 10px 24px -8px rgba(242,118,79,.55)}
.glpc-btn--solid:hover{transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(242,118,79,.65); color:#fff}
.glpc-btn--outline{background:#fff; color:var(--teal); border:2px solid var(--teal)}
.glpc-btn--outline:hover{background:var(--teal); color:#fff}
.glpc-btn--sm{padding:.55rem 1.2rem; font-size:.92rem}

/* ── announcement + header ────────────────────────────────────────── */
.glpc-announce{background:var(--deep); color:#fff; text-align:center; font-size:.82rem; padding:7px 12px; font-weight:500}
.glpc-header{background:rgba(255,255,255,.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); z-index:1030}
.glpc-navbar{padding:.7rem 0}
.glpc-logo{color:var(--deep)}
.glpc-logo__word{font-family:'Manrope',sans-serif; font-weight:800; font-size:1.15rem; color:var(--deep)}
.glpc-logo__word b{color:var(--teal)}
.glpc-navbar .nav-link{font-weight:600; color:var(--ink); padding:.5rem .9rem}
.glpc-navbar .nav-link:hover{color:var(--teal)}
#glpc-burger{border:1px solid var(--line); border-radius:10px; font-size:1.4rem; line-height:1; background:#fff}

/* ── hero ──────────────────────────────────────────────────────────── */
.glpc-hero{background:radial-gradient(ellipse at 80% 0%, #E7F3F2 0%, var(--ground) 55%); padding:56px 0 40px; overflow:clip}
.glpc-eyebrow{display:inline-flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--line); border-radius:999px; padding:.4rem .9rem; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--teal)}
.glpc-hero__list{list-style:none; padding:0; margin:1.1rem 0}
.glpc-hero__list li{display:flex; gap:.6rem; margin-bottom:.55rem; font-weight:500}
.glpc-hero__list i{color:var(--teal); font-size:1.15rem; flex:none; margin-top:.15rem}
.glpc-numbox{background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px; height:100%}
.glpc-numbox__n{font-family:'Manrope',sans-serif; font-weight:800; color:var(--gold); font-size:1.3rem}
.glpc-numbox small{display:block; font-weight:600; color:var(--ink); font-size:.86rem; margin-top:.2rem}
.glpc-secure{font-size:.85rem; color:var(--mut); margin-top:.6rem}
.glpc-hero__table{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:.95rem}
.glpc-hero__table th,.glpc-hero__table td{padding:.6rem .8rem; border-bottom:1px solid var(--line); text-align:left}
.glpc-hero__table tr:last-child th,.glpc-hero__table tr:last-child td{border-bottom:none}
.glpc-hero__table th{color:var(--mut); font-weight:600; width:44%}
.glpc-hero__img-wrap{position:relative}
.glpc-hero__img{border-radius:22px; box-shadow:0 30px 60px -20px rgba(10,44,49,.35)}
.glpc-hero__badge{position:absolute; background:#fff; border-radius:14px; box-shadow:0 10px 26px -10px rgba(10,44,49,.3); padding:10px 14px; font-weight:700; font-size:.85rem; display:flex; align-items:center; gap:.5rem}
.glpc-hero__badge--top{top:-14px; left:-14px}
.glpc-hero__badge--bot{bottom:12px; right:-14px}
.glpc-hero__badge i{color:var(--coral); font-size:1.2rem}

/* ── plates / visualizations ──────────────────────────────────────── */
.glpc-plate{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 16px 12px; margin:0}
.glpc-plate__ttl{font-family:'Manrope',sans-serif; font-weight:800; font-size:.72rem; letter-spacing:.08em; color:var(--teal); text-transform:uppercase; margin-bottom:8px}
.glpc-plate__svg{width:100%; height:auto; display:block}
.glpc-plate__cap{font-size:.76rem; color:var(--mut); margin-top:8px; margin-bottom:0}
.glpc-plate__legend{display:flex; flex-wrap:wrap; gap:14px; font-size:.78rem; margin-top:8px; color:var(--mut)}
.glpc-dot{display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px}
.glpc-curve-line{stroke-dasharray:400; stroke-dashoffset:400; transition:stroke-dashoffset 1.1s ease}
.is-in .glpc-curve-line{stroke-dashoffset:0}
.glpc-ig-bar{transform:scaleY(0); transform-box:fill-box; transform-origin:bottom; transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.is-in .glpc-ig-bar{transform:scaleY(1)}
.glpc-nn-node{opacity:0; transform:scale(.4); transform-box:fill-box; transform-origin:center; transition:all .5s ease}
.is-in .glpc-nn-node{opacity:1; transform:scale(1)}
.glpc-nn-edge{stroke-dasharray:60; stroke-dashoffset:60; transition:stroke-dashoffset .6s ease}
.is-in .glpc-nn-edge{stroke-dashoffset:0}

/* ── wave dividers ─────────────────────────────────────────────────── */
.glpc-wave{display:block; width:100%; line-height:0; margin:0}
.glpc-wave svg{width:100%; height:60px; display:block}

/* ── section basics ───────────────────────────────────────────────── */
.glpc-sec{padding:64px 0}
.glpc-sec--tight{padding:48px 0}
.glpc-sec--dark{background:var(--deep); color:#eef5f4}
.glpc-sec--dark h2,.glpc-sec--dark h3{color:#fff}
.glpc-sec--dark .glpc-eyebrow{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:var(--gold)}
.glpc-sec--dark p{color:#cfe0de}
.glpc-sec--ground{background:var(--ground)}
.glpc-kicker{color:var(--mut); max-width:640px}

/* ── why-choose cards ─────────────────────────────────────────────── */
.glpc-why__card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; text-align:center; height:100%; transition:transform .2s ease, box-shadow .2s ease}
.glpc-why__card:hover{transform:translateY(-4px); box-shadow:0 16px 30px -14px rgba(10,44,49,.25)}
.glpc-why__card img{height:64px; width:auto; margin:0 auto 12px}

/* ── feature split sections ───────────────────────────────────────── */
.glpc-feature__img{border-radius:20px; box-shadow:0 24px 50px -18px rgba(10,44,49,.3)}
.glpc-feature__list{list-style:none; padding:0}
.glpc-feature__list li{display:flex; gap:.6rem; margin-bottom:.6rem}
.glpc-feature__list i{color:var(--teal); margin-top:.2rem}

/* ── pricing ───────────────────────────────────────────────────────── */
.glpc-price{background:#fff; border:2px solid var(--line); border-radius:20px; padding:26px; height:100%; position:relative; text-align:center; transition:transform .2s ease, box-shadow .2s ease}
.glpc-price--pop{border-color:var(--gold); box-shadow:0 20px 40px -16px rgba(200,155,76,.35)}
.glpc-price:hover{transform:translateY(-4px)}
.glpc-price__tag{position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--gold); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.06em; padding:5px 14px; border-radius:999px; white-space:nowrap}
.glpc-price img{max-height:150px; width:auto; margin:0 auto 12px}
.glpc-price__amt{font-family:'Manrope',sans-serif; font-weight:800; font-size:2.2rem; color:var(--deep)}
.glpc-price__amt span{font-size:1rem; font-weight:600; color:var(--mut)}
.glpc-price__day{font-size:.82rem; color:var(--mut); margin-bottom:10px}
.glpc-price__was{color:#B4444B; text-decoration:line-through; font-size:.9rem; margin-right:6px}
.glpc-price__total{font-weight:700; margin-bottom:14px}

/* ── guarantee ─────────────────────────────────────────────────────── */
.glpc-guarantee{background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px}
.glpc-guarantee img{max-height:130px}

/* ── shipping strip ───────────────────────────────────────────────── */
.glpc-shipstrip{background:var(--teal3); color:#fff; padding:14px 0; text-align:center; font-weight:600; font-size:.95rem}
.glpc-shipstrip img{height:34px; vertical-align:middle; margin-right:10px}

/* ── ingredients ───────────────────────────────────────────────────── */
.glpc-ing__card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; height:100%}
.glpc-ing__card .badge{background:rgba(11,110,124,.1); color:var(--teal); font-weight:700}

/* ── benefits ──────────────────────────────────────────────────────── */
.glpc-benefit__card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; height:100%; text-align:center}
.glpc-benefit__card i{font-size:1.7rem; color:var(--teal); background:rgba(11,110,124,.1); width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 12px}

/* ── reviews (honest, no fabricated ratings) ──────────────────────── */
.glpc-honest{background:#fff; border:1px dashed var(--line); border-radius:16px; padding:22px}

/* ── FAQ ───────────────────────────────────────────────────────────── */
.glpc-faq details{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:10px}
.glpc-faq summary{font-weight:700; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--deep)}
.glpc-faq summary::-webkit-details-marker{display:none}
.glpc-faq summary::after{content:"+"; font-size:1.4rem; color:var(--teal); flex:none; margin-left:10px}
.glpc-faq details[open] summary::after{content:"\\2212"}
.glpc-faq details p{margin-top:10px; margin-bottom:0; color:var(--mut)}

/* ── label section ─────────────────────────────────────────────────── */
.glpc-label{background:var(--ground); border:1px solid var(--line); border-radius:20px; padding:26px}
.glpc-label h4{font-size:1rem; text-transform:uppercase; letter-spacing:.05em; color:var(--teal)}
.glpc-label ul{padding-left:1.1rem}

/* ── references ────────────────────────────────────────────────────── */
.glpc-refs a{display:inline-flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--line); border-radius:10px; padding:.5rem .9rem; margin:0 6px 8px 0; font-size:.88rem}

/* ── footer ────────────────────────────────────────────────────────── */
.glpc-foot{background:var(--deep); color:#cfe0de; padding:54px 0 20px}
.glpc-foot h6{color:#fff; font-weight:800; margin-bottom:12px; font-size:.86rem; letter-spacing:.04em; text-transform:uppercase}
.glpc-foot a{color:#cfe0de}
.glpc-foot a:hover{color:#fff}
.glpc-foot__desc{font-size:.9rem; margin-top:12px}
.glpc-foot hr{border-color:rgba(255,255,255,.14); margin:28px 0 18px}
.glpc-foot__bot{font-size:.78rem; color:#9fb6b3; display:flex; flex-direction:column; gap:6px}
.glpc-foot .glpc-logo__word{color:#fff}

/* ── sticky mobile CTA ────────────────────────────────────────────── */
.glpc-sticky-cta{position:fixed; left:0; right:0; bottom:0; z-index:1040; padding:10px 14px; background:#fff; box-shadow:0 -10px 24px -12px rgba(0,0,0,.25)}
.glpc-sticky-cta.is-hidden{display:none}

/* ── tables (mobile-safe wrapper required) ────────────────────────── */
.glpc-tablewrap{overflow-x:auto; -webkit-overflow-scrolling:touch}
.glpc-tablewrap table{min-width:560px}

/* ── reveal ────────────────────────────────────────────────────────── */
.glpc-reveal{opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease}
.is-in.glpc-reveal{opacity:1; transform:none}

@media (prefers-reduced-motion:reduce){
  .glpc-curve-line,.glpc-ig-bar,.glpc-nn-node,.glpc-nn-edge,.glpc-reveal{transition:none !important; opacity:1 !important; transform:none !important; stroke-dashoffset:0 !important}
}

/* ── mobile ────────────────────────────────────────────────────────── */
@media (max-width:920px){
  .glpc-navbar .navbar-collapse{background:#fff; border-top:1px solid var(--line); margin-top:10px; padding:10px 4px}
  .glpc-hero__badge{display:none}
}
@media (max-width:576px){
  .glpc-sec{padding:44px 0}
  body{font-size:17px}
  .glpc-price__tag{font-size:.66rem; padding:4px 10px}
}
