/* buybimatoprost.co.uk — standalone, progressively enhanced reference page.
   The four supplied five-digit accent codes have been completed to valid hex.
   No external fonts or frameworks are required. */
:root {
  --paper: #fcf7f8;
  --accent: #90c2e7;
  --accent-dark: #4e8098;
  --panel: #ced3dc;
  --external: #a31621;
  --ink: #182e39;
  --text: #20272c;
  --muted: #52616c;
  --line: #c9d6dc;
  --soft: #eef1f3;
  --white: #fffdfd;
  --max-width: 1280px;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --ease: cubic-bezier(.2,.75,.25,1);
  --header-height: 88px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 0; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--text); font-family: var(--sans); font-size: 18px; line-height: 1.78; overflow-wrap: break-word; }
body.menu-open { overflow: hidden; }
button, input, summary { font: inherit; }
button, a, summary, input { -webkit-tap-highlight-color: transparent; }
a { color: #285873; text-decoration-thickness: 1px; text-underline-offset: .19em; transition: color .18s ease; }
a:hover { color: var(--ink); text-decoration-thickness: 2px; }
a[href^="https://"], a[href^="http://"] { color: var(--external); }
a[href^="https://"]:hover, a[href^="http://"]:hover { color: #731018; }
:focus-visible { outline: 3px solid #185f85; outline-offset: 5px; }
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4 { color: var(--ink); font-family: var(--serif); font-weight: 400; line-height: 1.19; text-wrap: balance; }
p { margin: 0 0 1.15em; }
strong { font-weight: 650; }
small { font-size: .8em; }
figure { margin: 30px 0; }
figcaption { font-size: 13px; line-height: 1.65; color: var(--muted); padding: 13px 0 0; }
section[id], div[id], details[id], h1[id], h3[id], li[id], nav[id], main[id] { scroll-margin-top: 112px; }
::selection { background: #bad9ee; color: #112e3b; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--ink); color: white; border-radius: 4px; }
.skip-link:focus { top: 14px; color: white; }
.shell { width: 100%; max-width: var(--max-width); margin-inline: auto; padding-inline: 32px; }
.site-header { position: sticky; top: 0; z-index: 20; height: var(--header-height); background: var(--paper); border-bottom: 1px solid rgba(78,128,152,.18); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; padding-right: 125px; }
.wordmark { font-size: 22px; font-weight: 600; color: #235567; text-decoration: none; letter-spacing: -.65px; white-space: nowrap; }
.header-caption { margin-left: 25px; font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.menu-trigger, .menu-close { position: fixed; right: max(20px, calc((100vw - 1280px) / 2 + 24px)); top: 10px; width: 68px; height: 68px; z-index: 40; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; border: 1px solid #a4bdc9; border-radius: 2px; background: var(--panel); color: var(--ink); text-decoration: none; cursor: pointer; }
.menu-trigger:hover { background: #b9cbd6; }
.menu-label { font-size: 10px; font-family: var(--sans); font-weight: 650; line-height: 1; letter-spacing: .13em; }
.burger { display: flex; width: 27px; flex-direction: column; gap: 5px; }
.burger span { display:block; height:2px; background:currentColor; width:100%; }
.hero { position: relative; min-height: 450px; isolation: isolate; border-bottom: 1px solid var(--line); padding: 59px 0 46px; }
.hero-media { position:absolute; inset:0 0 0 auto; width:46%; height:100%; z-index:-2; overflow:hidden; background: #f8e9ed; }
.hero-media picture, .hero-media img { display:block; width:100%; height:100%; }
.hero-media img { object-fit:cover; object-position:center; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--paper) 0%,rgba(252,247,248,.77) 18%,rgba(252,247,248,.14) 50%),linear-gradient(0deg,var(--paper),transparent 35%); }
.hero-copy { position:relative; width:min(720px,66%); }
.eyebrow { font-size:11px; font-family:var(--sans); font-weight:650; text-transform:uppercase; letter-spacing:.2em; color:#365f73; margin:0 0 20px; }
h1 { font-size:clamp(48px,6.5vw,88px); line-height:1.05; margin:0 0 15px; letter-spacing:-3px; }
.hero-deck { font-family:var(--serif); font-size:clamp(23px,2.4vw,32px); line-height:1.27; color:var(--ink); margin-bottom:24px; max-width:530px; }
.hero-rule { height:2px; width:98px; background:var(--accent-dark); margin-bottom:22px; }
.hero-description { font-size:16px; line-height:1.7; max-width:500px; }
.hero-meta { display:flex; flex-wrap:wrap; align-items:center; column-gap:18px; row-gap:6px; font-size:12px; color:var(--muted); }
.hero-meta a { text-decoration:none; color:var(--ink); }
.hero-image-note { position:absolute; right:15px; bottom:13px; font-size:10px; color:#5d575b; margin:0; }
.quick-links { display:flex; flex-wrap:wrap; gap:10px 25px; padding:20px 0; border-bottom:1px solid var(--line); }
.quick-links span { font-size:11px; color:var(--muted); letter-spacing:.13em; text-transform:uppercase; align-self:center; padding-right:3px; }
.quick-links a { font-size:13px; color:var(--ink); text-decoration:none; }
.quick-links a::after { content:" ↗"; font-size:12px; color:var(--accent-dark); }
.page-grid { display:grid; grid-template-columns:minmax(0,1fr) 258px; gap:64px; align-items:start; padding-top:40px; }
.page-rail { grid-column:2; grid-row:1; position:sticky; top:112px; max-height:calc(100dvh - 132px); overflow-y:auto; scrollbar-width:thin; }
.article { grid-column:1; grid-row:1; min-width:0; }
.page-rail details { border-top:3px solid var(--accent-dark); padding-top:15px; }
.page-rail summary { display:none; }
.contents-label { margin:0 0 16px; font-size:11px; letter-spacing:.14em; font-weight:650; color:#345c70; text-transform:uppercase; }
.contents-list { list-style:none; padding:0; margin:0; }
.contents-list li { margin:0 0 3px; }
.contents-list a { display:grid; grid-template-columns:22px 1fr; gap:9px; text-decoration:none; color:#46545e; font-size:12.5px; line-height:1.45; padding:9px 10px; border-left:2px solid transparent; transition:background .2s ease,color .2s ease; }
.contents-list a:hover { background:#edf0f2; color:var(--ink); }
.contents-list a[aria-current="location"] { color:var(--ink); background:#e5edf2; border-left-color:var(--accent-dark); font-weight:650; }
.contents-number { color:#577587; font-size:11px; font-variant-numeric:tabular-nums; padding-top:1px; }
.reading-widget { margin-top:24px; border-top:1px solid var(--line); padding-top:18px; font-size:11px; color:var(--muted); }
.reading-widget p { display:flex; justify-content:space-between; margin:0 0 9px; }
progress { appearance:none; width:100%; height:3px; display:block; border:0; background:#dde2e7; }
progress::-webkit-progress-bar { background:#dde2e7; }
progress::-webkit-progress-value { background:var(--accent-dark); }
progress::-moz-progress-bar { background:var(--accent-dark); }
.rail-note { font-size:11px; line-height:1.65; margin:18px 10px 0; color:var(--muted); }
.article-intro { margin-bottom:15px; }
.intro-heading { font-family:var(--serif); font-size:29px; color:var(--ink); margin:0 0 14px; line-height:1.22; }
.article-intro>p { font-size:16px; line-height:1.8; }
.article-intro>.intro-heading { font-size:29px; line-height:1.25; }
.overview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:27px 0 30px; }
.overview-card { background:#eaf0f3; padding:21px 18px; border-top:2px solid #90b7cf; }
.overview-card span { display:block; font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.13em; color:#365d72; margin-bottom:8px; }
.overview-card p { font-size:14px; line-height:1.6; margin:0; }
.article-section { border-top:1px solid #aebfca; margin-top:64px; padding-top:36px; }
.section-kicker { display:block; font-size:11px; letter-spacing:.15em; color:#396b83; font-weight:650; text-transform:uppercase; margin-bottom:13px; }
.article-section h2 { font-size:37px; letter-spacing:-.6px; margin:0 0 26px; }
.article-section h3 { font-size:25px; margin:35px 0 15px; line-height:1.3; }
.article-section > p { max-width:76ch; }
.section-summary { background:#e9eff3; border-left:3px solid var(--accent-dark); padding:23px 25px; margin:0 0 32px; }
.section-summary p { font-size:16px; line-height:1.75; margin:0; }
.section-summary strong { font-weight:650; }
.ref { display:inline; font-size:10px; font-family:var(--sans); line-height:0; vertical-align:super; margin-left:2px; white-space:nowrap; }
.ref a { text-decoration:none; color:#37647c; padding:1px; }
.ref a:hover { text-decoration:underline; }
.editorial-note { font-size:13px; line-height:1.75; color:#3c4b55; border-bottom:1px solid var(--line); padding-bottom:22px; }
.molecule-figure { background:var(--white); padding:20px 23px; border:1px solid #d8e0e5; }
.molecule-figure img { display:block; width:100%; height:auto; max-height:300px; object-fit:contain; }
.facts-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 24px; margin:0 0 33px; font-size:14px; }
.facts-grid>div { padding:15px 0; border-bottom:1px solid #d5dde1; }
.facts-grid dt { font-size:11px; color:#526570; text-transform:uppercase; letter-spacing:.065em; }
.facts-grid dd { margin:4px 0 0; font-weight:600; color:var(--ink); }
.cycle-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:28px 0; }
.cycle-strip>div { position:relative; background:var(--soft); padding:20px 16px; }
.cycle-strip span { display:block; font-size:10px; color:#38657d; margin-bottom:9px; }
.cycle-strip strong { display:block; font-family:var(--serif); font-size:20px; font-weight:400; }
.cycle-strip small { display:block; font-size:12px; color:var(--muted); margin-top:4px; }
.table-wrap { width:100%; overflow-x:auto; overscroll-behavior-inline:contain; margin:28px 0; border:1px solid #cad7df; background:var(--white); scrollbar-width:thin; }
table { border-collapse:collapse; width:100%; font-size:13px; line-height:1.65; }
caption { text-align:left; padding:15px 18px; font-family:var(--serif); font-size:18px; line-height:1.4; color:var(--ink); background:#e8eef2; caption-side:top; }
th,td { text-align:left; vertical-align:top; padding:16px 18px; border-bottom:1px solid #dae1e5; min-width:132px; }
thead th { background:#dce7ed; font-size:11px; text-transform:uppercase; letter-spacing:.055em; color:#203f4e; }
tbody th { font-weight:600; min-width:170px; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom:0; }
tbody tr:nth-child(even) { background:#f6f7f8; }
.notice { background:#e9edf1; border:1px solid #ccd6de; border-left:3px solid var(--accent-dark); padding:24px 27px; margin:30px 0; }
.notice h3 { font-family:var(--sans); font-size:16px; font-weight:650; margin:0 0 12px; }
.notice p { font-size:15px; line-height:1.8; margin:0; }
.notice-danger { background:#f6e9eb; border-color:#d6b6be; border-left-color:var(--external); }
.notice-danger h3 { color:#86131c; }
.brand-profile { padding:28px 28px 12px; border:1px solid #d3dee4; background:var(--white); margin:30px 0; }
.brand-profile h3 { margin:0 0 10px; font-size:28px; }
.brand-profile h3 a { text-decoration-thickness:1px; }
.brand-profile h3 a::after { content:" ↗"; font-family:var(--sans); font-size:15px; vertical-align:middle; }
.brand-label { margin:0 0 21px; font-size:10px; font-weight:650; line-height:1.7; letter-spacing:.085em; color:#42667a; text-transform:uppercase; }
.brand-profile p:not(.brand-label) { font-size:16px; line-height:1.8; }
.timeline { list-style:none; padding:0; margin:35px 0; }
.timeline>li { position:relative; display:grid; grid-template-columns:86px 1fr; gap:24px; padding:0 0 28px 18px; border-left:1px solid #9eb9c9; margin-left:6px; }
.timeline>li::before { content:""; width:9px; height:9px; border:2px solid var(--paper); outline:1px solid var(--accent-dark); background:var(--accent-dark); position:absolute; left:-5px; top:7px; border-radius:50%; }
.timeline-date { font-size:12px; font-weight:650; color:#3c6479; padding-top:1px; }
.timeline h3 { font-size:22px; margin:0 0 10px; }
.timeline p { font-size:15px; line-height:1.8; margin:0; }
.faq-tools { display:none; background:#e9eff3; padding:21px 22px; margin:24px 0; }
.js .faq-tools { display:block; }
.faq-tools label { display:block; font-size:13px; color:var(--ink); font-weight:650; margin-bottom:10px; }
.faq-input-row { display:flex; align-items:center; gap:10px; }
.faq-tools input { border:1px solid #8ba9bb; border-radius:2px; background:var(--white); padding:12px; width:100%; font-size:15px; min-width:0; }
.faq-tools button { font-size:12px; padding:13px 15px; border:1px solid #8ba9bb; background:transparent; cursor:pointer; white-space:nowrap; color:var(--ink); }
.faq-tools button:hover { background:#dbe6ed; }
.faq-status { display:block; margin-top:10px; font-size:12px; color:var(--muted); }
.faq-group { margin-top:35px; }
.faq-group>h3 { font-family:var(--sans); font-size:12px; font-weight:650; letter-spacing:.11em; text-transform:uppercase; color:#365f74; margin:0 0 15px; }
.faq-item { border-top:1px solid #cbd7df; padding:0; }
.faq-item:last-child { border-bottom:1px solid #cbd7df; }
.faq-item summary { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; cursor:pointer; list-style:none; padding:20px 4px; line-height:1.45; font-size:17px; font-weight:600; color:var(--ink); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; font-size:22px; font-weight:400; line-height:1; min-width:16px; text-align:center; color:#396c85; }
.faq-item[open] summary::after { content:"−"; }
.faq-body { padding:0 25px 20px 4px; }
.faq-answer { font-size:15px; line-height:1.85; margin:0 0 10px; }
.faq-sources { font-size:11px; line-height:1.6; color:var(--muted); margin:0; }
.faq-sources .ref { font-size:10px; vertical-align:baseline; line-height:1.6; margin-left:4px; }
.evidence-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; margin:27px 0; }
.evidence-card { background:#ecf0f3; padding:22px; }
.evidence-card h3 { font-family:var(--sans); font-size:13px; font-weight:650; margin:0 0 10px; }
.evidence-card p { font-size:13px; line-height:1.8; margin:0; }
.reference-list { padding-left:28px; margin:28px 0; }
.reference-list li { font-size:13px; line-height:1.7; padding:0 0 21px 8px; border-bottom:1px solid #dbe1e6; margin-bottom:21px; }
.reference-list li::marker { color:#426a80; font-size:12px; font-weight:650; }
.reference-title { font-size:14px; font-weight:600; }
.reference-meta { display:block; color:var(--muted); font-size:11px; margin-top:5px; }
.reference-note { display:block; margin-top:5px; font-size:12px; }
.reference-back { font-size:11px; margin-left:9px; white-space:nowrap; }
.reference-list li:target { background:#e8f0f5; outline:7px solid #e8f0f5; }
.about-card { background:#e4ecf1; padding:28px 30px; margin:26px 0; }
.about-card h3 { margin:0 0 15px; font-size:26px; }
.about-card p { font-size:15px; line-height:1.85; }
.about-card p:last-child { margin-bottom:0; }
.back-top { display:inline-flex; align-items:center; gap:10px; font-size:13px; text-decoration:none; margin:25px 0 5px; }
.site-footer { margin-top:75px; border-top:1px solid var(--line); padding:30px 0 40px; background:#edf0f3; }
.footer-row { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; font-size:12px; color:var(--muted); }
.footer-row p { max-width:650px; margin:0; }
.footer-row a { color:var(--ink); }
/* Native dialog supplies modal semantics, keyboard containment and inert page content. */
.menu-dialog { position:fixed; inset:0; z-index:50; margin:0; padding:0; border:0; max-width:none; max-height:none; width:100%; height:100dvh; overflow:auto; color:var(--ink); background:var(--panel); clip-path:var(--clip-start, inset(10px 20px calc(100% - 78px) calc(100% - 88px))); transition:clip-path 540ms var(--ease); }
.menu-dialog::backdrop { background:transparent; }
.menu-dialog.is-expanded { clip-path:inset(0 0 0 0 round 0); }
.menu-dialog:not([open]) { display:none; }
.menu-close { z-index:51; border-color:#6c91a5; background:transparent; }
.close-lines { position:relative; display:block; width:26px; height:26px; }
.close-lines::before,.close-lines::after { content:""; position:absolute; top:12px; left:0; width:26px; height:2px; background:currentColor; transform:rotate(45deg); }
.close-lines::after { transform:rotate(-45deg); }
.menu-inner { max-width:1140px; margin:0 auto; padding:55px 35px 40px; opacity:0; transform:translateY(10px); transition:opacity 200ms ease,transform 300ms var(--ease); }
.is-expanded .menu-inner { opacity:1; transform:none; transition-delay:160ms; }
.menu-wordmark { font-size:17px; letter-spacing:-.3px; padding-right:90px; margin-bottom:40px; color:#2f566b; }
.menu-dialog h2 { font-size:52px; letter-spacing:-1px; margin:0 0 11px; }
.menu-intro { font-size:14px; max-width:550px; color:#3a505d; margin-bottom:31px; }
.overlay-list { display:grid; grid-template-columns:1fr 1fr; gap:0 55px; list-style:none; padding:0; margin:0; }
.overlay-list a { display:grid; grid-template-columns:32px 1fr; gap:14px; align-items:center; padding:17px 0; border-top:1px solid rgba(45,76,94,.25); text-decoration:none; color:var(--ink); font-size:20px; line-height:1.25; font-family:var(--serif); }
.overlay-list a:hover { color:#0d4e70; }
.overlay-list .contents-number { font-family:var(--sans); font-size:11px; }
.menu-footnote { font-size:12px; margin-top:33px; color:#344f5f; }
.menu-footnote a { color:#244d62; }
@media (min-width: 1051px) {
  .page-rail details:not([open])>*:not(summary) { display:block; }
}
@media (max-width: 1150px) {
  .page-grid { gap:35px; grid-template-columns:minmax(0,1fr) 235px; }
  .header-caption { display:none; }
  .hero-copy { width:70%; }
  .hero-media { width:44%; }
}
@media (max-width: 1050px) {
  .page-grid { display:flex; flex-direction:column; gap:28px; padding-top:28px; }
  .article { width:100%; }
  .page-rail { position:static; order:-1; width:100%; max-height:none; overflow:visible; }
  .page-rail details { padding:0; border:1px solid var(--line); background:#edf0f3; }
  .page-rail summary { display:flex; align-items:center; justify-content:space-between; padding:15px 19px; cursor:pointer; list-style:none; font-size:14px; font-weight:600; color:var(--ink); }
  .page-rail summary::after { content:"+"; font-size:20px; font-weight:400; }
  .page-rail details[open] summary::after { content:"−"; }
  .page-rail summary::-webkit-details-marker { display:none; }
  .page-rail nav { padding:0 12px 15px; }
  .contents-label,.reading-widget,.rail-note { display:none; }
  .contents-list { display:grid; grid-template-columns:1fr 1fr; }
  .contents-list a { font-size:13px; }
  .article-section>p { max-width:none; }
  .hero-media { width:42%; }
  .hero { min-height:425px; }
}
@media (max-width: 650px) {
  :root { --header-height:74px; }
  html { scroll-padding-top:0; }
  body { font-size:17px; line-height:1.8; }
  .shell { padding-inline:22px; }
  .site-header { height:74px; }
  .header-inner { padding-right:86px; }
  .wordmark { font-size:17px; letter-spacing:-.5px; }
  .menu-trigger,.menu-close { top:8px; right:14px; width:57px; height:57px; gap:8px; }
  .menu-label { font-size:9px; }
  .burger { width:24px; gap:4px; }
  .hero { padding:38px 0 31px; min-height:390px; }
  .hero-copy { width:100%; }
  .hero-media { width:58%; opacity:.26; top:0; height:66%; }
  .hero-media::after { background:linear-gradient(90deg,var(--paper),rgba(252,247,248,.07) 80%),linear-gradient(0deg,var(--paper),transparent 55%); }
  .hero .eyebrow { font-size:9px; letter-spacing:.16em; margin-bottom:22px; }
  h1 { font-size:52px; letter-spacing:-1.9px; margin-bottom:17px; }
  .hero-deck { font-size:25px; max-width:330px; margin-bottom:22px; }
  .hero-description { font-size:14px; line-height:1.75; max-width:350px; }
  .hero-rule { width:70px; margin-bottom:20px; }
  .hero-meta { font-size:10.5px; gap:5px 13px; }
  .hero-image-note { position:static; font-size:9px; text-align:right; padding-top:19px; }
  .quick-links { gap:9px 20px; padding:17px 0; }
  .quick-links span { display:none; }
  .quick-links a { font-size:12px; }
  .page-grid { padding-top:21px; gap:28px; }
  .article-intro>.intro-heading { font-size:25px; }
  .article-intro>p { font-size:15px; }
  .overview-grid { gap:10px; grid-template-columns:1fr; margin:23px 0; }
  .overview-card { display:grid; grid-template-columns:76px 1fr; align-items:start; gap:12px; padding:17px 16px; border-top:0; border-left:2px solid #90b7cf; }
  .overview-card span { margin:3px 0 0; font-size:9px; line-height:1.5; }
  .overview-card p { font-size:13px; }
  .contents-list { grid-template-columns:1fr; }
  .article-section { margin-top:45px; padding-top:28px; }
  .article-section h2 { font-size:30px; letter-spacing:-.35px; margin-bottom:22px; }
  .article-section h3 { font-size:23px; margin:29px 0 13px; }
  .section-kicker { font-size:10px; margin-bottom:10px; }
  .section-summary { padding:19px 18px; margin-bottom:27px; }
  .section-summary p { font-size:15px; }
  section[id], div[id], details[id], h1[id], h3[id], li[id], nav[id], main[id] { scroll-margin-top:94px; }
  .facts-grid { gap:0 15px; font-size:13px; }
  .facts-grid dt { font-size:10px; }
  .molecule-figure { padding:13px 12px; }
  figcaption { font-size:11px; }
  .cycle-strip { grid-template-columns:repeat(2,1fr); }
  .cycle-strip>div { padding:16px; }
  .cycle-strip strong { font-size:19px; }
  .table-wrap { margin:24px 0; }
  table { font-size:12px; }
  th,td { padding:13px; min-width:126px; }
  tbody th { min-width:150px; }
  caption { padding:14px; font-size:17px; }
  .notice { padding:20px 19px; }
  .notice h3 { font-size:16px; margin:0 0 10px; }
  .notice p { font-size:14px; }
  .brand-profile { padding:23px 20px 9px; margin:25px 0; }
  .brand-profile h3 { font-size:25px; margin:0 0 11px; }
  .brand-label { font-size:9px; }
  .brand-profile p:not(.brand-label) { font-size:15px; }
  .timeline>li { grid-template-columns:1fr; gap:7px; padding-left:20px; padding-bottom:28px; }
  .timeline-date { font-size:11px; }
  .timeline h3 { margin:0 0 9px; font-size:22px; }
  .timeline p { font-size:14px; }
  .faq-tools { padding:18px; }
  .faq-tools input { font-size:16px; padding:11px; }
  .faq-tools button { font-size:11px; padding:13px 10px; }
  .faq-group>h3 { font-size:11px; }
  .faq-item summary { padding:18px 2px; font-size:16px; gap:13px; }
  .faq-body { padding:0 12px 20px 2px; }
  .faq-answer { font-size:14px; }
  .evidence-grid { grid-template-columns:1fr; }
  .article-section .evidence-card h3 { font-size:13px; margin:0 0 9px; }
  .reference-list { padding-left:24px; }
  .reference-list li { padding-left:4px; }
  .about-card { padding:23px 21px; }
  .about-card h3 { margin:0 0 14px; }
  .about-card p { font-size:14px; }
  .footer-row { flex-direction:column; gap:17px; font-size:11px; }
  .site-footer { margin-top:50px; }
  .menu-inner { padding:28px 24px 28px; }
  .menu-wordmark { font-size:14px; margin-bottom:37px; }
  .menu-dialog h2 { font-size:38px; }
  .menu-intro { font-size:12px; margin-bottom:24px; }
  .overlay-list { grid-template-columns:1fr; }
  .overlay-list a { font-size:18px; padding:13px 0; gap:6px; grid-template-columns:28px 1fr; }
  .menu-footnote { font-size:11px; margin-top:24px; }
}
@media (max-width: 359px) {
  .shell { padding-inline:17px; }
  .wordmark { font-size:15px; }
  h1 { font-size:45px; }
  .hero-deck { font-size:23px; }
  .menu-trigger,.menu-close { right:10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
@media print {
  :root { --paper:#fff; --text:#000; --ink:#000; }
  body { font-size:10pt; line-height:1.5; background:white; }
  .site-header { position:static; height:auto; padding:8px 0; }
  .shell { padding:0; max-width:none; }
  .header-inner { padding-right:0; }
  .menu-trigger,.menu-dialog,.page-rail,.quick-links,.faq-tools,.back-top,.hero-media,.hero-image-note,.reading-widget { display:none !important; }
  .page-grid { display:block; padding:0; }
  .hero { min-height:0; padding:24px 0; }
  .hero-copy { width:100%; }
  h1 { font-size:38pt; }
  .hero-deck { font-size:20pt; }
  .article-section { margin-top:25px; padding-top:20px; break-before:auto; }
  .article-section h2 { font-size:24pt; }
  .article-section h3 { font-size:16pt; break-after:avoid; }
  h2 { break-after:avoid; }
  .section-summary,.notice,.brand-profile,.evidence-card { background:transparent; border:1px solid #aaa; }
  .brand-profile { break-inside:auto; }
  .table-wrap { overflow:visible; }
  th,td { min-width:0; }
  .faq-item>.faq-body { display:block !important; }
  .faq-item summary::after { display:none; }
  .site-footer { margin-top:25px; background:transparent; }
}

/* 18 October 2026: Cosmetic Bimatoprost identity, author links and cycle figure. */
.hero-copy { width:min(740px,70%); }
h1 { font-size:clamp(44px,5.9vw,80px); max-width:690px; }
.hero-meta a[href^="https://"] { color:var(--external); text-decoration:underline; }
.author-context { font-size:12px; color:var(--muted); margin:13px 0 0; max-width:540px; }
.trust-bar { display:flex; flex-wrap:wrap; gap:9px 25px; padding:18px 0 0; font-size:12px; }
.trust-bar a { text-decoration-thickness:1px; }
.article h4 { font-size:22px; margin:30px 0 13px; }
.hair-cycle { background:var(--white); border:1px solid var(--line); border-top:3px solid var(--accent-dark); padding:25px; margin:30px 0 36px; }
.cycle-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.cycle-header .cycle-eyebrow { margin:0 0 7px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#365f73; font-weight:650; }
.cycle-header h4 { font-size:26px; line-height:1.2; margin:0; }
.cycle-play { flex:none; display:flex; align-items:center; justify-content:center; gap:6px; min-height:42px; min-width:85px; padding:8px 12px; font-size:12px; border:1px solid #9eb7c5; background:var(--soft); border-radius:3px; color:var(--ink); cursor:pointer; }
.cycle-play:hover { background:#dce8ee; }
.cycle-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:20px; align-items:center; }
.cycle-illustration { min-width:0; border:1px solid #dae1e6; border-radius:4px; overflow:hidden; background:var(--paper); }
.cycle-svg { display:block; width:100%; height:auto; }
.cycle-svg-label { font:10px Arial,sans-serif; letter-spacing:1.2px; fill:#516875; }
.cycle-svg-note { font:12px Arial,sans-serif; fill:#365567; }
.cycle-scene { opacity:0; transition:opacity 450ms ease; }
.hair-cycle[data-phase="anagen"] [data-cycle-scene="anagen"],
.hair-cycle[data-phase="catagen"] [data-cycle-scene="catagen"],
.hair-cycle[data-phase="telogen"] [data-cycle-scene="telogen"],
.hair-cycle[data-phase="exogen"] [data-cycle-scene="exogen"] { opacity:1; }
.cycle-stage-readout { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 14px; margin:0; border-top:1px solid #d4e0e7; font-size:12px; color:var(--ink); }
.cycle-stage-readout>span { font-size:10px; font-variant-numeric:tabular-nums; color:#547084; }
.cycle-stages { padding:0; list-style:none; margin:0; display:grid; gap:7px; }
.cycle-stages li { margin:0; padding:0; }
.cycle-stages button { text-align:left; display:flex; align-items:flex-start; gap:12px; width:100%; padding:13px 12px; min-height:64px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--ink); cursor:default; line-height:1.5; transition:background 300ms ease,border-color 300ms ease; }
.is-enhanced .cycle-stages button { cursor:pointer; }
.is-enhanced .cycle-stages button:hover { background:var(--soft); }
.cycle-stages .is-active button { background:#e8f0f4; border-color:#afc5d2; }
.cycle-step-number { display:flex; align-items:center; justify-content:center; border:1px solid #abc0cc; border-radius:50%; min-width:28px; height:28px; font-size:10px; margin-top:1px; }
.cycle-stages .is-active .cycle-step-number { background:var(--accent-dark); color:white; border-color:var(--accent-dark); }
.cycle-stages button strong { display:block; font-size:14px; }
.cycle-stages button span span { display:block; font-size:12px; margin-top:3px; color:#425c6b; }
.hair-cycle figcaption { border-top:1px solid #dce3e7; margin-top:18px; font-size:12px; line-height:1.7; }
.hair-cycle:not(.is-enhanced) .cycle-stages button { pointer-events:none; }
.hair-cycle.is-enhanced[data-phase="anagen"] .cycle-growing-shaft { stroke-dasharray:260; animation:cycle-grow 4.5s ease-in-out both; }
.hair-cycle.is-enhanced[data-phase="anagen"] .cycle-growth-arrow { animation:cycle-arrow 2s ease-in-out infinite; }
.hair-cycle.is-enhanced[data-phase="exogen"] .cycle-shedding-shaft { animation:cycle-shed 4.5s ease-in-out both; }
.hair-cycle.is-enhanced[data-phase="exogen"] .cycle-new-shaft { stroke-dasharray:110; animation:cycle-new 4.5s ease-in-out both; }
.hair-cycle[data-playing="false"] * { animation-play-state:paused; }
@keyframes cycle-grow { 0% { stroke-dashoffset:105; } 75%,100% { stroke-dashoffset:0; } }
@keyframes cycle-arrow { 0%,100% { transform:translateY(3px); opacity:.55; } 50% { transform:translateY(-5px); opacity:1; } }
@keyframes cycle-shed { 0%,15% { transform:translate(0,0); opacity:1; } 70%,100% { transform:translate(17px,-47px); opacity:0; } }
@keyframes cycle-new { 0%,25% { stroke-dashoffset:72; } 100% { stroke-dashoffset:0; } }
@media (max-width:750px) {
  .hero-copy { width:100%; }
  .hero h1 { font-size:clamp(38px,8.8vw,58px); line-height:1.07; letter-spacing:-1.6px; max-width:520px; }
  .hair-cycle { padding:18px; }
  .cycle-header h4 { font-size:23px; }
  .cycle-layout { gap:13px; }
}
@media (max-width:560px) {
  .wordmark { font-size:19px; letter-spacing:-.6px; }
  .cycle-layout { grid-template-columns:1fr; }
  .cycle-svg { max-height:260px; }
  .cycle-stages { grid-template-columns:1fr 1fr; gap:6px; }
  .cycle-stages button { padding:10px 8px; gap:7px; height:100%; align-items:flex-start; }
  .cycle-step-number { min-width:23px; height:23px; font-size:9px; }
  .cycle-stages button strong { font-size:13px; }
  .cycle-stages button span span { font-size:11px; }
  .cycle-stages li { display:flex; }
  .cycle-header { align-items:flex-start; gap:8px; }
  .cycle-header h4 { font-size:22px; }
  .cycle-play { min-width:72px; padding-inline:8px; }
  .trust-bar { gap:9px 18px; }
}
@media (max-width:359px) { .wordmark { font-size:16px; } .cycle-stages { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) {
  .cycle-scene,.cycle-stages button { transition:none; }
  .hair-cycle * { animation:none !important; }
}
@media print {
  .cycle-play { display:none !important; }
  .hair-cycle { break-inside:avoid; }
  .cycle-js-hint { display:none !important; }
}

.author-label { font-size:10px; font-weight:650; letter-spacing:.13em; text-transform:uppercase; color:#365f73; margin-bottom:8px; }
h4[id],figure[id] { scroll-margin-top:112px; }
