@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102938;--mid:#254658;--ink:#18303a;--muted:#6a7b81;--line:#d9e0df;--paper:#fcfcf9;--stone:#f0f2ef;--light:#d0dfe3;--accent:#9eb9be;--max:1340px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.052em;font-weight:500;line-height:1.08}h1{font-size:clamp(3.7rem,8.3vw,8rem)}h2{font-size:clamp(2.8rem,5.6vw,5.6rem)}h3{font-size:clamp(1.6rem,2.7vw,2.5rem)}p{line-height:1.8}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:#bed7d9;color:#102938}.shell{width:min(calc(100% - 112px),var(--max));margin:auto}.eyebrow{font-size:.71rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#7a98a3}.eyebrow.light{color:#d7e5e8}.eyebrow.dark{color:#6d8690}.muted{color:#798b90}.lede{font-size:clamp(1.1rem,1.4vw,1.42rem);line-height:1.74;color:#62767d}.subtle{color:#bdcdd1}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid transparent;padding:15px 22px;letter-spacing:.12em;text-transform:uppercase;font-size:.73rem;font-weight:700;line-height:1.5;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn.navy{background:var(--navy);color:white}.btn.navy:hover{background:#2b5163}.btn.white{background:white;color:var(--navy)}.btn.white:hover{background:#d6e5e6}.btn.outline{border-color:#c3d0d3;color:var(--navy)}.btn.outline:hover{background:#e5eeef}.btn.ghost{border-color:#ffffff75;color:white}.btn.ghost:hover{background:white;color:var(--navy)}.arrow{font-size:1.3rem;font-weight:400}.textlink{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid #b7c6c9;padding:0 0 8px;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:700}.textlink:hover{gap:22px}.section{padding:125px 0}.section.sand{background:var(--stone)}.section.dark{background:var(--navy);color:#fff}.section.short{padding:80px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:53px}.section-heading h2{margin:18px 0 0}.section-heading p{max-width:390px;color:var(--muted);margin:0}.section-heading.darkish p{color:#c1d1d5}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:start}.split .copy{max-width:540px;color:#5f7177;font-size:1.04rem}.split h2{margin:20px 0 0}.trim{max-width:790px}
/* Site header */
.site-header{position:absolute;inset:0 0 auto;z-index:70;color:#fff;border-bottom:1px solid #ffffff33}.site-header.static{position:relative;background:var(--navy)}.nav{height:94px;display:flex;justify-content:space-between;align-items:center;gap:45px}.brand img{width:174px;height:auto}.nav-items{display:flex;align-items:center;gap:clamp(14px,2.3vw,38px)}.nav-items>a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;white-space:nowrap}.nav-items>a:hover,.nav-items>a[aria-current='page']{opacity:.6}.nav-btn{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;border:1px solid #ffffff87;padding:11px 17px;font-weight:700;white-space:nowrap}.nav-btn:hover{background:white;color:var(--navy)}.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:1.8rem;line-height:1}
/* Front page */
.hero{min-height:800px;height:92svh;max-height:980px;background:var(--navy);position:relative;color:#fff;display:flex;align-items:end}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#051c27d9 0%,#051c2766 52%,#051c2711 100%),linear-gradient(0deg,#051c27c2,transparent 55%);z-index:1}.hero-inner{position:relative;z-index:2;padding:170px 0 100px}.hero h1{margin:22px 0 25px;font-size:clamp(4rem,8.7vw,9rem)}.hero p{max-width:510px;color:#e0e8e9;line-height:1.8;margin-bottom:35px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.hero-photo-caption{position:absolute;bottom:25px;right:56px;z-index:3;color:#c7d7d9;font-size:.72rem}.rule{border-top:1px solid var(--line)}.value-row{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.value{border-top:1px solid #b5c4c6;padding-top:25px}.value-number{color:#88a0a6;font-size:.78rem;letter-spacing:.1em;margin-bottom:40px}.value h3{font-size:1.6rem;letter-spacing:-.04em;margin-bottom:12px}.value p{color:#64767c;font-size:.97rem}.statement{display:flex;align-items:end;justify-content:space-between;gap:80px}.statement .lede{max-width:410px}.statement h2{max-width:830px}.divider-labels{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-top:65px;color:#72868d;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
/* Projects */
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-tile{display:block;position:relative;min-height:450px;overflow:hidden;background:#a4b9ba;color:white}.project-tile.featured{grid-column:span 2;min-height:550px}.project-tile img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform .65s}.project-tile:hover img{transform:scale(1.045)}.project-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#041922df 0%,#04192230 50%,transparent 95%)}.tile-info{position:absolute;z-index:2;left:40px;right:40px;bottom:33px;display:flex;justify-content:space-between;align-items:end;gap:25px}.tile-info .eyebrow{color:#d0e0e3}.tile-info h3{font-size:clamp(2rem,3.4vw,3.4rem);margin:10px 0}.tile-info p{color:#dfebeb;max-width:500px;margin:0;font-size:.92rem}.circle-arrow{width:52px;height:52px;border:1px solid #ffffff9c;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;flex-shrink:0}.project-tile:hover .circle-arrow{background:white;color:var(--navy)}.land-banner{background:#102b2c;min-height:590px;display:flex;align-items:center;position:relative;color:white}.land-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.land-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061e21ee,#061e21a3 55%,#061e212a);z-index:1}.land-banner .shell{position:relative;z-index:2}.land-banner h2{margin:19px 0}.land-banner p{max-width:600px;color:#d1e0e1;margin-bottom:35px}
/* page top */
.page-intro{background:var(--navy);color:white;padding:116px 0 100px}.page-intro h1{margin:18px 0 25px}.page-intro p{font-size:1.12rem;max-width:690px;color:#c6d8dd}.page-intro h1.small{font-size:clamp(3.5rem,7vw,7rem)}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:60px 22px}.listing img{width:100%;aspect-ratio:1.45;object-fit:cover}.listing .image-mask{overflow:hidden}.listing img{transition:transform .6s}.listing:hover img{transform:scale(1.04)}.listing-meta{display:flex;gap:18px;align-items:start;justify-content:space-between;margin-top:20px}.listing h3{margin:5px 0 6px;font-size:2rem}.listing p{color:#60737a;margin-bottom:0}.status{white-space:nowrap;border:1px solid #b4c6ca;padding:5px 9px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:40px}.filter-controls{display:flex;flex-wrap:wrap;gap:8px}.filter-controls button{border:1px solid #c7d2d4;padding:9px 14px;background:transparent;color:#445c63;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.filter-controls button[aria-pressed='true'],.filter-controls button:hover{background:var(--navy);color:#fff}.listing[hidden]{display:none!important}
/* Property pages */
.property-lead{padding:80px 0 0}.breadcrumbs{margin:0 0 24px;font-size:.81rem;color:#74868d}.breadcrumbs a:hover{text-decoration:underline}.property-hero{display:grid;grid-template-columns:.8fr 1.2fr;min-height:570px}.property-hero-text{background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:space-between;padding:65px 58px}.property-hero-text h1{font-size:clamp(3.2rem,5.9vw,6.3rem);margin:24px 0}.property-hero-text p{max-width:450px;color:#cbdcdf}.property-hero-img{position:relative;overflow:hidden}.property-hero-img img{width:100%;height:100%;position:absolute;object-fit:cover}.image-badge{position:absolute;right:20px;bottom:16px;padding:6px 11px;background:#18313bc9;color:white;font-size:.7rem;letter-spacing:.04em}.property-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.property-stats>div{padding:32px 25px;border-right:1px solid var(--line)}.property-stats>div:first-child{padding-left:0}.property-stats>div:last-child{border:0}.property-stats span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.69rem;color:#819399;margin-bottom:10px}.property-stats strong{font:500 clamp(1.2rem,2vw,1.8rem)/1.25 Manrope}.feature-list{padding:0;margin:24px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.feature-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:.94rem;color:#56696f}.feature-list li:before{content:'';display:inline-block;width:7px;height:7px;border-top:1.5px solid #75919a;border-right:1.5px solid #75919a;transform:rotate(45deg);margin:0 13px 1px 0}.project-photo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:13px}.photo-button{background:#dce2e0;border:0;padding:0;position:relative;cursor:zoom-in;min-height:270px;overflow:hidden}.photo-button img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s}.photo-button:hover img{transform:scale(1.025)}.photo-button.tall{grid-row:span 2;min-height:575px}.photo-label{position:absolute;bottom:20px;left:20px;color:#fff;text-shadow:0 1px 10px #000b;letter-spacing:.1em;font-size:.71rem;text-transform:uppercase;font-weight:700}.photo-button:after{content:'';background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22%3E%3Cpath d=%22M4.5 15.5 15 5 M6 5h9v9%22 stroke=%22%23fff%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:20px 20px;position:absolute;right:15px;top:14px;color:white;background:#102938b0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:1.1rem}.plan-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.plan-gallery .photo-button{height:420px}.plan-gallery img{object-fit:contain;background:#f6f8f5}.plans-caption,.disclaimer{font-size:.79rem;color:#7e8e93;line-height:1.7;margin-top:20px}.cta-panel{padding:100px 0;background:var(--navy);color:white}.cta-panel .inner{display:flex;align-items:end;justify-content:space-between;gap:50px}.cta-panel h2{margin:20px 0 18px}.cta-panel p{max-width:650px;color:#bfd2d7}
/* About + directors */
.about-photo{height:560px}.about-photo img{width:100%;height:100%;object-fit:cover}.large-quote{font:500 clamp(2rem,3.9vw,4.3rem)/1.28 Manrope;letter-spacing:-.05em;max-width:1100px;margin:28px 0}.team-section{background:var(--paper)}.team-intro{max-width:540px}.director-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.director{min-width:0}.director-photo{height:auto;aspect-ratio:4/5;overflow:hidden;background:#dee2df}.director-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .5s ease}.director:hover .director-photo img{transform:scale(1.025)}.director-mark .director-photo img{object-position:53% center}.director-dan .director-photo img{object-position:26% center}.director-johnathon .director-photo img{object-position:50% 17%}.director-copy{padding:23px 2px 0}.director-copy h3{font-size:clamp(1.8rem,2.4vw,2.5rem);margin:9px 0 5px}.director-role{color:#77909a;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1.55;min-height:34px;margin-bottom:19px}.director-copy p{color:#5b6b73;font-size:.94rem;line-height:1.82}.director-copy p:last-child{margin-bottom:0}
/* land and forms */
.land-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.land-option{background:#e7ebe7;min-height:190px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.land-option span{color:#83989c;font-size:.76rem;letter-spacing:.1em}.land-option h3{font-size:1.55rem;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid #a9bcc0;padding-top:20px}.steps article span{color:#9fb8c0}.steps h3{margin:33px 0 12px}.steps p{color:#bdd0d5}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:8%;align-items:start}.contact-grid h2{margin:18px 0}.formbox{background:#fff;padding:42px;border:1px solid #dbe1df}.formbox h3{font-size:2rem;margin:0 0 9px}.formbox>p{font-size:.91rem;color:#798b90;margin-bottom:28px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:.74rem;color:#556b72;font-weight:700;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;padding:13px 14px;background:#fafbfa;border:1px solid #cbd8d8;color:var(--ink);border-radius:0;min-height:50px}.field textarea{min-height:133px;resize:vertical}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:2px solid #83abb4}.form-consent{margin:19px 0 17px;display:flex;align-items:start;gap:10px;color:#6e8186;font-size:.79rem;line-height:1.7}.form-consent input{margin-top:5px;accent-color:var(--navy)}.note{background:#edf1ef;padding:22px 25px;border-left:2px solid #9bb1b7;color:#6c7e82;font-size:.85rem;line-height:1.75}.info-list{padding:0;list-style:none}.info-list li{padding:16px 0;border-bottom:1px solid var(--line);color:#5f7378}
/* footer */
.footer{background:#0b2430;color:white;padding:95px 0 28px}.footer-cols{display:grid;grid-template-columns:1.65fr .7fr .6fr;gap:8%}.footer-brand img{width:180px}.footer-brand h2{margin:26px 0 20px;font-size:clamp(2.9rem,4.8vw,5.4rem)}.footer-brand p{max-width:480px;color:#aebfc5}.footer-col h4{color:#a9c1c8;text-transform:uppercase;font-size:.7rem;letter-spacing:.15em;font-weight:700;margin:13px 0 29px}.footer-col a{display:block;font-size:.9rem;color:#e0e7ea;margin-bottom:14px}.footer-bottom{border-top:1px solid #ffffff29;margin-top:92px;padding-top:24px;display:flex;justify-content:space-between;gap:35px;color:#adc1c6;font-size:.76rem;flex-wrap:wrap}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:1000;inset:0;background:#091d24f2;display:flex;align-items:center;justify-content:center;padding:60px 30px}.lightbox img{max-width:95vw;max-height:85vh;object-fit:contain}.lightbox-close{position:absolute;right:20px;top:20px;background:#233f4a;color:white;border:1px solid #ffffff6a;font-size:2rem;width:52px;height:52px}.lightbox-caption{position:absolute;bottom:19px;color:#d2e0e3;font-size:.78rem}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:2000;background:white;padding:12px}
@media(max-width:1150px){.shell{width:min(calc(100% - 70px),var(--max))}.nav{height:86px}.nav-items{gap:18px}.nav-btn{display:none}.section{padding:100px 0}.property-hero-text{padding:44px 32px}.director-grid{gap:19px}}
@media(max-width:850px){.menu-toggle{display:block;z-index:90;position:relative}.nav-items{position:fixed;inset:0;background:var(--navy);padding:145px 9% 40px;display:none;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:25px;z-index:80}.nav-items.open{display:flex}.nav-items a{font-family:Manrope;font-size:1.8rem;letter-spacing:-.03em;text-transform:none;font-weight:500}.brand{position:relative;z-index:90}.nav{height:76px}.statement,.section-heading{flex-direction:column;align-items:start;gap:15px}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.statement .lede{max-width:600px}.director-grid{grid-template-columns:repeat(2,1fr);gap:44px 22px}.director:last-child{grid-column:1/-1;max-width:450px}.value-row{gap:18px}.property-hero{grid-template-columns:1fr}.property-hero-text{min-height:400px}.property-hero-img{height:430px}.property-hero-img img{position:relative}.property-stats>div{padding:25px 15px}.steps{gap:19px}.footer-cols{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.cta-panel .inner{flex-direction:column;align-items:start}}
@media(max-width:620px){.shell{width:calc(100% - 36px)}.brand img{width:145px}.hero{height:780px;min-height:620px;max-height:95svh}.hero-inner{padding:145px 0 80px}.hero h1{font-size:clamp(3.5rem,13.5vw,5rem)}.hero p{font-size:.96rem}.hero-photo-caption{right:16px;font-size:.64rem}.section{padding:76px 0}.section.short{padding:55px 0}.section-heading{margin-bottom:30px}.split h2{font-size:3rem}.divider-labels{flex-wrap:wrap;margin-top:35px;gap:15px;font-size:.62rem}.value-row,.project-grid,.project-list,.director-grid,.land-options,.steps{grid-template-columns:1fr}.project-tile,.project-tile.featured{grid-column:1;min-height:370px}.project-tile.featured{min-height:430px}.tile-info{left:23px;right:22px;bottom:25px}.tile-info h3{font-size:2.2rem}.tile-info p{font-size:.83rem}.circle-arrow{width:40px;height:40px}.land-banner{min-height:530px}.page-intro{padding:78px 0}.page-intro h1{font-size:3.45rem}.page-intro p{font-size:.97rem}.listing-meta{flex-direction:column}.filter-row{align-items:start;flex-direction:column}.property-lead{padding:42px 0 0}.property-hero-text{min-height:340px;padding:40px 24px}.property-hero-text h1{font-size:3.5rem}.property-hero-img{height:310px}.property-stats{grid-template-columns:1fr 1fr}.property-stats>div{border-bottom:1px solid var(--line)}.property-stats>div:nth-child(2){border-right:0}.property-stats>div:nth-child(3),.property-stats>div:nth-child(4){border-bottom:0}.feature-list{grid-template-columns:1fr}.project-photo-grid{grid-template-columns:1fr}.photo-button,.photo-button.tall{min-height:300px;grid-row:auto}.photo-button.tall{min-height:420px}.plan-gallery{grid-template-columns:1fr}.director-grid{gap:50px}.director:last-child{grid-column:auto;max-width:none}.director-photo{aspect-ratio:4/4.35}.director-copy h3{font-size:2.2rem}.director-role{min-height:0}.director-copy p{font-size:.95rem}.about-photo{height:330px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.formbox{padding:28px 20px}.footer{padding:70px 0 24px}.footer-cols{grid-template-columns:1fr 1fr;gap:30px 16px}.footer-brand h2{font-size:3rem}.footer-col a{font-size:.82rem}.footer-bottom{margin-top:48px}.cta-panel{padding:75px 0}.btn{font-size:.67rem;gap:20px}.lightbox{padding:60px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* V4: Mobile-safe vector icons. Prevents the native upward-right arrow symbol appearing as a blue emoji badge on some phones. */
.arrow-icon{display:inline-block;width:18px;height:18px;vertical-align:-.21em;flex:none;color:inherit;fill:none;stroke:currentColor}
.btn .arrow-icon{width:20px;height:20px;vertical-align:middle}
.circle-arrow .arrow-icon{width:21px;height:21px}
.nav-btn .arrow-icon,.textlink .arrow-icon{margin-left:7px;width:16px;height:16px}
