
/* Grand Prairie Water Damage Restoration — prairie-corridor water-response desk
   Type: Archivo (display) + Mulish (body) + Martian Mono (tags)
   Palette: wheat base, olive-charcoal structure, bluebonnet indigo, paintbrush vermillion CTA, sunflower gold */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Mulish:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Martian+Mono:wght@400;500;600&display=swap');

:root{
  --wheat:#F4EEDD; --wheat-2:#EDE4CE; --paper:#FBF7EC;
  --olive:#272A1E; --olive-2:#32361F; --olive-soft:#3C4029;
  --indigo:#39488A; --indigo-2:#2C3A77; --indigo-soft:#54639F;
  --vermillion:#C8431D; --vermillion-2:#AC360F;
  --gold:#DFA52A; --gold-soft:#C8902020;
  --ink:#211F16; --ink-soft:#5B5746; --line:#D9CEB4;
  --on-dark:#EDE7D6; --on-dark-soft:#B6B49C;
  --shadow:0 1px 0 #FFFFFF80,0 14px 34px -22px #2A2A1A55;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wheat);color:var(--ink);font-family:'Mulish',system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:var(--indigo);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 22px}

h1,h2,h3,h4{font-family:'Archivo',sans-serif;line-height:1.1;color:var(--ink);margin:0 0 .35em;letter-spacing:-.012em}
h1{font-size:clamp(2rem,5.2vw,3.05rem);font-weight:800}
h2{font-size:clamp(1.55rem,3.3vw,2.15rem);font-weight:700}
h3{font-size:1.16rem;font-weight:700}
p{margin:0 0 1.05em}

.kicker{font-family:'Martian Mono',monospace;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--vermillion)}
.kicker.indigo{color:var(--indigo)}
.kicker.gold{color:var(--gold)}
.kicker.on-dark{color:var(--gold)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Archivo',sans-serif;font-weight:700;font-size:1.02rem;padding:.82em 1.35em;border-radius:9px;border:2px solid transparent;cursor:pointer;transition:.15s;line-height:1}
.btn svg{width:1.15em;height:1.15em}
.btn-call{background:var(--vermillion);color:#fff;box-shadow:0 12px 24px -12px #C8431D88}
.btn-call:hover{background:var(--vermillion-2);text-decoration:none;transform:translateY(-1px)}
.btn-indigo{background:var(--indigo);color:#fff}
.btn-indigo:hover{background:var(--indigo-2);text-decoration:none}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--olive);text-decoration:none}
.btn-on-dark{background:var(--wheat);color:var(--olive)}
.btn-on-dark:hover{background:#fff;text-decoration:none}

/* utility strip (top tier) */
.utility{background:var(--olive);color:var(--on-dark);font-size:.8rem;font-family:'Martian Mono',monospace;letter-spacing:.02em}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:38px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.utility .hours{color:var(--on-dark-soft)}
.utility a{color:var(--gold);font-weight:600}

/* header (second tier) */
.site-header{background:var(--wheat);border-bottom:2px solid var(--olive);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;position:relative}
.brand{display:flex;align-items:center;gap:12px}
.brand:hover{text-decoration:none}
.brand .mark{width:46px;height:46px;flex:0 0 auto}
.wordmark{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.04rem;line-height:1.04;color:var(--olive);letter-spacing:-.02em;text-transform:uppercase}
.wordmark small{display:block;font-family:'Martian Mono',monospace;font-weight:500;font-size:.58rem;letter-spacing:.18em;color:var(--vermillion);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:5px}
.nav-links>a,.sub-toggle{font-family:'Archivo',sans-serif;font-weight:600;font-size:.93rem;color:var(--olive);padding:.5em .6em;border-radius:6px}
.nav-links>a:hover,.sub-toggle:hover{background:var(--wheat-2);text-decoration:none}
.has-sub{position:relative}
.submenu{position:absolute;top:100%;left:0;min-width:288px;background:var(--paper);border:1.5px solid var(--olive);border-radius:10px;box-shadow:var(--shadow);padding:7px;display:none;z-index:60}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{display:block}
.submenu a{display:block;padding:.5em .7em;border-radius:6px;font-size:.9rem;font-weight:600;color:var(--ink)}
.submenu a:hover{background:var(--wheat-2);text-decoration:none;color:var(--indigo)}
.nav-call{display:inline-flex;align-items:center;gap:.45em;background:var(--vermillion);color:#fff !important;font-family:'Archivo';font-weight:700;font-size:.92rem;padding:.55em .95em;border-radius:8px}
.nav-call:hover{background:var(--vermillion-2);text-decoration:none}
.nav-call svg{width:1.05em;height:1.05em}
.menu-toggle{display:none;background:none;border:1.5px solid var(--olive);border-radius:7px;padding:8px;color:var(--olive);cursor:pointer}
.menu-toggle svg{width:24px;height:24px}

/* wheat-stalk tick divider */
.stalk-rule{height:26px;background-repeat:repeat-x;background-position:center;background-size:34px 26px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='26'%3E%3Cline x1='0' y1='18' x2='34' y2='18' stroke='%23D9CEB4' stroke-width='1.4'/%3E%3Cline x1='17' y1='18' x2='17' y2='6' stroke='%23C8902055' stroke-width='1.4'/%3E%3Ccircle cx='17' cy='4.5' r='2.1' fill='%23DFA52A'/%3E%3C/svg%3E");margin:0}
.stalk-rule.on-dark{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='26'%3E%3Cline x1='0' y1='18' x2='34' y2='18' stroke='%233C4029' stroke-width='1.4'/%3E%3Cline x1='17' y1='18' x2='17' y2='6' stroke='%23DFA52A55' stroke-width='1.4'/%3E%3Ccircle cx='17' cy='4.5' r='2.1' fill='%23DFA52A'/%3E%3C/svg%3E")}

/* sections */
.sec{padding:62px 0}
.sec-tight{padding:40px 0}
main>section:first-of-type{padding-top:30px}
.sec-olive{background:var(--olive);color:var(--on-dark)}
.sec-olive h1,.sec-olive h2,.sec-olive h3{color:#fff}
.sec-olive p{color:var(--on-dark)}
.sec-indigo{background:var(--indigo);color:#EAEEF8}
.sec-indigo h2,.sec-indigo h3{color:#fff}
.sec-indigo p{color:#D5DCF0}
.sec-paper{background:var(--paper)}
.sec-wheat2{background:var(--wheat-2)}

/* hero */
.hero{padding:46px 0 0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}
.hero h1{margin-bottom:.3em}
.hero .lead-xl{font-size:1.18rem;color:var(--ink-soft);max-width:34em;margin-bottom:1.2em}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-family:'Martian Mono',monospace;font-size:.74rem;color:var(--ink-soft);letter-spacing:.02em}
.hero-trust span{display:inline-flex;align-items:center;gap:.4em}
.hero-trust svg{width:1.05em;height:1.05em;color:var(--indigo)}

/* corridor card (hero right) */
.corridor-card{background:var(--olive);color:var(--on-dark);border-radius:14px;padding:22px 22px 20px;box-shadow:0 24px 50px -26px #2A2A1A99}
.corridor-card .cc-head{font-family:'Martian Mono',monospace;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.zone{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--olive-soft)}
.zone:first-of-type{border-top:none;padding-top:2px}
.zone .znum{font-family:'Archivo';font-weight:800;font-size:1.5rem;color:var(--gold);line-height:1}
.zone .zttl{font-family:'Archivo';font-weight:700;font-size:.96rem;color:#fff;margin-bottom:2px}
.zone .ztag{font-family:'Martian Mono',monospace;font-size:.64rem;letter-spacing:.04em;color:var(--on-dark-soft);text-transform:uppercase}
.corridor-card .cc-foot{margin-top:14px}
.corridor-card .cc-foot .btn{width:100%;justify-content:center}

/* generic split */
.split{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:start}
.aside{background:var(--paper);border:1.5px solid var(--line);border-radius:13px;padding:22px}
.sec-olive .aside,.sec-indigo .aside{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.aside h3{margin-bottom:.4em}
.phone-cta{margin-top:14px}

/* prose */
.prose{max-width:760px}
.prose h2{margin-top:1.2em}
.prose p{color:var(--ink-soft)}
.sec-olive .prose p,.sec-indigo .prose p{color:var(--on-dark)}
.lead-xl{font-size:1.16rem;line-height:1.5}

/* cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.mini{background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:20px;border-top:3px solid var(--gold)}
.mini h3{font-size:1.04rem;margin-bottom:.3em}
.mini p{font-size:.93rem;color:var(--ink-soft);margin:0}
.sec-olive .mini,.sec-indigo .mini{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);border-top-color:var(--gold)}
.sec-olive .mini p,.sec-indigo .mini p{color:var(--on-dark)}

/* checks */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.checks li{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start}
.checks svg{width:1.3em;height:1.3em;color:var(--indigo);margin-top:.15em;flex:0 0 auto}
.sec-olive .checks svg,.sec-indigo .checks svg{color:var(--gold)}

/* service grid (home) */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.svc-cell{background:var(--paper);border:1.5px solid var(--line);border-radius:11px;padding:16px 16px 15px;display:flex;flex-direction:column;gap:5px;transition:.15s}
.svc-cell:hover{border-color:var(--indigo);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}
.svc-cell .sc-tag{font-family:'Martian Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:var(--vermillion);text-transform:uppercase}
.svc-cell .sc-ttl{font-family:'Archivo';font-weight:700;font-size:1rem;color:var(--ink)}
.svc-cell .sc-desc{font-size:.85rem;color:var(--ink-soft)}

/* rows */
.rows{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.row-link{display:flex;align-items:center;gap:11px;padding:13px 16px;background:var(--paper);border:1.5px solid var(--line);border-radius:9px;color:var(--ink);font-weight:600;font-size:.95rem}
.row-link:hover{border-color:var(--indigo);text-decoration:none;color:var(--indigo)}
.row-link .dot{width:9px;height:9px;border-radius:2px;background:var(--gold);transform:rotate(45deg);flex:0 0 auto}

/* photo band */
.photo-band{position:relative}
.photo-band img{width:100%;height:clamp(220px,34vw,400px);object-fit:cover}
.photo-band .pb-cap{position:absolute;left:0;bottom:0;background:var(--olive);color:var(--gold);font-family:'Martian Mono',monospace;font-size:.68rem;letter-spacing:.05em;padding:7px 13px;border-top-right-radius:9px}

/* two front doors */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.door{border-radius:13px;padding:24px;border:1.5px solid var(--line);background:var(--paper)}
.door.res{border-top:4px solid var(--indigo)}
.door.com{border-top:4px solid var(--gold)}
.door .d-tag{font-family:'Martian Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.door h3{font-size:1.22rem;margin:.25em 0 .5em}
.door ul{list-style:none;margin:.4em 0 0;padding:0;display:grid;gap:8px}
.door li{display:grid;grid-template-columns:auto 1fr;gap:9px;font-size:.92rem;color:var(--ink-soft)}
.door li b{font-weight:700;color:var(--ink)}
.door li::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--gold);transform:rotate(45deg);margin-top:.5em}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px;counter-reset:step}
.step{position:relative;padding:20px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:12px}
.sec-paper .step,.sec-wheat2 .step{background:var(--paper);border-color:var(--line)}
.step .snum{font-family:'Martian Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:var(--gold)}
.step h3{font-size:1.04rem;margin:.3em 0 .25em}
.step p{font-size:.88rem;margin:0}

/* damage clock / risk ledger */
.ledger{display:grid;gap:0;margin-top:22px;border:1.5px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden}
.ledger .lrow{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:15px 18px;border-top:1px solid rgba(255,255,255,.12);align-items:start}
.ledger .lrow:first-child{border-top:none}
.ledger .lwin{font-family:'Martian Mono',monospace;font-size:.82rem;font-weight:600;color:var(--gold)}
.ledger .lwhat b{color:#fff;font-family:'Archivo';font-weight:700}
.ledger .lwhat{font-size:.92rem}

/* faq */
.faq{display:grid;gap:10px;max-width:840px}
.faq details{background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:2px 18px}
.faq summary{font-family:'Archivo';font-weight:700;font-size:1.02rem;padding:15px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--ink)}
.faq summary::after{content:"+";color:var(--vermillion);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{padding:0 0 16px;color:var(--ink-soft);font-size:.97rem}

/* cta band */
.cta-band{background:var(--indigo);color:#fff;border-radius:16px;padding:38px 34px;display:grid;grid-template-columns:1.4fr auto;gap:24px;align-items:center;box-shadow:0 24px 50px -28px #39488A99}
.cta-band h2{color:#fff;margin-bottom:.2em}
.cta-band p{color:#D5DCF0;margin:0;font-size:1.02rem}
.cta-band .btn-call{box-shadow:0 12px 24px -10px #00000055}

/* crumbs */
.crumbs{font-family:'Martian Mono',monospace;font-size:.72rem;color:var(--ink-soft);padding:14px 0 0;letter-spacing:.02em}
.crumbs a{color:var(--indigo)}

/* footer */
.site-footer{background:var(--olive);color:var(--on-dark)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;max-width:1140px;margin:0 auto;padding:52px 22px 30px}
.site-footer h4{font-family:'Archivo';color:#fff;font-size:1rem;margin-bottom:.7em}
.site-footer p{color:var(--on-dark-soft);font-size:.9rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{color:var(--on-dark);font-size:.9rem}
.site-footer a:hover{color:var(--gold)}
.footer-call{display:inline-flex;align-items:center;gap:.5em;color:var(--gold) !important;font-family:'Archivo';font-weight:700;font-size:1.18rem;margin-top:8px}
.footer-call svg{width:1.1em;height:1.1em}
.footer-bottom{border-top:1px solid var(--olive-soft)}
.footer-bottom .wrap{padding:22px}
.disclaimer{font-size:.76rem;color:var(--on-dark-soft);line-height:1.6;max-width:1000px;margin:0 0 12px}
.copyright{font-family:'Martian Mono',monospace;font-size:.72rem;color:var(--on-dark-soft);letter-spacing:.02em}

/* mobile sticky call */
.mobile-call{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--vermillion);color:#fff;font-family:'Archivo';font-weight:700;font-size:1.02rem;align-items:center;justify-content:center;gap:.5em;padding:14px;box-shadow:0 -6px 20px -8px #00000055}
.mobile-call:hover{text-decoration:none;color:#fff}
.mobile-call svg{width:1.2em;height:1.2em}

/* responsive */
@media(max-width:900px){
  .hero-grid,.split,.cta-band{grid-template-columns:1fr}
  .cards3,.svc-grid,.steps{grid-template-columns:repeat(2,1fr)}
  .doors,.rows,.cards2{grid-template-columns:1fr}
  .cta-band{text-align:left}
  .cta-band .btn{width:100%;justify-content:center}
}
@media(max-width:680px){
  body{font-size:16px}
  .menu-toggle{display:block}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);border:1.5px solid var(--olive);border-radius:0 0 12px 12px;padding:10px;gap:2px}
  .nav-links.open{display:flex}
  .has-sub{width:100%}
  .submenu{position:static;display:block;border:none;box-shadow:none;background:var(--wheat-2);padding:4px 4px 4px 14px;margin:2px 0}
  .nav-call{justify-content:center;margin-top:6px}
  .cards3,.svc-grid,.steps,.ledger .lrow{grid-template-columns:1fr}
  .ledger .lrow{gap:4px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .utility .wrap{justify-content:center}
  .utility .hours{display:none}
  .mobile-call{display:flex}
  main{padding-bottom:58px}
  .sec{padding:46px 0}
}
@media(max-width:430px){
  .footer-grid{grid-template-columns:1fr}
  .hero{padding-top:30px}
}
