/* ==========================================================================
   Pharmazon — Legal pages (Terms, Privacy) · "A calm reading room"
   A plain-English summary, a contents list that follows you, numbered
   sections in a comfortable measure, and a reading progress bar.
   ========================================================================== */

.lg-bar{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;pointer-events:none}
.lg-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pb-teal),#C3DE9A);transform:scaleX(var(--p,0));transform-origin:left}

/* ======================================================================
   HERO
   ====================================================================== */
.lg-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(30px,5vw,96px);padding:clamp(140px,19vh,190px) var(--sv-e) clamp(60px,7vw,100px)}
.lg-kicker{display:inline-flex;align-items:center;gap:12px;font:600 12px/1 var(--pz-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--pb-teal);margin-bottom:clamp(22px,3vh,32px)}
.lg-kicker::before{content:"";width:26px;height:12px;border-radius:99px;background:linear-gradient(90deg,#D7ECE4 50%,var(--pb-petrol) 50%)}
.lg-h1{font-family:var(--pz-ui);font-weight:500;font-size:clamp(52px,7vw,124px);line-height:.96;letter-spacing:-.058em;color:var(--pb-text);margin-bottom:clamp(22px,3vh,30px)}
.lg-h1 .ln{display:block;overflow:hidden;padding:0 .12em .26em 0;margin-bottom:-.26em}
.lg-h1 .ln > span{display:block}
.lg-h1 em{font-family:var(--pz-body);font-style:italic;font-weight:400;letter-spacing:-.03em;color:var(--pb-teal)}
.lg-lede{font-family:var(--pz-body);font-size:clamp(17px,1.35vw,21px);line-height:1.6;color:var(--pb-soft);max-width:46ch}
.lg-short{padding:clamp(24px,2.4vw,34px);border-radius:30px;background:#fff;box-shadow:inset 0 0 0 1px rgba(2,61,84,.08),0 40px 80px -50px rgba(2,61,84,.45)}
.lg-short__t{font:600 12px/1 var(--pz-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--pb-teal);margin-bottom:18px}
.lg-short ul{display:grid;gap:14px}
.lg-short li{display:grid;grid-template-columns:22px 1fr;gap:12px;font:500 15.5px/1.45 var(--pz-ui);color:var(--pb-text)}
.lg-short li svg{width:22px;height:22px;padding:4px;border-radius:50%;background:#E1F1EC;color:var(--pb-teal)}
.lg-short__n{margin-top:18px;padding-top:14px;border-top:1px solid var(--pb-line);font:italic 400 14px/1.4 var(--pz-body);color:var(--pb-soft)}

/* ======================================================================
   THE DOCUMENT
   ====================================================================== */
.lg-doc{display:grid;grid-template-columns:300px 1fr;gap:clamp(40px,6vw,120px);padding:clamp(70px,7vw,110px) var(--sv-e) clamp(90px,9vw,150px);border-top:1px solid var(--pb-line)}
.lg-toc{position:sticky;top:120px;align-self:start}
.lg-toc > p{font:600 12px/1 var(--pz-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--pb-teal);margin-bottom:16px}
.lg-toc ol{display:grid;gap:2px;border-left:1.5px solid var(--pb-line)}
.lg-toc ol a{position:relative;display:grid;grid-template-columns:30px 1fr;gap:4px;padding:9px 0 9px 18px;font:500 15px/1.35 var(--pz-ui);color:var(--pb-soft);transition:color .3s, padding .5s var(--pz-expo)}
.lg-toc ol a span{font-family:var(--pz-body);font-style:italic;font-size:14px;color:inherit}
.lg-toc ol a::before{content:"";position:absolute;left:-1.5px;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--pb-teal);transform:scaleY(0);transition:transform .5s var(--pz-expo)}
.lg-toc ol a:hover{color:var(--pb-text);padding-left:22px}
.lg-toc ol a.is-on{color:var(--pb-text)}
.lg-toc ol a.is-on::before{transform:none}
.lg-other{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font:600 14px/1 var(--pz-ui);color:var(--pb-text);padding-bottom:4px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;transition:background-size .6s var(--pz-expo)}
.lg-other:hover{background-size:0 1.5px;background-position:100% 100%}
.lg-other svg{width:14px;height:14px}

.lg-body{max-width:760px}
.lg-sec{padding-bottom:clamp(36px,4vw,56px);margin-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--pb-line);scroll-margin-top:110px}
.lg-sec h2{display:flex;align-items:baseline;gap:16px;font-family:var(--pz-ui);font-weight:500;font-size:clamp(28px,2.6vw,40px);line-height:1.1;letter-spacing:-.045em;color:var(--pb-text);margin-bottom:22px}
.lg-sec h2 span{font-family:var(--pz-body);font-style:italic;font-weight:400;font-size:.6em;letter-spacing:0;color:var(--pb-teal)}
.lg-sec p{font-family:var(--pz-body);font-size:clamp(17px,1.2vw,19px);line-height:1.72;color:#2E4B57;margin-bottom:18px}
.lg-sec p:last-child{margin-bottom:0}
.lg-sec p b{font-family:var(--pz-ui);font-weight:600;color:var(--pb-text)}
.lg-sec a,.lg-end a{color:var(--pb-teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lg-end{font:400 14px/1.6 var(--pz-ui);color:var(--pb-soft)}
.lg-top{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font:600 14px/1 var(--pz-ui);color:var(--pb-text)}
.lg-top svg{width:14px;height:14px;transform:rotate(-90deg)}

/* ======================================================================
   RESPONSIVE
   ====================================================================== */
@media (max-width:1100px){
  .lg-hero{grid-template-columns:1fr}
  .lg-doc{grid-template-columns:1fr}
  .lg-toc{position:static}
  .lg-toc ol{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .lg-h1{font-size:clamp(46px,13vw,64px)}
  .lg-toc ol{grid-template-columns:1fr}
}
