.elementor-kit-6{--e-global-color-primary:#C8A96A;--e-global-color-secondary:#081420;--e-global-color-text:#F2F5F8;--e-global-color-accent:#B9C4CF;--e-global-color-ink900:#05101E;--e-global-color-ink800:#081420;--e-global-color-ink700:#0C1826;--e-global-color-ink600:#122031;--e-global-color-ink500:#1B2A3A;--e-global-color-snow:#F2F5F8;--e-global-color-snowdim:#FFFFFF;--e-global-color-gold:#C8A96A;--e-global-color-goldlt:#E6D6AE;--e-global-color-golddk:#9A7B3C;--e-global-color-line:rgba(200,169,106,.22);--e-global-color-linesoft:rgba(242,245,248,.10);--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Jost";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Jost";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-display-font-family:"Cormorant Garamond";--e-global-typography-display-font-weight:500;--e-global-typography-display-line-height:1.06em;--e-global-typography-display-letter-spacing:0.005em;--e-global-typography-body-font-family:"Jost";--e-global-typography-body-font-weight:300;--e-global-typography-body-line-height:1.7em;--e-global-typography-af86e82-font-family:"Cormorant Garamond";--e-global-typography-af86e82-font-size:60px;--e-global-typography-af86e82-font-weight:500;--e-global-typography-af86e82-text-transform:capitalize;--e-global-typography-af86e82-line-height:60px;--e-global-typography-f98398a-font-family:"Cormorant Garamond";--e-global-typography-f98398a-font-size:44px;--e-global-typography-f98398a-font-weight:500;--e-global-typography-f98398a-text-transform:capitalize;--e-global-typography-f98398a-line-height:60px;--e-global-typography-de40c72-font-family:"Cormorant Garamond";--e-global-typography-de40c72-font-size:32px;--e-global-typography-de40c72-font-weight:500;--e-global-typography-de40c72-text-transform:capitalize;--e-global-typography-de40c72-line-height:55px;--e-global-typography-3a638cd-font-family:"Cormorant Garamond";--e-global-typography-3a638cd-font-size:24px;--e-global-typography-3a638cd-font-weight:500;--e-global-typography-3a638cd-text-transform:capitalize;--e-global-typography-3a638cd-line-height:25px;--e-global-typography-39c3b65-font-family:"Cormorant Garamond";--e-global-typography-39c3b65-font-size:20px;--e-global-typography-39c3b65-font-weight:500;--e-global-typography-39c3b65-text-transform:capitalize;--e-global-typography-39c3b65-line-height:50px;--e-global-typography-1aa71c1-font-family:"Cormorant Garamond";--e-global-typography-1aa71c1-font-size:16px;--e-global-typography-1aa71c1-font-weight:500;--e-global-typography-1aa71c1-text-transform:capitalize;--e-global-typography-1aa71c1-line-height:50px;color:#F2F5F8;font-family:"Jost", Sans-serif;font-size:18px;font-weight:300;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#C8A96A;font-family:"Jost", Sans-serif;font-size:13.6px;font-weight:500;text-transform:uppercase;letter-spacing:0.17em;color:#05101E;border-radius:2px 2px 2px 2px;padding:16px 33px 16px 33px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#E6D6AE;color:#05101E;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{font-family:"Cormorant Garamond", Sans-serif;font-size:73.6px;font-weight:500;line-height:1.06em;}.elementor-kit-6 h2{font-family:"Cormorant Garamond", Sans-serif;font-size:52px;font-weight:500;line-height:1.06em;}.elementor-kit-6 h3{font-family:"Cormorant Garamond", Sans-serif;font-size:29.6px;font-weight:500;line-height:1.06em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6 h1{font-size:58px;}.elementor-kit-6 h2{font-size:43px;}.elementor-kit-6 h3{font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:480px){.elementor-kit-6{--e-global-typography-af86e82-font-size:44px;--e-global-typography-af86e82-line-height:45px;--e-global-typography-f98398a-font-size:32px;--e-global-typography-f98398a-line-height:37px;--e-global-typography-de40c72-font-size:28px;--e-global-typography-de40c72-line-height:32px;--e-global-typography-3a638cd-font-size:20px;--e-global-typography-3a638cd-line-height:24px;--e-global-typography-39c3b65-font-size:18px;--e-global-typography-39c3b65-line-height:20px;--e-global-typography-1aa71c1-font-size:16px;--e-global-typography-1aa71c1-line-height:20px;}.elementor-kit-6 h1{font-size:44px;}.elementor-kit-6 h2{font-size:34.4px;}.elementor-kit-6 h3{font-size:23.2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   INCLINE SHINE - DESIGN TOKENS
   Palette extracted from the supplied logo file:
   pane navy #05101E, wordmark ink #0C1824, metallic gold ramp #9A7B3C > #C8A96A > #E6D6AE
   Page theme is LOCKED dark. Brand insists (logo glass is navy). No section inverts.
   Shape rule: everything is 2px. The arch (radius 999px top / 2px bottom) is the single
   brand motif, taken from the logo, and is used on image frames only.
   ============================================================ */
:root{
--ink-900:var(--e-global-color-ink900);
--ink-800:var(--e-global-color-ink800);
--ink-700:var(--e-global-color-ink700);
--ink-600:var(--e-global-color-ink600);
--ink-500:var(--e-global-color-ink500);
--snow:var(--e-global-color-snow);
--snow-dim:var(--e-global-color-snowdim);
--gold:var(--e-global-color-gold);
--gold-lt:var(--e-global-color-goldlt);
--gold-dk:var(--e-global-color-golddk);
--line:var(--e-global-color-line);
--line-soft:var(--e-global-color-linesoft);
--r:2px;
--maxw:1400px;
--gutter:clamp(1.25rem,4vw,3.5rem);
--ease:cubic-bezier(.16,1,.3,1);
--z-nav:100;
--z-drawer:110;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--ink-700);
  color:var(--snow);
  font-family:var(--e-global-typography-body-font-family),system-ui,sans-serif;
  font-weight:300;
  font-size:1.125rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

::selection{background:var(--gold);color:var(--ink-900)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);width:100%}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:200;background:var(--gold);color:var(--ink-900);padding:.75rem 1.25rem}

