/* ============================================================
   HouseLyft — shared styles for interior pages
   (About, Contact, Service pages). Builds on the tokens and
   components defined in styles.css. Homepage does not load this.
   ============================================================ */

/* active nav link */
.nav__links a.active{color:var(--ink)}
.nav__links a.active::after{width:100%}

/* ---------- interior page hero ---------- */
.page-hero{
  position:relative;overflow:hidden;
  padding:clamp(58px,8vw,96px) 0 clamp(44px,6vw,72px);
  background:linear-gradient(180deg,var(--paper-3),var(--paper));
  border-bottom:1px solid var(--line-2);
}
.page-hero::after{
  content:"";position:absolute;right:-8%;top:-40%;width:46%;height:180%;
  background:radial-gradient(closest-side, rgba(224,87,63,.10), transparent 70%);
  pointer-events:none;
}
.page-hero__inner{position:relative;z-index:1;max-width:760px}
/* two-column hero variant (text + image) */
.page-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(34px,5vw,64px);align-items:center}
.page-hero--media .page-hero__inner{max-width:none}
.page-hero__media{position:relative;z-index:1;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3.35}
.page-hero__media img{width:100%;height:100%;object-fit:cover}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);margin-top:14px}
.page-hero__sub{margin-top:18px;font-size:1.15rem;max-width:56ch;color:var(--ink-2)}
.page-hero__cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
@media (max-width:560px){
  .page-hero__cta{flex-direction:column;align-items:stretch;gap:11px}
  .page-hero__cta .btn{width:100%}
}

.breadcrumb{display:flex;align-items:center;gap:9px;font-size:.84rem;color:var(--ink-3);margin-bottom:18px;flex-wrap:wrap}
.breadcrumb a{color:var(--ink-2);font-weight:600}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{opacity:.6}

/* ---------- readable prose column ---------- */
.prose{max-width:680px}
.prose p{font-size:1.08rem;margin-top:18px;color:var(--ink-2)}
.prose h3{margin-top:40px;scroll-margin-top:96px}
.prose h3::before{content:"";display:block;width:24px;height:3px;background:var(--accent);border-radius:2px;margin-bottom:10px}
.prose h3 + p{margin-top:14px}
.prose ul{margin-top:14px;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.prose li{font-size:1.02rem;color:var(--ink-2);line-height:1.55}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent);font-weight:600}
.prose a:hover{color:var(--accent-deep)}
.prose .note{margin:0 0 26px}

/* thank-you success badge */
.thanks-badge{display:inline-flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);box-shadow:0 0 0 8px rgba(224,87,63,.08)}

/* ---------- generic split (text + media) ---------- */
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}
.split--reverse .split__text{order:2}
.split__media{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3.4}
.split__media img{width:100%;height:100%;object-fit:cover}
.split--fill{align-items:stretch}
.split--fill .split__media{aspect-ratio:auto;min-height:420px}
.split__text > p{margin-top:18px;font-size:1.08rem}

