/* Hockett Tax & Resolution Services - site styles
   Palette, type and layout tokens live at the top. Change a value here and it
   changes everywhere on the site. */

:root{
  --paper:#F7F8F3;
  --surface:#FFFFFF;
  --ink:#151A11;
  --ink-soft:#454E3F;
  --ink-faint:#727B6C;
  --rule:#DDE2D5;
  --forest:#2C5E2E;
  --forest-deep:#1E4220;
  --sage:#7FA05A;
  --sage-pale:#EBF1E2;
  --brass:#9A6B10;
  --brass-pale:#F6EDDA;
  --night:#141A12;
  --night-soft:#20281C;
  --shadow-s:0 1px 2px rgba(21,26,17,.06);
  --shadow-m:0 4px 14px rgba(21,26,17,.08);
  --maxw:1120px;
  --gut:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Karla,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--forest)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:2px;border-radius:2px}

h1,h2,h3,h4{
  font-family:Fraunces,Georgia,"Times New Roman",serif;
  font-weight:600;
  line-height:1.14;
  text-wrap:balance;
  margin:0;
  letter-spacing:-.012em;
}
h1{font-size:clamp(33px,5.2vw,54px)}
h2{font-size:clamp(26px,3.4vw,36px)}
h3{font-size:20px;line-height:1.25}
p{margin:0}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);
}
.stack{display:flex;flex-direction:column}
.stack-sm{gap:10px}.stack-md{gap:18px}.stack-lg{gap:28px}