/* ---------- type ---------- */
.display{
  font-family:var(--e-global-typography-display-font-family),Georgia,serif;
  font-weight:500;
  line-height:1.06;
  letter-spacing:.005em;
  margin:0;
}
h1.display{font-size:clamp(2.75rem,5.6vw,4.6rem)}
h2.display{font-size:clamp(2.15rem,3.8vw,3.25rem)}
h3.display{font-size:clamp(1.45rem,2.05vw,1.85rem)}
.lede{font-size:clamp(1.12rem,1.3vw,1.24rem);color:var(--snow-dim);max-width:46ch;margin:1.35rem 0 0}
.body-sm{font-size:1.06rem;color:var(--snow-dim);margin:.6rem 0 0;max-width:52ch}
.eyebrow{
  font-size:.78rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1.1rem;
}
.rule{height:1px;background:var(--line-soft);border:0;margin:0}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  white-space:nowrap;
  font-size:.85rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;
  padding:1.05rem 2.1rem;border-radius:var(--r);border:1px solid transparent;
  cursor:pointer;transition:background .35s var(--ease),border-color .35s var(--ease),transform .18s var(--ease),color .35s var(--ease);
}
.btn-primary{background:var(--gold);color:var(--ink-900);border-color:var(--gold)}
.btn-primary:hover{background:var(--gold-lt);border-color:var(--gold-lt);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(1px)}
.btn-ghost{background:transparent;color:var(--snow);border-color:rgba(200,169,106,.45)}
.btn-ghost:hover{border-color:var(--gold);background:rgba(200,169,106,.09);transform:translateY(-1px)}
.btn-ghost:active{transform:translateY(1px)}
.btn-sm{padding:.75rem 1.3rem;font-size:.78rem}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.textlink{
  display:inline-flex;align-items:center;gap:.5rem;color:var(--gold);
  font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  border-bottom:1px solid rgba(200,169,106,.35);padding-bottom:.28rem;
  transition:color .3s var(--ease),border-color .3s var(--ease),gap .3s var(--ease);
}
.textlink:hover{color:var(--gold-lt);border-color:var(--gold-lt);gap:.85rem}

/* ---------- arch motif (from logo) ---------- */
.arch{
  position:relative;border-radius:999px 999px var(--r) var(--r);overflow:hidden;
  border:1px solid var(--line);
}
.arch img{width:100%;height:100%;object-fit:cover}
.arch::after{
  content:"";position:absolute;inset:10px;border:1px solid rgba(230,214,174,.28);
  border-radius:999px 999px var(--r) var(--r);pointer-events:none;
}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:var(--z-nav);
  background:rgba(8,20,32,.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-soft);
  transition:background .4s var(--ease),border-color .4s var(--ease);
}
@media (prefers-reduced-transparency:reduce){.nav{background:var(--ink-800);backdrop-filter:none}}
.nav.is-stuck{background:rgba(5,16,30,.94);border-bottom-color:var(--line)}
.nav-inner{display:flex;align-items:center;gap:clamp(.9rem,1.8vw,1.9rem);height:76px}
.brand{display:flex;align-items:center;gap:.85rem;flex:0 0 auto}
.brand img{height:38px;width:auto}
.brand-type{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--e-global-typography-display-font-family),serif;font-size:1.12rem;letter-spacing:.2em;text-transform:uppercase}
.brand-sub{font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:.3rem}

.nav-links{display:flex;align-items:center;gap:clamp(.8rem,1.35vw,1.45rem);margin-left:auto}
.nav-item{position:relative}
.nav-links a{
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--snow-dim);white-space:nowrap;
  padding-block:.4rem;border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease);
}
.nav-links a[aria-current]{color:var(--gold);border-bottom-color:var(--gold)}
.nav-links a:hover{color:var(--snow);border-bottom-color:var(--gold)}
.nav-tel{font-size:.8rem;letter-spacing:.12em;color:var(--snow);white-space:nowrap}
.nav-tel:hover{color:var(--gold)}

.nav-burger{display:none;background:transparent;border:1px solid var(--line);border-radius:var(--r);padding:.55rem .7rem;cursor:pointer;font-size:1.15rem;line-height:1}
.drawer{display:none}

@media (max-width:1279px){
  .nav-links,.nav-tel{display:none}
  .nav-burger{display:inline-flex;margin-left:auto}
  .nav-inner{gap:.75rem}
  .drawer{
    display:block;position:fixed;inset:76px 0 auto;z-index:var(--z-drawer);
    background:var(--ink-800);border-bottom:1px solid var(--line);
    transform:translateY(-12px);opacity:0;visibility:hidden;
    transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
  }
  .drawer.is-open{opacity:1;transform:none;visibility:visible}
  .drawer nav{display:flex;flex-direction:column;padding:1.25rem 0 2rem}
  .drawer a{padding:.95rem 0;border-bottom:1px solid var(--line-soft);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--snow-dim)}
  .drawer .btn{margin-top:1.5rem}
}
@media (max-width:520px){.brand-type{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(3rem,6vw,5rem);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,5rem);align-items:center;min-height:min(78vh,720px)}
.hero-copy .lede{max-width:42ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.4rem}
.hero-media{position:relative;isolation:isolate;justify-self:end;width:100%;max-width:520px;aspect-ratio:4/5}
.hero-media .arch{height:100%}
.hero-glow{
  position:absolute;inset:-18% -12% auto 8%;height:70%;
  background:radial-gradient(60% 60% at 50% 40%,rgba(200,169,106,.16),transparent 70%);
  filter:blur(28px);pointer-events:none;z-index:-1;
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:2.75rem}
  .hero-media{justify-self:start;max-width:100%;aspect-ratio:5/4}
  .hero-media .arch{border-radius:220px 220px var(--r) var(--r)}
}

