
:root{--ink:#2b2b2b;--ink-soft:#4a4a4a;--grey:#e9e4dc;--grey-2:#f7f4ee;--line:#ddd6cb;--mut:#6f6f6b;
--wine:#6e2231;--wine-deep:#521823;--gold:#c2a15e;--gold-light:#e0c890;--bronze:#8a6420;--gold-fill:#96701f;--gold-fill-hi:#7c5c15}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Cabin',Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.draft{background:#171717;color:#e0c890;text-align:center;font-size:.72rem;letter-spacing:.14em;padding:.5rem 1rem;text-transform:uppercase}
.display{font-weight:700;text-transform:uppercase;letter-spacing:.09em;line-height:1.18}
.kicker{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.3em;color:var(--bronze)}
.rule{width:44px;height:1px;background:var(--gold);margin:1.3rem 0}
.center{text-align:center}.center .rule{margin:1.3rem auto}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;border:1px solid var(--gold-fill);color:#fff;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;background:var(--gold-fill);cursor:pointer;font-family:inherit;transition:background .3s}
.btn:hover{background:var(--gold-fill-hi)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.6)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
/* top bar */
.top{background:var(--wine-deep);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;padding-bottom:.85rem}
.id{display:flex;align-items:center;gap:.8rem}
.id .ph{width:46px;height:46px;border-radius:50%;background:url('../img/agent-8c322129.jpg') center/cover;flex:none}
.id b{display:block;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase}
.id small{display:block;font-size:.68rem;letter-spacing:.06em;color:#eadfd0;line-height:1.35}
.top .tel{font-weight:700;letter-spacing:.06em;font-size:.95rem;white-space:nowrap;border:1px solid rgba(255,255,255,.4);padding:.5rem .9rem}
/* hero */
.hero{background:linear-gradient(100deg,rgba(60,16,26,.94) 0%,rgba(82,24,35,.86) 48%,rgba(82,24,35,.55) 100%),url('../img/hero-5e928e4a.jpg') center/cover;color:#fff;padding:3.2rem 0 3.6rem}
.hero .grid{display:grid;grid-template-columns:1.08fr .92fr;gap:3rem;align-items:start}
.hero .kicker{color:var(--gold-light)}
.hero h1{font-size:2.35rem;margin:.9rem 0 1rem}
.hero h1 span{color:var(--gold-light)}
.hero .sub{font-size:1.08rem;color:#f3ebe6;max-width:34rem}
.ticks{list-style:none;margin:1.5rem 0 1.4rem;display:grid;gap:.7rem}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;color:#fff}
.ticks li::before{content:"✓";flex:none;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--gold-fill);font-size:.8rem;font-weight:700;display:grid;place-items:center;margin-top:.12rem}
.proof{display:flex;gap:1.6rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.22);padding-top:1.2rem;font-size:.84rem;color:#eadfd0}
.proof b{display:block;color:#fff;font-size:1.25rem;letter-spacing:.04em}
/* form card */
.card{background:#fff;color:var(--ink);padding:1.7rem 1.7rem 1.5rem;box-shadow:0 18px 50px rgba(0,0,0,.35);border-top:4px solid var(--gold)}
.card h2{font-size:1.15rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.3}
.card .fsub{font-size:.9rem;color:var(--mut);margin:.3rem 0 1rem}
.bar{height:5px;background:var(--grey);margin-bottom:1.1rem}.bar i{display:block;height:100%;width:25%;background:var(--gold-fill);transition:width .35s}
.q{font-weight:700;font-size:.92rem;margin:.9rem 0 .5rem}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.opts.three{grid-template-columns:1fr 1fr 1fr;margin-top:0}
.opts label{position:relative;cursor:pointer;display:block}
.opts input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opts span{display:block;border:1px solid var(--line);padding:.7rem .5rem;text-align:center;font-size:.9rem;font-weight:600;background:#fff;transition:.2s}
.opts input:checked+span{background:var(--wine);border-color:var(--wine);color:#fff}
.opts input:focus-visible+span{outline:2px solid var(--gold-fill);outline-offset:2px}
.step{display:none}.step.on{display:block}
.fld{margin-top:.75rem}.fld label{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);margin-bottom:.25rem}
.fld input{width:100%;padding:.8rem .85rem;border:1px solid var(--line);font:inherit;font-size:1rem;background:#fff}
.fld input:focus{outline:none;border-color:var(--gold-fill)}
.consent{display:flex;gap:.55rem;font-size:.74rem;color:var(--mut);line-height:1.45;margin-top:.85rem;align-items:flex-start}
.consent input{margin-top:.15rem;flex:none}
.nav2{display:flex;gap:.6rem;margin-top:1.1rem}.nav2 .btn{flex:1}
.back{background:#fff;color:var(--ink);border-color:var(--line);flex:0 0 auto!important;padding-left:1.1rem;padding-right:1.1rem}
.back:hover{background:var(--grey-2)}
.err{color:#a11;font-size:.82rem;margin-top:.6rem;min-height:1.1rem}
.fine{font-size:.74rem;color:var(--mut);margin-top:.8rem;text-align:center}
.done{display:none;text-align:center;padding:1.2rem 0 .4rem}
.done .tick{width:54px;height:54px;border-radius:50%;background:var(--gold-fill);color:#fff;font-size:1.5rem;display:grid;place-items:center;margin:0 auto .9rem}
.card.sent form{display:none}.card.sent .done{display:block}
/* sections */
section.s{padding:4rem 0}
.s h2{font-size:1.7rem;margin-top:.8rem}
.lead{font-size:1.04rem;color:var(--ink-soft);max-width:44rem}.center .lead{margin:0 auto}
.alt{background:var(--grey-2)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem}
.box{background:#fff;border:1px solid var(--line);padding:1.6rem 1.5rem}
.box .n{font-size:.78rem;font-weight:700;letter-spacing:.25em;color:var(--bronze)}
.box h3{font-size:1.02rem;text-transform:uppercase;letter-spacing:.08em;margin:.5rem 0 .5rem;line-height:1.3}
.box p{font-size:.96rem;color:var(--ink-soft)}
.fit{background:var(--wine);color:#fff}
.fit .grid2{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.fit .kicker{color:var(--gold-light)}.fit p{color:#f1e7e2}
.fitlist{list-style:none;display:grid;gap:.9rem}
.fitlist li{background:rgba(255,255,255,.08);border-left:3px solid var(--gold);padding:.9rem 1.1rem}
.fitlist b{display:block;font-size:1.02rem;letter-spacing:.03em}
.fitlist span{font-size:.92rem;color:#eadfd0}
.note{border:1px solid var(--line);background:#fff;padding:1.3rem 1.5rem;margin-top:2rem;font-size:.95rem;color:var(--ink-soft)}
.note b{color:var(--ink)}
.rev{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.2rem}
.rev blockquote{background:#fff;border:1px solid var(--line);padding:1.6rem 1.6rem 1.3rem;font-size:.98rem;color:var(--ink-soft)}
.rev cite{display:block;margin-top:.9rem;font-style:normal;font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze)}
.faq{max-width:50rem;margin:2rem auto 0}
.faq details{border-bottom:1px solid var(--line);padding:1.05rem 0}
.faq summary{cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--bronze);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:.6rem;color:var(--ink-soft);font-size:.98rem}
.cta{background:linear-gradient(rgba(82,24,35,.9),rgba(82,24,35,.9)),url('../img/band-b3c0216b.jpg') center/cover;color:#fff;text-align:center;padding:3.6rem 0}
.cta h2{font-size:1.6rem}.cta p{color:#f1e7e2;margin:.8rem auto 1.6rem;max-width:36rem}
.cta .row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
footer{background:#171717;color:#bdb7ad;padding:2.2rem 0;font-size:.8rem;line-height:1.7}
footer b{color:#fff;letter-spacing:.06em}
footer a{text-decoration:underline}
.sticky{display:none}.sticky.hide{display:none!important}
.trust{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;font-size:.74rem;color:var(--mut);margin-top:.7rem}
.trust span{white-space:nowrap}
.me{display:flex;gap:.8rem;align-items:center;border-top:1px solid var(--line);margin-top:1rem;padding-top:.9rem;text-align:left}
.me .ph{width:52px;height:52px;border-radius:50%;background:url('../img/agent-8c322129.jpg') center/cover;flex:none;border:2px solid var(--gold)}
.me p{font-size:.78rem;color:var(--mut);line-height:1.4}.me b{color:var(--ink);font-size:.86rem}
.nextbox{text-align:left;background:var(--grey-2);border:1px solid var(--line);padding:1rem 1.1rem;margin-top:1rem;font-size:.88rem;color:var(--ink-soft)}
.nextbox ol{padding-left:1.1rem;margin-top:.4rem}.nextbox li{margin:.25rem 0}
.done .row2{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.done .row2 .btn{padding:.85rem 1.2rem;font-size:.72rem}
.about{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:center;text-align:left;margin-top:2rem}
.about .pic{width:100%;aspect-ratio:1;background:url('../headshot.jpg') center/cover,url('../img/agent-8c322129.jpg') center/cover;border:4px solid var(--gold)}
.about ul{list-style:none;margin-top:1rem;display:grid;gap:.5rem}.about li{font-size:.96rem;color:var(--ink-soft)}.about li b{color:var(--ink)}
.chk{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem;text-align:left;max-width:46rem;margin:1.8rem auto 0;list-style:none}
.chk li{padding-left:1.8rem;position:relative;color:var(--ink-soft)}.chk li::before{content:"☐";position:absolute;left:0;color:var(--bronze);font-size:1.1rem;line-height:1.5}
@media(max-width:900px){
 .hero .grid>div:first-child{display:contents}
 .hero .kicker{order:1}.hero h1{order:2;margin-bottom:.2rem}.hero .sub{order:3}.hero .card{order:4}.hero .ticks{order:5;margin:0}.hero .proof{order:6}
 .hero .sub{font-size:.98rem}
 .about{grid-template-columns:1fr;gap:1.4rem}.about .pic{max-width:220px;margin:0 auto}
 .chk{grid-template-columns:1fr}
 .hero{padding:2rem 0 2.4rem}.hero .grid{grid-template-columns:1fr;gap:1.8rem}.hero h1{font-size:1.65rem}
 .three,.rev,.fit .grid2{grid-template-columns:1fr}
 .id small.brk{display:none}.top .tel{font-size:.85rem;padding:.45rem .6rem}
 section.s{padding:2.8rem 0}.s h2{font-size:1.35rem}
 .wrap{padding:0 18px}
 .sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.6rem 18px;background:rgba(255,255,255,.97);box-shadow:0 -2px 12px rgba(0,0,0,.15)}
 .sticky .btn{width:100%}
 body{padding-bottom:4.4rem}
}
@media(max-width:420px){.opts span{font-size:.8rem;padding:.75rem .2rem}.card{padding:1.3rem 1.1rem}.hero .ticks{margin:1.1rem 0}}

/* ============================================================
   SHARED SITE CHROME — nav (.sn-*) and footer (.sf-*)
   Prefixed so it cannot collide with page CSS.
   ============================================================ */
.sn-skip{position:absolute;left:-9999px;top:0;background:var(--gold-fill,#96701f);color:#fff;
  padding:.8rem 1.4rem;z-index:400;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}
.sn-skip:focus{left:0}

.sn{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid #e4ded4}
.sn-in{max-width:1180px;margin:0 auto;padding:.75rem 28px;display:flex;align-items:center;
  justify-content:space-between;gap:1.2rem}
.sn-id{display:flex;align-items:center;gap:.8rem;flex:none}
.sn-ph{width:44px;height:44px;flex:none;border-radius:50%;
  background:url('/img/agent-8c322129.jpg') 50% 22%/cover no-repeat #e9e4dc;
  border:1px solid #d8cfbf}
.sn-nm{display:flex;flex-direction:column;line-height:1.25}
.sn-nm b{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:#2b2b2b;
  white-space:nowrap}
.sn-nm small{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  color:#8a6420;white-space:nowrap}

.sn-links{display:flex;align-items:center;gap:1.4rem}
.sn-links a{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  color:#4a4a4a;padding:.35rem 0;position:relative;white-space:nowrap;transition:color .25s}
.sn-links a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:#6e2231;transition:width .3s}
.sn-links a:hover{color:#6e2231}
.sn-links a:hover::after{width:100%}
.sn-links a[aria-current="page"]{color:#6e2231}
.sn-links a[aria-current="page"]::after{width:100%}

.sn-act{display:flex;align-items:center;gap:.9rem;flex:none}
.sn-tel{display:inline-flex;align-items:center;padding:.7rem 1.4rem;background:#96701f;color:#fff;
  font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  border:1px solid #96701f;transition:background .25s,border-color .25s;white-space:nowrap}
.sn-tel:hover{background:#7c5c15;border-color:#7c5c15}
.sn-burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;
  gap:5px;padding:8px}
.sn-burger span{display:block;width:26px;height:2px;background:#2b2b2b;transition:.3s}
.sn-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sn-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.sn-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1060px){
  .sn-nm small{display:none}
  .sn-links{display:none}
  /* .sn sets backdrop-filter, which makes it the containing block for fixed
     descendants — so inset:0 sized this panel to the bar, not the viewport, and
     the page showed through beneath it. The bar sits at the viewport's top-left,
     so anchor there and size in viewport units instead. */
  /* backdrop-filter makes .sn the containing block for fixed descendants, so the
     panel was laid out against the 66px bar instead of the screen. Dropping the
     filter while the menu is open removes that containing block entirely —
     sticky alone does not create one — so the panel resolves to the viewport.
     The viewport units below are the belt-and-braces half of the same fix. */
  html.nav-open .sn{backdrop-filter:none;-webkit-backdrop-filter:none;
    background:#f7f4ee;border-bottom-color:transparent}
  .sn-links.open{display:flex;position:fixed;inset:auto;top:0;left:0;
    width:100vw;height:100vh;height:100dvh;background:#f7f4ee;flex-direction:column;
    justify-content:center;align-items:center;gap:1.9rem;z-index:300;
    padding:5rem 28px 3rem;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .sn-links.open a{font-size:1.15rem;letter-spacing:.14em}
  .sn-burger{display:flex;position:relative;z-index:310}
}
@media(max-width:560px){
  .sn-in{padding:.65rem 18px}
  .sn-tel{display:none}
  .sn-nm b{font-size:.84rem}
}

/* ---------------- FOOTER ---------------- */
.sf{background:#171717;color:#cfcac2;margin-top:0}
.sf-in{max-width:1180px;margin:0 auto;padding:4.4rem 28px 2.4rem}
.sf-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;
  flex-wrap:wrap;padding-bottom:2.6rem;border-bottom:1px solid #313131}
.sf-id{display:flex;gap:1rem;align-items:center}
.sf-ph{width:62px;height:62px;flex:none;border-radius:50%;
  background:url('/img/agent-8c322129.jpg') 50% 22%/cover no-repeat #2a2a2a}
.sf-name{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.sf-brk{font-size:.74rem;color:#9a948b;margin-top:.26rem;letter-spacing:.03em}
.sf-contact{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}
.sf-contact a{font-size:.86rem;color:#e0c890;letter-spacing:.04em}
.sf-contact a:hover{color:#fff;text-decoration:underline}

.sf-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem;padding:2.8rem 0}
.sf-col h2{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;
  color:#c2a15e;margin-bottom:1.1rem}
.sf-col ul{list-style:none}
.sf-col li{margin-bottom:.56rem}
.sf-col a{font-size:.84rem;color:#b5afa6;line-height:1.5}
.sf-col a:hover{color:#fff;text-decoration:underline}

.sf-pref{display:none;align-items:center;gap:.9rem;flex-wrap:wrap;
  padding:0 0 1.5rem;border-bottom:1px solid #313131;margin-bottom:1.5rem}
.sf-pref.ready{display:flex}
.sf-pref span{font-size:.78rem;color:#9a948b;letter-spacing:.03em}
.sf-legal{border-top:1px solid #313131;padding-top:1.9rem}
.sf-fine{margin-bottom:1rem;font-size:.8rem}
.sf-fine a{color:#b5afa6}
.sf-fine a:hover{color:#fff;text-decoration:underline}
.sf-legal small{display:block;font-size:.71rem;line-height:1.75;color:#9a948b;max-width:none}

@media(max-width:860px){
  /* The footer link lists were one item per row, so nine cities cost nine rows
     and eight guides eight more. They now flow across the line with a separator
     and wrap, which is the same content in roughly a third of the height. */
  .sf-cols{grid-template-columns:1fr;gap:1.25rem;padding:1.7rem 0}
  .sf-col h2{margin-bottom:.55rem}
  .sf-col ul{display:flex;flex-wrap:wrap;align-items:baseline;gap:.18rem 0}
  .sf-col li{margin-bottom:0}
  .sf-col li:not(:last-child)::after{content:'·';margin:0 .5rem;color:#6b655d}
  .sf-col a{font-size:.82rem;line-height:1.75}
  .sf-contact{align-items:flex-start}
  .sf-in{padding:2.4rem 22px 1.6rem}
  .sf-top{padding-bottom:1.6rem}
  .sf-legal{padding-top:1.2rem}
  .sf-fine{margin-bottom:.7rem}
}

/* ---------------- WebP delivery, JPEG fallback ---------------- */
@supports (background-image:image-set(url("i.webp") type("image/webp"))){
  .sn-ph,.sf-ph{background-image:image-set(url('/img/agent-8c322129.webp') type('image/webp'),
    url('/img/agent-8c322129.jpg') type('image/jpeg'))}
}


/* ---------------- DENSITY ----------------
   Section padding was the same at every width, so a phone carried desktop-sized
   gaps between every block. Content is untouched — only the space around it. */
/* .pg-s / .pg-cta spacing lives in pages.css, which loads later in the bundle */

/* ============================================================
   GENERATED PAGE COMPONENTS (.pg-*)
   ============================================================ */
.pg-crumbs{background:#f7f4ee;border-bottom:1px solid #e9e4dc;padding:.8rem 0;font-size:.78rem}
.pg-crumbs .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.pg-crumbs a{color:#6f6f6b;text-decoration:none}
.pg-crumbs a:hover{color:#6e2231;text-decoration:underline}
.pg-crumbs span[aria-current]{color:#2b2b2b;font-weight:600}
.pg-sep{color:#c9c2b5;margin:0 .15rem}

.pg-s{padding:4.6rem 0}
.pg-s.pg-alt{background:#f7f4ee}
.pg-head{max-width:760px;margin-bottom:2.6rem}
.pg-head h2,.pg-prose h2{font-size:clamp(1.5rem,3.1vw,2.1rem);font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;line-height:1.2;color:#2b2b2b}
.pg-head h3,.pg-prose h3{font-size:1.1rem;font-weight:700;letter-spacing:.04em;color:#2b2b2b}
.pg-intro{font-size:1.02rem;color:#4a4a4a;line-height:1.85;margin-top:1.1rem}

.pg-prose{max-width:760px}
.pg-prose p{font-size:1.02rem;color:#4a4a4a;line-height:1.9;margin-bottom:1.25rem}
.pg-prose p:last-child{margin-bottom:0}
.pg-prose ul,.pg-prose ol{margin:0 0 1.35rem 1.15rem;color:#4a4a4a;line-height:1.85}
.pg-prose li{margin-bottom:.6rem;padding-left:.25rem}
.pg-prose strong{color:#2b2b2b;font-weight:700}
.pg-prose a,.pg-box a,.pg-faqs a,.pg-table a{color:#6e2231;text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:2px}
.pg-prose a:hover,.pg-box a:hover,.pg-faqs a:hover{color:#521823}

.pg-callout{background:#fff;border-left:3px solid #c2a15e;padding:1.4rem 1.6rem;margin:1.6rem 0;
  font-size:.97rem;line-height:1.95;color:#4a4a4a;box-shadow:0 1px 0 #e9e4dc}
.pg-callout b{color:#2b2b2b;display:inline-block;letter-spacing:.03em}

.pg-boxes{display:grid;gap:1.4rem}
.pg-boxes.pg-c2{grid-template-columns:repeat(2,1fr)}
.pg-boxes.pg-c3{grid-template-columns:repeat(3,1fr)}
.pg-box{background:#fff;border:1px solid #e4ded4;padding:1.9rem 1.7rem}
.pg-box h3{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:#2b2b2b;margin-bottom:.85rem;line-height:1.35}
.pg-box p{font-size:.93rem;color:#5a5a5a;line-height:1.8}

.pg-steps{list-style:none;counter-reset:st;max-width:820px}
.pg-steps li{counter-increment:st;position:relative;padding:0 0 1.9rem 3.6rem;
  border-left:1px solid #e0d9cc;margin-left:1rem}
.pg-steps li:last-child{border-left-color:transparent;padding-bottom:0}
.pg-steps li::before{content:counter(st);position:absolute;left:-1rem;top:-.15rem;width:2rem;height:2rem;
  background:#96701f;color:#fff;border-radius:50%;display:grid;place-items:center;
  font-size:.78rem;font-weight:700}
.pg-steps b{display:block;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:#2b2b2b;margin-bottom:.45rem}
.pg-steps span{display:block;font-size:.95rem;color:#5a5a5a;line-height:1.8}

.pg-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pg-table{width:100%;border-collapse:collapse;background:#fff;font-size:.92rem;min-width:540px}
.pg-table th,.pg-table td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid #e9e4dc;
  vertical-align:top;line-height:1.7}
.pg-table thead th{background:#2b2b2b;color:#fff;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.13em;border-bottom:none}
.pg-table tbody tr:nth-child(even){background:#faf8f4}
.pg-table td:first-child{font-weight:600;color:#2b2b2b}
.pg-note{font-size:.82rem;color:#6f6f6b;margin-top:1.1rem;line-height:1.75;max-width:760px;font-style:italic}

.pg-faqs{max-width:820px}
.pg-faq{border-bottom:1px solid #e4ded4;background:transparent}
.pg-faq summary{cursor:pointer;padding:1.35rem 2.6rem 1.35rem 0;font-size:1rem;font-weight:600;
  color:#2b2b2b;position:relative;list-style:none;line-height:1.55}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary::after{content:'+';position:absolute;right:.4rem;top:1.15rem;font-size:1.4rem;
  font-weight:400;color:#96701f}
.pg-faq[open] summary::after{content:'\2013'}
.pg-faq summary:hover{color:#6e2231}
.pg-faq>div{padding:0 2.6rem 1.5rem 0;font-size:.97rem;color:#5a5a5a;line-height:1.9}

.pg-related{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.pg-related a{display:block;background:#fff;border:1px solid #e4ded4;padding:1.5rem 1.5rem;
  transition:border-color .25s,transform .25s}
.pg-related a:hover{border-color:#c2a15e;transform:translateY(-2px)}
.pg-related b{display:block;font-size:.92rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#6e2231;margin-bottom:.5rem;line-height:1.4}
.pg-related span{display:block;font-size:.88rem;color:#6a6a6a;line-height:1.7}

.pg-cta{background:#171717;color:#e6e1d8;padding:5rem 0}
.pg-cta h2{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:#fff;line-height:1.2;max-width:740px;margin:0 auto}
.pg-cta p{font-size:1.02rem;color:#b5afa6;line-height:1.85;margin:1.3rem auto 0;max-width:620px}
.pg-ctabtns{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-top:2.3rem}
.pg-cta .btn{padding:1rem 2.1rem;font-size:.76rem;letter-spacing:.17em}
.pg-cta .btn.ghost{background:transparent;border:1px solid #6a6a6a;color:#e6e1d8}
.pg-cta .btn.ghost:hover{background:#262626;border-color:#c2a15e;color:#fff}
.pg-ctafine{font-size:.74rem!important;color:#9a948b!important;margin-top:2.4rem!important;
  line-height:1.8;max-width:700px!important}

/* guides index */
.pg-guidegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.pg-guidegrid a{display:block;background:#fff;border:1px solid #e4ded4;padding:2rem 1.9rem;
  transition:border-color .25s,transform .25s}
.pg-guidegrid a:hover{border-color:#c2a15e;transform:translateY(-2px)}
.pg-guidegrid h3{font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:#6e2231;margin-bottom:.7rem;line-height:1.35}
.pg-guidegrid p{font-size:.93rem;color:#5a5a5a;line-height:1.8}

@media(max-width:900px){
  .pg-boxes.pg-c3,.pg-related{grid-template-columns:repeat(2,1fr)}
  .pg-s{padding:34px 0}
}
@media(max-width:620px){
  .pg-boxes.pg-c2,.pg-boxes.pg-c3,.pg-related,.pg-guidegrid{grid-template-columns:1fr}
  /* section gaps were 2.8rem top + 2.8rem bottom = ~90px between every block on
     a phone, before each block's own heading margin on top of that */
  .pg-s{padding:26px 0}
  .pg-head{margin-bottom:1.1rem}
  .pg-steps li{padding-left:2.9rem}
  .pg-cta{padding:32px 0}
}

/* blog index cards */
.pg-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pg-post{display:flex;flex-direction:column;background:#fff;border:1px solid #e4ded4;
  transition:border-color .25s,transform .25s;overflow:hidden}
.pg-post:hover{border-color:#c2a15e;transform:translateY(-3px)}
.pg-postimg{display:block;height:180px;background-size:cover;background-position:50% 50%;
  background-color:#e9e4dc;filter:saturate(.92)}
.pg-postbody{display:flex;flex-direction:column;flex:1;padding:1.6rem 1.5rem 1.4rem}
.pg-postbody h3{font-size:1.02rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:#6e2231;line-height:1.35;margin-bottom:.75rem}
.pg-postbody p{font-size:.9rem;color:#5a5a5a;line-height:1.75;flex:1}
.pg-postbody em{display:block;margin-top:1.1rem;font-style:normal;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.18em;color:#96701f}
@media(max-width:900px){.pg-posts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pg-posts{grid-template-columns:1fr}}

/* Hero legibility: a safety net so text stays readable over any photo,
   including bright ones where the wine scrim alone is not enough. */
.hero h1,
.hero .sub,
.hero .kicker,
.hero .ticks li,
.hero .proof{text-shadow:0 1px 14px rgba(20,6,10,.55)}
.hero .proof b{text-shadow:0 1px 14px rgba(20,6,10,.65)}