/* ---------- top utility bar ---------- */
.topbar{background:var(--night);color:#D9E0D2;font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-block:9px}
.topbar a{color:#E7ECE1;text-decoration:none;border-bottom:1px solid rgba(231,236,225,.34)}
.topbar a:hover{border-bottom-color:#E7ECE1}
.topbar .sep{color:#6E7A66}
.topbar strong{font-weight:700;color:#fff}

/* ---------- header ---------- */
.header{background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50}
.header .wrap{display:flex;align-items:center;gap:18px;padding-block:14px}
.brand{
  display:flex;flex-direction:row;align-items:center;gap:13px;text-decoration:none;
  color:var(--ink);line-height:1;margin-right:auto;
}
.brand .mark{height:52px;width:auto;display:block}
.brand .wordmark{display:flex;flex-direction:column;gap:6px}
@media (max-width:980px){
  .brand .mark{height:42px}
  .brand .name{font-size:23px}
  .brand .sub{font-size:8.5px;letter-spacing:.16em}
}
.brand .name{
  font-family:Fraunces,Georgia,serif;font-size:29px;font-weight:600;
  letter-spacing:.005em;text-transform:uppercase;
}
.brand .name em{font-style:normal;color:var(--forest)}
.brand .sub{
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--forest);
}
.navtoggle{display:none}
.burger{
  display:none;align-items:center;gap:8px;cursor:pointer;border:1px solid var(--rule);
  border-radius:4px;padding:9px 12px;font-size:14px;font-weight:700;background:var(--paper);
}
.navlist{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.navlist a{
  text-decoration:none;color:var(--ink-soft);font-size:15px;font-weight:600;
  padding:8px 11px;border-radius:4px;display:block;
}
.navlist a:hover{background:var(--sage-pale);color:var(--forest-deep)}
.navlist a[aria-current="page"]{color:var(--forest-deep);background:var(--sage-pale)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:Karla,sans-serif;font-weight:700;font-size:16px;text-decoration:none;
  padding:12px 20px;border-radius:5px;border:2px solid transparent;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.btn-primary{background:var(--forest);color:#fff;border-color:var(--forest)}
.btn-primary:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.btn-ghost{background:transparent;color:var(--forest-deep);border-color:var(--forest)}
.btn-ghost:hover{background:var(--sage-pale)}
.btn-light{background:#fff;color:var(--forest-deep);border-color:#fff}
.btn-light:hover{background:#EFF3E9}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.09)}
.btn-sm{font-size:15px;padding:9px 15px}
.btnrow{display:flex;flex-wrap:wrap;gap:12px}

@media (max-width:980px){
  .burger{display:inline-flex}
  .navlist{
    display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);
    border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;
    gap:0;padding:8px var(--gut) 16px;box-shadow:var(--shadow-m);
  }
  .navtoggle:checked ~ .navlist{display:flex}
  .navlist a{padding:12px 8px;font-size:17px;border-bottom:1px solid var(--rule)}
  .navlist li:last-child a{border-bottom:0}
  .header .wrap{position:relative;flex-wrap:wrap}
  .header .btn-header{display:none}
}

/* ---------- hero ---------- */
.hero{background:var(--surface);border-bottom:1px solid var(--rule)}
.hero .wrap{
  display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center;
  padding-block:58px 58px;
}
.hero h1{margin-top:14px}
.hero .lede{font-size:19px;color:var(--ink-soft);margin-top:18px;max-width:54ch}
.hero .spec{
  margin-top:18px;padding-left:14px;border-left:3px solid var(--sage);
  font-size:16.5px;color:var(--ink);max-width:52ch;
}
.hero .btnrow{margin-top:26px}
.hero .microcopy{font-size:14.5px;color:var(--ink-faint);margin-top:12px}

/* photo frame: the caption sits behind the image, so it shows through
   until assets/team.jpg is dropped in */
.photo{
  position:relative;border-radius:6px;overflow:hidden;background:var(--forest-deep);
  aspect-ratio:5/4;box-shadow:var(--shadow-m);
}
.photo .slot{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;text-align:center;padding:28px;color:#D6E2CD;
}
.photo .slot .mark{font-family:Fraunces,Georgia,serif;font-size:40px;color:#fff;line-height:1}
.photo .slot .note{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.09em;line-height:1.7}
.photo img{position:relative;width:100%;height:100%;object-fit:cover}

.trust{border-top:1px solid var(--rule);background:var(--paper)}
.trust .wrap{
  display:flex;flex-wrap:wrap;gap:10px 30px;padding-block:16px;
  font-size:14.5px;color:var(--ink-soft);
}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust .dot{width:6px;height:6px;border-radius:50%;background:var(--sage);flex:none}

@media (max-width:880px){
  .hero .wrap{grid-template-columns:1fr;gap:30px;padding-block:38px}
  .photo{aspect-ratio:4/3;max-width:100%}
}

/* ---------- generic section ---------- */
section{padding-block:58px}
section.tight{padding-block:42px}
.sec-head{max-width:62ch}
.sec-head h2{margin-top:10px}
.sec-head p{color:var(--ink-soft);margin-top:14px}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;counter-reset:step}
.step{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:24px;box-shadow:var(--shadow-s)}
.step .n{
  font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;
  color:var(--forest);text-transform:uppercase;
}
.step h3{margin-top:10px}
.step p{color:var(--ink-soft);margin-top:8px;font-size:16px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}

/* ---------- membership tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.tier{
  background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:22px;
  display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-s);
}
.tier.pop{border:2px solid var(--forest);box-shadow:var(--shadow-m);position:relative}
.tier .flag{
  position:absolute;top:-12px;left:20px;background:var(--forest);color:#fff;
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;padding:4px 10px;border-radius:3px;
}
.tier h3{font-size:21px}
.tier .price{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}
.tier .price .amt{font-family:Fraunces,Georgia,serif;font-size:34px;font-weight:600;line-height:1}
.tier .price .per{font-size:15px;color:var(--ink-faint)}
.tier .setup{font-size:14px;color:var(--ink-faint);margin-top:-6px;font-variant-numeric:tabular-nums}
.tier p.who{color:var(--ink-soft);font-size:15.5px;flex:1}
.tier .btn{margin-top:4px}
@media (max-width:960px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.tiers{grid-template-columns:1fr}}

/* ---------- services ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.svc{
  display:block;text-decoration:none;color:inherit;background:var(--surface);
  border:1px solid var(--rule);border-left:4px solid var(--sage);border-radius:5px;
  padding:22px;transition:border-left-color .15s ease,transform .15s ease;
}
.svc:hover{border-left-color:var(--forest);transform:translateY(-2px)}
.svc h3{font-size:19px}
.svc p{color:var(--ink-soft);font-size:15.5px;margin-top:8px}
.svc .more{color:var(--forest);font-weight:700;font-size:15px;margin-top:12px;display:block}
@media (max-width:900px){.services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.services{grid-template-columns:1fr}}

/* ---------- pull quote / story ---------- */
.story{background:var(--night);color:#E7ECE1}
.story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding-block:56px}
.story h2{color:#fff}
.story p{color:#C6CFBE;margin-top:16px}
.story .figure{
  border-left:3px solid var(--sage);padding-left:22px;
}
.story .big{
  font-family:Fraunces,Georgia,serif;font-size:clamp(42px,7vw,68px);line-height:1;color:#fff;
  font-variant-numeric:tabular-nums;
}
.story .cap{font-size:15.5px;color:#B3BEA9;margin-top:12px}
@media (max-width:820px){.story .wrap{grid-template-columns:1fr;gap:26px}}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}
.person{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:26px;box-shadow:var(--shadow-s)}
.person{display:flex;gap:20px;align-items:flex-start}
.person .headshot{
  width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:50% 18%;
  flex:none;background:var(--sage-pale);
}
@media (max-width:520px){
  .person{flex-direction:row;gap:16px}
  .person .headshot{width:64px;height:64px}
}
.bio-head{display:flex;gap:22px;align-items:center;margin-top:44px}
.bio-head:first-child{margin-top:0}
.bio-head img{
  width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:50% 18%;
  flex:none;box-shadow:var(--shadow-s);
}
.bio-head h2{margin-top:0}
.prose .bio-head + p{margin-top:20px}
@media (max-width:560px){
  .bio-head{gap:16px}
  .bio-head img{width:80px;height:80px}
}
.person .role{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--forest)}
.person h3{margin-top:8px;font-size:24px}
.person p{color:var(--ink-soft);margin-top:12px;font-size:16px}
.creds{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;list-style:none;padding:0}
.person .more{
  display:inline-block;margin-top:16px;color:var(--forest);font-weight:700;
  font-size:15.5px;text-decoration:none;
}
.person .more:hover{text-decoration:underline}
.creds li{
  font-size:12.5px;font-weight:700;background:var(--sage-pale);color:var(--forest-deep);
  padding:4px 10px;border-radius:20px;
}
@media (max-width:760px){.team{grid-template-columns:1fr}}

/* ---------- reviews slot ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;align-items:start}
.review{
  background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:24px;
  display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-s);
}
.review .stars{color:var(--brass);letter-spacing:3px;font-size:16px}
.review p{color:var(--ink-soft);font-size:15.5px}
.review .who{
  font-size:15px;color:var(--ink);font-weight:700;margin-top:auto;
  display:flex;align-items:baseline;gap:9px;
}
.review .who em{
  font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:11.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:400;
}
.review.featured{grid-column:1/-1;padding:30px 34px;border-left:4px solid var(--forest)}
.review.featured p{font-size:17px;max-width:78ch}
.review.featured blockquote{
  margin:4px 0;padding:14px 20px;background:var(--sage-pale);border-radius:5px;
  font-family:Fraunces,Georgia,serif;font-size:20px;line-height:1.4;color:var(--forest-deep);
}
.review .tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.review .tags li{font-size:11.5px;font-weight:700;background:var(--sage-pale);color:var(--forest-deep);
padding:3px 9px;border-radius:20px}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{margin-top:28px;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;
  font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:600;line-height:1.3;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:4px;top:16px;font-family:Karla,sans-serif;
  font-size:24px;color:var(--forest);font-weight:400;
}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 20px;color:var(--ink-soft);max-width:72ch}

/* ---------- page head (interior pages) ---------- */
.pagehead{background:var(--surface);border-bottom:1px solid var(--rule)}
.pagehead .wrap{padding-block:44px 40px;max-width:var(--maxw)}
.crumb{font-size:14px;color:var(--ink-faint)}
.crumb a{color:var(--ink-faint)}
.pagehead h1{margin-top:12px;max-width:20ch}
.pagehead .lede{font-size:19px;color:var(--ink-soft);margin-top:16px;max-width:60ch}

/* ---------- prose ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
@media (max-width:900px){.layout{grid-template-columns:1fr;gap:34px}}
.prose{max-width:68ch}
.prose h2{margin-top:40px;font-size:28px}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:26px}
.prose p{margin-top:14px;color:var(--ink-soft)}
.prose ol,.prose ul{margin-top:14px;padding-left:22px;color:var(--ink-soft)}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink)}
.prose .role-line{
  font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.06em;
  color:var(--forest);margin-top:6px;
}
.checklist{list-style:none;padding:0;margin-top:18px}
.checklist li{
  position:relative;padding-left:30px;margin-bottom:11px;color:var(--ink-soft);
}
.checklist li::before{
  content:"✓";position:absolute;left:0;top:-1px;color:var(--forest);font-weight:700;
}
.callout{
  background:var(--sage-pale);border-left:4px solid var(--forest);border-radius:0 5px 5px 0;
  padding:20px 22px;margin-top:26px;
}
.callout p{color:var(--ink);margin-top:0}
.callout p + p{margin-top:10px}

.aside{
  background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:24px;
  box-shadow:var(--shadow-s);position:sticky;top:96px;
}
.aside h3{font-size:19px}
.aside p{color:var(--ink-soft);font-size:15.5px;margin-top:10px}
.aside .btn{margin-top:16px;width:100%}
.aside .ph{
  display:block;margin-top:14px;font-family:"IBM Plex Mono",monospace;font-size:17px;
  color:var(--forest-deep);text-decoration:none;font-weight:500;
}
@media (max-width:900px){.aside{position:static}}

/* ---------- pricing ---------- */
.legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:14.5px;color:var(--ink-soft)}
.legend b{color:var(--forest);font-size:16px}
.tablewrap{
  margin-top:18px;overflow-x:auto;border:1px solid var(--rule);border-radius:6px;
  background:var(--surface);box-shadow:var(--shadow-s);
}
table.compare{border-collapse:collapse;width:100%;min-width:780px;font-size:15px}
table.compare th,table.compare td{
  padding:12px 14px;border-bottom:1px solid var(--rule);text-align:center;
  font-variant-numeric:tabular-nums;
}
table.compare thead th{
  background:var(--paper);font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:600;
  border-bottom:2px solid var(--rule);position:sticky;top:0;
}
table.compare thead th span{display:block;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-faint);font-weight:400;margin-top:4px}
table.compare th[scope="row"]{
  text-align:left;font-family:Karla,sans-serif;font-size:15px;font-weight:600;
  background:var(--surface);position:sticky;left:0;min-width:230px;border-right:1px solid var(--rule);
}
table.compare td.yes{color:var(--forest);font-weight:700;font-size:17px}
table.compare td.no{color:var(--ink-faint)}
table.compare td.addon{font-size:14px;color:var(--ink-soft)}
table.compare tbody tr:nth-child(even) th[scope="row"],
table.compare tbody tr:nth-child(even) td{background:#FBFCF9}
table.compare tr:last-child th,table.compare tr:last-child td{border-bottom:0}
.tablenote{font-size:14.5px;color:var(--ink-faint);margin-top:14px}

/* ---------- CTA band ---------- */
.ctaband{background:var(--forest-deep);color:#fff}
.ctaband .wrap{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:24px;padding-block:44px;
}
.ctaband h2{color:#fff;max-width:18ch}
.ctaband p{color:#C9D9C4;margin-top:10px;max-width:46ch}

/* ---------- footer ---------- */
.footer{background:var(--night);color:#BFC9B7;font-size:15px}
.footer .wrap{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding-block:48px 30px;
}
.footer h4{
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#8D9885;font-weight:500;
}
.footer ul{list-style:none;margin:14px 0 0;padding:0}
.footer li{margin-bottom:9px}
.footer a{color:#DCE3D6;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer .brand .name{color:#fff}
.footer .brand .sub{color:#8D9885}
.footer .addr{margin-top:16px;line-height:1.7;font-style:normal}
.footer .legal{
  border-top:1px solid #2B3326;padding-block:18px 26px;font-size:13.5px;color:#828D7A;
  display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;
}
@media (max-width:860px){.footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer .wrap{grid-template-columns:1fr}}

/* ---------- needs-your-input marker (draft only) ---------- */
.todo{
  display:inline-block;background:var(--brass-pale);color:var(--brass);
  border:1px dashed var(--brass);border-radius:3px;padding:1px 7px;
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;vertical-align:1px;
}

/* ---------- 404 ---------- */
.center-page{text-align:center;padding-block:90px}
.center-page .btnrow{justify-content:center;margin-top:24px}

/* ---------- contact form ---------- */
.cform{margin-top:20px;display:flex;flex-direction:column;gap:16px}
.cform .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.cform .frow{grid-template-columns:1fr}}
.cform .field{display:flex;flex-direction:column;gap:6px}
.cform label{
  font-size:14.5px;font-weight:700;color:var(--ink);
}
.cform label span{font-weight:400;color:var(--ink-faint);font-size:13.5px}
.cform input,.cform select,.cform textarea{
  font-family:Karla,sans-serif;font-size:16px;color:var(--ink);background:var(--surface);
  border:1px solid var(--rule);border-radius:5px;padding:11px 13px;width:100%;
}
.cform input:focus,.cform select:focus,.cform textarea:focus{
  outline:3px solid var(--brass);outline-offset:1px;border-color:var(--forest);
}
.cform textarea{resize:vertical;min-height:120px;line-height:1.55}
.cform button{align-self:flex-start}
.cform .fnote{font-size:14.5px;color:var(--ink-faint);max-width:62ch;margin:0}
.cform .fnote strong{color:var(--ink)}
.cform .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* ---------- one-off annual return block (pricing page) ---------- */
.oneoff{
  margin-top:38px;background:var(--surface);border:1px solid var(--rule);
  border-left:4px solid var(--forest);border-radius:6px;padding:30px 32px;
  display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-s);
}
.oneoff h3{font-size:23px}
.oneoff p{color:var(--ink-soft);max-width:72ch;margin:0}
.oneoff .aside-note{
  font-size:15.5px;color:var(--ink-faint);border-top:1px solid var(--rule);padding-top:16px;
}
.oneoff .btnrow{margin-top:2px}
.oneoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:4px 0}
.ptile{
  background:var(--sage-pale);border-radius:6px;padding:18px 20px;
  display:flex;flex-direction:column;gap:6px;
}
.ptile .amt{
  font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600;line-height:1;
  color:var(--forest-deep);font-variant-numeric:tabular-nums;
}
.ptile .lab{font-size:14.5px;color:var(--ink-soft);line-height:1.4}
@media (max-width:620px){
  .oneoff{padding:24px 22px;gap:16px}
  .oneoff-grid{grid-template-columns:1fr;gap:12px}
}

/* fine print under a case study */
.story .fineprint{font-size:14.5px;color:#9AA593;margin-top:16px;max-width:62ch;line-height:1.55}

/* "read the full review" fold */
.morereview{margin-top:-2px}
.morereview summary{
  cursor:pointer;list-style:none;color:var(--forest);font-weight:700;font-size:15.5px;
  padding:2px 0;display:inline-flex;align-items:center;gap:6px;
}
.morereview summary::-webkit-details-marker{display:none}
.morereview summary::after{content:"\25be";font-size:12px}
.morereview[open] summary::after{content:"\25b4"}
.morereview[open] summary{margin-bottom:10px}
.morereview .rest{display:flex;flex-direction:column;gap:14px}

.prose .updated{
  margin-top:34px;padding-top:16px;border-top:1px solid var(--rule);
  font-size:14.5px;color:var(--ink-faint);
}

/* audience cards sit two-up and read a shade stronger than the service cards */
.services .audience{border-left-color:var(--forest);background:var(--sage-pale)}
.services .audience:hover{background:#E3EBD8}
@media (min-width:901px){.services:has(.audience){grid-template-columns:1fr 1fr}}

/* membership terms */
.terms{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 0}
.terms > div{
  background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:20px 22px;
  box-shadow:var(--shadow-s);
}
.terms dt{
  font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:600;color:var(--ink);
  line-height:1.25;
}
.terms dd{margin:8px 0 0;color:var(--ink-soft);font-size:15.5px}
@media (max-width:760px){.terms{grid-template-columns:1fr}}

.prose .qualifier{
  font-size:15.5px;color:var(--ink-faint);border-left:3px solid var(--rule);
  padding-left:14px;margin-top:18px;
}


/* Google rating, shown in the hero and above the review cards. */
.ratingline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-top:18px;font-size:15.5px;color:var(--ink-soft)}
.ratingline .stars{color:var(--brass);letter-spacing:2px;font-size:15px}
.ratingline strong{color:var(--ink);font-weight:700}
.ratingline a{color:inherit;text-underline-offset:3px}
.sec-head .ratingline{margin-top:14px}

/* 2026-09-30: phone lines under booking CTAs, grouped tiers, business trio, AL band */
.ctaband .phones{color:#C9D9C4;margin-top:14px;font-size:15px}
.ctaband .phones a{color:#fff;font-weight:600}
.phones-hero{font-size:15px}
.phones-hero a{font-weight:600;color:var(--ink)}
.tiergroup{margin-top:34px}
.tiergroup:first-child{margin-top:0}
.tiergroup-h{font-size:20px;margin-bottom:-14px}
.tiergroup-p{color:var(--ink-soft);margin-top:20px;max-width:62ch}
.tiergroup .tiers{margin-top:28px}
.tier .flag.flag-alt{background:var(--ink)}
.alband{background:var(--forest-deep);color:#fff}
.alband h2{color:#fff}
.alband .sec-head p,.alband .microcopy{color:#C9D9C4}
.alband .eyebrow{color:#8FA684}
.alband .microcopy a{color:#fff}
.alband .btn-ghost{color:#fff;border-color:#fff}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 22px}
.trio>div{border:1px solid var(--rule);border-left:3px solid var(--forest);border-radius:6px;padding:16px 18px;background:var(--surface)}
.trio h3{font-size:17px;margin:0}
.trio p{font-size:15px;margin-top:6px;color:var(--ink-soft)}
@media (max-width:760px){.trio{grid-template-columns:1fr}}
.tier{position:relative}

/* ---------- fixirsissues.com additions ---------- */
.hero.solo .wrap{grid-template-columns:1fr;max-width:860px;margin-inline:auto}
.hero.solo .lede{max-width:62ch}
.hero.solo h1{max-width:20ch}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
@media (max-width:820px){.grid3{grid-template-columns:1fr}}
.grid3 .step h3{margin-top:0}

.brandlogo{height:52px;width:auto;display:block}
.brand{display:flex;align-items:center}
.brandsep{border-left:1px solid var(--rule);padding-left:14px;margin-left:14px}
.brandsep .name{font-size:19px;line-height:1.1}
.svccard{display:block;text-decoration:none;color:inherit}
.svccard:hover{border-color:var(--forest)}
.svccard .more{color:var(--forest);font-weight:600;font-size:15px;margin-top:12px;display:inline-block}
.callbar{display:none}
@media (max-width:700px){
  .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:1px;background:var(--forest-deep)}
  .callbar a{flex:1;text-align:center;color:#fff;padding:14px 6px;font-weight:700;text-decoration:none;font-size:14.5px}
  body{padding-bottom:56px}
  .brandlogo{height:42px}
  .brandsep{display:none}
}

.jeffblock{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:start}
.jeffblock img{width:220px;height:auto;border-radius:6px;box-shadow:var(--shadow-m)}
@media (max-width:700px){.jeffblock{grid-template-columns:1fr}.jeffblock img{width:160px}}
