@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&display=swap');

:root{
  --paper:#f8f4eb;
  --paper-deep:#efe8d9;
  --paper-raised:#ffffff;
  --ink:#0a2540;
  --ink-muted:#5f5c55;
  --ink-soft:#8a877f;
  --line:#d8d3c4;
  --line-strong:#c8c0ae;
  --navy:#0a2540;
  --navy-deep:#071b30;
  --navy-hover:#0f3156;
  --gold:#c9a86b;
  --gold-deep:#a88545;
  --gold-pale:#d9bf89;
  --gold-ink:#7d6130;
  --gold-soft:#f0e6d4;
  --white:#fff;
  --success:#1e7b59;
  --shadow-soft:0 14px 45px rgba(10,37,64,.07);
  --shadow-raised:0 24px 70px rgba(10,37,64,.12);
  --radius:28px;
  --max:1280px;
  --header:92px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Manrope',Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--gold);color:var(--navy)}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.section{padding:108px 0;position:relative}
.section-sm{padding:76px 0}
.surface-white{background:var(--paper-raised)}
.surface-deep{background:var(--paper-deep)}
.surface-navy{background:var(--navy);color:#fff}
.section-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}

.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:var(--gold);color:var(--navy);padding:12px 18px;border-radius:12px;font-weight:700}.skip-link:focus{top:16px}

#preloader{position:fixed;inset:0;background:var(--paper);z-index:9998;display:grid;place-items:center;transition:opacity .45s ease,visibility .45s ease}
#preloader.hidden{opacity:0;visibility:hidden}
.loader-mark{width:92px;height:76px;display:flex;align-items:end;justify-content:center;gap:7px}
.loader-mark span{width:16px;border-radius:3px 3px 0 0;transform-origin:bottom;animation:loadbar 1s var(--ease) infinite alternate}
.loader-mark span:nth-child(1){height:40px;background:var(--navy);animation-delay:0ms}
.loader-mark span:nth-child(2){height:58px;background:var(--gold);animation-delay:120ms}
.loader-mark span:nth-child(3){height:72px;background:var(--navy);animation-delay:240ms}
.loader-mark span:nth-child(4){height:50px;background:var(--gold);animation-delay:360ms}
@keyframes loadbar{from{transform:scaleY(.35);opacity:.45}to{transform:scaleY(1);opacity:1}}

.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);width:0;z-index:9999;transition:width .08s linear}

