/* No third-party font requests: use fonts available on the visitor's device. */
:root{--ink:#18201d;--paper:#f7f8f5;--muted:#666e68;--gold:#d9bd85;--line:#dce0d8;--dark:#111713}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b6924e;outline-offset:6px}::selection{background:#d9bd85;color:#111713}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h2{font-size:clamp(32px,3.6vw,55px);font-weight:500;letter-spacing:-2.1px;line-height:1.18}em{font-style:normal;color:#788777}h1 em{color:#e0c99e}p{line-height:1.75} .header{height:98px;position:absolute;z-index:5;top:0;left:0;right:0;margin:0 5%;border-bottom:1px solid #ffffff29;display:flex;align-items:center;justify-content:space-between;color:white;gap:24px}.wordmark{font-family:Manrope,Arial,sans-serif;font-size:29px;letter-spacing:4px;line-height:1.2;font-weight:650;display:inline-flex;flex-direction:column}.wordmark span{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3.2px;font-weight:400;margin-top:6px}.header nav{display:flex;gap:34px;font-size:14px;color:#dfdfd9}.header nav a:hover{color:var(--gold)}.resident{font-size:14px;border:1px solid #ffffff50;padding:12px 17px;border-radius:4px}.resident span{margin-left:20px;color:var(--gold)}.menu-toggle{display:none}.hero{position:relative;min-height:810px;height:100svh;max-height:1080px;overflow:hidden;background:#151e1c;color:#fff}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;animation:arrive 2s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,15,.85),rgba(11,18,15,.5) 46%,rgba(11,18,15,.03) 80%),linear-gradient(0deg,rgba(9,16,12,.86),transparent 40%,rgba(9,16,12,.35))}.hero-content{position:relative;z-index:1;padding:230px 6% 160px;max-width:1000px;animation:rise 1.1s ease both}.eyebrow{font-size:11px;letter-spacing:2.7px;display:flex;align-items:center;gap:15px;margin-bottom:32px}.fine-line{height:1px;width:36px;background:var(--gold)}h1{font-size:clamp(50px,5.4vw,83px);line-height:1.12;letter-spacing:-3.5px;font-weight:450}.hero-lead{font-size:17px;color:#d3d8d0;margin-top:29px;line-height:1.8}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:18px 23px;border-radius:3px;font-size:14px;font-weight:550;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button span{font-size:21px;font-weight:400}.button-light{background:#f1eee6;color:#22291f;margin-top:36px}.button-light:hover{background:var(--gold)}.hero-bottom{position:absolute;bottom:44px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff35;padding-top:25px;align-items:center}.hero-bottom p{font-size:10px;letter-spacing:2px}.hero-bottom p span{margin:0 14px;color:var(--gold)}.hero-bottom a{font-size:13px;color:#ddd}.hero-bottom a span{margin-left:20px}.image-note{position:absolute;right:6%;bottom:13px;font-size:10px;color:#b2b8b0}.section-pad{padding:115px 8%}.section-number{display:block;font-size:11px;letter-spacing:2px;font-weight:550;margin-bottom:29px;color:#7d857a}.intro{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;background:#fff}.intro-label p{font-size:18px;color:#687265;margin-top:72px}.intro-copy>p{max-width:640px;color:var(--muted);margin-top:25px}.values{display:flex;gap:26px;flex-wrap:wrap;margin-top:33px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;font-weight:500}.values span:before{content:'+';color:#919e86;margin-right:10px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}.section-head>p{font-size:15px;color:var(--muted);padding-bottom:5px}.services{background:#f2f4ef}.service-list{border-top:1px solid #cfd5ca}details{border-bottom:1px solid #cfd5ca}summary{list-style:none;display:flex;align-items:center;gap:36px;padding:29px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.service-no{font-size:13px;color:#889180;min-width:30px}h3{font-size:23px;font-weight:500;letter-spacing:-.6px}.plus{margin-left:auto;position:relative;width:25px;height:25px;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:12px;left:5px;width:15px;height:1px;background:var(--ink)}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.service-body{margin-left:66px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:0 45px 33px 0;color:var(--muted);font-size:15px}.service-body p{max-width:490px}.service-body ul{padding:0;margin:0;list-style:none}.service-body li{line-height:1.8;margin-bottom:7px}.service-body li:before{content:'—';margin-right:12px;color:#92a186}.light-section{display:grid;grid-template-columns:1fr 1fr;background:#111713;color:#f1f2e9;min-height:630px}.light-photo{position:relative;overflow:hidden;min-height:560px;background:#080b09}.light-photo img{width:100%;height:100%;position:absolute;object-fit:cover;opacity:.85;transition:filter 1.5s}.light-photo:hover img{filter:brightness(1.17)}.light-caption{position:absolute;bottom:38px;left:12%;font-size:11px;letter-spacing:1.5px;color:#e3d2ad}.light-copy{padding:100px 15% 90px 13%;align-self:center}.light-copy .section-number{color:#bfa97d;font-size:10px}.light-copy h2{font-size:clamp(34px,3.5vw,54px)}.light-copy h2 em{color:#d3bd91}.light-copy p{font-size:16px;color:#adb5a8;margin-top:25px}.text-link{display:inline-flex;align-items:center;gap:50px;padding-bottom:10px;border-bottom:1px solid #a4ad9655;margin-top:35px;font-size:14px}.text-link span{font-size:19px}.text-link:hover{color:#b99a5d}.process{background:#fff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{color:#95a289;font-size:13px}.steps h3{font-size:20px;margin-top:35px}.steps p{color:var(--muted);font-size:15px;margin-top:16px}.portal{background:#e9ede5;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.portal-icon{font-family:Manrope,sans-serif;font-size:180px;line-height:1;letter-spacing:-20px;color:#dfc392;width:280px;height:290px;border-radius:38px;background:#1a241e;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-7deg);box-shadow:25px 35px 60px #28352a20;margin:auto}.portal-icon span{font-size:45px;position:absolute;top:30px;right:29px;letter-spacing:0;color:#80967b}.portal-copy h2{font-size:clamp(32px,3.1vw,46px)}.portal-copy>p{color:var(--muted);margin-top:25px;max-width:480px;font-size:16px}.button-dark{background:#202a23;color:#fff;margin-top:30px}.button-dark:hover{background:#354b3a}.portal-copy .portal-note{font-size:12px;margin-top:12px}.closing{text-align:center;background:var(--dark);color:#f1f2e9;padding-top:110px;padding-bottom:110px}.closing .section-number{color:#bfa97d}.closing h2{font-size:clamp(36px,4vw,62px)}.closing h2 em{color:#b8c3ad}.closing p{color:#a6b0a0;margin-top:30px}.closing .text-link{margin-top:25px}.footer{background:var(--dark);color:#b8c1b1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:35px 6%;border-top:1px solid #ffffff18}.footer .wordmark{font-size:23px;color:white}.footer p,.footer>a:not(.wordmark),.footer>span{font-size:12px}.skip{position:fixed;top:-100px;left:20px;background:white;color:black;padding:15px;z-index:20}.skip:focus{top:10px}.mobile-menu[hidden]{display:none}@keyframes arrive{from{transform:scale(1.055);filter:brightness(.5)}to{transform:scale(1);filter:brightness(1)}}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.section-pad{padding-left:calc((100% - 1320px)/2);padding-right:calc((100% - 1320px)/2)}}
@media(max-width:1000px){.header nav{gap:20px}.header{margin:0 5%}.hero{min-height:760px}.hero-content{padding-top:215px}h1{font-size:64px}.intro{gap:5%;grid-template-columns:.7fr 1.3fr}.section-pad{padding:85px 6%}.light-copy{padding:65px 10%}.light-photo{min-height:520px}.service-body{gap:30px;padding-right:0}.portal-icon{width:220px;height:230px;font-size:145px}.portal{gap:6%}.footer p{display:none}}
@media(max-width:700px){html{scroll-padding-top:24px}.header{height:83px}.wordmark{font-size:24px}.header nav,.header .resident{display:none}.menu-toggle{display:flex;background:transparent;border:0;width:40px;height:40px;flex-direction:column;justify-content:center;gap:7px;padding:7px;color:white}.menu-toggle span{width:25px;height:1px;background:currentColor}.mobile-menu{position:absolute;top:83px;left:0;right:0;z-index:4;background:#17221d;padding:25px 6%;display:grid;gap:24px;color:white;box-shadow:0 20px 35px #0005}.hero{min-height:740px;height:96svh;max-height:900px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#0c1513d9,#0c151377),linear-gradient(0deg,#0c1513ed,transparent 65%)}.hero-content{padding:170px 6% 180px}.eyebrow{font-size:9px;letter-spacing:1.7px;gap:10px;margin-bottom:25px}.fine-line{width:22px}h1{font-size:clamp(40px,9vw,62px);letter-spacing:-2px;line-height:1.18}.hero-lead{font-size:15px;margin-top:24px}.desktop-break{display:none}.button{font-size:13px;gap:24px;padding:15px 19px}.hero-bottom{bottom:40px;padding-top:18px;gap:20px}.hero-bottom p{font-size:9px;letter-spacing:1px;max-width:230px}.hero-bottom p span{margin:0 5px}.hero-bottom a{font-size:11px;white-space:nowrap}.hero-bottom a span{margin-left:5px}.image-note{font-size:9px}.section-pad{padding:70px 7%}.intro{grid-template-columns:1fr;gap:15px}.intro-label p{display:none}.section-number{margin-bottom:25px;font-size:10px}h2{font-size:36px;letter-spacing:-1.4px}.intro-copy>p{font-size:15px}.values{gap:14px;font-size:11px}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:25px;font-size:14px}.service-no{min-width:20px;font-size:11px}summary{padding:25px 0;gap:14px}h3{font-size:19px;letter-spacing:-.5px}.service-body{margin-left:34px;grid-template-columns:1fr;gap:20px;font-size:14px;padding-bottom:25px}.light-section{grid-template-columns:1fr}.light-photo{min-height:360px;max-height:410px;order:2}.light-photo img{object-position:center 42%}.light-copy{padding:65px 7%}.light-copy h2{font-size:39px}.light-copy p{font-size:15px;max-width:450px}.light-caption{left:7%;bottom:25px;font-size:10px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps h3{margin-top:15px}.steps p{margin-top:10px}.portal{grid-template-columns:1fr;gap:55px}.portal-icon{width:155px;height:160px;font-size:100px;letter-spacing:-12px;border-radius:23px;margin:10px auto}.portal-icon span{font-size:25px;top:16px;right:16px}.portal-copy h2{font-size:35px}.portal-copy>p{font-size:15px}.closing h2{font-size:35px}.closing p{font-size:15px}.footer{padding:30px 7%;flex-wrap:wrap;gap:25px}.footer .wordmark{width:45%;font-size:23px}.footer>a:not(.wordmark){font-size:11px}.footer>span{width:100%;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* One continuous architectural nightscape, with warm light as the accent. */
:root{--ink:#f0eee8;--paper:#0d1418;--muted:#b5bdc1;--line:#ffffff24;--dark:#0d1418}
body{background:var(--dark)}
em,.closing h2 em{color:#d9bd85}
.hero-image{animation:none}
.hero-shade{background:linear-gradient(90deg,#0d1418d9,#0d14186b 48%,#0d141812 85%),linear-gradient(0deg,#0d1418,transparent 42%,#0d141830)}
.hero-bottom,.image-note{z-index:2}
.night-sky,.window-light{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}
.night-sky{z-index:1}
.window-light{object-fit:cover;object-position:center;filter:brightness(1.9) saturate(1.2);opacity:0;transition:opacity 900ms ease;mask-image:radial-gradient(ellipse 350px 280px at var(--light-x,80%) var(--light-y,50%),#000 5%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 350px 280px at var(--light-x,80%) var(--light-y,50%),#000 5%,transparent 100%)}
.hero.is-lit .window-light{opacity:.88}
.intro{position:relative;background:linear-gradient(180deg,#0d1418,#101a20);padding-top:85px;padding-bottom:100px;gap:10%}
.intro:before{content:'';position:absolute;top:10%;left:8%;width:1px;height:70%;background:linear-gradient(transparent,#d9bd8544,transparent)}
.intro-label{padding-left:30px}.intro-label p{color:#b9c2c6}.section-number{color:#d0b785;font-size:12px}.intro-copy>p{max-width:620px}.values{gap:22px;line-height:1.9;font-size:13px}.values span:before{color:#d9bd85}
.services{position:relative;isolation:isolate;background:#101a20;overflow:hidden}
.services:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/building.webp') center right/cover no-repeat;opacity:.28}
.services:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#101a20,transparent 30%,#0d1418),linear-gradient(90deg,#101a20f0 10%,#101a20c9 65%,#101a2066)}
.service-list{border-color:var(--line)}details{border-color:var(--line)}summary{transition:color .25s}summary:hover,details[open] h3{color:#e5cca0}.service-no{color:#c9b58e}.service-body li:before{color:#d9bd85}.service-body{color:#c2c9cc}.plus:before,.plus:after{background:#d9bd85}
.light-section{position:relative;isolation:isolate;display:block;min-height:720px;background:#0d1418;overflow:hidden}
.light-photo{position:absolute;inset:0;min-height:0;max-height:none;background:transparent;z-index:-2}
.light-photo img{width:70%;height:100%;object-fit:cover;object-position:center;opacity:.85;mask-image:linear-gradient(90deg,#000 45%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent)}
.light-section:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#0d1418,transparent 25%,transparent 75%,#0d1418)}
.light-copy{position:relative;margin-left:48%;padding:170px 15% 145px 2%;width:52%}
.light-caption{left:8%;bottom:80px;max-width:35%;line-height:1.8;font-size:12px}.light-copy .section-number{font-size:12px;line-height:1.8}.light-copy p{color:#bdc4c7}.light-section:hover .light-photo img{filter:brightness(1.18)}
.process{background:linear-gradient(#0d1418,#111c23)}.steps article{border-color:var(--line)}.steps article>span{color:#d9bd85}.steps h3{color:#eee9dd}.steps p{color:#b5bdc1}
.portal{position:relative;isolation:isolate;overflow:hidden;background:#111c23}.portal:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 25% 55%,#d9bd8510,transparent 55%)}.portal-icon{background:#18252c;border:1px solid #d9bd8533;box-shadow:0 0 100px #d9bd8512;transform:none}.portal-icon span{color:#d9bd85}.button-dark{background:#e1c794;color:#18201d}.button-dark:hover{background:#f4dfb7}.portal-copy>p{color:#b5bdc1}
.closing{background:linear-gradient(#111c23,#0d1418)}.closing p{color:#bdc4c7}.footer{color:#b8c3c8}.text-link{border-color:#d9bd8550}.hero-bottom p{font-size:12px;letter-spacing:1.3px}.eyebrow{font-size:12px}.image-note{font-size:12px}
@media(max-width:1000px){.light-copy{padding:135px 8% 125px 2%}.light-section{min-height:630px}.intro{gap:6%}}
@media(max-width:700px){.hero-shade{background:linear-gradient(90deg,#0d1418dc,#0d141875),linear-gradient(0deg,#0d1418,transparent 65%)}.window-light{object-position:64% center;display:none}.hero-bottom p{font-size:10px;max-width:210px}.eyebrow{font-size:10px;letter-spacing:1px}.image-note{font-size:10px}.intro{padding-top:65px;padding-bottom:65px}.intro:before{display:none}.intro-label{padding-left:0}.values{display:grid;gap:9px;font-size:13px}.section-number{font-size:12px;letter-spacing:1.5px}.light-section{min-height:760px}.light-photo{position:absolute;min-height:0;max-height:none}.light-photo img{width:100%;height:60%;object-position:center 40%;mask-image:linear-gradient(#000 40%,transparent 100%);-webkit-mask-image:linear-gradient(#000 40%,transparent 100%)}.light-copy{margin-left:0;padding:390px 7% 70px;width:100%}.light-copy .section-number{font-size:11px}.light-caption{display:none}.services:before{background-position:65% center;opacity:.16}.service-body{font-size:15px}.portal{gap:35px}.portal-icon{margin:0 auto}.night-sky{opacity:.65}}
@media(prefers-reduced-motion:reduce){.window-light{display:none}.light-section:hover .light-photo img{filter:none}}

/* Headings stand alone, without section or step numbering. */
.footer{flex-wrap:wrap}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;background:#111b20;color:#e8edef;border-top:1px solid #ffffff20}
.contact h2{margin:20px 0}.contact em{color:#d9bd85}.contact p{max-width:520px}.contact-data h3{font-size:24px;line-height:1.4}.contact-data address{font-style:normal;line-height:1.8}.contact-data>p{margin:20px 0}.contact .contact-label{font-size:14px;color:#bac5cb;margin:24px 0 10px}.contact .text-link{display:inline-block}
@media(max-width:700px){.contact{grid-template-columns:1fr;gap:32px}}
.company-details{padding:24px 5%;background:#0d1418;color:#bdc5c8;border-top:1px solid #ffffff19;font-size:12px;line-height:1.9}
.privacy-page{--ink:#18201d;--paper:#f7f8f5;--muted:#505b55;--line:#cdd3cd;--gold:#705423;background:var(--paper);color:var(--ink)}
.privacy-page em,.privacy-page .section-number{color:var(--gold)}
.privacy-page .text-link{border-color:var(--gold)}
.privacy-page a:hover{color:#705423}
.privacy-page a:focus-visible{outline-color:#705423}
.privacy-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 7%;border-bottom:1px solid var(--line)}
.privacy-header .text-link{font-size:16px;margin-top:0}
.privacy-content{width:100%;max-width:850px;margin:auto;padding:64px 32px 80px;font-size:18px;overflow-wrap:anywhere}
.privacy-content h1{font-size:clamp(34px,5vw,62px);font-weight:500;letter-spacing:-1.5px;line-height:1.15;margin:20px 0}
.privacy-lead{color:var(--muted);margin-bottom:44px}
.privacy-content section{padding:28px 0;border-top:1px solid var(--line)}
.privacy-content h2{font-size:26px;line-height:1.35;letter-spacing:-.5px;margin-bottom:18px}
.privacy-content p+p{margin-top:20px}
.privacy-content p a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:500px){.privacy-header{align-items:flex-start;flex-direction:column;gap:20px}.privacy-content{padding:40px 7% 56px;font-size:17px}.privacy-content h1{font-size:34px;letter-spacing:-1px}.privacy-content h2{font-size:23px}.company-details{padding:24px 7%}}
.service-body{margin-left:0}
.steps h3{margin-top:0}

/* Mobile gives the photo its own space above the text. */
@media(max-width:700px){
  .hero{--photo-height:clamp(340px,95vw,490px);height:auto;min-height:0;max-height:none;background:#0d1418}
  .header{background:#0d1418}
  .hero-image{top:83px;height:var(--photo-height);object-position:64% center;filter:brightness(1.8) saturate(1.05)}
  .hero-shade{top:83px;bottom:auto;height:var(--photo-height);background:linear-gradient(0deg,#0d1418 0%,rgba(13,20,24,.6) 9%,transparent 30%)}
  .hero-content{padding:calc(83px + var(--photo-height) + 12px) 7% 35px;max-width:none;animation:none}
  .hero-content h1,.hero-lead,.hero-content .eyebrow{text-shadow:none}
  .hero-content h1{font-size:clamp(36px,8.6vw,58px);letter-spacing:-1.6px}
  .hero-lead{color:#f0f1ed}
  .hero-bottom{position:relative;inset:auto;margin:0 7%;padding:22px 0 28px;align-items:center}
  .image-note{top:calc(83px + var(--photo-height) - 28px);bottom:auto;right:7%;font-size:10px}
}
