:root{
  --shell:min(100vw - 36px, 1496px);
  --ink:#1f2630;
  --muted:#4a515a;
  --gold:#E2B359;
  --forest:#054B4A;
  --stone:#f4f1eb;
  --line:rgba(31,38,48,.14);
  --header-h:88px;
  --page-pad:clamp(24px,2vw,34px);
  --display:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
}
*{box-sizing:border-box}
html{margin:0;padding:0}
body{margin:0;background:#ebe8e2;color:var(--ink);font-family:var(--sans);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.shell{width:var(--shell);margin:0 auto}
.site-shell{min-height:100svh}
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;padding:22px 0 0}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.brandmark img{width:auto;height:42px}
.brandmark__light{display:none}
.menu-toggle{display:none;border:0;background:none;color:inherit;font:500 1rem/1 var(--sans);padding:0}
.site-nav{margin-left:auto}
.menu{display:flex;align-items:center;gap:clamp(18px,2.2vw,44px);list-style:none;margin:0;padding:0}
.menu li{margin:0}
.menu a{position:relative;display:block;padding:10px 0;font:500 clamp(16px,1.15vw,17px)/1 var(--sans);letter-spacing:-.02em}
.current-menu-item>a::after,.current_page_item>a::after,.menu a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--gold)}
.site-main{min-height:100svh}
.page-shell{animation:pageEnter .75s cubic-bezier(.2,.8,.2,1)}
body.page-leaving .page-shell{animation:pageExit .4s ease forwards}
@keyframes pageEnter{from{opacity:0;transform:translateY(8vh)}to{opacity:1;transform:none}}
@keyframes pageExit{to{opacity:0;transform:translateY(-5vh)}}
.scene{position:relative;min-height:100svh;overflow:hidden;background:var(--stone)}
.scene::before{content:"";position:absolute;inset:0;background-image:var(--scene-image);background-size:cover;background-position:center center}
.scene__shade,.scene__wash{position:absolute;inset:0}
.scene__shade{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 36%,rgba(0,0,0,.10) 100%)}
.scene__wash{background:linear-gradient(90deg,rgba(247,244,239,.96) 0%,rgba(247,244,239,.92) 34%,rgba(247,244,239,.72) 62%,rgba(247,244,239,.10) 100%)}
.scene__inner{position:relative;z-index:2;min-height:100svh;padding:calc(var(--header-h) + 26px) 0 var(--page-pad);display:flex;flex-direction:column;justify-content:flex-start}
.scene--home .scene__inner{justify-content:center;padding-top:calc(var(--header-h) + 8px)}
.scene-copy,.page-lead,.scene-content,.scene-intro,.entry-content{max-width:720px}
h1,.page-title{margin:0;font-family:var(--display);font-weight:500;letter-spacing:-.045em;line-height:.88;color:var(--ink);font-size:clamp(78px,7.3vw,104px)}
.scene--dark h1,.scene--dark .page-title{color:#f4f1eb}
.scene-copy--home{max-width:520px}
.scene-copy--home h1{max-width:440px;font-size:clamp(86px,7vw,100px)}
.scene-intro{margin:22px 0 14px;font:500 clamp(16px,1.2vw,18px)/1.2 var(--sans);color:var(--gold);letter-spacing:-.02em}
.scene-content,.entry-content{font:400 clamp(19px,1.42vw,22px)/1.55 var(--sans);color:var(--muted)}
.scene--dark .scene-content,.scene--dark .entry-content{color:#f5f2ec}
.scene-content p,.entry-content p{margin:0 0 14px}
.scene-content h2,.scene-content h3,.entry-content h2,.entry-content h3{font-family:var(--display);font-weight:500;letter-spacing:-.03em;line-height:.95;color:var(--ink);margin:0 0 10px}
.scene--dark .scene-content h2,.scene--dark .scene-content h3,.scene--dark .entry-content h2,.scene--dark .entry-content h3{color:#f4f1eb}
.scene-content h2,.entry-content h2{font-size:clamp(46px,3.4vw,62px)}
.scene-content h3,.entry-content h3{font-size:clamp(34px,2.3vw,44px)}
.page-stage{width:100%;max-height:calc(100svh - var(--header-h) - 42px);display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.page-stage--about{gap:18px}
.page-body{min-height:0}
.page-body--two-col .wp-block-columns{gap:44px;align-items:stretch}
.page-body--two-col .wp-block-column{padding:0 28px 0 0}
.page-body--two-col .wp-block-column + .wp-block-column{padding:0 0 0 34px;border-left:1px solid var(--line)}
.page-body--vision{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.page-body--vision .wp-block-columns,.page-body--vision > .wp-block-columns{gap:28px}
.page-body--vision .wp-block-column{padding-right:28px;border-right:1px solid var(--line)}
.page-body--vision .wp-block-column:last-child{padding-right:0;border-right:0}
.page-body--vision h2:first-child,.page-body--vision > h2:first-child{font-size:clamp(52px,3.8vw,66px);margin-bottom:16px}
.page-body--vision p{font-size:clamp(16px,1.05vw,17px);line-height:1.65}
.page-lead--portfolio{max-width:620px}
.page-lead--about{max-width:520px}
.portfolio-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:32px;align-items:start;min-height:0}
.portfolio-main{min-height:0}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.property-card{background:rgba(255,255,255,.70);border:1px solid rgba(31,38,48,.10);border-radius:20px;overflow:hidden;backdrop-filter:blur(3px)}
.property-card__link{display:block}
.property-card__image img{width:100%;aspect-ratio:1.8/1;object-fit:cover}
.property-card__body{padding:14px 14px 12px}
.property-card h3{margin:0 0 4px;font-family:var(--display);font-weight:500;letter-spacing:-.03em;font-size:clamp(28px,2.1vw,34px);line-height:.95}
.meta-location{margin:0 0 12px;font:400 15px/1.3 var(--sans);color:var(--muted)}
.property-card__meta{display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid rgba(31,38,48,.10);font:500 15px/1.3 var(--sans)}
.property-card__meta span:first-child{color:#c08e33}
.advisory-panel{padding:12px 0 0 30px;border-left:1px solid var(--line);align-self:stretch}
.advisory-panel .scene-content{max-width:360px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.96fr);gap:42px;align-items:center;min-height:calc(100svh - var(--header-h) - 56px)}
.page-lead--contact{max-width:540px;color:#fff}
.contact-form-wrap{margin-left:auto;width:min(100%,630px);background:rgba(247,244,239,.96);border-radius:18px;padding:34px 42px 28px;border:1px solid rgba(255,255,255,.32);box-shadow:0 20px 50px rgba(0,0,0,.14)}
.contact-form{display:grid;gap:18px}
.contact-form label span{display:block;margin:0 0 10px;color:#333;font:500 16px/1.2 var(--sans)}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(31,38,48,.12);background:rgba(255,255,255,.8);border-radius:8px;padding:17px 18px;font:400 16px/1.3 var(--sans);color:var(--ink)}
.contact-form textarea{min-height:152px;resize:vertical}
.contact-form__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:8px;border-top:1px solid rgba(31,38,48,.12);margin-top:4px}
.button-primary{appearance:none;border:0;border-radius:999px;padding:14px 22px;background:var(--forest);color:#fff;font:600 15px/1 var(--sans);cursor:pointer}
.contact-form__footnote{margin:0;font:400 16px/1.5 var(--sans);color:#50555d;max-width:280px}
.form-notice{padding:12px 14px;border-radius:12px;margin:0 0 14px;font:500 14px/1.35 var(--sans)}
.form-notice--success{background:#edf8f2;color:#0f5132}
.form-notice--error{background:#fff3f2;color:#842029}
.generic-page{padding:140px 0 60px}
.narrow{max-width:min(920px,calc(100vw - 32px))}
.page-title{font-size:clamp(60px,5vw,88px)}
.back-link{display:inline-block;margin-bottom:18px;color:var(--forest)}
.featured-media{margin:0 0 26px;border-radius:20px;overflow:hidden}
.page-home .menu a,.page-contact .menu a{color:#f5f2ec}
.page-home .brandmark__dark,.page-contact .brandmark__dark{display:none}
.page-home .brandmark__light,.page-contact .brandmark__light{display:block}
.page-home .menu-toggle,.page-contact .menu-toggle{color:#f5f2ec}
.editor-styles-wrapper,.block-editor-writing-flow{font-family:var(--sans)}
@media (max-width: 1280px){
  :root{--header-h:82px}
  .scene-content,.entry-content{font-size:clamp(17px,1.2vw,19px)}
  h1,.page-title{font-size:clamp(66px,6.7vw,96px)}
  .scene-copy--home h1{font-size:clamp(74px,6.6vw,94px)}
  .contact-layout{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);gap:28px}
  .contact-form-wrap{padding:28px 32px 24px}
}
@media (max-width: 1080px){
  .scene,.scene__inner{min-height:auto}
  .scene__inner{padding-bottom:28px}
  .page-stage,.contact-layout{max-height:none;min-height:0}
  .portfolio-layout,.contact-layout,.page-body--two-col .wp-block-columns,.page-body--vision .wp-block-columns{display:block}
  .portfolio-grid{margin-top:22px}
  .advisory-panel{border-left:0;padding:24px 0 0;margin-top:20px;border-top:1px solid var(--line)}
  .page-body--two-col .wp-block-column,.page-body--vision .wp-block-column{padding:0;border:0}
  .page-body--two-col .wp-block-column + .wp-block-column,.page-body--vision .wp-block-column + .wp-block-column{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
  .contact-form-wrap{margin:24px 0 0;width:100%}
}
@media (max-width: 820px){
  :root{--shell:min(100vw - 24px, 1496px);--header-h:74px}
  .site-header{padding-top:14px}
  .brandmark img{height:36px}
  .menu-toggle{display:block;margin-left:auto}
  .site-nav{display:none;position:absolute;top:54px;right:0;min-width:210px;padding:14px 18px;border-radius:16px;background:rgba(247,244,239,.96);box-shadow:0 16px 36px rgba(0,0,0,.14)}
  .page-home .site-nav,.page-contact .site-nav{background:rgba(9,16,16,.92)}
  .site-nav.is-open{display:block}
  .menu{flex-direction:column;align-items:flex-start;gap:12px}
  .scene__inner{padding-top:calc(var(--header-h) + 22px)}
  h1,.page-title{font-size:clamp(58px,18vw,86px)}
  .scene-copy--home h1{font-size:clamp(64px,17vw,84px)}
  .scene-content,.entry-content{font-size:17px;line-height:1.55}
  .portfolio-grid{grid-template-columns:1fr}
  .contact-form__footer{display:block}.contact-form__footnote{margin-top:14px;max-width:none}
}
@media (max-width: 560px){
  :root{--shell:min(100vw - 18px, 1496px)}
  .site-header{padding-top:10px}
  .brandmark img{height:32px}
  .scene__inner{padding-top:calc(var(--header-h) + 16px);padding-bottom:18px}
  h1,.page-title{font-size:clamp(52px,17vw,72px)}
  .scene-copy--home h1{font-size:clamp(56px,18vw,74px)}
  .contact-form-wrap{padding:22px 20px}
  .property-card__body{padding:12px}
}
