/* ---------- tokens ---------- */
:root{
  --ink:#15211B; --muted:#5C6A61; --faint:#8A9690;
  --green:#1F3A2E; --green2:#3D5A47; --green-soft:#35543F;
  --brass:#B08A4A; --brass-dk:#8A6829;
  --stone:#E6E1D6; --cream:#F7F4EC; --paper:#FFFDF8; --line:#E0DACB;
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:1120px; --gut:clamp(1.25rem,4vw,2.5rem);
  --r:3px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.1;margin:0;letter-spacing:-.01em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sec--tight{padding:clamp(2.5rem,5vw,4rem) 0}
.eyebrow{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:var(--brass-dk);margin:0 0 1rem}
.lede{font-size:clamp(1.0625rem,1rem + .5vw,1.3125rem);line-height:1.6;color:var(--muted);max-width:40ch}
.rule{height:3px;width:88px;background:var(--brass);margin:1.5rem 0}

/* ---------- skip + focus ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:.75rem 1.25rem;z-index:200}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:100;background:rgba(247,244,236,.94);
  backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
.hdr.stuck{border-bottom-color:var(--line);box-shadow:0 1px 14px rgba(31,58,46,.06)}
.hdr .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:72px;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}
.brand img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:1.4rem}
.nav .btn{padding:.7rem 1.1rem;min-height:44px}
.nav a{text-decoration:none;font-size:.9375rem;font-weight:600;color:var(--green2);padding:.25rem 0;
  border-bottom:2px solid transparent;transition:color .18s,border-color .18s;white-space:nowrap}
.nav a:hover{color:var(--green);border-bottom-color:var(--brass)}
.navtoggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);
  padding:.55rem .7rem;cursor:pointer;color:var(--green)}
.navtoggle svg{display:block}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--sans);font-size:.9375rem;font-weight:700;letter-spacing:.01em;
  padding:.85rem 1.4rem;border-radius:var(--r);text-decoration:none;cursor:pointer;
  border:2px solid transparent;transition:transform .14s,background .18s,color .18s,border-color .18s;
  min-height:48px;line-height:1.2;text-align:center}
.btn:active{transform:translateY(1px)}
.btn--p{background:var(--brass);color:#1F2E22;border-color:var(--brass)}
.btn--p:hover{background:#C09A58;border-color:#C09A58}
.btn--g{background:var(--green);color:var(--stone);border-color:var(--green)}
.btn--g:hover{background:#2A4B3A;border-color:#2A4B3A}
.btn--o{background:transparent;color:var(--green);border-color:var(--green)}
.btn--o:hover{background:var(--green);color:var(--stone)}
.btn--ghost{background:transparent;color:var(--stone);border-color:rgba(230,225,214,.45)}
.btn--ghost:hover{border-color:var(--brass);color:var(--brass)}
.btnrow{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* ---------- hero ---------- */
.hero{background:var(--cream);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding:clamp(3rem,7vw,5.5rem) 0 clamp(3rem,7vw,5rem)}
.hero h1{font-size:clamp(2.35rem,1.6rem + 3.6vw,4.25rem);margin-bottom:1.25rem}
.hero h1 em{font-style:normal;color:var(--brass-dk);display:block}
.hero .slog{font-family:var(--serif);font-size:1rem;color:var(--brass-dk);margin-top:2rem}
.hero .slog b{color:var(--green)}
.hero-card{background:var(--green);color:var(--stone);padding:clamp(1.75rem,3vw,2.5rem);align-self:stretch;
  display:flex;flex-direction:column;justify-content:center}
.hero-card .q{font-family:var(--serif);font-size:clamp(1.3rem,1.1rem + .9vw,1.75rem);line-height:1.25;color:#fff}
.hero-card .a{margin-top:1.25rem;font-size:.95rem;line-height:1.6;color:#C6CFC7}
.hero-card .n{font-family:var(--serif);font-size:clamp(3rem,2rem + 4vw,4.5rem);line-height:.9;color:var(--brass);
  font-weight:700;margin-bottom:.5rem}
.hero-card .src{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8FA596;margin-top:1rem;font-weight:700}

/* ---------- generic blocks ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.h2{font-size:clamp(1.75rem,1.4rem + 1.6vw,2.75rem);margin-bottom:1.25rem}
.pull{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1.6vw,2.4rem);line-height:1.2;color:var(--green);
  border-left:4px solid var(--brass);padding-left:clamp(1rem,2vw,1.75rem)}

/* steps */
.steps{counter-reset:s;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem}
.step{background:var(--paper);padding:clamp(1.5rem,3vw,2.25rem);counter-increment:s;display:grid;
  grid-template-columns:auto 1fr;gap:1.25rem;align-items:start}
.step::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-size:1.5rem;font-weight:700;
  color:var(--brass);line-height:1}
.step h3{font-size:1.1875rem;margin-bottom:.4rem}
.step p{font-size:.95rem;color:var(--muted);margin:0}

/* services */
.svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:2.5rem}
@media (min-width:780px){.svcs{grid-template-columns:repeat(4,1fr)}}
.svc{background:var(--cream);padding:1.4rem 1.25rem;font-family:var(--serif);font-size:1.125rem;color:var(--green)}
.svc span{display:block;font-family:var(--sans);font-size:.8125rem;color:var(--faint);margin-top:.3rem;line-height:1.45}

/* dark band */
.dark{background:var(--green);color:var(--stone)}
.dark h2,.dark h3{color:#fff}
.dark .step h3{color:var(--green)}
.dark .btn--p{color:#1F2E22}
.dark .formwrap label{color:var(--green2)}
.dark .eyebrow{color:var(--brass)}
.dark .lede{color:#B9C4BC}
.dark a{color:var(--brass)}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-top:2.5rem}
.plan{background:var(--paper);border:1px solid var(--line);padding:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column}
.plan--feature{border:2px solid var(--green);position:relative}
.plan--feature::after{content:"Most agents start here";position:absolute;top:-1px;right:-1px;background:var(--green);
  color:var(--stone);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:.4rem .7rem}
.plan h3{font-size:1.25rem;margin-bottom:.75rem}
.plan .p{font-family:var(--serif);font-size:2.5rem;font-weight:700;color:var(--green);line-height:1;margin:.5rem 0 .25rem}
.plan .p small{font-family:var(--sans);font-size:.875rem;font-weight:600;color:var(--muted)}
.plan .term{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem}
.plan ul{list-style:none;margin:0 0 1.5rem;padding:0;font-size:.9375rem}
.plan li{padding-left:1.3rem;position:relative;margin-bottom:.55rem;line-height:1.5}
.plan li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--brass);border-radius:50%}
.plan .btn{margin-top:auto}

.feebox{margin-top:2.5rem;background:var(--stone);border-left:4px solid var(--brass);padding:clamp(1.25rem,3vw,1.75rem)}
.feebox h3{font-size:1.125rem;margin-bottom:.6rem}
.feebox p{font-size:.9375rem;color:var(--green2);margin:0}

/* promo */
.promo{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1.25rem,3vw,2.5rem);
  background:var(--brass);color:#1F2E22;padding:clamp(1.5rem,3vw,2rem)}
.promo .big{font-family:var(--serif);font-size:clamp(2rem,1.5rem + 2vw,3rem);font-weight:700;line-height:1;flex:none}
.promo .t{flex:1 1 260px;font-size:.9375rem;line-height:1.5}
.promo .t strong{display:block;font-family:var(--serif);font-size:1.25rem;margin-bottom:.25rem}
.promo .partner{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;line-height:1.4}
.promo .partner img{width:40px;height:40px;flex:none}

/* faq */
.faq{margin-top:2.5rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;position:relative;
  font-family:var(--serif);font-size:1.0625rem;font-weight:700;color:var(--green)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:1.05rem;font-size:1.5rem;font-weight:400;
  color:var(--brass);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 1.5rem;font-size:.95rem;color:var(--muted);max-width:62ch}

/* form */
.formwrap{background:var(--cream);border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem);margin-top:2.5rem}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.f{display:flex;flex-direction:column;gap:.4rem}
.f--full{grid-column:1/-1}
label{font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green2)}
label .opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint)}
input,select,textarea{font-family:var(--sans);font-size:1rem;padding:.8rem .9rem;border:1px solid var(--line);
  border-radius:var(--r);background:var(--paper);color:var(--ink);width:100%;min-height:48px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(176,138,74,.25)}
