/* shared by all three drafts */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Archivo,Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:root{--red:#FF0033;--red-d:#C80028;--ink:#262F33;--black:#0E1113;--paper:#F5F4F2;--sand:#EBE6DD;--mono:"Cutive Mono",ui-monospace,Menlo,monospace}
.wrap{width:min(1240px,100% - 32px);margin-inline:auto}
@media(min-width:800px){.wrap{width:min(1240px,100% - 80px)}}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
section[id],article[id]{scroll-margin-top:84px}
.eyebrow{font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 28px;background:var(--red);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:0;border-radius:0;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--red-d);transform:translateY(-2px)}
.btn.sm{min-height:44px;padding:0 18px;font-size:.8rem}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.btn:hover{transform:none}}

/* film player: poster, tap to play */
.film-box{position:relative;aspect-ratio:9/16;background:#000;overflow:hidden}
.film-box video{width:100%;height:100%;object-fit:cover}
.film-box button{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:var(--red);cursor:pointer;display:grid;place-items:center;transition:transform .2s,background .2s;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.film-box button::after{content:"";position:absolute;inset:-2000px}
.film-box button:hover{transform:scale(1.08);background:var(--red-d)}
.film-box svg{width:34px;height:34px;fill:#fff;margin-left:4px}
.film.is-playing button{display:none}
.film figcaption{font-family:var(--mono);font-size:.85rem;padding-top:10px;display:flex;justify-content:space-between;gap:12px}
.film figcaption b{font-weight:400;letter-spacing:.06em;text-transform:uppercase}
.film .credit{font-size:.7rem;opacity:.6;line-height:1.4;padding-top:4px}

/* inquiry form */
.lead{display:grid;gap:18px}
.lead .row{display:grid;gap:18px}
@media(min-width:700px){.lead .two{grid-template-columns:1fr 1fr}.lead .three{grid-template-columns:1fr 1fr 1fr}}
.lead label{display:grid;gap:6px;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.lead label i{font-style:normal;opacity:.6;text-transform:none;letter-spacing:0}
.lead input,.lead select,.lead textarea{width:100%;min-height:52px;padding:12px 14px;font-family:Archivo,Arial,sans-serif;font-size:1rem;letter-spacing:0;text-transform:none;border:1.5px solid currentColor;border-radius:0;background:transparent}
.lead select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px;cursor:pointer}
.lead select option{color:#111;background:#fff}
.lead textarea{resize:vertical}
.lead .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead .send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.lead .alt{font-size:.9rem}
.lead .note{min-height:1.5em;font-weight:600}
.lead .note.bad{text-decoration:underline}
.lead.is-sent .row,.lead.is-sent>label,.lead.is-sent .send{display:none}
.lead.is-sent .note{font-size:1.3rem;line-height:1.4}

.facts li{position:relative;padding:10px 0 10px 26px;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.facts li::before{content:"";position:absolute;left:0;top:19px;width:12px;height:2px;background:var(--red)}
.addr{font-family:var(--mono);font-size:.9rem;letter-spacing:.04em}
.best{display:flex;flex-wrap:wrap;gap:8px}
.best span{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid currentColor}

.places li{display:grid;grid-template-columns:1fr;gap:2px 20px;padding:18px 0;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);align-items:baseline}
.places b{font-size:1.25rem;font-weight:800}
.places span{font-family:var(--mono);font-size:.88rem}
.places a{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:4px;justify-self:start;padding:8px 0}
.places a:hover{color:var(--red)}
@media(min-width:800px){.places li{grid-template-columns:1fr 1.2fr auto}.places a{justify-self:end}}

.foot{background:var(--black);color:#fff;padding:56px 0 28px;font-size:.92rem}
.foot-in{display:grid;gap:28px}
@media(min-width:800px){.foot-in{grid-template-columns:auto 1fr 1fr 1fr;gap:48px}}
.foot a{text-decoration:none}.foot a:hover{color:var(--red)}
.foot .fine{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-family:var(--mono);font-size:.75rem;opacity:.6}

/* ===== DRAFT 1: dark, four moving doors. Each place wears its own brand. ===== */
body{background:var(--black);color:#fff}
h1,h2{font-stretch:118%;font-weight:900;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}
h2{font-size:clamp(2.2rem,5.2vw,4.4rem)}

.head{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;padding:0 16px;transition:background .3s}
.head.is-stuck{background:rgba(14,17,19,.92);backdrop-filter:blur(10px)}
.head .logo{display:block;position:relative;z-index:2}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid rgba(255,255,255,.55);background:rgba(14,17,19,.55);backdrop-filter:blur(6px);color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pill:hover,.pill.on{background:#fff;color:var(--black);border-color:#fff}
.menu-btn{position:relative;z-index:2;margin-top:14px;min-height:44px;padding:0 18px;border:1.5px solid #fff;background:rgba(14,17,19,.55);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.head nav{display:none}
.head nav.open{display:flex;flex-direction:column;align-items:stretch;gap:10px;position:fixed;inset:0;z-index:1;background:var(--black);padding:104px 16px 24px;overflow:auto}
.head nav.open .pill,.head nav.open .btn{min-height:56px;font-size:1rem;justify-content:flex-start}
.head nav.open .btn{justify-content:center;margin-top:10px}
html.menu-open{overflow:hidden}
@media(min-width:1100px){
  .head{padding:0 40px}
  .menu-btn{display:none}
  .head nav,.head nav.open{display:flex;flex-direction:row;align-items:center;gap:8px;padding:14px 0 0;position:static;background:none;overflow:visible}
}

.hero{position:relative;min-height:100svh;display:flex;flex-direction:column}
.hero-copy{padding:112px 16px 28px;display:grid;gap:16px;justify-items:start}
.hero-copy h1{font-size:clamp(1.9rem,8.6vw,7.4rem);line-height:.98}
.hero-copy h1 span{display:block}
.h-a{font-size:.5em;margin-bottom:.12em}
.h-b{color:#fff}
.h-c{font-size:.5em;margin-top:.3em;color:rgba(255,255,255,.62)}
.h-c s{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:.14em}
.hero-copy p:not(.eyebrow){max-width:30ch;font-size:1.1rem;opacity:.9}
.panels{order:2;display:grid;grid-template-columns:1fr 1fr;gap:2px;flex:1}
.panel{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;text-decoration:none;background:#111}
.panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.panel .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,19,.6) 0%,rgba(14,17,19,.25) 40%,rgba(14,17,19,.1) 55%,rgba(14,17,19,.92) 100%);transition:opacity .4s}
.p-meta{position:absolute;left:14px;right:14px;bottom:14px;display:grid;gap:2px}
.p-meta i{font-family:var(--mono);font-style:normal;font-size:.75rem;color:var(--red)}
.p-meta b{font-stretch:118%;font-weight:900;font-size:clamp(1.1rem,2.3vw,2.2rem);text-transform:uppercase;line-height:1}
.p-meta em{font-family:var(--mono);font-style:normal;font-size:.7rem;letter-spacing:.06em;opacity:.85}
@media(min-width:960px){
  .hero{display:block;height:100svh;min-height:680px}
  .panels{position:absolute;inset:0;display:flex;gap:2px}
  .panel{flex:1;aspect-ratio:auto;transition:flex .6s cubic-bezier(.2,.7,.2,1)}
  .panel:hover,.panel:focus-visible{flex:1.7}
  .panel:hover video{transform:scale(1.04)}
  .panel:hover .shade{opacity:.6}
  .p-meta{left:28px;right:28px;bottom:32px}
  .p-meta em{font-size:.8rem}
  .hero-copy{position:absolute;z-index:2;left:40px;top:15%;padding:0;pointer-events:none;gap:20px}
  .hero-copy *{pointer-events:auto}
  .hero-copy h1,.hero-copy p{text-shadow:0 2px 30px rgba(0,0,0,.6)}
  .hero-copy h1{pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.panel,.panel video{transition:none}}

.statement{padding:clamp(72px,11vw,150px) 0;background:#1A1F22}
.statement .eyebrow{color:var(--red);margin-bottom:22px}
.statement .big{font-stretch:110%;font-weight:800;font-size:clamp(1.6rem,3.6vw,3.2rem);line-height:1.15;max-width:26ch;letter-spacing:-.01em}

.more{padding:clamp(72px,10vw,130px) 0;background:var(--ink)}
.more h2,.past h2{font-size:clamp(1.9rem,4vw,3.2rem);margin:12px 0 36px;max-width:18ch}
.more .eyebrow,.past .eyebrow,.about .eyebrow,.inquire .eyebrow{color:var(--red)}

.past{--prev:var(--ink);padding:clamp(72px,10vw,130px) 0;background:#1B2125}
.pf-row{display:grid;gap:14px}
.pf{position:relative;overflow:hidden;background:#111;aspect-ratio:4/5}
.pf video,.pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf span{position:absolute;left:0;right:0;bottom:0;padding:70px 20px 18px;background:linear-gradient(transparent,rgba(14,17,19,.92));display:grid;gap:2px}
.pf b{font-stretch:118%;font-weight:900;font-size:clamp(1.4rem,2.2vw,2rem);text-transform:uppercase;line-height:1}
.pf em{font-family:var(--mono);font-style:normal;font-size:.8rem}
@media(min-width:800px){.pf-row{grid-template-columns:repeat(3,1fr);gap:18px}}
.pf-list{display:grid;gap:0 40px;margin-top:40px}
.pf-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.18)}
.pf-list b{font-weight:800;font-size:1.1rem}
.pf-list span{font-family:var(--mono);font-size:.82rem;opacity:.8}
@media(min-width:800px){.pf-list{grid-template-columns:1fr 1fr}}

.about{--prev:#1B2125;padding:clamp(72px,10vw,130px) 0;background:#14181B}
.about-in{display:grid;gap:36px}
.about-pic img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about-text{display:grid;gap:16px;align-content:center}
.about-text h2{margin-bottom:8px}
.about p{font-size:1.1rem;max-width:56ch}
.about .names{display:flex;flex-wrap:wrap;gap:10px 32px;margin-top:10px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}
@media(min-width:900px){.about-in{grid-template-columns:.8fr 1.2fr;gap:72px}}

.inquire{--prev:#14181B;padding:clamp(72px,10vw,140px) 0;background:var(--ink)}
.inquire-in{display:grid;gap:40px}
.inquire h2{margin:12px 0 18px}
.inquire p{max-width:34ch;font-size:1.1rem}
.inquire ::placeholder{color:rgba(255,255,255,.5)}
.inquire .lead input,.inquire .lead select,.inquire .lead textarea{border-color:rgba(255,255,255,.45);background-color:rgba(14,17,19,.35)}
@media(min-width:960px){.inquire-in{grid-template-columns:1fr 1.25fr;gap:72px}}

.p-meta u{display:inline-flex;justify-self:start;margin-top:10px;padding:8px 12px;border:1.5px solid rgba(255,255,255,.7);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.panel:hover .p-meta u{background:#fff;color:var(--black)}

@media(max-width:959px){.p-meta em{display:none}}
@media(max-width:959px){.p-avalon{order:-2}.p-ls{order:-1}}

/* ===== home page depth: glows and cards, not flat blocks ===== */
.statement{background:radial-gradient(60% 110% at 100% 0%,rgba(255,0,51,.24),transparent 60%),radial-gradient(40% 80% at 0% 100%,rgba(70,120,160,.18),transparent 65%),#1A1F22}
.more{background:radial-gradient(50% 70% at 0% 0%,rgba(255,0,51,.14),transparent 60%),var(--ink)}
.more .places{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.more .places li{display:grid;grid-template-columns:1fr;gap:6px;align-content:start;padding:24px;background:#1B2125;border:0;border-top:3px solid var(--red);box-shadow:0 18px 40px rgba(0,0,0,.28);transition:transform .25s,box-shadow .25s}
.more .places li:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(0,0,0,.4)}
.more .places a{justify-self:start;margin-top:10px}
.past{background:radial-gradient(55% 60% at 100% 100%,rgba(255,0,51,.16),transparent 60%),#1B2125}
.pf{box-shadow:0 24px 60px rgba(0,0,0,.4)}
.about{background:radial-gradient(50% 70% at 0% 50%,rgba(229,189,116,.12),transparent 60%),#14181B}
.about-pic img{box-shadow:0 30px 80px rgba(0,0,0,.5)}
.inquire{background:radial-gradient(60% 80% at 100% 0%,rgba(255,0,51,.3),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(255,0,51,.14),transparent 60%),var(--ink)}
.inquire .lead{background:#14181B;padding:clamp(20px,3vw,40px);box-shadow:0 30px 80px rgba(0,0,0,.45)}

/* ===== one page per place: everything centred, in that place's own brand ===== */
.vp{display:block;background:var(--bg);color:var(--fg)}
.vp .btn{background:var(--acc);color:var(--acc-fg);border-radius:var(--rb,0)}
.vp .btn:hover{filter:brightness(1.1)}
.vp .btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.6);backdrop-filter:blur(6px)}
.vp .btn.ghost:hover{background:#fff;color:#111}
.vp h1,.vp h2{font-family:var(--head);font-stretch:var(--stretch,100%);font-weight:var(--hw,800);text-transform:var(--case,uppercase);letter-spacing:var(--track,0)}
.vp .eyebrow{font-family:var(--label);color:var(--acc-soft,var(--acc))}

.vh{position:relative;min-height:min(94svh,940px);display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate;padding:150px 0 250px}
.vh-bg{position:absolute;inset:-60px;z-index:-2}
.vh-bg video{width:100%;height:100%;object-fit:cover;filter:blur(10px) saturate(1.15);transform:scale(1.06)}
.vh::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(60% 70% at 90% 0%,var(--g1),transparent 62%),
  radial-gradient(55% 65% at 5% 100%,var(--g2),transparent 65%),
  linear-gradient(180deg,color-mix(in srgb,var(--bg) 78%,transparent) 0%,color-mix(in srgb,var(--bg) 58%,transparent) 45%,var(--bg) 100%)}
.vh-in{display:grid;justify-items:center;gap:20px}
.vh h1{font-size:clamp(3rem,9vw,7.4rem);line-height:.95;text-shadow:0 6px 40px rgba(0,0,0,.5)}
.vh .v-logo{line-height:0}
.vh .v-logo img{width:min(520px,82vw);height:auto;filter:drop-shadow(0 20px 50px rgba(0,0,0,.5))}
.vh .lede{font-family:var(--lede,inherit);font-size:clamp(1.25rem,2.3vw,1.9rem);line-height:1.3;max-width:28ch;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.vh .addr{color:#fff;opacity:.85}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}

.vv{position:relative;z-index:2;margin-top:-190px;padding-bottom:clamp(64px,9vw,120px)}
.vv-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 16px 30px;scrollbar-width:none}
.vv-row::-webkit-scrollbar{display:none}
.vv-main{flex:0 0 min(76vw,340px);scroll-snap-align:center;order:-1}
.vv-side{flex:0 0 min(62vw,270px);aspect-ratio:9/16;overflow:hidden;scroll-snap-align:center;align-self:flex-start;border-radius:var(--r);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.vv-side video{width:100%;height:100%;object-fit:cover}
.vv .film-box{border-radius:var(--r);box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px color-mix(in srgb,var(--acc) 55%,transparent)}
.vv .film-box button{background:var(--acc)}.vv .film-box svg{fill:var(--acc-fg)}
.vv .film figcaption{justify-content:center;gap:16px}.vv .film .credit{text-align:center}
@media(min-width:900px){
  .vv-row{justify-content:center;align-items:center;gap:clamp(16px,2.4vw,36px);overflow:visible}
  .vv-main{flex-basis:360px;order:0}
  .vv-side{flex-basis:270px;align-self:center;margin-top:-40px;opacity:.92}
}

.vf{position:relative;background:var(--light-fx,none),var(--light);color:var(--on-light);padding:clamp(72px,10vw,130px) 0;text-align:center}
.vf .eyebrow,.vi .eyebrow{color:var(--acc-on-light,var(--acc))}
.vf h2,.vi h2{font-size:clamp(2.2rem,5.4vw,4.4rem);line-height:1;margin:12px auto 40px;max-width:18ch}
.vf-cards{display:grid;gap:16px;text-align:left;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.vf-cards li{background:var(--card);color:var(--card-fg);padding:28px 24px 30px;border-top:4px solid var(--acc);border-radius:var(--r);box-shadow:0 22px 50px rgba(0,0,0,.18);display:grid;gap:14px;align-content:start}
.vf-cards i{font-family:var(--head);font-style:normal;font-weight:800;font-size:2.6rem;line-height:1;color:var(--acc)}
.vf-cards p{font-family:var(--lede,inherit);font-size:1.2rem;line-height:1.35}
.vf .best{justify-content:center;margin-top:36px}

.vg{background:radial-gradient(50% 60% at 100% 0%,var(--g1),transparent 60%),radial-gradient(45% 60% at 0% 100%,var(--g2),transparent 62%),var(--bg2);color:var(--fg2,var(--fg));padding:clamp(72px,10vw,130px) 0;text-align:center}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.mosaic div{overflow:hidden;border-radius:var(--r);box-shadow:0 22px 50px rgba(0,0,0,.35)}
.mosaic img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;transition:transform .9s ease}
.mosaic div:hover img{transform:scale(1.05)}
@media(min-width:900px){
  .mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(200px,21vw,300px);gap:16px}
  .mosaic img{aspect-ratio:auto}
  .mosaic .g1{grid-column:span 2;grid-row:span 2}
  .mosaic .g4{grid-column:span 2}
  .mosaic .g5{grid-column:span 2}
  .mosaic .g6{grid-column:span 2}
}

.vi{position:relative;background:var(--light-fx,none),var(--light);color:var(--on-light);padding:clamp(72px,10vw,130px) 0;text-align:center}
.vi h2{margin-bottom:14px}
.vi-sub{font-family:var(--lede,inherit);font-size:1.2rem;max-width:34ch;margin:0 auto 36px}
.vi-card{max-width:820px;margin:0 auto;text-align:left;background:var(--form-bg);color:var(--form-fg);padding:clamp(22px,4vw,48px);border-radius:var(--r);border-top:5px solid var(--acc);box-shadow:0 40px 90px rgba(0,0,0,.28)}
.vi-card .lead label{font-family:var(--label)}

/* --- Avalon: black + gold --- */
.t-avalon{--bg:#302926;--bg2:#1D1816;--fg:#fff;--light:#F4EDE1;--on-light:#302926;--acc:#E5BD74;--acc-fg:#302926;--acc-on-light:#8C6F39;
  --card:#302926;--card-fg:#fff;--form-bg:#302926;--form-fg:#fff;--r:0px;--g1:rgba(229,189,116,.34);--g2:rgba(169,141,96,.22);
  --head:Cinzel,serif;--hw:700;--track:.06em;--label:Cinzel,serif;--lede:"Cormorant Garamond",serif}
.t-avalon .vp .btn{font-family:Cinzel,serif;font-weight:700;letter-spacing:.16em}
.t-avalon .vv-side,.t-avalon .mosaic div,.t-avalon .vv .film-box{outline:1px solid rgba(229,189,116,.5);outline-offset:6px}
.t-avalon .vf-cards li{outline:1px solid rgba(229,189,116,.6);outline-offset:-8px;border-top:0}
.t-avalon .best span{border-color:#8C6F39;color:#8C6F39}

/* --- Lucky Shots: green, pink and cream --- */
.t-ls{--bg:#00562E;--bg2:#F8CFD7;--fg:#F6F2EB;--fg2:#00562E;--light:#F6F2EB;--on-light:#1E3A2B;--acc:#E64461;--acc-fg:#fff;--acc-soft:#FC91A4;--acc-on-light:#E64461;
  --card:#fff;--card-fg:#1E3A2B;--form-bg:#fff;--form-fg:#1E3A2B;--r:26px;--rb:999px;--g1:rgba(252,145,164,.55);--g2:rgba(172,219,146,.4);
  --head:Montserrat,sans-serif;--hw:800;--track:-.01em;--label:Montserrat,sans-serif;--lede:Montserrat,sans-serif}
.t-ls .vp{font-family:Montserrat,Archivo,sans-serif}
.t-ls .vh::before{background:radial-gradient(55% 65% at 92% 0%,var(--g1),transparent 62%),radial-gradient(55% 65% at 5% 100%,var(--g2),transparent 65%),linear-gradient(180deg,rgba(0,128,67,.82) 0%,rgba(0,86,46,.7) 50%,#00562E 100%)}
.t-ls .v-logo{background:#F6F2EB;padding:clamp(20px,3vw,36px) clamp(26px,4vw,52px);border-radius:32px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.t-ls .v-logo img{width:min(440px,68vw);filter:none}
.t-ls .vh .lede{font-weight:800;text-transform:uppercase;font-size:clamp(1.05rem,1.8vw,1.5rem);max-width:34ch}
.t-ls .vf h2,.t-ls .vi h2{color:#008043}
.t-ls .vf-cards li{border-top-color:#FC91A4}
.t-ls .vf-cards i{color:#008043}
.t-ls .vf-cards p{font-weight:600;font-size:1.05rem}
.t-ls .vg{background:radial-gradient(45% 60% at 100% 0%,rgba(255,255,255,.7),transparent 60%),radial-gradient(45% 60% at 0% 100%,rgba(252,145,164,.7),transparent 62%),#F8CFD7}
.t-ls .vg .eyebrow{color:#E64461}
.t-ls .vi{background:radial-gradient(55% 70% at 100% 0%,rgba(252,145,164,.5),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(172,219,146,.4),transparent 62%),linear-gradient(160deg,#008043,#00562E);color:#F6F2EB}
.t-ls .vi h2{color:#F6F2EB}.t-ls .vi .eyebrow{color:#FC91A4}
.t-ls .vi-card{border-top-color:#FC91A4}
.t-ls .lead input,.t-ls .lead select,.t-ls .lead textarea{border-radius:14px}
.t-ls .best span{border-radius:999px;border-color:#008043;color:#008043;font-family:Montserrat,sans-serif;font-weight:600}

/* --- Prior Works: Real Red, Caviar and cream on a blueprint grid --- */
.t-pw{--bg:#28292A;--bg2:#1B1C1D;--fg:#E6E0CD;--light:#E6E0CD;--on-light:#28292A;--acc:#BF2D32;--acc-fg:#fff;--acc-soft:#BED6E1;--acc-on-light:#BF2D32;
  --card:#28292A;--card-fg:#E6E0CD;--form-bg:#28292A;--form-fg:#E6E0CD;--r:0px;--g1:rgba(191,45,50,.45);--g2:rgba(190,214,225,.2);
  --head:Archivo,sans-serif;--stretch:62%;--hw:800;--label:"Courier Prime",Courier,monospace;--lede:"Courier Prime",Courier,monospace;
  --light-fx:linear-gradient(rgba(40,41,42,.09) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,rgba(40,41,42,.09) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(rgba(40,41,42,.045) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(40,41,42,.045) 1px,transparent 1px) 0 0/24px 24px}
.t-pw .vh::after,.t-pw .vg::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(190,214,225,.08) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,rgba(190,214,225,.08) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(rgba(190,214,225,.04) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(190,214,225,.04) 1px,transparent 1px) 0 0/24px 24px}
.t-pw .vg{position:relative;isolation:isolate}
.t-pw .vh .lede{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.5;max-width:40ch}
.t-pw .vf h2,.t-pw .vi h2{font-size:clamp(3rem,7vw,6rem)}
.t-pw .vf-cards p{font-size:1.02rem;line-height:1.5}
.t-pw .vp .btn{font-stretch:62%;font-size:1.2rem;letter-spacing:.06em}
.t-pw .vv-side,.t-pw .mosaic div{border:1px solid rgba(230,224,205,.35)}

/* --- The Woman's Club: ivory and brass on deep wine --- */
.t-wc{--bg:#2B1A1D;--bg2:#1C1012;--fg:#F3EADA;--light:#F3EADA;--on-light:#2B1A1D;--acc:#C9A66B;--acc-fg:#2B1A1D;--acc-on-light:#8A6A34;
  --card:#FBF7EF;--card-fg:#2B1A1D;--form-bg:#2B1A1D;--form-fg:#F3EADA;--r:0px;--g1:rgba(201,166,107,.36);--g2:rgba(150,40,62,.5);
  --head:"Cormorant Garamond",serif;--hw:600;--case:none;--label:var(--mono);--lede:"Cormorant Garamond",serif}
.t-wc .vh h1{font-size:clamp(3.4rem,10vw,8.4rem);line-height:.9}
.t-wc .vv-side,.t-wc .vv .film-box{border-radius:200px 200px 0 0}
.t-wc .mosaic .g1{border-radius:240px 240px 0 0}
.t-wc .vf-cards li{border-top:0;border-bottom:4px solid #C9A66B}
.t-wc .vf-cards i{font-size:3rem;font-weight:600}
.t-wc .best span{border-color:#8A6A34;color:#8A6A34}

/* the headline sits over the two left doors, so that side is darkened a little */
@media(min-width:960px){.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(14,17,19,.78) 0%,rgba(14,17,19,.55) 32%,rgba(14,17,19,0) 58%);-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 74%);mask-image:linear-gradient(180deg,#000 55%,transparent 74%)}}

/* ===== home page: clear contrast from one section to the next (Devin: they blended together) ===== */
.statement{background:radial-gradient(55% 110% at 100% 0%,rgba(255,0,51,.12),transparent 60%),#F5F4F2;color:var(--ink)}
.more{background:radial-gradient(50% 70% at 0% 0%,rgba(255,0,51,.2),transparent 60%),#0E1113}
.more .places li{background:#1F262A}
.past{background:radial-gradient(55% 60% at 100% 100%,rgba(255,0,51,.1),transparent 60%),#EBE6DD;color:var(--ink)}
.past .pf{color:#fff}
.past .pf-list li{border-top-color:rgba(38,47,51,.22)}
.about{background:radial-gradient(50% 70% at 0% 50%,rgba(229,189,116,.14),transparent 60%),#0E1113}
.inquire{background:radial-gradient(70% 90% at 100% 0%,#FF0033,transparent 65%),linear-gradient(160deg,#C40028,#6E0A1C)}
.inquire .eyebrow{color:#fff}
.inquire .lead{background:#0E1113}

.vg h2{font-size:clamp(2.2rem,5.4vw,4.4rem);line-height:1;margin:0 auto 12px}

/* ===== Avalon, following avalonsaintpaul.com: charcoal, light gold headings, serif body ===== */
.t-avalon.own{--bg:#292421;--bg2:#292421;--light:#292421;--on-light:#fff;--acc:#D5B46E;--acc-fg:#292421;--acc-on-light:#D5B46E;
  --card:#332D29;--card-fg:#fff;--form-bg:#332D29;--form-fg:#fff;--head:Jost,sans-serif;--hw:300;--case:none;--track:0;--label:Jost,sans-serif;--lede:Baskervville,serif;
  --g1:rgba(213,180,110,.16);--g2:rgba(213,180,110,.1)}
.t-avalon.own .vp{font-family:Baskervville,Georgia,serif}
.t-avalon.own .vp .btn{font-family:Jost,sans-serif;font-weight:400;letter-spacing:.14em}
.av-hero{min-height:0;height:min(66svh,600px);padding:96px 0 26px;display:flex;flex-direction:column}
.av-hero .vh-bg.tri{inset:0;display:flex}
.av-hero .vh-bg.tri video{flex:1;min-width:0;filter:none;transform:none}
.av-hero .vh-bg.tri video:not(:first-child){display:none}
@media(min-width:800px){.av-hero .vh-bg.tri video:not(:first-child){display:block}}
.av-hero::before{background:linear-gradient(180deg,rgba(41,36,33,.72) 0%,rgba(41,36,33,.35) 45%,rgba(41,36,33,.55) 80%,#292421 100%)}
.av-hero .vh-in{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.av-hero .v-logo img{width:min(300px,62vw)}
.av-hero .now{font-family:Jost,sans-serif;font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.7)}
.av-welcome{padding:44px 0 72px;text-align:center}
.av-welcome h2{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.2;color:#D5B46E;margin:0 auto 28px;max-width:30ch}
.av-welcome p{max-width:72ch;margin:0 auto 1em;font-size:1.1rem;line-height:1.6;text-align:left}
.av-welcome .addr{text-align:center;font-family:Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#D5B46E;margin-top:26px}
.av-welcome .ctas{margin-top:22px}
.t-avalon.own .vv{margin-top:0}
.t-avalon.own .vf,.t-avalon.own .vi{background:#292421;padding-top:clamp(40px,6vw,80px)}
.t-avalon.own .vf h2,.t-avalon.own .vg h2,.t-avalon.own .vi h2{color:#D5B46E;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:32px}
.t-avalon.own .vi h2{margin-bottom:12px}
.t-avalon.own .vf-cards li{outline:1px solid rgba(213,180,110,.55);outline-offset:-8px;border-top:0;box-shadow:none;padding:34px 28px;text-align:center}
.t-avalon.own .vf-cards p{font-size:1.15rem}
.t-avalon.own .best span{border-color:#D5B46E;color:#D5B46E;font-family:Jost,sans-serif}
.t-avalon.own .vg{background:#292421}
.t-avalon.own .vi-card{border-top:1px solid #D5B46E;box-shadow:none;outline:1px solid rgba(213,180,110,.35)}

/* ===== Lucky Shots, following luckyshotspickleball.com: cream, green caps, pink script ===== */
.t-ls.own .vp{background:#F6F2EB;color:#008043;font-family:Montserrat,Archivo,sans-serif}
.t-ls.own .vp .btn{background:#FC91A4;color:#fff;border-radius:6px}
.t-ls.own .vp .btn:hover{background:#E64461;filter:none}
.script{font-family:Yellowtail,cursive;color:#FC91A4;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.1}
.dot{position:relative;isolation:isolate;display:inline-flex;align-items:center;padding:12px 0 12px 12px;font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#F27C93;text-decoration:none}
.dot::before{content:"";position:absolute;z-index:-1;left:0;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:#008043;transition:transform .25s}
a.dot:hover::before,a:hover .dot::before{transform:scale(1.25)}
.ls-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;height:min(80svh,740px);min-height:500px}
.ls-hero-bg{position:absolute;inset:0;z-index:-2}
.ls-hero-bg video{width:100%;height:100%;object-fit:cover}
.ls-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 26%),linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.15) 55%,rgba(0,0,0,0) 80%)}
.ls-hero-in{padding:60px clamp(16px,3vw,44px) 0;display:grid;gap:18px;justify-items:start}
.ls-hero .rabbit{width:clamp(72px,8vw,120px);height:auto}
.ls-hero h1{font-family:Montserrat,sans-serif;font-weight:800;font-stretch:100%;text-transform:uppercase;letter-spacing:.035em;line-height:1;color:#F6F2EB;font-size:clamp(2.2rem,7.6vw,7rem);text-shadow:0 4px 30px rgba(0,0,0,.45)}
.ls-book{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:#F6F2EB;color:#008043;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.ls-book:hover{background:#008043;color:#F6F2EB}
.ls-intro{text-align:center;padding:clamp(48px,6vw,76px) 0}
.ls-copy{max-width:74ch;margin:18px auto 10px;font-weight:600;line-height:1.7}
.ls-intro .addr{font-family:Montserrat,sans-serif;font-weight:600;margin-bottom:8px}
.ls-two{background:#ECE7DE;padding:10px}
.ls-panel{background:#F6F2EB;padding:clamp(16px,2.6vw,30px);display:grid;gap:28px;max-width:1500px;margin:0 auto}
@media(min-width:800px){.ls-panel{grid-template-columns:1fr 1fr}}
.ls-card{display:grid;gap:12px;justify-items:start;text-decoration:none;color:#008043;overflow:hidden}
.ls-card img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .8s ease}
.ls-card:hover img{transform:scale(1.03)}
.ls-card b{font-weight:800;font-size:clamp(1rem,1.5vw,1.25rem);letter-spacing:.18em;text-transform:uppercase;padding:8px 12px 0;max-width:24ch;line-height:1.25}
.ls-card .dot{margin-left:12px}
.ls-film{text-align:center;padding:clamp(56px,7vw,90px) 0 clamp(40px,5vw,70px)}
.ls-film h2,.t-ls.own .vf h2{font-family:Montserrat,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#008043;font-size:clamp(1.6rem,3.8vw,3rem);line-height:1.1;margin:6px auto 34px;max-width:none}
.ls-film .film figcaption,.ls-film .credit{color:#008043}
.ls-film .vv-side,.ls-film .film-box{border-radius:0}
.ls-film .film-box{box-shadow:0 30px 70px rgba(0,60,30,.3)}
.ls-film .film-box button{background:#FC91A4}.ls-film .film-box svg{fill:#fff}
.ls-film .vv-side{box-shadow:0 24px 50px rgba(0,60,30,.25);margin-top:0}
.t-ls.own .vf{background:#fff;padding-top:clamp(56px,7vw,90px)}
.t-ls.own .vf-cards li{background:#F6F2EB;border-radius:0;border-top:4px solid #FC91A4;box-shadow:none}
.t-ls.own .vg{padding-top:clamp(40px,6vw,80px)}
.t-ls.own .mosaic div{border-radius:0}
.ls-req{background:#008043;padding:10px}
.ls-req-in{display:grid;gap:26px;align-items:center;padding:clamp(18px,4vw,60px);
  background:radial-gradient(circle at 30% 30%,#FC91A4 0 9px,transparent 10px) 0 0/150px 150px,radial-gradient(circle at 78% 70%,#F8CFD7 0 6px,transparent 7px) 0 0/150px 150px,radial-gradient(circle at 60% 20%,#0C6A3C 0 40px,transparent 41px) 0 0/150px 150px,radial-gradient(circle at 15% 80%,#0A5A33 0 46px,transparent 47px) 0 0/150px 150px,#074F2C}
@media(min-width:900px){.ls-req-in{grid-template-columns:1fr 1fr;gap:40px}}
.ls-box{background:#008043;color:#F6F2EB;padding:clamp(22px,3vw,36px)}
.ls-box .script{color:#F6F2EB}
.ls-box h2{font-family:Montserrat,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1.7rem,3.4vw,2.8rem);line-height:1.1;margin:8px 0 14px}
.ls-box p:last-child{font-weight:600}
.ls-form{background:#fff;color:#1E3A2B;padding:clamp(18px,3vw,34px);box-shadow:0 30px 70px rgba(0,0,0,.3)}
.ls-form .lead label{font-family:Montserrat,sans-serif;font-weight:600;letter-spacing:.02em;text-transform:none;font-size:.85rem}
.ls-form .lead input,.ls-form .lead select,.ls-form .lead textarea{border:1px solid #C9D6CE;border-radius:4px}
