:root{--ink:#101312;--cream:#f4f0e8;--paper:#faf8f3;--gold:#b98a49;--muted:#66645f;--line:#ded6c9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}.site-header{height:108px;position:absolute;z-index:20;top:0;left:0;right:0;display:grid;grid-template-columns:220px 1fr 180px;align-items:center;padding:18px 6.2%;color:white;transition:.35s ease}.brand{display:inline-flex;align-items:center}.brand img{width:142px;height:58px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 10px rgba(0,0,0,.2))}.nav{justify-self:center;display:flex;gap:50px}.nav a,.header-cta,footer a{text-decoration:none;color:inherit;text-transform:uppercase;letter-spacing:.16em;font-size:11px}.nav a{padding:15px 0;border-bottom:1px solid transparent;transition:.2s}.nav a:hover,.nav a.active{border-color:var(--gold)}.outline{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-width:150px;border:1px solid var(--gold);padding:16px 24px;color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;transition:.25s}.outline:hover{background:var(--gold);color:#111}.header-cta{justify-self:end}.menu{display:none}.hero{height:min(73vw,760px);min-height:620px;background:url('assets/hero.jpg') center 43%/cover no-repeat;position:relative}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,12,.38) 0%,rgba(5,9,12,.06) 45%,rgba(0,0,0,.10) 100%)}.scroll-cue{position:absolute;bottom:26px;left:50%;width:1px;height:48px;background:rgba(255,255,255,.38)}.scroll-cue span{display:block;width:1px;height:18px;background:#fff;animation:drop 2s infinite}@keyframes drop{0%{transform:translateY(0);opacity:0}25%{opacity:1}75%{opacity:1}100%{transform:translateY(30px);opacity:0}}.intro{background:var(--paper);padding:86px 7% 82px}.intro-inner{max-width:820px}.gold-rule{display:block;width:42px;height:2px;background:var(--gold);margin-bottom:24px}.intro h1,.build h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:0}.intro h1{font-size:52px;line-height:1.02;letter-spacing:-.015em}.intro p{color:var(--muted);font-size:15px;line-height:1.8;margin:28px 0 28px;max-width:790px}.text-link{display:inline-flex;gap:16px;align-items:center;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:10px;border-bottom:1px solid var(--gold);padding-bottom:8px}.text-link span{font-size:16px;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.values{display:grid;grid-template-columns:repeat(3,1fr);padding:50px 6%;background:#f0ece4;border-top:1px solid #e6e0d6;border-bottom:1px solid #e6e0d6}.values article{text-align:center;padding:5px 25px}.values article+article{border-left:1px solid #d7c8b4}.values h2{font-family:'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.2em;font-size:23px;font-weight:600;margin:0}.values article>span{display:block;width:30px;height:1px;background:var(--gold);margin:15px auto}.values p{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;color:#4b4945;margin:0}.build{height:500px;position:relative;overflow:hidden;color:white}.build-image{position:absolute;inset:-10px;background:url('assets/construction.jpg') center 48%/cover no-repeat;transition:transform 6s ease}.build:hover .build-image{transform:scale(1.025)}.build-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,6,.91) 0%,rgba(5,7,6,.62) 39%,rgba(5,7,6,.12) 73%)}.build-copy{position:relative;z-index:2;width:460px;padding:82px 0 0 7%}.build-copy .gold-rule{margin-bottom:18px}.build h2{font-size:52px;line-height:.95;letter-spacing:-.01em}.build p{font-size:14px;line-height:1.7;max-width:360px;margin:27px 0 30px}footer{background:#0d1110;color:#8f9491;display:flex;justify-content:space-between;align-items:center;padding:27px 6%;font-size:10px}.footer-brand{display:flex;align-items:center;gap:22px}.footer-brand img{width:62px;height:26px;object-fit:contain;opacity:.72}.footer-brand p{margin:0}.footer-links{display:flex;gap:28px}footer a{font-size:9px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:82px;grid-template-columns:1fr auto;padding:14px 5%}.brand img{width:110px;height:44px}.header-cta{display:none}.menu{display:block;background:none;border:0;width:38px;height:38px;padding:8px}.menu span{display:block;height:1px;background:white;margin:7px 0}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:rgba(12,16,16,.98);padding:22px 6% 28px;flex-direction:column;gap:5px}.nav.open{display:flex}.nav a{padding:12px 0}.hero{height:68vh;min-height:500px;background-position:57% 44%}.scroll-cue{display:none}.intro{padding:58px 7% 60px}.intro h1{font-size:41px}.intro p{font-size:14px;line-height:1.72}.values{grid-template-columns:1fr;padding:14px 7%}.values article{padding:30px 10px}.values article+article{border-left:0;border-top:1px solid #d7c8b4}.build{height:490px}.build-image{background-position:61% center}.build-copy{width:auto;padding:70px 7%}.build h2{font-size:44px}footer{align-items:flex-start;gap:22px;flex-direction:column}.footer-brand{align-items:flex-start;flex-direction:column;gap:12px}.footer-links{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue span{animation:none}.build-image{transition:none}}

/* V2 Mobile refinement — desktop rules above remain unchanged */
@media(max-width:800px){
  body{overflow-x:hidden}
  .site-header{height:76px;padding:12px 20px;grid-template-columns:1fr auto}
  .brand{position:relative;z-index:2}
  .brand img{width:122px;height:48px;object-fit:contain;object-position:left center}
  .menu{position:relative;z-index:2;width:42px;height:42px;padding:9px;cursor:pointer}
  .menu span{margin:7px 0}
  .nav{top:0;min-height:100vh;padding:104px 24px 36px;gap:0;background:rgba(12,16,16,.985);justify-content:flex-start}
  .nav a{font-size:13px;letter-spacing:.18em;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .nav a.active{border-color:var(--gold)}

  .hero{height:72svh;min-height:520px;max-height:700px;background-position:52% center}
  .hero-shade{background:linear-gradient(180deg,rgba(5,9,12,.34) 0%,rgba(5,9,12,.04) 43%,rgba(0,0,0,.06) 100%)}

  .intro{padding:54px 24px 58px}
  .intro-inner{max-width:none}
  .gold-rule{width:36px;margin-bottom:20px}
  .intro h1{font-size:clamp(38px,11vw,48px);line-height:.98;max-width:330px}
  .intro p{font-size:14px;line-height:1.75;margin:24px 0 27px;max-width:36em}
  .text-link{font-size:10px;padding-bottom:7px}

  .values{padding:6px 24px 10px}
  .values article{padding:27px 8px}
  .values h2{font-size:21px}
  .values article>span{margin:13px auto}
  .values p{font-size:19px}

  .build{height:570px;min-height:570px}
  .build-image{inset:0;background-position:56% center}
  .build-overlay{background:linear-gradient(180deg,rgba(5,7,6,.12) 0%,rgba(5,7,6,.16) 37%,rgba(5,7,6,.90) 100%)}
  .build-copy{position:absolute;left:0;right:0;bottom:0;width:auto;padding:0 24px 42px}
  .build-copy .gold-rule{margin-bottom:16px}
  .build h2{font-size:clamp(42px,12vw,52px);line-height:.92}
  .build p{font-size:14px;line-height:1.6;max-width:310px;margin:20px 0 24px}
  .build .outline{min-width:148px;padding:15px 20px}

  footer{padding:26px 24px 30px;gap:22px}
  .footer-brand img{width:72px;height:30px}
  .footer-brand p{font-size:9px;line-height:1.5}
  .footer-links{width:100%;justify-content:flex-start;gap:24px}
}

@media(max-width:430px){
  .hero{height:68svh;min-height:500px;background-position:50% center}
  .intro{padding-left:20px;padding-right:20px}
  .values{padding-left:20px;padding-right:20px}
  .build-copy{padding-left:20px;padding-right:20px}
  footer{padding-left:20px;padding-right:20px}
}
.mobile-contact{display:none}
@media(max-width:800px){.mobile-contact{display:block!important;color:var(--gold)!important}}

/* Dedicated portrait hero for phones — desktop hero remains unchanged */
@media(max-width:800px){
  .hero{
    background-image:url('assets/hero-mobile.png');
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
  }
}
@media(max-width:430px){
  .hero{background-position:center center}
}

/* Internal construction header cleanup */
.construction-hero .site-header { border-top:0!important; border-bottom:0!important; box-shadow:none!important; }
.construction-hero .site-header::before,
.construction-hero .site-header::after,
.construction-hero .nav::before,
.construction-hero .nav::after { content:none!important; display:none!important; }
