/* Nogales Commercial Roof Repair · signature H33-S28-P10-B4-R2-F2-M27-C1-I3-E5 */
:root{
  --brand:#6E2335; --brand-hover:#561A29; --deep:#26100F; --rose:#9B4A5C; --sand:#D8A25E;
  --page:#FFFFFF; --alt:#FAF5F2; --tint:#F3E8E3; --tint2:#EBD7D2;
  --text:#26100F; --muted:#6B5552; --border:#8E7A75; --line:#E2D3CE;
  --cta-bg:#6E2335; --cta-text:#FFFFFF; --cta-hover:#561A29;
  --focus-light:#6E2335; --focus-dark:#D8A25E;
  --hf:'Fjalla One','DejaVu Sans Condensed','Arial Narrow',sans-serif;
  --bf:'PT Sans','Segoe UI',Roboto,Arial,sans-serif;
  --r:8px; --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
body{margin:0;font-family:var(--bf);font-size:17.5px;line-height:1.6;color:var(--text);background:var(--page)}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-light);outline-offset:2px}
.hero-band a:focus-visible,.band-c1 a:focus-visible,.closing a:focus-visible,.site-footer a:focus-visible{outline-color:var(--focus-dark)}
h1,h2,h3{font-family:var(--hf);font-weight:400;letter-spacing:.01em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(32px,4.6vw,52px)} h2{font-size:clamp(26px,3.2vw,38px)} h3{font-size:clamp(19px,1.8vw,23px)}
p{margin:0 0 .8em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.wrap-wide{max-width:1320px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:8px 14px;z-index:99}
.skip:focus{left:8px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:6px;font-weight:700;text-decoration:none;font-size:17px;line-height:1.2;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s;text-align:center}
.btn-primary{background:var(--cta-bg);color:var(--cta-text);border-color:var(--cta-bg)}
.btn-primary:hover{background:var(--cta-hover);border-color:var(--cta-hover)}
.btn-secondary{background:#fff;color:var(--brand);border-color:var(--brand)}
.btn-secondary:hover{background:var(--tint)}
.btn-sm{min-height:44px;padding:9px 16px;font-size:16px}
.btn-ico{width:18px;height:18px;flex:none}.btn-ico .i-f{fill:none}.btn-ico .i-l{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.btn-pair{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.btn-one{display:flex;justify-content:center;margin-top:26px}
/* dark surfaces: cream primary, cream outline secondary */
.hero-band .btn-primary,.closing .btn-primary,.btn-light{background:#FAF5F2;color:var(--brand);border-color:#FAF5F2}
.hero-band .btn-primary:hover,.closing .btn-primary:hover,.btn-light:hover{background:#fff;border-color:#fff}
.hero-band .btn-secondary,.closing .btn-secondary{background:transparent;color:#FAF5F2;border-color:#FAF5F2}
.hero-band .btn-secondary:hover,.closing .btn-secondary:hover{background:rgba(255,255,255,.12)}
@media (max-width:600px){.btn-pair{flex-direction:column;align-items:stretch}.btn-pair .btn{width:100%}}

/* icons I3 duotone */
.icon{width:40px;height:40px;flex:none}
.icon .i-f{fill:var(--tint2);stroke:none}
.icon .i-l{fill:none;stroke:var(--brand);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.li-ico{width:24px;height:24px}

/* header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px}
.logo img{height:60px;width:auto}
.dnav{display:flex;align-items:center;gap:18px}
.dnav-list{display:flex;list-style:none;margin:0;padding:0;gap:4px;align-items:center}
.dnav-list>li{position:relative;display:flex;align-items:center}
.dnav-list>li>a{color:var(--text);text-decoration:none;font-weight:700;padding:10px 8px;font-size:16px}
.dnav-list>li>a:hover{color:var(--brand)}
.dd-tog{background:none;border:0;color:var(--text);padding:8px 4px;cursor:pointer;min-height:40px}
.dd{position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:0 0 6px 6px;list-style:none;margin:0;padding:8px 0;box-shadow:0 10px 24px rgba(38,16,15,.12);display:none}
.has-dd:hover .dd,.has-dd:focus-within .dd,.has-dd.open .dd{display:block}
.dd a{display:block;padding:9px 16px;color:var(--text);text-decoration:none}
.dd a:hover{background:var(--tint);color:var(--brand)}
.nav-btns{display:flex;gap:8px}
.burger{display:none;width:48px;height:48px;border:2px solid var(--brand);border-radius:6px;background:#fff;cursor:pointer;padding:12px 10px;flex-direction:column;justify-content:space-between;margin-right:-4px}
.burger span{display:block;height:3px;background:var(--brand);border-radius:2px}
.mnav{border-top:1px solid var(--line);background:#fff;max-height:calc(100vh - 72px);overflow:auto;padding:8px 20px 20px}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav li a,.mnav summary{display:block;padding:12px 4px;color:var(--text);text-decoration:none;font-weight:700;border-bottom:1px solid var(--line);cursor:pointer}
.mnav details ul{padding-left:14px}
.mnav details ul a{font-weight:400}
.mnav-btns{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px}
.mnav-btns .btn{width:100%}
@media (max-width:1180px){.dnav{display:none}.burger{display:flex}.hd{min-height:72px}}
@media (max-width:600px){.logo img{height:50px}}

/* sections */
.sec{padding:76px 0}
.sec-tight{padding:30px 0}
.bg-page{background:var(--page)}.bg-alt{background:var(--alt)}.bg-tint{background:var(--tint)}
@media (max-width:700px){.sec{padding:48px 0}.sec-tight{padding:24px 0}}
.sh{text-align:center;max-width:780px;margin:0 auto 34px}
.chip{display:inline-block;background:var(--rose);color:#fff;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.chip-dark{background:var(--sand);color:var(--deep)}
.intro{color:var(--muted);font-size:18px}

/* hero H33 */
.hero-band{background:var(--brand);color:#fff;text-align:center;padding:46px 0 44px}
.hero-band h1{color:#fff;max-width:900px;margin:0 auto .35em}
.hero-intro{max-width:700px;margin:0 auto;font-size:19px;color:#F6E9E6}
.crumbs{font-size:14px;margin-bottom:14px;color:#EBD3CF}
.crumbs a{color:#fff}
.crumbs span[aria-hidden]{margin:0 8px;opacity:.7}
.hero-photo{position:relative;line-height:0}
.hero-photo img{width:100%;aspect-ratio:16/6;object-fit:cover}
.patch{position:absolute;left:var(--l);top:var(--t);width:var(--w);height:var(--h);border:3px dashed var(--sand);border-radius:6px;box-shadow:0 0 0 2px rgba(38,16,15,.35)}
@media (max-width:800px){.hero-photo img{aspect-ratio:16/9}.patch{left:var(--ml);top:var(--mt);width:var(--mw);height:var(--mh);border-width:2.5px}}

/* facts */
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.facts li{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px}
.facts .icon{grid-row:span 2}
.f-label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.f-val{font-weight:700}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}

/* S28 plan-key cards */
.s28{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.s28-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.s28-card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.s28-body{padding:22px;display:flex;flex-direction:column;gap:6px;flex:1}
.plankey{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;background:var(--alt);border-radius:6px;padding:12px;margin-bottom:10px}
.plan{width:96px;height:96px}
.pl-roof{fill:#fff;stroke:var(--brand);stroke-width:2}.pl-unit{fill:#D9D2CF;stroke:var(--muted)}.pl-sky{fill:#E9F1F5;stroke:var(--muted)}
.pl-drain{fill:#fff;stroke:var(--brand);stroke-width:2}.pl-seam,.pl-rib{stroke:var(--line);stroke-width:2}.pl-seam{stroke:var(--rose);stroke-dasharray:4 3}
.pl-path{fill:none;stroke:var(--rose);stroke-width:2;stroke-dasharray:4 3}.pl-stain{fill:var(--tint2);stroke:var(--rose)}.pl-fan{fill:#fff;stroke:var(--muted);stroke-width:2}.pl-walk{stroke:var(--sand);stroke-width:5}
.pl-dot{fill:var(--sand);stroke:var(--deep);stroke-width:1.5}.pl-num{font:700 10px var(--bf);text-anchor:middle;fill:var(--deep)}
.pk-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted)}
.plankey ol{margin:4px 0 0;padding-left:20px;font-size:15.5px;line-height:1.45}
.more{font-weight:700;margin-top:auto}
@media (max-width:760px){.s28{grid-template-columns:1fr}}

/* R2 */
.r2{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.r2-head,.r2-row{display:grid;grid-template-columns:1fr 1.15fr 1.15fr;gap:22px;padding:18px 22px}
.r2-head{background:var(--brand);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.r2-row+.r2-row{border-top:1px solid var(--line)}
.r2-sym{display:flex;gap:12px;align-items:flex-start}.r2-sym h3{margin:6px 0 0;font-size:20px}
.r2-cell p{margin:0}
.r2-fix{border-left:3px solid var(--sand);padding-left:14px}
.lbl{display:none;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted)}
@media (max-width:820px){.r2-head{display:none}.r2-row{grid-template-columns:1fr;gap:10px}.lbl{display:block}}

/* B4 */
.b4-chips{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.b4-chips li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rose);border-radius:999px;padding:6px 16px 6px 8px;font-weight:700}
.chip-ico{width:28px;height:28px}
.b4-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.b4-item{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--rose);border-radius:var(--r);padding:20px}
.b4-item p{margin:0}
@media (max-width:760px){.b4-grid{grid-template-columns:1fr}}

/* C1 band */
.band-c1{background:var(--brand);color:#fff;text-align:center;padding:60px 0}
.c1-inner{max-width:760px}
.band-c1 h2{color:#fff}.band-c1 p{color:#F6E9E6;font-size:18px}
.c1-ico{width:52px;height:52px;margin:0 auto 10px}
.c1-ico .i-f{fill:rgba(255,255,255,.18)}.c1-ico .i-l{stroke:#fff}

/* compare */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cmp-ph{grid-template-columns:1fr 1fr 1fr}
.cmp-photo img{border-radius:var(--r);height:100%;object-fit:cover}
.cmp-col{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;border-top:5px solid var(--brand)}
.cmp-no{border-top-color:var(--sand)}
.cmp-col ul,.ticks,.checklist{list-style:none;margin:0;padding:0}
.cmp-col li,.ticks li,.checklist li{display:flex;gap:10px;align-items:flex-start;padding:7px 0}
.cmp-col li+li{border-top:1px dashed var(--line)}
@media (max-width:900px){.cmp-ph{grid-template-columns:1fr 1fr}.cmp-photo{grid-column:1/-1}}
@media (max-width:640px){.cmp,.cmp-ph{grid-template-columns:1fr}}

/* P10 swimlane */
.p10-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.p10-photos img{border-radius:var(--r);aspect-ratio:3/2;object-fit:cover}
.p10-photos figure{margin:0}
.p10{position:relative;display:grid;grid-template-columns:150px 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.p10-lanes{display:grid;grid-template-rows:1fr 1fr}
.lane-l{display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--hf);font-size:18px;color:#fff;padding:10px}
.lane-roof{background:var(--brand)}.lane-bldg{background:var(--deep)}
.p10-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:auto auto;position:relative}
.p10-step{grid-column:var(--c);padding:18px 14px;position:relative;border-left:1px dashed var(--line)}
.p10-step.lane-roof{grid-row:1;background:var(--alt)}.p10-step.lane-bldg{grid-row:2;background:var(--tint)}
.p10-step p{font-size:15.5px;margin:0}
.p10-num{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--sand);color:var(--deep);font-weight:700;align-items:center;justify-content:center;margin-bottom:8px;border:2px solid var(--deep)}
.lane-chip{display:none;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);margin-left:8px}
.p10-steps::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid var(--rose);pointer-events:none}
@media (max-width:980px){.p10{grid-template-columns:1fr}.p10-lanes{display:none}.p10-steps{grid-template-columns:1fr;grid-template-rows:none}.p10-steps::before{display:none}
 .p10-step{grid-column:auto!important;grid-row:auto!important;border-left:4px solid var(--rose);border-top:1px solid var(--line)}.p10-step.lane-bldg{border-left-color:var(--deep)}.lane-chip{display:inline}}
@media (max-width:640px){.p10-photos{grid-template-columns:1fr}}

/* M27 map */
.m27-wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}
.m27{width:100%;height:auto}
.m-panel{fill:#fff;stroke:var(--line);stroke-width:1.5}
.m-az{fill:var(--tint);stroke:var(--brand);stroke-width:2}
.m-box{fill:var(--sand);fill-opacity:.35;stroke:var(--sand);stroke-width:2.5}
.m-lead{stroke:var(--sand);stroke-width:1.5;stroke-dasharray:5 4}
.m-border{stroke:var(--deep);stroke-width:3;stroke-dasharray:10 5}
.m-road{fill:none;stroke:#BFB2AE;stroke-width:7;stroke-linecap:round}
.m-i19{stroke:#BFB2AE}.m-sr82{stroke:#CDBFBB}
.m-tag{fill:var(--deep)}.m-tagt{fill:#fff;font:700 11px var(--bf);text-anchor:middle}
.m-city{fill:var(--sand);stroke:var(--deep);stroke-width:2}
.m-pin{fill:var(--brand);stroke:#fff;stroke-width:2}
.m-ring{fill:none;stroke:var(--sand);stroke-width:3}
.m-lbl{font:700 13px var(--bf);fill:var(--deep)}.m-lbl-city{font-size:14px}
.m-small{font:12px var(--bf);fill:var(--muted)}
.m-north{fill:var(--brand)}
.townlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.townlist li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);padding:14px 16px}
.tl-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}
.tl-head a{font-family:var(--hf);font-size:20px;text-decoration:none}
.tl-meta{font-size:14px;color:var(--muted);font-weight:700}
.townlist p{margin:4px 0 6px}
.tl-permit{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
.tl-ico{width:22px;height:22px}
@media (max-width:900px){.m27-wrap{grid-template-columns:1fr}}

/* F2 */
.f2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.f2-col{display:grid;gap:14px}
details{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
summary{cursor:pointer;padding:16px 48px 16px 18px;font-weight:700;font-size:17.5px;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:24px;color:var(--brand)}
details[open] summary::after{content:"\2212"}
details[open] summary{border-bottom:1px solid var(--line)}
.ans{padding:14px 18px 6px}
@media (max-width:820px){.f2{grid-template-columns:1fr}}

/* closing */
.closing{background:var(--deep);color:#fff;text-align:center;padding:70px 0}
.closing h2{color:#fff}.closing p{color:#EADBD8;max-width:680px;margin:0 auto}

/* table */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th,.tbl td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{background:var(--brand);color:#fff;font-weight:700}
.tbl tbody th{font-weight:700;color:var(--brand)}
.tbl tbody tr:nth-child(even){background:var(--alt)}
@media (max-width:700px){.tbl thead{display:none}.tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}.tbl tr{border-bottom:2px solid var(--line)}
 .tbl td{border:0;padding:4px 16px 10px}.tbl td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted)}.tbl tbody th{border:0;padding-bottom:4px}}

/* svc cards, cards, split, links */
.svc-cards{display:grid;gap:22px;grid-template-columns:repeat(2,1fr)}
.svc-cards.n3{grid-template-columns:repeat(3,1fr)}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.svc-card img{aspect-ratio:3/2;object-fit:cover}
.svc-body{padding:20px;display:flex;flex-direction:column;flex:1}
@media (max-width:900px){.svc-cards.n3{grid-template-columns:1fr 1fr}.svc-cards.n3 .svc-card:last-child{grid-column:1/-1}}
@media (max-width:640px){.svc-cards,.svc-cards.n3{grid-template-columns:1fr}}
.cards{display:grid;gap:20px}
.cards.c4{grid-template-columns:repeat(4,1fr)}.cards.c3{grid-template-columns:repeat(3,1fr)}.cards.c2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--rose);border-radius:var(--r);padding:22px}
.card p{margin:0}
@media (max-width:980px){.cards.c4{grid-template-columns:1fr 1fr}.cards.c3{grid-template-columns:1fr 1fr}.cards.c3 .card:last-child{grid-column:1/-1}}
@media (max-width:600px){.cards.c4,.cards.c3,.cards.c2{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.split-ph img{border-radius:var(--r);aspect-ratio:3/2;object-fit:cover}
.split.rev .split-ph{order:2}
@media (max-width:820px){.split{grid-template-columns:1fr}.split.rev .split-ph{order:0}}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
@media (max-width:700px){.checklist{grid-template-columns:1fr}}
.links-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:26px;align-items:start}
.m27-inset{width:100%;height:auto}
.links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lk{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.lk a{font-family:var(--hf);font-size:19px;text-decoration:none}
.lk p{margin:4px 0 0;font-size:15.5px}
.lk-ico{width:30px;height:30px}
@media (max-width:900px){.links-wrap{grid-template-columns:1fr}}
@media (max-width:600px){.links{grid-template-columns:1fr}}

/* FAQ page */
.faq-jump{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0;margin:0 0 30px}
.faq-jump a{display:inline-block;border:1px solid var(--brand);border-radius:999px;padding:7px 14px;text-decoration:none;font-weight:700;background:#fff}
.faq-cat{margin-bottom:40px;scroll-margin-top:100px}
.faq-cat>h2{display:flex;align-items:center;gap:12px;font-size:28px;border-bottom:3px solid var(--rose);padding-bottom:8px;margin-bottom:18px}
.faq-q{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);padding:18px 20px;margin-bottom:14px}
.faq-q h3{font-size:21px}
.faq-q ul{margin:0 0 .8em;padding-left:22px}
.faq-q table{border-collapse:collapse;width:100%;margin:6px 0 12px;font-size:16px}
.faq-q th,.faq-q td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.faq-q thead th{background:var(--tint)}
.faq-band{background:var(--brand);color:#fff}
.faq-band .split-tx p{font-size:19px;color:#F6E9E6}
.sources{columns:2;column-gap:30px;padding-left:20px}
.sources li{margin-bottom:6px;break-inside:avoid}
@media (max-width:700px){.sources{columns:1}}
.hero-text{background:var(--brand);color:#fff;text-align:center;padding:50px 0}
.hero-text h1{color:#fff}.hero-text p{color:#F6E9E6;max-width:720px;margin:0 auto}
.hero-text .crumbs{margin-bottom:12px}

/* forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;max-width:640px;margin:0 auto}
.form-card label{display:block;font-weight:700;margin:14px 0 6px}
.form-card input,.form-card textarea,.cb input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:6px;font:inherit;background:#fff;color:var(--text)}
.form-card textarea{min-height:130px}
.form-card .btn{margin-top:18px;width:100%}
.req{color:var(--brand)}
.f-err{color:#9E1B1B;font-size:15px;margin:4px 0 0;font-weight:700}
.f-status{min-height:1.4em;margin:12px 0 0;font-weight:700}
.f-status.ok{color:#1F5F2E}.f-status.bad{color:#9E1B1B}
.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.util-head{background:var(--brand);color:#fff;text-align:center;padding:44px 0}
.util-head h1{color:#fff}.util-head p{color:#F6E9E6;max-width:680px;margin:0 auto}
.util-head .crumbs{margin-bottom:12px}
.legal{max-width:820px}
.legal h2{font-size:26px;margin-top:1.4em}
.ty-box{max-width:680px;margin:0 auto;text-align:center}

/* footer + call bar */
.site-footer{background:var(--deep);color:#EADBD8;padding:56px 0 20px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.ft-plate{display:inline-block;background:#fff;border-radius:6px;padding:10px 12px;margin-bottom:12px}
.ft-plate img{height:52px;width:auto}
.ft-h{font-size:19px;color:#fff;margin-bottom:10px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:6px}
.site-footer a{color:#fff}
.ft-tel{font-weight:700;font-size:19px}
.ft-base{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:16px;font-size:14px}
@media (max-width:900px){.ft{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ft{grid-template-columns:1fr}}
.callbar{display:none}
@media (max-width:800px){
  .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:8px 16px calc(8px + env(safe-area-inset-bottom))}
  .callbar .btn{width:100%}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  body.menu-open .callbar,body.no-callbar .callbar{display:none}
}

/* callback dialog */
.cb{position:fixed;inset:0;background:rgba(38,16,15,.55);display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}
.cb[hidden]{display:none}
.cb-box{background:#fff;border-radius:10px;max-width:440px;width:100%;padding:26px;position:relative;border-top:5px solid var(--brand)}
.cb-box h2{font-size:26px}
.cb label{display:block;font-weight:700;margin:12px 0 6px}
.cb .btn{width:100%;margin-top:14px}
.cb-x{position:absolute;right:10px;top:8px;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--text);width:44px;height:44px}
.cb-direct{margin:12px 0 0;text-align:center}
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
.p10-steps{grid-template-rows:1fr 1fr;background:linear-gradient(var(--alt) 0 50%,var(--tint) 50% 100%)}
@media (max-width:980px){.p10-steps{background:none}}
.hero-text .btn-primary{background:#FAF5F2;color:var(--brand);border-color:#FAF5F2}
.hero-text .btn-primary:hover{background:#fff}
.hero-text .btn-secondary{background:transparent;color:#FAF5F2;border-color:#FAF5F2}
.hero-text a:not(.btn),.util-head a{color:#fff}
.hero-text a:focus-visible,.util-head a:focus-visible{outline-color:var(--focus-dark)}
.faq-fig{margin:0 auto 30px;max-width:720px}.faq-fig img{border-radius:var(--r)}