/* ---------- credibility band ---------- */
.band{border-block:1px solid var(--line-soft);background:var(--ink-800)}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.band-item{padding:1.9rem clamp(1rem,2vw,2rem);border-left:1px solid var(--line-soft)}
.band-item:first-child{border-left:0;padding-left:0}
.band-item i{color:var(--gold);font-size:1.35rem;display:block;margin-bottom:.7rem}
.band-item h3{font-size:1rem;font-weight:400;letter-spacing:.03em;margin:0}
.band-item p{font-size:.92rem;color:var(--snow-dim);margin:.3rem 0 0}
@media (max-width:820px){
  .band-grid{grid-template-columns:1fr 1fr}
  .band-item{border-left:0;border-top:1px solid var(--line-soft);padding-inline:0}
  .band-item:nth-child(-n+2){border-top:0}
  .band-item:nth-child(even){padding-left:1.5rem;border-left:1px solid var(--line-soft)}
}
@media (max-width:480px){
  .band-grid{grid-template-columns:1fr}
  .band-item{border-left:0!important;padding-left:0!important}
  .band-item:nth-child(2){border-top:1px solid var(--line-soft)}
}

/* ---------- services bento ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.75rem,1.1vw,1.1rem);margin-top:clamp(2.5rem,4vw,3.75rem)}
.tile{
  position:relative;isolation:isolate;border:1px solid var(--line-soft);border-radius:var(--r);
  padding:clamp(1.6rem,2.3vw,2.35rem);background:var(--ink-800);
  display:flex;flex-direction:column;justify-content:flex-end;min-height:250px;
  overflow:hidden;transition:border-color .4s var(--ease),transform .4s var(--ease);
}
.tile:hover{border-color:var(--line);transform:translateY(-3px)}
.tile i{color:var(--gold);font-size:1.5rem;margin-bottom:auto}
.tile h3{margin:1.6rem 0 0}
.tile p{font-size:1rem;color:var(--snow-dim);margin:.55rem 0 0;max-width:44ch}
.tile .textlink{margin-top:1.35rem;align-self:flex-start}
.tile-photo{border:0;background:transparent}
.tile-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tile-photo::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(5,16,30,.25) 0%,rgba(5,16,30,.72) 52%,rgba(5,16,30,.94) 100%);
}
.tile-gold{background:linear-gradient(145deg,rgba(200,169,106,.16),rgba(5,16,30,.2) 62%),var(--ink-600);border-color:var(--line)}
.c-12{grid-column:span 12}.c-7{grid-column:span 7}.c-5{grid-column:span 5}
.c-6{grid-column:span 6}.c-4{grid-column:span 4}.c-8{grid-column:span 8}
.tall{min-height:430px}
@media (max-width:900px){
  .bento>*{grid-column:span 12!important}
  .tall{min-height:340px}
}

/* ---------- program band (media overlap) ---------- */
.program{position:relative;background:var(--ink-800);border-block:1px solid var(--line-soft)}
.program-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,4vw,4rem)}
.program-media{position:relative;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;aspect-ratio:16/10}
.program-media img{width:100%;height:100%;object-fit:cover}
.program-media figcaption{
  font-size:.78rem;color:var(--snow-dim);letter-spacing:.04em;
  padding:.9rem 1.1rem;border-top:1px solid var(--line-soft);background:var(--ink-700);
}
.spec{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem;margin-top:2.2rem}
.spec div{border-top:1px solid var(--line);padding-top:.9rem}
.spec h4{margin:0;font-size:1.02rem;font-weight:400}
.spec p{margin:.25rem 0 0;font-size:.93rem;color:var(--snow-dim)}
@media (max-width:900px){.program-grid{grid-template-columns:1fr}.spec{grid-template-columns:1fr}}

/* ---------- process (scroll snap) ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(2.5rem,4vw,3.5rem);border-top:1px solid var(--line)}
.step{padding:2.1rem clamp(1.1rem,1.8vw,1.9rem) 0;border-left:1px solid var(--line-soft)}
.step:first-child{border-left:0;padding-left:0}
.step h3{font-size:1.2rem;font-weight:400;margin:0;letter-spacing:.01em}
.step p{font-size:.97rem;color:var(--snow-dim);margin:.6rem 0 0}
.step i{color:var(--gold);font-size:1.2rem;display:block;margin-bottom:1rem}
@media (max-width:820px){
  .process{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .process::-webkit-scrollbar{display:none}
  .step{flex:0 0 78%;scroll-snap-align:start;padding-left:1.5rem}
  .step:first-child{padding-left:0}
}

/* ---------- split (owner) ---------- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split-media{position:relative;aspect-ratio:4/5;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.split-media img{width:100%;height:100%;object-fit:cover}
.quotemark{color:var(--gold);font-size:1.6rem}
@media (max-width:900px){.split{grid-template-columns:1fr}}

/* ---------- holiday full bleed ---------- */
.holiday{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(5rem,10vw,9rem)}
.holiday img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.holiday::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(5,16,30,.96) 0%,rgba(5,16,30,.86) 42%,rgba(5,16,30,.55) 100%);
}
.holiday-copy{max-width:var(--maxw)}
.holiday-copy h2{max-width:17ch}
.holiday-copy .lede{max-width:46ch}
.chiplist{display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0 0;padding:0;list-style:none}
.chiplist li{
  border:1px solid var(--line);border-radius:var(--r);padding:.6rem 1.15rem;
  font-size:.88rem;letter-spacing:.09em;color:var(--snow-dim);background:rgba(5,16,30,.55);
}

