/* Energy House shared styles: header, mobile menu, coming-soon, contact */
.eh-page *,.eh-page *::before,.eh-page *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.eh-page{margin:0;background:#EDE6DA;color:#14100C}
.eh-page img{max-width:100%}

/* Header */
.eh-hdr{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.08);padding:clamp(14px,1.8vw,26px) clamp(22px,4.5vw,64px);font-family:'Jost',sans-serif}
.eh-logo{display:flex;align-items:center}
.eh-logo{color:#F5F2EC}
.eh-logo svg{height:78px;width:auto;display:block}
.eh-links{display:flex;gap:clamp(20px,2.6vw,40px)}
.eh-links a{color:#F5F2EC;text-decoration:none;font-size:clamp(.72rem,1.1vw,.82rem);letter-spacing:.24em;text-transform:uppercase;font-weight:600;transition:color .2s}
.eh-links a:hover,.eh-links a[aria-current="page"]{color:#C9613A}
.eh-burger{display:none;width:42px;height:42px;align-items:center;justify-content:center;background:none;color:#141210;font-size:1.4rem;border:1px solid rgba(20,18,16,.28);cursor:pointer;padding:0}
@media (max-width:900px){
  .eh-hdr{background:#F4F0E8;padding:16px 22px;border-bottom-color:rgba(20,18,16,.08)}
  .eh-logo{color:#141210}
  .eh-logo svg{height:58px}
  .eh-links{display:none}
  .eh-burger{display:flex}
}

/* Mobile menu (opened by any .hdr-burger or .eh-burger) */
.hdr-burger{cursor:pointer}
.eh-menu,.eh-menu *{box-sizing:border-box}
.eh-menu{position:fixed;inset:0;z-index:1000;background:#0a0a0a;display:flex;flex-direction:column;padding:16px 22px 40px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;font-family:'Jost',sans-serif}
.eh-menu.open{opacity:1;visibility:visible}
.eh-menu-top{display:flex;align-items:center;justify-content:space-between}
.eh-menu-top img{height:56px;width:auto;display:block}
.eh-menu-close{width:42px;height:42px;background:none;border:1px solid rgba(245,242,236,.28);color:#F5F2EC;font-size:1.5rem;line-height:1;cursor:pointer}
.eh-menu nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3.6vh,30px);padding-left:4px}
.eh-menu nav a{font-family:'Cinzel',serif;color:#F5F2EC;text-decoration:none;font-size:clamp(1.5rem,7vw,2.2rem);letter-spacing:.06em;font-weight:500;transition:color .2s}
.eh-menu nav a:hover,.eh-menu nav a[aria-current="page"]{color:#C9613A}
.eh-menu-foot{color:rgba(240,236,229,.5);font-size:.8rem;letter-spacing:.08em}
.eh-menu-foot a{color:#F5F2EC;text-decoration:none}
body.eh-lock{overflow:hidden}

/* Eyebrow label */
.eh-eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:'Jost',sans-serif;font-size:clamp(.72rem,2.6vw,.86rem);letter-spacing:.42em;text-transform:uppercase;color:#B4502C;font-weight:600}
.eh-eyebrow::before,.eh-eyebrow::after{content:"";width:26px;height:1.5px;background:#B4502C;display:block}

/* Coming soon */
.cs{background:#EDE6DA;font-family:'Jost',sans-serif;text-align:center;padding:clamp(64px,9vw,130px) clamp(24px,6vw,40px) clamp(72px,9vw,130px)}
.cs-alt{background:#E6DED0}
.cs-mark{width:clamp(110px,16vw,168px);margin:0 auto clamp(30px,4vw,44px);color:#14100C;cursor:pointer}
.cs-mark svg{display:block;width:100%;height:auto;overflow:visible}
.cs-mark .cs-solid{opacity:0;transition:opacity .7s ease}
.cs-mark .cs-thin{transition:opacity .5s ease;visibility:hidden}
.cs-mark.ready .cs-thin{visibility:visible}
.cs-mark.done .cs-solid{opacity:1}
.cs-mark.done .cs-thin{opacity:0}
.cs-mark.static .cs-solid{opacity:1;transition:none}
.cs-mark.static .cs-thin{opacity:0;transition:none}
.cs h1,.cs h2{margin:clamp(18px,2.4vw,26px) auto clamp(20px,3vw,30px);max-width:18ch;font-family:'Cormorant Garamond',serif;font-weight:500;color:#141210;line-height:1.12;font-size:clamp(2.1rem,6vw,3.6rem)}
.cs h1 .t,.cs h2 .t{color:#B4502C;letter-spacing:.06em}
.cs p{margin:0 auto;max-width:46ch;font-size:clamp(1.02rem,3.4vw,1.18rem);line-height:1.72;color:#40382F;font-weight:300}
.cs p a{color:#B4502C;text-decoration:none;border-bottom:1px solid rgba(180,80,44,.45)}
.cs-actions{margin-top:clamp(34px,4.6vw,46px);display:flex;flex-wrap:wrap;gap:16px 34px;justify-content:center}
.eh-btn{display:inline-block;padding:clamp(14px,3.6vw,17px) clamp(30px,6vw,44px);font-family:'Jost',sans-serif;font-size:clamp(.74rem,2.8vw,.84rem);letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:#141210;border:1.5px solid rgba(20,18,16,.4);text-decoration:none;transition:.25s}
.eh-btn:hover{background:#141210;border-color:#141210;color:#EDE6DA}
.eh-link{align-self:center;font-family:'Jost',sans-serif;color:#141210;text-decoration:none;border-bottom:1px solid rgba(180,80,44,.55);font-size:clamp(.8rem,2.6vw,.9rem);letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding-bottom:3px;transition:color .25s,border-color .25s}
.eh-link:hover{color:#B4502C;border-color:#B4502C}
.cs-photo{max-width:1180px;margin:clamp(56px,7vw,90px) auto 0;aspect-ratio:3/2;max-height:640px;overflow:hidden;background:#E1D7C6}
.cs-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Contact */
.ct{font-family:'Jost',sans-serif;padding:clamp(64px,9vw,130px) clamp(24px,5vw,72px) clamp(72px,9vw,130px);text-align:center}
.ct h1{margin:clamp(18px,2.4vw,26px) auto clamp(20px,3vw,30px);font-family:'Cormorant Garamond',serif;font-weight:500;color:#141210;line-height:1.12;font-size:clamp(2.2rem,6vw,3.8rem)}
.ct h1 em{color:#B4502C}
.ct-intro{margin:0 auto;max-width:48ch;font-size:clamp(1.02rem,3.4vw,1.18rem);line-height:1.72;color:#40382F;font-weight:300}
.ct-grid{max-width:980px;margin:clamp(48px,6vw,76px) auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(20,18,16,.14);border:1px solid rgba(20,18,16,.14);text-align:left}
.ct-card{background:#EDE6DA;padding:clamp(26px,3.4vw,40px);display:flex;flex-direction:column;gap:10px;text-decoration:none;color:#141210;transition:background .25s}
a.ct-card:hover{background:#E4DBCB}
.ct-label{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:#B4502C;font-weight:600}
.ct-value{font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:500;line-height:1.25;word-break:break-word}
.ct-hint{font-size:.9rem;color:#6B6155;font-weight:300}
.ct-chat{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.ct-chat a{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#141210;text-decoration:none;border:1.5px solid rgba(20,18,16,.35);padding:10px 16px;transition:.25s}
.ct-chat a:hover{background:#141210;color:#EDE6DA;border-color:#141210}
.ct-note{margin:clamp(40px,5vw,60px) auto 0;max-width:52ch;font-size:.98rem;line-height:1.7;color:#6B6155;font-weight:300}
@media (max-width:640px){.ct-grid{grid-template-columns:minmax(0,1fr)}}

@media (prefers-reduced-motion:reduce){.eh-menu,.cs-mark .cs-solid,.cs-mark .cs-thin{transition:none}}
html:not(.js) .cs-mark .cs-solid{opacity:1}
