:root{
  --paper:#FBF4F4; --surface:#F0E2E2; --ink:#221A1A;
  --accent:#C24A5B; --muted:#8E7C7C; --line:#E2CFCF; --deep:#2B2020;
  --rail:690px; --rail-wide:980px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--paper);color:var(--ink)}
body{
  font-family:"Roboto Slab",Georgia,serif;
  font-weight:400;
  font-size:17px;
  line-height:1.72;
}
h1,h2,h3{font-family:Barlow,sans-serif;font-weight:600;letter-spacing:-0.02em;line-height:1.15;margin:0 0 .6em}
h1{font-weight:700;font-size:clamp(2.3rem,6vw,3.4rem);line-height:1.05}
h2,.head-line{font-size:1.75rem;border-bottom:1px solid var(--line);padding-bottom:10px}
h3{font-size:1.18rem;letter-spacing:0}
p,ul,ol{margin:0 0 1em}
p:last-child,ul:last-child,ol:last-child{margin-bottom:0}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
img{border-radius:4px;width:100%;height:auto;display:block}
.cap{font-size:.82rem;color:var(--muted);margin-top:8px}

/* Layout rail */
.rail{max-width:var(--rail);margin:0 auto;padding:0 20px}
.rail--wide{max-width:var(--rail-wide)}
.stripe{padding:54px 0}
.stripe--tint{background:var(--surface)}
.stripe--deep{background:var(--deep);color:var(--paper)}
.stripe--deep h2,.stripe--deep .head-line{border-bottom-color:rgba(251,244,244,.22);color:var(--paper)}
.stripe--deep a{color:#F4C4C9}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:720px){.duo{grid-template-columns:1fr}}

.opening{text-align:center;padding:56px 0 12px}
.opening__tag{
  font-family:Barlow,sans-serif;font-weight:500;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:14px
}
.opening__sub{font-size:1.05rem;max-width:38em;margin:0 auto 1.4em}
.opening h1{margin-bottom:.55em}
.opening p + p{margin-top:0}

.btn-solid,.btn-quiet{
  display:inline-block;font-family:Barlow,sans-serif;font-weight:600;font-size:.95rem;
  line-height:1.2;padding:12px 20px;border-radius:999px;text-decoration:none;cursor:pointer;
  border:1px solid transparent
}
.btn-solid{background:#C24A5B;color:#FBF4F4}
.btn-solid:hover{background:#A63C4C;color:#FBF4F4}
.btn-quiet{background:#F0E2E2;color:#221A1A;border-color:#E2CFCF}
.btn-quiet:hover{background:#E7D3D3;color:#221A1A}
.stripe--deep .btn-solid{background:#C24A5B;color:#FBF4F4}
.stripe--deep .btn-solid:hover{background:#A63C4C;color:#FBF4F4}
.stripe--deep .btn-quiet{background:transparent;border-color:#FBF4F4;color:#FBF4F4}
.stripe--deep .btn-quiet:hover{background:rgba(251,244,244,.12);color:#FBF4F4}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Pill navigation */
.capsule-holder{position:sticky;top:14px;z-index:40;padding:0 10px}
.capsule{
  max-width:fit-content;margin:0 auto;display:flex;gap:4px;align-items:center;
  background:rgba(251,244,244,.86);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:999px;padding:8px 10px;
  box-shadow:0 6px 22px rgba(34,26,26,.08)
}
.capsule.is-tight{padding:5px 8px;box-shadow:0 8px 28px rgba(34,26,26,.16)}
.capsule > a:first-child{
  font-family:Barlow,sans-serif;font-weight:600;font-size:.95rem;color:var(--ink);
  text-decoration:none;padding:6px 12px;white-space:nowrap;flex-shrink:0
}
.capsule__link{
  font-family:Barlow,sans-serif;font-weight:500;font-size:.9rem;color:var(--ink);
  text-decoration:none;border-radius:999px;padding:8px 12px;white-space:nowrap;flex-shrink:0
}
.capsule__link:hover{background:var(--surface)}
.capsule__link[aria-current="page"]{background:var(--accent);color:#FBF4F4}
@media(max-width:700px){
  .capsule{
    max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none
  }
  .capsule::-webkit-scrollbar{display:none}
}

.cardlet{
  background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:22px 22px 20px
}
.stripe--tint .cardlet{background:var(--paper)}
.cardlet h3{margin-bottom:.4em}
.cardlet .meta{color:var(--muted);font-size:.88rem;margin:12px 0}

.steps{list-style:none;padding:0;margin:0}
.steps__item{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.steps__item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}

.case-slab{background:#F0E2E2;border-radius:8px;padding:28px 26px;margin:0 0 26px}
.case-slab__meta{color:var(--muted);font-size:.9rem;margin:-4px 0 16px}
.case-slab__part{margin-bottom:16px}
.case-slab__part:last-child{margin-bottom:0}
.case-slab[role="note"]{border-left:3px solid #C24A5B}

.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;font-family:Barlow,sans-serif}
.price-row strong{font-size:1.35rem;font-weight:700}

.sked{width:100%;border-collapse:collapse;font-size:.95rem}
.sked th,.sked td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.sked th{font-family:Barlow,sans-serif;font-weight:600;width:28%}

.qa{border-bottom:1px solid var(--line);padding:18px 0}
.qa:last-child{border-bottom:0}
.qa__q{margin-bottom:.35em}
.qa__a{color:var(--ink)}

.note-entry{padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid var(--line)}
.note-entry:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.note-entry__date{color:var(--muted);font-size:.88rem;margin-bottom:8px}

.form-grid{display:grid;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field span{font-family:Barlow,sans-serif;font-weight:600;font-size:.92rem}
.field input,.field select,.field textarea{
  font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:4px;padding:10px 12px
}
.field textarea{min-height:140px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.consent input{margin-top:6px}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.flash{padding:14px 16px;border-radius:4px;margin-bottom:18px;background:var(--surface)}
.flash--ok{border-left:3px solid var(--accent)}
.flash--bad{border-left:3px solid var(--ink)}
.map-frame{border-radius:4px;overflow:hidden;border:1px solid var(--line);margin:16px 0}
.map-frame iframe{width:100%;height:320px;display:block}

.phone-xl{font-family:Barlow,sans-serif;font-weight:700;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-0.02em}
.muted{color:var(--muted)}
.lede{font-size:1.05rem}
.tick{padding-left:1.1em}
.tick li{margin-bottom:.55em}

footer{background:var(--deep);color:var(--paper);padding:54px 0 28px;margin-top:20px}
footer a{color:#FBF4F4;text-decoration-thickness:1px;text-underline-offset:3px}
footer h3{color:var(--paper);margin-bottom:.7em}

/* Mega footer */
.mega{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.mega__col ul{list-style:none;padding:0;margin:0}
.mega__col li{margin:0 0 .45em}
.mega__bottom{margin-top:36px;padding-top:22px;border-top:1px solid rgba(251,244,244,.16);font-size:.9rem;color:#D8C8C8}
.mega__bottom p{margin:0 0 .7em}
@media(max-width:860px){.mega{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mega{grid-template-columns:1fr}}

/* Cookie bar */
.cookie-bar{
  position:fixed;z-index:50;bottom:16px;left:50%;transform:translateX(-50%);
  width:min(690px,calc(100% - 24px));background:var(--deep);color:var(--paper);
  padding:16px 18px;border-radius:12px;display:flex;gap:16px;align-items:center;
  justify-content:space-between;box-shadow:0 10px 30px rgba(34,26,26,.2)
}
.cookie-bar p{margin:0;font-size:.92rem}
.cookie-bar a{color:#F4C4C9}
.cookie-bar > div{display:flex;gap:8px;flex-shrink:0}
.cookie-bar[hidden]{display:none}
@media(max-width:720px){.cookie-bar{flex-direction:column;align-items:stretch}}

/* Lift-in */
.lift-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
html.js .lift-in{opacity:0;transform:translateY(14px)}
html.js .lift-in.is-up{opacity:1;transform:none}
.no-js .lift-in{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion: reduce){
  .lift-in{opacity:1 !important;transform:none !important;transition:none !important}
  html{scroll-behavior:auto}
}
