/* =====================================================================
   MBTS · Home page only (public/frontend/css/mbts-home.css)
   Header, footer, menu and "Aa" are in mbts-site.css (common to all pages).
   Breakpoints: desktop ≥1280 · laptop ≤1279 · tablet ≤1023 · big phone ≤767 · phone ≤575
   ===================================================================== */
/* ===== MBTS homepage · all rules scoped to .mbh ===== */
html.mbh-root{font-size:100%;scroll-behavior:smooth;scroll-padding-top:7rem}
.mbh{--ink:#111A14;--ink2:#4B564E;--ink3:#7D877F;--forest:#1E3A2B;--green:#2F7A42;--green2:#3C8A52;--sage:#EAF2EA;--cream:#FAF8F3;--line:#E4E7E1;--gold:#F5B800;--goldt:#F2D27C;--rust:#A4471C;--blue:#1F4E8C;--r:1rem;--g:#2F7A42;--gd:#1F5D31;--bg:#EAF6EA;--cr:#FFFDF7;--au:#F4B400;--tx:#202820;--tx2:#5F685F;--ln:#DCE6DA;--logo-ink:#173D33;--logo-sky:#5B9BC8;--logo-sun:#EFA73A;
  margin:0;background:var(--cream);color:var(--ink);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
:where(.mbh) *,:where(.mbh) *::before,:where(.mbh) *::after{box-sizing:border-box}
:where(.mbh) img{max-width:100%;display:block}
:where(.mbh) a{color:inherit;text-decoration:none}
:where(.mbh) :is(button,input,select){font:inherit;color:inherit}
:where(.mbh) button{cursor:pointer}
:where(.mbh) :is(h1,h2,h3,h4,p){margin:0}
.mbh h1,.mbh h2{font-weight:800;letter-spacing:-.025em;line-height:1.04}
.mbh em.mbh-it{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.01em}
.mbh :focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.mbh-wrap{width:100%;max-width:90rem;margin:0 auto;padding:0 1.25rem}
.mbh-eye{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--goldt);margin-bottom:.2rem}
.mbh-eye.g{color:var(--green)}
@media (max-width:767px){
  .mbh-eye{font-size:.60rem;font-weight:700;letter-spacing:.16em;margin-bottom:.2rem}
}
.mbh-sh{font-size:clamp(2rem,4.4vw,3.2rem)}
.mbh-sh em.mbh-it{color:var(--goldt)}
.mbh-light .mbh-sh em.mbh-it{color:var(--green)}
.mbh-sub{margin-top:.8rem;font-size:1rem;max-width:34rem;color:rgba(255,255,255,.85)}
@media (max-width:767px){
  .mbh-sub{font-size:0.85rem;max-width:34rem;}
}
.mbh-light .mbh-sub{color:var(--ink2)}
.mbh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.6rem 1.25rem;border-radius:999px;border:1.5px solid transparent;font-weight:700;font-size:.92rem;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s}
@media (max-width:767px){
  .mbh-btn{gap:.4rem;min-height:2.5rem;padding:.4rem 1.0rem;font-weight:700;font-size:.8rem;}
}
.mbh-btn:hover{transform:translateY(-1px)}
.mbh-btn.y{background:var(--gold);color:var(--ink)}
.mbh-btn.y:hover{background:#FFC71F}
.mbh-btn.w{background:#fff;color:var(--ink)}
.mbh-btn.gl{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}
.mbh-btn.dk{background:var(--ink);color:#fff}
.mbh-btn.ol{background:#fff;border-color:var(--ink);color:var(--ink)}
.mbh-btn svg{width:1.05rem;height:1.05rem}
.mbh-ic{width:1.1rem;height:1.1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ----- hero ----- */
.mbh-hero{position:relative;color:#fff;background:#0F2140 url('../images/home/hero-summit.jpg') center 70%/cover no-repeat;padding:clamp(3.5rem,9vw,3.5rem) 0 1.5rem;min-height:calc(100vh - 7rem)}
.mbh-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,45,.72) 0%,rgba(8,20,45,.35) 55%,rgba(8,20,45,.15) 100%),linear-gradient(0deg,rgba(8,20,45,.55),transparent 45%)}
.mbh-hero .mbh-wrap{position:relative;max-width:75rem;}
.mbh-hero h1{font-size:clamp(2.6rem,7.4vw,5.4rem);line-height:.98}
.mbh-hero h1 em.mbh-it{display:block;color:var(--goldt);font-size:1em;margin-top:.1em}
.mbh-hero .lead{margin-top:1.1rem;max-width:25rem;font-size:1.05rem;color:rgba(255,255,255,.92)}
@media (max-width:767px){
  .mbh-hero .lead{margin-top:1rem;max-width:35rem;font-size:0.85rem;}
}
.mbh-hero .cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.mbh-cap{position:absolute;right:1.25rem;bottom:.9rem;font-size:.7rem;color:rgba(255,255,255,.8)}
/* search */
.mbh-search{margin-top:2rem;background:#fff;color:var(--ink);border-radius:1.25rem;padding:.6rem;box-shadow:0 24px 60px rgba(4,12,30,.35);max-width:60rem}
.mbh-tabs{display:flex;gap:.25rem;background:#F2F3F0;border-radius:.9rem;padding:.3rem;overflow-x:auto;scrollbar-width:none}
.mbh-tabs::-webkit-scrollbar{display:none}
.mbh-tabs button{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;background:none;border-radius:.65rem;padding:.6rem .85rem;font-size:.82rem;font-weight:700;color:var(--ink2);white-space:nowrap;min-height:2.6rem}
.mbh-tabs button[aria-selected="true"]{background:var(--forest);color:#fff}
.mbh-tabs .mbh-ic{width:.95rem;height:.95rem}
.mbh-sform{padding:.8rem .5rem .4rem}
.mbh-trip{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}
.mbh-trip label{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--line);border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-weight:700;cursor:pointer;min-height:2.4rem}
@media (max-width:767px){
  .mbh-trip label{padding:.3rem .7rem;font-size:.7rem;font-weight:700;min-height:2.1rem}
}
.mbh-trip input{accent-color:var(--ink);margin:0}
.mbh-trip label:has(input:checked){border-color:var(--ink)}
.mbh-fields{display:grid;gap:.6rem;align-items:end}
.mbh-f label{display:block;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin-bottom:.3rem}
.mbh-f input,.mbh-f select{width:100%;height:2.9rem;border:1.5px solid var(--line);border-radius:.7rem;background:#fff;padding:0 .75rem;font-size:.9rem;outline:none;min-width:0}
.mbh-f input:focus,.mbh-f select:focus{border-color:var(--green)}
.mbh-f input[aria-invalid="true"]{border-color:#C0392B}
@media (max-width:767px){
  .mbh-f input,.mbh-f select{width:100%;height:2.0rem;padding:0 .65rem;font-size:.75rem;}
}
.mbh-go{height:2.9rem;border:0;border-radius:999px;background:var(--forest);color:#fff;font-weight:700;font-size:.88rem;padding:0 1.2rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap}
.mbh-res{margin:.75rem .5rem .4rem;border-radius:.9rem;padding:.85rem 1rem;font-size:.86rem}
.mbh-res.ok{background:var(--sage);color:#173D24}
.mbh-res.ok b{display:block}
.mbh-res.ok small{display:block;color:var(--ink2);margin:.15rem 0 .7rem}
.mbh-res.err{background:#FDECEC;color:#9B1C1C;font-weight:700}
.mbh-assure{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:1.2rem;font-size:.8rem;color:rgba(255,255,255,.9)}
.mbh-assure span{display:inline-flex;align-items:center;gap:.4rem}
.mbh-assure .mbh-ic{color:var(--goldt);width:1rem;height:1rem}

/* ----- photo sections ----- */
.mbh-ph{position:relative;color:#fff;background:#14281C center/cover no-repeat;padding:clamp(3.5rem,8vw,5.5rem) 0}
.mbh-ph::before{content:"";position:absolute;inset:0;background:var(--ov,rgba(10,22,15,.55))}
.mbh-ph>.mbh-wrap{position:relative}
.mbh-ctr{text-align:center}
.mbh-ctr .mbh-sub{margin-left:auto;margin-right:auto}

/* ways */
.mbh-ways{background-image:url('../images/home/ways-terraces.jpg');--ov:linear-gradient(180deg,rgba(14,32,20,.72),rgba(14,32,20,.45) 60%,rgba(14,32,20,.6))}
.mbh-wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;max-width:75rem;margin:2.4rem auto 0;padding: 0 1.25rem;}
.mbh-way{background:#fff;color:var(--ink);border-radius:1.25rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.25);scroll-margin-top:7rem}
.mbh-way .im{position:relative;aspect-ratio:4/3;background:#ccc center/cover}
.mbh-chip{position:absolute;left:.7rem;bottom:.7rem;background:rgba(17,26,20,.72);color:#fff;font-size:.68rem;font-weight:600;padding:.25rem .6rem;border-radius:999px}
.mbh-way .bd{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;flex:1}
.mbh-way h3{font-size:1.55rem;font-weight:800;letter-spacing:-.02em}
.mbh-way .tg{font-weight:700;font-size:.9rem;margin-top:.15rem}
.mbh-way .st{font-size:.8rem;color:var(--ink2);margin-top:.55rem}
.mbh-way .st b{font-weight:700}
.mbh-way .mk{display:flex;gap:.45rem;align-items:flex-start;margin-top:.6rem;font-size:.76rem;font-weight:600;border-radius:.6rem;padding:.5rem .6rem}
.mbh-way .mk .mbh-ic{width:.9rem;height:.9rem;margin-top:.1rem}
.mbh-way .go{margin-top:auto;padding-top:1.1rem;font-weight:800;font-size:.86rem;display:inline-flex;align-items:center;gap:.35rem}
.mbh-way.tr h3,.mbh-way.tr .st b,.mbh-way.tr .go{color:var(--rust)}.mbh-way.tr .mk{background:#F8EAE2;color:#7A3412}
.mbh-way.to h3,.mbh-way.to .st b,.mbh-way.to .go{color:var(--blue)}.mbh-way.to .mk{background:#E5ECF6;color:#173B6A}
.mbh-way.ex h3,.mbh-way.ex .st b,.mbh-way.ex .go{color:var(--green)}.mbh-way.ex .mk{background:var(--sage);color:#1F5D31}
.mbh-way:hover .go{gap:.6rem}

/* one thing */
.mbh-one{background-image:url('../images/home/one-hilltown.jpg');background-position:center 60%;--ov:linear-gradient(180deg,rgba(10,25,60,.78),rgba(10,25,60,.45) 55%,rgba(10,25,40,.65))}
.mbh-one .mbh-wrap{position:relative;max-width:75rem;}
.mbh-sgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.2rem}
.mbh-sbox{background:#fff;color:var(--ink);border-radius:1.25rem;padding:1.1rem}
.mbh-sbox h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.2rem;margin-bottom:.75rem}
.mbh-sbox ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.mbh-sbox a{display:flex;align-items:center;gap:.6rem;min-height:2.9rem;background:#F4F5F2;border-radius:.75rem;padding:.45rem .65rem;font-size:.84rem;font-weight:700;line-height:1.2;transition:background .15s}
.mbh-sbox a:hover{background:var(--sage)}
.mbh-sbox a .i{flex:none;width:1.9rem;height:1.9rem;border-radius:.55rem;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--forest)}
.mbh-sbox a .i .mbh-ic{width:.95rem;height:.95rem}
.mbh-sbox a .ar{margin-left:auto;color:var(--ink3)}
.mbh-sbox a .ar .mbh-ic{width:.85rem;height:.85rem}

/* how */
.mbh-how{background-image:url('../images/home/how-snowrange.jpg');background-position:center 60%;--ov:linear-gradient(180deg,rgba(6,16,50,.82),rgba(6,16,40,.7))}
.mbh-how .mbh-wrap{position:relative;max-width:75rem;}
.mbh-how .mbh-sh em.mbh-it{color:var(--gold)}
.mbh-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.2rem;max-width:75rem}
.mbh-step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:1.1rem;padding:1.2rem;backdrop-filter:blur(6px)}
.mbh-step .i{width:2.4rem;height:2.4rem;border-radius:.7rem;background:rgba(245,184,0,.14);display:inline-flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:1rem}
.mbh-step h3{font-size:1.15rem;font-weight:800}
.mbh-step p{margin-top:.35rem;font-size:.86rem;color:rgba(255,255,255,.82)}

/* moments */
.mbh-sec{padding:clamp(3.5rem,8vw,5.5rem) 0}
.mbh-mom{max-width:75rem}
.mbh-stage{position:relative;margin-top:2rem;border-radius:1.25rem;overflow:hidden;background:#0D1B2E;aspect-ratio:16/9}
.mbh-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.mbh-slide.on{opacity:1}
.mbh-slide .blur{position:absolute;inset:-2rem;background:center/cover;filter:blur(24px) brightness(.7);transform:scale(1.1)}
.mbh-slide img{position:relative;height:100%;width:auto;margin:0 auto;object-fit:contain}
.mbh-slide .t{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.25rem 1.1rem;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);color:#fff}
.mbh-slide .t b{display:block;font-size:1.25rem;font-weight:800}
.mbh-slide .t small{font-size:.78rem;opacity:.9}
.mbh-ctl{position:absolute;top:.8rem;right:.8rem;display:flex;gap:.35rem;z-index:2}
.mbh-ctl button{width:2.75rem;height:2.75rem;border-radius:50%;border:0;background:rgba(10,15,20,.65);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.mbh-ctl .mbh-ic{width:1rem;height:1rem}
.mbh-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.7rem}
.mbh-thumbs button{padding:0;border:2px solid transparent;border-radius:.7rem;overflow:hidden;aspect-ratio:4/3;background:#ddd}
.mbh-thumbs button img{width:100%;height:100%;object-fit:cover}
.mbh-thumbs button[aria-current="true"]{border-color:var(--green)}

/* places */
.mbh-places{background:#fff}
.mbh-hint{display:block;margin-top:.4rem;font-size:.8rem;color:var(--ink2)}
.mbh-prow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(14.5rem,1fr);gap:1rem;margin-top:2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.2rem .1rem 1rem;scrollbar-width:thin}
.mbh-pcard{scroll-snap-align:start;border-radius:1.25rem;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(17,26,20,.07);display:flex;flex-direction:column}
.mbh-pcard .sc{position:relative;aspect-ratio:1/1;background:var(--c1)}
.mbh-pcard .sc svg{position:absolute;inset:0;width:100%;height:100%}
.mbh-pcard .sc .mbh-chip{left:auto;right:.6rem;top:.6rem;bottom:auto}
.mbh-pcard .bd{padding:1rem 1rem 1.15rem;display:flex;flex-direction:column;flex:1}
.mbh-pcard h3{font-size:1.05rem;font-weight:800}
.mbh-pcard p{font-size:.8rem;color:var(--ink2);margin-top:.35rem}
.mbh-pcard .mbh-btn{margin-top:auto;align-self:flex-start;min-height:2.5rem;padding:.4rem 1rem;font-size:.82rem}
.mbh-pcard .bd>p{margin-bottom:1rem}

/* person */
.mbh-person{background-image:url('../images/home/person-cottage.jpg');background-position:center 50%;--ov:rgba(8,12,10,.72)}
.mbh-person .mbh-sh em.mbh-it{color:var(--gold)}
.mbh-person .mbh-eye{color:var(--gold)}
.mbh-big-ph{display:block;margin-top:1.4rem;font-size:clamp(2.3rem,6vw,4rem);font-weight:800;letter-spacing:-.02em;color:#fff}
@media (max-width:767px){
  .mbh-big-ph{font-size:clamp(2rem,5vw,3rem);}
}
.mbh-person .cta{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}

/* footer */

/* modal: choose a style for a place */
.mbh-mod{position:fixed;inset:0;z-index:110;display:none;align-items:center;justify-content:center;padding:1rem}
.mbh-mod.open{display:flex}
.mbh-mod .bg{position:absolute;inset:0;background:rgba(10,20,14,.55)}
.mbh-mod .bx{position:relative;width:min(26rem,100%);background:#fff;border-radius:1.25rem;padding:1.4rem;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.mbh-mod h3{font-size:1.3rem;font-weight:800}
.mbh-mod p{font-size:.86rem;color:var(--ink2);margin-top:.3rem}
.mbh-mod .ls{display:grid;gap:.5rem;margin-top:1rem}
.mbh-mod .ls a{display:flex;align-items:center;justify-content:space-between;border:1.5px solid var(--line);border-radius:.9rem;padding:.75rem .9rem;min-height:3.2rem}
.mbh-mod .ls a:hover{border-color:var(--green);background:var(--sage)}
.mbh-mod .ls b{display:block}.mbh-mod .ls small{color:var(--ink3);font-size:.76rem}
.mbh-mod .x{position:absolute;top:.7rem;right:.7rem;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:#F2F3F0}

/* ----- responsive ----- */
.mbh-fields.c5{grid-template-columns:2fr 1.2fr 1.2fr .8fr .8fr auto}
.mbh-fields.c4{grid-template-columns:2fr 1.3fr .9fr .9fr auto}
.mbh-fields.c3{grid-template-columns:1.4fr 1.4fr 1fr auto}
.mbh-fields.cab{grid-template-columns:1.3fr 1.3fr 1.1fr .9fr .8fr auto}
.mbh-fields.exp{grid-template-columns:1.6fr 1.2fr 1.1fr .8fr auto}
@media (max-width:1023px){
  .mbh-sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbh-fields.c5,.mbh-fields.c4,.mbh-fields.c3,.mbh-fields.cab,.mbh-fields.exp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbh-fields .wide,.mbh-fields .mbh-go{grid-column:1/-1}
}
@media (max-width:767px){
  .mbh-wgrid,.mbh-steps{grid-template-columns:1fr;max-width:26rem}
  .mbh-steps{margin-left:0}
  .mbh-hero{min-height:0;padding-top:2.6rem}
  .mbh-hero .cta .mbh-btn{width:100%}
  .mbh-assure{flex-direction:column;align-items:center;gap:.6rem;text-align:center}
  .mbh-cap{display:none}
  .mbh-stage{aspect-ratio:4/5}
  .mbh-slide img{object-fit:cover;width:100%}
}
@media (max-width:575px){
  .mbh-sgrid{grid-template-columns:1fr}
  .mbh-search{margin-left:-.4rem;margin-right:-.4rem}
  .mbh-person .cta .mbh-btn{width:100%}
  .mbh-prow{grid-auto-columns:78%}
}
@media (prefers-reduced-motion:reduce){
  html.mbh-root{scroll-behavior:auto}
  .mbh *{transition:none!important;animation:none!important}
}

/* laptop ≤1279 */
@media (max-width:1279px){
  .mbh-sgrid{gap:.8rem}
  .mbh-sbox{padding:1rem}
}
/* tablet 768–1023 */
@media (min-width:768px) and (max-width:1023px){
  .mbh-wgrid{gap:.8rem;padding:0}
  .mbh-way h3{font-size:1.3rem}
  .mbh-way .bd{padding:1rem}
  .mbh-steps{gap:.8rem}
  .mbh-hero{min-height:0}
}