.site-header{position:sticky;top:0;z-index:1000;height:var(--header);background:rgba(248,244,235,.94);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:height .35s var(--ease),box-shadow .35s ease,border-color .35s ease,background .35s ease}
.site-header.scrolled{height:78px;box-shadow:0 10px 32px rgba(10,37,64,.07);border-color:rgba(10,37,64,.08);background:rgba(255,255,255,.94)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo-link{display:flex;align-items:center;flex:0 0 auto}
.logo-link img{width:235px;height:auto;max-height:58px;object-fit:contain;object-position:left center;transition:width .3s var(--ease)}
.site-header.scrolled .logo-link img{width:205px}
.desktop-nav{display:flex;align-items:center;gap:29px}
.nav-link{font-size:14px;font-weight:650;letter-spacing:.01em;position:relative;padding:12px 0;color:var(--navy)}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-link.active{color:var(--gold-ink)}
.nav-actions{display:flex;align-items:center;gap:12px}
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:14px;line-height:1.1;border:1px solid transparent;transition:transform .35s var(--ease),background .25s ease,color .25s ease,border-color .25s ease,box-shadow .35s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--navy);color:white}.btn-primary:hover{background:var(--navy-hover);box-shadow:0 10px 26px rgba(10,37,64,.18)}
.btn-gold{background:var(--gold);color:var(--navy)}.btn-gold:hover{background:var(--gold-pale);box-shadow:0 12px 28px rgba(201,168,107,.2)}
.btn-light{background:white;color:var(--navy);border-color:rgba(255,255,255,.4)}.btn-light:hover{background:var(--paper)}
.btn-outline{background:transparent;color:var(--navy);border-color:rgba(10,37,64,.25)}.btn-outline:hover{border-color:var(--gold);background:var(--gold-soft)}
.btn-ghost-light{background:transparent;color:white;border-color:rgba(255,255,255,.25)}.btn-ghost-light:hover{border-color:var(--gold);background:rgba(255,255,255,.06)}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}.btn:hover svg{transform:translateX(3px)}
.menu-toggle{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:white;align-items:center;justify-content:center;position:relative}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;width:20px;height:1.5px;background:var(--navy);transition:.3s var(--ease)}
.menu-toggle span{transform:translateY(0)}.menu-toggle::before{transform:translateY(-6px)}.menu-toggle::after{transform:translateY(6px)}
.menu-toggle[aria-expanded="true"] span{opacity:0}.menu-toggle[aria-expanded="true"]::before{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"]::after{transform:rotate(-45deg)}
.mobile-menu{display:none;position:fixed;inset:78px 0 0;background:var(--paper);padding:30px 24px 34px;z-index:999;overflow:auto;transform:translateY(-12px);opacity:0;visibility:hidden;transition:.3s var(--ease)}
.mobile-menu.open{transform:none;opacity:1;visibility:visible}
.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu .nav-link{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(30px,8vw,46px);font-weight:600;padding:12px 0;border-bottom:1px solid var(--line)}
.mobile-contact{margin-top:30px;display:grid;gap:14px}.mobile-contact .btn{width:100%}

.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;min-height:calc(100svh - var(--header));display:flex;align-items:center}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(217,191,137,.1),transparent 28%),linear-gradient(120deg,transparent 45%,rgba(255,255,255,.018) 45%);z-index:-2}
.hero::after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.055);right:-170px;top:-230px;box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012);z-index:-2}
.hero-inner{padding:88px 0 64px;position:relative;z-index:2}
.hero-copy{max-width:940px}
.hero-brand{display:flex;align-items:center;gap:12px;font-family:'Source Serif 4',Georgia,serif;font-size:18px;font-weight:600;color:rgba(255,255,255,.86)}
.hero-brand .slash{color:var(--gold)}
.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-ink)}
.hero .eyebrow{color:var(--gold-pale)}
.hero h1,.page-hero h1{font-family:'Source Serif 4',Georgia,serif;font-weight:600;letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.hero h1{font-size:clamp(54px,7.6vw,112px);max-width:1100px;margin-top:25px}
.hero-lead{max-width:740px;margin-top:30px;font-size:clamp(17px,2vw,21px);line-height:1.72;color:rgba(255,255,255,.77)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.hero-bars{position:absolute;right:1%;top:12%;width:min(31vw,410px);height:64%;opacity:.13;display:flex;align-items:flex-end;gap:18px;z-index:1;pointer-events:none}
.hero-bars span{flex:1;border-radius:2px 2px 0 0;transform:scaleY(0);transform-origin:bottom;animation:heroBar 1.2s var(--ease) forwards}
.hero-bars span:nth-child(1){height:55%;background:var(--gold);animation-delay:.15s}
.hero-bars span:nth-child(2){height:88%;background:white;animation-delay:.28s}
.hero-bars span:nth-child(3){height:68%;background:var(--gold);animation-delay:.41s}
.hero-bars span:nth-child(4){height:100%;background:white;animation-delay:.54s}
@keyframes heroBar{to{transform:scaleY(1)}}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:80px;padding-top:36px;border-top:1px solid rgba(255,255,255,.15)}
.stat{display:flex;flex-direction:column-reverse;gap:6px}.stat dt{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.58);font-weight:800}.stat dd{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1;color:var(--gold)}

.page-hero{position:relative;overflow:hidden;background:var(--navy);color:white;min-height:560px;display:flex;align-items:end}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 22%,rgba(201,168,107,.13),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.03),transparent 50%)}
.page-hero .hero-bars{top:14%;height:66%}
.page-hero-inner{position:relative;z-index:2;padding:105px 0 80px;width:100%}
.page-hero h1{font-size:clamp(52px,7vw,92px);max-width:920px;margin-top:20px}
.page-hero p{max-width:750px;margin-top:26px;color:rgba(255,255,255,.72);font-size:19px}

.section-heading{max-width:790px}
.section-heading h2{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.04em;margin-top:16px;text-wrap:balance}
.section-heading p:not(.eyebrow){margin-top:22px;color:var(--ink-muted);font-size:17px;max-width:690px}
.rule{display:block;width:55px;height:2px;background:var(--gold);margin-top:14px}

