/* Guide flow: situation doors (home, /patients) and per-guide pages (/guides/<slug>).
   Plain stylesheet, no build step. Palette and type match the rest of the site. */
.gf-doors, .gf-page { font-family:'Inter Tight',sans-serif; color:#2C342B; }
.gf-doors *, .gf-page * { box-sizing:border-box; }
.gf-wrap { max-width:1280px; margin:0 auto; padding:0 48px; }
.gf-kicker { font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#5E6E55; margin:0 0 14px; }
.gf-h { font-family:'Playfair Display',serif; font-weight:600; color:#25342A; letter-spacing:-.01em; line-height:1.1; margin:0 0 14px; }

/* ---- Situation doors ---- */
.gf-doors { background:#F4F1EA; padding:64px 0 72px; border-top:1px solid #E2DCCD; border-bottom:1px solid #E2DCCD; scroll-margin-top:12px; }
.gf-doors.gf-first { border-top:0; padding-top:56px; }
.gf-doors .gf-h { font-size:44px; }
.gf-doors .gf-lead { font-size:18px; line-height:1.55; color:#3f463b; max-width:680px; margin:0 0 34px; }
.gf-door-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.gf-door { background:#F7F4ED; border:1px solid #E2DCCD; border-radius:14px; padding:26px 26px 22px; display:flex; flex-direction:column; }
.gf-door h3 { font-family:'Playfair Display',serif; font-weight:600; font-size:23px; line-height:1.2; color:#25342A; margin:0 0 8px; }
.gf-door p { font-size:15.5px; line-height:1.5; color:#4a5146; margin:0 0 16px; }
.gf-door .gf-note { font-size:13.5px; color:#6e6e62; margin:-6px 0 14px; }
.gf-door ul { list-style:none; margin:auto 0 0; padding:0; border-top:1px solid #E2DCCD; }
.gf-door li { border-bottom:1px solid #ECE6D8; }
.gf-door li:last-child { border-bottom:0; }
.gf-door li a { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:48px; padding:10px 2px; text-decoration:none; color:#9A4E36; font-weight:600; font-size:15.5px; line-height:1.35; }
.gf-door li a:hover, .gf-door li a:focus-visible { color:#25342A; }
.gf-door li a span.gf-arr { flex:none; }
.gf-door-clin { background:#EFEBDD; }
.gf-doors-foot { margin:26px 0 0; font-size:15.5px; color:#3f463b; }
.gf-doors-foot a { color:#9A4E36; font-weight:600; }

/* ---- Guide page ---- */
.gf-nav { max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:24px 48px; border-bottom:1px solid #E2DCCD; }
.gf-nav .gf-logo { display:inline-flex; align-items:flex-start; gap:2px; line-height:0; text-decoration:none; }
.gf-nav .gf-logo img { height:26px; display:block; }
.gf-nav .gf-logo span { font-size:9px; font-weight:600; color:#6e6e62; line-height:1; margin-top:1px; }
.gf-links { display:flex; align-items:center; gap:26px; font-size:15px; font-weight:600; white-space:nowrap; }
.gf-links a { text-decoration:none; color:#2C342B; }
.gf-links a:hover { color:#9A4E36; }
.gf-links a.gf-cta { border:1px solid #B26248; color:#9A4E36; padding:8px 18px; border-radius:8px; }
.gf-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; background:none; border:1px solid #D8D0BE; border-radius:8px; cursor:pointer; padding:0; }
.gf-mobile { display:none; background:#F4F1EA; border-bottom:1px solid #E2DCCD; }
.gf-mobile.open { display:block; }
.gf-mobile div { max-width:1280px; margin:0 auto; padding:6px 22px 16px; display:flex; flex-direction:column; }
.gf-mobile a { text-decoration:none; color:#2C342B; font-weight:600; font-size:16px; padding:14px 4px; border-bottom:1px solid #ECE6D8; }

.gf-page { background:#F4F1EA; min-height:100vh; }
.gf-main { max-width:820px; margin:0 auto; padding:40px 24px 72px; }
.gf-crumb { font-size:14px; color:#6e6e62; margin:0 0 22px; }
.gf-crumb a { color:#9A4E36; text-decoration:none; font-weight:600; }
.gf-main h1 { font-family:'Playfair Display',serif; font-weight:600; font-size:40px; line-height:1.12; letter-spacing:-.012em; color:#25342A; margin:0 0 14px; }
.gf-plain { font-size:17px; line-height:1.55; color:#3f463b; margin:0 0 20px; }
.gf-meta { font-size:14px; color:#6e6e62; margin:0 0 14px; }
.gf-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 6px; padding:0; list-style:none; }
.gf-chips li { font-size:14px; font-weight:600; color:#25342A; background:#E4E8DC; border:1px solid #CBD3BD; border-radius:999px; padding:7px 14px; line-height:1.2; }
.gf-chips li.gf-chip-buy { background:#F5E7E0; border-color:#E3C3B6; color:#7d3d29; }
.gf-sec { margin:36px 0 0; }
.gf-sec h2 { font-family:'Playfair Display',serif; font-weight:600; font-size:26px; line-height:1.2; color:#25342A; margin:0 0 10px; }
.gf-sec p { font-size:17px; line-height:1.6; margin:0 0 12px; color:#2C342B; }
.gf-link { color:#9A4E36; font-weight:600; text-decoration:none; }
.gf-link:hover { text-decoration:underline; }

.gf-box { background:#FBF9F3; border:1px solid #D9D2BF; border-top:4px solid #5E6E55; border-radius:12px; padding:26px 26px 8px; margin:36px 0 0; }
.gf-box h2 { font-family:'Playfair Display',serif; font-weight:600; font-size:25px; color:#25342A; margin:0 0 4px; }
.gf-box .gf-box-sub { font-size:14px; color:#6e6e62; margin:0 0 18px; }
.gf-box h3 { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#5E6E55; margin:0 0 8px; }
.gf-box .gf-blk { margin:0 0 22px; }
.gf-box .gf-blk.gf-not h3 { color:#9A4E36; }
.gf-box ul { margin:0; padding:0 0 0 20px; }
.gf-box li { font-size:17px; line-height:1.55; margin:0 0 8px; }
.gf-box p { font-size:17px; line-height:1.55; margin:0 0 8px; }
.gf-q { font-family:'Playfair Display',serif; font-style:italic; font-size:19px; line-height:1.45; color:#25342A; border-left:3px solid #B26248; padding-left:16px; margin:0; }

.gf-sample { font-family:'Playfair Display',serif; font-size:19px; line-height:1.55; color:#25342A; border-left:3px solid #B26248; padding:2px 0 2px 20px; margin:0 0 8px; }
.gf-src { font-size:13.5px; color:#6e6e62; margin:0; }

.gf-get { background:#F7F4ED; border:1px solid #E2DCCD; border-radius:12px; padding:24px 26px; }
.gf-get .gf-go { margin:0 0 20px; }
.gf-get .gf-go:last-child { margin-bottom:0; }
.gf-go .gf-note { font-size:15px; line-height:1.5; color:#4a5146; margin:0 0 10px; }
.gf-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border-radius:10px; background:#B26248; color:#F7F4ED; font:600 16px 'Inter Tight',sans-serif; text-decoration:none; text-align:center; }
.gf-btn:hover { background:#9A4E36; }
.gf-btn.gf-line { background:transparent; color:#25342A; border:1px solid #C6BEAC; }
.gf-btn.gf-line:hover { border-color:#5E6E55; color:#5E6E55; }
.gf-fine { font-size:13.5px; line-height:1.55; color:#6e6e62; margin:26px 0 0; }
.gf-mark { font-size:14px; color:#4a5146; margin:6px 0 0; font-weight:600; }

.gf-foot { background:#EAE5D8; border-top:1px solid #DAD3C2; margin-top:0; }
.gf-foot .gf-wrap { padding-top:48px; padding-bottom:36px; }
.gf-foot-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:48px; margin-bottom:40px; }
.gf-foot img { height:56px; display:block; margin-bottom:18px; }
.gf-foot h4 { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8a8676; margin:0 0 14px; }
.gf-foot .gf-col { display:flex; flex-direction:column; gap:4px; font-size:15px; }
.gf-foot .gf-col a { text-decoration:none; color:#3c4338; padding:6px 0; }
.gf-foot p { font-size:13px; line-height:1.65; color:#7a7a6e; margin:0 0 14px; }
.gf-foot .gf-legal { border-top:1px solid #DAD3C2; padding-top:24px; }
.gf-foot .gf-end { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:#8a8676; }

@media (max-width:1195px){ .gf-links { display:none; } .gf-toggle { display:flex; } }
@media (max-width:980px){ .gf-door-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:860px){
  .gf-wrap { padding:0 22px; }
  .gf-nav { padding:18px 22px; }
  .gf-nav .gf-logo img { height:20px; }
  .gf-doors { padding:44px 0 52px; }
  .gf-doors .gf-h { font-size:31px; }
  .gf-doors .gf-lead { font-size:16.5px; margin-bottom:24px; }
  .gf-foot-grid { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:640px){
  .gf-door-grid { grid-template-columns:minmax(0,1fr); }
  .gf-main { padding:28px 16px 56px; }
  .gf-main h1 { font-size:30px; }
  .gf-sec h2 { font-size:23px; }
  .gf-box { padding:22px 18px 6px; }
  .gf-get { padding:20px 18px; }
  .gf-btn { width:100%; }
  .gf-sample { font-size:17.5px; }
}

/* Price on every door link (2026-10-10 purchase-path fix 5) */
.gf-door li a span.gf-end { flex:none; display:inline-flex; align-items:center; gap:10px; }
.gf-pr { font-size:12.5px; font-weight:700; color:#25342A; background:#E4E8DC; border:1px solid #CBD3BD; border-radius:999px; padding:3px 10px; line-height:1.3; white-space:nowrap; }
