/* Vista Water Damage Pros — Phase 2 brand system */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root {
  color-scheme: light;
  --teal-50:#eff7f6; --teal-100:#dcecea; --teal-200:#bddbd7; --teal-300:#91c1bb;
  --teal-400:#5da19a; --teal-500:#39827c; --teal-600:#286963; --teal-700:#205650;
  --teal-800:#19464a; --teal-900:#123f46;
  --color-primary:var(--teal-900); --color-accent:#e58a52;
  --color-dark:#102e33; --color-off-white:#f7f8f5; --color-mist:#eaf3f2;
  --color-border:#d8e2df; --color-ink:#17252a; --color-muted:#53666a;
  --color-white:#fff; --color-warn:#9a4e24; --color-warn-bg:#fff4eb;
  --font-heading:'Manrope', sans-serif; --font-body:'Source Sans 3', sans-serif;
  --shadow-card:0 2px 8px rgba(18,63,70,.045),0 18px 42px rgba(18,63,70,.075);
  --shadow-lift:0 5px 12px rgba(18,63,70,.07),0 24px 54px rgba(18,63,70,.13);
  --radius-card:20px; --radius-pill:999px; --content-width:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--color-white);color:var(--color-ink);font:400 1.0625rem/1.7 var(--font-body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
a{color:var(--teal-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--teal-900)}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:1000;padding:.75rem 1rem;background:#fff;color:var(--color-dark);border-radius:10px}
.skip-link:focus{top:1rem}
.container{width:min(calc(100% - 2.5rem),var(--content-width));margin-inline:auto}
.reading-width{max-width:70ch}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,226,223,.8)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-dark);text-decoration:none;font:800 1rem/1.15 var(--font-heading);letter-spacing:-.035em}
.brand-mark{width:42px;height:42px;flex:none}
.brand small{display:block;margin-top:.22rem;color:var(--color-muted);font:600 .66rem/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.primary-nav{display:flex;align-items:center;gap:1.8rem}
.primary-nav a{color:var(--color-ink);font-size:.96rem;font-weight:600;text-decoration:none}
.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--teal-600)}
.header-actions{display:flex;align-items:center;gap:.8rem}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--color-border);border-radius:50%;background:#fff;color:var(--color-dark);cursor:pointer}
.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:.65rem;padding:.8rem 1.35rem;border:1px solid transparent;border-radius:var(--radius-pill);font-weight:700;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--color-accent);color:#1d2929;box-shadow:0 7px 18px rgba(229,138,82,.22)}
.btn-primary:hover{background:#ed9b68;color:#17252a;box-shadow:0 10px 24px rgba(229,138,82,.3)}
.btn-secondary{background:transparent;border-color:rgba(18,63,70,.28);color:var(--teal-900)}
.btn-secondary:hover{background:var(--teal-50)}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--teal-600);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow:before{content:"";width:24px;height:2px;background:var(--color-accent)}
h1,h2,h3,h4{margin:0 0 1rem;color:var(--color-dark);font-family:var(--font-heading);font-weight:800;letter-spacing:-.045em;line-height:1.12}
h1{font-size:clamp(2.65rem,6vw,5rem);max-width:13ch}
h2{font-size:clamp(2rem,4vw,3.15rem);max-width:20ch}
h3{font-size:clamp(1.25rem,2vw,1.55rem);letter-spacing:-.03em}
p{margin:0 0 1.1rem}
.lead{max-width:62ch;color:#42595d;font-size:clamp(1.13rem,2vw,1.3rem);line-height:1.65}
.accent-text{color:var(--teal-600);text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:5px;text-underline-offset:7px}
.section{position:relative;padding-block:clamp(4rem,8vw,7rem)}
.section-intro{max-width:66ch;margin-bottom:2.6rem;color:var(--color-muted)}
.section-heading{margin-bottom:1rem}
.section-mist{background:var(--color-mist)}
.section-soft{background:var(--color-off-white)}
.section-dark{background:var(--color-dark);color:#eaf3f2}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark .section-intro{color:#c6d8d5}
.section-top-wave:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:34px;background:var(--color-white);clip-path:polygon(0 0,100% 0,100% 30%,72% 100%,28% 30%,0 80%)}
.section-angle{clip-path:polygon(0 2.5rem,100% 0,100% 100%,0 100%)}
.hero{position:relative;overflow:hidden;padding-block:clamp(4rem,8vw,7.5rem);background:radial-gradient(ellipse at 78% 18%,rgba(145,193,187,.35),transparent 38%),linear-gradient(135deg,#f7f8f5 0%,#edf5f3 58%,#e4efed 100%)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.hero-copy{padding-block:1rem}
.hero-copy .eyebrow{margin-bottom:1.25rem}
.hero-copy h1{margin-bottom:1.4rem}
.hero-copy .lead{margin-bottom:1.8rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.5rem}
.hero-note{max-width:56ch;color:#607276;font-size:.88rem}
.hero-art{position:relative;min-height:450px;display:grid;place-items:center}
.hero-art:before{content:"";position:absolute;width:min(92%,440px);aspect-ratio:1;border-radius:48% 52% 62% 38%/43% 42% 58% 57%;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(189,219,215,.42));border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 0 55px rgba(255,255,255,.7),0 30px 80px rgba(18,63,70,.1);transform:rotate(-12deg)}
.hero-illustration{position:relative;z-index:1;width:min(100%,510px);filter:drop-shadow(0 24px 28px rgba(18,63,70,.12))}
.glass-card{position:absolute;z-index:2;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.82);border-radius:16px;background:rgba(255,255,255,.72);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(18,63,70,.1)}
.glass-card strong{display:block;color:var(--teal-900);font:800 .9rem var(--font-heading)}
.glass-card span{color:var(--color-muted);font-size:.78rem}
.glass-card-one{top:12%;right:0}.glass-card-two{bottom:13%;left:0}
.trust-badge-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1.2rem}
.trust-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .72rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:rgba(255,255,255,.66);color:#40565a;font-size:.78rem;font-weight:700}
.trust-badge svg{width:15px;height:15px;color:var(--teal-600)}
.bento-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:minmax(210px,auto);gap:1.15rem}
.bento-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:1.65rem;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease}
.bento-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.bento-card-feature{grid-row:span 2;background:linear-gradient(150deg,#fff 15%,#eff7f6 100%)}
.bento-card-dark{background:var(--color-dark);border-color:var(--color-dark);color:#d6e5e2}
.bento-card-dark h3{color:#fff}
.bento-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:1.4rem;border-radius:15px;background:var(--teal-50);color:var(--teal-700)}
.bento-icon svg{width:27px;height:27px}
.bento-card p{color:var(--color-muted);font-size:.98rem}
.bento-card-dark p{color:#c6d8d5}
.text-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;font-weight:800;text-decoration:none}
.bento-card-dark .text-link{color:#f4b184}
.split-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5.5rem)}
.split-art{padding:1rem;border-radius:28px;background:linear-gradient(145deg,var(--teal-50),#fff);border:1px solid var(--color-border)}
.check-list{display:grid;gap:.8rem;padding:0;margin:1.4rem 0;list-style:none}
.check-list li{display:flex;gap:.75rem;align-items:flex-start}
.check-list svg{width:20px;height:20px;flex:none;margin-top:.18rem;color:var(--teal-600)}
.symptom-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:#fff}
.symptom-table th,.symptom-table td{padding:1rem 1.15rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}
.symptom-table th{background:var(--teal-50);color:var(--teal-900);font:700 .9rem var(--font-heading)}
.symptom-table tr:last-child td{border-bottom:0}
.callout-pro,.callout-warn{margin:1.5rem 0;padding:1.15rem 1.3rem;border-left:4px solid var(--teal-500);border-radius:0 14px 14px 0;background:var(--teal-50)}
.callout-warn{border-color:#d97736;background:var(--color-warn-bg)}
.callout-pro strong,.callout-warn strong{display:block;margin-bottom:.25rem;color:var(--color-dark)}
.process-list{position:relative;display:grid;gap:1.7rem;max-width:850px;margin:2.5rem auto 0;padding:0;list-style:none}
.process-list:before{content:"";position:absolute;top:2rem;bottom:2rem;left:30px;width:1px;background:rgba(145,193,187,.55)}
.process-step{position:relative;display:grid;grid-template-columns:62px 1fr;gap:1.3rem;align-items:start}
.process-number{position:relative;z-index:1;color:transparent;-webkit-text-stroke:1.5px #91c1bb;font:800 2.3rem/1 var(--font-heading)}
.process-step h3{margin-bottom:.4rem}.process-step p{max-width:65ch;color:var(--color-muted)}
.cta-band{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,5rem);border-radius:28px;background:radial-gradient(ellipse at 85% 15%,rgba(93,161,154,.32),transparent 40%),var(--color-dark);color:#d8e8e5}
.cta-band h2{max-width:15ch;color:#fff}.cta-band p{max-width:62ch;color:#c6d8d5}
.cta-phone{display:block;margin:1.3rem 0;color:#fff;font:800 clamp(2rem,5vw,3.8rem)/1.1 var(--font-heading);letter-spacing:-.04em;text-decoration:none}
.faq-list{display:grid;gap:.8rem;max-width:900px}
.faq-item{border:1px solid var(--color-border);border-radius:15px;background:#fff}
.faq-item summary{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;color:var(--color-dark);font:700 1rem var(--font-heading);cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";color:var(--teal-600);font-size:1.5rem;line-height:1;transition:transform .2s ease}
.faq-item[open] summary:after{transform:rotate(45deg)}
.faq-answer{padding:0 1.25rem 1.1rem;color:var(--color-muted)}
.sticky-toc{position:sticky;top:110px;padding:1.1rem;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}
.sticky-toc ul{padding-left:1.1rem;margin:.7rem 0 0}.sticky-toc li{margin:.35rem 0}
.sticky-call-card{position:sticky;top:110px;padding:1.35rem;border-radius:18px;background:var(--teal-50);border:1px solid var(--color-border)}
.location-mesh{display:flex;flex-wrap:wrap;gap:.65rem}
.location-mesh-link{display:inline-flex;padding:.65rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;text-decoration:none;font-weight:700}
.breadcrumbs{padding-block:1rem;color:var(--color-muted);font-size:.9rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}
.breadcrumbs li+li:before{content:"/";margin-right:.5rem;color:#8ca09e}
.page-hero{padding-block:4.5rem;background:var(--color-mist)}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:3rem;align-items:start}
.prose h2{margin-top:2.7rem}.prose h3{margin-top:1.8rem}.prose ul,.prose ol{padding-left:1.35rem}.prose li{margin:.45rem 0}
.site-footer{padding:4rem 0 2rem;background:#0d272c;color:#d1e0dd}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.1fr;gap:2rem}
.site-footer h3{margin-bottom:1rem;color:#fff;font-size:1rem;letter-spacing:0}
.site-footer a{color:#d1e0dd;text-decoration:none}.site-footer a:hover{color:#f4b184}
.footer-links{display:grid;gap:.55rem;padding:0;margin:0;list-style:none;font-size:.94rem}
.footer-brand{max-width:32ch;color:#b7ceca;font-size:.94rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(209,224,221,.18);color:#9eb8b4;font-size:.85rem}
.mobile-call-bar{display:none}
.js-reveal{opacity:1;transform:none}.js-ready .js-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js-ready .js-reveal.is-visible{opacity:1;transform:translateY(0)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1023px){.menu-toggle{display:grid;place-items:center}.primary-nav{position:fixed;inset:82px 0 0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:1.5rem 1.25rem 3rem;background:#fff;overflow-y:auto}.primary-nav.is-open{display:flex}.primary-nav a{padding:1rem;border-bottom:1px solid var(--color-border);font-size:1.1rem}.header-actions .btn{display:none}.hero-grid{grid-template-columns:1fr 1fr;gap:1.5rem}.bento-grid{grid-template-columns:1fr 1fr}.bento-card-feature{grid-row:span 1}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){body{font-size:1rem}.container{width:min(calc(100% - 2rem),var(--content-width))}.header-inner{min-height:72px}.primary-nav{inset:72px 0 0}.brand-mark{width:38px;height:38px}.hero{padding-block:3.5rem 4rem}.hero-grid,.split-grid,.content-layout{grid-template-columns:1fr}.hero-grid{gap:1rem}.hero-copy h1{font-size:clamp(2.55rem,12vw,4rem)}.hero-art{min-height:330px;max-width:520px;width:100%;margin-inline:auto}.glass-card-one{right:0;top:5%}.glass-card-two{left:0;bottom:5%}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%;min-height:52px}.bento-grid{grid-template-columns:1fr;grid-auto-rows:auto}.bento-card{min-height:205px}.section{padding-block:4rem}.section-angle{clip-path:none}.symptom-table{font-size:.92rem}.symptom-table th,.symptom-table td{padding:.75rem}.process-list:before{left:24px}.process-step{grid-template-columns:50px 1fr;gap:.9rem}.process-number{font-size:2rem}.footer-grid{grid-template-columns:1fr 1fr;gap:1.8rem 1rem}.sticky-toc{position:static}.sticky-call-card{display:none}.mobile-call-bar{position:fixed;z-index:90;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(16,46,51,.97);box-shadow:0 -8px 28px rgba(16,46,51,.18)}.mobile-call-bar span{color:#fff;font-weight:700}.mobile-call-bar .btn{width:auto;min-height:44px;padding:.55rem 1rem}body.has-mobile-call{padding-bottom:76px}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.glass-card{padding:.65rem .8rem}.glass-card strong{font-size:.8rem}.glass-card span{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-ready .js-reveal{opacity:1;transform:none}}