/* ---------- feature / checklist ---------- */
.feature-list{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.feature-list li{position:relative;padding-left:37px;list-style:none;font-size:1rem;color:var(--ink);line-height:1.55}
.feature-list li::before{
  content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;
  background:var(--accent-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23C4432E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 6'/></svg>") center/14px no-repeat;
}
.feature-list li b{font-weight:700}

/* ---------- numbered process steps (reuses report tokens) ---------- */
.steps{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 40px}
.step{display:flex;gap:16px}
.step__n{font-size:1rem;font-weight:700;color:#fff;background:var(--accent);width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step h4{margin-bottom:4px}
.step p{font-size:.95rem}

/* ---------- info / disclaimer note ---------- */
.note{margin-top:24px;font-size:.9rem;color:var(--ink-2);line-height:1.55;padding:16px 20px;background:var(--paper-2);border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0}
.note strong{color:var(--ink)}

/* ---------- stat row ---------- */
.statline{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.statline__item{background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:18px 22px;box-shadow:var(--shadow-sm);min-width:150px}
.statline__item b{display:block;font-size:1.6rem;font-weight:800;letter-spacing:-.03em}
.statline__item span{font-size:.85rem;color:var(--ink-2)}
@media (max-width:640px){
  .statline{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .statline__item{min-width:0;padding:16px 12px;text-align:center}
  .statline__item b{font-size:1.4rem}
  .statline__item span{font-size:.78rem}
}

/* ---------- contact layout ---------- */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:start}
.contact-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(26px,3vw,40px)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:.88rem;font-weight:700;color:var(--ink)}
.field input,.field textarea,.field select{
  font-family:inherit;font-size:1rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;width:100%;
  transition:.2s var(--ease);
}
.field textarea{resize:vertical;min-height:130px}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(224,87,63,.14);background:#fff;
}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:0}
.contact-card .btn{width:100%;margin-top:6px}

.contact-aside__block{padding:22px 0;border-top:1px solid var(--line)}
.contact-aside__block:first-child{padding-top:0;border-top:none}
.contact-aside__block h4{margin-bottom:10px}
.contact-aside__row{display:flex;gap:12px;align-items:flex-start;margin-top:10px;font-size:.97rem;color:var(--ink-2)}
.contact-aside__row svg{color:var(--accent);flex-shrink:0;margin-top:2px}
.contact-aside__row a{color:var(--ink);font-weight:600}
.contact-aside__row a:hover{color:var(--accent)}
/* contact info rows with icon badges */
.cinfo{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.cinfo__row{display:flex;gap:14px;align-items:center}
.cinfo__ic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cinfo__label{font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.cinfo__val{font-size:1.02rem;font-weight:600;color:var(--ink)}
.cinfo__val a{color:var(--ink)}
.cinfo__val a:hover{color:var(--accent)}
/* free-report capture box (contact sidebar) */
.report-box{background:linear-gradient(160deg,#fff,var(--accent-soft));border:1px solid rgba(224,87,63,.2);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-sm);margin-top:8px}
.report-box__tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);padding:5px 12px;border-radius:100px;margin-bottom:13px}
.report-box h4{margin-bottom:7px;font-size:1.2rem}
.report-box>p{font-size:.93rem;color:var(--ink-2);line-height:1.5;margin-bottom:16px}
.report-box__form{display:flex;flex-direction:column;gap:10px}
.report-box__form input{font-family:inherit;font-size:.98rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;width:100%;transition:.2s var(--ease)}
.report-box__form input::placeholder{color:var(--ink-3)}
.report-box__form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(224,87,63,.14)}
.report-box__form .btn{width:100%}
.report-box__trust{margin-top:12px;font-size:.8rem;color:var(--ink-3);text-align:center}

/* enhanced final report CTA — value bullets + trust line */
.final__points{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;max-width:600px;margin:24px auto 4px;padding:0}
.final__points li{display:flex;align-items:center;gap:9px;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.92)}
.final__points li::before{content:"";width:22px;height:22px;flex-shrink:0;border-radius:50%;background:rgba(255,255,255,.15) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 6'/></svg>") center/13px no-repeat}
.final__trust{margin-top:16px;font-size:.84rem;letter-spacing:.03em;color:rgba(255,255,255,.6)}

/* ---------- team grid (About) ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.team__card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:.3s var(--ease)}
.team__card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.team__photo{aspect-ratio:1/1;overflow:hidden;background:var(--paper-2)}
.team__photo img{width:100%;height:100%;object-fit:cover}
.team__body{padding:20px 22px}
.team__name{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.team__role{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:5px 0 11px}
.team__bio{font-size:.92rem;color:var(--ink-2);line-height:1.5}
@media (max-width:980px){.team{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.team{grid-template-columns:1fr;max-width:340px;margin-left:auto;margin-right:auto}}

/* ---------- client journey (About) ---------- */
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:48px}
.journey__item{padding-top:16px;border-top:2px solid var(--accent)}
.journey__n{font-family:var(--serif);font-style:italic;font-size:1.9rem;color:var(--accent);line-height:1}
.journey__item h4{margin:12px 0 7px}
.journey__item p{font-size:.93rem;color:var(--ink-2);line-height:1.5}
@media (max-width:900px){.journey{grid-template-columns:1fr 1fr;gap:24px}}
@media (max-width:520px){.journey{grid-template-columns:1fr}}

/* ---------- service-area chips (About) ---------- */
.areas{display:flex;flex-wrap:wrap;align-content:flex-start;gap:11px}
.areas .chip{font-size:.94rem;padding:10px 17px}
@media (max-width:680px){
  .areas{gap:9px}
  .areas .chip{font-size:.86rem;padding:9px 14px}
  .split .areas,.localstrip .areas{justify-content:center;max-width:360px;margin:0 auto}
  .localstrip b{text-align:center}
  .contact-card .areas{justify-content:flex-start;max-width:none;margin:0}
}

/* ---------- free-report multi-step wizard ---------- */
.wiz__top{display:flex;align-items:center;gap:12px;margin:4px 0 18px}
.wiz__stepnum{font-size:.74rem;font-weight:800;letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;text-transform:uppercase}
.wiz__bar{flex:1;height:6px;border-radius:99px;background:var(--paper-2);overflow:hidden}
.wiz__bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--gold));width:16.7%;transition:width .35s var(--ease)}
.wiz__step{display:none}
.wiz__step.on{display:block;animation:wizin .32s var(--ease)}
@keyframes wizin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.wiz__grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
.wiz .field{min-width:0}
.wiz .field input,.wiz .field select,.wiz .field textarea{min-width:0;max-width:100%}
.wiz .field label em{color:var(--accent);font-style:normal}
.wiz .field input.err,.wiz .field select.err,.wiz .field textarea.err{border-color:#c8503a;background:#fdf3f1}
.wiz__err{display:none;color:#b3402e;font-size:.84rem;font-weight:600;margin:0 0 10px}
.wiz__err.on{display:block}
.wiz__consent{font-size:.76rem;color:var(--ink-3);line-height:1.55;margin:2px 0 14px}
.wiz__nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
.wiz__nav [hidden]{display:none !important}
.wiz__nav .wiz__next{flex:1}
.wiz__nav .wiz__backbtn{flex:0 0 auto;padding-left:20px;padding-right:20px}
.wiz textarea{min-height:110px}
.wiz .report-box__trust{margin-top:16px}
@media (max-width:430px){.wiz__grid2{grid-template-columns:1fr;gap:0}}
@media (prefers-reduced-motion:reduce){.wiz__step.on{animation:none}.wiz__bar i{transition:none}}

/* "Also in {city}" link rows (location-page card) */
.alsolinks{list-style:none;margin:0;padding:0}
.alsolinks li+li{border-top:1px solid var(--line)}
.alsolinks a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;font-weight:600;color:var(--ink-2);transition:.2s var(--ease)}
.alsolinks a::after{content:"\2192";color:var(--ink-3);transition:.2s var(--ease)}
.alsolinks a:hover{color:var(--accent-deep)}
.alsolinks a:hover::after{color:var(--accent);transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.alsolinks a,.alsolinks a::after{transition:none}}

/* ---------- alternating "branch" timeline (How it works) ---------- */
.ttimeline{position:relative;max-width:1000px;margin:56px auto 0}
.ttimeline::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:2px;background:var(--line);transform:translateX(-50%) scaleY(0);transform-origin:top center;transition:transform 1s var(--ease)}
.ttimeline.in::before{transform:translateX(-50%) scaleY(1)}
.titem{position:relative;width:50%;padding-bottom:52px;box-sizing:border-box;opacity:0;transition:opacity .7s var(--ease),transform .7s cubic-bezier(.2,.7,.2,1)}
.titem--left{left:0;padding-right:46px;transform:translateX(-64px) scale(.96)}
.titem--right{left:50%;padding-left:46px;transform:translateX(64px) scale(.96)}
.titem.in{opacity:1;transform:translateX(0) scale(1)}
.titem__card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:26px 28px;box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease),translate .3s var(--ease)}
.titem__card:hover{box-shadow:var(--shadow);translate:0 -3px}
.titem__card h3{font-size:clamp(1.2rem,1.9vw,1.5rem)}
.titem__card>p{margin-top:10px;font-size:.98rem;color:var(--ink-2);line-height:1.55}
.titem__meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.titem__meta .chip{font-size:.8rem}
.titem__dot{position:absolute;top:6px;width:52px;height:52px;border-radius:15px;background:var(--accent);color:#fff;font-family:var(--serif);font-style:italic;font-size:1.4rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-coral);z-index:2;transform:scale(.5);opacity:0;transition:transform .5s var(--ease) .12s,opacity .5s var(--ease) .12s}
.titem--left .titem__dot{right:-26px}
.titem--right .titem__dot{left:-26px}
.titem.in .titem__dot{transform:scale(1);opacity:1}
@media (prefers-reduced-motion:reduce){.titem,.titem__dot{opacity:1!important;transform:none!important;transition:none}}
@media (max-width:760px){
  .ttimeline{margin-top:40px;max-width:520px}
  .ttimeline::before{left:26px}
  .titem,.titem--left,.titem--right{width:100%;left:0;padding:0 0 34px 66px;transform:translateY(26px)}
  .titem.in{transform:translateY(0)}
  .titem--left .titem__dot,.titem--right .titem__dot{left:0;right:auto}
}

/* ---------- why-it-works cards ---------- */
.whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.whycard{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:30px 28px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.whycard::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease)}
.whycard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(224,87,63,.35)}
.whycard:hover::before{transform:scaleX(1)}
.whycard__ic{width:50px;height:50px;border-radius:14px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.whycard:hover .whycard__ic{background:var(--accent);color:#fff;transform:scale(1.06)}
.whycard h4{margin-bottom:8px}
.whycard p{font-size:.95rem;color:var(--ink-2);line-height:1.55}
@media (prefers-reduced-motion:reduce){.whycard,.whycard::before,.whycard__ic{transition:none}}
@media (max-width:820px){.whygrid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}

/* ---------- capability flow bar (Your Options bridge) ---------- */
.flowbar{position:relative;display:grid;grid-template-columns:repeat(5,1fr);max-width:820px;margin:46px auto 0}
.flowbar::before{content:"";position:absolute;left:12%;right:12%;top:28px;height:2px;background:var(--line);z-index:0}
.flowbar__item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center}
.flowbar__ic{width:56px;height:56px;border-radius:16px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px var(--paper)}
.flowbar__label{font-weight:700;font-size:.95rem;color:var(--ink)}
@media (max-width:680px){
  .flowbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0 0}
  .flowbar::before{display:none}
  .flowbar__item{flex-direction:row;justify-content:flex-start;gap:12px;text-align:left;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow-sm)}
  .flowbar__item:last-child{grid-column:1 / -1;justify-content:center}
  .flowbar__ic{width:42px;height:42px;flex:0 0 42px;border-radius:12px;box-shadow:none}
  .flowbar__ic svg{width:20px;height:20px}
  .flowbar__label{font-size:.92rem}
}