/* ---------- areas ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:2.75rem}
.area{background:var(--ink-800);padding:1.7rem;display:flex;align-items:center;gap:.75rem;transition:background .4s var(--ease)}
.area:hover{background:var(--ink-600)}
.area i{color:var(--gold);font-size:1.05rem}
.area span{font-size:1.05rem;letter-spacing:.04em}

/* ---------- testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);margin-top:clamp(2.5rem,4vw,3.5rem)}
.quote{border-top:1px solid var(--line);padding-top:1.6rem}
.quote blockquote{margin:0;font-family:var(--e-global-typography-display-font-family),serif;font-size:clamp(1.15rem,1.6vw,1.42rem);line-height:1.45}
.quote cite{display:block;margin-top:1.1rem;font-style:normal;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.quote:nth-child(1){grid-column:1/span 5}
.quote:nth-child(2){grid-column:7/span 5;margin-top:clamp(0px,4vw,3.5rem)}
.quote:nth-child(3){grid-column:3/span 6;margin-top:clamp(0px,5vw,4rem)}
@media (max-width:900px){.quotes>*{grid-column:span 12!important;margin-top:0!important}}

/* ---------- form ---------- */
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.form-panel{background:var(--ink-800);border:1px solid var(--line-soft);border-radius:var(--r);padding:clamp(1.6rem,3vw,2.6rem)}
.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.35rem}
.field label{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--snow)}
.field input,.field select,.field textarea{
  background:var(--ink-700);border:1px solid rgba(242,245,248,.22);border-radius:var(--r);
  color:var(--snow);font:inherit;font-size:1.02rem;padding:.9rem 1rem;width:100%;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.field textarea{min-height:110px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8d9aa8}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none;background:var(--ink-600)}
.field .help{font-size:.86rem;color:var(--snow-dim)}
.field .err{font-size:.88rem;color:#ffb4a2;display:none}
.field.is-invalid input,.field.is-invalid select{border-color:#ff8f78}
.field.is-invalid .err{display:block}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.form-status{display:none;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;background:rgba(200,169,106,.08)}
.form-status.is-shown{display:block}
.form-status h3{margin:0 0 .4rem}
.skeleton{height:1rem;border-radius:var(--r);background:linear-gradient(90deg,rgba(242,245,248,.07),rgba(242,245,248,.16),rgba(242,245,248,.07));background-size:200% 100%;animation:shimmer 1.3s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}
@media (max-width:520px){.two-up{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.footer{background:var(--ink-900);border-top:1px solid var(--line);padding-block:clamp(3.5rem,6vw,5rem) 2rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3rem)}
.footer h4{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 1.1rem;font-weight:500}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.footer a,.footer li{font-size:.98rem;color:var(--snow-dim)}
.footer a:hover{color:var(--gold)}
.footer-lockup img{width:190px;margin-bottom:1.4rem}
.footer-base{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--line-soft);font-size:.88rem;color:var(--snow-dim)}
.social{display:flex;gap:1rem;font-size:1.2rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* ---------- audience mode ---------- */
[data-mode]{display:none}
body[data-audience="residential"] [data-mode="residential"]{display:revert}
body[data-audience="commercial"] [data-mode="commercial"]{display:revert}
body[data-audience="residential"] .bento[data-mode="residential"],
body[data-audience="commercial"] .bento[data-mode="commercial"]{display:grid}
body[data-audience="residential"] .hero-grid[data-mode="residential"],
body[data-audience="commercial"] .hero-grid[data-mode="commercial"],
body[data-audience="residential"] .program-grid[data-mode="residential"],
body[data-audience="commercial"] .program-grid[data-mode="commercial"]{display:grid}
body[data-audience="residential"] .band-grid[data-mode="residential"],
body[data-audience="commercial"] .band-grid[data-mode="commercial"]{display:grid}

/* ---------- motion (MOTION_INTENSITY 6) ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.tile,.textlink,.area{transition:none}
  .skeleton{animation:none}
}

/* ============================================================
   INNER PAGES
   ============================================================ */

.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--snow-dim);margin:0 0 1.5rem}
.crumbs a{color:var(--gold)}
.crumbs a:hover{color:var(--gold-lt)}
.crumbs span{opacity:.5}

.page-hero{position:relative;isolation:isolate;overflow:hidden;padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem);border-bottom:1px solid var(--line-soft)}
.page-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(96deg,rgba(5,16,30,.97) 0%,rgba(5,16,30,.88) 46%,rgba(5,16,30,.58) 100%)}
.page-hero .lede{max-width:46ch}
.page-hero-inner{max-width:var(--maxw)}
.page-hero-inner h1{max-width:17ch}
.page-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem}

.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.two-col.flip .two-col-media{order:-1}
.two-col-media{position:relative;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.two-col-media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.two-col{grid-template-columns:1fr}.two-col.flip .two-col-media{order:0}}

.cards2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:clamp(2.2rem,4vw,3.25rem)}
.cards2 article{background:var(--ink-800);padding:clamp(1.4rem,2.2vw,2rem)}
.cards2 h3{margin:0;font-size:1.12rem;font-weight:400;letter-spacing:.02em}
.cards2 h3 i{color:var(--gold);margin-right:.55rem}
.cards2 p{margin:.45rem 0 0;font-size:.98rem;color:var(--snow-dim)}
@media (max-width:640px){.cards2{grid-template-columns:1fr}}

.faq{margin-top:clamp(2rem,3.5vw,3rem);border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq summary{
  list-style:none;cursor:pointer;padding:1.4rem 2.5rem 1.4rem 0;position:relative;
  font-size:1.14rem;letter-spacing:.01em;transition:color .3s var(--ease);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-lt)}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:1.25rem;color:var(--gold);font-size:1.3rem;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{content:"2212";transform:none}
.faq p{margin:0 0 1.5rem;font-size:1.02rem;color:var(--snow-dim);max-width:70ch}

.related{margin-top:clamp(2rem,3.5vw,2.75rem);border-top:1px solid var(--line)}
.related a{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:1.35rem 0;border-bottom:1px solid var(--line-soft);transition:padding .3s var(--ease),color .3s var(--ease);
}
.related a:hover{padding-inline:.6rem;color:var(--gold-lt)}
.related span{font-size:1.02rem}
.related small{font-size:.78rem;color:var(--snow-dim);letter-spacing:.04em}
.related i{color:var(--gold)}

.cta-band{background:var(--ink-800);border-block:1px solid var(--line)}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between;padding-block:clamp(3rem,5vw,4.5rem)}
.cta-band h2{max-width:20ch}
.cta-band .body-sm{margin-top:.8rem}