input:invalid:not(:placeholder-shown){border-color:#A5503C}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}
.chk{display:flex;align-items:center;gap:.6rem;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:.7rem .85rem;font-size:.9375rem;cursor:pointer;min-height:48px;
  font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink)}
.chk input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--green);flex:none}
.chk:has(input:checked){border-color:var(--green);background:#EFEBDF}
.formnote{font-size:.8125rem;color:var(--faint);margin-top:1rem;line-height:1.5}
.ok{display:none;background:var(--green);color:var(--stone);padding:clamp(1.5rem,4vw,2.5rem);text-align:center}
.ok h3{font-size:1.5rem;margin-bottom:.75rem}
.ok p{color:#B9C4BC;max-width:46ch;margin-inline:auto}
.err{display:none;background:#F6E6E2;border-left:4px solid #A5503C;padding:1rem 1.25rem;font-size:.9375rem;margin-bottom:1.25rem}

/* footer */
.ftr{background:var(--green);color:#9FB0A5;padding:clamp(3rem,6vw,4.5rem) 0 2rem;font-size:.875rem}
.ftr-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;
  border-bottom:1px solid var(--green-soft)}
.ftr img{height:34px;width:auto;margin-bottom:1.25rem}
.ftr h4{font-family:var(--serif);font-size:1rem;color:var(--stone);margin:0 0 .9rem}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:.5rem}
.ftr a{text-decoration:none;color:#9FB0A5}
.ftr a:hover{color:var(--brass)}
.ftr .close{font-family:var(--serif);font-size:clamp(1.25rem,1rem + 1vw,1.75rem);color:var(--brass);margin-top:2rem}
.fine{margin-top:2rem;font-size:.75rem;line-height:1.55;color:#6E7D73}
.fine p{margin-bottom:.6rem}

/* mobile action bar */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--green);
  padding:.6rem;gap:.5rem;box-shadow:0 -2px 14px rgba(0,0,0,.18)}
.mbar .btn{flex:1;font-size:.875rem;padding:.75rem .5rem}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

@media (max-width:900px){
  .hero-grid,.two{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr 1fr}
  .nav{position:fixed;inset:72px 0 auto;background:var(--cream);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gut) 1.25rem;display:none}
  .nav.open{display:flex}
  .nav a{padding:.9rem 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:1rem;border-bottom:none}
  .navtoggle{display:block}
  .mbar{display:flex}
  body{padding-bottom:72px}
}
@media (max-width:620px){
  .fgrid{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr}
  .promo{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}
@media print{.hdr,.mbar,.btnrow{display:none}}
/* honeypot: hidden from people, visible to bots */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- role chooser ---------- */
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.role{background:var(--paper);padding:clamp(1.5rem,3vw,2.25rem);text-decoration:none;display:flex;
  flex-direction:column;transition:background .18s}
.role:hover{background:var(--cream)}
.role .k{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--brass-dk);margin-bottom:.7rem}
.role h3{font-size:1.3rem;margin-bottom:.6rem}
.role p{font-size:.9375rem;color:var(--muted);margin:0 0 1.25rem;line-height:1.5}
.role .go{margin-top:auto;font-size:.9375rem;font-weight:700;color:var(--green)}
.role .go::after{content:" \2192";color:var(--brass)}
@media (max-width:820px){.roles{grid-template-columns:1fr}}

/* ---------- portfolio ---------- */
.port{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}
.port figure{margin:0}
.port .ph{aspect-ratio:4/3;background:var(--stone);border:1px solid var(--line);display:flex;
  align-items:center;justify-content:center;text-align:center;padding:1rem;
  font-size:.8125rem;color:var(--faint);line-height:1.5}
.port img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.port figcaption{font-size:.875rem;color:var(--muted);margin-top:.6rem;line-height:1.45}
.port figcaption b{display:block;color:var(--green);font-family:var(--serif);font-size:1rem;margin-bottom:.15rem}
@media (max-width:820px){.port{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.port{grid-template-columns:1fr}}

/* ---------- promo cards ---------- */
.promos{display:grid;gap:1.25rem;margin-top:2.5rem}
.promocard{border:1px solid var(--line);background:var(--paper);display:grid;
  grid-template-columns:auto 1fr auto;gap:clamp(1.25rem,3vw,2.5rem);align-items:center;
  padding:clamp(1.5rem,3vw,2rem)}
.promocard .fig{font-family:var(--serif);font-size:clamp(2rem,1.5rem + 2vw,3rem);font-weight:700;
  line-height:1;color:var(--green);flex:none}
.promocard .fig small{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brass-dk);font-weight:700;margin-top:.5rem}
.promocard h3{font-size:1.25rem;margin-bottom:.5rem}
.promocard p{font-size:.9375rem;color:var(--muted);margin:0;line-height:1.55}
.promocard .who{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--faint);line-height:1.4}
.promocard .who img{width:40px;height:40px;flex:none}
.promocard .who b{display:block;color:var(--green)}
.promocard--past{opacity:.6}
@media (max-width:820px){.promocard{grid-template-columns:1fr;gap:1.25rem}}