/* ---------- case studies (Results) ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.case{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.case:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.case__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.case__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.case:hover .case__media img{transform:scale(1.05)}
.case__status{position:absolute;top:14px;left:14px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.93);color:var(--ink);padding:6px 12px;border-radius:100px}
.case__body{padding:22px 24px}
.case__type{font-size:1.12rem;font-weight:700;margin-bottom:3px;color:var(--ink)}
.case__loc{font-size:.86rem;color:var(--ink-2);margin-bottom:18px}
.case__metrics{display:flex;gap:22px;border-top:1px solid var(--line-2);padding-top:16px}
.case__metric b{display:block;font-size:1.14rem;font-weight:800;color:var(--accent-deep);letter-spacing:-.02em;line-height:1.1}
.case__metric span{font-size:.76rem;color:var(--ink-2)}
@media (max-width:900px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cases{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}}

/* ---------- testimonial quote cards (Results) ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.quote{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--shadow-sm)}
.quote__stars{display:flex;gap:2px;color:var(--gold);margin-bottom:14px}
.quote__text{font-family:var(--serif);font-style:italic;font-size:1.04rem;line-height:1.5;color:var(--ink);margin-bottom:22px}
.quote__cite{display:flex;align-items:center;gap:12px}
.quote__cite img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.quote__cite b{display:block;font-size:.94rem;color:var(--ink)}
.quote__cite span{font-size:.82rem;color:var(--ink-2)}
@media (max-width:900px){.quotes{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}}

/* ---------- related services strip ---------- */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.related a{position:relative;overflow:hidden;display:block;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:24px 26px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.related a::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease)}
.related a:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(224,87,63,.35)}
.related a:hover::before{transform:scaleX(1)}
.related a b{display:flex;align-items:center;gap:8px;font-size:1.04rem;color:var(--ink);margin-bottom:7px}
.related a b svg{color:var(--accent);flex-shrink:0;transition:transform .3s var(--ease)}
.related a:hover b svg{transform:translateX(4px)}
.related a span{font-size:.9rem;color:var(--ink-2);line-height:1.5}
/* muted local-city chips (service pages) */
.localstrip{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.localstrip .chip{background:#fff;border:1px solid var(--line);color:var(--ink-2);transition:.2s var(--ease)}
.localstrip .chip:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}
@media (prefers-reduced-motion:reduce){.related a,.related a::before,.related a b svg,.localstrip .chip{transition:none}}

/* ============================================================
   Free Feasibility Report landing page (free-report.html)
   ============================================================ */
/* hero capture form sits in the right column of .page-hero__grid */
.lead-form.report-box{margin-top:0;box-shadow:var(--shadow-lg)}
.lead-form .report-box__form{margin-top:4px}
/* tighter hero for the lead page — the stat strip fills the bottom band */
.page-hero--lead{padding-bottom:clamp(36px,4vw,48px)}
.page-hero--lead .page-hero__grid{align-items:center}
.lead-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(38px,4.6vw,54px)}
.lead-strip__item{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:16px 20px;box-shadow:var(--shadow-sm)}
.lead-strip__ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lead-strip__item b{display:block;font-size:1.22rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.15}
.lead-strip__item span{font-size:.82rem;color:var(--ink-2)}
@media (max-width:980px){.lead-strip{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.lead-strip{grid-template-columns:1fr}}
.lead-checks{margin-top:24px}
.lead-social{display:flex;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap}
.lead-stars{color:var(--gold);letter-spacing:2px;font-size:1.05rem;line-height:1}
.lead-social span{font-size:.9rem;color:var(--ink-2)}
.lead-social b{color:var(--ink)}

/* "what's inside" — reuses .whygrid, tighten to 3-up that wraps to 2 */
.lead-inside{grid-template-columns:repeat(3,1fr)}
@media (max-width:920px){.lead-inside{grid-template-columns:1fr 1fr;max-width:none}}
@media (max-width:560px){.lead-inside{grid-template-columns:1fr;max-width:420px}}
/* 4-up persona grid (get-qualified) */
.who-grid{grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1080px){.who-grid{grid-template-columns:1fr 1fr;max-width:none}}
@media (max-width:560px){.who-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}

/* 3-step row (reuses .journey tokens) */
.lead-steps{grid-template-columns:repeat(3,1fr);max-width:900px;margin-left:auto;margin-right:auto}
@media (max-width:760px){.lead-steps{grid-template-columns:1fr;max-width:420px}}

/* ---------- sample report mock ---------- */
.rpt-stage{position:relative;max-width:436px;margin:0 auto;padding:14px 22px 22px}
/* soft glow behind the document */
.rpt-stage::before{content:"";position:absolute;inset:-6% -4%;z-index:0;background:radial-gradient(closest-side,rgba(224,87,63,.16),transparent 72%);pointer-events:none}
/* stacked-paper depth (two sheets peeking bottom-right) */
.rpt-stack{position:absolute;inset:14px 22px 22px;z-index:1}
.rpt-stack::before,.rpt-stack::after{content:"";position:absolute;inset:0;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.rpt-stack::after{transform:translate(9px,11px);opacity:.72}
.rpt-stack::before{transform:translate(18px,22px);opacity:.4}
.rpt{position:relative;z-index:2;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:24px 26px 20px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rpt-stage:hover .rpt{transform:translateY(-5px)}
.rpt::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--accent),var(--gold))}
.rpt__head{display:flex;align-items:center;gap:9px;padding-bottom:15px;border-bottom:1px solid var(--line-2)}
.rpt__logo{display:inline-flex;color:var(--ink)}
.rpt__logo svg{width:22px;height:22px}
.rpt__brand{font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.rpt__tag{margin-left:auto;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);padding:4px 9px;border-radius:100px}
.rpt__addr{margin-top:15px;font-size:.76rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}
.rpt__title{font-size:1.02rem;font-weight:700;color:var(--ink);margin-top:3px;line-height:1.3}
.rpt__rows{margin-top:16px;display:flex;flex-direction:column;gap:4px}
.rpt__row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0}
.rpt__k{font-size:.86rem;color:var(--ink-2)}
.rpt__v{font-size:.92rem;font-weight:700;color:var(--ink);text-align:right}
.rpt__v--pos{color:var(--accent-deep)}
/* highlighted "money" row */
.rpt__row--hi{margin:2px -13px;padding:9px 13px;background:var(--accent-soft);border-radius:11px}
.rpt__row--hi .rpt__k{color:var(--accent-deep);font-weight:700}
.rpt__row--hi .rpt__v{font-size:1.08rem;color:var(--accent-deep)}
/* score panel */
.rpt__score{margin:16px -14px 0;padding:14px 16px 16px;background:var(--paper-2);border-radius:13px}
.rpt__score-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.rpt__score-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rpt__score-label>span{font-size:.82rem;color:var(--ink-2);font-weight:600}
.rpt__chip{font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent);padding:4px 9px;border-radius:100px}
.rpt__score-top b{font-size:1.35rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.rpt__score-top b i{font-size:.62em;color:var(--ink-3);font-weight:600;font-style:normal}
.rpt__bar{height:9px;border-radius:100px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden}
.rpt__bar i{display:block;height:100%;width:86%;border-radius:100px;background:linear-gradient(90deg,var(--accent),var(--gold))}
.rpt__note{margin-top:15px;font-size:.72rem;color:var(--ink-3);text-align:center}
/* floating sticker on stacked-card stages */
.rpt-badge{position:absolute;z-index:4;left:2px;bottom:150px;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:800;font-size:.86rem;letter-spacing:-.01em;padding:11px 15px;border-radius:14px;box-shadow:var(--shadow-coral);animation:rptbob 3.4s var(--ease) infinite}
.rpt-badge svg{flex-shrink:0}
.rpt-badge small{display:block;font-size:.64rem;font-weight:600;letter-spacing:.04em;opacity:.85;text-transform:uppercase}
@keyframes rptbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){.rpt-badge{animation:none}}
@media (max-width:420px){.rpt-badge{bottom:auto;top:-14px;left:auto;right:0}}
/* straddle the photo edge on shorter cards (guides hero) */
.rpt-badge--mid{bottom:auto;top:152px;left:-14px}
@media (max-width:420px){.rpt-badge--mid{top:-14px;left:auto;right:0}}
/* corner sticker variant */
.rpt-badge--tr{bottom:auto;top:-14px;left:auto;right:-10px}
@media (max-width:420px){.rpt-badge--tr{right:0}}
@media (max-width:680px){.rpt-badge--hub{display:none}}
/* clickable reading-path rows (guides hero card) */
.rpt a.rpt__row .rpt__k{color:var(--ink);font-weight:600;display:flex;align-items:baseline;gap:10px}
.rpt a.rpt__row .rpt__k i{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--accent);font-size:.95rem}
.rpt a.rpt__row:hover .rpt__k,.rpt a.rpt__row:hover .rpt__v{color:var(--accent)}
/* inline "+92%" pill inside the highlighted money row */
.rpt__pct{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.01em;color:#fff;background:var(--accent);padding:3px 8px;border-radius:100px;margin-right:9px;vertical-align:middle;box-shadow:0 2px 6px rgba(196,67,46,.28)}

/* ============================================================
   Free tool — "What can I build at my address?" (what-can-i-build.html)
   ============================================================ */
.tool{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:26px 28px 24px;position:relative;overflow:hidden}
.tool::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--accent),var(--gold))}
.tool__progress{display:flex;gap:8px;margin:4px 0 18px}
.tool__dot{height:5px;flex:1;border-radius:100px;background:var(--paper-3);transition:background .3s var(--ease)}
.tool__dot.on{background:var(--accent)}
.tool__step{display:none}
.tool__step.active{display:block;animation:toolin .35s var(--ease)}
@keyframes toolin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tool__step.active{animation:none}}
.tool h3{font-size:1.26rem;margin-bottom:5px}
.tool__hint{font-size:.9rem;color:var(--ink-2);margin-bottom:14px;line-height:1.5}
.tool .field{margin-bottom:14px}
/* selectable pill chips (radio/checkbox) */
.tchips{display:flex;flex-wrap:wrap;gap:9px}
.tchip{position:relative;cursor:pointer;user-select:none;font-size:.9rem;font-weight:600;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);border-radius:100px;padding:9px 16px;transition:.2s var(--ease)}
.tchip:hover{border-color:var(--accent);color:var(--accent-deep)}
.tchip input{position:absolute;opacity:0;pointer-events:none}
.tchip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}
.tchip__lbl{display:block;font-size:.85rem;font-weight:700;color:var(--ink);margin:16px 0 8px}
.tool__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.tool__back{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--ink-3);padding:8px 2px}
.tool__back:hover{color:var(--ink)}
.tool__err{display:none;font-size:.84rem;font-weight:600;color:var(--accent-deep);margin-top:10px}
.tool__err.show{display:block}
/* result */
.tres__eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep)}
.tres__num{font-size:clamp(2.5rem,4vw,3.2rem);font-weight:800;letter-spacing:-.04em;color:var(--ink);line-height:1.05;margin:8px 0 2px}
.tres__num em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--accent)}
.tres__num--word{font-size:clamp(1.85rem,3vw,2.4rem)}
.tres__misslbl{display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:16px}
.tres__sub{font-size:.95rem;color:var(--ink-2);line-height:1.5}
.tres__forms{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tres__forms .chip{font-size:.8rem}
.tres__note{margin-top:14px;font-size:.8rem;color:var(--ink-3);line-height:1.5;padding-top:12px;border-top:1px solid var(--line-2)}
.tres__unlock{margin-top:16px;padding:16px;background:linear-gradient(160deg,var(--paper-2),var(--accent-soft));border:1px solid rgba(224,87,63,.18);border-radius:13px}
.tres__unlock h4{font-size:1rem;margin-bottom:4px}
.tres__unlock p{font-size:.84rem;color:var(--ink-2);margin-bottom:12px;line-height:1.45}
.tres__unlock .report-box__form{display:flex;flex-direction:column;gap:9px}
.tool__restart{display:inline-block;margin-top:12px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}
.tool__restart:hover{color:var(--ink)}

/* ---------- location cards (service-areas.html) ---------- */
.lcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lcard{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.lcard::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease)}
.lcard:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(224,87,63,.35)}
.lcard:hover::before{transform:scaleX(1)}
.lcard:hover .lcard__region{border-color:rgba(224,87,63,.4);color:var(--accent-deep)}
.lcard__region{transition:border-color .3s var(--ease),color .3s var(--ease)}
.lcard li a{transition:color .2s var(--ease),padding-left .25s var(--ease)}
.lcard li a:hover{padding-left:4px}
@media (prefers-reduced-motion:reduce){.lcard,.lcard::before,.lcard li a{transition:none}}
.lcard__head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.lcard__head b{font-size:1.18rem;letter-spacing:-.02em;color:var(--ink)}
.lcard__pin{width:36px;height:36px;border-radius:11px;background:var(--paper-2);color:var(--ink-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s var(--ease),color .3s var(--ease)}
.lcard:hover .lcard__pin{background:var(--accent);color:#fff}
.lcard__region{margin-left:auto}
.lcard .areas{gap:8px;margin-top:4px}
.lcard .areas .chip{font-size:.82rem;padding:8px 14px;background:#fff;border:1px solid var(--line);color:var(--ink-2);transition:.22s var(--ease)}
.lcard .areas .chip:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}
.lcard__region{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:transparent;border:1px solid var(--line);padding:3px 9px;border-radius:100px;white-space:nowrap}
.lcard__hoods{font-size:.8rem;color:var(--ink-3);margin-bottom:14px}
.lcard ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.lcard li a{font-size:.9rem;font-weight:600;color:var(--ink-2)}
.lcard li a:hover{color:var(--accent)}
.lcard li a::before{content:"→ ";color:var(--accent);font-weight:700}
@media (max-width:980px){.lcards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.lcards{grid-template-columns:1fr}}
/* stylized GTA map card (service-areas hero) */
.gmap{position:relative;z-index:2;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px 24px 18px;overflow:hidden}
.gmap::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--accent),var(--gold))}
.gmap__head{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:1px solid var(--line-2);margin-bottom:6px}
.gmap__brand{font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.gmap__tag{margin-left:auto;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);padding:4px 9px;border-radius:100px}
.gmap > svg{display:block;width:100%;height:auto}
.gmap__head svg{flex-shrink:0}
.gmap__legend{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line-2);font-size:.76rem;color:var(--ink-3)}
.gmap__legend i{width:9px;height:9px;border-radius:50%;background:var(--accent);flex-shrink:0}
.gmap text{font-family:var(--sans);font-size:9.5px;font-weight:600;fill:var(--ink-2)}
.gmap text.big{font-size:10.5px;font-weight:800;fill:var(--ink)}
.gmap .shore{stroke:var(--blue);stroke-width:1.6;fill:none;opacity:.45}
.gmap .shore2{stroke:var(--blue);stroke-width:1;fill:none;opacity:.18}
.gmap .dot{fill:var(--accent)}
.gmap .ping{fill:none;stroke:var(--accent);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:gping 2.8s var(--ease) infinite}
.gmap .ping:nth-of-type(2){animation-delay:.7s}
.gmap .ping:nth-of-type(3){animation-delay:1.4s}
.gmap .ping:nth-of-type(4){animation-delay:2.1s}
@keyframes gping{0%{transform:scale(.35);opacity:.9}75%{transform:scale(2.1);opacity:0}100%{transform:scale(2.1);opacity:0}}
@media (prefers-reduced-motion:reduce){.gmap .ping{animation:none;opacity:0}}

