/* story-misc: the four supporting pages. Loads after ../story-final/style.css and only adds to it.
   Prefixes: m- shared, cr- $99 review, st- start, lp- ads landing page, sa- service areas, sv- the survey map. */

/* ---------- shared ---------- */
.m-h1{font:600 12.5px/1.45 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--pale)}
.m-under{font-size:13.5px;line-height:1.45;color:var(--body);background:#FBEFED;border-left:3px solid var(--red);padding:10px 12px;margin:14px 0 0}
.m-under a{color:var(--forest);font-weight:600}
.form__fine a{color:inherit}
.poster > .l{display:block}
.nw{white-space:nowrap}
.byline span .nw{display:inline;margin:0}
/* the assembled site.css balances headings and pretties body text; the same here, scoped to this group's sections */
:is([class^="cr-"],[class^="st-"],[class^="lp-"],.faq) :is(h2,h3,.poster,blockquote,.hero__sub,.lede,.st-h,.cr-how__t,.pen){text-wrap:balance}
:is([class^="cr-"],[class^="st-"],[class^="lp-"],.faq) :is(p,li,dd,figcaption,summary){text-wrap:pretty}
.faq__side .lede a{white-space:nowrap}
@media (max-width:767px){
  .m-h1{font-size:11px;letter-spacing:.1em}
  .m-h1 .br{display:block}
}

/* =====================================================================
   1. $99 CONTRACTOR BID REVIEW
   ===================================================================== */
.cr-hero{background:var(--forest);color:#fff;overflow:hidden}
.cr-hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
.cr-hero__copy{grid-column:1/7;padding:clamp(40px,4.4vw,64px) 0 clamp(40px,4.2vw,60px);position:relative;z-index:2}
.cr-poster{font-size:clamp(48px,5.4vw,80px)}
.cr-hero .hero__sub{max-width:520px}
.cr-hero .byline{max-width:540px}
.cr-hero__media{grid-column:7/13;margin:0 calc(-1 * var(--edge)) 0 0;position:relative;display:flex;flex-direction:column;padding-top:clamp(36px,3.6vw,52px)}
.cr-hero__media picture{flex:1;display:block;min-height:0}
.cr-hero__media img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:52% 50%}
.cr-hero__media .note{color:var(--pale);padding:10px var(--gut) 16px 0;text-align:right}
.cr-seal{position:absolute;left:calc(-.5 * clamp(200px,17vw,250px));bottom:clamp(64px,6.4vw,96px);width:clamp(200px,17vw,250px);transform:rotate(-8deg);filter:drop-shadow(0 22px 30px rgba(0,0,0,.42));z-index:3}
@media (max-width:999px){
  .cr-hero__grid{grid-template-columns:minmax(0,1fr);column-gap:0}
  .cr-hero__copy{grid-column:1;padding-bottom:84px}
  .cr-hero__media{grid-column:1;margin:0 calc(-1 * var(--gut));padding-top:0}
  .cr-hero__media img{min-height:0;height:auto;aspect-ratio:16/9}
  .cr-hero__media .note{padding-right:var(--gut)}
  .cr-seal{left:var(--gut);top:-70px;bottom:auto;width:150px}
}
@media (max-width:767px){
  .cr-hero__copy{padding:22px 0 76px}
  .cr-poster{font-size:38px;line-height:1.04}
  .cr-hero__media img{aspect-ratio:auto;height:230px}
  .cr-seal{width:128px;top:-62px;left:auto;right:calc(var(--gut) - 2px)}
}

/* what he checks */
.cr-what{padding:clamp(84px,9vw,130px) 0 clamp(70px,7vw,104px);position:relative;isolation:isolate}
.cr-what::before{content:"";position:absolute;z-index:-1;top:clamp(46px,5vw,76px);bottom:clamp(26px,3vw,44px);left:calc(var(--edge) + (100vw - 2 * var(--edge)) * 5 / 12 + clamp(40px,6vw,96px) / 2 - 56px);right:0;background:var(--sage)}
.cr-what__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.cr-what__head .h2{margin-top:16px}
.cr-what__head .lede{margin-top:20px;max-width:30em}
.cr-checks{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.cr-checks li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;align-items:start;padding:20px 0;border-bottom:1px solid var(--rule);font:500 clamp(21px,1.9vw,27px)/1.3 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.cr-checks svg{width:32px;height:28px;margin-top:3px}
@media (max-width:999px){.cr-what__grid{grid-template-columns:1fr;gap:34px}.cr-what::before{display:none}}
@media (max-width:767px){.cr-what{padding-bottom:56px}.cr-checks li{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:15px 0;font-size:20px}.cr-checks svg{width:26px;height:23px}}

/* how the review works: three pieces of paper joined by the red pen. The section holds the ticket, so it sits above
   the sample band (z-index on the section itself; isolation alone kept the ticket under .cr-sample) */
.cr-how{position:relative;z-index:2;padding:0}
.cr-how__head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px clamp(40px,6vw,96px);align-items:end}
.cr-how__head .label{grid-column:1/-1}
.cr-how__head .h2{grid-column:1}
.cr-how__lede{grid-column:2;font-size:clamp(17px,1.35vw,19.5px);line-height:1.55;color:var(--body);padding-bottom:6px}
.cr-how__row{list-style:none;margin:clamp(34px,3.6vw,52px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(64px,6vw,96px) minmax(0,1fr) clamp(64px,6vw,96px) minmax(0,1fr);align-items:start}
.cr-how__item{min-width:0}
.cr-how__item:nth-child(3){margin-top:clamp(30px,3.4vw,52px)}
.cr-how__art{display:block;width:100%;max-width:250px;height:auto;margin:0 0 14px -8px;filter:drop-shadow(0 18px 18px rgba(16,40,26,.16))}
.cr-how__t{display:block;font:600 clamp(23px,2vw,28px)/1.15 var(--serif);letter-spacing:-.012em}
.cr-how__item p{margin-top:10px;font-size:16.5px;line-height:1.55;color:var(--body);max-width:23em}
.cr-how__join{align-self:start;padding-top:clamp(70px,6.4vw,96px)}
.cr-how__join:nth-child(4){padding-top:clamp(84px,7.6vw,112px)}
.cr-how__join:nth-child(2) .cr-how__arrow{transform:scaleY(-1)}
.cr-how__arrow{display:block;width:100%;height:auto;margin-left:-6px}
@media (max-width:999px){
  .cr-how__head{grid-template-columns:1fr}
  .cr-how__lede{grid-column:1}
  .cr-how__row{grid-template-columns:1fr;row-gap:0}
  .cr-how__item{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:4px 26px;align-items:center}
  .cr-how__item:nth-child(3){margin-top:0}
  .cr-how__art{grid-row:1/3;margin:0}
  .cr-how__t{align-self:end}
  .cr-how__item p{align-self:start;margin-top:4px}
  .cr-how__join,.cr-how__join:nth-child(4){padding:0 0 0 70px;height:44px}
  .cr-how__join .cr-how__arrow,.cr-how__join:nth-child(2) .cr-how__arrow{width:56px;transform:rotate(90deg) translateX(-6px)}
}
@media (max-width:767px){
  .cr-how__item{grid-template-columns:118px minmax(0,1fr);gap:2px 16px}
  .cr-how__t{font-size:21px}
  .cr-how__item p{font-size:15.5px}
  .cr-how__join,.cr-how__join:nth-child(4){padding-left:34px;height:34px}
  .cr-how__join .cr-how__arrow,.cr-how__join:nth-child(2) .cr-how__arrow{width:42px}
}

/* the ticket: the buy box, half on white, half on the sample band */
.ticket{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr) auto;margin:clamp(60px,6vw,90px) 0 -116px;background:var(--forest);color:#fff;box-shadow:0 44px 70px -34px rgba(0,0,0,.6)}
.ticket__stub{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:34px 22px;background:var(--deep);border-right:2px dashed rgba(255,255,255,.38);position:relative}
.ticket__stub::before,.ticket__stub::after{content:"";position:absolute;right:-14px;width:26px;height:26px;border-radius:50%}
.ticket__stub::before{top:-13px;background:#fff}
.ticket__stub::after{bottom:-13px;background:#0B2C1C}
.ticket__price{font:600 clamp(68px,6.4vw,96px)/.9 var(--serif);letter-spacing:-.045em}
.ticket__once{font:600 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pale);margin-top:12px}
.ticket__body{padding:30px 34px 28px}
.ticket__body .label{color:var(--pale)}
.ticket dl{margin:12px 0 0}
.ticket dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:10px 0;border-top:1px solid rgba(255,255,255,.16)}
.ticket dt{font:600 11.5px/1.7 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#9FC6AC}
.ticket dd{margin:0;font-size:16px;line-height:1.5;color:#E3EEE6}
.ticket__buy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:30px 36px 30px 4px}
.ticket__call{color:#fff;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
@media (max-width:1099px){
  .ticket{grid-template-columns:minmax(0,200px) minmax(0,1fr)}
  .ticket__buy{grid-column:1/3;flex-direction:row;align-items:center;flex-wrap:wrap;padding:0 34px 28px;border-top:0}
}
@media (max-width:767px){
  .ticket{grid-template-columns:1fr;margin-bottom:-90px}
  .ticket__stub{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:16px;text-align:left;padding:22px 22px 20px;border-right:0;border-bottom:2px dashed rgba(255,255,255,.38)}
  .ticket__stub::before,.ticket__stub::after{right:auto;top:auto;bottom:-14px;background:#fff}
  .ticket__stub::before{left:-13px}
  .ticket__stub::after{right:-13px}
  .ticket__price{font-size:60px}
  .ticket__once{margin-top:0}
  .ticket__body{padding:20px 22px 18px}
  .ticket dl div{grid-template-columns:1fr;gap:2px}
  .ticket__buy{grid-column:1;flex-direction:column;align-items:stretch;padding:0 22px 24px}
  .ticket__buy .btn{width:100%}
  .ticket__call{align-self:center}
}

/* the sample */
.cr-sample{background:#0B2C1C;color:#fff;padding:calc(116px + clamp(70px,7vw,110px)) 0 0;position:relative}
.cr-sample__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.cr-sample__head{padding-top:34px}
.cr-sample .label{color:#9FC6AC}
.cr-sample .h2{color:#fff;margin-top:16px}
.cr-sample .lede{color:#D6E6DB;margin-top:20px}
.cr-sample__pen{display:inline-block;color:#FFB3A8;font-size:31px;margin-top:34px;transform:rotate(-3deg)}
.cr-legend{list-style:none;margin:34px 0 0;padding:0;max-width:30em}
.cr-legend li{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:16px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);font-size:15px;line-height:1.4;color:#D6E6DB}
.cr-legend__m{font-size:15px;color:#fff}
.cr-legend__circ{position:relative;display:inline-block;padding:0 2px}
.cr-legend__circ svg{position:absolute;left:-9px;top:-6px;width:calc(100% + 18px);height:calc(100% + 12px);overflow:visible}
.cr-legend__strike{text-decoration:line-through;text-decoration-color:#FF8A7A;text-decoration-thickness:2.5px}
.cr-legend .pen{font-size:25px;color:#FFB3A8;display:inline-block;transform:rotate(-3deg)}
.cr-stack{position:relative;z-index:2;margin-bottom:-150px}
.cr-stack__back{position:absolute;top:30px;right:-18px;bottom:70px;left:26px;background:#E4EAE6;transform:rotate(-2.6deg);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.cr-prop{transform:rotate(.9deg);padding:46px 48px 38px;color:var(--ink)}
.cr-prop h3{padding-right:0;font-size:36px}
.cr-prop .sub{padding-right:0}
.cr-prop__sec{font:600 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin:24px 0 2px}
.cr-prop .row{grid-template-columns:190px minmax(0,1fr);padding:11px 0}
.cr-prop .pen{font-size:26px}
.cr-stack > .note{color:#B9D3C1;text-align:right;padding:20px 0 0}
@media (max-width:999px){
  .cr-sample__grid{grid-template-columns:1fr;gap:40px}
  .cr-sample__head{padding-top:0}
  .cr-sample__pen{display:none}
}
@media (max-width:767px){
  .cr-sample{padding-top:calc(90px + 60px)}
  .cr-stack{margin-bottom:-110px}
  .cr-stack__back{right:8px;left:12px;transform:rotate(-1.2deg)}
  .cr-prop{padding:26px 18px 22px;transform:rotate(.5deg)}
  .cr-prop h3{font-size:28px}
  .cr-prop .row{grid-template-columns:1fr;gap:0;padding:10px 0}
  .cr-prop .pen{font-size:23px}
  .cr-prop dd .pen{margin-top:5px}
}

/* red flags, beside Stephen */
.flags.cr-flags{padding:calc(150px + clamp(70px,7vw,100px)) 0 clamp(64px,5.6vw,80px)}
/* close the dead bands between sections (each boundary had about 200px of nothing) */
.cr-flags + .faq{padding:clamp(52px,4.4vw,62px) 0 clamp(48px,4.4vw,60px)}
.cr-flags__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.cr-flags__steve{position:sticky;top:116px;max-width:400px;width:100%;justify-self:end}
.cr-flags__steve img{width:100%;aspect-ratio:720/780;object-fit:cover;border:8px solid #fff;transform:rotate(-1.5deg);box-shadow:0 34px 60px -28px rgba(0,0,0,.75)}
.cr-flags__steve figcaption{font:500 13.5px/1.4 var(--sans);color:rgba(255,255,255,.62);margin-top:18px}
.cr-flags__vid{max-width:340px}
.cr-flags__vid video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#111;border:8px solid #fff;box-shadow:0 34px 60px -28px rgba(0,0,0,.75)}
.cr-flags__pen{color:var(--red-hi);font-size:27px;transform:rotate(-4deg);margin-top:8px;transform-origin:left}
.cr-flags__lede{font-size:17.5px;line-height:1.55;color:rgba(255,255,255,.72);margin:22px 0 26px;max-width:34em}
.flags.cr-flags ul{columns:auto}
.flags.cr-flags li{font-size:clamp(19px,1.6vw,23px);text-wrap:balance}
.cr-flags__cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:36px;padding-top:30px;border-top:1px solid rgba(255,255,255,.16)}
.cr-flags__cta span{font-size:15.5px;line-height:1.45;color:rgba(255,255,255,.72);max-width:24em}
@media (max-width:999px){
  .cr-flags__grid{grid-template-columns:1fr;gap:44px}
  .cr-flags__steve{position:relative;top:auto;justify-self:start;max-width:300px}
  .cr-flags__vid{max-width:280px}
}
@media (max-width:767px){
  .flags.cr-flags{padding-top:calc(110px + 60px)}
  .cr-flags__steve,.cr-flags__vid{max-width:216px}
  .cr-flags__pen{position:absolute;left:calc(100% + 12px);bottom:84px;width:112px;margin:0;font-size:22px;text-wrap:balance}
  .cr-flags__cta .btn{width:100%}
}

/* the close: the page ends on the seal, pressed onto a proposal */
.cr-close{background:var(--forest);color:#fff;padding:clamp(64px,6.4vw,92px) 0 0;position:relative;overflow:hidden}
.cr-close__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.cr-close__art{position:relative;height:clamp(320px,29vw,420px)}
.cr-close__sheet{position:absolute;top:0;bottom:-30px;left:calc(-1 * var(--edge) - 30px);right:22%;background:#fff;transform:rotate(-3.5deg);padding:38px 40px 0 calc(var(--edge) + 70px);box-shadow:0 44px 70px -30px rgba(0,0,0,.6)}
.cr-close__sheet b{display:block;font:600 34px/1 var(--serif);color:var(--ink);padding-bottom:16px;border-bottom:2px solid var(--ink)}
.cr-close__sheet i{display:block;height:2px;background:#C9D3CC;margin-top:26px;width:88%}
.cr-close__sheet i:nth-child(3){width:70%}.cr-close__sheet i:nth-child(5){width:80%}.cr-close__sheet i:nth-child(7){width:56%}
.cr-close__seal{position:absolute;right:0;top:50%;width:clamp(240px,22vw,320px);transform:translateY(-50%) rotate(-10deg);filter:drop-shadow(0 24px 30px rgba(0,0,0,.45))}
.cr-close .label{color:var(--pale)}
.cr-close .h2{color:#fff;margin-top:14px;font-size:clamp(40px,5vw,72px)}
.cr-close__line{margin-top:20px;font-size:18px;line-height:1.55;color:#DCEBE0;max-width:30em}
.cr-close .hero__btns{margin-top:30px}
.cr-close__next{margin-top:clamp(64px,6.4vw,96px);border-top:1px solid rgba(255,255,255,.22);padding:24px 0 34px;position:relative;z-index:1}
.cr-close__next p{font-size:16.5px;line-height:1.5;color:#DCEBE0}
.cr-close__next a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;white-space:nowrap}
.cr-close__next a svg{width:16px;height:16px}
@media (max-width:999px){
  .cr-close__grid{grid-template-columns:1fr;gap:56px}
  .cr-close__art{height:300px;max-width:560px}
}
@media (max-width:767px){
  .cr-close{padding-top:64px}
  .cr-close__art{height:230px}
  .cr-close__sheet{right:30%;bottom:6px;padding:24px 18px 0 calc(var(--gut) + 30px)}
  .cr-close__sheet b{font-size:24px;padding-bottom:10px}
  .cr-close__sheet i{margin-top:18px}
  .cr-close__seal{width:178px;right:-4px}
  .cr-close__grid{gap:52px}
  .cr-close .hero__btns .btn{width:100%}
  .cr-close__next{margin-top:52px}
}

/* =====================================================================
   2. START A PROJECT
   ===================================================================== */
/* the photo column is wide enough to read as a house: the front-gable wing in a tall crop, the form card overlapping it by 44px */
.st-hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,calc(100vw - 920px),560px);background:var(--forest)}
.st-hero__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);grid-template-rows:auto auto;column-gap:clamp(32px,3.4vw,52px);align-content:center;padding:clamp(40px,4.2vw,62px) 0 clamp(40px,4.2vw,62px) var(--edge);color:#fff;position:relative;z-index:2}
.st-hero__copy{grid-column:1;grid-row:1;align-self:end}
.st-hero .m-h1 .br{display:block}
.st-hero__more{grid-column:1;grid-row:2;align-self:start}
.st-hero__form{grid-column:2;grid-row:1/3;align-self:center;margin-right:-44px}
.st-hero__form .form{box-shadow:0 44px 80px -30px rgba(0,0,0,.55)}
.st-poster{font-size:clamp(46px,4.2vw,64px)}
.st-hero__sub{margin-top:20px;font-size:17.5px;line-height:1.55;color:#E3EEE6;max-width:440px}
.st-hero__tel{display:inline-flex;align-items:center;gap:12px;margin-top:28px;font:600 clamp(28px,2.4vw,36px)/1 var(--serif);letter-spacing:-.01em;color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.35);padding-bottom:7px}
.st-hero__tel svg{width:24px;height:24px;flex:none}
.st-hero__hours{font-size:14.5px;color:var(--pale);margin-top:12px}
.st-hero .byline{max-width:460px}
.st-hero__photo{display:flex;flex-direction:column;background:var(--forest)}
.st-hero__photo picture{flex:1;display:block;min-height:0}
.st-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:80% 55%}
.st-hero__photo .note{padding:8px var(--gut) 10px 0;text-align:right;color:var(--pale)}
@media (max-width:1179px){
  .st-hero{grid-template-columns:1fr}
  .st-hero__main{grid-template-columns:1fr;grid-template-rows:none;padding:44px var(--gut) 44px}
  .st-hero__copy,.st-hero__more,.st-hero__form{grid-column:1;grid-row:auto;align-self:auto;margin-right:0}
  .st-hero__copy{order:1}.st-hero__form{order:2}.st-hero__more{order:3;margin-top:30px}
  .st-hero__form{margin-top:30px;max-width:560px}
  .st-hero__photo img{height:auto;aspect-ratio:16/8;object-position:72% 55%}
}
@media (max-width:767px){
  .st-hero__main{padding:20px var(--gut) 30px}
  .st-poster{font-size:34px;margin-top:10px;line-height:1.05}
  .st-hero__sub{display:none}
  .st-hero__form{margin-top:18px}
  .st-hero__more{margin-top:10px}
  .st-hero__tel{font-size:28px;margin-top:22px}
  .st-hero__photo img{aspect-ratio:auto;height:220px}
}
/* the two forms that sit in a first screen: compact on phones */
@media (max-width:767px){
  .st-hero .form,.lp-hero .form{padding:18px 18px 16px}
  .st-hero .form__head,.lp-hero .form__head{flex-direction:row;align-items:center}
  .st-hero .form__head b,.lp-hero .form__head b{font-size:22px}
  .st-hero .form__intro,.lp-hero .form__intro{display:none}
  .st-hero .form fieldset,.lp-hero .form fieldset{margin-top:12px}
  .st-hero .field,.lp-hero .field{margin-bottom:11px}
  .st-hero .field label,.lp-hero .field label{margin-bottom:5px}
  .st-hero .field input,.st-hero .field select,.lp-hero .field input,.lp-hero .field select{height:48px}
  .st-hero .form .btn,.lp-hero .form .btn{padding:16px 20px;margin-top:4px}
  .st-hero .form__fine,.lp-hero .form__fine{margin-top:10px}
}

/* what happens next: three short stages beside the taped phone-message slip, Stephen's snapshot tucked under it */
.st-next{padding:clamp(76px,7.6vw,110px) 0 clamp(40px,3.6vw,52px)}
.st-next__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center}
.st-next__copy{grid-column:1/6}
.st-next__h{margin:14px 0 0;max-width:13ch}
.st-steps{list-style:none;margin:clamp(30px,3vw,44px) 0 0;padding:0}
.st-steps li{padding:18px 0 20px;border-top:1px solid var(--rule)}
.st-steps li:last-child{border-bottom:1px solid var(--rule)}
.st-steps p{margin-top:10px;color:var(--body);font-size:17px;line-height:1.55;max-width:32em}
.st-next__call{margin-top:22px;font-size:16.5px;color:var(--body)}
.st-next__call a{color:var(--forest);font-weight:600;white-space:nowrap}
.slip-wrap{grid-column:7/13;position:relative;padding:40px 0 0 clamp(120px,11vw,160px)}
.st-snap{position:absolute;left:0;top:0;width:clamp(170px,15vw,210px);margin:0;background:#fff;padding:8px 8px 10px;box-shadow:0 26px 40px -24px rgba(16,40,26,.55);transform:rotate(-5deg);z-index:0}
.st-snap img{display:block;width:100%;aspect-ratio:720/780;object-fit:cover}
.st-snap figcaption{font:500 12px/1.3 var(--sans);color:var(--stone);margin-top:8px}
.slip{background:#fff;border:1px solid var(--rule);box-shadow:0 34px 60px -34px rgba(16,40,26,.5);padding:30px 34px 26px;transform:rotate(-2deg);position:relative;z-index:1;max-width:480px}
.slip::before{content:"";position:absolute;top:-15px;left:50%;width:128px;height:30px;background:rgba(207,227,213,.85);transform:translateX(-50%) rotate(2.5deg)}
.slip__top{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--forest)}
.slip__top img{width:42px}
.slip__top b{display:block;font:600 23px/1.1 var(--serif)}
.slip__top span{display:block;font:500 12px/1.4 var(--sans);color:var(--stone);margin-top:3px}
.slip dl{margin:6px 0 0}
.slip dl div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px dashed #C4CEC7}
.slip dt{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.slip dd{margin:0;font-size:16px}
.slip dd.hand{font:700 27px/1 var(--hand);color:#26365C}
.slip__boxes{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px}
.slip__boxes li{display:flex;align-items:center;gap:9px}
.slip__boxes i{width:20px;height:20px;border:1.5px solid var(--ink);position:relative;display:inline-block;flex:none}
.slip__tick{position:absolute;left:-3px;top:-10px;width:30px;height:26px}
.slip__pen{font-size:27px;margin-top:16px;transform:rotate(-3deg);text-align:right}
.slip-wrap > .note{text-align:right;padding-top:18px;max-width:480px;margin-left:auto}
.st-review{display:flex;align-items:center;gap:22px;margin-top:clamp(56px,5.6vw,80px);padding-top:26px;border-top:2px solid var(--ink);text-decoration:none;color:var(--body);font-size:16.5px;line-height:1.5}
.st-review__seal{width:92px;flex:none;transform:rotate(-8deg);filter:drop-shadow(0 10px 12px rgba(0,0,0,.22))}
.st-review b{font:600 21px/1.3 var(--serif);color:var(--ink);margin-right:4px}
.st-review em{display:inline-flex;align-items:center;gap:8px;font-style:normal;font-weight:600;color:var(--forest);margin-left:4px;white-space:nowrap}
.st-review em svg{width:16px;height:16px}
.st-review:hover b{color:var(--forest)}
@media (max-width:999px){
  .st-next__grid{grid-template-columns:1fr;row-gap:56px}
  .st-next__copy,.slip-wrap{grid-column:1}
  .slip-wrap{max-width:560px}
}
@media (max-width:767px){
  .st-next{padding-top:64px}
  .st-steps p{font-size:16px}
  .slip-wrap{padding:118px 0 0}
  .st-snap{left:auto;right:4px;width:132px;transform:rotate(4deg)}
  .slip{padding:24px 20px 20px}
  .slip dl div{grid-template-columns:72px minmax(0,1fr)}
  .slip dd.hand{font-size:24px}
  .st-review{align-items:flex-start;gap:16px}
  .st-review__seal{width:72px}
  .st-review b{display:block;font-size:19px;margin-bottom:4px}
  .st-review em{display:flex;margin:8px 0 0}
}

/* =====================================================================
   3. META ADS LANDING PAGE (no site navigation)
   ===================================================================== */
.lp-hdr .hdr__in{justify-content:space-between}
.lp-hdr .brand__name{display:block}
.lp-call{display:inline-flex;align-items:center;gap:12px;margin-left:auto;background:var(--forest);color:#fff;text-decoration:none;padding:11px 20px 11px 16px;border-radius:2px;font:600 17px/1.1 var(--sans)}
.lp-call svg{width:20px;height:20px;flex:none}
.lp-call__long small{display:block;font:500 11.5px/1 var(--sans);color:var(--pale);margin-bottom:4px}
.lp-call__short{display:none}
@media (max-width:767px){
  .lp-call{padding:12px 16px;font-size:16px;gap:9px}
  .lp-call__long{display:none}
  .lp-call__short{display:inline}
}

.lp-hero{background:var(--forest);color:#fff;padding:clamp(44px,4.6vw,70px) 0 clamp(120px,10vw,160px)}
.lp-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center}
.lp-poster{font-size:clamp(52px,6.3vw,94px);margin-top:14px}
.lp-hero .hero__sub{max-width:560px}
.lp-byline{max-width:560px}
.lp-hero__form .form{box-shadow:0 44px 80px -30px rgba(0,0,0,.55)}
@media (max-width:999px){
  .lp-hero__grid{grid-template-columns:1fr;gap:30px}
  .lp-hero__form{max-width:560px}
}
/* phones: screen 1 carries the trust row (face, name, licence) in the space the kicker used to take; Next stays above 664 */
@media (max-width:767px){
  .lp-hero{padding:16px 0 92px}
  .lp-hero__grid{gap:14px}
  .lp-poster{font-size:36px;line-height:1.04;margin-top:8px}
  .lp-byline{margin-top:12px;padding-top:10px;gap:12px}
  .lp-byline img{width:38px;height:46px}
  .lp-byline em{font-size:15.5px}
  .lp-byline span{font-size:12px;margin-top:1px}
}

/* proof comes straight after the form: Stephen's photo rises out of the green */
.lp-proof{padding:0 0 clamp(64px,6.4vw,96px)}
.lp-proof__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,7vw,110px);align-items:end}
.lp-proof__photo{position:relative;max-width:400px;width:100%;justify-self:end;margin-top:calc(-1 * clamp(80px,7.4vw,112px))}
.lp-proof__photo::before{content:"";position:absolute;z-index:-1;top:48px;right:-44px;bottom:-44px;left:48px;background:var(--sage)}
.lp-proof__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border:8px solid #fff;box-shadow:0 30px 50px -28px rgba(0,0,0,.5)}
.lp-proof__photo figcaption{font:500 13.5px/1.4 var(--sans);color:var(--stone);margin-top:14px}
.lp-proof__copy{padding-top:clamp(40px,4vw,60px)}
.lp-proof__num{font:600 clamp(60px,8.4vw,124px)/.9 var(--serif);letter-spacing:-.04em;color:var(--forest);margin-top:16px;white-space:nowrap}
.lp-proof__what{font-size:17px;line-height:1.55;color:var(--body);margin-top:16px;max-width:31em}
.lp-proof__what a{color:var(--forest);font-weight:600}
.lp-proof__plan{margin-top:24px;padding-top:22px;border-top:2px solid var(--ink);font:500 clamp(21px,1.8vw,26px)/1.38 var(--serif);color:var(--ink);max-width:28em;text-wrap:balance}
.lp-proof__hic{font-size:14px;color:var(--stone);margin-top:20px}
@media (max-width:999px){
  .lp-proof__grid{grid-template-columns:1fr;gap:56px;align-items:start}
  .lp-proof__photo{justify-self:start;max-width:300px}
  .lp-proof__copy{padding-top:0}
}
@media (max-width:767px){
  .lp-proof__photo{max-width:230px;margin-top:-62px}
  .lp-proof__photo::before{top:34px;right:-26px;bottom:-26px;left:34px}
  .lp-proof__num{font-size:clamp(46px,14vw,58px)}
  .lp-proof__plan{font-size:20px}
}

/* the five services: photo tiles on white, the forest band rising behind their lower half */
.lp-strip{position:relative;z-index:2;padding:0}
.lp-strip::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:52%;background:var(--forest)}
.lp-strip__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px}
.lp-strip__where{font-size:14.5px;color:var(--stone)}
.lp-strip__list{list-style:none;margin:0 auto;padding:0;width:min(var(--max),100% - 2*var(--gut));display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:16px}
.lp-tile__pic{position:relative;overflow:hidden;height:clamp(300px,27vw,400px);box-shadow:0 30px 50px -34px rgba(0,0,0,.6)}
.lp-tile__pic img{width:100%;height:100%;object-fit:cover}
.lp-tile__pic::after{content:"";position:absolute;inset:42% 0 0 0;background:linear-gradient(180deg,rgba(10,24,16,0),rgba(10,24,16,.74))}
.lp-tile__txt{position:absolute;left:18px;right:16px;bottom:16px;z-index:1;color:#fff}
.lp-tile__txt b{display:block;font:600 clamp(22px,1.9vw,28px)/1.05 var(--serif);letter-spacing:-.012em}
.lp-tile__txt span{display:block;font-size:13.5px;line-height:1.4;color:#E6EFE9;margin-top:6px}
.lp-tile .note{padding-top:8px;color:var(--pale)}
@media (max-width:999px){
  .lp-strip__list{width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 var(--gut) 6px;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .lp-strip__list::-webkit-scrollbar{display:none}
  .lp-tile{flex:0 0 min(62%,360px);scroll-snap-align:start}
  .lp-tile__pic{height:340px}
}
@media (max-width:767px){
  .lp-strip__head{flex-direction:column;gap:4px}
  .lp-tile{flex-basis:76%}
  .lp-tile__pic{height:300px}
}

.lp-plan{background:var(--forest);color:#fff;padding:clamp(70px,7vw,104px) 0 0}
.lp-plan__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.lp-plan__copy{padding-bottom:clamp(50px,6vw,90px)}
.lp-plan .h2{color:#fff;margin-top:14px}
.lp-plan .lede{color:#DCEBE0;margin-top:18px}
.lp-plan .btn{margin-top:28px}
.lp-plan__sheet{margin-bottom:-110px;position:relative;z-index:2}
.lp-plan .circ{margin-left:.34em}
.lp-plan .circ svg{left:-5px;width:calc(100% + 10px)}
.lp-plan + .faq{padding-top:calc(110px + clamp(60px,6vw,90px));padding-bottom:clamp(48px,4.4vw,60px)}
@media (max-width:999px){
  .lp-plan__grid{grid-template-columns:1fr;gap:0}
  .lp-plan__copy{padding-bottom:40px}
  .lp-plan__sheet{margin-bottom:-90px}
  .lp-plan + .faq{padding-top:calc(90px + 56px)}
}
@media (max-width:767px){.lp-plan{padding-top:56px}}

.lp-final{background:#0B2C1C;color:#fff;padding:clamp(64px,5.6vw,80px) 0 clamp(64px,6.4vw,96px)}
.lp-final__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,6vw,96px);align-items:center}
.lp-final .label{color:#9FC6AC}
.lp-final .h2{color:#fff;margin-top:14px;font-size:clamp(38px,4.6vw,66px)}
.lp-final .lede{color:#D6E6DB;margin-top:18px}
.lp-final__alt{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:15.5px;color:#B9D3C1;max-width:30em}
.lp-final__alt a{color:#fff}
@media (max-width:999px){.lp-final__grid{grid-template-columns:1fr;gap:40px}}

.lp-foot{background:#162019;color:#C9DCCF;padding:44px 0 40px}
.lp-foot a{color:#C9DCCF}
.lp-foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.14)}
.lp-foot__brand{display:flex;align-items:center;gap:14px;font-size:14px}
.lp-foot__brand img{width:64px;background:#fff;padding:5px;border-radius:2px}
.lp-foot__brand b{display:block;font:600 19px/1.2 var(--serif);color:#fff}
.lp-foot__contact{text-align:right}
.lp-foot__tel{display:block;font:600 clamp(30px,3vw,42px)/1 var(--serif);letter-spacing:-.01em;color:#fff;text-decoration:none}
.lp-foot .lp-foot__tel{color:#fff}
.lp-foot__contact span{display:block;font-size:14px;margin-top:10px}
.lp-foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;padding-top:20px;font-size:13px;color:#9FB8A7}
@media (max-width:767px){
  .lp-foot{padding-bottom:96px}
  .lp-foot__contact{text-align:left}
}
.lp-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:10px;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--rule);box-shadow:0 -12px 26px -16px rgba(0,0,0,.32);transform:translateY(110%);visibility:hidden;transition:transform .22s,visibility 0s .22s}
@media (max-width:767px){
  .lp-bar{display:flex}
  .lp-bar.on{transform:none;visibility:visible;transition:transform .22s}
  .lp-bar .btn{flex:1;padding:15px 12px;font-size:16px}
  .lp-bar .btn--ink{flex:0 0 auto;padding-inline:18px}
}

/* =====================================================================
   4. SERVICE AREAS HUB
   ===================================================================== */
.sa-hero{background:var(--forest);color:#fff;padding:clamp(34px,3.4vw,50px) 0 clamp(40px,4vw,58px)}
.sa-hero__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:20px 64px;align-items:end}
.sa-hero__intro{font-size:17px;line-height:1.55;color:#DCEBE0}
.sa-big{list-style:none;margin:clamp(26px,2.8vw,40px) 0 0;padding:clamp(14px,1.6vw,22px) 0 0;border-top:1px solid rgba(255,255,255,.24);display:flex;flex-wrap:wrap;column-gap:clamp(30px,3.6vw,60px);align-items:baseline}
.sa-big a{display:inline-flex;align-items:flex-start;gap:12px;text-decoration:none;color:#fff}
.sa-t{font:600 clamp(56px,7.4vw,112px)/1.04 var(--serif);letter-spacing:-.036em;padding-bottom:.04em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M3 9 C 70 3, 130 14, 190 7 S 262 4, 297 10' fill='none' stroke='%23F0533F' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") left 96%/0% .1em no-repeat;transition:background-size .35s}
.sa-big a:hover .sa-t,.sa-big a:focus-visible .sa-t{background-size:100% .1em}
.sa-v{font:600 13.5px/1 var(--sans);letter-spacing:.03em;color:#A9CFB7;margin-top:1.6em;white-space:nowrap}
.sa-hero__foot{display:flex;justify-content:space-between;align-items:center;gap:22px 40px;flex-wrap:wrap;margin-top:clamp(24px,2.6vw,36px);padding-top:24px;border-top:1px solid rgba(255,255,255,.24)}
.sa-key{font-size:14px;color:#B9D3C1;max-width:26em}
.sa-key b{color:#A9CFB7;font-weight:600}
.hero__btns.sa-btns{margin-top:0}
.sa-proof{font-size:13.5px;color:var(--pale);margin-top:18px}
@media (max-width:999px){.sa-hero__top{grid-template-columns:1fr}}
@media (max-width:767px){
  .sa-hero{padding:20px 0 34px}
  .sa-hero .wrap{display:flex;flex-direction:column}
  .sa-hero__top{display:contents}
  .sa-hero__top > div{order:1}
  .sa-big{order:2}
  .sa-hero__intro{order:3;margin-top:18px}
  .sa-hero__foot{order:4}
  .sa-proof{order:5}
  .sa-hero__top{gap:12px}
  .sa-hero__intro{font-size:15.5px}
  .sa-big{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:12px;margin-top:20px;padding-top:16px}
  .sa-big a{flex-direction:column;gap:3px}
  .sa-t{font-size:clamp(28px,8.2vw,34px);line-height:1}
  .sa-v{margin-top:0;font-size:12.5px}
  .sa-hero__foot{margin-top:20px;padding-top:0;border-top:0;flex-direction:column-reverse;align-items:stretch;gap:16px}
  .sa-btns{flex-direction:column}
  .sa-btns .btn{width:100%;padding:16px 20px}
  .sa-key{font-size:13px}
}

.sa-where__photo img{width:100%;height:clamp(280px,40vw,600px);object-fit:cover;object-position:50% 62%}
.sa-where__photo .note{padding-left:var(--gut)}
.sa-where__deep{background:var(--deep);color:#fff;padding:0 0 clamp(80px,8vw,120px)}
.sa-where__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,80px);align-items:start}
.sa-where__copy{padding-top:clamp(66px,6.6vw,100px)}
.sa-where .label{color:#9FC6AC}
.sa-where .h2{color:#fff;margin-top:16px}
.sa-where .lede{color:#D6E6DB;margin-top:20px}
.sa-next{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:16px;color:#D6E6DB}
.sa-next b{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#9FC6AC;margin-bottom:6px}
.sa-map{margin:calc(-1 * clamp(150px,15vw,250px)) 0 0;position:relative;z-index:2;background:#fff;padding:16px 16px 12px;box-shadow:0 44px 80px -30px rgba(0,0,0,.65)}
.sa-map figcaption{font-size:12.5px;color:var(--stone);margin-top:9px;padding:0 4px}
@media (max-width:999px){
  .sa-where__grid{grid-template-columns:1fr;gap:0}
  .sa-map{margin-top:40px}
}
@media (max-width:767px){.sa-map{padding:8px 8px 8px;margin-left:calc(-1 * var(--gut) + 8px);margin-right:calc(-1 * var(--gut) + 8px)}}

/* the survey map */
.sv{width:100%;height:auto;display:block}
.sv-paper{fill:#FBFCFB}
.sv-frame{fill:none;stroke:var(--ink);stroke-width:2}
.sv-grid{stroke:#E2E8E4;stroke-width:1}
.sv-deg{font:500 10.5px var(--sans);fill:#9AA39D;letter-spacing:.06em}
.sv-ring{fill:none;stroke:#B5C3BA;stroke-width:1.3}
.sv-ring--far{stroke-dasharray:5 6}
.sv-ringt{font:600 11px var(--sans);fill:#7F8A83;letter-spacing:.16em}
.sv-route{stroke:#C22E22;stroke-width:1.8;stroke-dasharray:1 7;stroke-linecap:round;opacity:.6}
.sv-dot--more{fill:#86A892}
.sv-more{font:500 14px var(--sans);fill:#56625A}
.sv-dot{fill:var(--forest);stroke:#fff;stroke-width:3}
.sv-lab{font:600 25px var(--serif);fill:var(--ink);letter-spacing:-.01em;paint-order:stroke;stroke:#FBFCFB;stroke-width:5px;stroke-linejoin:round}
.sv-town:hover .sv-lab,.sv-town:focus .sv-lab{fill:var(--forest)}
.sv-town:hover .sv-dot,.sv-town:focus .sv-dot{fill:var(--red)}
.sv-boston{fill:var(--ink)}
.sv-bost{font:700 15px var(--sans);letter-spacing:.2em;fill:var(--ink)}
.sv-base{fill:var(--red)}
.sv-base-ring{fill:none;stroke:var(--red);stroke-width:1.8}
.sv-baset{font:700 15px var(--sans);letter-spacing:.18em;fill:var(--red)}
.sv-baseu{font:500 13.5px var(--sans);fill:#56625A}
.sv-scale text,.sv-north text{font:700 11px var(--sans);letter-spacing:.16em;fill:var(--ink)}
.sv-pen{font:700 30px var(--hand);fill:var(--red)}
.sv-pen--sm{font-size:26px}
@media (max-width:767px){
  .sv-deg,.sv-more,.sv-ringt{display:none}
  .sv-lab{font-size:44px;stroke-width:8px}
  .sv-bost,.sv-baset{font-size:26px}
  .sv-baseu{display:none}
  .sv-dot{stroke-width:5}
  .sv-pen{font-size:46px}
  .sv-pen--sm{display:none}
  .sv-scale text,.sv-north text{font-size:20px}
  .sv-scale text:first-of-type{display:none}
}

.sa-more{margin-top:clamp(60px,6vw,96px);padding-top:30px;border-top:1px solid rgba(255,255,255,.2)}
.sa-more__list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;row-gap:2px}
.sa-more__list li{font:600 clamp(28px,3.3vw,48px)/1.16 var(--serif);letter-spacing:-.022em;color:rgba(207,227,213,.5)}
.sa-more__list li:not(:last-child)::after{content:"/";color:rgba(207,227,213,.22);margin:0 .36em;font-weight:400}
.sa-more__ask{margin-top:26px;font-size:16px;color:#B9D3C1}
@media (max-width:767px){.sa-more__list li{font-size:25px}}

.sa-houses{padding:clamp(90px,9vw,140px) 0 clamp(90px,9vw,130px);overflow:hidden}
.sa-houses__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center}
.sa-houses__copy{grid-column:1/6;position:relative;z-index:1}
.sa-1940{font:600 clamp(120px,15vw,228px)/.8 var(--serif);letter-spacing:-.055em;color:var(--forest);margin-top:20px}
.sa-houses__h{font:italic 500 clamp(24px,2.3vw,33px)/1.3 var(--serif);letter-spacing:-.01em;margin-top:28px}
.sa-houses__h b{font-style:normal;font-weight:600;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M3 10 C 60 4, 120 13, 180 7 S 260 5, 297 9' fill='none' stroke='%23C22E22' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/100% .28em no-repeat;padding-bottom:.06em}
.sa-houses__body{margin-top:18px;color:var(--body);font-size:18px}
.sa-houses__src{font-size:13.5px;color:var(--stone);margin-top:14px}
.sa-houses .more{margin-top:22px}
.sa-houses__photo{grid-column:6/13;margin:0 calc(-1 * var(--edge)) 0 0}
.sa-houses__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sa-houses__photo .note{text-align:right;padding-right:var(--gut)}
@media (max-width:999px){
  .sa-houses__grid{column-gap:0}
  .sa-houses__copy{grid-column:1/13}
  .sa-houses__photo{grid-column:1/13;margin:44px calc(-1 * var(--gut)) 0}
}
@media (max-width:767px){.sa-1940{font-size:112px}}

/* ---- hub, inner-pages pass (2026-10-09): persuasive line, labelled values, the six-town ledger ---- */
.sa-poster{font:600 clamp(28px,2.9vw,42px)/1.1 var(--serif);letter-spacing:-.02em;color:#fff;margin-top:14px;max-width:16em;text-wrap:balance}
.sa-v{color:#A9CFB7;font-weight:500;letter-spacing:.02em}
.sa-v b{font-weight:700;color:#fff;margin-left:.25em}
.sv-more{font-size:17px}
.sv-deg{font-size:13px}
.sa-ledger{padding:clamp(80px,8vw,130px) 0 clamp(80px,8vw,120px);position:relative}
.sa-ledger__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 64px;align-items:end}
.sa-ledger__head .lede{color:var(--body)}
.sa-ledger__t{width:100%;border-collapse:collapse;margin-top:clamp(36px,4vw,56px);border-top:2px solid var(--ink)}
.sa-ledger__t thead th{font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--stone);text-align:left;padding:14px 18px 12px 0;border-bottom:1px solid var(--rule)}
.sa-ledger__t tbody th{text-align:left;padding:22px 18px 22px 0;vertical-align:top;width:22%}
.sa-ledger__t tbody th a{font:600 clamp(26px,2.4vw,36px)/1.05 var(--serif);letter-spacing:-.02em;color:var(--ink);text-decoration:none;background:linear-gradient(var(--red),var(--red)) left bottom/0 2px no-repeat;transition:background-size .3s}
.sa-ledger__t tbody th a:hover,.sa-ledger__t tbody th a:focus-visible{background-size:100% 2px;color:var(--forest)}
.sa-ledger__t td{padding:24px 22px 22px 0;vertical-align:top;font-size:16.5px;line-height:1.5;color:var(--body);border-bottom:1px solid var(--rule)}
.sa-ledger__t tbody th{border-bottom:1px solid var(--rule)}
.sa-ledger__pen{position:absolute;right:max(var(--gut),calc((100vw - var(--max)) / 2 + 20px));top:clamp(60px,6vw,96px);transform:rotate(-4deg);font:700 26px var(--hand);color:var(--red)}
.sa-ledger__src{font-size:13.5px;color:var(--stone);margin-top:18px}
@media (max-width:999px){.sa-ledger__head{grid-template-columns:1fr}.sa-ledger__pen{display:none}}
@media (max-width:767px){
  .sa-poster{font-size:26px;margin-top:10px}
  .sa-v{font-size:12.5px}
  .sa-ledger__t thead{display:none}
  .sa-ledger__t,.sa-ledger__t tbody,.sa-ledger__t tr,.sa-ledger__t th,.sa-ledger__t td{display:block;width:auto}
  .sa-ledger__t tr{padding:18px 0 16px;border-bottom:1px solid var(--rule)}
  .sa-ledger__t tbody th,.sa-ledger__t td{border:0;padding:0}
  .sa-ledger__t tbody th{margin-bottom:10px}
  .sa-ledger__t td{font-size:15.5px;margin-top:8px}
  .sa-ledger__t td::before{content:attr(data-l);display:block;font:600 11.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-bottom:2px}
  .sv-dot--more{display:none}
}
.sa-ledger__t tbody th a{display:inline-block;padding:9px 0;margin:-4px 0}