.split{display:grid;grid-template-columns:5fr 7fr;gap:76px;align-items:center}
.split.reverse{grid-template-columns:7fr 5fr}.split.reverse .media-card{order:2}
.copy h2{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(38px,4.8vw,66px);line-height:1.05;letter-spacing:-.04em;margin-top:18px}
.copy p{color:var(--ink-muted);font-size:17px;margin-top:22px}
.copy .btn{margin-top:30px}
.media-card{min-height:0;aspect-ratio:5/4;max-height:460px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--navy);box-shadow:var(--shadow-soft);border:1px solid rgba(10,37,64,.08)}
.media-card img{width:100%;height:100%;min-height:0;object-fit:cover;transition:transform 1.2s var(--ease),filter .4s ease}
.media-card:hover img{transform:scale(1.04);filter:saturate(1.03)}
.media-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,27,48,.5))}
.media-card .caption{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:white;font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}.card-grid .card:last-child:nth-child(7){grid-column:2}
.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:24px;padding:30px;min-height:300px;position:relative;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s ease,border-color .3s ease}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow-raised);border-color:rgba(10,37,64,.18)}
.card-index{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--gold-ink);position:absolute;right:26px;top:24px}
.icon-ring{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--navy);border:1px solid rgba(201,168,107,.25);transition:transform .45s var(--ease),box-shadow .45s ease}.card:hover .icon-ring{transform:scale(1.08);box-shadow:0 10px 24px rgba(201,168,107,.2)}
.icon-ring svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-family:'Source Serif 4',Georgia,serif;font-size:27px;line-height:1.15;letter-spacing:-.02em;margin-top:25px}
.card p{color:var(--ink-muted);margin-top:13px;font-size:15px}
.card .text-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13px;font-weight:800;color:var(--gold-ink)}
.card .text-link::after{content:'→';transition:transform .3s var(--ease)}.card:hover .text-link::after{transform:translateX(4px)}

.challenge{background:var(--navy);color:white;position:relative;overflow:hidden}
.challenge::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 42%,rgba(201,168,107,.07) 42% 43%,transparent 43% 100%)}
.challenge-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.challenge .section-heading h2{color:white}.challenge .section-heading p{color:rgba(255,255,255,.68)}
.challenge-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.challenge-item{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:24px;background:rgba(255,255,255,.035);transition:.35s var(--ease)}
.challenge-item:hover{transform:translateY(-4px);border-color:rgba(201,168,107,.4);background:rgba(255,255,255,.055)}
.challenge-item h3{font-family:'Source Serif 4',Georgia,serif;font-size:22px}.challenge-item p{font-size:14px;color:rgba(255,255,255,.62);margin-top:8px}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:58px;counter-reset:steps}
.step{position:relative;padding-top:15px;counter-increment:steps}
.step-no{font-family:'Source Serif 4',Georgia,serif;font-size:54px;line-height:1;color:var(--gold-deep);display:flex;align-items:center;gap:14px}
.step-no::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--gold),var(--line))}
.step h3{font-family:'Source Serif 4',Georgia,serif;font-size:25px;line-height:1.15;margin-top:22px}.step p{margin-top:12px;color:var(--ink-muted);font-size:14px}

.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:50px}
.feature{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:28px;border-radius:22px;border:1px solid var(--line);background:white;transition:.4s var(--ease)}
.feature:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:rgba(201,168,107,.55)}
.feature .icon-ring{width:58px;height:58px}.feature .icon-ring svg{width:26px;height:26px}.feature h3{font-family:'Source Serif 4',Georgia,serif;font-size:24px}.feature p{color:var(--ink-muted);font-size:14px;margin-top:7px}

