/* Tridge Home Repair — Concept C "Warm Editorial Modern" (warm teal) */
:root{--paper:#F7F6F3;--ink:#1C1917;--muted:#44403C;--teal:#0F766E;--teal-h:#0D5F5A;--mint:#ECFDF5;--line:#E7E5E4;--card:#fff;--err:#a1260d;
--r:20px;--sh:0 1px 2px rgba(28,25,23,.05),0 8px 24px rgba(28,25,23,.07)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:112.5%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.65;font-size:1rem}
a{color:var(--teal-h);text-underline-offset:3px}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:10px}
.skip{position:absolute;left:-9999px;top:0;min-height:44px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;color:var(--ink);padding:10px 14px;border:3px solid var(--teal);border-radius:12px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{letter-spacing:-.025em;line-height:1.12;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5.6vw,4rem);font-weight:800;margin:.6em 0 .4em}
h2{font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:800;margin-top:2.2em}h3{font-size:1.2rem}
.hdr{position:sticky;top:0;z-index:10;background:rgba(247,246,243,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:16px;min-height:76px;flex-wrap:wrap}
.brand{font-weight:800;font-size:1.2rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;letter-spacing:-.02em;min-height:44px}
.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--teal);color:#fff}
.hdr nav{margin-left:auto}
nav ul{list-style:none;margin:0;padding:5px;display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:999px}
nav a{display:flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-weight:600;padding:8px 16px;border-radius:999px}
nav a:hover{background:var(--mint);color:var(--teal-h)}
nav a[aria-current=page]{background:var(--teal);color:#fff}
.tag{margin:0 auto;padding-bottom:8px;font-size:.9rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1.05rem;font-family:inherit;cursor:pointer;border:1.5px solid var(--teal);transition:.15s;text-align:center}
.btn-main{background:var(--teal);color:#fff}.btn-main:hover{background:var(--teal-h);border-color:var(--teal-h);color:#fff;transform:translateY(-1px)}
.btn-call{background:#fff;color:var(--ink);border-color:var(--line)}.btn-call:hover{border-color:var(--teal);color:var(--teal-h)}
.btn.sm{min-height:48px;padding:0 20px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
main{padding:0 0 2rem}
main>*{max-width:1000px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
main>h1{margin-top:1.4em}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:700;color:var(--teal);margin:0 0 10px}
.eyebrow span{color:var(--ink)}
.hero{max-width:none;position:relative;overflow:hidden;padding:72px 24px 64px;margin-bottom:1rem}
.hero:before{content:"";position:absolute;right:-120px;top:-120px;width:460px;height:460px;border-radius:50%;background:var(--mint);z-index:0}
.hero-in{max-width:1160px;margin:0 auto;display:grid;gap:48px;align-items:center;position:relative;z-index:1}
@media(min-width:860px){.hero-in{grid-template-columns:1.25fr .9fr}}
.hero h1{margin-top:.2em}.ul{background:linear-gradient(transparent 62%,#99F6E4 62%);padding:0 4px}
.lede{font-size:1.2rem;color:var(--muted);max-width:52ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5rem}
.chip{display:inline-block;background:var(--mint);color:var(--teal-h);font-weight:700;padding:8px 16px;border-radius:999px;font-size:.95rem;border:1px solid #A7F3D0}
.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh)}
.tile svg{width:40px;height:40px;color:var(--teal)}.tile b{display:block;margin-top:.5rem}.tile span{color:var(--teal-h);font-weight:700;font-size:.95rem}
.cards{display:grid;gap:18px}@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh)}
.card p{color:var(--muted);margin:6px 0 0}
.prices{display:grid;gap:14px;padding-top:0;list-style:none}@media(min-width:760px){.prices{grid-template-columns:1fr 1fr}}
.prices li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh)}
.prices .row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.prices .amt{font-size:1.3rem;font-weight:800;color:var(--teal-h);white-space:nowrap}.prices p{margin:.3rem 0 0;color:var(--muted)}
.prices li.feature{border:2px solid var(--teal);background:var(--mint)}
.note{background:var(--mint);border:1px solid #A7F3D0;border-left:6px solid var(--teal);padding:16px 20px;border-radius:16px}
.cta-band{background:var(--teal);color:#fff;border-radius:32px;padding:48px 32px;text-align:center;margin-top:3rem}
.cta-band h2{margin-top:0;color:#fff}.cta-band p{font-size:1.15rem}.cta-band .btn-main{background:#fff;color:var(--teal-h);border-color:#fff}
ol li,ul li{margin:.35rem 0}
details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:4px 22px;margin:12px auto}
summary{cursor:pointer;font-weight:700;padding:14px 0;min-height:44px}
.more,main p>a{display:inline-block;min-height:44px;padding:.45rem 0}
form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--sh)}
label,legend{display:block;font-weight:700;margin-top:1.1rem}
.hint{display:block;font-weight:400;font-size:.95rem;color:var(--muted);margin:.15rem 0 .3rem}
input,select,textarea{display:block;width:100%;font:inherit;font-size:1.05rem;padding:.65rem .8rem;min-height:52px;border:1.5px solid #78716C;border-radius:12px;background:#fff;color:var(--ink)}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--teal)}
textarea{resize:vertical}
fieldset{border:1px solid var(--line);border-radius:16px;margin:1.2rem 0 0;padding:.4rem 1rem .9rem}
.opt{display:flex;gap:.7rem;align-items:flex-start;font-weight:400;margin-top:.4rem;min-height:44px;padding:.35rem 0}
.opt input{width:26px;height:26px;min-height:0;flex:0 0 26px;margin:.15rem 0 0;accent-color:var(--teal)}.opt a{display:inline}
.req{color:var(--teal-h)}
form .btn{width:100%;margin-top:1.4rem;font-size:1.2rem;min-height:60px}
.consent-warn{display:none;border-left:6px solid var(--teal);padding-left:.6rem;font-weight:700}
form:has(input[name=contact][value=text]:checked) .consent-warn,form:has(input[name=contact][value=whatsapp]:checked) .consent-warn{display:block}
form:has(#sms_consent:checked) .consent-warn{display:none!important}
.error-summary{border:3px solid var(--err);background:#fff;padding:.8rem 1rem;margin:1rem auto;border-radius:16px}
.error-summary h2{color:var(--err);margin-top:0;font-size:1.3rem}
.error-summary a{display:inline-block;min-height:44px;padding:.4rem 0;color:var(--err);font-weight:700}
[aria-invalid=true]{border-color:var(--err);border-width:3px}
.legal h2{font-size:1.3rem}
.cancel{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:1rem;margin:1rem auto;font-size:1rem}
.cancel p{margin:.7rem 0}.sigline{display:block;border-bottom:2px solid var(--ink);min-height:2.2rem;margin:.3rem 0 .8rem}
.statement{font-weight:700;font-size:12pt;text-transform:uppercase}
footer{border-top:1px solid var(--line);padding:40px 24px 120px;margin-top:3rem;color:var(--muted);font-size:1rem}
footer p{max-width:1000px;margin:.4rem auto}footer strong{color:var(--ink)}
footer a{display:inline-block;min-height:44px;min-width:44px;padding:.5rem .3rem;color:var(--teal-h)}
footer .disclaimer{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;color:var(--ink);line-height:1.5}
.sticky{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(247,246,243,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20}
.sticky .btn{flex:1;min-height:52px}
@media(min-width:900px){.sticky{display:none}footer{padding-bottom:40px}}
@media(max-width:899px){.hdr nav{order:5;flex-basis:100%;margin:0 0 10px}nav ul{flex-wrap:wrap;border-radius:20px}nav a{padding:6px 12px}.hrow{min-height:64px;gap:8px}.hrow .btn.sm{display:none}.tag{display:none}.hero{padding:40px 24px}}
@media(max-width:420px){nav a{padding:8px 12px}.tile{padding:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{
 @page{size:letter;margin:.5in}
 html,body{font-size:10.5pt;line-height:1.35;background:#fff;color:#000;font-family:Georgia,serif}
 .skip,header,footer,.sticky,.noprint,main>h1,main>.note{display:none!important}
 main{padding:0}main>*{max-width:none;padding:0}
 .cancel{border:1.5pt solid #000;border-radius:0;padding:.25in;margin:0;break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always}
 .cancel:last-of-type{break-after:auto;page-break-after:auto}
 .cancel h2{font-size:11pt;margin:0 0 6pt;color:#000}.cancel p{margin:5pt 0}
 .sigline{min-height:.35in;margin:2pt 0 6pt}.statement{font-size:11pt!important;font-weight:bold!important}
 .statement+p{break-before:avoid;page-break-before:avoid}
}

.btn-text{background:#fff;color:var(--teal);border:1.5px solid var(--teal)}.btn-text:hover{background:var(--mint);border-color:var(--teal-h);color:var(--teal-h)}
/* sticky bar: short labels, one row */
.sticky{flex-wrap:nowrap!important;gap:6px;padding:10px 8px calc(10px + env(safe-area-inset-bottom))}
.sticky .btn{flex:1 1 0;min-width:0;min-height:44px;padding:0 4px;font-size:.88rem;line-height:1.1;white-space:nowrap!important}
.hero-cta .btn{min-height:48px}
/* hero CTAs: stack full-width on phones (long labels) */
@media(max-width:599px){
.hero-cta{flex-direction:column;flex-wrap:nowrap;gap:10px;align-items:stretch}
.hero-cta .btn{width:100%;flex:none;min-width:0;min-height:48px;padding:0 16px;font-size:1rem;white-space:nowrap}
}
@media(max-width:360px){.sticky .btn{font-size:.78rem;padding:0 2px}}