.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.6rem,1vw,1rem);margin-top:clamp(2.2rem,4vw,3rem)}
.gallery figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--r)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery figure:hover img{transform:scale(1.04)}
.g-a{grid-column:span 7;aspect-ratio:4/3}
.g-b{grid-column:span 5;aspect-ratio:1/1}
.g-c{grid-column:span 4;aspect-ratio:3/4}
.g-d{grid-column:span 8;aspect-ratio:16/9}
@media (max-width:820px){.gallery>*{grid-column:span 12!important;aspect-ratio:4/3!important}}

.area-block{display:grid;grid-template-columns:.4fr .6fr;gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2rem,3.5vw,3rem);border-top:1px solid var(--line-soft);align-items:start}
.area-block:first-of-type{border-top:1px solid var(--line)}
.area-block h3{margin:0}
.area-block p{margin:0;font-size:1.03rem;color:var(--snow-dim);max-width:62ch}
@media (max-width:760px){.area-block{grid-template-columns:1fr;gap:.6rem}}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.contact-list{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-direction:column;gap:1.5rem}
.contact-list h4{margin:0 0 .3rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500}
.contact-list p,.contact-list a{margin:0;font-size:1.05rem;color:var(--snow-dim)}
.contact-list a:hover{color:var(--gold)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

.timeline{margin-top:clamp(2.2rem,4vw,3rem);border-top:1px solid var(--line)}
.timeline-row{display:grid;grid-template-columns:.28fr .72fr;gap:clamp(1rem,3vw,2.5rem);padding-block:1.6rem;border-bottom:1px solid var(--line-soft);align-items:baseline}
.timeline-row h3{margin:0;font-size:1.14rem;font-weight:400;color:var(--gold)}
.timeline-row p{margin:0;font-size:1rem;color:var(--snow-dim);max-width:62ch}
@media (max-width:640px){.timeline-row{grid-template-columns:1fr;gap:.4rem}}


/* ============================================================
   REVIEW ROUND: nav menus, carousel, map, unique page layouts
   ============================================================ */

/* nav dropdowns */
.nav-menu{
  position:absolute;top:calc(100% + 18px);left:-.9rem;min-width:300px;z-index:var(--z-drawer);
  background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r);padding:.5rem;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  box-shadow:0 22px 60px rgba(5,16,30,.65);
}
.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;visibility:visible;transform:none}
.nav-menu a{
  display:block;padding:.72rem .85rem;font-size:.9rem;letter-spacing:.02em;color:var(--snow-dim);
  text-transform:none;border-bottom:0;border-radius:var(--r);
  transition:background .25s var(--ease),color .25s var(--ease);
}
.nav-menu a:hover{background:var(--ink-600);color:var(--snow);border-bottom-color:transparent}
.nav-menu a[aria-current]{background:var(--gold);color:var(--ink-900);border-bottom-color:transparent}
@media (max-width:1279px){.nav-menu{display:none}}

/* testimonial carousel */
.carousel{margin-top:clamp(2.2rem,4vw,3rem)}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;transition:transform .65s var(--ease)}
.carousel-slide{flex:0 0 100%;padding-right:clamp(1rem,1.8vw,1.5rem);box-sizing:border-box}
@media (min-width:900px){.carousel-slide{flex-basis:50%}}
.tcard{
  height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:1.6rem;
  background:var(--ink-700);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.8rem,3vw,2.6rem);
}
.tcard i{color:var(--gold);font-size:1.5rem}
.tcard blockquote{
  margin:0;font-family:var(--e-global-typography-display-font-family),serif;font-size:clamp(1.35rem,1.9vw,1.65rem);
  line-height:1.45;color:var(--snow);
}
.tcard cite{font-style:normal;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.carousel-controls{display:flex;align-items:center;gap:.6rem;margin-top:1.8rem}
.carousel-btn{
  width:48px;height:48px;background:transparent;border:1px solid var(--line);border-radius:var(--r);
  color:var(--snow);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);
}
.carousel-btn:hover{background:rgba(200,169,106,.1);border-color:var(--gold);color:var(--gold-lt)}
.carousel-btn[disabled]{opacity:.35;cursor:not-allowed}
.carousel-dots{display:flex;gap:.45rem;margin-left:.8rem}
.carousel-dots button{
  width:10px;height:3px;padding:0;border:0;border-radius:0;background:rgba(242,245,248,.28);cursor:pointer;
  transition:background .3s var(--ease),width .3s var(--ease);
}
.carousel-dots button[aria-current="true"]{background:var(--gold);width:28px}

/* OpenStreetMap service area map */
.map-grid{display:grid;grid-template-columns:.42fr .58fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;margin-top:clamp(2rem,3.5vw,3rem)}
@media (max-width:900px){.map-grid{grid-template-columns:1fr}}
.map-wrap{position:relative;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;height:clamp(380px,52vh,560px)}
.map-canvas{height:100%;width:100%;background:var(--ink-800)}
.leaflet-container{background:var(--ink-800);font-family:var(--e-global-typography-body-font-family),system-ui,sans-serif}
.leaflet-control-attribution{background:rgba(5,16,30,.82);color:var(--snow-dim);font-size:.72rem}
.leaflet-control-attribution a{color:var(--gold)}
.leaflet-bar a,.leaflet-bar a:hover{background:var(--ink-800);color:var(--snow);border-color:var(--line-soft)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--ink-800);color:var(--snow);border-radius:var(--r);box-shadow:0 18px 40px rgba(5,16,30,.7)}
.leaflet-popup-content{margin:.9rem 1.1rem;font-size:.95rem}
.leaflet-popup-content strong{font-family:var(--e-global-typography-display-font-family),serif;font-size:1.15rem;font-weight:500;display:block;margin-bottom:.2rem}
.leaflet-popup-content-wrapper{border:1px solid var(--line)}
.map-pin{
  width:15px;height:15px;border-radius:999px;background:var(--gold);
  border:2px solid var(--ink-900);box-shadow:0 0 0 5px rgba(200,169,106,.22);
}
.area-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.area-list li{border-bottom:1px solid var(--line-soft)}
.area-list button{
  width:100%;display:flex;align-items:center;gap:.8rem;background:transparent;border:0;cursor:pointer;
  padding:1.15rem 0;text-align:left;color:var(--snow);font-size:1.05rem;letter-spacing:.02em;
  transition:color .3s var(--ease),padding .3s var(--ease);
}
.area-list button:hover,.area-list button[aria-current="true"]{color:var(--gold-lt);padding-left:.5rem}
.area-list i{color:var(--gold);font-size:1.05rem}

