/* The Hut, site styles. Colors and type match the Squarespace site as of Oct 2026. */
:root{
  --ink:#18231F;--green:#14735F;--teal:#0f5a53;--mag:#B5186F;--plum:#8f5371;--plum2:#a5527a;
  --seafoam:#b4dccd;--sea:#E3F4ED;--sea2:#cdeedf;--line:#CFE7DD;--btn-ink:#0b2e29;--pink:#F3D3E4;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Montserrat,system-ui,sans-serif;
  --pg:linear-gradient(180deg,#cdeedf 0%,#e3f4ed 20%,#edf4ef 38%,#f6eaef 56%,#f3e2ec 74%,#ebcfdf 100%);
  --pg-end:#ebcfdf;--hdr:var(--ink);--logo-filter:brightness(0);
  --gutter:6vw;--max:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--pg-end);color:var(--ink);font:500 18px/1.6 var(--sans);overflow-x:hidden}
img,video,iframe{max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--green);letter-spacing:-.02em;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(44px,4.75vw,68px)}
h2{font-size:clamp(34px,3.6vw,52px)}
h3{font-size:clamp(26px,2.3vw,32px)}
h4{font:600 16px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .6em}
p{margin:0 0 1em}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:1000;background:#fff;padding:10px 16px;border-radius:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
main{display:block;background:var(--pg);min-height:50vh}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
@media(min-width:1400px){.wrap{padding:0 40px}}

