:root{--ink:#102c37;--navy:#092b3f;--deep:#061f2d;--blue:#0d6e91;--aqua:#17a2a4;--sand:#eef1ed;--cream:#fbfaf7;--line:#d7e0e1;--white:#fff;--muted:#5e7179;--gold:#e5bd78;--radius:18px;--shadow:0 18px 50px rgba(6,31,45,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;background:var(--cream)}a{color:inherit}img{max-width:100%;display:block}.wrap,.container,.article-wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--deep);color:#d9e8eb;font-size:.86rem;padding:8px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}.site-header{position:sticky;top:0;z-index:30;background:rgba(251,250,247,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,44,55,.1)}.nav{height:78px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:Georgia,serif;font-weight:700;font-size:1.18rem;line-height:1.05;margin-right:auto;color:var(--navy)}.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--aqua);display:grid;place-items:center;color:#fff;font:800 1.1rem/1 Inter,sans-serif;box-shadow:inset 0 0 0 5px rgba(255,255,255,.2)}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{text-decoration:none;font-weight:700;font-size:.9rem}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--blue)}.nav-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}.nav-phone{font-weight:850;color:var(--navy);text-decoration:none;white-space:nowrap}.btn,.button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 20px;background:var(--aqua);color:#fff;text-decoration:none;font-weight:850;cursor:pointer;box-shadow:0 8px 22px rgba(23,162,164,.22)}.btn:hover,.button:hover,button[type=submit]:hover{filter:brightness(.94)}.btn-outline,.btn.secondary,.button.secondary{background:transparent;border:1px solid rgba(255,255,255,.6);box-shadow:none;color:#fff}.button.dark-blue{background:var(--navy);color:#fff;box-shadow:0 8px 22px rgba(9,43,63,.24)}.menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy)}
.hero{min-height:660px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(6,31,45,.94) 0%,rgba(6,31,45,.8) 43%,rgba(6,31,45,.18) 75%),url('hero-jupiter-lighthouse.webp') center/cover;color:#fff;padding:82px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,650px) minmax(280px,1fr);gap:56px;align-items:center}.hero h1,.page-hero h1,.article-hero h1,.resource-hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,6vw,5.25rem);line-height:.98;margin:15px 0 22px;letter-spacing:-.04em;color:#fff}.hero p{font-size:1.12rem;color:#e0ebee;max-width:620px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:900;color:var(--gold)}.actions,.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-card{background:rgba(6,31,45,.82);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.hero-card h2{color:#fff;font:700 1.7rem Georgia,serif}.hero-card p{font-size:1rem}.checklist{list-style:none;padding:0;margin:24px 0}.checklist li{margin:12px 0;padding-left:28px;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.trust{background:var(--navy);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:22px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;color:#fff}.trust-item span{color:#b9ced5;font-size:.88rem}
section,.section{padding:86px 0}.jupiter-section,.local-buildout,.problem-section,.process-section,.process{background:var(--sand)}main>section:nth-of-type(even):not(.hero):not(.page-hero):not(.article-hero):not(.resource-hero):not(.cta){background:var(--sand)}.section-intro{max-width:780px;margin-bottom:36px}.section h2,.section-intro h2,section h2{font:700 clamp(2rem,4vw,3.35rem)/1.05 Georgia,serif;letter-spacing:-.03em;margin:10px 0 18px;color:var(--navy)}.section-intro p,.lede{color:var(--muted);max-width:780px;font-size:1.06rem}.services,.cards,.problem-grid,.problem-grid-home,.repair-grid-home,.permit-grid-home,.resource-grid-home,.steps,.materials,.comparison,.related-resources-grid{display:grid;gap:22px}.services,.cards,.problem-grid-home,.permit-grid-home,.resource-grid-home,.materials,.problem-grid,.related-resources-grid{grid-template-columns:repeat(3,1fr)}.repair-grid-home{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(4,1fr)}.service,.card,.problem-card,.problem-card-home,.repair-step-home,.permit-card-home,.resource-card-home,.resource-card,.step,.material-card,.comparison-card,.related-resource{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px rgba(16,44,55,.05)}.service h3,.card h3,.problem-card h3,.problem-card-home h3,.repair-step-home h3,.permit-card-home h3,.resource-card-home h3,.step h3,.material-card h3,.comparison-card h3{font:700 1.35rem/1.2 Georgia,serif;margin:16px 0 10px;color:var(--navy)}.service p,.card p,.problem-card p,.problem-card-home p,.repair-step-home p,.permit-card-home p,.resource-card-home p,.step p,.material-card p,.comparison-card p{color:var(--muted)}.service a,.card a,.resource-card-home a,.resource-card a{font-weight:850;color:var(--blue);text-decoration:none}.service-icon,.number,.step-number{width:42px;height:42px;border-radius:50%;background:#e1f1f0;display:grid;place-items:center;font-weight:900;color:var(--blue)}.split,.two-column{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}.panel,.jupiter-box,.water-box{background:var(--deep);color:#fff;border-radius:24px;padding:38px;box-shadow:var(--shadow)}.panel h2,.panel h3,.jupiter-box h2,.jupiter-box h3,.water-box h2{color:#fff}.panel p,.jupiter-box p,.water-box p{color:#d1e0e4}.waterways{display:flex;flex-wrap:wrap;gap:9px}.waterway{padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px}.home-callout,.resource-featured-home,.note,.article-callout,.related-guide{background:#e8f3f2;border:1px solid #c9e1df;border-radius:18px;padding:28px;margin:28px 0}
.page-hero,.article-hero,.resource-hero{padding:85px 0 70px;background:var(--deep);color:#fff}.page-hero h1,.article-hero h1,.resource-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);max-width:900px}.page-hero p,.article-hero p,.resource-hero p{max-width:800px;color:#d7e4e8;font-size:1.08rem}.breadcrumb,.crumbs,.article-meta{font-size:.82rem;color:#b9d0d7}.content,.article-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px}.prose h2,.content h2,.article-body h2{font:700 2.2rem/1.1 Georgia,serif;margin:48px 0 14px;color:var(--navy)}.prose h2:first-child,.content h2:first-child,.article-body h2:first-child{margin-top:0}.prose h3,.content h3,.article-body h3{font:700 1.35rem/1.2 Georgia,serif;margin:28px 0 8px;color:var(--navy)}.prose p,.prose li,.content p,.content li,.article-body p,.article-body li{color:#455b64}.prose a,.content a,.article-body a{color:var(--blue);font-weight:750}.sidebox,.article-service-links,.article-cta{position:sticky;top:110px;background:var(--sand);padding:27px;border-radius:18px}.sidebox h2,.article-service-links h2,.article-cta h2{font:700 1.5rem Georgia,serif;margin-top:0}.sidebox a,.article-service-links a,.article-cta a{display:block;padding:9px 0;color:var(--navy);font-weight:750}.faq details,details{border-top:1px solid var(--line);padding:20px 0}.faq summary,summary{font-weight:850;cursor:pointer;color:var(--navy)}.faq h3{margin:0 0 8px}.faq p,details p{color:var(--muted)}
.cta{background:var(--navy);color:#fff}.cta h2,.cta h3,.cta p,.cta label{color:#fff}.cta-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:center}.form,.quote{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:.84rem;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea,.form input,.form select,.form textarea{width:100%;margin-top:6px;padding:13px;border-radius:10px;border:1px solid #a9bbc1;background:#fff;font:inherit;color:var(--ink)}.form-grid .full{grid-column:1/-1}.form-grid textarea,.form textarea{min-height:110px}.form .btn,.form button{margin-top:14px}.form-note{font-size:.78rem;color:#cddce0;margin:10px 0 0}.cta-band{background:var(--aqua);color:#fff;padding:48px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font:700 2rem Georgia,serif;margin:0;color:#fff}.footer{background:#051a25;color:#cedce0;padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px}.footer h3{color:#fff;font:700 1.12rem Georgia,serif}.footer a{display:block;color:#cedce0;text-decoration:none;margin:8px 0}.footer small{display:block;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;color:#8fa8b1}.mobile-call{display:none}
@media(max-width:920px){.nav-links,.nav-phone,.nav>.btn{display:none}.menu-btn{display:block}.nav-links.open{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:1fr}.hero-card{max-width:720px}.services,.cards,.problem-grid-home,.permit-grid-home,.resource-grid-home,.materials,.problem-grid,.related-resources-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.split,.two-column,.cta-grid,.content,.article-body{grid-template-columns:1fr}.sidebox,.article-service-links,.article-cta{position:static}.mobile-call{display:block;position:fixed;z-index:50;left:18px;right:18px;bottom:16px;text-align:center}.footer{padding-bottom:90px}}
@media(max-width:620px){.wrap,.container,.article-wrap{width:min(100% - 28px,1160px)}.topbar .wrap span:last-child{display:none}.hero{min-height:620px;background:linear-gradient(90deg,rgba(6,31,45,.94),rgba(6,31,45,.62)),url('hero-jupiter-lighthouse.webp') 68% center/cover}.hero h1{font-size:2.75rem}.section,section{padding:64px 0}.services,.cards,.problem-grid-home,.repair-grid-home,.permit-grid-home,.resource-grid-home,.steps,.materials,.problem-grid,.comparison,.related-resources-grid,.form-grid,.footer-grid,.trust-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form,.quote,.panel,.jupiter-box,.hero-card{padding:28px}.cta-band .wrap{align-items:flex-start;flex-direction:column}.brand{font-size:1rem}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.service-copy{display:block;color:#455b64}.service-copy h2{font:700 2.2rem/1.1 Georgia,serif;margin:48px 0 14px;color:var(--navy)}.service-copy h2:first-child{margin-top:0}.service-copy h3{font:700 1.35rem/1.2 Georgia,serif;margin:28px 0 8px;color:var(--navy)}.service-copy p,.service-copy li{color:#455b64}.service-copy a{color:var(--blue);font-weight:750}
#jupiter-waterfront{padding:72px 0}#jupiter-waterfront .section-intro{margin-bottom:28px}#jupiter-waterfront .waterfront-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}#jupiter-waterfront .waterfront-condition{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px rgba(16,44,55,.05)}#jupiter-waterfront .waterfront-condition h3{font:700 1.35rem/1.2 Georgia,serif;margin:0 0 10px;color:var(--navy)}#jupiter-waterfront .waterfront-condition p{margin:0;color:var(--muted)}#jupiter-waterfront .home-callout{margin-bottom:0}.related-services-stack{grid-template-columns:1fr}@media(max-width:700px){#jupiter-waterfront .waterfront-columns{grid-template-columns:1fr}#jupiter-waterfront{padding:60px 0}}