/* related: three columns with imagery */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2.2rem);margin-top:clamp(2.2rem,4vw,3rem);border-top:0}
.related a{display:block;padding:0;border-bottom:0;transition:color .3s var(--ease)}
.related a:hover{padding-inline:0;color:var(--gold-lt)}
.related figure{margin:0 0 1.35rem;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--r)}
.related figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.related a:hover figure img{transform:scale(1.05)}
.related span{display:block;font-size:1.14rem;line-height:1.35}
.related small{display:block;margin-top:.4rem;font-size:.92rem;color:var(--snow-dim);letter-spacing:.02em}
.related .go{display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;color:var(--gold);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
@media (max-width:820px){.related{grid-template-columns:1fr}}

/* about page */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:end}
.about-portrait{aspect-ratio:3/4;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;margin:0}
.about-portrait img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}
.longform{max-width:64ch}
.longform p{font-size:1.08rem;color:var(--snow-dim);margin:0 0 1.5rem}
.pullquote{
  border-left:2px solid var(--gold);padding-left:clamp(1.2rem,2.5vw,2.4rem);
  margin:clamp(2.2rem,4vw,3.2rem) 0;font-family:var(--e-global-typography-display-font-family),serif;
  font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.35;color:var(--snow);max-width:26ch;
}
.factrow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:clamp(2.5rem,4vw,3.5rem)}
.factrow div{padding:1.8rem clamp(1rem,2vw,2rem) 0;border-left:1px solid var(--line-soft)}
.factrow div:first-child{border-left:0;padding-left:0}
.factrow h3{margin:0;font-family:var(--e-global-typography-display-font-family),serif;font-weight:500;font-size:clamp(1.7rem,2.5vw,2.3rem);color:var(--gold)}
.factrow p{margin:.45rem 0 0;font-size:1rem;color:var(--snow-dim)}
@media (max-width:820px){
  .factrow{grid-template-columns:1fr 1fr}
  .factrow div{border-left:0;padding-left:0}
  .factrow div:nth-child(even){padding-left:1.5rem;border-left:1px solid var(--line-soft)}
}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.8rem);align-items:start;margin-top:clamp(2rem,4vw,3rem)}
.duo figure{margin:0;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.duo figure:nth-child(2){margin-top:clamp(1.5rem,5vw,4.5rem)}
.duo img{width:100%;display:block}
.numlist{margin-top:clamp(2rem,3.5vw,3rem);display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,5vw,4.5rem)}
.numlist div{border-top:1px solid var(--line-soft);padding:1.6rem 0}
.numlist h3{margin:0;font-size:1.16rem;font-weight:400;letter-spacing:.01em}
.numlist p{margin:.45rem 0 0;font-size:1rem;color:var(--snow-dim)}
@media (max-width:760px){.numlist{grid-template-columns:1fr}}

/* collection page */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:clamp(1.8rem,3vw,2.4rem)}
.filters button{
  background:transparent;border:1px solid var(--line);color:var(--snow-dim);border-radius:var(--r);
  padding:.65rem 1.25rem;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.filters button:hover{color:var(--snow);border-color:var(--gold)}
.filters button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink-900)}
.gallery figure[hidden]{display:none}
.gallery figcaption{padding:.85rem 0 0;font-size:.92rem;color:var(--snow-dim)}
.gallery .shot{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--r)}
.gallery figure{border:0;border-radius:0;overflow:visible}
.gallery .g-a .shot{aspect-ratio:4/3}
.gallery .g-b .shot{aspect-ratio:1/1}
.gallery .g-c .shot{aspect-ratio:3/4}
.gallery .g-d .shot{aspect-ratio:16/9}
@media (max-width:820px){.gallery .shot{aspect-ratio:4/3!important}}

/* compact page header for gallery and areas */
.page-head{padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line-soft)}
.page-head h1{max-width:19ch}
.page-head .lede{max-width:52ch}