.location-wrap{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.location-chip{padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:white;font-size:13px;font-weight:750;color:var(--navy);transition:.3s var(--ease)}.location-chip:hover{background:var(--gold-soft);border-color:var(--gold);transform:translateY(-2px)}

.cta{padding:84px 0;background:var(--navy);color:white;position:relative;overflow:hidden}.cta::before{content:"";position:absolute;right:-90px;top:-140px;width:440px;height:440px;border:1px solid rgba(201,168,107,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(201,168,107,.035),0 0 0 140px rgba(201,168,107,.025)}
.cta-inner{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:50px}.cta h2{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.04em;max-width:760px}.cta p{color:rgba(255,255,255,.67);max-width:640px;margin-top:18px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}

.quote-band{padding:48px 0;background:var(--gold-soft);border-block:1px solid rgba(201,168,107,.25)}.quote-band p{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(28px,4vw,48px);line-height:1.15;text-align:center;color:var(--navy)}

.detail-stack{display:grid;gap:30px;margin-top:55px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;background:white;border:1px solid var(--line);border-radius:28px;padding:26px;overflow:hidden}.service-detail:nth-child(even) .service-visual{order:2}.service-visual{min-height:0;aspect-ratio:4/3;max-height:320px;border-radius:20px;overflow:hidden;background:var(--navy);border:1px solid rgba(10,37,64,.08)}.service-visual img{width:100%;height:100%;min-height:0;object-fit:cover}.service-detail h3{font-family:'Source Serif 4',Georgia,serif;font-size:36px;line-height:1.05}.service-detail p{color:var(--ink-muted);margin-top:14px}.tick-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;margin-top:22px;list-style:none}.tick-list li{display:flex;gap:10px;font-size:14px;color:var(--ink)}.tick-list li::before{content:'✓';color:var(--gold-ink);font-weight:900}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.value{background:white;border:1px solid var(--line);border-radius:22px;padding:28px}.value strong{font-family:'Source Serif 4',Georgia,serif;font-size:25px}.value p{color:var(--ink-muted);font-size:14px;margin-top:9px}
.mission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:46px}.mission{padding:40px;border-radius:26px;background:var(--navy);color:white;min-height:300px;position:relative;overflow:hidden}.mission:nth-child(2){background:var(--gold-soft);color:var(--navy)}.mission .eyebrow{color:var(--gold-pale)}.mission:nth-child(2) .eyebrow{color:var(--gold-ink)}.mission h3{font-family:'Source Serif 4',Georgia,serif;font-size:40px;margin-top:16px}.mission p{margin-top:16px;color:rgba(255,255,255,.68)}.mission:nth-child(2) p{color:var(--ink-muted)}

.flagship{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;background:white;border:1px solid var(--line);padding:28px;border-radius:30px;margin-top:48px}.flagship-visual{min-height:0;aspect-ratio:6/5;max-height:420px;border-radius:22px;overflow:hidden;border:1px solid rgba(10,37,64,.08)}.flagship-visual img{width:100%;height:100%;min-height:0;object-fit:cover}.flagship-copy{padding:25px 22px;display:flex;flex-direction:column;justify-content:center}.flagship-copy h3{font-family:'Source Serif 4',Georgia,serif;font-size:46px;line-height:1.05;margin-top:16px}.flagship-copy p{color:var(--ink-muted);margin-top:18px}.asset-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.asset-tags span{font-size:12px;font-weight:750;padding:8px 12px;border-radius:999px;background:var(--gold-soft);color:var(--gold-ink)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}.portfolio-card{background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.portfolio-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-raised)}.portfolio-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--navy)}.portfolio-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.portfolio-card:hover .portfolio-card-media img{transform:scale(1.045)}.portfolio-card-body{padding:24px}.portfolio-card-body h3{font-family:'Source Serif 4',Georgia,serif;font-size:28px;line-height:1.08;margin-top:8px}.portfolio-card-body p:not(.eyebrow){color:var(--ink-muted);font-size:14px;margin-top:10px}.area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:42px}.area-card{min-height:220px;border-radius:20px;background:var(--navy);color:white;position:relative;overflow:hidden;box-shadow:var(--shadow-soft)}.area-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s ease}.area-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,48,.05) 15%,rgba(7,27,48,.85) 100%)}.area-card:hover>img{transform:scale(1.06);filter:saturate(1.08)}.area-overlay{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column}.area-card span{font-size:11px;color:var(--gold-pale);font-weight:800;letter-spacing:.13em}.area-card strong{font-family:'Source Serif 4',Georgia,serif;font-size:22px;margin-top:5px}
.property-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.property-type{padding:30px;border:1px solid var(--line);background:white;border-radius:22px}.property-type h3{font-family:'Source Serif 4',Georgia,serif;font-size:25px}.property-type p{color:var(--ink-muted);font-size:14px;margin-top:9px}

