/* ONYX 2027 — shared site chrome / FOOTER ONLY.
   Scoped to .onyx-2027-footer. No page content grids, imagery, or newsletter form changes. */
.onyx-2027-footer{background:#0d1d14;color:#fff;overflow:hidden;}
.onyx-2027-footer,.onyx-2027-footer *{box-sizing:border-box;}
.onyx-2027-footer .onx7-footer-shell{padding:clamp(56px,7vw,112px) clamp(22px,5vw,88px) 22px;background:radial-gradient(ellipse at 90% 12%,rgba(53,91,68,.20),transparent 48%),linear-gradient(145deg,#112419 0%,#0a1710 100%);border-top:1px solid rgba(255,255,255,.16);font-family:'DM Sans',Arial,sans-serif!important;}
.onyx-2027-footer .onx7-footer-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:clamp(30px,6vw,100px);padding-bottom:clamp(50px,6vw,100px);border-bottom:1px solid rgba(246,250,247,.20);align-items:end;}
.onyx-2027-footer .onx7-eyebrow{font-family:'DM Sans',Arial,sans-serif!important;font-size:10px!important;letter-spacing:.23em!important;font-weight:600!important;text-transform:uppercase;color:#c0b198!important;margin:0 0 22px!important;}
.onyx-2027-footer .onx7-footer-head h2{font-family:'Italiana',Georgia,serif!important;font-size:clamp(49px,5.9vw,106px)!important;line-height:.99!important;font-weight:400!important;letter-spacing:-.055em!important;color:#fff!important;margin:0!important;text-transform:none!important;max-width:990px;}
.onyx-2027-footer .onx7-footer-head h2 em{font:inherit;color:#fff;font-style:normal;}
.onyx-2027-footer .onx7-footer-aside{max-width:380px;justify-self:end;}
.onyx-2027-footer .onx7-footer-aside p{font-family:'DM Sans',Arial,sans-serif!important;font-size:15px!important;line-height:1.8!important;color:#c8d2cc!important;margin:0 0 24px!important;}
.onyx-2027-footer .onx7-footer-action{display:inline-flex;align-items:center;justify-content:space-between;min-height:52px;gap:40px;padding:15px 18px!important;background:#fff!important;color:#102018!important;font-family:'DM Sans',Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase;text-decoration:none!important;border:1px solid #fff!important;transition:background .2s,color .2s;}
.onyx-2027-footer .onx7-footer-action:hover,.onyx-2027-footer .onx7-footer-action:focus-visible{background:transparent!important;color:#fff!important;}
.onyx-2027-footer .onx7-footer-grid{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(0,1fr));gap:clamp(18px,2.8vw,58px);padding:clamp(42px,5vw,78px) 0 clamp(48px,6vw,100px);}
.onyx-2027-footer .onx7-brandname{display:block;font-family:'Italiana',Georgia,serif!important;font-size:clamp(52px,5vw,83px)!important;line-height:.95!important;color:#fff!important;letter-spacing:-.04em!important;text-decoration:none!important;margin:0 0 12px;}
.onyx-2027-footer .onx7-brandsub{display:block;font-family:'DM Sans',Arial,sans-serif!important;font-size:9px!important;letter-spacing:.27em!important;color:#f4f7f3!important;margin-bottom:26px!important;}
.onyx-2027-footer .onx7-branddesc{max-width:220px;color:#b7c7bb!important;font:400 13px/1.7 'DM Sans',Arial,sans-serif!important;margin:0!important;}
.onyx-2027-footer .onx7-group h3{font-family:'DM Sans',Arial,sans-serif!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.2em!important;color:#bda989!important;margin:0 0 24px!important;line-height:1.5!important;}
.onyx-2027-footer .onx7-group a{display:block;width:max-content;max-width:100%;text-decoration:none!important;color:#f4f6f4!important;font:400 13px/1.55 'DM Sans',Arial,sans-serif!important;margin:0 0 15px!important;white-space:normal;transition:color .2s ease;}
.onyx-2027-footer .onx7-group a:hover,.onyx-2027-footer .onx7-group a:focus-visible{color:#d4c09d!important;text-decoration:underline!important;text-underline-offset:5px;}
.onyx-2027-footer .onx7-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.17);padding-top:23px;color:#aabbb0;font:400 11px/1.55 'DM Sans',Arial,sans-serif!important;letter-spacing:.02em;}
.onyx-2027-footer .onx7-footer-bottom-links{display:flex;gap:20px;flex-wrap:wrap;}
.onyx-2027-footer .onx7-footer-bottom-links a{color:#cad7cd!important;font:400 11px/1.5 'DM Sans',Arial,sans-serif!important;text-decoration:none!important;}
.onyx-2027-footer .onx7-footer-bottom-links a:hover{text-decoration:underline!important;text-underline-offset:4px;}
.onyx-2027-footer .onx7-sitewordmark{font:700 clamp(84px,23vw,360px)/.69 'DM Sans',Arial,sans-serif!important;letter-spacing:-.1em!important;color:rgba(230,243,233,.045)!important;text-align:center;white-space:nowrap;pointer-events:none;user-select:none;padding:clamp(52px,6vw,95px) 0 0;transform:translateX(-1.5%)}
/* Existing original Journal newsletter stays above this component unchanged. */
@media(max-width:1100px){.onyx-2027-footer .onx7-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.onyx-2027-footer .onx7-brandpanel{grid-column:1/-1;padding-bottom:16px;}.onyx-2027-footer .onx7-footer-head{grid-template-columns:1.1fr .9fr;}.onyx-2027-footer .onx7-footer-head h2{font-size:clamp(48px,6vw,80px)!important;}}
@media(max-width:700px){.onyx-2027-footer .onx7-footer-head{grid-template-columns:1fr;}.onyx-2027-footer .onx7-footer-head h2{font-size:clamp(45px,11vw,76px)!important;}.onyx-2027-footer .onx7-footer-aside{justify-self:start;max-width:490px;}.onyx-2027-footer .onx7-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 18px;}.onyx-2027-footer .onx7-brandpanel{grid-column:1/-1;}.onyx-2027-footer .onx7-footer-bottom{align-items:flex-start;flex-direction:column;}.onyx-2027-footer .onx7-sitewordmark{padding-top:60px;font-size:29vw!important;}.onyx-2027-footer .onx7-footer-shell{padding:70px 22px 20px;}}

/* Scoped compatibility across existing ONYX page variants; no changes to page bodies. */
footer.onyx-2027-footer { padding:0!important; margin:0!important; height:auto!important; min-height:0!important; width:100%!important; max-width:none!important; border:0!important; overflow:hidden!important; display:block!important; }
footer.onyx-2027-footer > .onx7-footer-shell {width:100%; margin:0;}
footer.onyx-2027-footer > .onyx-news-top { width:100%; }
header.site-header nav.desktop-nav, header.site-header nav.mobile-nav,
header.onyx-global-header nav.onyx-global-nav, header.onyx-global-header nav.onyx-global-mobile {font-family:'DM Sans',Arial,sans-serif;}

/* Solara bridge only: preserve original in-page navigation and its mobile script. */
header.sitehead nav.headnav .onx7-solara-tech-wrap{position:relative;display:flex;align-items:center;}
header.sitehead nav.headnav .onx7-solara-tech-menu{position:absolute;z-index:150;top:100%;left:-14px;min-width:150px;padding:12px 0;background:#151a16;border:1px solid rgba(188,167,137,.35);box-shadow:0 12px 28px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
header.sitehead nav.headnav .onx7-solara-tech-wrap:hover .onx7-solara-tech-menu,header.sitehead nav.headnav .onx7-solara-tech-wrap:focus-within .onx7-solara-tech-menu{opacity:1;visibility:visible;transform:none;}
header.sitehead nav.headnav .onx7-solara-tech-menu a{display:block;padding:11px 16px;letter-spacing:.13em;font-size:10px;color:#f8f3e9;white-space:nowrap;}
header.sitehead nav.headnav .onx7-solara-tech-menu a:hover,header.sitehead nav.headnav .onx7-solara-tech-menu a:focus-visible{color:#d4c09d;}
footer.foot.onyx-2027-footer .onx7-solara-disclaimer{font:400 11px/1.6 'DM Sans',Arial,sans-serif!important;color:#aabbb0!important;max-width:100%!important;margin:0 0 16px!important;letter-spacing:normal!important;}
/* Solara has a narrow, original desktop header; do not change hero or mobile layout. */
@media(min-width:781px) and (max-width:1060px){header.sitehead nav.headnav{gap:clamp(10px,1.6vw,18px);padding-left:0;}header.sitehead nav.headnav>a,header.sitehead nav.headnav .onx7-solara-tech-wrap>a{letter-spacing:.08em;font-size:9px;}}
/* Keep all Solara mobile navigation links reachable on shorter screens. */
nav.mobilemenu#mobileMenu{overflow-y:auto;overscroll-behavior:contain;}
@media(max-height:650px){nav.mobilemenu#mobileMenu.open{justify-content:flex-start;padding-top:60px;padding-bottom:30px;}}