/* local-pages strip on service pages */
.localstrip{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-2)}
.localstrip b{display:block;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}

/* ---------- built-form cards (the 3 tool pages) ---------- */
.bforms{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
.bform{position:relative;display:block;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.bform:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(224,87,63,.35)}
.bform__media{position:relative;aspect-ratio:4/2.9;overflow:hidden}
.bform__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.bform:hover .bform__media img{transform:scale(1.07)}
.bform__units{position:absolute;top:12px;left:12px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.94);color:var(--ink);padding:5px 11px;border-radius:100px;transition:background .3s var(--ease),color .3s var(--ease)}
.bform:hover .bform__units{background:var(--accent);color:#fff}
.bform__body{padding:20px 22px 22px}
.bform__body h4{margin-bottom:6px}
.bform__body p{font-size:.9rem;color:var(--ink-2);line-height:1.5}
.bform__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.bform__meta .chip{font-size:.76rem;padding:6px 11px}
.bform__go{display:inline-flex;align-items:center;gap:7px;margin-top:15px;font-size:.87rem;font-weight:700;color:var(--accent)}
.bform__go svg{transition:transform .3s var(--ease)}
.bform:hover .bform__go svg{transform:translateX(4px)}
@media (max-width:1080px){.bforms{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bforms{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.bform,.bform__media img,.bform__go svg,.bform__units{transition:none}}

/* ---------- FAQ page layout (faq.html) ---------- */
.faqx{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,56px);align-items:start}
.faqx__side{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.faqg{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:8px 28px 12px;margin-bottom:22px;scroll-margin-top:96px}
.faqg__head{display:flex;align-items:center;gap:14px;padding:22px 0 16px;border-bottom:1px solid var(--line-2)}
.faqg__ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faqg__head h3{font-size:1.2rem;margin:0}
.faqg__count{margin-left:auto;font-size:.7rem;font-weight:800;letter-spacing:.04em;color:var(--ink-3);background:var(--paper-2);padding:4px 11px;border-radius:100px;white-space:nowrap}
.faqg .faq__item:last-child{border-bottom:none}
/* sidebar cards */
.fnav{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:22px 24px}
.fnav h4{margin-bottom:8px}
.fnav a{display:flex;align-items:center;gap:11px;padding:10px 0;font-size:.93rem;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line-2);transition:color .2s var(--ease)}
.fnav a:last-child{border-bottom:none;padding-bottom:2px}
.fnav a:hover{color:var(--accent)}
.fnav a svg{color:var(--accent);flex-shrink:0}
.fnav .n{margin-left:auto;font-size:.72rem;font-weight:800;color:var(--ink-3)}
@media (max-width:1024px){
  .faqx{grid-template-columns:1fr}
  .faqx__side{position:static;order:2}
}

/* ---------- guide cards (guides.html) ---------- */
.gcards{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:0 auto}
.gcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.gcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(224,87,63,.35)}
.gcard__media{position:relative;aspect-ratio:16/7.5;overflow:hidden}
.gcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.gcard:hover .gcard__media img{transform:scale(1.06)}
.gcard__tag{position:absolute;top:14px;left:14px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);background:rgba(255,255,255,.94);padding:5px 11px;border-radius:100px;transition:background .3s var(--ease),color .3s var(--ease)}
.gcard:hover .gcard__tag{background:var(--accent);color:#fff}
.gcard__time{position:absolute;top:14px;right:14px;font-size:.68rem;font-weight:700;color:var(--ink);background:rgba(255,255,255,.94);padding:5px 11px;border-radius:100px}
.gcard__body{display:flex;flex-direction:column;gap:10px;padding:24px 28px 26px;flex:1}
.gcard b{font-size:1.28rem;letter-spacing:-.02em;color:var(--ink);line-height:1.25}
.gcard__blurb{font-size:.95rem;color:var(--ink-2);line-height:1.55}
.gcard__meta{margin-top:auto;padding-top:10px;font-size:.85rem;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:7px}
.gcard__meta svg{transition:transform .3s var(--ease)}
.gcard:hover .gcard__meta svg{transform:translateX(4px)}
@media (max-width:760px){.gcards{grid-template-columns:1fr;max-width:480px}}
@media (prefers-reduced-motion:reduce){.gcard,.gcard__media img,.gcard__meta svg,.gcard__tag{transition:none}}
/* fast-fact tiles (guides hub) */
.gfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:52px auto 0}
.gfact{display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:24px 26px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.gfact:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(224,87,63,.35)}
.gfact b{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1.05}
.gfact b::before{content:"";display:block;width:24px;height:3px;background:var(--accent);border-radius:2px;margin-bottom:12px}
.gfact span{font-size:.92rem;color:var(--ink-2);line-height:1.5}
.gfact em{margin-top:auto;padding-top:12px;font-style:normal;font-size:.78rem;font-weight:700;color:var(--ink-3);transition:color .25s var(--ease)}
.gfact:hover em{color:var(--accent)}
@media (max-width:900px){.gfacts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.gfacts{grid-template-columns:1fr}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .split,.contact-grid{grid-template-columns:1fr;gap:36px}
  .split--reverse .split__text{order:0}
  .split--fill .split__media{aspect-ratio:4/3;min-height:0}
  .related{grid-template-columns:1fr}
  .page-hero__grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .page-hero__media{aspect-ratio:16/9}
}
@media (max-width:760px){
  .steps{grid-template-columns:1fr}
  .field--row{grid-template-columns:1fr;gap:0}
}
