/* ===== StoneHaven unified header & footer (one shared component for every page) ===== */
.sh-header,.sh-footer,.sh-band{--sh-forest:#022b1a;--sh-gold:#c9a45c;--sh-gold-light:#e1ca94;--sh-ivory:#fbf8f1;font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.sh-header *,.sh-footer *,.sh-band *{box-sizing:border-box}
.sh-wrap{max-width:1210px;margin:0 auto;padding:0 31px}
.sh-header img,.sh-footer img{max-width:none}
.sh-skip{position:absolute;left:-9999px;top:0;z-index:100;background:#e1ca94;color:#022b1a;padding:10px 16px;font:700 13px Montserrat,Arial,sans-serif}
.sh-skip:focus{left:12px;top:12px}
.sh-header{position:relative;z-index:50;background:var(--sh-forest);color:#fff;border-bottom:1px solid rgba(201,164,92,.45)}
.sh-header-inner{min-height:90px;display:flex;align-items:center;gap:20px}
.sh-brand{flex:none;display:block;line-height:0}
.sh-brand img{display:block;height:52px;width:auto}
.sh-nav{display:flex;align-items:stretch;justify-content:center;margin:0 0 0 auto;padding:0;list-style:none;align-self:stretch}
.sh-nav>li{position:relative;display:flex;align-items:center;margin:0;padding:0}
.sh-top{display:flex;align-items:center;gap:6px;height:100%;padding:0 clamp(7px,.8vw,12px);color:#e0e9df;font-size:11px;font-weight:600;letter-spacing:.04em;text-decoration:none;white-space:nowrap;position:relative}
.sh-top:hover,.sh-nav>li:focus-within>.sh-top,.sh-nav>li:hover>.sh-top{color:#fff}
.sh-caret{width:7px;height:7px;border-right:1.4px solid var(--sh-gold);border-bottom:1.4px solid var(--sh-gold);transform:rotate(45deg) translateY(-2px);transition:transform .18s}
.sh-nav>li:hover .sh-caret,.sh-nav>li:focus-within .sh-caret{transform:rotate(225deg) translateY(-1px)}
.sh-top.is-current{color:var(--sh-gold-light)}
.sh-top.is-current:after{content:"";position:absolute;left:clamp(7px,.8vw,12px);right:clamp(7px,.8vw,12px);top:calc(50% + 11px);height:1px;background:var(--sh-gold)}
.sh-drop{position:absolute;top:100%;left:50%;min-width:262px;transform:translate(-50%,8px);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;background:var(--sh-forest);border:1px solid rgba(201,164,92,.45);border-top:2px solid var(--sh-gold);box-shadow:0 18px 38px rgba(2,43,26,.28);padding:12px 0;margin:0;list-style:none}
.sh-nav>li:hover>.sh-drop,.sh-nav>li:focus-within>.sh-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sh-drop a{display:block;padding:9px 22px;color:#dbe6dc;font-size:12.5px;font-weight:500;line-height:1.45;text-decoration:none;white-space:nowrap}
.sh-drop a:hover,.sh-drop a:focus-visible{background:rgba(201,164,92,.12);color:#fff}
.sh-drop a[aria-current="page"]{color:var(--sh-gold-light)}
.sh-drop .sh-landing{color:var(--sh-gold-light);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:6px;padding-bottom:12px}
.sh-drop-label{display:block;padding:10px 22px 6px;color:var(--sh-gold);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sh-mega{display:grid;grid-template-columns:1fr 1fr;min-width:540px;padding:14px 0}
.sh-mega>li+li+li{border-left:1px solid rgba(255,255,255,.1)}
.sh-mega .sh-landing{grid-column:1/-1}
.sh-drop.sh-cols2{display:grid;grid-template-columns:1fr 1fr;min-width:430px}
.sh-cols2 .sh-landing{grid-column:1/-1}
.sh-nav>li:last-child .sh-drop{left:auto;right:0;transform:translate(0,8px)}
.sh-nav>li:last-child:hover .sh-drop,.sh-nav>li:last-child:focus-within .sh-drop{transform:translate(0,0)}
.sh-cta{flex:none;display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:0 16px;background:var(--sh-gold-light);color:var(--sh-forest);font-size:11.5px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .18s}
.sh-cta span{font-size:17px;font-weight:400;line-height:1}
.sh-cta:hover{background:#f0d9a7}
.sh-header a:focus-visible,.sh-header summary:focus-visible,.sh-footer a:focus-visible,.sh-footer summary:focus-visible{outline:2px solid var(--sh-gold);outline-offset:3px}
/* mobile menu */
.sh-mobile{display:none;margin-left:auto}
.sh-mobile>summary{list-style:none;display:flex;align-items:center;gap:9px;color:var(--sh-gold-light);cursor:pointer;font-size:12px;font-weight:700;padding:12px 0}
.sh-mobile summary::-webkit-details-marker{display:none}
.sh-burger{display:inline-block;width:20px;height:2px;background:currentColor;position:relative}
.sh-burger:before,.sh-burger:after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor}
.sh-burger:before{top:-6px}.sh-burger:after{top:6px}
.sh-mobile[open] .sh-burger{background:transparent}
.sh-mobile[open] .sh-burger:before{top:0;transform:rotate(45deg)}
.sh-mobile[open] .sh-burger:after{top:0;transform:rotate(-45deg)}
.sh-panel{position:absolute;left:0;right:0;top:100%;background:var(--sh-forest);border-top:1px solid rgba(201,164,92,.45);box-shadow:0 18px 32px rgba(2,43,26,.3);padding:16px 21px 24px;max-height:calc(100vh - 78px);overflow-y:auto}
.sh-panel .sh-cta{color:var(--sh-forest);border-bottom:0;padding:0 16px;display:flex;justify-content:space-between;width:100%;min-height:50px;margin-bottom:10px;font-size:13px}
.sh-panel a,.sh-panel summary{display:flex;justify-content:space-between;align-items:center;padding:13px 0;color:#e1ebe1;font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer;list-style:none}
.sh-panel details summary:after{content:"+";color:var(--sh-gold);font-size:20px;font-weight:400;line-height:1}
.sh-panel details[open] summary:after{content:"\2212"}
.sh-panel details>div{padding:4px 0 10px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.sh-panel details>div a{font-size:13px;font-weight:500;padding:9px 0;border-bottom:0;color:#c9d8cb}
.sh-panel details>div .sh-drop-label{padding:12px 0 4px}
.sh-panel a[aria-current="page"],.sh-panel .is-current>summary{color:var(--sh-gold-light)}
.sh-panel .sh-call{color:var(--sh-gold-light);border-bottom:0;margin-top:6px}
@media (max-width:1180px){
  .sh-nav,.sh-header-inner>.sh-cta{display:none}
  .sh-mobile{display:block}
  .sh-header-inner{min-height:78px}
  .sh-brand img{height:46px}
}
/* footer */
.sh-band{background:#0b3a26;color:#fff;border-top:1px solid rgba(201,164,92,.3)}
.sh-band-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:54px;padding-bottom:54px}
.sh-band .sh-eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 16px;color:var(--sh-gold-light);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sh-band .sh-eyebrow:before{content:"";width:19px;height:1px;background:currentColor}
.sh-band h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(28px,3.2vw,40px);line-height:1.15;margin:0 0 10px;color:#fff}
.sh-band h2 em{font:italic 500 1.12em 'Cormorant Garamond',Georgia,serif;color:var(--sh-gold-light)}
.sh-band p{margin:0;color:#cfdccf;font-size:15px;line-height:1.6}
.sh-band-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex:none}
.sh-band-actions .sh-cta{min-height:54px;font-size:13px;padding:0 20px;gap:22px}
.sh-band-link{color:var(--sh-gold-light);font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--sh-gold);padding-bottom:4px}
.sh-band-link:hover{color:#fff}
.sh-footer{background:var(--sh-forest);color:#d0ddd0;padding:34px 0 30px;border-top:1px solid rgba(201,164,92,.3)}
.sh-fmain{display:flex;align-items:center;gap:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.14)}
.sh-fmain img{height:46px;width:auto;display:block}
.sh-tagline{font:italic 500 21px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--sh-gold-light);margin:0}
.sh-fcontact{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px}
.sh-fcontact a{color:#e1ebe1;text-decoration:none}
.sh-fcontact a:hover{color:var(--sh-gold-light)}
.sh-fcontact b{color:var(--sh-gold-light);font-weight:700;margin-right:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.sh-social{display:flex;gap:9px}
.sh-social span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(201,164,92,.6);border-radius:50%;color:var(--sh-gold-light)}
.sh-social svg{width:19px;height:19px}
.sh-fgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;padding:29px 0 28px;border-bottom:1px solid rgba(255,255,255,.14)}
.sh-fcol h2,.sh-fcol summary{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:17px;line-height:1.2;color:var(--sh-gold-light);margin:0 0 12px;list-style:none}
.sh-fcol summary{pointer-events:none}
.sh-fcol summary::-webkit-details-marker{display:none}
.sh-fcol summary a{color:inherit;text-decoration:none;pointer-events:auto}
.sh-fcol ul{list-style:none;margin:0;padding:0}
.sh-fcol li{font-size:12px;line-height:1.52;color:#c2d3c4;margin:0 0 9px}
.sh-fcol li a{color:#c2d3c4;text-decoration:none}
.sh-fcol li a:hover{color:var(--sh-gold-light)}
.sh-fcol li a[aria-current="page"]{color:var(--sh-gold-light)}
.sh-flegal{display:flex;flex-wrap:wrap;gap:18px 35px;padding-top:22px}
.sh-flegal p{flex:1 1 300px;font-size:11px;line-height:1.7;color:#b3c8b8;margin:0}
.sh-fbottom{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid rgba(201,164,92,.22);padding-top:15px;font-size:11px;color:#b3c8b8}
.sh-fbottom nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.sh-fbottom a{color:#c9d8cb;text-decoration:none}
.sh-fbottom a:hover{color:var(--sh-gold-light)}
@media (max-width:1100px){.sh-fmain{flex-wrap:wrap}.sh-fcontact{margin-left:0;flex-basis:100%;order:3}}
@media (max-width:950px){.sh-fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.sh-band-inner{flex-direction:column;align-items:flex-start}}
@media (max-width:700px){
  .sh-wrap{padding:0 21px}
  .sh-fgrid{display:block;padding:12px 0 18px;border-bottom:0}
  .sh-fcol{border-bottom:1px solid rgba(255,255,255,.1)}
  .sh-fcol summary{pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin:0;padding:15px 0;font-size:16px}
  .sh-fcol summary:after{content:"+";color:var(--sh-gold);font:400 20px Montserrat,Arial,sans-serif}
  .sh-fcol[open] summary:after{content:"\2212"}
  .sh-fcol ul{padding:0 0 12px}
  .sh-fcol li{font-size:13px}
  .sh-flegal{display:block}.sh-flegal p+p{margin-top:14px}.sh-fbottom{margin-top:16px}
  .sh-band-inner{padding-top:42px;padding-bottom:42px}
}
@media (prefers-reduced-motion:reduce){.sh-drop,.sh-caret,.sh-cta{transition:none}}
