:root{--navy:#0c2744;--navy-deep:#081a2e;--blue:#1a5fad;--blue-bright:#2a78d4;--sky:#eaf2fb;--mist:#f5f8fc;--gold:#b8954a;--ink:#14202e;--muted:#5a6a7a;--line:#d7e1ec;--white:#fff;--shadow:0 18px 50px #0c27441a;--radius:18px;--max:1120px;--header:5.25rem;--font:"Outfit", system-ui, sans-serif;--serif:"Fraunces", Georgia, serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:1.05rem;line-height:1.65}img{max-width:100%;display:block}a{color:var(--blue);text-decoration:none}a:hover{color:var(--navy)}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.02em;color:var(--navy);margin:0 0 .7rem;font-weight:560;line-height:1.15}p{margin:0 0 1rem}.skip{background:var(--navy);color:var(--white);z-index:100;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:.75rem;left:.75rem}.wrap{width:min(var(--max), calc(100% - 2.5rem));margin-inline:auto}.site-chrome{z-index:40;position:sticky;top:0}.topbar{color:#b7c9dc;background:#061422;border-bottom:1px solid #ffffff0f;font-size:.8rem}.topbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1.25rem;padding:.4rem 0;display:flex}.topbar-left,.topbar-right{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.topbar-link{color:inherit;align-items:center;gap:.4rem;display:inline-flex}.topbar-link svg{opacity:.85;width:.95rem;height:.95rem}.topbar-link:hover{color:var(--white)}.topbar-loc{letter-spacing:.02em}.site-header{background:var(--navy-deep);border-bottom:1px solid #b8954a59;position:relative;box-shadow:0 10px 30px #040e1a47}.header-row{min-height:var(--header);align-items:center;gap:1.25rem;display:flex}.brand{color:var(--white);align-items:center;gap:.8rem;margin-right:auto;display:flex}.brand:hover{color:#e7eef7}.brand img{object-fit:contain;flex-shrink:0;width:64px;height:64px}.brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-text strong{font-family:var(--serif);font-size:clamp(1rem,1.5vw,1.18rem);font-weight:600}.brand-text span{color:#a8bdd4;letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem;font-size:.72rem}.nav{align-items:center;gap:.15rem;display:flex}.nav a{color:#d3e2f2;border-bottom:2px solid #0000;border-radius:0;padding:.7rem .85rem;font-size:.95rem;font-weight:500}.nav a:hover{color:var(--white)}.nav a[aria-current=page]{color:var(--white);border-bottom-color:var(--gold)}.nav-connect-mobile{display:none}.header-actions{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.header-call{color:#d7e6f6;flex-direction:column;align-items:flex-end;padding:.25rem .4rem;line-height:1.15;display:none}.header-call-label{letter-spacing:.08em;text-transform:uppercase;color:#a8bdd4;font-size:.68rem}.header-call-num{color:var(--white);font-size:.95rem;font-weight:600}.header-call:hover{color:var(--white)}.header-call:hover .header-call-num{color:#efd9a4}.btn-header{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);min-height:42px;padding:.55rem 1.15rem;font-size:.92rem}.btn-header:hover{color:var(--navy-deep);background:#c9a65a;border-color:#c9a65a}.nav-toggle{cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;width:44px;height:44px;display:none}.nav-toggle span{background:var(--white);width:18px;height:2px;margin:4px auto;display:block}.hero{min-height:min(82vh,720px);color:var(--white);text-align:center;place-items:center;display:grid;position:relative;overflow:hidden}.hero img.hero-photo{object-fit:cover;object-position:center center;opacity:0;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.hero img.hero-photo.is-active{opacity:1}.hero:after{content:"";background:#08101c8c;position:absolute;inset:0}.hero-copy{z-index:1;max-width:44rem;margin-inline:auto;padding:5rem 0 4.5rem;position:relative}.hero h1{color:var(--white);margin-bottom:1rem;font-size:clamp(2.6rem,6vw,4.6rem)}.hero p{color:#e6eef7;max-width:38rem;margin-inline:auto;font-size:1.12rem}.hero .actions{justify-content:center}.page-hero{color:var(--white);background:linear-gradient(135deg,#0c2744e0,#1a5fadc7),url(/images/building.jpg) 50%/cover;padding:5.5rem 0 4rem}.page-hero h1,.page-hero p{color:var(--white)}.page-hero h1{font-size:clamp(2.2rem,4vw,3.4rem)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.65rem;font-size:.78rem;font-weight:600;display:inline-block}.hero .eyebrow{color:#efd9a4}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:48px;padding:.7rem 1.35rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover{background:var(--navy);color:var(--white)}.btn-ghost{color:var(--white);background:0 0;border-color:#ffffff73}.btn-ghost:hover{background:var(--white);color:var(--navy)}.btn-outline{border-color:var(--line);color:var(--navy);background:var(--white)}.btn-outline:hover{border-color:var(--blue);color:var(--blue)}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}section{padding:5rem 0}.section-head{max-width:40rem;margin-bottom:2.4rem}.section-head p{color:var(--muted)}.grid-3,.grid-2,.symptom-grid,.service-grid{gap:1.25rem;display:grid}.grid-3,.symptom-grid{grid-template-columns:repeat(3,1fr)}.grid-2,.service-grid{grid-template-columns:repeat(2,1fr)}.card,.feature,.symptom,.service-item,.office-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:0 8px 24px #0c27440a}.feature h3,.symptom h3,.service-item h3{font-size:1.25rem}.muted{color:var(--muted)}.band{background:var(--mist)}.band-navy{background:var(--navy);color:#d7e4f3}.band-navy h2,.band-navy h3{color:var(--white)}.split{grid-template-columns:.9fr 1.1fr;align-items:center;gap:3rem;display:grid}.portrait{position:relative}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center 18%;width:100%;box-shadow:var(--shadow);border-radius:28px}.portrait:after{content:"";border:2px solid var(--gold);z-index:-1;border-radius:28px;position:absolute;inset:1.2rem -1.1rem -1.1rem 1.4rem}.roles{gap:.85rem;margin:1.4rem 0 1.6rem;display:grid}.roles div{border-left:3px solid var(--gold);padding-left:.9rem}.roles strong{color:var(--blue);display:block}.cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.gallery-section{padding:0}.gallery-frame{position:relative}.gallery-scroller{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(33.3333% - 5.33333px);grid-auto-flow:column;gap:8px;display:grid;overflow-x:auto}.gallery-scroller::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:start;cursor:zoom-in;background:#d7e1ec;border:0;border-radius:0;padding:0;overflow:hidden}.gallery-slide img{object-fit:cover;width:100%;height:clamp(240px,34vw,420px)}.gallery-dots{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:14px;left:0;right:0}.gallery-dots button{cursor:pointer;background:#ffffff8c;border:0;border-radius:50%;width:9px;height:9px;padding:0;box-shadow:0 0 0 1px #0c274426}.gallery-dots button[aria-current=true]{background:#fff}.gallery-nav,.lightbox-nav,.lightbox-close{color:var(--white);cursor:pointer;background:#081a2eb8;border:0}.gallery-nav{border-radius:999px;width:42px;height:42px;font-size:1.6rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav.prev{left:.6rem}.gallery-nav.next{right:.6rem}.lightbox{background:0 0;border:0;width:min(960px,100% - 2rem);max-height:calc(100% - 2rem);padding:0}.lightbox::backdrop{background:#081a2ed1}.lightbox img{object-fit:contain;background:var(--navy-deep);border-radius:12px;width:100%;max-height:80vh}.lightbox-close,.lightbox-nav{border-radius:999px;width:42px;height:42px;font-size:1.5rem;position:absolute}.lightbox-close{top:.4rem;right:.4rem}.lightbox-nav.prev{top:50%;left:.4rem;transform:translateY(-50%)}.lightbox-nav.next{top:50%;right:.4rem;transform:translateY(-50%)}.home-map{padding:0}.home-map iframe{border:0;width:100%;height:460px;display:block}.map-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.map-card{margin:0}.map-card figcaption{color:var(--navy);margin-bottom:.5rem;font-weight:600}.map-card iframe,.location-map{border:0;border-radius:16px;width:100%;height:300px}.service-card{flex-direction:column;min-height:100%;padding:0;display:flex;overflow:hidden}.service-card .body{flex-direction:column;flex:1;padding:1.5rem 1.5rem 1.7rem;display:flex}.service-card .icon{background:var(--sky);width:52px;height:52px;color:var(--blue);border-radius:14px;place-items:center;margin-bottom:1rem;display:grid}.service-card a.more{margin-top:auto;font-weight:600}.post-slider{max-width:760px;margin-inline:auto;position:relative}.post-frame{position:relative}.post-scroller{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);overflow:hidden}.post-slide{display:none}.post-slide.is-active{display:block}.post-photos{background:#1d6fe0;display:grid}.post-photos.pair{grid-template-columns:1fr 1fr}.post-photos img{background:#1d6fe0;width:100%;height:auto;display:block}.post-body{padding:1.2rem 3.2rem 1.4rem}.post-when{color:var(--muted);margin-bottom:.55rem;font-size:.86rem}.post-text{white-space:pre-line;margin-bottom:.8rem}.post-nav{width:42px;height:42px;color:var(--white);cursor:pointer;background:#081a2eb8;border:0;border-radius:999px;font-size:1.6rem;line-height:1;position:absolute;top:38%;transform:translateY(-50%)}.post-nav.prev{left:.6rem}.post-nav.next{right:.6rem}.post-dots{justify-content:center;gap:8px;margin-top:.9rem;display:flex}.post-dots button{cursor:pointer;background:#c5d4e4;border:0;border-radius:50%;width:9px;height:9px;padding:0}.post-dots button[aria-current=true]{background:var(--blue)}.form{gap:.9rem;display:grid}.form label{color:var(--navy);gap:.35rem;font-size:.92rem;font-weight:600;display:grid}.form input,.form textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--mist);border-radius:12px;padding:.8rem .95rem}.form input:focus,.form textarea:focus{border-color:var(--blue);background:var(--white);outline:2px solid #1a5fad40}.form textarea{resize:vertical;min-height:140px}.honeypot{display:none}.form-status{min-height:1.4rem;font-weight:600}.form-status.ok{color:#1a7a46}.form-status.err{color:#b42318}.office-card .map-photo{object-fit:cover;border-radius:12px;width:100%;height:220px;margin:1rem 0 .85rem}.office-card iframe{border:0;border-radius:12px;width:100%;height:220px;margin-top:1rem}.site-footer{background:var(--navy-deep);color:#c5d4e4;padding:3.5rem 0 1.6rem}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:2rem;margin-bottom:2.4rem;display:grid}.site-footer h2,.site-footer h3{color:var(--white)}.site-footer a{color:#d7e6f6}.site-footer a:hover{color:var(--white)}.footer-brand{align-items:flex-start;gap:.9rem;display:flex}.footer-brand img{object-fit:contain;width:58px;height:58px}.legal{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.1rem;font-size:.88rem;display:flex}@media (width<=900px){.grid-3,.split,.footer-grid,.grid-2,.map-grid,.symptom-grid,.service-grid{grid-template-columns:1fr}.header-call{display:none}.btn-header{min-height:40px;padding:.5rem 1rem;font-size:.88rem;display:inline-flex}.nav-toggle{display:block}.nav{background:#061422;border-bottom:1px solid #ffffff14;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:0;border-left:3px solid #0000;padding:.9rem 1.35rem}.nav a[aria-current=page]{border-left-color:var(--gold);background:#ffffff0a}.nav-connect-mobile{text-align:center;background:var(--gold);border-radius:999px;margin:.5rem 1.35rem 0;font-weight:600;display:block;color:var(--navy-deep)!important;border-left:0!important}.portrait:after{display:none}.gallery-scroller{grid-auto-columns:calc(50% - 4px)}.home-map iframe{height:360px}}@media (width>=901px){.header-call{display:flex}}@media (width<=640px){.brand-text{display:none}.topbar-row{text-align:center;justify-content:center}.gallery-scroller{grid-auto-columns:100%}.gallery-slide img{height:240px}.post-body{padding:1rem 2.6rem 1.2rem}.topbar-right{display:none}.header-actions{gap:.5rem}.btn-header{min-height:40px;padding:.45rem .95rem}}
