/* =====================================================================
   GYC Luxury Homes — Site Chrome (logo, menu, footer)
   ONE source of truth for every page. Do not re-declare these rules
   inside individual pages.
   ===================================================================== */

/* ---------- Skip link ---------- */
.skip-link{position:absolute;top:-60px;left:0;z-index:10001;background:#C49A6C;color:#fff;padding:.6rem 1rem;font:500 .8rem/1 'Inter',system-ui,sans-serif;text-decoration:none;transition:top .3s}
.skip-link:focus{top:0}

/* ---------- Logo + hamburger (top-left mark) ---------- */
.site-mark{position:fixed;top:1.5rem;left:1.5rem;z-index:1001;display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0;padding:0}
.site-mark a{display:block;line-height:0}
/* grey mark + soft shadow: legible on bright skies, dark heroes and cream pages alike */
.site-mark .logo-img{display:block;height:38px;width:auto;max-width:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));opacity:1;transition:opacity .3s}
.site-mark a:hover .logo-img{opacity:.75}

.hamburger{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;width:26px;height:16px;min-width:26px;margin:0;padding:0;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* larger invisible tap target */
.hamburger::after{content:"";position:absolute;inset:-14px -10px}
.hamburger span{display:block;width:100%;height:1.5px;margin:0;background:#a8a29a;border-radius:1px;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s,background .3s}
.hamburger:focus-visible{outline:1px solid #C49A6C;outline-offset:6px}
.hamburger.active span{background:#ece8e1;box-shadow:none}
.hamburger.active span:nth-child(1){transform:translateY(7.25px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-7.25px) rotate(-45deg)}

/* ---------- Full-screen menu ---------- */
.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:1000;display:flex;align-items:center;justify-content:flex-start;margin:0;padding:0;background:rgba(15,15,15,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s}
.nav-overlay.active{opacity:1;visibility:visible}
.nav-menu{list-style:none;margin:0;padding:clamp(4rem,14vh,6rem) 1.5rem clamp(3rem,10vh,5rem) 4rem;text-align:left;box-sizing:border-box}
.nav-menu li{margin:.5rem 0;padding:0;list-style:none;background:none}
.nav-menu li::before,.nav-menu li::marker{content:none}
.nav-menu a{display:inline-block;padding:.25rem 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;font-weight:400;font-style:normal;line-height:1.3;letter-spacing:3.5px;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.6);border:0;background:none;transition:color .3s}
.nav-menu a:hover,.nav-menu a:focus-visible{color:#fff;outline:none}
.nav-menu a.active{color:#fff}
.nav-menu a.active::after{content:"";display:inline-block;width:18px;height:1px;margin-left:.9rem;vertical-align:middle;background:#C49A6C}
.nav-menu .nav-sub{display:block;margin-top:.15rem;font-family:'Inter',system-ui,sans-serif;font-size:.6rem;font-weight:400;line-height:1.2;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.nav-menu .nav-divider{width:40px;height:1px;margin:1rem 0;background:rgba(255,255,255,.12)}

/* The Unicorn — signature item */
.nav-menu a.nav-gold{color:#b08d57;font-style:italic;font-weight:600;letter-spacing:4.5px}
.nav-menu a.nav-gold::before{content:"\2756";display:inline-block;margin-right:.6em;font-size:.6em;font-style:normal;vertical-align:middle;color:rgba(176,141,87,.7);transform:translateY(-1px)}
.nav-menu a.nav-gold:hover,.nav-menu a.nav-gold.active{color:#d4a574}
.nav-menu a.nav-gold:hover::before,.nav-menu a.nav-gold.active::before{color:#d4a574}

body.nav-open{overflow:hidden}

/* ---------- Footer ---------- */
#site-footer{display:flex;flex-direction:column;align-items:center;gap:1.75rem;margin:0;padding:4rem 2rem;text-align:center;background:#1a1a1a;color:rgba(255,255,255,.4);border:0;box-shadow:none;font-family:'Inter',system-ui,sans-serif}
#site-footer .footer-logo{margin:0;line-height:0}
#site-footer .footer-logo a{display:inline-block;line-height:0}
#site-footer .footer-logo img{display:block;height:44px;width:auto;opacity:.95;filter:none}
#site-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 2rem;margin:0;padding:0;list-style:none;background:none}
#site-footer .footer-links a{display:inline-block;padding:.4rem .25rem;font-family:'Inter',system-ui,sans-serif;font-size:.6rem;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.45);transition:color .3s}
#site-footer .footer-links a:hover{color:#C49A6C}
#site-footer .footer-contact{display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.72rem;letter-spacing:1px}
#site-footer .footer-contact a{display:inline-block;padding:.2rem 0;color:#C49A6C;text-decoration:none;transition:opacity .3s}
#site-footer .footer-contact a:hover{opacity:.7}
#site-footer .footer-legal{font-size:.58rem;letter-spacing:1px;color:rgba(255,255,255,.22)}

/* ---------- Tablet / phone ---------- */
@media (max-width:768px){
  .site-mark{top:1rem;left:1rem;gap:.55rem}
  .site-mark .logo-img{height:30px}
  .nav-overlay{align-items:flex-start}
  .nav-menu{padding:clamp(4.5rem,12vh,6rem) 1.5rem clamp(3.5rem,10vh,5rem) 2.4rem}
  .nav-menu li{margin:.85rem 0}
  .nav-menu .nav-divider{width:56px;margin:1.4rem 0}
  .nav-menu a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem 0;font-size:1.05rem;letter-spacing:3px}
  .nav-menu .nav-sub{margin-top:.2rem;font-size:.55rem}
  #site-footer{padding:3rem 1.25rem;gap:1.5rem}
  #site-footer .footer-links{gap:.15rem 1.1rem}
  #site-footer .footer-logo img{height:38px}
}
@media (max-width:420px){
  .nav-menu{padding-left:2rem;padding-top:4.5rem;padding-bottom:3rem}
  .nav-menu li{margin:.75rem 0}
  .nav-menu .nav-divider{width:48px;margin:1.2rem 0}
  .nav-menu a{font-size:1rem;letter-spacing:2.5px}
}
@media (max-height:700px) and (max-width:768px){
  .nav-menu{padding-top:3.5rem;padding-bottom:2.5rem}
  .nav-menu li{margin:.55rem 0}
  .nav-menu .nav-divider{margin:.9rem 0}
  .nav-menu a{min-height:36px;padding:.3rem 0}
}
@media (prefers-reduced-motion:reduce){
  .nav-overlay,.hamburger span{transition:none}
}
