.legal-page{min-height:100vh;display:flex;flex-direction:column;background:var(--paper)}
.legal-header{position:static;height:auto;background:#eef3f7;border-bottom:1px solid var(--line)}
.legal-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:22px}
.legal-header img{display:block;max-width:100%;height:auto}.legal-back{font-size:14px;font-weight:600}
.legal-main{flex:1;padding-top:72px;padding-bottom:88px}
.legal-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#49606b;margin-bottom:20px}
.legal-main h1{font-family:var(--font-sans);font-size:clamp(40px,6vw,68px);line-height:1.12;letter-spacing:-.035em;margin:0 0 20px}
.legal-intro{font-size:19px;color:#58636a;max-width:640px;line-height:1.6}

.legal-layout{margin-top:48px;display:grid;grid-template-columns:230px minmax(0,740px);gap:64px}
.legal-sidebar{display:flex;flex-direction:column;align-self:start;gap:6px}.legal-sidebar a{padding:14px 18px;border-radius:4px;font-size:14px}
.legal-sidebar a[aria-current="page"]{background:#e5eef4;color:#305c7d;font-weight:600}
.legal-content section{position:relative;padding:0 0 28px 42px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.legal-number{position:absolute;left:0;top:6px;font-size:12px;color:#597484}
.legal-content h2{font-family:var(--font-sans);font-size:25px;line-height:1.3;margin:0 0 14px}
.legal-content p{font-size:16px;line-height:1.85;color:#536068;margin:0}
.legal-contact{padding:30px;background:#eef3f7;border-radius:6px}
.legal-contact a{display:block;width:fit-content;margin-top:16px;color:#305c7d;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-page a:focus-visible{outline:3px solid #305c7d;outline-offset:5px}
.legal-skip{position:fixed;top:8px;left:16px;transform:translateY(-180%);padding:12px;background:white;z-index:1000}.legal-skip:focus{transform:translateY(0)}
.legal-page .foot-legal a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:4px}
/* FAQ accordion (faq.html). Native <details>, so the open/closed state, the
   keyboard handling and the screen-reader semantics all come from the
   browser — this only restyles the marker and the spacing. */
.faq-group h2{margin-bottom:6px}
.faq-item{border-top:1px solid var(--line)}.faq-item:first-of-type{border-top:none}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 0;font-size:17px;font-weight:600;line-height:1.45;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';flex:none;font-family:var(--font-sans);font-size:20px;line-height:1.2;color:#305c7d;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{color:#305c7d}
.faq-item summary:focus-visible{outline:3px solid #305c7d;outline-offset:4px}
.faq-item p{padding:0 0 20px;max-width:640px}
.faq-item p a{color:#305c7d;text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){.faq-item summary::after{transition:none}}
/* Send-your-prescription page (prescription.html). */
.rx-send{margin-bottom:40px;padding:30px;border:1px solid var(--line);border-radius:6px;background:#fff}
.rx-send h2{margin-bottom:10px}
.rx-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.rx-btn{display:inline-flex;align-items:center;gap:9px;padding:14px 22px;border-radius:6px;border:1px solid #305c7d;color:#305c7d;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:background .2s ease,color .2s ease}
.rx-btn:hover{background:#eef3f7}
.rx-btn-primary{background:var(--accent-teal);border-color:var(--accent-teal);color:#fff}
.rx-btn-primary:hover{background:var(--accent-teal-dark);color:#fff}
.legal-content .rx-note{font-size:14px;line-height:1.6}
.rx-list{margin:14px 0 16px;padding-left:20px;color:#536068;font-size:16px;line-height:1.85}
.rx-list li{margin-bottom:4px}.rx-list strong{color:var(--ink)}
.legal-content section p + p{margin-top:12px}
.legal-content p a{color:#305c7d;text-decoration:underline;text-underline-offset:3px}
/* Shipping & returns (shipping-returns.html): a one-screen summary of the
   policy, then the two blocks of numbered sections under their own headings. */
.policy-summary{margin-bottom:44px;padding:28px 30px;border:1px solid var(--line);border-radius:6px;background:#fff}
.policy-summary h2{margin-bottom:16px}
.policy-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0}
.policy-summary dt{font-family:var(--font-sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#597484;margin-bottom:4px}
.policy-summary dd{margin:0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.45}
.legal-content .policy-heading{font-size:15px;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:#305c7d;margin:8px 0 26px}
@media(max-width:700px){.policy-summary{padding:22px}.policy-summary dl{grid-template-columns:1fr}}
/* Safety specs (safety-specs.html): term-then-meaning rows, used for the
   marking codes, the per-model ratings and the tints. */
.spec-marks{margin:16px 0 18px;display:grid;gap:12px}
.spec-marks>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.spec-marks>div:last-child{border-bottom:none;padding-bottom:0}
.spec-marks dt{font-family:var(--font-sans);font-size:13px;font-weight:600;color:#305c7d;line-height:1.5}
.spec-marks dd{margin:0;font-size:16px;line-height:1.7;color:#536068}
@media(max-width:700px){.spec-marks>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:700px){.legal-main{padding-top:40px;padding-bottom:48px}.legal-layout{grid-template-columns:1fr;gap:32px}.legal-sidebar{flex-direction:row;flex-wrap:wrap;gap:4px}.legal-sidebar a{padding:12px;font-size:13px}.legal-content section{padding-left:32px}.legal-header img{width:125px}.rx-send{padding:22px}.rx-btn{flex:1 1 100%;justify-content:center}.legal-back{font-size:13px}}
