.interior-blueprint .portrait-figure{position:relative}.interior-blueprint .portrait-figure .stamp{top:22px;right:-14px;white-space:pre-line}.gallery-blueprint .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(34px,5vw,64px) clamp(18px,2.5vw,30px)}.gallery-blueprint .comparison-figure{margin:0}.gallery-blueprint .comparison{position:relative;overflow:hidden;aspect-ratio:13 / 7;border:1px solid var(--line-strong);background:var(--paper-2)}.gallery-blueprint .comparison .figure{position:absolute;inset:0;background-image:var(--after-img);background-position:center;background-size:cover}.gallery-blueprint .comparison .divisor{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden;background-image:var(--before-img);background-position:left center;background-size:auto 100%}.gallery-blueprint .comparison .divisor:after{position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--white);box-shadow:0 0 0 1px #062a4740;content:""}.gallery-blueprint .comparison .handle{position:absolute;top:50%;left:50%;z-index:2;width:38px;height:38px;transform:translate(-50%,-50%);border:1px solid var(--white);background:var(--overlay-navy-72);box-shadow:0 0 0 1px #062a4740}.gallery-blueprint .comparison .handle:before{display:grid;height:100%;place-items:center;color:var(--white);content:"↔";font-family:var(--mono);font-size:13px}.gallery-blueprint .comparison .hpslider{position:absolute;inset:0;z-index:3;width:100%;height:100%;opacity:0;cursor:ew-resize}.gallery-blueprint .gallery-cta{display:flex;justify-content:center;margin-top:clamp(48px,7vw,82px)}.contact-blueprint .contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(440px,1.15fr);align-items:stretch;gap:clamp(28px,5vw,70px)}.contact-blueprint .contact-card{padding:clamp(26px,4vw,48px);border:1px solid var(--line-strong);background:#ffffffbd}.contact-blueprint .contact-card>*+*{margin-top:22px}.contact-blueprint .contact-ledger{display:grid;margin-top:30px;border-top:1px solid var(--line-strong)}.contact-blueprint .contact-ledger>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-bottom:1px dotted var(--line-strong)}.contact-blueprint .contact-ledger dt{color:var(--blue);font-family:var(--mono);font-size:var(--text-utility);letter-spacing:.12em;text-transform:uppercase}.contact-blueprint .contact-ledger dd{color:var(--slate)}.contact-blueprint .contact-ledger a{color:var(--navy);font-weight:700;text-underline-offset:3px}.contact-blueprint .contact-map{min-height:560px;border:1px solid var(--line-strong);background:var(--paper-2)}.contact-blueprint .contact-map iframe{display:block;width:100%;height:100%;min-height:560px;border:0}.contact-blueprint .contact-form-slot{min-height:520px;padding:18px;border:1px dashed var(--line-strong);background:#fff9}.booking-blueprint .embed-panel{max-width:980px;padding:clamp(14px,2vw,24px);border:1px solid var(--line-strong);background:#ffffffc2}.booking-blueprint .ghl-embed{display:block;width:100%;border:0;overflow:auto}.booking-blueprint .ghl-calendar{min-height:700px}.booking-blueprint .ghl-survey{min-height:600px}.booking-blueprint .embed-fallback{padding:18px 8px 4px;color:var(--slate);text-align:center}.booking-blueprint .embed-fallback a,.booking-blueprint .bp-panel a:not(.btn){color:var(--blue-deep);font-weight:700;text-underline-offset:3px}.booking-blueprint .bp-panel .btn{margin-top:24px}.booking-blueprint .booking-services .bp-panel{list-style:none}.utility-hero{display:grid;position:relative;min-height:600px;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 68%,#0a4268 100%);color:var(--white)}.utility-hero-content{position:relative;z-index:1;width:min(100%,1280px);margin:auto;padding:150px var(--pad) 100px}.utility-hero-title{max-width:15ch;margin-top:26px;color:var(--white);font-family:var(--hero-serif);font-weight:300;line-height:.94}.utility-hero-title em{color:var(--blue-soft);font-style:italic}.utility-hero-lede{max-width:58ch;margin-top:24px;color:var(--mist);font-size:clamp(1.0625rem,1.02rem + .2vw,1.1875rem);line-height:1.65}.utility-blueprint .bp-document{max-width:980px;margin-left:clamp(0px,9vw,120px);border-top:1px solid var(--line-strong)}.utility-blueprint .bp-document-section{display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(20px,4vw,52px);padding:clamp(34px,5vw,58px) 0;border-bottom:1px solid var(--line-strong)}.utility-blueprint .bp-document-index{padding-top:8px;color:var(--blue);font-family:var(--mono);font-size:11px;letter-spacing:.16em}.utility-blueprint .bp-document-copy h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}.utility-blueprint .bp-document-copy>*+*{margin-top:18px}.utility-blueprint .bp-document-copy p,.utility-blueprint .bp-document-copy li{color:var(--slate)}.utility-blueprint .bp-document-copy a{color:var(--blue-deep);text-underline-offset:3px}.utility-blueprint .bp-document-copy h3{margin-top:28px;font-size:1.45rem}.utility-blueprint .bp-legal-list{display:grid;gap:12px;padding-left:22px}.utility-blueprint .bp-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,30px)}.utility-blueprint .bp-link-group{padding:clamp(22px,3vw,34px);border:1px solid var(--line-strong);background:#ffffffb8}.utility-blueprint .bp-link-group h2{font-size:clamp(1.6rem,3vw,2.2rem)}.utility-blueprint .bp-link-group ul{display:grid;gap:9px;margin-top:18px;list-style:none}.utility-blueprint .bp-link-group li{padding-bottom:9px;border-bottom:1px dotted var(--line)}.utility-blueprint .bp-link-group a{color:var(--blue-deep);text-underline-offset:3px}@media (max-width: 1024px){.gallery-blueprint .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-blueprint .contact-grid{grid-template-columns:1fr}.contact-blueprint .contact-map,.contact-blueprint .contact-map iframe{min-height:420px}}@media (max-width: 640px){.gallery-blueprint .gallery-grid{grid-template-columns:1fr}.contact-blueprint .contact-ledger>div{grid-template-columns:1fr;gap:6px}.utility-blueprint .bp-document{margin-left:0}.utility-blueprint .bp-document-section{grid-template-columns:1fr;gap:10px}.utility-blueprint .bp-link-grid{grid-template-columns:1fr}}
