/* Shared header (nav) and footer for every page. Loaded after each page's own
   styles so the nav and footer look and behave the same sitewide. */
header.site{position:fixed; top:0; left:0; right:0; z-index:60; background:rgba(251,249,244,0); border-bottom:1px solid transparent; transition:background .4s ease, border-color .4s ease; font-family:'Work Sans',sans-serif;}
header.site:not(.scrolled){background:linear-gradient(180deg, rgba(20,26,19,0.66) 0%, rgba(20,26,19,0.34) 60%, rgba(20,26,19,0) 100%) border-box no-repeat;}
header.site:not(.scrolled) nav.links a{text-shadow:0 1px 8px rgba(0,0,0,0.45);}
header.site.scrolled{background:rgba(251,249,244,0.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom-color:var(--line, rgba(38,41,31,0.10));}
header.site .header-inner{display:flex; align-items:center; justify-content:space-between; max-width:1400px; margin:0 auto; padding:22px clamp(20px,4vw,56px); transition:padding .3s ease;}
header.site.scrolled .header-inner{padding-top:16px; padding-bottom:16px;}
header.site .brand{display:flex; align-items:center; min-width:0; flex-shrink:1;}
header.site .brand-logo{height:64px; width:auto; max-width:100%; display:block; transition:height .3s ease, filter .3s ease; filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(0,0,0,0.25));}
header.site.scrolled .brand-logo{height:54px; filter:none;}
@media(max-width:480px){header.site .brand-logo{height:40px; max-width:52vw;} header.site.scrolled .brand-logo{height:36px;}}
header.site nav.links{display:flex; gap:32px; align-items:center;}
header.site nav.links a{font-size:13px; font-weight:500; color:var(--ink, #26291F); position:relative; padding-bottom:3px; transition:color .3s ease; text-decoration:none;}
header.site:not(.scrolled) nav.links a{color:rgba(255,255,255,0.85);}
header.site nav.links a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--copper, #956A47); transition:width .3s ease;}
header.site nav.links a:hover::after{width:100%;}
header.site nav.links a.current{color:var(--copper, #956A47);}
header.site:not(.scrolled) nav.links a.current{color:var(--copper-light, #C99A6E);}
header.site .nav-cta{font-weight:600; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:13px 26px; background:var(--copper, #956A47); color:#fff !important; border-radius:2px; transition:background .25s ease, transform .2s ease; text-decoration:none; text-shadow:none !important;}
header.site .nav-cta::after{display:none;}
header.site .nav-cta:hover{background:var(--copper-deep, #8B6140); transform:translateY(-1px);}
header.site nav.links .nav-cta{display:none;}
header.site .nav-toggle{display:none; position:relative; width:40px; height:40px; cursor:pointer; background:none; border:none;}
header.site .nav-toggle span{position:absolute; left:50%; margin-left:-12px; width:24px; height:1.5px; background:var(--yew, #3F4A3B); transition:transform .3s ease, opacity .25s ease, background .3s ease;}
header.site:not(.scrolled) .nav-toggle span{background:#fff;}
header.site .nav-toggle span:nth-child(1){top:14px;}
header.site .nav-toggle span:nth-child(2){top:19px;}
header.site .nav-toggle span:nth-child(3){top:24px;}
header.site .nav-toggle.active span:nth-child(1){transform:translateY(5px) rotate(45deg);}
header.site .nav-toggle.active span:nth-child(2){opacity:0;}
header.site .nav-toggle.active span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
@media(max-width:920px){
  header.site nav.links{position:fixed; top:0; right:0; height:100vh; width:78%; max-width:340px; background:var(--yew-darkest, #1A2118); flex-direction:column; align-items:flex-start; justify-content:center; gap:28px; padding:0 12vw; transform:translateX(100%); transition:transform .4s ease; z-index:70;}
  header.site nav.links.open{transform:translateX(0);}
  header.site nav.links a{color:#f2f0e8 !important; font-size:17px;}
  header.site nav.links a.current{color:var(--copper-light, #C99A6E) !important;}
  header.site nav.links .nav-cta{display:inline-flex; margin-top:10px; padding:15px 30px; font-size:13px; color:#fff !important;}
  header.site .header-inner > .nav-cta{display:none;}
  header.site .nav-toggle{display:flex; align-items:center; justify-content:center; z-index:80;}
  header.site.open-menu .nav-toggle span{background:#fff;}
}

footer.site-footer{background:#fff; border-top:1px solid var(--line, rgba(38,41,31,0.10)); font-family:'Work Sans',sans-serif;}
footer.site-footer .footer-upper{padding:clamp(40px,5vw,56px) 0 clamp(36px,5vw,52px); display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:clamp(24px,4vw,60px); border-bottom:1px solid var(--line, rgba(38,41,31,0.10));}
footer.site-footer .footer-upper > *{min-width:0;}
footer.site-footer .footer-brand .brand{display:inline-block; margin-bottom:16px;}
footer.site-footer .footer-brand img{height:46px; width:auto; filter:none;}
footer.site-footer .footer-brand p{font-size:13.5px; line-height:1.72; color:#6f756a; max-width:280px;}
footer.site-footer .footer-col h4, footer.site-footer .footer-col .footer-h{font-family:'Work Sans',sans-serif; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--yew, #3F4A3B); margin:0 0 18px;}
footer.site-footer .footer-col a, footer.site-footer .footer-col span.static{display:block; font-size:14px; color:#555b4e; padding:3px 0; margin-bottom:7px; transition:color .25s ease; text-decoration:none;}
footer.site-footer .footer-col a.social{display:flex; width:max-content; align-items:center; gap:9px;}
footer.site-footer .footer-col a:hover{color:var(--copper, #956A47);}
footer.site-footer .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0; flex-wrap:wrap; gap:12px;}
footer.site-footer .foot-bottom .fl{font-size:11px; color:#6f756a; letter-spacing:.02em;}
footer.site-footer .foot-bottom .fr{font-size:11.5px; color:#6f756a; display:flex; gap:24px; align-items:center; flex-wrap:wrap;}
footer.site-footer .foot-bottom a{color:#6f756a; transition:color .25s ease; text-decoration:none;}
footer.site-footer .foot-bottom a:hover{color:var(--copper, #956A47);}
@media(max-width:700px){footer.site-footer .footer-upper{grid-template-columns:1fr 1fr; gap:32px 20px;}}
@media(max-width:520px){footer.site-footer .footer-upper{grid-template-columns:1fr;}}

/* ---- Phones ---- */
@media(max-width:760px){
  /* 16px stops iPhone Safari zooming the page when a field is tapped */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]), select, textarea{font-size:16px !important;}
  /* Bigger tap targets in the menu and footer */
  header.site nav.links a{padding:8px 0;}
  header.site nav.links{gap:16px;}
  footer.site-footer .footer-col a, footer.site-footer .footer-col span.static{padding:9px 0; margin-bottom:0;}
  footer.site-footer .foot-bottom .fl{font-size:12.5px; line-height:1.7;}
  footer.site-footer .foot-bottom .fr{font-size:12.5px; gap:4px 22px;}
  footer.site-footer .foot-bottom .fr a, footer.site-footer .foot-bottom .fl a{display:inline-block; padding:10px 0;}
  /* Long words such as email addresses never push the page sideways */
  h1, h2, h3, p, li, a, dd, td{overflow-wrap:break-word;}
}
@media(max-width:920px){header.site nav.links.open{box-shadow:0 0 0 100vmax rgba(26,33,24,0.5);}}