/* Elementor-native structure compatibility. Tokens above remain sourced from Site Settings. */
body.elementor-page{overflow-x:hidden;background:var(--ink-700);color:var(--snow)}
.elementor-element.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);width:100%}
.elementor-widget-heading.display .elementor-heading-title{font-family:var(--e-global-typography-display-font-family),Georgia,serif;font-weight:500;line-height:1.06;letter-spacing:.005em;margin:0;color:var(--snow)}
.elementor-widget-heading.display:has(.elementor-heading-title.elementor-size-default) .elementor-heading-title{font-size:inherit}
.elementor-widget-heading .elementor-heading-title{color:var(--snow)}
.elementor-widget-text-editor .elementor-widget-container,.elementor-widget-text-editor p{margin:0;color:inherit}
.elementor-widget-text-editor.lede{font-size:clamp(1.12rem,1.3vw,1.24rem);color:var(--snow-dim);max-width:46ch;margin-top:1.35rem}
.elementor-widget-text-editor.body-sm{font-size:1.06rem;color:var(--snow-dim);margin-top:.6rem;max-width:52ch}
.elementor-widget-text-editor.eyebrow{font-size:.78rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.elementor-widget-button.btn,.elementor-widget-button.textlink{padding:0;border:0;background:transparent;display:block}
.elementor-widget-button.btn .elementor-button{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--e-global-typography-body-font-family),sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.17em;text-transform:uppercase;border-radius:2px;padding:17px 34px;transition:all .3s var(--ease)}
.elementor-widget-button.btn-primary .elementor-button{background:var(--gold);color:var(--ink-900);border:1px solid var(--gold)}
.elementor-widget-button.btn-primary .elementor-button:hover{background:var(--gold-lt);border-color:var(--gold-lt);transform:translateY(-1px)}
.elementor-widget-button.btn-ghost .elementor-button{background:transparent;color:var(--snow);border:1px solid rgba(200,169,106,.45)}
.elementor-widget-button.btn-ghost .elementor-button:hover{border-color:var(--gold);background:rgba(200,169,106,.09);transform:translateY(-1px)}
.elementor-widget-button.textlink .elementor-button{background:none!important;padding:0 0 .25rem!important;color:var(--gold)!important;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
.elementor-widget-button.textlink .elementor-button:hover{color:var(--gold-lt)!important;border-color:var(--gold-lt)}
.elementor-element.hero-grid,.elementor-element.program-grid,.elementor-element.split,.elementor-element.two-col,.elementor-element.form-grid,.elementor-element.contact-grid,.elementor-element.map-grid,.elementor-element.about-grid{display:grid!important}
.elementor-element.band-grid,.elementor-element.process,.elementor-element.cards2,.elementor-element.related,.elementor-element.gallery,.elementor-element.factrow,.elementor-element.duo,.elementor-element.numlist,.elementor-element.footer-grid{display:grid!important}
.elementor-element.bento{display:grid!important}
.elementor-element.hero-cta,.elementor-element.page-cta,.elementor-element.footer-base,.elementor-element.filters{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important}
.tile-photo>.elementor-widget-image:first-child{position:absolute;inset:0;z-index:-2;height:100%}
.tile-photo>.elementor-widget-image:first-child .elementor-widget-container,.tile-photo>.elementor-widget-image:first-child img{height:100%;width:100%;object-fit:cover}
.tile-photo:after{z-index:-1}
.elementor-widget-icon-box.band-item,.elementor-widget-icon-box.step{height:100%}
.elementor-widget-icon-box .elementor-icon-box-title{font-family:var(--e-global-typography-display-font-family),Georgia,serif;color:var(--snow);font-weight:500}
.elementor-widget-icon-box .elementor-icon-box-description{font-family:var(--e-global-typography-body-font-family),sans-serif;color:var(--snow-dim);font-weight:300}
.elementor-widget-accordion.faq .elementor-accordion-item{border:0;border-bottom:1px solid var(--line-soft)}
.elementor-widget-accordion.faq .elementor-tab-title{border:0;color:var(--snow);padding:1.25rem 2.5rem 1.25rem 0;font-family:var(--e-global-typography-body-font-family),sans-serif}
.elementor-widget-accordion.faq .elementor-tab-content{border:0;color:var(--snow-dim);padding:0 0 1.5rem}
.elementor-widget-testimonial-carousel .swiper-slide{background:var(--ink-700);border:1px solid var(--line);border-radius:2px;padding:clamp(1.5rem,3vw,2.5rem)}
.elementor-widget-testimonial-carousel .elementor-testimonial__text{font-family:var(--e-global-typography-display-font-family),serif;color:var(--snow);font-size:clamp(1.35rem,1.9vw,1.65rem);line-height:1.45}
.elementor-widget-testimonial-carousel .elementor-testimonial__name{color:var(--gold);text-transform:uppercase;letter-spacing:.14em}
.elementor-widget-form.form-panel,.form-panel .elementor-widget-form{background:var(--ink-800);border:1px solid var(--line-soft);border-radius:2px;padding:clamp(1.6rem,3vw,2.6rem)}
.elementor-widget-form input,.elementor-widget-form select,.elementor-widget-form textarea{background:var(--ink-700)!important;border:1px solid rgba(242,245,248,.22)!important;border-radius:2px!important;color:var(--snow)!important}
.elementor-widget-form input:focus,.elementor-widget-form select:focus,.elementor-widget-form textarea:focus{border-color:var(--gold)!important;background:var(--ink-600)!important}
.elementor-widget-form .elementor-field-label{color:var(--snow)!important;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}
.elementor-widget-form .elementor-button{width:100%;background:var(--gold);color:var(--ink-900);border-radius:2px;text-transform:uppercase;letter-spacing:.17em}
.crumbs .elementor-icon-list-items{display:flex;gap:.5rem}.crumbs .elementor-icon-list-item{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.crumbs .elementor-icon-list-text{color:var(--gold)}
.area-list .elementor-icon-list-item{border-bottom:1px solid var(--line-soft)}.area-list .elementor-icon-list-item a{padding:1.15rem 0;color:var(--snow);transition:.25s}.area-list .elementor-icon-list-item a:hover,.area-list .elementor-icon-list-item a[aria-current=true]{color:var(--gold-lt);padding-left:.5rem}
.map-wrap .elementor-widget-html,.map-wrap .elementor-widget-container,.map-canvas{height:100%;width:100%}
.gallery>.elementor-element{display:flex;flex-direction:column}.gallery .elementor-widget-image img{width:100%;height:100%;object-fit:cover}.gallery .elementor-widget-image{overflow:hidden;border:1px solid var(--line-soft);border-radius:2px;height:100%}
.gallery-caption{font-size:.92rem;color:var(--snow-dim);padding-top:.85rem}
.filters{gap:.65rem}.filters .elementor-widget-button{width:auto}.filters .elementor-button{background:transparent;border:1px solid var(--line);color:var(--snow-dim);border-radius:2px}.filters .elementor-button:hover,.filters [aria-pressed=true] .elementor-button{background:var(--gold);border-color:var(--gold);color:var(--ink-900)}
.contact-row{padding:1rem 0;border-bottom:1px solid var(--line-soft)}.contact-row .elementor-widget-heading h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.footer .elementor-widget-text-editor,.footer .elementor-icon-list-text{color:var(--snow-dim)}.footer .elementor-widget-heading h4{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.nav{position:sticky!important;top:0;z-index:100}.nav .brand{align-items:center}.brand-mark{width:42px}.brand-mark img{height:42px;width:auto}.brand-name .elementor-heading-title{font-family:var(--e-global-typography-display-font-family),serif;font-size:1.12rem;letter-spacing:.2em;text-transform:uppercase}.brand-sub{font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.nav-links{margin-left:auto}.nav-tel .elementor-button{background:none;color:var(--snow);padding:.5rem;font-size:.8rem;letter-spacing:.12em}.nav-quote{width:auto}
.reveal{opacity:1;transform:none}
.mode-commercial{display:none!important}body[data-audience=commercial] .mode-residential{display:none!important}body[data-audience=commercial] .mode-commercial{display:flex!important}body[data-audience=commercial] .elementor-element.bento.mode-commercial,body[data-audience=commercial] .elementor-element.band-grid.mode-commercial,body[data-audience=commercial] .elementor-element.hero-grid.mode-commercial,body[data-audience=commercial] .elementor-element.program-grid.mode-commercial{display:grid!important}
.menu-item.mobile-only{display:none}
@media(max-width:1279px){.nav-links .elementor-nav-menu--main{display:none!important}.nav-links .elementor-menu-toggle{display:flex!important}.nav-tel,.nav-quote{display:none!important}.menu-item.mobile-only{display:block}.nav-inner{gap:1rem}.nav-links{margin-left:auto}}
@media(max-width:900px){.elementor-element.hero-grid,.elementor-element.program-grid,.elementor-element.split,.elementor-element.two-col,.elementor-element.form-grid,.elementor-element.contact-grid,.elementor-element.map-grid,.elementor-element.about-grid{grid-template-columns:1fr!important}.elementor-element.footer-grid{grid-template-columns:1fr 1fr!important}.elementor-element.gallery>*{grid-column:span 12!important;aspect-ratio:4/3!important}}
@media(max-width:520px){.brand-type{display:none!important}.elementor-element.footer-grid{grid-template-columns:1fr!important}.elementor-element.hero-cta,.elementor-element.page-cta{flex-direction:column!important}.elementor-widget-button.btn .elementor-button{width:100%}}
@media(prefers-reduced-motion:reduce){.animated{animation:none!important;transition:none!important}.elementor-invisible{visibility:visible!important}}
/* Incline Shine reported-defect fixes */
:root{--maxw:1280px;--gutter:clamp(24px,3vw,32px)}
.elementor-element.wrap{box-sizing:border-box!important;width:100%!important;max-width:1280px!important;margin-inline:auto!important;padding-inline:clamp(24px,3vw,32px)!important}
body.home .mode-commercial{display:none!important}
body.home[data-audience="residential"] .mode-commercial,
body.home[data-audience="commercial"] .mode-residential{display:none!important}
body.home[data-audience="commercial"] .mode-commercial{display:flex!important}
body.home[data-audience="commercial"] .elementor-element.bento.mode-commercial,
body.home[data-audience="commercial"] .elementor-element.band-grid.mode-commercial,
body.home[data-audience="commercial"] .elementor-element.hero-grid.mode-commercial,
body.home[data-audience="commercial"] .elementor-element.program-grid.mode-commercial{display:grid!important}
.footer .footer-contact .elementor-icon-list-text,
.footer .footer-contact a{color:var(--snow-dim,#B5C0CA)!important}
.footer .footer-contact .elementor-icon-list-icon svg{fill:var(--gold,#C8A96A)!important}
/* Widget-classless structural compatibility */
#primary-navigation{margin-left:auto}
.nav-inner>#primary-navigation{width:auto!important;min-width:0;flex:1 1 auto!important}
.nav-inner>#header-phone,.nav-inner>#header-quote{width:auto!important;flex:0 0 auto!important}
#primary-navigation .mobile-only{display:none!important}
#primary-navigation .elementor-nav-menu--main,#primary-navigation .elementor-nav-menu--main .elementor-nav-menu{white-space:nowrap!important}
#primary-navigation .elementor-nav-menu--main .elementor-nav-menu{display:flex!important;flex-wrap:nowrap!important;gap:.45rem!important}
#primary-navigation .elementor-nav-menu--main .elementor-item{padding:.35rem .3rem!important;font-size:.7rem!important;letter-spacing:.08em!important}
.process>.elementor-widget-icon-box{height:100%}
.process>.elementor-widget-icon-box .elementor-widget-container{height:100%}
.section>.wrap>.elementor-widget-accordion .elementor-accordion-item{border-left:0;border-right:0;border-top:0;border-bottom:1px solid var(--line-soft)}
.map-grid>.elementor-widget-icon-list .elementor-icon-list-item a{padding:1.15rem 0;color:var(--snow);transition:.25s}
.map-grid>.elementor-widget-icon-list .elementor-icon-list-item a:hover,.map-grid>.elementor-widget-icon-list .elementor-icon-list-item a[aria-current=true]{color:var(--gold-lt);padding-left:.5rem}
.holiday-copy>.elementor-widget-icon-list .elementor-icon-list-item,.two-col .elementor-widget-icon-list .elementor-icon-list-item{border:1px solid var(--line);background:rgba(12,24,38,.55);padding:.55rem .8rem;border-radius:2px}
.footer .footer-grid>.footer-column:last-child .elementor-icon-list-text,.footer .footer-grid>.footer-column:last-child .elementor-icon-list a{color:var(--snow-dim)!important}
@media(max-width:1279px){#primary-navigation .elementor-nav-menu--main{display:none!important}#primary-navigation .elementor-menu-toggle{display:flex!important}#header-phone,#header-quote{display:none!important}}
@media(max-width:520px){.process>.elementor-widget-icon-box{flex:0 0 78%;scroll-snap-align:start}.hero-cta>.elementor-widget-button .elementor-button,.page-cta>.elementor-widget-button .elementor-button{width:100%}}
.gallery>.elementor-element{display:flex;flex-direction:column;flex-wrap:nowrap!important;aspect-ratio:auto!important}.gallery>.g-a>.elementor-widget-image{aspect-ratio:4/3}.gallery>.g-b>.elementor-widget-image{aspect-ratio:1/1}.gallery>.g-c>.elementor-widget-image{aspect-ratio:3/4}.gallery>.g-d>.elementor-widget-image{aspect-ratio:16/9}.gallery>.elementor-element>.elementor-widget-image{height:auto!important;flex:0 0 auto}
@media(max-width:820px){.elementor-element.process{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:0}.process>.elementor-widget-icon-box{flex:0 0 78%!important;scroll-snap-align:start}}/* End custom CSS */