
:root{--ink:#102d38;--navy:#072b3b;--blue:#087aca;--blue2:#0a96e3;--cream:#f6f9fa;--line:#dce8ec;--muted:#49636d;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit}a:hover{color:var(--blue)}.skip{position:absolute;left:-1000px;top:0;background:#fff;padding:12px;z-index:100}.skip:focus{left:10px}.container{width:min(1120px,calc(100% - 40px));margin:auto}.topline{background:var(--navy);color:#dceff6;font-size:.83rem;padding:7px 0}.topline .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:20;box-shadow:0 5px 22px #0a314111}.headrow{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:175px;height:auto;max-height:66px;object-fit:contain;object-position:left}.brandname{max-width:245px;font-size:.8rem;font-weight:700;line-height:1.25;color:#214956}.nav{display:flex;gap:20px;align-items:center}.nav a{font-size:.91rem;text-decoration:none;font-weight:700}.nav .btn{font-size:.88rem}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:8px;background:var(--blue);color:#fff!important;padding:13px 22px;font-weight:800;text-decoration:none;line-height:1.35;cursor:pointer;box-shadow:0 8px 18px #0275bb25}.btn:hover{background:#0064a9;text-decoration:none}.btn.light{background:#fff;color:var(--navy)!important}.btn.outline{background:transparent;border:1.5px solid #a9c8da;color:var(--ink)!important;box-shadow:none}.eyebrow{color:#3bafef;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.78rem}.hero{background:linear-gradient(128deg,#052634 0%,#0c3d53 57%,#0e648b 100%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:50px;align-items:center;min-height:585px;padding-block:60px}.hero h1{font-size:clamp(2.45rem,5vw,4.25rem);line-height:1.08;letter-spacing:-.045em;margin:14px 0 22px}.hero p{max-width:650px;color:#dbedf5;font-size:1.12rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:29px 0}.hero .note{font-size:.87rem;color:#b6d9e9}.hero-art{min-height:388px;position:relative;border:1px solid #b9e2f144;border-radius:26px;background:radial-gradient(circle at 60% 25%,#44b7e788,transparent 35%),linear-gradient(135deg,#06506e,#032535);box-shadow:0 28px 65px #00192490;display:grid;place-items:center;overflow:hidden}.hero-art:before,.hero-art:after{content:'';position:absolute;border:2px solid #75caeb36;border-radius:50%;width:390px;height:390px;transform:rotate(-20deg)}.hero-art:after{width:245px;height:245px}.hero-art img{position:relative;z-index:1;width:195px;height:195px;object-fit:contain;background:#fff;border-radius:25px;padding:18px;box-shadow:0 15px 50px #031d2f70}.hero-art .art-caption{position:absolute;bottom:24px;color:#d7ecf4;font-size:.8rem;z-index:2}.strip{background:#eaf6fb;border-bottom:1px solid #d2e8f1}.strip .container{display:flex;justify-content:space-around;flex-wrap:wrap;gap:12px;padding:17px 0;font-size:.88rem;font-weight:750}.strip span:before{content:'✓ ';color:#0285c5}.section{padding:84px 0}.section.alt{background:var(--cream)}.section h2,.subhero h1{font-size:clamp(2rem,3.2vw,2.75rem);letter-spacing:-.035em;line-height:1.16;margin:10px 0 18px}.lead{color:var(--muted);font-size:1.08rem;max-width:760px}.section-intro{max-width:790px;margin-bottom:34px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff;box-shadow:0 8px 28px #0b334009}.card h3{font-size:1.25rem;margin:12px 0 8px;line-height:1.2}.card p{margin:0 0 20px;color:var(--muted)}.card a.textlink{font-weight:800;color:#0674b9}.glyph{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#e7f4fb;color:#087bb9;font-size:1.55rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;margin:0 0 24px;position:relative;padding-left:56px}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:37px;height:37px;border-radius:50%;background:#dff1fc;color:#006ca9;display:grid;place-items:center;font-weight:900}.steps strong{display:block}.picture-placeholder{border:1px dashed #86bacf;border-radius:18px;background:linear-gradient(135deg,#eaf7fc,#cceafa);min-height:325px;padding:35px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#285569}.picture-placeholder b{font-size:2rem;margin-bottom:12px}.picture-placeholder small{max-width:300px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{background:#eaf6fb;border:1px solid #c6e2ee;color:#12475e;text-decoration:none;border-radius:100px;padding:7px 14px;font-weight:750;font-size:.88rem}.band{background:#07394c;color:#fff;padding:54px 0}.band-grid{display:flex;justify-content:space-between;align-items:center;gap:24px}.band h2{margin:0;font-size:2rem}.band p{color:#cee8f1;margin:5px 0}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted);margin:10px 0 0}.subhero{background:#edf7fb;padding:70px 0 66px}.subhero p{max-width:730px;color:var(--muted);font-size:1.07rem}.prose{max-width:780px}.prose h2{margin-top:37px}.formwrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;padding:16px;box-shadow:0 12px 35px #123a4b12}.formwrap iframe{display:block;width:100%;height:1380px;border:none;border-radius:4px}.footer{background:#092c3a;color:#d3e9f1;padding:57px 0 27px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a{color:#d3e9f1}.footer a:hover{color:#fff}.footer small{color:#a3c7d6}.footer h3{margin-top:0;color:#fff}.footlinks{list-style:none;margin:0;padding:0}.footlinks li{margin:8px 0}.footbottom{border-top:1px solid #ffffff28;margin-top:34px;padding-top:20px;font-size:.8rem}.notice{background:#f1f7fa;border-left:4px solid #2198c9;padding:16px;border-radius:5px;color:#2b505e}.floating-phone{display:none} @media(max-width:900px){.nav{gap:12px}.brandname{display:none}.cards{grid-template-columns:repeat(2,1fr)}.hero-grid{gap:24px}.footer-grid{grid-template-columns:1.7fr 1fr}}@media(max-width:700px){.container{width:min(100% - 32px,1120px)}.topline{font-size:.73rem}.headrow{min-height:73px}.brand img{width:150px;max-height:57px}.menu-toggle{display:block;background:#e9f5fa;border:0;padding:9px 12px;border-radius:8px;font-weight:750;color:#134659}.nav{display:none;position:absolute;left:0;right:0;top:73px;background:#fff;padding:16px;border-top:1px solid var(--line);box-shadow:0 14px 18px #082f3f15;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:8px}.hero-grid{grid-template-columns:1fr;padding-block:52px 28px;min-height:auto}.hero-art{min-height:220px}.hero-art img{width:130px;height:130px}.hero-art .art-caption{bottom:10px}.hero h1{font-size:2.65rem}.hero p{font-size:1rem}.section{padding:56px 0}.cards{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:26px}.band-grid{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:18px}.floating-phone{display:block;position:fixed;bottom:15px;left:16px;right:16px;z-index:19}.floating-phone a{width:100%;padding:15px}.footer{padding-bottom:95px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Round 2 enhancements */
.cards-featured{grid-template-columns:repeat(6,minmax(0,1fr))}.cards-featured .card{grid-column:span 2}.cards-featured .card:nth-of-type(4){grid-column:2/span 2}.cards-featured .card:nth-of-type(5){grid-column:4/span 2}.all-services-link{grid-column:1/-1;text-align:center;font-weight:800;color:var(--blue);padding:10px}
.nav-group{position:relative}.nav-parent{display:block}.nav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 32px #052a3930;padding:10px;z-index:30}.nav-dropdown a{display:block;padding:10px 12px;border-radius:6px}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:#eaf6fb}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:block}.nav-group>a{padding-block:12px}
.cards-hub .card h2{font-size:1.35rem;margin-top:0}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.area-item{border:1px solid var(--line);border-radius:11px;padding:17px 20px;background:#fff;display:flex;align-items:center;gap:10px}.area-dot{color:var(--blue);font-size:.8rem}.area-footnote{margin-top:24px;color:var(--muted)}.footbottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.legal{display:flex;gap:22px}
@media(max-width:900px){.cards-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-featured .card,.cards-featured .card:nth-of-type(4),.cards-featured .card:nth-of-type(5){grid-column:auto}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cards-featured,.area-grid{grid-template-columns:1fr}.nav-group{width:100%}.nav-group>a{padding:8px}.nav-dropdown{display:block;position:static;box-shadow:none;border:0;padding:0 0 5px 15px;min-width:0;background:transparent}.nav-dropdown a{font-size:.85rem;color:var(--muted);padding:6px 10px}.footbottom{flex-direction:column}}

/* Round 3: service-area pages, photo assignments, menu cleanup */
.nav-dropdown{max-height:min(70vh,520px);overflow-y:auto}.area-grid .area-item{text-decoration:none;color:var(--ink)}.area-grid .area-item:hover{border-color:var(--blue);box-shadow:0 5px 18px rgba(3,44,63,.10)}
.city-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:48px}.city-layout h2{margin-top:1.8rem}.city-layout h3{margin-top:1rem}.city-services{padding-left:22px;line-height:1.9}.city-services a{color:var(--blue)}.city-aside{align-self:start;background:#e9f5f8;border-radius:14px;padding:20px}.image-slot{display:flex;align-items:center;justify-content:center;min-height:170px;border:2px dashed #aac9d6;background:#dbeaf0;border-radius:10px;text-align:center;color:#36576a;padding:12px;font-weight:700;font-size:.85rem}
@media(max-width:820px){.city-layout{grid-template-columns:1fr}.nav-dropdown{max-height:none}}

/* Round 4: editorial photography */
figure.editorial-photo,figure.hero-image,figure.city-photo,figure.service-lead-photo{margin:0;overflow:hidden;border-radius:18px;background:#e8f2f7}figure img{display:block;width:100%;height:100%;object-fit:cover}figure figcaption{padding:7px 12px;color:#456371;font-size:.72rem;background:#eff7fa}.hero-art-photo{background:none;border:none}.hero-art-photo:before,.hero-art-photo:after{display:none}.hero-art-photo figure{width:100%;height:100%;min-height:390px}.hero-art-photo figure img{width:100%;height:100%;min-height:390px;object-fit:cover;padding:0;border-radius:0;box-shadow:none}.hero-art-photo figure figcaption{position:absolute;bottom:0;left:0;right:0;background:#08354bd9;color:#fff}.service-card-photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px;display:block}.card{overflow:hidden}.editorial-photo{max-width:100%}.editorial-photo img{aspect-ratio:16/10}.city-photo{margin-top:24px;max-width:660px}.city-photo img{aspect-ratio:16/9}.service-lead-photo{margin-top:28px;max-width:720px}.service-lead-photo img{aspect-ratio:16/8}.prose p{line-height:1.75}@media(max-width:700px){.hero-art-photo figure,.hero-art-photo figure img{min-height:245px}.section{padding:55px 0}}

/* GHL form fallback */
.form-backup{margin:12px 0 0;font-size:.95rem;color:#344b58}.form-backup a{text-decoration:underline;text-underline-offset:2px}
