/* Dry Nova — Sarasota, FL. Deep teal / navy. No phone numbers on this site:
   every CTA links to /contact-us/. Dropdowns are CLICK-ONLY (no CSS hover,
   no mouseenter/focusin openers in JS). */
:root{
  --navy:#07303a; --navy-2:#0a4250; --navy-3:#0d5563;
  --aqua:#00b4c5; --aqua-dark:#0093a3; --teal:#0f766e;
  --ink:#17242f; --muted:#51606e; --line:#d7e3e8;
  --bg:#ffffff; --bg-soft:#eef7f8; --bg-pale:#f6fbfc;
  --gold:#f2b705;
  --radius:12px;
  --shadow:0 6px 24px rgba(7,48,58,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--bg);font-size:17px}
img,svg{max-width:100%;height:auto}
a{color:var(--aqua-dark)}
a:hover{color:var(--navy)}
h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,5vw,2.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.45rem,3.6vw,2rem);margin-top:0}
h3{font-size:1.2rem;margin-top:1.6em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1.1em;padding-left:1.35em}
li{margin-bottom:.45em}
table{width:100%;border-collapse:collapse;margin:1em 0 1.4em;font-size:.95rem}
th,td{border:1px solid var(--line);padding:.65em .7em;text-align:left;vertical-align:top}
th{background:var(--navy);color:#fff}
tbody tr:nth-child(even){background:var(--bg-pale)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:.6em 1em;z-index:99}
.skip-link:focus{left:0;color:#fff}

/* Header — static, not sticky */
.site-header{background:var(--navy);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.2)}
.header-inner{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;padding:12px 20px;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;flex-shrink:0}
.brand img{width:240px;height:auto;max-width:100%;flex-shrink:0;display:block}
.brand-name{font-size:1.35rem;font-weight:800;letter-spacing:.01em;line-height:1}
.brand-tag{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7fe3ec;margin-top:3px}
/* Belt-and-braces: the nav list rule below must never show a dropdown on load.
   .main-nav>ul (0,1,1) + .main-nav .dropdown{display:none} beat .main-nav ul. */
.main-nav>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.main-nav .dropdown{display:none}
.main-nav a,.main-nav span[aria-current="page"]{color:#dbeef2;text-decoration:none;font-weight:600;font-size:.95rem;padding:.5em .7em;border-radius:8px}
.main-nav a:hover,.main-nav a[aria-current="page"],.main-nav span[aria-current="page"]{background:rgba(0,180,197,.22);color:#fff}
.header-contact{display:inline-block;background:#fff;color:var(--navy);text-decoration:none;font-weight:800;padding:.6em 1.1em;border-radius:999px;white-space:nowrap;border:2px solid #fff}
.header-contact:hover{background:var(--aqua-dark);border-color:var(--aqua-dark);color:#fff}

/* Dropdown navigation — CLICK-ONLY. No :hover / :focus-within opener anywhere. */
.nav-toggle{background:none;border:0;color:#dbeef2;font:inherit;font-weight:600;font-size:.95rem;padding:.5em .7em;border-radius:8px;cursor:pointer}
.nav-toggle:hover,.nav-toggle[aria-expanded="true"]{background:rgba(0,180,197,.22);color:#fff}
.nav-toggle .caret{font-size:.8em}
.main-nav .has-dropdown{position:relative}
.main-nav .dropdown{position:absolute;top:100%;left:0;min-width:320px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(7,48,58,.25);list-style:none;margin:0;padding:8px 0;z-index:80}
.main-nav .dropdown li{margin:0}
.main-nav .dropdown a{display:block;color:var(--navy);text-decoration:none;font-weight:600;font-size:.93rem;padding:.6em 1.1em;border-radius:0;white-space:normal}
.main-nav .dropdown span[aria-current="page"]{display:block;color:var(--navy);font-weight:600;font-size:.93rem;padding:.6em 1.1em;border-radius:0;white-space:normal;background:var(--bg-soft)}
.main-nav .dropdown a:hover,.main-nav .dropdown a[aria-current="page"]{background:var(--bg-soft);color:var(--navy)}
.main-nav .has-dropdown.open > .dropdown{display:block}

/* Hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#0d4a5e 100%);color:#fff;padding:44px 0 36px}
.hero h1{color:#fff}
.hero .lead{font-size:1.12rem;color:#d6ecf0;max-width:820px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.hero-visual .img-slot{margin:0;background:rgba(255,255,255,.08);border:2px dashed rgba(127,227,236,.6);color:#fff}
.hero-visual .img-slot span{color:#cfe6ea}
.eyebrow{color:#7fe3ec;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin-bottom:.6em}

/* Buttons — white background, dark text; dark-navy background + white text on hover.
   Checked against both the dark hero and light page backgrounds. */
.btn{display:inline-block;background:#fff;color:var(--navy);text-decoration:none;font-weight:800;padding:.85em 1.5em;border-radius:999px;border:2px solid var(--aqua-dark);cursor:pointer;font-size:1rem;line-height:1.2}
.btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-outline{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.cta-band{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:32px 0;text-align:center}
.cta-band h2{margin-top:0}
.cta-band p:last-of-type{margin-bottom:0}
.cta-band.navy{background:var(--navy);border:1px solid var(--navy);color:#fff}
.cta-band.navy h2{color:#fff}
.cta-band.navy p{color:#d6ecf0}

/* Layout */
main{padding-bottom:20px}
.section-band{padding:54px 0}
.section-band.soft{background:var(--bg-soft)}
.section-band.pale{background:var(--bg-pale)}
.section-band.navy{background:var(--navy);color:#d6ecf0}
.section-band.navy h2,.section-band.navy h3{color:#fff}
.section-band.navy p{color:#d6ecf0}
.kicker{color:var(--aqua-dark);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin:0 0 .5em}
.section-lead{font-size:1.08rem;color:var(--muted);max-width:780px}
.section-intro{max-width:780px}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:18px 0}
.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.service-card h3{margin-top:0}
.service-card h3 a{color:var(--navy);text-decoration:none}
.service-card h3 a:hover{color:var(--aqua-dark);text-decoration:underline}
.service-card:hover{border-color:var(--aqua)}
.faq details{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff}
.faq summary{font-weight:700;color:var(--navy);cursor:pointer}
.faq details p{margin:.7em 0 0}
.note{font-size:.92rem;color:var(--muted)}
.callout{border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:var(--radius);padding:22px 24px;background:#fff;margin:26px 0}
.callout h3{margin-top:0}
.callout p{margin:0}

/* Numbered process steps */
.steps-list{list-style:none;margin:24px 0 0;padding:0;counter-reset:step}
.steps-list>li{position:relative;padding:0 0 30px 66px}
.steps-list>li:last-child{padding-bottom:0}
.steps-list>li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:var(--aqua);color:#04222b;font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.steps-list>li::after{content:"";position:absolute;left:22px;top:50px;bottom:2px;width:2px;background:#b9d9de}
.steps-list>li:last-child::after{display:none}
.steps-list h3{margin-top:8px}
.steps-list p{margin:0 0 .8em;max-width:780px}

/* Case studies + testimonials */
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:24px 0}
.case-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.case-head{background:var(--navy);color:#fff;padding:18px 20px}
.case-head h3{color:#fff;margin:0;font-size:1.12rem}
.case-body{padding:20px 22px}
.case-body p{font-size:.97rem}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:24px 0}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.testi-card::before{content:"\201C";display:block;font-size:3.2rem;line-height:.6;color:var(--aqua);font-weight:800;margin-bottom:10px}
.testi-quote{font-size:1.06rem;line-height:1.65;margin:0}
.testi-who{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.testi-who strong{color:var(--navy)}
.testi-job{font-size:.88rem;color:var(--aqua-dark);font-weight:700}

/* Image slots (placeholders until the image round) */
.img-slot{border:2px dashed #7fb8c4;background:var(--bg-soft);border-radius:var(--radius);color:var(--navy-2);text-align:center;padding:44px 18px;margin:22px 0}
.img-slot strong{display:block;font-size:1.05rem;margin-bottom:4px}
.img-slot span{font-size:.9rem;color:var(--muted)}

/* Footer */
.site-footer{background:var(--navy);color:#cfe6ea;margin-top:36px;padding:36px 0 0}
.site-footer a{color:#fff}
.site-footer h2,.site-footer h3{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:32px}
.footer-about p{font-size:.97rem;color:#cfe6ea}
.footer-legal,.footer-areas{list-style:none;padding:0;margin:0}
.footer-legal li,.footer-areas li{margin-bottom:.55em}
.footer-legal a,.footer-legal span,.footer-areas a,.footer-areas span{color:#cfe6ea;text-decoration:none}
.footer-legal a:hover,.footer-areas a:hover{color:#7fe3ec;text-decoration:underline}
.footer-disclosure{border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:14px 16px;font-size:.92rem;color:#eaf7f9;margin:24px 0 0}
.footer-bottom-bar{background:#071c31;color:#9fc3cb;font-size:.88rem}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.photo-credits{font-size:.78rem;color:#9fc3cb}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:24px}
  .section-band{padding:40px 0}
}
@media (max-width:760px){
  body{font-size:16px}
  .header-inner{flex-wrap:wrap}
  .header-contact{display:none}
  .main-nav{order:3;width:100%}
  .main-nav>ul{gap:2px}
  .main-nav a{font-size:.9rem;padding:.45em .55em}
  .main-nav .has-dropdown{width:100%}
  .main-nav .dropdown{position:static;min-width:0;background:transparent;border:0;box-shadow:none;margin:0;padding:0 0 0 12px}
  .main-nav .dropdown a,.main-nav .dropdown span[aria-current="page"]{color:#dbeef2}
  .main-nav .dropdown a:hover,.main-nav .dropdown a[aria-current="page"]{background:rgba(0,180,197,.22);color:#fff}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding:32px 0 28px}
  table{display:block;overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
