/* New Braunfels Water Well Pros — site styles */
:root{
  --ink:#24211c;
  --charcoal:#2f3b3a;
  --limestone:#f4efe2;
  --limestone-2:#e9dfc6;
  --well-blue:#1f5f6b;
  --well-blue-dark:#173f47;
  --amber:#c1852b;
  --amber-dark:#9c6a1f;
  --line:#ddd2ba;
  --white:#fffefb;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Georgia','Iowan Old Style',serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
h1,h2,h3{font-family:'Georgia',serif;font-weight:normal;color:var(--charcoal);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.sans{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;}
.shell{max-width:1140px;margin:0 auto;padding:0 24px;}
.kicker{
  text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--well-blue);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:700;
}

/* Announcement bar */
.announce-bar{background:var(--well-blue-dark);color:#e3ede9;font-size:13px;}
.announce-bar .shell{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;flex-wrap:wrap;gap:6px;}
.announce-bar a{font-weight:700;}

/* Masthead */
.masthead{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.masthead-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;position:relative;}
.brandmark{font-size:19px;letter-spacing:.01em;display:flex;align-items:center;gap:10px;}
.brandmark .mark{width:36px;height:36px;border-radius:8px;background:var(--well-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:sans-serif;font-weight:700;font-size:13px;flex-shrink:0;}
.nav-list{display:flex;gap:24px;align-items:center;font-size:15px;}
.nav-item{padding:4px 0;}
.nav-item[aria-current="page"]{color:var(--amber-dark);font-weight:700;}

.services-drop{position:relative;display:flex;align-items:center;gap:2px;}
.services-drop > a{padding:4px 0;}
.services-drop > a[aria-current="page"]{color:var(--amber-dark);font-weight:700;}
.services-drop-toggle{background:none;border:none;cursor:pointer;color:var(--charcoal);padding:6px 2px;display:flex;align-items:center;}
.services-drop-toggle .chev{width:11px;height:11px;transition:transform .15s ease;}
.services-drop-toggle[aria-expanded="true"] .chev{transform:rotate(180deg);}
.services-drop-panel{display:none;position:absolute;top:130%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(20,35,35,.10);min-width:280px;padding:8px;z-index:60;}
.services-drop:hover .services-drop-panel,
.services-drop:focus-within .services-drop-panel,
.services-drop-panel.open{display:block;}
.services-drop-panel a{display:block;padding:10px 12px;border-radius:6px;font-size:14px;}
.services-drop-panel a:hover, .services-drop-panel a:focus{background:var(--limestone);}
.services-drop-panel a[aria-current="page"]{color:var(--amber-dark);font-weight:700;}

.btn-primary{background:var(--amber);color:#fff;padding:11px 20px;border-radius:6px;font-size:14px;font-weight:700;font-family:sans-serif;white-space:nowrap;border:none;cursor:pointer;display:inline-block;}
.btn-primary:hover{background:var(--amber-dark);}
.btn-primary:disabled{opacity:.65;cursor:not-allowed;}
.btn-outline{border:1.5px solid var(--charcoal);color:var(--charcoal);padding:10px 18px;border-radius:6px;font-size:14px;font-weight:700;font-family:sans-serif;display:inline-block;}

.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:8px;cursor:pointer;}
.menu-toggle svg{width:22px;height:22px;color:var(--charcoal);display:block;}

.glyph{width:26px;height:26px;color:var(--well-blue);display:block;}

/* Breadcrumb */
.crumb{padding:16px 0 0;font-family:sans-serif;font-size:13px;color:#767061;}
.crumb a{color:var(--well-blue);font-weight:700;}
.crumb .div{margin:0 6px;}

/* Intro / hero (home) */
.intro{background:linear-gradient(180deg,var(--limestone) 0%, var(--white) 100%);padding:60px 0 40px;}
.intro-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start;}
.intro h1{font-size:41px;line-height:1.16;margin:14px 0 18px;}
.intro p.dek{font-size:17px;color:#524c3f;max-width:58ch;}
.intro-badges{display:flex;gap:20px;margin:22px 0 26px;font-family:sans-serif;font-size:13px;color:var(--charcoal);flex-wrap:wrap;}
.intro-badges span{display:flex;align-items:center;gap:6px;}
.intro-badges span:before{content:"✓";color:var(--well-blue);font-weight:700;}
.intro-actions{display:flex;gap:14px;flex-wrap:wrap;}

.rig-graphic{width:100%;aspect-ratio:4/3;border-radius:10px;background:var(--well-blue-dark);position:relative;overflow:hidden;box-shadow:0 20px 50px rgba(20,45,45,.25);}
.rig-tower{position:absolute;left:50%;bottom:18%;width:10px;height:58%;background:linear-gradient(180deg,#e9dfc6,#c1852b);transform:translateX(-50%);border-radius:2px;}
.rig-cross{position:absolute;left:50%;top:22%;width:70%;height:6px;background:#e9dfc6;transform:translateX(-50%);border-radius:2px;}
.rig-cross.two{top:34%;width:56%;}
.rig-cross.three{top:46%;width:42%;}
.rig-base{position:absolute;left:14%;right:14%;bottom:10%;height:14px;background:#0f2b31;border-radius:3px;border:2px solid #7fa9a3;}
.rig-drop{position:absolute;left:50%;bottom:0;width:3px;height:20%;background:#7fa9a3;transform:translateX(-50%);}
.rig-caption{position:absolute;bottom:0;left:0;right:0;background:rgba(10,25,25,.72);color:#eaf3ef;font-family:sans-serif;font-size:11px;letter-spacing:.06em;text-align:center;padding:8px;text-transform:uppercase;}

/* Page intro (interior pages) */
.page-intro{background:linear-gradient(180deg,var(--limestone) 0%, var(--white) 100%);padding:20px 0 44px;}
.page-intro .kicker{margin-top:6px;}
.page-intro h1{font-size:35px;line-height:1.2;margin:12px 0 14px;}
.page-intro p.dek{font-size:16px;color:#524c3f;max-width:64ch;}

/* Lead card / forms */
.lead-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:0 10px 30px rgba(20,45,45,.08);font-family:sans-serif;margin-top:24px;}
.lead-card h3{font-family:sans-serif;font-size:17px;margin-bottom:4px;}
.lead-card p{font-size:13px;color:#7a7568;margin-bottom:16px;}
.lead-card label{display:block;font-size:12px;color:#7a7568;margin:12px 0 4px;}
.lead-card input, .lead-card select, .lead-card textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-family:sans-serif;background:var(--limestone);
}
.lead-card input:focus, .lead-card select:focus, .lead-card textarea:focus{outline:2px solid var(--well-blue);outline-offset:1px;}
.lead-card button{width:100%;margin-top:16px;background:var(--amber);color:#fff;border:none;padding:13px;border-radius:6px;font-weight:700;font-size:14px;cursor:pointer;}
.lead-card button:hover{background:var(--amber-dark);}
.lead-card .fine-print{font-size:11px;color:#9c9384;text-align:center;margin-top:10px;}
.lead-status{margin-top:14px;font-size:13px;font-family:sans-serif;border-radius:6px;padding:10px 12px;line-height:1.4;}
.lead-status.success{background:#e4f1e9;color:#1c6b46;}
.lead-status.error{background:#fbe8e1;color:#9c4a1f;}
.lead-status[hidden]{display:none;}

/* Value strip (trust) */
.value-strip{padding:48px 0;}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.value-item{background:var(--limestone);border-radius:10px;padding:22px;}
.value-item .glyph{margin-bottom:12px;}
.value-item h4{font-size:16px;margin-bottom:6px;}
.value-item p{font-size:13px;color:#6c6656;font-family:sans-serif;}

/* Section generic */
section{padding:54px 0;}
section.tinted{background:var(--limestone);}
.section-lead{margin-bottom:30px;}
.section-lead h2{font-size:29px;margin-top:6px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.split ul{margin-top:16px;padding-left:0;list-style:none;}
.split ul li{font-size:15px;margin-bottom:10px;padding-left:26px;position:relative;color:#453f31;}
.split ul li:before{content:"—";position:absolute;left:0;color:var(--well-blue);font-weight:700;}

.detail-list{margin-top:18px;padding-left:0;list-style:none;}
.detail-list li{font-size:15px;margin-bottom:12px;padding-left:28px;position:relative;color:#453f31;}
.detail-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--well-blue);font-weight:700;}

.offerings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.offering{border:1px solid var(--line);border-radius:10px;padding:26px;}
.offering .glyph{margin-bottom:14px;}
.offering h3{font-size:19px;margin-bottom:8px;}
.offering p{font-size:14px;color:#6c6656;margin-bottom:14px;}
.offering a{font-family:sans-serif;font-size:13px;font-weight:700;color:var(--well-blue);}

.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px;}
.option-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--limestone);}
.option-card h4{font-size:16px;margin-bottom:8px;}
.option-card p{font-size:13px;color:#6c6656;font-family:sans-serif;}

table.rate-table{width:100%;border-collapse:collapse;font-family:sans-serif;font-size:14px;margin-top:10px;}
table.rate-table th{text-align:left;background:var(--well-blue-dark);color:#eaf3ef;padding:12px 14px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
table.rate-table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top;}
table.rate-table tr:nth-child(even) td{background:var(--limestone);}
.rate-note{font-size:12px;color:#8f8676;margin-top:12px;font-family:sans-serif;}

.workflow{counter-reset:wf;}
.workflow-step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
.workflow-step:last-child{border-bottom:none;}
.workflow-num{counter-increment:wf;width:38px;height:38px;border-radius:50%;background:var(--well-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:sans-serif;font-weight:700;flex-shrink:0;}
.workflow-num::before{content:counter(wf);}
.workflow-step h4{font-size:17px;margin-bottom:4px;}
.workflow-step p{font-size:14px;color:#6c6656;font-family:sans-serif;}

.coverage-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font-family:sans-serif;font-size:14px;}
.coverage-list span{background:var(--limestone);border:1px solid var(--line);padding:8px 14px;border-radius:20px;}

.qa-item{border-bottom:1px solid var(--line);padding:20px 0;}
.qa-item h4{font-size:16px;margin-bottom:8px;}
.qa-item p{font-size:14px;color:#6c6656;font-family:sans-serif;}

.cta-band{background:var(--well-blue-dark);color:#eaf3ef;text-align:center;padding:58px 0;}
.cta-band h2{color:#fff;font-size:29px;margin-bottom:10px;}
.cta-band p{font-family:sans-serif;font-size:14px;color:#c7dcd5;margin-bottom:24px;}
.cta-band .row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.cta-band .btn-outline{border-color:#eaf3ef;color:#eaf3ef;}

/* Photo panels */
.frame{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(20,45,45,.18);background:var(--limestone-2);}
.frame img{width:100%;height:100%;object-fit:cover;display:block;}
.frame.r43{aspect-ratio:4/3;}
.frame.r169{aspect-ratio:16/9;}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start;}
.contact-info h2{font-size:25px;margin-bottom:14px;}
.contact-info p{font-size:15px;color:#524c3f;margin-bottom:18px;}
.contact-info .phone-big{font-family:sans-serif;font-size:22px;font-weight:700;color:var(--well-blue);margin-bottom:18px;display:inline-block;}
.contact-info .areas{font-family:sans-serif;font-size:14px;color:#6c6656;}

/* Legal pages */
.legal-copy p, .legal-copy li{font-size:15px;color:#453f31;margin-bottom:14px;}
.legal-copy h2{font-size:21px;margin:30px 0 12px;}
.legal-copy ul{padding-left:22px;margin-bottom:14px;}
.legal-copy .updated{font-family:sans-serif;font-size:13px;color:#8f8676;margin-bottom:24px;}

.site-footer{background:#182524;color:#9fada6;padding:48px 0 24px;font-family:sans-serif;font-size:13px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
.footer-grid h5{color:#eaf3ef;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.footer-grid a{display:block;margin-bottom:9px;}
.footer-bottom{border-top:1px solid #2b3a38;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

.mobile-call{position:fixed;bottom:0;left:0;right:0;background:var(--amber);color:#fff;text-align:center;padding:12px;font-family:sans-serif;font-weight:700;display:none;z-index:60;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

@media(max-width:900px){
  .intro-inner, .split, .footer-grid, .contact-grid{grid-template-columns:1fr;}
  .value-grid, .offerings-grid, .option-grid{grid-template-columns:1fr 1fr;}
  .mobile-call{display:block;}
  body{padding-bottom:48px;}
  .menu-toggle{display:flex;align-items:center;justify-content:center;}
  .nav-list{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;box-shadow:0 12px 24px rgba(0,0,0,.06);
  }
  .nav-list.open{display:flex;}
  .nav-item, .nav-list .btn-primary{padding:12px 0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;}
  .nav-list .btn-primary{background:none;color:var(--amber-dark);font-weight:700;}
  .services-drop{flex-direction:column;align-items:stretch;}
  .services-drop > a{padding:12px 0;border-bottom:1px solid var(--line);flex:1;}
  .services-drop-toggle{position:absolute;right:0;top:2px;padding:12px 4px;}
  .services-drop-panel{position:static;display:none;box-shadow:none;border:none;padding:0 0 0 14px;min-width:0;}
  .services-drop-panel.open{display:block;}
}
@media(max-width:600px){
  .value-grid, .offerings-grid, .option-grid{grid-template-columns:1fr;}
  .intro h1{font-size:31px;}
  .page-intro h1{font-size:27px;}
}