/* ---------- misc ---------- */
.badge{display:inline-block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  padding:.3rem .6rem;border:1px solid var(--brass);color:var(--brass-dk);margin-right:.4rem}
.dark .badge{color:var(--brass);border-color:var(--brass)}
.freepill{display:inline-block;background:var(--brass);color:#1F2E22;font-weight:700;font-size:.8125rem;
  padding:.4rem .8rem;margin-bottom:1.25rem}

/* ---------- case studies ---------- */
.cases{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem}
.case{background:var(--paper);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(1.5rem,3vw,2.5rem);padding:clamp(1.5rem,3vw,2.25rem);align-items:center}
.case--flip .ph,.case--flip img{order:2}
.case .ph{aspect-ratio:4/3;background:var(--stone);border:1px solid var(--line);display:flex;
  flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;
  font-size:.8125rem;color:var(--faint);line-height:1.6}
.case .ph span{font-size:.75rem;opacity:.8}
.case img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.caseloc{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
  color:var(--brass-dk);margin:0 0 .5rem}
.case h3{font-size:1.375rem;margin-bottom:.75rem}
.case .scope{font-size:.875rem;color:var(--green2);font-weight:600;line-height:1.6;margin-bottom:.9rem}
.case p{font-size:.9375rem;color:var(--muted);line-height:1.6}
.casefig{margin-top:.9rem;font-size:.875rem;color:var(--muted)}
.casefig b{font-family:var(--serif);font-size:1.5rem;color:var(--green);display:block;line-height:1.1}
@media (max-width:820px){
  .case{grid-template-columns:1fr}
  .case--flip .ph,.case--flip img{order:0}
}