.owner-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:52px}.journey-item{padding:26px 20px;border-top:1px solid var(--line);position:relative}.journey-item::before{content:"";position:absolute;top:-6px;left:20px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px var(--gold-soft)}.journey-item strong{font-family:'Source Serif 4',Georgia,serif;font-size:22px}.journey-item p{font-size:13px;color:var(--ink-muted);margin-top:8px}

.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;align-items:start}.contact-panel{background:var(--navy);color:white;border-radius:28px;padding:40px;position:sticky;top:110px}.contact-panel h2{font-family:'Source Serif 4',Georgia,serif;font-size:42px;line-height:1.05}.contact-panel>p{color:rgba(255,255,255,.65);margin-top:14px}.contact-list{display:grid;gap:18px;margin-top:34px}.contact-item{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.contact-item:first-child{border-top:0;padding-top:0}.contact-item .icon-ring{width:48px;height:48px;background:rgba(201,168,107,.13);color:var(--gold-pale);border-color:rgba(201,168,107,.22)}.contact-item .icon-ring svg{width:21px;height:21px}.contact-item small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.5);font-weight:800}.contact-item a,.contact-item span{font-size:15px;font-weight:650}
.form-card{background:white;border:1px solid var(--line);border-radius:28px;padding:42px}.form-card h2{font-family:'Source Serif 4',Georgia,serif;font-size:42px}.form-card>p{color:var(--ink-muted);margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:var(--navy);letter-spacing:.03em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:14px 15px;color:var(--ink);outline:none;transition:.25s ease}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,107,.12);background:white}.form-note{font-size:12px;color:var(--ink-muted);margin-top:15px}.form-status{margin-top:12px;font-size:13px;font-weight:700;color:var(--success);display:none}.form-card .btn{margin-top:22px}

.site-footer{background:var(--navy-deep);color:white;padding:74px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px}.footer-logo{width:245px;opacity:.98;background:none;padding:0;border-radius:0;filter:drop-shadow(0 8px 18px rgba(0,0,0,.16))}.footer-about p{color:rgba(255,255,255,.58);font-size:14px;max-width:360px;margin-top:20px}.footer-col h3{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-pale);margin-bottom:18px}.footer-links{list-style:none;display:grid;gap:11px}.footer-links a{color:rgba(255,255,255,.64);font-size:14px;transition:.25s ease}.footer-links a:hover{color:white}.socials{display:flex;gap:9px;margin-top:22px}.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);color:white;transition:.3s var(--ease)}.socials a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);transform:translateY(-3px)}.socials svg{width:18px;height:18px;fill:currentColor}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:52px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.45);font-size:12px}

.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:900;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 16px 34px rgba(37,211,102,.34);border:2px solid rgba(255,255,255,.95);transition:.35s var(--ease)}.whatsapp-float:hover{transform:translateY(-5px) scale(1.05);background:#1ebe5b;box-shadow:0 22px 40px rgba(37,211,102,.42)}.whatsapp-float svg{position:relative;z-index:2;width:30px;height:30px;fill:currentColor;flex:0 0 auto}.whatsapp-float .wa-text{display:none}.whatsapp-float .wa-pulse{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.22);pointer-events:none}.whatsapp-float::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(37,211,102,.34);animation:waPulse 2s ease-out infinite}.whatsapp-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 55%)}@keyframes waPulse{0%{opacity:.72;transform:scale(1)}70%{opacity:0;transform:scale(1.16)}100%{opacity:0;transform:scale(1.2)}}
.back-top{position:fixed;right:24px;bottom:92px;z-index:850;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--navy);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s var(--ease);box-shadow:var(--shadow-soft)}.back-top.show{opacity:1;visibility:visible;transform:none}.back-top:hover{background:var(--gold-soft);border-color:var(--gold)}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--delay,0ms)}
[data-reveal].revealed{opacity:1;transform:none}
[data-reveal="left"]{transform:translateX(-35px)}[data-reveal="right"]{transform:translateX(35px)}[data-reveal="left"].revealed,[data-reveal="right"].revealed{transform:none}

