/* Responsive layout and navigation */
body{margin:0}
html{scroll-padding-top:104px}
[id]{scroll-margin-top:24px}
.head,.hero .wrap,.resort-hero .wrap{grid-template-columns:minmax(0,1fr)}
.head>*,.hero .wrap>*,.contact>*,.row>*,label,input,select,textarea{min-width:0}
h1,h2,h3,p,li,figcaption,.eyebrow,.direct .v,.network b{overflow-wrap:anywhere}
.btn{max-width:100%;text-align:center;min-height:44px}
input,select,textarea{max-width:100%}
.top .wrap{padding-block:12px;gap:16px;flex-wrap:nowrap}
.top nav{justify-content:center;gap:22px}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.menu-toggle svg{width:18px;height:18px;flex:none}
.menu-toggle:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (max-width:1200px){
 .top .wrap{flex-wrap:wrap}
 .top nav{display:none;flex-basis:100%;order:5;justify-content:flex-start;gap:8px 24px;padding-top:12px;border-top:1px solid var(--line)}
 .top nav.is-open{display:flex}
 .top nav a{padding:10px 0;min-height:44px}
 .menu-toggle{display:inline-flex;order:3}
 .top .wrap>.btn{margin-left:auto;order:2}
}
@media (max-width:640px){
 html{scroll-padding-top:164px}
 body{font-size:18px;line-height:1.6}
 .wrap{padding-inline:20px}
 section{padding-block:56px}
 .head{gap:14px;margin-bottom:32px}
 .lede{font-size:19px}
 h2{font-size:clamp(28px,7vw,36px);line-height:1.15}
 h3{font-size:23px;line-height:1.25}
 .eyebrow{font-size:12px;letter-spacing:.12em}
 .top .wrap{gap:10px 12px}
 .menu-toggle{margin-left:auto;order:2}
 .top .wrap>.btn{order:3;flex-basis:100%;margin-left:0;width:100%}
 .top nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
 .top nav a{font-size:16px}
 .hero .wrap{padding-block:64px 56px;gap:20px}
 .hero .ctas{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .hero .ctas .btn{width:100%;font-size:16px;padding:14px 18px}
 .contact{gap:32px}
 form{padding:20px;gap:16px}
 .direct .v{font-size:18px}
 .sent{padding:14px}
 .copyline code{min-width:0;max-width:100%;font-size:15px}
 footer{padding-block:36px 44px}
}
@media (max-width:360px){
 .wrap{padding-inline:16px}
 form{padding:16px}
 .top nav.is-open{grid-template-columns:minmax(0,1fr)}
}
/* NEO layout refinements */
.mark{flex:none}
.mark small{letter-spacing:.16em}
.cats figcaption{min-width:0;overflow-wrap:anywhere}
.plate .txt,.opt .txt,.convert .txt,.boutique .txt,.market .side,.studio .list{min-width:0}
.exchange th{vertical-align:bottom}
footer .fl>a{overflow-wrap:anywhere}
@media (max-width:640px){
 h1{font-size:clamp(36px,9vw,48px);line-height:1.08;max-width:100%}
 .mark small{font-size:10px;margin-left:10px}
 .mark .ne{font-size:26px}
 .mark .o{width:21px;height:21px;border-width:3px}
 .plate .txt,.opt .txt,.convert .txt,.boutique .txt,.studio .list{padding:22px 20px}
 .model article,.markets div,.network div,.tiles div,.goldman{padding:22px 20px}
 .chain div{padding:22px 20px}
 .chain h3{font-size:23px}
 .circuit,.headpair,.patient,.n100,.foundpair,.split{gap:28px}
 .market .side{grid-template-columns:minmax(0,1fr);padding:20px}
 .market .side img{margin-inline:auto}
 .journey{grid-template-columns:minmax(0,1fr);gap:28px}
 .ends img{flex:none}
 .ends span{min-width:0;overflow-wrap:anywhere}
 .eco-row{gap:24px 16px}
 .cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .cats b{font-size:12px;letter-spacing:.04em}
 .cats figcaption{padding:14px 12px}
 .cats span{font-size:15px}
 .exchange,.exchange tbody,.exchange tr,.exchange td{display:block;width:100%}
 .exchange thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .exchange tr{padding:18px 0;border-bottom:1px solid var(--line)}
 .exchange td,.exchange td:first-child{padding:0;border:0;font-size:17px}
 .exchange td+td{margin-top:16px}
 .exchange td::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;font-weight:700;color:var(--gold);margin-bottom:6px}
 .tbl{overflow:visible}
 footer .fl{gap:20px}
}
@media (max-width:400px){.cats{grid-template-columns:minmax(0,1fr)}}

@media (max-width:360px){.menu-label{display:none}.menu-toggle{width:44px;padding:10px}}

/* Responsive image variants retain the original layout. */
img{height:auto}
.site-picture{display:block;min-width:0}
.hero>.site-picture,.band>.site-picture{position:absolute;inset:0;z-index:-2}
.ends .site-picture{flex:none;width:84px;height:44px}
.eco-row .site-picture{width:100%;max-width:120px;margin-inline:auto}
.eco-row .hub .site-picture{max-width:150px}
.journey figure>.site-picture{width:130px;height:130px}
.market .side>.site-picture{width:150px;max-width:100%;margin-inline:auto}
