@font-face{font-family:'Mona Sans';src:url('/fonts/MonaSans%5Bwdth,wght%5D.ttf') format('truetype');font-weight:200 900;font-stretch:75% 125%;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;font:400 18px/1.6 var(--font-sans);color:var(--ink);background:var(--surface)}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}
a:hover{text-decoration:underline;text-underline-offset:6px}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}
img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}
.wrap{width:100%;max-width:1680px;margin-inline:auto;padding-inline:clamp(24px,4vw,80px)}
.navy{background:var(--navy-surface);color:var(--brand-white);--surface:var(--navy-surface);--surface-raised:#164879;--hairline:#5D7DA3;--ink:var(--brand-white);--ink-muted:var(--on-navy-muted);--silver-text:var(--on-navy-muted);--accent:#8FB3E0;--focus-ring:#8FB3E0}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:20px}
h1{font-size:clamp(44px,6.7vw,108px);line-height:1.02;letter-spacing:-.055em;font-weight:750;font-stretch:105%}
h2{font-size:clamp(36px,4.1vw,66px);line-height:1.08;letter-spacing:-.045em;font-weight:650}
h3{font-size:clamp(25px,2.1vw,34px);line-height:1.15;letter-spacing:-.03em;font-weight:650}
.skip{position:fixed;top:-100px;left:16px;z-index:10;padding:12px 16px;background:white;color:black}.skip:focus{top:12px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:116px}
.brand{padding-block:24px}.brand img{width:190px}.nav nav{display:flex;align-items:center;gap:32px}
.nav nav>a{font-size:15px;color:var(--on-navy-muted);padding-block:12px}.nav nav>a:hover,.nav nav>a[aria-current]{color:white;text-decoration:underline;text-underline-offset:8px}
.button,.nav-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:16px 24px;border:1px solid var(--brand-navy);border-radius:2px;font-size:15px;line-height:1.4;font-weight:650;text-align:left}
.primary{background:var(--brand-navy);color:white}.navy .primary,.nav-cta{background:white;color:var(--brand-navy);border-color:white}
.button:hover,.nav-cta:hover{outline:1px solid currentColor;outline-offset:4px;text-decoration:none}
.arrow{display:inline-flex;flex-shrink:0}.menu{display:none}
/* The only overlay is on real listing photography. Its minimum opacity keeps white text readable even over white image pixels. */
.hero{position:relative;isolation:isolate;min-height:min(75svh,720px);display:flex;align-items:center;padding-block:48px 28px;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,39,.82),rgba(5,22,39,.62));z-index:-1}
.hero-content{position:relative}.hero .eyebrow{color:white}.hero h1{max-width:1300px}
.hero-description{font-size:clamp(18px,1.6vw,24px);line-height:1.5;margin-top:28px;max-width:620px}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:32px}.hero-actions>a{font-size:15px;font-weight:600}.hero-actions>a span{margin-left:16px}
.hero-location{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #8FB3E0;margin-top:32px;padding-top:20px;font-size:14px}.hero-location p{font-weight:650}
.intro-offer{padding-block:40px;border-bottom:1px solid var(--hairline)}.offer-layout{display:flex;align-items:center;justify-content:space-between;gap:32px}.intro-offer .eyebrow{margin-bottom:8px}.intro-offer h2{font-size:clamp(30px,3vw,46px)}.intro-offer h2 span{color:var(--brand-navy)}.intro-offer p:not(.eyebrow){font-size:16px;color:var(--ink-muted)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-head>p{max-width:360px;color:var(--ink-muted);font-size:18px}
.portfolio{padding-block:64px}.portfolio>.wrap{max-width:1280px}
.opening-work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.opening-work figure{position:relative;min-width:0}.opening-work img{width:100%;aspect-ratio:3/2;object-fit:cover}.opening-work figcaption{padding:8px 0;font-size:12px;line-height:1.6;color:var(--ink-muted)}
.services{padding-block:88px;background:var(--surface-raised)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-grid article{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--hairline)}
.service-photo{width:100%;aspect-ratio:3/2;object-fit:cover}.service-body{padding:24px;display:flex;flex-direction:column;flex:1}.service-index{font-size:13px;color:var(--brand-navy);margin-bottom:18px}.service-grid h3{font-size:26px;margin-bottom:16px}.service-grid p{font-size:16px;line-height:1.6;color:var(--ink-muted);margin-bottom:28px}
.card-link{display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;border-top:1px solid var(--hairline);border-radius:0;text-align:left;margin-top:auto;padding:16px 0 0;min-height:48px;font-size:14px;font-weight:650;color:var(--brand-navy)}
.card-link:hover{text-decoration:underline;text-underline-offset:6px}
.staging{padding-block:80px}#staging-comparison{max-width:960px;margin-inline:auto}.comparison{width:100%;max-width:960px}.comparison-fallback{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comparison-fallback img{width:100%}.comparison-fallback figcaption{font-size:14px;color:var(--ink-muted)}
.how{padding-block:88px}.process{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid var(--hairline)}.process li{padding-top:28px}.process li>span{font-size:40px;line-height:1.2;letter-spacing:-.04em;color:var(--brand-navy);display:block;margin-bottom:24px}.process h3{font-size:26px;margin-bottom:16px}.process p{color:var(--ink-muted);font-size:16px;max-width:36ch}
.builders{padding-block:64px}.builders-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.builders-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.builders-grid figcaption{font-size:12px;color:var(--ink-muted);margin-top:12px}.builders h2{font-size:clamp(34px,3.5vw,56px)}.builders-grid>div>p:not(.eyebrow){color:var(--ink-muted);margin-top:24px;max-width:44ch}.builders .button{margin-top:28px}
.planning{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-block:88px}.planning>div:first-child{max-width:800px}.planning p:not(.eyebrow){color:var(--ink-muted);margin-top:24px}.contact-block{flex-basis:100%;border-top:1px solid var(--hairline);padding-top:24px;font-size:16px}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:48px}.footer-brand img{width:200px}.footer-row p{color:var(--ink-muted);font-size:16px}.footer-row>a:last-child{font-size:14px}.footer-note{color:var(--ink-muted);font-size:13px;padding-bottom:32px;overflow-wrap:anywhere}
/* Accessible request dialog; booking logic is shared and unchanged. */
dialog{border:1px solid var(--hairline);border-radius:4px;width:calc(100% - 32px);padding:32px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#000c}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.dialog-top .eyebrow{margin:0}#dialog-audience{text-transform:uppercase}.close{width:44px;height:44px;border:1px solid var(--hairline);background:none;font-size:28px;flex-shrink:0}dialog h2{font-size:30px}dialog p{color:var(--ink-muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Booking uses the existing light surface and readable ink tokens. */

.planning{flex-wrap:wrap}.contact-block{overflow-wrap:anywhere}.contact-block a,.footer-note a,dialog a{text-decoration:underline}.contact-block a,dialog a{color:var(--accent)}
dialog{max-width:640px;max-height:calc(100dvh - 32px);overflow-y:auto;overflow-wrap:anywhere}
dialog p{margin-block:16px}.form-field{display:flex;flex-direction:column;margin-block:18px;min-width:0}
.form-field label{font-weight:600;font-size:14px}
.form-field input,.form-field select,.form-field textarea{font:inherit;width:100%;min-width:0;max-width:100%;padding:10px;border:1px solid var(--silver);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}
.form-field :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.form-field small,.privacy{font-size:13px;line-height:20px;color:var(--ink-muted)}
.field-error{color:#9b2020;font-size:13px;line-height:20px}
[aria-invalid=true]{border-color:#9b2020!important}
#booking-status{padding:16px;border:1px solid var(--hairline);background:var(--surface-raised);margin-block:20px}
#booking-status a{display:block;margin-top:12px}
#turnstile-container{margin-block:16px;min-width:0}
.close-dialog{margin-top:16px;background:transparent;color:var(--ink);border-color:var(--silver)}
button:disabled{cursor:wait}


@media(max-width:1200px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav nav{gap:22px}.offer-layout{flex-wrap:wrap}.builders-grid{gap:32px}}
@media(max-width:1100px){.nav{min-height:96px;flex-wrap:wrap;gap:0}.brand img{width:170px}.menu{display:flex;align-items:center;gap:24px;border:1px solid var(--on-navy-muted);background:none;font-size:14px;padding:10px 16px;min-height:44px}.nav nav{display:none;width:100%;padding-bottom:24px}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav nav>a{padding:14px 0;border-top:1px solid var(--hairline)}.nav-cta{margin-top:12px}.hero{min-height:0;padding-top:40px}.hero-location{margin-top:28px}.section-head>p{max-width:260px}.builders-grid{grid-template-columns:1fr}.builders-grid>div{max-width:720px}.builders-grid figure{order:2}.footer-row{flex-wrap:wrap}}
@media(max-width:600px){body{font-size:16px}.brand{padding-block:20px}.brand img{width:150px}.nav{min-height:94px}.hero{min-height:0;padding-block:32px 24px;align-items:flex-start}.hero h1{font-size:clamp(40px,10.3vw,62px);overflow-wrap:normal}.hero .eyebrow{font-size:10px;max-width:28ch}.hero-description{margin-top:24px;font-size:18px}.hero-description br{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px;margin-top:28px}.hero-location{display:block;margin-top:24px;padding-top:16px;font-size:12px}.hero-location p{font-size:15px;margin-bottom:4px}.hero-photo{object-position:53% center}.offer-layout{display:grid;gap:20px}.intro-offer{padding-block:32px}.intro-offer .button{justify-self:start}.section-head{display:block;margin-bottom:28px}.section-head>p{max-width:36ch;margin-top:20px;font-size:16px}.eyebrow{margin-bottom:12px}.portfolio{padding-top:48px}.opening-work{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.opening-work figcaption{left:12px;bottom:12px;font-size:11px}.services,.staging,.how{padding-block:48px}.service-grid{grid-template-columns:1fr;gap:24px}.service-body{padding:24px}.service-index{margin-bottom:12px}.service-grid h3{font-size:28px}.process{grid-template-columns:1fr;gap:24px}.process li{border-bottom:1px solid var(--hairline);padding-bottom:24px}.process li>span{margin-bottom:12px}.comparison-fallback{grid-template-columns:1fr}.builders{padding-block:48px}.builders-grid{gap:32px}.planning{padding-block:48px;gap:24px}.planning .button{margin-top:0}.contact-block{font-size:0;line-height:0;margin-top:0}.contact-block a{display:block;width:fit-content;padding-block:6px;font-size:15px;line-height:28px}.footer-row{flex-direction:column;align-items:flex-start;gap:24px;padding-block:40px}.footer-brand img{width:180px}dialog{padding:20px}.footer-note{line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.footer-portal{max-width:280px}.footer-portal>a{text-decoration:underline}.footer-portal p{font-size:13px;margin-top:8px}

.floor-plans{padding-block:72px;background:white}.floor-plans>.wrap{max-width:1280px}.floor-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.floor-plan-card{border:1px solid var(--hairline);background:white;padding:16px}.floor-plan-card a{display:block}.floor-plan-card img{width:100%;aspect-ratio:4/3;object-fit:contain}.floor-plan-card figcaption{font-size:16px;font-weight:600;padding-top:16px}.floor-plan-card figcaption span{display:block;font-size:13px;font-weight:400;color:var(--brand-navy)}
.listing-video{padding-block:64px}.video-layout{max-width:1120px;display:grid;grid-template-columns:1fr 320px;gap:80px;align-items:center}.video-layout p:not(.eyebrow){margin-block:24px;max-width:42ch;color:var(--ink-muted)}.video-layout video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:black;border-radius:16px}.video-layout figcaption{font-size:13px;margin-top:12px;color:var(--ink-muted)}
@media(max-width:700px){.opening-work{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-plan-grid{grid-template-columns:1fr}.floor-plans{padding-block:48px}.video-layout{grid-template-columns:1fr;gap:32px}.video-layout figure{width:min(100%,300px);margin-inline:auto}}
