@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');
:root{--navy:#17375f;--navy-deep:#0e2a4c;--ivory:#fbfaf6;--card:#fffdf9;--surface:#f4efe6;--gold:#b88736;--gold-soft:#d0aa63;--border:#d8cdbb;--muted:#56687c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--navy);font-family:Manrope,sans-serif}.progress{position:fixed;z-index:100;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--gold)}button,a{font:inherit}.header{position:sticky;top:0;z-index:30;height:98px;padding:14px clamp(28px,6vw,92px);display:flex;align-items:center;justify-content:space-between;background:rgba(251,250,246,.98);border-bottom:1px solid rgba(216,205,187,.6);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;text-decoration:none;color:var(--navy)}.brand img{width:58px;height:58px;object-fit:contain}.brand span{display:flex;flex-direction:column;margin-left:14px;line-height:1}.brand strong{font-family:Newsreader,Georgia,serif;font-size:1.8rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.brand small{margin-top:7px;color:var(--gold);font-size:.58rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:clamp(24px,3.2vw,54px);font-size:.8125rem;font-weight:600}.nav a,.nav button,.footer a,.footer button{border:0;background:none;color:var(--navy);text-decoration:none;cursor:pointer}.menu-button{display:none;border:0;background:none;color:var(--navy);font-size:1.5rem}.hero{position:relative;min-height:610px;overflow:hidden}.hero-image{display:block;width:100%;height:610px;object-fit:cover;object-position:center 52%;animation:heroDrift 14s ease-out both}.hero-panel{position:absolute;z-index:2;top:40px;left:clamp(28px,5vw,80px);width:min(475px,calc(100% - 56px));padding:40px 38px 44px;background:var(--navy);color:var(--ivory);box-shadow:18px 18px 0 rgba(184,135,54,.92)}.hero-mark{position:absolute;top:26px;right:28px;width:58px;height:58px;object-fit:contain;opacity:.22;filter:brightness(0) invert(1)}.eyebrow{margin:0 0 14px;color:var(--gold);font-size:.6875rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}h1,h2,h3{font-family:Newsreader,Georgia,serif}.hero h1,.statement h2,.services-copy h2,.team h2,.market-copy h2,.faq h2,.closing h2,.contact-dialog h2{margin:0;font-weight:500;letter-spacing:-.03em}.hero h1{font-size:clamp(3.45rem,5vw,4.5rem);line-height:.91}.hero h1 em{color:var(--gold-soft);font-weight:400}.hero-intro{max-width:340px;margin:20px 0 24px;color:#eef3f7;font-size:1.06rem;line-height:1.7}.gold-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:1px solid transparent;background:var(--gold);color:white;font-weight:700;text-decoration:none;cursor:pointer}.gold-button:hover{background:#9f742a}.hero-locations{position:absolute;right:48px;bottom:24px;color:white;font-size:.625rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 5px rgba(0,0,0,.5)}.hero-locations span{margin:0 10px;color:var(--gold-soft)}.scroll-cue{position:absolute;right:45px;bottom:64px;color:white;font-size:.625rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.service-ribbon{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(28px,6vw,88px);background:var(--gold);color:white}.service-ribbon span{padding:20px 24px;font-family:Newsreader,Georgia,serif;font-size:1.08rem;text-align:center}.service-ribbon span+span{border-left:1px solid rgba(255,255,255,.35)}.statement,.team,.market,.faq{padding:clamp(48px,5vw,76px) clamp(28px,8vw,126px)}.statement{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,10vw,168px);align-items:center}.statement h2,.team h2,.services-copy h2,.market h2,.faq h2{font-size:clamp(3rem,5vw,4.75rem);line-height:.98}.statement-copy{margin:0;border-left:1px solid var(--border);padding:18px 0 18px clamp(34px,5vw,76px);font-size:1.06rem;line-height:1.78}.team{display:grid;grid-template-columns:.78fr 1.22fr;gap:32px clamp(50px,8vw,120px)}.team-intro>p:last-child,.market-copy>p:last-child,.faq-intro>p:last-child{color:var(--muted);line-height:1.78}.leadership{border-top:1px solid var(--border)}.leadership article{padding:26px 32px;background:var(--navy);color:white}.leadership span{color:var(--gold);font-size:.62rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.leadership h3{margin:28px 0 12px;font-size:clamp(2rem,3vw,2.75rem);font-weight:500}.leadership p{margin:0;color:#dfe8f0;line-height:1.7}.owner-trust{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:22px 34px;background:var(--gold);color:white}.owner-trust img{width:48px;filter:brightness(0) invert(1)}.owner-trust p{margin:0;line-height:1.65}.owner-trust strong{display:block;font-family:Newsreader,serif;font-size:1.45rem}.services{display:grid;grid-template-columns:1fr 1.05fr;background:var(--card)}.services-image-wrap{position:relative;min-height:640px;overflow:hidden}.services-image-wrap>img{width:100%;height:100%;object-fit:cover}.image-note{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:18px;width:min(360px,78%);padding:25px 30px;background:var(--navy);color:white}.image-note img{width:44px;filter:brightness(0) invert(1)}.image-note p{margin:0;font-family:Newsreader,serif;font-size:1.5rem;font-style:italic}.services-copy{padding:clamp(48px,5vw,76px) clamp(28px,7vw,104px)}.service-list{margin-top:28px}.service-list article{border-top:1px solid var(--border);padding:16px 0}.service-list h3{margin:0 0 5px;font-size:1.65rem}.service-list p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.6}.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(48px,8vw,126px);background:var(--card)}.faq-list{border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border);padding:18px 0}.faq-list summary{cursor:pointer;font-family:Newsreader,serif;font-size:1.42rem}.faq-list p{color:var(--muted);line-height:1.75}.market{display:grid;grid-template-columns:.72fr 1.55fr;gap:clamp(48px,7vw,110px);align-items:center;background:var(--surface)}.market-visual img{display:block;width:100%;height:355px;object-fit:cover;box-shadow:20px 20px 0 var(--navy)}.place-names{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:2;width:calc(100% - 44px);margin-top:-18px;padding:20px 26px 10px;background:var(--ivory);font-family:Newsreader,serif;font-size:1.5rem}.closing{display:grid;grid-template-columns:.9fr 1fr .72fr;gap:clamp(34px,5vw,76px);align-items:center;padding:48px clamp(28px,6vw,88px);background:var(--navy);color:white;border-top:6px solid var(--gold)}.closing h2{font-size:clamp(2.75rem,4vw,3.75rem)}.closing-action p{color:#e4ebf2;line-height:1.7}.closing blockquote{margin:0;border-left:1px solid rgba(255,255,255,.35);padding-left:clamp(24px,4vw,54px)}.closing blockquote p{font-family:Newsreader,serif;font-size:1.375rem;font-style:italic;line-height:1.32}.closing blockquote footer{font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.closing blockquote span{color:var(--gold-soft)}.footer{display:grid;grid-template-columns:1fr auto auto;gap:58px;align-items:center;min-height:126px;padding:22px clamp(28px,6vw,88px);background:var(--card)}.footer-brand img{width:48px}.footer nav{display:flex;gap:26px;font-size:.6875rem}.footer p{font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.floating-contact{position:fixed;z-index:50;right:24px;bottom:24px;width:66px;height:66px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:var(--navy);color:white;box-shadow:0 12px 36px rgba(15,39,68,.12);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.floating-contact img{width:32px;filter:brightness(0) invert(1)}.floating-contact span{display:none}.contact-dialog{width:min(680px,calc(100vw - 32px));border:0;padding:clamp(42px,7vw,72px);background:var(--ivory);color:var(--navy);box-shadow:0 28px 80px rgba(15,39,68,.2)}.contact-dialog::backdrop{background:rgba(8,25,44,.58)}.contact-dialog h2{font-size:clamp(2.65rem,6vw,3.75rem);line-height:1}.contact-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.7}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:2rem;color:var(--navy);cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .52s ease,transform .52s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroDrift{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:900px){.header{height:82px}.menu-button{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 28px 26px;background:var(--card)}.nav.open{display:flex}.statement,.team,.market,.faq,.closing{grid-template-columns:1fr}.services{grid-template-columns:1fr}.services-image-wrap{min-height:380px}.service-ribbon{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr auto}.footer nav{display:none}}
@media(max-width:560px){.header{padding-inline:18px}.brand img{width:48px;height:48px}.brand strong{font-size:1.4rem}.brand small{font-size:.46rem}.hero,.hero-image{height:540px;min-height:540px}.hero-image{object-position:62% center}.hero-panel{top:26px;left:18px;right:18px;width:auto;padding:30px 27px 34px;box-shadow:8px 8px 0 rgba(184,135,54,.92)}.hero h1{font-size:3.45rem}.hero-locations{left:26px;right:auto;bottom:18px;font-size:.5rem}.scroll-cue{display:none}.statement,.team,.market,.faq{padding:44px 24px}.service-ribbon{padding:0}.service-ribbon span{padding:16px 10px;font-size:.94rem}.services-image-wrap{min-height:300px}.services-copy,.closing{padding:44px 24px}.market-visual img{height:230px;box-shadow:10px 10px 0 var(--navy)}.place-names{gap:10px;font-size:1.125rem;width:calc(100% - 20px);padding-inline:14px}.footer{grid-template-columns:1fr;gap:5px;padding-inline:24px}.floating-contact{right:16px;bottom:16px;width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-image{animation:none}}