/* ---------- before / after slider ---------- */
.ba{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);
  background:var(--stone);touch-action:pan-y;user-select:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba .after{clip-path:inset(0 0 0 var(--split,50%))}
.ba .tag{position:absolute;top:.75rem;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;padding:.35rem .6rem;background:rgba(21,33,27,.78);color:#E6E1D6;pointer-events:none}
.ba .tag--b{left:.75rem}
.ba .tag--a{right:.75rem}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--split,50%);width:3px;background:var(--brass);
  pointer-events:none;transform:translateX(-50%)}
.ba .handle::after{content:"";position:absolute;top:50%;left:50%;width:46px;height:46px;
  transform:translate(-50%,-50%);border-radius:50%;background:var(--brass);
  box-shadow:0 2px 10px rgba(0,0,0,.3)}
.ba .handle::before{content:"";position:absolute;top:50%;left:50%;width:22px;height:12px;z-index:1;
  transform:translate(-50%,-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12'%3E%3Cpath d='M7 1 1.5 6 7 11M15 1l5.5 5L15 11' fill='none' stroke='%231F2E22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 12px no-repeat}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba input[type=range]:focus-visible + .handle{outline:3px solid var(--brass);outline-offset:4px}
.ba .hint{position:absolute;left:50%;bottom:.75rem;transform:translateX(-50%);font-size:.7rem;
  background:rgba(21,33,27,.78);color:#E6E1D6;padding:.3rem .65rem;pointer-events:none;
  transition:opacity .3s}
.ba.touched .hint{opacity:0}

/* ---------- what the walkthrough catches ---------- */
.found{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.found figure{margin:0}
.found img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);display:block}
.found figcaption{font-size:.875rem;color:var(--muted);margin-top:.6rem;line-height:1.45}
@media (max-width:820px){.found{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.found{grid-template-columns:1fr}}

/* ---------- before / after pairs ---------- */
.case--wide{grid-template-columns:1fr}
.pairs{display:grid;gap:1.5rem;margin-top:.5rem}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.pair figure{margin:0;position:relative}
.pair img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line);display:block}
.pair figcaption{position:absolute;left:.6rem;top:.6rem;font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:700;padding:.3rem .55rem;background:rgba(21,33,27,.8);color:#E6E1D6}
@media (min-width:900px){.pairs{grid-template-columns:1fr;gap:1rem}}

/* ---------- promotion disclosure ---------- */
.disclose{margin-top:1.5rem;font-size:.8125rem;line-height:1.5;color:var(--faint);max-width:62ch;
  border-top:1px solid var(--line);padding-top:1rem}
.dark .disclose{color:#8FA596;border-top-color:var(--green-soft)}

/* A light card sitting inside a dark section keeps its own text colours,
   otherwise the heading inherits white-on-white and disappears. */
.dark .plan{color:var(--ink)}
.dark .plan h3{color:var(--green)}
.dark .plan li{color:var(--ink)}
.dark .plan .term{color:var(--muted)}
.plan--pick{border:2px solid var(--brass)}
