/* Shared site shell — BellorafineHall */
.site-header,.site-footer{box-sizing:border-box;font-family:var(--font-family-body)}
.site-header *, .site-footer *{box-sizing:border-box}
.site-header{position:sticky;top:0;z-index:1000;width:100%;background:#14251f;color:#f8f3e9;box-shadow:0 8px 30px rgba(11,27,21,.15)}
.site-header__inner,.site-footer__inner{width:min(100% - 2.5rem,76rem);margin-inline:auto}
.site-header__notice{background:#0e3c2f;color:#e4dfd2;font-size:.71rem;font-weight:600;letter-spacing:.075em;text-transform:uppercase}
.site-header__notice-inner{min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-header__notice-inner>span:last-child{color:#e3c57c}
.site-header__bar{border-bottom:1px solid rgba(255,255,255,.1)}
.site-header__row{min-height:76px;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:clamp(.75rem,2vw,2rem)}
.site-header__brand{display:inline-flex;align-items:center;gap:.65rem;width:max-content;max-width:100%;color:#f8f3e9;text-decoration:none}
.site-header__brand:visited{color:#f8f3e9}
.site-header__brand:hover{color:#fff}
.site-header__mark{width:38px;height:38px;flex:none;color:#d9b966}
.site-header__brand-text{display:flex;flex-direction:column;gap:0;line-height:.98;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-family-heading);font-size:1rem;font-weight:700}
.site-header__brand-text span:last-child{color:#d9b966;letter-spacing:.23em;font-size:.74rem;margin-top:.32rem}
.site-header__nav{display:flex;align-items:center;justify-content:center;gap:clamp(.85rem,1.55vw,1.7rem);height:100%;white-space:nowrap}
.site-header__nav a{height:100%;display:inline-flex;align-items:center;position:relative;color:#e6e3da;text-decoration:none;font-size:.88rem;font-weight:600;transition:color .2s ease}
.site-header__nav a::after{content:"";position:absolute;left:0;right:0;bottom:1rem;height:2px;background:#d9b966;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header__nav a:hover,.site-header__nav a:focus-visible,.site-header__nav a[aria-current="page"]{color:#f5d580}
.site-header__nav a:hover::after,.site-header__nav a:focus-visible::after,.site-header__nav a[aria-current="page"]::after{transform:scaleX(1)}
.site-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem}
.site-header__cta,.site-header__mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:43px;padding:.65rem 1.05rem;background:#d9b966;color:#14251f!important;border:1px solid #d9b966;border-radius:6px;text-decoration:none!important;font-size:.86rem;font-weight:700;white-space:nowrap;transition:background .2s ease,transform .2s ease}
.site-header__cta:hover,.site-header__mobile-cta:hover{background:#f0cf7d;transform:translateY(-1px)}
.site-header__cta span,.site-header__mobile-cta span{font-size:1.1rem;line-height:1}
.site-header__toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:transparent;color:#f8f3e9;cursor:pointer}
.site-header__toggle:hover{background:rgba(255,255,255,.08)}
.site-header__toggle svg{width:22px;height:22px}
.site-header__icon-close{display:none}
.site-header.is-open .site-header__icon-menu{display:none}
.site-header.is-open .site-header__icon-close{display:block}
.site-header__panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 95px);overflow-y:auto;background:#14251f;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 24px 35px rgba(0,0,0,.24);padding:1.2rem max(1.25rem,calc((100vw - 76rem)/2));opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.site-header.is-open .site-header__panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.site-header__mobile-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem}
.site-header__mobile-nav a{padding:1rem .25rem;border-bottom:1px solid rgba(255,255,255,.12);color:#f8f3e9;text-decoration:none;font-family:var(--font-family-heading);font-size:1.3rem;line-height:1.25}
.site-header__mobile-nav a:hover,.site-header__mobile-nav a[aria-current="page"]{color:#e3c57c}
.site-header__mobile-cta{margin-top:1.3rem;width:max-content}
.site-header__mobile-note{margin:1.1rem 0 0;color:#bebeb3;font-size:.85rem}
.site-header a:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible{outline:2px solid #f0cf7d;outline-offset:4px}
body.menu-open{overflow:hidden}
.site-footer{width:100%;color:#f8f3e9;background:#141d19;border-top:3px solid #bf9a4d}
.site-footer__lead{background:radial-gradient(circle at 82% 15%,rgba(197,154,58,.15),transparent 42%),#1b2c24;border-bottom:1px solid rgba(255,255,255,.13)}
.site-footer__lead-grid{padding-block:clamp(2.75rem,5vw,4.5rem);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.site-footer__eyebrow{display:block;margin-bottom:1rem;color:#dcc27d;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}
.site-footer__lead h2{max-width:15ch;margin:0;font-family:var(--font-family-heading);font-weight:700;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.12;color:#fff}
.site-footer__lead p{max-width:55ch;margin:1.1rem 0 0;color:#d0d5cd;line-height:1.55;font-size:.96rem}
.site-footer__cta{display:inline-flex;flex:none;align-items:center;justify-content:space-between;gap:2rem;min-height:52px;padding:.85rem 1.15rem;border:1px solid #d9b966;border-radius:6px;color:#e9d08b!important;text-decoration:none!important;font-weight:700;white-space:nowrap;transition:background .2s ease,color .2s ease}
.site-footer__cta:hover{background:#d9b966;color:#14251f!important}
.site-footer__cta span{font-size:1.2rem}
.site-footer__columns{display:grid;grid-template-columns:1.65fr 1fr 1fr 1.8fr;gap:clamp(1.5rem,3vw,3.5rem);padding-block:clamp(2.6rem,5vw,4.3rem)}
.site-footer__wordmark{display:block;width:max-content;color:#f8f3e9!important;text-decoration:none!important;font-family:var(--font-family-heading);font-size:1.45rem;font-weight:700;letter-spacing:.015em}
.site-footer__wordmark span{color:#d9b966}
.site-footer__brand p{max-width:29ch;margin:1rem 0;color:#c7d0c8;font-size:.9rem;line-height:1.6}
.site-footer__age{display:inline-block;padding:.55rem .75rem;border:1px solid rgba(217,185,102,.45);border-radius:4px;color:#e9d08b;font-size:.75rem;line-height:1.35}
.site-footer__column{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0}
.site-footer__column h3{margin:0 0 .55rem;color:#d9b966;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-family-body);font-size:.76rem;font-weight:700}
.site-footer__column a,.site-footer__column a:visited,.site-footer__bottom a,.site-footer__bottom a:visited{color:#e1e7de;text-decoration:none;font-size:.9rem;line-height:1.35;transition:color .2s ease}
.site-footer__column a:hover,.site-footer__bottom a:hover{color:#f0cf7d}
.site-footer__company{gap:.7rem}
.site-footer__company p{margin:0;color:#e1e7de;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
.site-footer__company strong{display:block;margin-bottom:.12rem;color:#aebbae;font-size:.72rem;letter-spacing:.025em;font-weight:600}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding-block:1.2rem;border-top:1px solid rgba(255,255,255,.14);color:#b8c3b9;font-size:.78rem}
.site-footer__bottom a{font-size:.8rem}
@media(max-width:1100px){
 .site-header__row{grid-template-columns:1fr auto;min-height:70px}
 .site-header__nav{display:none}
 .site-header__toggle{display:inline-flex}
 .site-footer__columns{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .site-header__inner,.site-footer__inner{width:min(100% - 2rem,76rem)}
 .site-header__notice-inner{justify-content:center;min-height:28px;text-align:center}
 .site-header__notice-inner>span:first-child{display:none}
 .site-header__row{min-height:65px;gap:.6rem}
 .site-header__mark{width:34px;height:34px}
 .site-header__brand-text{font-size:.86rem}
 .site-header__brand-text span:last-child{font-size:.66rem}
 .site-header__cta{display:none}
 .site-header__panel{max-height:calc(100dvh - 93px);padding:1rem}
 .site-header__mobile-nav{grid-template-columns:1fr}
 .site-header__mobile-nav a{padding:.8rem .15rem;font-size:1.27rem}
 .site-header__mobile-cta{width:100%;margin-top:1.15rem}
 .site-footer__lead-grid{align-items:flex-start;flex-direction:column;gap:1.7rem}
 .site-footer__lead h2{font-size:clamp(2rem,8vw,2.8rem)}
 .site-footer__cta{width:100%}
 .site-footer__columns{grid-template-columns:1fr 1fr;gap:2rem 1.25rem}
 .site-footer__brand,.site-footer__company{grid-column:1/-1}
 .site-footer__bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:380px){.site-header__brand-text{font-size:.78rem}.site-header__brand{gap:.35rem}.site-header__mark{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.site-header__panel,.site-header__nav a::after,.site-header__cta,.site-footer__cta{transition:none}}