@media (max-width:1120px){
  .desktop-nav{gap:19px}.nav-actions .btn{display:none}.hero-bars,.page-hero .hero-bars{right:-8%}
  .split,.split.reverse{gap:45px}.card-grid{grid-template-columns:repeat(2,1fr)}.card-grid .card:last-child:nth-child(7){grid-column:auto}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.area-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr;}.footer-col:last-child{grid-column:2/4}
}
@media (max-width:900px){
  :root{--header:78px}.container{width:min(calc(100% - 36px),var(--max))}.section{padding:82px 0}.section-sm{padding:62px 0}
  .desktop-nav,.nav-actions{display:none}.menu-toggle{display:flex}.mobile-menu{display:block}.logo-link img{width:200px;max-height:52px}.site-header.scrolled .logo-link img{width:190px}
  .hero{min-height:auto}.hero-inner{padding:84px 0 56px}.hero-bars{opacity:.085;right:-18%;width:54vw;height:48%}.hero-stats{grid-template-columns:repeat(2,1fr);margin-top:60px}
  .page-hero{min-height:470px}.page-hero-inner{padding:80px 0 60px}
  .split,.split.reverse{grid-template-columns:1fr;gap:38px}.split.reverse .media-card{order:0}.media-card{aspect-ratio:4/3;max-height:380px}.media-card img{min-height:0}
  .challenge-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,1fr);gap:35px 28px}.feature-grid{grid-template-columns:1fr}
  .cta-inner{align-items:start;flex-direction:column}.cta-actions{width:100%}
  .service-detail{grid-template-columns:1fr}.service-detail:nth-child(even) .service-visual{order:0}.service-visual{aspect-ratio:4/3;max-height:300px}.service-visual img{min-height:0}
  .value-grid{grid-template-columns:repeat(2,1fr)}.flagship{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.area-grid{grid-template-columns:repeat(2,1fr)}.property-types{grid-template-columns:repeat(2,1fr)}
  .owner-journey{grid-template-columns:repeat(2,1fr);gap:18px}.journey-item{border:1px solid var(--line);border-radius:18px;padding:24px}.journey-item::before{top:20px;left:auto;right:20px}
  .contact-grid{grid-template-columns:1fr}.contact-panel{position:relative;top:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-col:last-child{grid-column:auto}
}
@media (max-width:640px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:68px 0}.section-sm{padding:52px 0}
  .logo-link img{width:174px}.site-header.scrolled .logo-link img{width:165px}.menu-toggle{width:44px;height:44px}
  .hero-inner{padding:68px 0 46px}.hero h1{font-size:clamp(48px,14vw,72px)}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-bars{right:-28%;width:65vw;height:40%;top:10%}.hero-stats{grid-template-columns:1fr 1fr;gap:22px 16px;margin-top:48px}.stat dd{font-size:36px}.stat dt{font-size:9px}
  .page-hero{min-height:420px}.page-hero h1{font-size:clamp(43px,13vw,66px)}.page-hero p{font-size:16px}
  .section-heading h2,.copy h2{font-size:clamp(36px,11vw,52px)}.card-grid,.challenge-list,.value-grid,.mission-grid,.property-types,.portfolio-grid{grid-template-columns:1fr}.card{min-height:auto;padding:25px}.process-grid{grid-template-columns:1fr}.media-card{aspect-ratio:4/3;max-height:310px}.media-card img{min-height:0}.tick-list{grid-template-columns:1fr}
  .flagship{padding:16px}.flagship-visual{aspect-ratio:5/4;max-height:320px}.flagship-visual img{min-height:0}.flagship-copy{padding:18px 8px}.flagship-copy h3{font-size:37px}.area-grid{grid-template-columns:1fr 1fr}.area-card{min-height:190px}.owner-journey{grid-template-columns:1fr}
  .contact-panel,.form-card{padding:28px 22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card h2,.contact-panel h2{font-size:36px}
  .footer-grid{grid-template-columns:1fr;gap:34px}.footer-about{grid-column:auto}.footer-bottom{flex-direction:column}.footer-logo{width:215px}.whatsapp-float{right:16px;bottom:16px;width:58px;height:58px}.whatsapp-float::after,.whatsapp-float .wa-pulse,.whatsapp-float::before{border-radius:50%}.back-top{right:22px;bottom:84px}
  .cta{padding:68px 0}.cta-actions{flex-direction:column}.cta-actions .btn{width:100%}
}
@media (max-width:390px){.area-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr 1fr}.stat dd{font-size:31px}.container{width:min(calc(100% - 24px),var(--max))}.whatsapp-float{right:14px;bottom:14px;width:54px;height:54px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}}
