:root{
  --primary:#1F3A5F;
  --accent:#E07A5F;
  --surface:#F7F4EF;
  --text:#1A1A1A;
  --muted:#6b6b63;
  --border:#e2ddd4;
  --radius:3px;
  --shadow:0 1px 2px rgba(26,26,26,.06);
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--surface);color:var(--text);font-family:var(--serif);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;letter-spacing:-.01em}
h1{font-size:2rem;margin:.2em 0 .4em}
h2{font-size:1.5rem;margin:0 0 .5em}
h3{font-size:1.125rem;margin:0 0 .3em}
p{margin:0 0 1.1em}
small{font-family:var(--sans);font-size:.8rem;color:var(--muted)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ab-skip{position:absolute;left:-999px}
.ab-skip:focus{left:.5rem;top:.5rem;background:var(--surface);padding:.5rem .8rem;z-index:20}

/* header + nav */
.ab-head{border-bottom:1px solid var(--border);background:var(--surface)}
.ab-headin{max-width:60rem;margin:0 auto;padding:.9rem 1.25rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem}
.ab-mark{font-family:var(--serif);font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);text-decoration:none}
.ab-nav{flex:1 1 auto}
.ab-navlist{list-style:none;margin:0;padding:0;display:none;gap:1.25rem}
.ab-navlist.ab-open{display:flex;flex-direction:column;padding:.75rem 0 0}
.ab-navlist.ab-open .ab-navlink{padding:.35rem 0}
.ab-navlink{font-family:var(--sans);font-size:.85rem;color:var(--text);text-decoration:none;border-bottom:1px solid transparent}
.ab-navlink:hover,.ab-navlink[aria-current="page"]{border-bottom-color:var(--accent)}
.ab-burger{margin-left:auto;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);font-family:var(--sans);font-size:.8rem;padding:.35rem .7rem;cursor:pointer}

/* breadcrumb */
.breadcrumb{max-width:60rem;margin:0 auto;padding:1rem 1.25rem 0}
.breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-family:var(--sans);font-size:.78rem;color:var(--muted)}
.breadcrumb__item+.breadcrumb__item::before{content:"/";margin-right:.4rem;color:var(--border)}
.breadcrumb__link{color:var(--muted);text-decoration:none}
.breadcrumb__link:hover{color:var(--accent)}
.breadcrumb__item[aria-current="page"]{color:var(--text)}

/* layout */
.ab-main{max-width:60rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.ab-band{border-top:1px solid var(--border);padding:2.25rem 0}
.ab-band:first-of-type{border-top:0}
.ab-measure{max-width:34rem}
.ab-hero{display:grid;gap:1.5rem;padding-top:1.25rem}
.ab-eyebrow{font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .2em}
.ab-lead{font-size:1.15rem;color:var(--muted)}
.ab-figure{margin:0}
.ab-figure img{width:100%;object-fit:cover;border-radius:var(--radius);background:var(--border);aspect-ratio:3/4}
.ab-figure figcaption{margin-top:.6rem;font-family:var(--sans);font-size:.78rem;color:var(--muted)}
.ab-more{display:inline-block;font-family:var(--sans);font-size:.85rem;color:var(--primary);text-decoration:none;border:1px solid var(--primary);border-radius:var(--radius);padding:.5rem .95rem;margin-top:.3rem}
.ab-more:hover{background:var(--primary);color:var(--surface)}

/* content blocks */
.ab-quote{margin:0;padding:1.25rem 0 1.25rem 1.25rem;border-left:2px solid var(--accent)}
.ab-quote p{font-size:1.25rem;font-style:italic;margin:0 0 .5em}
.ab-quote cite{font-family:var(--sans);font-size:.8rem;font-style:normal;color:var(--muted)}
.ab-terms{margin:0}
.ab-terms dt{font-weight:700;margin-top:1rem}
.ab-terms dd{margin:.2rem 0 0;color:var(--muted)}
.ab-steps{margin:0;padding-left:1.4rem}
.ab-steps li{margin-bottom:.6rem}
.ab-img{position:relative;background:var(--border);border-radius:var(--radius);overflow:hidden}
.ab-img img{opacity:0;transition:opacity .4s ease}
.ab-img.ab-ready img{opacity:1}
.ab-stream{list-style:none;margin:0;padding:0}
.ab-stream li{padding:.85rem 0;border-bottom:1px solid var(--border)}
.ab-stream li:last-child{border-bottom:0}

/* faq */
.ab-ask{border-top:1px solid var(--border);padding:1rem 0}
.ab-ask summary{font-family:var(--sans);font-size:.95rem;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.ab-ask summary::-webkit-details-marker{display:none}
.ab-ask summary::after{content:"+";color:var(--accent)}
.ab-ask[open] summary::after{content:"–"}
.ab-ask p{margin:.7rem 0 0;color:var(--muted);max-width:34rem}

/* footer */
.ab-foot{border-top:1px solid var(--border);background:var(--primary);color:var(--surface);margin-top:2rem}
.ab-footin{max-width:34rem;margin:0 auto;padding:2.5rem 1.25rem;text-align:center}
.ab-footin a{color:var(--surface)}
.ab-footmark{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;margin:0 0 1rem}
.ab-footlist{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;font-family:var(--sans);font-size:.85rem}
.ab-footlist a{text-decoration:none;border-bottom:1px solid rgba(247,244,239,.4)}
.ab-addr{font-family:var(--sans);font-size:.78rem;font-style:normal;color:rgba(247,244,239,.75)}

/* to top */
.ab-top{position:fixed;right:1rem;bottom:1rem;opacity:0;pointer-events:none;transition:opacity .3s ease;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);color:var(--primary);font-family:var(--sans);font-size:.78rem;padding:.5rem .75rem;cursor:pointer}
.ab-top.ab-show{opacity:1;pointer-events:auto}

@media (min-width:48em){
  h1{font-size:2.75rem}
  .ab-navlist{display:flex;gap:1.5rem}
  .ab-burger{display:none}
  .ab-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
  .ab-band{padding:3.25rem 0}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}