/* buttons */
.btn,.hut-b{display:inline-block;padding:15px 30px;border-radius:40px;background:var(--seafoam);border:2px solid var(--seafoam);color:var(--btn-ink)!important;font:600 16px/1.2 var(--sans);text-decoration:none!important;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.btn:hover,.hut-b:hover{background:var(--plum);border-color:var(--plum);color:#8fdcc2!important}
.hut-b{background:var(--green);border-color:var(--green);color:#fff!important}
.hut-b.o{background:transparent;border-color:var(--sea);color:var(--sea)!important}
.hut-b.o:hover{background:var(--plum);border-color:var(--plum);color:#8fdcc2!important}

/* ---------- header ---------- */
.site-header{position:absolute;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;gap:28px;padding:22px var(--gutter);color:var(--hdr)}
.logo img{display:block;width:clamp(84px,9vw,145px);height:auto;filter:var(--logo-filter)}
.nav{flex:1}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,1.8vw,30px);flex-wrap:wrap}
.nav li{position:relative}
.nav li>a{display:block;padding:6px 0;font:600 clamp(15px,1.25vw,19px)/1.4 var(--sans);text-transform:uppercase;text-decoration:none;color:var(--hdr);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .25s}
.nav li>a:hover,.nav li>a[aria-current]{background-size:100% 2px}
.nav .sub{position:absolute;left:-18px;top:100%;min-width:250px;padding:12px 0;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.nav .sub a{display:block;padding:8px 20px;font:500 15px/1.4 var(--sans);color:var(--ink);text-decoration:none;white-space:nowrap}
.nav .sub a:hover{background:var(--sea);color:var(--green)}
.ig{color:var(--hdr);display:flex}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative;color:var(--hdr)}
.burger span{position:absolute;left:8px;right:8px;height:2px;background:currentColor;transition:transform .25s}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.menu-open .burger span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-open .burger span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:40;background:var(--sea);padding:130px var(--gutter) 40px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.mobile-menu[hidden]{display:none}
.mobile-menu>a,.mobile-menu summary{font:600 26px/1.3 var(--serif);color:var(--green);text-decoration:none;padding:8px 0;list-style:none;cursor:pointer}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary::after{content:" +";color:var(--plum)}
.mobile-menu details[open] summary::after{content:" –"}
.mobile-menu details a{display:block;padding:7px 0 7px 16px;font:500 17px/1.4 var(--sans);color:var(--ink);text-decoration:none}
.menu-open .site-header{position:fixed;--hdr:var(--green);--logo-filter:brightness(0)}
.menu-open{overflow:hidden}
@media(max-width:900px){.nav,.site-header>.ig{display:none}.burger{display:block}.site-header{padding:16px var(--gutter)}}

/* light header for pages with a dark top */
.hdr-light{--hdr:var(--sea);--logo-filter:none}

/* ---------- sections ---------- */
.sec{padding:80px var(--gutter)}
.sec>.in{max-width:var(--max);margin:0 auto}
.page-top{padding-top:clamp(150px,16vw,220px)}
.center{text-align:center}
.lead{font-size:20px;line-height:1.55}
@media(max-width:767px){.lead{font-size:18px}.sec{padding:56px var(--gutter)}body{font-size:17px}}

/* hero with photo and curved bottom edge */
.hero{position:relative;min-height:clamp(420px,52vw,640px);display:flex;align-items:center;justify-content:center;text-align:center;padding:170px var(--gutter) 120px;color:#fff;overflow:hidden;background:#18231F}
.hero>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:var(--hero-ov,rgba(24,35,31,.25))}
.hero>.in{position:relative;z-index:1;max-width:900px}
.hero h1{color:var(--hero-h,#f3ece2);margin:0}
.hero p{color:var(--sea);font-size:20px}
.hero.curve{clip-path:ellipse(140% 100% at 70% 0%)}

/* ---------- home ---------- */
.home-hero{padding:clamp(150px,13vw,190px) var(--gutter) 56px;text-align:center}
.home-hero p{max-width:640px;margin:0 auto 34px}
.home-hero h1{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1;font-size:clamp(52px,7.5vw,104px);color:var(--green);margin:0 0 16px}
.home-hero p{text-wrap:balance}
.home-week{padding:40px var(--gutter) 50px}
.home-banner{padding:0 var(--gutter) 70px}
.hw{scroll-margin-top:110px;--grn:#14735F;--sea:#b4dccd;--line:#d9d2c6;max-width:1200px;margin:0 auto;color:var(--ink)}
.hw-top{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}
.hw-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.hw-day{border-right:1px solid var(--line);min-height:300px;display:flex;flex-direction:column}
.hw-day:last-child{border-right:0}
.hw-dh{background:var(--sea);color:var(--grn);text-align:center;padding:12px 4px;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.hw-ev{display:block;margin:10px 8px 0;padding:12px 10px;border-radius:10px;color:#fff;text-decoration:none;line-height:1.3;transition:transform .15s}
.hw-ev:hover{transform:translateY(-2px)}
.hw-ev b{display:block;font-size:15px;overflow-wrap:normal;word-break:normal;hyphens:none}
.hw-ev span{display:block;font-size:13px;opacity:.9;margin-top:4px}
.c-pil{background:var(--plum2)}.c-zou{background:var(--seafoam);color:var(--btn-ink)}.c-tan{background:var(--ink)}.c-bal{background:var(--pink);color:var(--ink)}
.hw-ev.hw-soonev,.hw-ev.hw-soonev:hover{background:#fff;color:var(--plum);border:1.5px dashed var(--plum);box-shadow:none}
.hw-side h3{margin:0 0 6px;font-size:clamp(30px,3.4vw,44px)}
.hw-list{list-style:none;margin:0;padding:0}
.hw-list li{margin:0 0 5px}
.hw-list a{display:flex;align-items:center;gap:12px;padding:7px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}
.hw-list a:hover{border-color:var(--grn)}
.hw-dot{width:12px;height:12px;border-radius:50%;flex:none}
.hw-list b{display:block;font-size:16px;line-height:1.4;margin-bottom:2px}
.hw-list small{display:block;font-size:14px;line-height:1.3;opacity:.75}
.hw-soon{margin-top:12px;padding:8px 14px;border-radius:12px;background:#fff;border:1px dashed var(--mag);font-size:18px;line-height:1.35}
.hw-soon b{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
@media(max-width:1000px){.hw-top{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.hw-ev{margin:8px 5px 0;padding:10px 7px}.hw-ev b{font-size:14px}}
@media(max-width:767px){
  .hw-top{grid-template-columns:1fr}
  .hw-day{min-height:0;padding-bottom:6px}
  .hw-dh{padding:8px 1px;font-size:9px!important;letter-spacing:.04em}
  .hw-ev{margin:5px 3px 0;padding:6px 4px;border-radius:7px}
  .hw-ev b{font-size:9px;line-height:1.2}
  .hw-ev span{font-size:8.5px;line-height:1.2;margin-top:2px}
}
.hb{max-width:1200px;margin:0 auto;height:clamp(240px,36vw,460px);border-radius:18px;overflow:hidden}
.hb img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- classes ---------- */
.hut-wrap{max-width:900px;margin:0 auto;font-size:18px;line-height:1.65}
.hut-intro{text-align:center;margin:36px 0}
.hut-intro p{font-size:20px;line-height:1.55}
.hut-card{background:#fff;border-radius:18px;padding:32px 30px;margin:0 0 28px;box-shadow:0 2px 14px rgba(0,0,0,.06);scroll-margin-top:120px}
.hut-card h2{margin:0 0 4px}
.hut-sub{font-weight:600;opacity:.75;margin:0 0 18px}
.hut-card h4{font-family:var(--serif);font-size:clamp(26px,2.3vw,32px);font-weight:600;color:var(--green);text-transform:none;letter-spacing:-.01em;margin:22px 0 6px}
.hut-card ul{margin:0;padding-left:20px}
.hut-btns{margin-top:22px}
.hut-btn{display:inline-block;margin:6px 10px 6px 0;padding:13px 30px;border-radius:40px;border:2px solid var(--seafoam);background:var(--seafoam);color:var(--btn-ink)!important;text-decoration:none!important;font-weight:600}
.hut-btn.alt{background:transparent;border-color:var(--green);color:var(--green)!important}
.hut-btn:hover{background:var(--plum);border-color:var(--plum);color:#8fdcc2!important}
.hut-head{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.hut-head .hut-sub{margin:0}
.hut-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none}
@media(max-width:500px){.hut-photo{width:72px;height:72px}.hut-card{padding:26px 20px}}

/* ---------- book ---------- */
.hbk{max-width:900px;margin:0 auto}
.hbk-sub{text-align:center;margin:0 0 24px;font-size:20px}
.hbk-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 20px}
.hbk-tabs a{padding:12px 26px;border-radius:40px;border:2px solid var(--green);color:var(--green);text-decoration:none;font-weight:600}
.hbk-tabs a.on{background:var(--green);color:#fff}
.hbk-pane{display:none}.hbk-pane.on{display:block}
.hbk iframe{display:block;width:100%;height:780px;border:1px solid var(--sea);border-radius:14px;background:#fff}
@media(max-width:640px){.hbk-tabs a{padding:10px 18px}.hbk iframe{height:640px}}

/* ---------- rent ---------- */
body.pg-rent{--pg:linear-gradient(180deg,#c9cdf5 0%,#dccdf3 20%,#efd0ea 42%,#f6cfd3 62%,#f7dcc6 82%,#efcfae 100%);--pg-end:#efcfae}
.pg-rent .hero{--hero-ov:rgba(227,244,237,.15)}
.rent-intro h2,.rent-intro p,.rent-intro strong{color:var(--teal)}
.rent-intro{max-width:860px;margin:0 auto}
.rent-intro .types p{margin:0 0 .8em}

/* forms */
.hut-form{max-width:860px;margin:30px auto 0}
.hut-form .fl{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;align-items:start}
.hut-form .f{grid-column:span 2;min-width:0}
.hut-form .f.half{grid-column:span 1}
@media(max-width:640px){.hut-form .f.half{grid-column:span 2}}
.hut-form .lab,.hut-form legend{display:block;font:600 15px/1.3 var(--sans);color:var(--teal);margin:0 0 8px;padding:0}
.hut-form .req{font-size:12px;font-weight:400;opacity:.55;margin-left:6px;color:var(--ink)}
.hut-form .cap{display:block;font-size:13px;font-weight:400;opacity:.7;margin:0 0 6px}
.hut-form .desc{font-size:13px;line-height:1.4;opacity:.6;margin:8px 0 0}
.hut-form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hut-form input:not([type=radio]):not([type=checkbox]):not([type=range]),.hut-form select,.hut-form textarea{width:100%;background:#fff;border:1px solid rgba(20,115,95,.28);border-radius:12px;padding:12px 14px;font:500 16px/1.3 var(--sans);color:var(--ink);min-height:48px;transition:border-color .15s,box-shadow .15s;appearance:none}
.hut-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2314735F' stroke-width='2'/%3E%3C/svg%3E") right 16px center no-repeat;padding-right:40px}
.hut-form textarea{min-height:130px;resize:vertical}
.hut-form input:focus,.hut-form select:focus,.hut-form textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(20,115,95,.15)}
.hut-form fieldset{border:0;margin:0;padding:0;min-width:0}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative;display:inline-flex;align-items:center;padding:10px 22px;border:1.5px solid rgba(20,115,95,.35);border-radius:999px;background:#fff;cursor:pointer;font:500 15px/1.3 var(--sans);transition:background .15s,border-color .15s}
.pill:hover{border-color:var(--green)}
.pill input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pill:has(input:checked){background:var(--seafoam);border-color:var(--green);color:var(--btn-ink);font-weight:600}
.pill:has(input:focus-visible){box-shadow:0 0 0 3px rgba(20,115,95,.2)}
.chk{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:500 15px/1.3 var(--sans);margin-top:4px}
.chk input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border:1.5px solid rgba(20,115,95,.45);border-radius:6px;background:#fff center/14px no-repeat;cursor:pointer;flex:none}
.chk input:checked{background-color:var(--green);border-color:var(--green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.chk input:focus-visible{box-shadow:0 0 0 3px rgba(20,115,95,.2)}
.price-in{max-width:180px}
.stepper{display:flex;align-items:center;background:#fff;border:1px solid rgba(20,115,95,.28);border-radius:12px;padding:5px 8px;min-height:48px}
.stepper input{border:0!important;box-shadow:none!important;text-align:center;min-height:0!important;padding:6px!important;-moz-appearance:textfield}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.stepper button{flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--green);background:#fff;color:var(--green);font:600 18px/1 var(--sans);cursor:pointer}
.stepper button:hover{background:var(--sea)}
.budget{background:#fff;border:1px solid rgba(20,115,95,.18);border-radius:14px;padding:16px 18px 14px}
.budget .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.budget .val{font:600 22px/1 var(--sans);color:var(--green)}
.budget .val.empty{font-size:14px;font-weight:500;color:var(--ink);opacity:.55}
.budget .other{background:none;border:0;padding:0;font:500 13px var(--sans);color:var(--plum);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.budget input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;margin:8px 0 10px;border-radius:999px;background:linear-gradient(to right,var(--green) var(--p,0%),#dbe9e3 var(--p,0%));cursor:pointer}
.budget input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--green);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.budget input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--green)}
.budget .ends{display:flex;justify-content:space-between;font-size:12px;opacity:.5}
.budget .amt{display:none}
.budget.manual .slide,.budget.manual .val{display:none}
.budget.manual{background:none;border:0;padding:0}
.budget.manual .amt{display:block;margin-top:8px}
.hut-form [hidden]{display:none!important}
.hut-form .submit{margin-top:26px}
.form-msg{margin:14px 0 0;font-size:15px;font-weight:600;color:var(--teal);min-height:1em}
.form-msg.err{color:#a3214f}
.hut-form.sent .fl,.hut-form.sent .submit{display:none}

/* ---------- testimonials ---------- */
.hut-tst-sec{padding:72px var(--gutter) 64px}
.hut-tst{max-width:960px;margin:0 auto;text-align:center}
.hut-tst h2{margin:0 0 36px;color:var(--teal)}
.ht-row{display:flex;align-items:center;gap:20px}
.ht-btn{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--plum);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s;padding:0}
.ht-btn:hover{opacity:.8}
.ht-btn svg{width:18px;height:18px}
.ht-stage{display:grid;flex:1;min-width:0;border-radius:18px;overflow:hidden;background-color:#0b0909;background-image:radial-gradient(50% 140% at 12% 0%,rgba(52,132,190,.95),transparent 70%),radial-gradient(40% 120% at 90% 100%,rgba(52,132,190,.7),transparent 70%)}
.ht-slide{grid-area:1/1;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 56px;opacity:0;transform:translateX(20px);transition:opacity .7s,transform .7s;pointer-events:none}
.ht-slide.on{opacity:1;transform:none;pointer-events:auto}
.ht-q{margin:0;font:600 clamp(20px,2vw,26px)/1.4 var(--serif);color:#ece6dc}
.ht-n{margin:22px 0 0;font:500 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#8fdcc2}
.ht-dots{display:flex;gap:8px;justify-content:center;margin-top:20px}
.ht-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:var(--line);cursor:pointer}
.ht-dots button.on{background:var(--mag)}
@media(max-width:640px){.hut-tst-sec{padding:48px 16px 40px}.ht-row{flex-wrap:wrap;justify-content:center;gap:14px}.ht-stage{order:-1;flex-basis:100%}.ht-slide{padding:28px 22px;min-height:0}.ht-q{font-size:19px}}

/* ---------- events list ---------- */
body.pg-events{--pg:linear-gradient(180deg,#e3f4ed,#e3f4ed);--pg-end:#e3f4ed}
.pg-events .hero{--hero-ov:rgba(24,35,31,.64)}
.ev-list{position:relative;padding:70px var(--gutter) 80px;background:radial-gradient(60% 40% at 0% 10%,rgba(181,24,111,.12),transparent 70%),radial-gradient(50% 40% at 100% 60%,rgba(180,220,205,.6),transparent 70%),radial-gradient(40% 30% at 20% 95%,rgba(181,24,111,.08),transparent 70%),#e3f4ed}
.ev-list>.in{max-width:1100px;margin:0 auto}
.ev-note{max-width:760px;margin:0 auto 40px;text-align:center;color:var(--teal)}
.ev-note a{color:var(--plum);font-weight:600}
.ev{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:40px;align-items:start;padding:36px 0;border-bottom:1px solid rgba(20,115,95,.18)}
.ev:last-child{border-bottom:0}
.ev-img img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 14px 40px rgba(24,35,31,.18);transition:transform .2s}
.ev-img:hover img{transform:translateY(-3px)}
.ev h2{font-size:clamp(30px,3vw,42px);margin:0 0 10px}
.ev h2 a{color:var(--teal);text-decoration:none}
.ev h2 a:hover{color:var(--plum)}
.ev-when{font-weight:600;color:var(--ink);margin:0 0 2px}
.ev-where{font-size:16px;opacity:.7;margin:0 0 14px}
.ev-ex{font-size:18px}
.ev-more{display:inline-block;margin-top:6px;color:var(--plum);font-weight:600;text-decoration:none}
.ev.past{display:none}
@media(max-width:767px){.ev{grid-template-columns:1fr;gap:20px}}
.hut-tix{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}
.hut-tix a{display:inline-block;padding:12px 22px;border-radius:40px;background:var(--seafoam);color:var(--btn-ink)!important;font-weight:600;font-size:15px;letter-spacing:.04em;text-decoration:none!important;transition:background .2s,color .2s}
.hut-tix a:hover{background:var(--plum);color:#8fdcc2!important}

/* ---------- event detail (generic) ---------- */
.evd{padding:170px var(--gutter) 90px;min-height:80vh}
.evd>.in{max-width:1120px;margin:0 auto}
.evd .back{display:inline-block;margin:0 0 26px;font-weight:600;text-decoration:none;color:inherit;opacity:.85}
.evd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:start}
.evd h1{font-size:clamp(34px,4vw,56px);margin:0 0 12px}
.evd .meta{font-size:16px;margin:0 0 18px;opacity:.9}
.evd .meta b{display:block}
.evd .body p,.evd .body li{font-size:18px;line-height:1.65}
.evd .body h3{margin-top:1.4em}
.hut-flyers{display:grid;gap:16px}
.hut-flyers img{width:100%;height:auto;display:block}
.evd .cal{font-size:14px;margin-top:26px;opacity:.75}
.evd .cal a{margin-right:14px}
@media(max-width:860px){.evd-grid{grid-template-columns:1fr}.evd{padding-top:130px}}

/* ladygang dance set */
body.hut-ev-ladygang-dance-set{--hdr:#151515;--logo-filter:invert(1) brightness(.15);--pg:none;--pg-end:#f1ebe0}
.hut-ev-ladygang-dance-set .evd{background:#f1ebe0;color:#151515}
.hut-ev-ladygang-dance-set .evd-card{background:rgba(241,235,224,.96);padding:28px;border-radius:6px;box-shadow:8px 8px 0 #161616;border-top:8px solid #d61f26;border-image:linear-gradient(90deg,#d61f26,#ef6a14,#f2c40f,#1f9a3a) 1}
.hut-ev-ladygang-dance-set .evd h1{color:#2fb392;text-shadow:2px 2px 0 #c2378f}
.hut-ev-ladygang-dance-set .hut-tix a{background:#2fb392;color:#101010!important;box-shadow:3px 3px 0 #c2378f}
.hut-ev-ladygang-dance-set .hut-tix a:hover{background:#c2378f;color:#fff!important;box-shadow:3px 3px 0 #2fb392}
/* ladygang elemental transmission */
body.hut-ev-ladygang-elemental-transmission{--hdr:var(--sea);--logo-filter:none;--pg-end:#050505}
.hut-ev-ladygang-elemental-transmission .evd{background:radial-gradient(ellipse at 20% 85%,rgba(225,29,29,.45),transparent 55%),radial-gradient(ellipse at 90% 10%,rgba(225,29,29,.2),transparent 45%),#050505;color:#f3e9e4}
.hut-ev-ladygang-elemental-transmission .evd h1{color:#ff2a1f;letter-spacing:.06em;text-transform:uppercase}
.hut-ev-ladygang-elemental-transmission .hut-tix a{background:#e11d1d;color:#fff!important}
.hut-ev-ladygang-elemental-transmission .hut-tix a:hover{background:#ffd5cc;color:#7a0b07!important}
/* bachata weekender */
body.hut-ev-bachata-weekender-with-stephen{--hdr:var(--sea);--logo-filter:none;--pg-end:#3d0f08}
.hut-ev-bachata-weekender-with-stephen .evd{background:radial-gradient(ellipse at 50% 38%,rgba(255,170,60,.55),transparent 48%),linear-gradient(180deg,#3b0f2e 0%,#8c1d2a 18%,#d23a1e 38%,#ef6a1c 52%,#b8401f 70%,#7a2414 86%,#3d0f08 100%);color:#fff1e6}
.hut-ev-bachata-weekender-with-stephen .evd h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hut-ev-bachata-weekender-with-stephen .evd h2,.hut-ev-bachata-weekender-with-stephen .evd h3{color:#ffc46b}
.hut-ev-bachata-weekender-with-stephen .evd a{color:#ffd29a}
.hut-ev-bachata-weekender-with-stephen .hut-tix a{background:#ff7a1f;color:#fff!important;box-shadow:0 0 18px rgba(255,122,31,.55)}
.hut-ev-bachata-weekender-with-stephen .hut-tix a:hover{background:#fff1e6;color:#8c1d2a!important}

/* manwell / dance with me */
body.hut-ev-manwell-dance-with-me{--hdr:var(--sea);--logo-filter:none;--pg-end:#0b0909}
.hut-ev-manwell-dance-with-me .evd{background:radial-gradient(40vmax 34vmax at 18% 22%,#7a0f12,transparent 70%),radial-gradient(34vmax 30vmax at 62% 58%,rgba(15,90,83,.85),transparent 70%),radial-gradient(26vmax 14vmax at 70% 6%,rgba(236,230,220,.18),transparent 70%),#0b0909;color:#ece6dc;font-family:Figtree,system-ui,sans-serif}
.hut-ev-manwell-dance-with-me .evd .back{font-family:"Red Hat Mono",monospace;color:#a39892;text-transform:lowercase}
.dwm{color:#ece6dc;font-family:Figtree,system-ui,sans-serif}
.dwm .k{font-family:"Red Hat Mono",monospace;font-size:12px;letter-spacing:.04em;color:#a39892;text-transform:lowercase;margin:26px 0 6px}
.dwm .date{font-family:"Lexend Zetta",sans-serif;font-weight:200;font-size:clamp(30px,5vw,46px);letter-spacing:.04em;line-height:1.1;margin:0}
.dwm .name{font-family:"Lexend Zetta",sans-serif;font-weight:200;font-size:clamp(34px,4.4vw,60px);letter-spacing:.12em;line-height:1.05;margin:10px 0 0}
.dwm .from{font-family:"Red Hat Mono",monospace;font-size:13px;color:#a39892;margin-top:4px}
.dwm .lineup{font-family:"Red Hat Mono",monospace;font-size:clamp(18px,2.4vw,22px);letter-spacing:.08em;text-transform:uppercase;line-height:1.35}
.dwm .where{font-family:"Red Hat Mono",monospace;font-size:13px;margin-top:22px}
.dwm .where b{font-weight:400;margin-right:14px}
.dwm .tix{display:inline-block;margin-top:24px;padding:14px 26px;border-radius:40px;background:#ece6dc;color:#0b0909!important;font-family:"Red Hat Mono",monospace;font-size:14px;letter-spacing:.06em;text-decoration:none!important}
.dwm .tix:hover{background:#7a0f12;color:#ece6dc!important}
.dwm .top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:start}
.dwm .photo{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.dwm .bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:44px;align-items:start}
.dwm .flyer{width:100%;height:auto;display:block;cursor:pointer}
.dwm iframe{width:100%;height:360px;border:0;margin-top:4px}
.dwm .site{display:inline-block;margin-top:30px;font-family:"Red Hat Mono",monospace;font-size:13px;color:#ece6dc!important;text-decoration:none!important;border-bottom:1px solid rgba(236,230,220,.4);padding-bottom:3px}
.dwm .about{max-width:760px;margin:56px 0 0;font-size:17px}
.dwm .about a{color:#ece6dc}
@media(max-width:760px){.dwm .top,.dwm .bottom{grid-template-columns:1fr}.dwm .photo{max-width:420px}}

/* AI Apocalypse */
body.hut-ev-ai-apocalypse{--hdr:#12227a;--logo-filter:brightness(0);--pg-end:#5f9cf3}
.hut-ev-ai-apocalypse .evd{background:url(/images/8108da4e-ai-apocalypse-paint-bg-v2.jpg) center top/cover no-repeat,linear-gradient(180deg,#7fe3f6 0%,#74cbf7 38%,#5f9cf3 100%);color:#1c2fa6}
.hut-ev-ai-apocalypse .evd .back{color:#1c2fa6}
.aia{color:#1c2fa6}
.aia .top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.aia .txt{min-width:0;container-type:inline-size}
.aia .k{font:600 16px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#1a3cff;margin:0 0 6px}
.aia .name{font-family:Audiowide,Montserrat,sans-serif;font-weight:400;font-size:min(72px,9.4cqi);line-height:1;letter-spacing:.02em;white-space:nowrap;text-transform:uppercase;color:#1c2fa6;margin:6px 0 18px}
.aia .date{font-size:22px;font-weight:600;margin:0 0 4px}
.aia .where{font-size:18px;margin:0}
.aia .sides{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0 26px}
.aia .sides ul{list-style:none;margin:0;padding:0}
.aia .sides li{font-size:22px;font-weight:500;letter-spacing:.04em;line-height:1.4;color:#12227a}
.aia .price{font-size:20px;margin:0 0 22px;color:#12227a}
.aia .tix{display:inline-block;padding:14px 30px;border-radius:40px;background:#1c2fa6;color:#c9f6ff!important;font:600 16px var(--sans);letter-spacing:.04em;text-decoration:none!important;vertical-align:middle;transition:background .2s}
.aia .tix:hover{background:#0d1a6e}
.aia .share{display:inline-block;margin:0 0 0 10px;padding:12px 26px;border-radius:40px;border:2px solid #1c2fa6;color:#1c2fa6;font:600 16px var(--sans);letter-spacing:.04em;text-decoration:none;vertical-align:middle;transition:background .2s,color .2s}
.aia .share:hover{background:#1c2fa6;color:#c9f6ff}
.aia .flyer{display:block;width:auto;max-width:100%;max-height:820px;justify-self:end;object-fit:contain}
.aia-about{max-width:760px;margin:64px auto 0}
.aia-about p{font-size:20px;line-height:1.65;color:#12227a}
@media(max-width:760px){.aia .top{grid-template-columns:minmax(0,1fr);gap:32px}.aia .name{font-size:min(40px,9.4cqi)}.aia .sides li{font-size:19px}.aia .date{font-size:19px}.aia .share{margin:10px 0 0}.aia .flyer{justify-self:center;max-height:560px}}

/* ---------- ticket popup ---------- */
.hut-tixm{position:fixed;inset:0;z-index:100000;background:rgba(10,20,16,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.hut-tixm-box{width:min(760px,100%);height:min(92vh,1100px);background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.hut-tixm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--teal);color:var(--sea);font:600 15px var(--sans);letter-spacing:.04em}
.hut-tixm-bar span{flex:1;min-width:0}
.hut-tixm-bar button{background:var(--sea);color:var(--green);border:0;border-radius:30px;padding:8px 16px;font:600 14px var(--sans);cursor:pointer}
.hut-tixm-alt{color:inherit!important;opacity:.85;font:500 12px var(--sans);text-decoration:underline;white-space:nowrap}
.hut-tixm iframe{flex:1;width:100%;border:0;display:block}
@media(max-width:600px){.hut-tixm-bar{flex-wrap:wrap}.hut-tixm-alt{order:3;flex-basis:100%;white-space:normal}}
.hut-tixm.t-ai-apocalypse .hut-tixm-bar{background:#1c2fa6;color:#c9f6ff}.hut-tixm.t-ai-apocalypse .hut-tixm-bar button{background:#c9f6ff;color:#1c2fa6}
.hut-tixm.t-ladygang-dance-set{background:rgba(20,16,10,.8)}.hut-tixm.t-ladygang-dance-set .hut-tixm-box{border:5px solid;border-image:linear-gradient(90deg,#1f9a3a,#f2c40f,#ef6a14,#d61f26) 1;border-radius:0}.hut-tixm.t-ladygang-dance-set .hut-tixm-bar{background:#f1ebe0;color:#161616}.hut-tixm.t-ladygang-dance-set .hut-tixm-bar button{background:#161616;color:#f1ebe0}
.hut-tixm.t-ladygang-elemental-transmission{background:rgba(5,5,5,.86)}.hut-tixm.t-ladygang-elemental-transmission .hut-tixm-box{box-shadow:0 0 50px rgba(225,29,29,.55);border:1px solid #e11d1d}.hut-tixm.t-ladygang-elemental-transmission .hut-tixm-bar{background:#050505;color:#ff2a1f;text-transform:uppercase;letter-spacing:.08em}.hut-tixm.t-ladygang-elemental-transmission .hut-tixm-bar button{background:#e11d1d;color:#fff}
.hut-tixm.t-bachata-weekender-with-stephen .hut-tixm-bar{background:linear-gradient(90deg,#8c1d2a,#d23a1e 55%,#ef6a1c);color:#fff1e6}.hut-tixm.t-bachata-weekender-with-stephen .hut-tixm-bar button{background:#fff1e6;color:#8c1d2a}
.hut-tixm.t-manwell-dance-with-me{background:rgba(11,9,9,.88)}.hut-tixm.t-manwell-dance-with-me .hut-tixm-bar{background:#0b0909;color:#ece6dc;font:400 13px "Red Hat Mono",monospace;text-transform:lowercase}.hut-tixm.t-manwell-dance-with-me .hut-tixm-bar button{background:#ece6dc;color:#0b0909}
.hut-tixm.t-zouk-festival{background:rgba(61,36,102,.78)}.hut-tixm.t-zouk-festival .hut-tixm-bar{background:linear-gradient(90deg,#6d3f9c,#b98ad8);color:#fff}.hut-tixm.t-zouk-festival .hut-tixm-bar button{background:#ffd83b;color:#3d2466}

/* ---------- NM Zouk Academy ---------- */
body.pg-zouk{--hdr:var(--sea);--logo-filter:none;--pg:none;--pg-end:#f7dccb}
.nz-top{position:relative;min-height:86vh;display:flex;align-items:flex-end;padding:0 var(--gutter) 8vh;background:#3d2466;overflow:hidden}
.nz-top>img,.nz-top>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nz-top::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(34,22,64,.55))}
.nz-hero{position:relative;z-index:1}
.nz-hero h1{font-size:clamp(44px,4.75vw,68px);line-height:1.05;color:#fff;margin:0;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.nz-hero p{color:var(--sea);font-size:clamp(16px,1.6vw,20px);margin:14px 0 22px;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.nz-hero .row{display:flex;flex-wrap:wrap;gap:10px}
.nz{position:relative;overflow:hidden;background:radial-gradient(50% 18% at 12% 4%,rgba(185,138,216,.22),transparent 70%),radial-gradient(45% 16% at 88% 22%,rgba(242,184,198,.16),transparent 70%),linear-gradient(180deg,#221640 0%,#2b1b4f 30%,#3d2466 44%,#6d3f7e 56%,#b86f8e 66%,#e7a8a6 74%,#f2c3b3 84%,#f7dccb 100%);color:#f3ecf6;padding:0 var(--gutter) 80px}
.nz .in{position:relative;z-index:1;max-width:1080px;margin:0 auto}
.nz section{padding-top:64px;scroll-margin-top:110px}
.nz h2{font-size:clamp(34px,3.6vw,52px);color:#f7ecef;margin:0 0 8px;line-height:1.1}
.nz .kick{display:inline-block;font-size:16px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-weight:600;color:#f2b8c6}
.nz p{color:#e2d7ea;line-height:1.65;font-size:16px;margin:0 0 12px}
.nz .lead{font-size:20px;max-width:760px}
.nz .note{display:inline-block;margin-top:22px;padding:10px 18px;border-radius:40px;border:1px solid #f2b8c6;color:#f7ecef;font-weight:500;font-size:15px}
.nz .chips{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.nz .chip{background:rgba(255,255,255,.05);border:1px solid rgba(185,138,216,.3);border-radius:14px;padding:16px 18px}
.nz .chip b{display:block;color:#f7c9a8;font-size:15px;margin-bottom:4px}
.nz .chip span{font-size:14px;color:#d8cce4}
.nz .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}
.nz .card{background:#fbf7f4;border-radius:16px;padding:24px;color:#2b1b4f;box-shadow:0 14px 40px rgba(10,5,30,.35)}
.nz .card h3{font-size:clamp(26px,2.3vw,32px);color:#3d2466;margin:0 0 4px}
.nz .card .where{font-size:13px;color:#5b4f7d;margin:0 0 14px}
.nz .card table{width:100%;border-collapse:collapse;font-size:15px}
.nz .card td{padding:7px 0;border-bottom:1px solid #eee4ea;vertical-align:top;color:#2b1b4f}
.nz .card td:first-child{width:92px;font-weight:600;color:#6d3f9c}
.nz .card .day{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#b0306e;margin:14px 0 2px;font-weight:600}
.nz .card p{color:#2b1b4f}
.nz .people{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:24px}
.nz .person{display:flex;gap:18px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(185,138,216,.3);border-radius:16px;padding:18px}
.nz .person img{width:120px;height:150px;object-fit:cover;border-radius:12px;flex:none}
.nz .person b{display:block;font-family:var(--serif);font-size:26px;color:#f7ecef;margin-bottom:6px}
.nz .person p{font-size:18px;line-height:1.6}
.nz .person a{color:#f2b8c6;font-size:14px;margin-right:12px;font-weight:600}
.nz .price{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.nz .tier{background:#fbf7f4;border-radius:16px;padding:22px;color:#2b1b4f;display:flex;flex-direction:column;box-shadow:0 14px 40px rgba(10,5,30,.35)}
.nz .tier .t{font-weight:600;font-size:15px}
.nz .tier .amt{font-family:var(--serif);font-size:40px;color:#3d2466;line-height:1;margin:8px 0}
.nz .tier .amt small{font-family:var(--sans);font-size:14px;color:#6e5f80}
.nz .tier p{font-size:14px;color:#4a3a60;margin:0}
.nz .tier.hot{outline:2px solid #e8c26a}
.nz .drop{margin-top:16px;background:rgba(255,255,255,.05);border:1px solid rgba(185,138,216,.3);border-radius:12px;padding:14px 20px;font-size:15px}
.nz .drop b{color:#f7c9a8}
.nz .flyers{display:grid;grid-template-columns:minmax(0,420px);justify-content:center;gap:18px;margin-top:22px}
.nz .flyers img{width:100%;height:auto;border-radius:12px;display:block;box-shadow:0 14px 40px rgba(10,5,30,.4)}
.nz details{border-bottom:1px solid rgba(61,36,102,.2);padding:16px 0}
.nz summary{cursor:pointer;font-weight:600;color:#3d2466;font-size:16px;list-style:none}
.nz summary::-webkit-details-marker{display:none}
.nz summary::after{content:"+";float:right;color:#b0306e;font-size:20px;line-height:1}
.nz details[open] summary::after{content:"–"}
.nz details p{margin:10px 0 0;font-size:18px;line-height:1.6}
.nz a.lk{color:#b0306e;font-weight:600}
.nz #socials h2,.nz #privates h2,.nz #faq h2{color:#3d2466}
.nz #socials p,.nz #privates p,.nz #faq p{color:#4a2a60}
.nz #socials .kick,.nz #privates .kick,.nz #faq .kick{color:#b0306e}
@media(max-width:900px){.nz .chips,.nz .price{grid-template-columns:repeat(2,1fr)}.nz .cards,.nz .people{grid-template-columns:1fr}}
@media(max-width:520px){.nz .chips,.nz .price,.nz .flyers{grid-template-columns:1fr}.nz .person img{width:100px;height:124px}}

/* Harumi & Kamacho bios page */
body.pg-hk{--pg:none;--pg-end:#E3F4ED}
.nz.hkb{background:linear-gradient(180deg,#f7dccb 0%,#f2c3b3 13%,#e7a8a6 21%,#b86f8e 29%,#6d3f7e 37%,#3d2466 46%,#2b1b4f 56%,#2b1b4f 70%,#4e3f7a 80%,#8f8fb8 89%,#c3d5dd 95%,#E3F4ED 100%);padding-bottom:150px}
.hkb section:first-child{padding-top:150px}
.hkb section:first-child .kick{color:#b0306e}
.hkb section:first-child h2{color:#3d2466;font-size:clamp(44px,4.75vw,68px)}
.hkb section:first-child p{color:#4a3a60}
.hkb-media{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:600px}
.hkb-media img{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:0 14px 40px rgba(10,5,30,.35)}
.hkb .card p{font-size:18px;line-height:1.6}
.hkb .card .where a{color:#b0306e;font-weight:600}
@media(max-width:767px){.hkb-media{grid-template-columns:1fr;height:auto}.hkb-media img{height:420px}.hkb section:first-child{padding-top:110px}}

/* ---------- SF Mini Zouk Festival ---------- */
body.pg-fest{--hdr:var(--green);--logo-filter:brightness(0);--pg:none;--pg-end:#E3F4ED}
.zfx{font-family:var(--sans);color:#4a3a60}
.zfx section{padding:64px var(--gutter);scroll-margin-top:110px}
.zfx .in{max-width:1080px;margin:0 auto}
.zfx-s1{padding-top:200px!important;background:linear-gradient(180deg,#f7c9a8 0%,#f2b8c6 38%,#d9a6e0 72%,#b98ad8 100%)}
.zfx-s2{background:linear-gradient(180deg,#b98ad8 0%,#e7c4e6 45%,#f7dccb 100%)}
.zfx-s3{background:#f7dccb;padding:30px var(--gutter) 40px!important}
.zfx-s3 .in{background:linear-gradient(160deg,#6d3f9c 0%,#4a2b7e 55%,#3d2466 100%);padding:60px 24px 64px;box-shadow:0 18px 50px rgba(61,36,102,.32)}
.zfx-s4{background:linear-gradient(180deg,#f7dccb 0%,#f2c6d3 28%,#e2c3ec 52%,#c9a3e3 72%,#d4cbe9 86%,#E3F4ED 100%)}
.zfx h2{font-size:clamp(34px,3.6vw,52px);color:#3d2466;margin:0 0 10px;line-height:1.1}
.zfx .kick{font-size:16px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#b0306e;margin:0 0 8px}
.zfx p{font-size:18px;line-height:1.65;color:#4a3a60;margin:0 0 12px}
.zfx .lead{font-size:20px;max-width:760px}
.zfx-ban{width:100%;height:auto;display:block;box-shadow:0 18px 50px rgba(61,36,102,.3);margin:0 0 40px}
.zfx-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.zfx-chips div{background:rgba(255,255,255,.45);border:1px solid rgba(61,36,102,.15);border-radius:14px;padding:16px 18px}
.zfx-chips b{display:block;font-family:var(--serif);font-size:28px;color:#3d2466;line-height:1.1}
.zfx-chips span{font-size:16px}
.zfx-line{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.zfx-line img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:16px;display:block;box-shadow:0 14px 40px rgba(61,36,102,.3);transition:transform .2s}
.zfx-line a:hover img{transform:translateY(-3px)}
.zfx-s3 h2{color:#f7dccb;font-size:clamp(44px,5.6vw,76px)}
.zfx-s3 .kick{color:#f2b8c6}
.zfx-s3 .lead{color:#f3ecf6;margin:0 auto 12px}
.zfx-two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.zfx-card{background:#fbf7f4;border-radius:16px;padding:24px;box-shadow:0 14px 40px rgba(61,36,102,.2);margin-top:18px}
.zfx-day+.zfx-day{margin-top:18px}
.zfx-dh{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#b0306e;font-weight:600;margin-bottom:4px}
.zfx table{width:100%;border-collapse:collapse;font-size:16px;color:#2b1b4f}
.zfx td{padding:7px 0;border-bottom:1px solid #eee4ea;vertical-align:top}
.zfx td:first-child{width:140px;font-weight:600;color:#6d3f9c}
.zfx-info p{font-size:18px;color:#2b1b4f}
.zfx-info b{display:inline-block;width:70px;color:#6d3f9c}
.zfx details{border-bottom:1px solid rgba(61,36,102,.2);padding:13px 0}
.zfx summary{cursor:pointer;font-weight:600;color:#3d2466;font-size:18px;list-style:none}
.zfx summary::-webkit-details-marker{display:none}
.zfx summary::after{content:"+";float:right;color:#b0306e;font-size:20px;line-height:1}
.zfx details[open] summary::after{content:"–"}
.zfx details p{font-size:18px;margin:10px 0 0}
.zfx details a{color:#b0306e;font-weight:600}
.zfx a.hut-b{background:var(--seafoam);border-color:var(--seafoam);color:var(--btn-ink)!important;padding:14px 32px}
.zfx a.hut-b:hover{background:var(--plum);border-color:var(--plum);color:#8fdcc2!important}
@media(max-width:767px){.zfx section{padding:44px var(--gutter)}.zfx-s1{padding-top:130px!important}.zfx-chips,.zfx-two{grid-template-columns:1fr}.zfx-line{grid-template-columns:1fr 1fr;gap:12px}.zfx td:first-child{width:118px}}

/* ---------- team and bios ---------- */
body.pg-team{--hdr:var(--sea);--logo-filter:none;--pg:none;--pg-end:#f7fcfa}
.pg-team .hero{--hero-ov:rgba(24,35,31,.15)}
.team-intro{background:var(--mag);color:var(--sea)}
.team-intro p{max-width:900px;margin:0 auto 1em;font-size:19px}
.team-grid{background:#f7fcfa;padding:80px var(--gutter)}
.team-grid .in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.tm{text-align:center}
.tm img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;display:block;margin:0 auto 18px;max-width:240px}
.tm h2{font-size:34px;color:var(--ink);margin:0 0 4px}
.tm p{font-size:14px;letter-spacing:.14em;margin:0 0 12px}
.tm a{color:var(--plum);font-weight:600}
body.pg-bio{--pg:linear-gradient(#e3f4ed,#e3f4ed);--pg-end:#e3f4ed}
.bio{padding:180px var(--gutter) 90px}
.bio .in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.bio .pics{display:grid;gap:16px}
.bio .pics img{width:100%;border-radius:14px;display:block}
.bio h1{color:var(--ink);margin:0 0 4px}
.bio h4{color:var(--green);margin:0 0 22px}
.bio .txt a{color:var(--plum)}
.bio .embeds{display:grid;gap:16px;margin-top:28px}
.bio .embeds iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px}
.bio .ig-link img{max-width:220px;border-radius:0}
@media(max-width:800px){.bio .in{grid-template-columns:1fr}.bio{padding-top:130px}}

/* ---------- footer ---------- */
.newsletter{padding:80px var(--gutter) 120px;text-align:center;background:linear-gradient(180deg,var(--pg-end) 0%,var(--pg-end) 20%,var(--pg-end) 70%,color-mix(in srgb,var(--pg-end) 55%,#0b0909) 84%,color-mix(in srgb,var(--pg-end) 12%,#0b0909) 94%,#0b0909 100%)}
.newsletter h2{color:var(--green);margin:0 0 10px}
.newsletter>p{max-width:600px;margin:0 auto 24px}
.nl-form{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:560px;margin:0 auto}
.nl-form input[type=email]{flex:1 1 260px;min-height:52px;border-radius:40px;border:1px solid rgba(20,115,95,.3);padding:12px 22px;font:500 16px var(--sans);background:#fff;color:var(--ink)}
.nl-form .form-msg{flex-basis:100%}
.hut-foot{background:radial-gradient(50% 140% at 12% 0%,rgba(15,90,83,.95),transparent 70%),radial-gradient(40% 120% at 90% 100%,rgba(15,90,83,.7),transparent 70%),#0b0909;color:#d8efe5;padding:56px var(--gutter) 28px}
.hut-foot a{color:var(--sea);text-decoration:none}
.hut-foot a:hover{color:#f3c3d6}
.hut-foot .g{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto}
.hut-foot .nm{font-family:var(--serif);font-size:34px;color:var(--sea);margin:0 0 10px;line-height:1}
.hut-foot p{margin:0 0 6px;font-size:14px;line-height:1.6}
.hut-foot h4{font-size:12px;letter-spacing:.14em;color:#8fdcc2;margin:4px 0 12px}
.hut-foot ul{list-style:none;margin:0;padding:0}
.hut-foot li{margin:0 0 8px;font-size:14px}
.hut-foot .bar{max-width:1200px;margin:40px auto 0;padding-top:18px;border-top:1px solid rgba(143,220,194,.25);font-size:12px;color:#9cc9b7}
@media(max-width:800px){.hut-foot .g{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.hut-foot .g{grid-template-columns:1fr}}

/* 404 */
.nf{padding:200px var(--gutter) 120px;text-align:center}

/* page palettes */
body.pg-classes{--pg:linear-gradient(180deg,#ebcfdf 0%,#f3e2ec 22%,#f6eaef 42%,#edf4ef 60%,#e3f4ed 80%,#cdeedf 100%);--pg-end:#cdeedf}
body.pg-book{--pg:linear-gradient(#f7fcfa,#e3f4ed);--pg-end:#e3f4ed}

/* kirtan church: navy night sky with the flyer's rising sun */
body.hut-ev-kirtan-church{--hdr:#FFF3D6;--logo-filter:none;--pg:none;--pg-end:#0C2637}
.hut-ev-kirtan-church .evd{background:radial-gradient(42vmax 42vmax at 26% 34%,rgba(255,226,170,.22),rgba(232,140,60,.14) 38%,transparent 70%),radial-gradient(60vmax 40vmax at 10% 100%,rgba(216,123,57,.22),transparent 70%),#0C2637;color:#FFF3D6}
.hut-ev-kirtan-church .evd .back{color:#F2B37A}
.kc{color:#FFF3D6}
.kc .top{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:64px;align-items:center;max-width:980px;margin:0 auto}
.kc .k{font:600 15px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#E8955A;margin:0 0 8px}
.kc .name{font-family:Shrikhand,Georgia,serif;font-weight:400;font-size:clamp(46px,6.2vw,84px);line-height:1.02;color:#E8955A;margin:4px 0 22px;text-shadow:0 2px 24px rgba(232,149,90,.25)}
.kc .date{font:700 clamp(21px,2.2vw,26px)/1.3 Rokkitt,Georgia,serif;margin:0 0 2px;color:#FFF3D6}
.kc .doors{font:500 18px/1.4 Rokkitt,Georgia,serif;margin:0 0 10px;color:#F2B37A}
.kc .where{font-size:17px;margin:0}
.kc a.maps{color:#F2B37A}
.kc a.maps:hover{background:#E8955A;border-color:#E8955A;color:#0C2637}
.kc .who{margin:30px 0 26px;padding:20px 0 0;border-top:1px solid rgba(232,149,90,.35)}
.kc .who ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}
.kc .who li{font-size:15px;line-height:1.35;color:#F2D9B8}
.kc .who li b{display:block;font:700 19px/1.25 Rokkitt,Georgia,serif;color:#FFF3D6}
.kc .price{font:500 20px Rokkitt,Georgia,serif;margin:0 0 22px}
.kc .price b{color:#E8955A}
.kc .tix{display:inline-block;padding:14px 32px;border-radius:40px;background:#E8955A;color:#0C2637!important;font:700 16px var(--sans);letter-spacing:.04em;text-decoration:none!important;transition:background .2s,color .2s}
.kc .tix:hover{background:#FFF3D6;color:#0C2637!important}
.kc .art{position:relative;width:100%;max-width:340px;justify-self:center}
.kc .art::before{content:"";position:absolute;left:0;top:2%;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#FFF0C8 0%,#FBE3B0 45%,#F2B37A 78%,rgba(232,149,90,0) 100%);opacity:.95}
.kc .art img{position:relative;display:block;width:100%;height:auto}
.kc-about{max-width:980px;margin:72px auto 0;padding-top:40px;border-top:1px solid rgba(232,149,90,.3)}
.kc-about p{font-size:19px;line-height:1.7;color:#F2E4CC}
.hut-tixm.t-kirtan-church .hut-tixm-bar{background:#0C2637;color:#FFF3D6}.hut-tixm.t-kirtan-church .hut-tixm-bar button{background:#E8955A;color:#0C2637}
@media(max-width:860px){.kc .top{grid-template-columns:minmax(0,1fr);gap:36px}.kc .art{max-width:220px}.kc .who ul{grid-template-columns:1fr}}

/* ---- Ported from Squarespace, Oct 21 2026 ---- */
/* Monthly events under the weekly calendar */
.hw-month{margin-top:28px}
.hw-month h3{margin:0 0 12px;font-size:clamp(30px,3.4vw,44px)}
.hw-month ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hw-month .m{display:flex;align-items:center;gap:12px;height:100%;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}
.hw-month a.m:hover{border-color:var(--grn)}
.hw-month .d{width:12px;height:12px;border-radius:50%;flex:none}
.hw-month b{display:block;font-size:16px;line-height:1.4;margin-bottom:2px}
.hw-month small{display:block;font-size:14px;line-height:1.3;opacity:.75}
@media(max-width:900px){.hw-month ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* iPads: calendar full width with the class list in two columns underneath */
@media(min-width:701px) and (max-width:1100px){
  .hw-top{grid-template-columns:1fr!important;gap:24px}
  .hw-side .hw-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hw-side .hw-list li{margin:0}
  .hw-side .hw-list a{height:100%}
  .hw-ev{margin:8px 6px 0;padding:10px 8px}
}
/* phones: calendar text big enough to read, no mid word breaks */
.hw-ev b,.hw-ev span{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:700px){
  .hw-ev{margin:4px 1.5px 0;padding:6px 0;text-align:center}
  .hw-ev b{font-size:10.5px}
  .hw-ev span{font-size:10px;letter-spacing:-.02em}
  .hw-dh{font-size:10.5px!important}
}

/* Rent form amenities: real tick boxes, sound gear left, everything else right */
.amen{border:0;padding:0;margin:0}
.amen legend{padding:0;margin-bottom:10px;font-weight:600}
.amen-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:10px 24px}
.amen-grid .chk{margin:0}
@media(max-width:640px){.amen-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}}

/* Maps button on events */
a.maps{display:table;margin:10px 0 0;padding:8px 18px;border:1.5px solid currentColor;border-radius:40px;font:600 14px/1 var(--sans);letter-spacing:.02em;color:inherit;text-decoration:none;transition:background .15s,color .15s}
a.maps:hover{background:var(--plum);border-color:var(--plum);color:#8fdcc2}

/* Testimonials: tighter section with even space above and below */
.hut-tst-sec{padding:40px var(--gutter) 40px}
.hut-tst h2{margin:0 0 22px}
.ht-slide{min-height:200px;padding:32px 56px}
.ht-dots{margin-top:14px}
@media(max-width:640px){.ht-slide{padding:20px 24px}}

/* Bigger tap targets without changing the look */
.ht-dots button{position:relative}
.ht-dots button::after{content:"";position:absolute;inset:-8px -4px}
.hut-foot li{margin-bottom:0}
.hut-foot li a{display:inline-block;padding:4px 0}
.budget .other{padding:6px 0;margin:-6px 0}

/* Ticket popup sized to the visible screen on iPhone */
@supports (height:1dvh){.hut-tixm-box{height:min(92dvh,1100px)}}

/* home: coming up (featured event + month calendar) */
.home-events{padding:10px var(--gutter) 60px}
.he{max-width:1200px;margin:0 auto}
.he-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.he-head h2{margin:0;font-size:clamp(34px,4vw,52px)}
.he-all{font-weight:600;color:var(--green);text-decoration:none}.he-all:hover{color:var(--plum)}
.he-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.he-feat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;border-top:6px solid var(--ev)}
.he-feat~.he-feat{display:none}
.he-img{display:block;background:#111;align-self:stretch}.he-img img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:4/5}
.he-info{padding:24px 24px 26px;display:flex;flex-direction:column}
.he-k{margin:0 0 6px;font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ev)}
.he-info h3{margin:0 0 8px;font-size:clamp(28px,2.6vw,38px);line-height:1.05}
.he-info h3 a{color:var(--ink);text-decoration:none}.he-info h3 a:hover{color:var(--ev)}
.he-when{margin:0 0 12px;font-weight:600;font-size:16px}
.he-ex{margin:0 0 18px;font-size:15px;line-height:1.55;opacity:.85}
.he-btns{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.he-btns .btn{padding:12px 22px;font-size:15px}
.hc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 20px}
.hc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.hc-top h3{margin:0;font-size:clamp(26px,2.4vw,34px);color:var(--green)}
.hc-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer}
.hc-nav svg{width:20px;height:20px}.hc-nav:hover{background:var(--sea)}.hc-nav:disabled{opacity:.3;cursor:default;background:#fff}
.hc-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.hc-w{text-align:center;font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--green);padding:6px 0}
.hc-d{min-height:74px;border-radius:8px;background:var(--sea);padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0}
.hc-d.empty{background:transparent}
.hc-d.past{opacity:.45}
.hc-n{font-size:12px;font-weight:600;line-height:1;color:var(--ink);opacity:.7}
.hc-d.today{box-shadow:inset 0 0 0 2px var(--green)}.hc-d.today .hc-n{opacity:1;color:var(--green)}
.hc-e{display:block;background:var(--ev);color:#fff!important;font:600 11px/1.25 var(--sans);padding:3px 5px;border-radius:5px;text-decoration:none!important;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hc-e:hover{filter:brightness(1.12)}
.hc-e{overflow-wrap:anywhere}
@media(max-width:1000px){.he-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.he-feat{grid-template-columns:minmax(0,1fr)}.he-img img{aspect-ratio:auto;max-height:520px;object-fit:contain;background:#111}.hc{padding:12px}.hc-d{min-height:58px;padding:3px}.hc-e{font-size:9.5px;padding:2px 3px;-webkit-line-clamp:3}.hc-w{font-size:9px;letter-spacing:.04em}}
.hc-list{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.hc-list a{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.3}
.hc-list a:hover{background:var(--sea)}
.hc-dot{width:10px;height:10px;border-radius:50%;background:var(--ev);flex:none}
.hc-ld{font-weight:700;white-space:nowrap;min-width:92px}
.hc-lt{min-width:0}
@media(max-width:640px){.hc-e{font-size:0;height:8px;padding:0;border-radius:4px;-webkit-line-clamp:unset}.hc-d{min-height:46px}}

/* weekly classes: list on top, full width calendar below */
.home-week .hw-top{display:flex!important;flex-direction:column;gap:22px}
.home-week .hw-side h2{margin:0 0 14px;font-size:clamp(34px,4vw,52px)}
.home-week .hw-side .hw-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.home-week .hw-side .hw-list li{margin:0}
.home-week .hw-side .hw-list a{height:100%;box-sizing:border-box}
.home-week .hw-grid{width:100%}
@media(max-width:900px){.home-week .hw-side .hw-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.home-week .hw-side .hw-list{grid-template-columns:minmax(0,1fr)}}
.home-week .hw-side{width:100%;max-width:none}
.he-allbtn{display:block;width:max-content;margin:18px auto 0}
