/* 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)}
}
/* Neovia layout refinements */
.brand{flex:none}
.brand canvas{flex:none}
.hero .word{font-size:clamp(38px,8.4vw,110px);letter-spacing:.22em;margin-right:0;max-width:100%;overflow-wrap:normal}
.places div:last-child{border-bottom:0}
@media (max-width:1200px) and (min-width:1001px){
 .places{grid-template-columns:repeat(3,minmax(0,1fr))}
 .places div:nth-child(3n){border-right:0}
 .places div:nth-child(-n+3){border-bottom:1px solid var(--line)}
 .pipe{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
 .brand{gap:10px}
 .brand .word{font-size:18px;letter-spacing:.24em}
 .brand canvas{width:28px;height:28px}
 .hero .word{font-size:clamp(38px,10vw,64px);letter-spacing:.2em}
 .hero .tag{font-size:clamp(25px,6.8vw,32px);line-height:1.2}
 .hero .sub{font-size:12px;letter-spacing:.12em}
 .tracks article,.tax div,.three article,.pipe li{padding:24px 20px}
 .ethos,.pair{gap:28px}
 .ethos blockquote{font-size:26px;line-height:1.3}
 .rule{padding:20px;font-size:19px}
 .resort-hero .wrap{padding-block:48px}
 .gallery{gap:20px}
 .gallery img{height:auto;aspect-ratio:16/10}
 .gallery figcaption{position:static;padding:14px 16px;background:var(--panel);font-size:17px;line-height:1.4}
 .gallery figcaption span{margin-top:4px;font-size:15px}
 .network{grid-template-columns:minmax(0,1fr)}
 .seal{gap:12px}
 .seal .word{font-size:22px;letter-spacing:.22em}
}

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