/* ===== block 1 ===== */
@font-face{font-family:'Bodoni';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bodoni-400.woff2) format('woff2')}@font-face{font-family:'Bodoni';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/bodoni-600.woff2) format('woff2')}@font-face{font-family:'Bodoni';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/bodoni-700.woff2) format('woff2')}@font-face{font-family:'Bodoni';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/bodoni-400-italic.woff2) format('woff2')}@font-face{font-family:'Caslon';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/caslon-400.woff2) format('woff2')}@font-face{font-family:'Caslon';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/caslon-700.woff2) format('woff2')}@font-face{font-family:'Caslon';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/caslon-400-italic.woff2) format('woff2')}@font-face{font-family:'Cormorant';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-500.woff2) format('woff2')}@font-face{font-family:'Cormorant';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-600.woff2) format('woff2')}@font-face{font-family:'Script';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/script-400.woff2) format('woff2')}
/* ===== block 2 ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
 --paper:#F3E9D4; --paper2:#EADCBE; --cream:#FBF5E6; --card:#F7EEDB;
 --green:#28503A; --green2:#173023; --greenL:#3E6B4E;
 --red:#A81E18; --red2:#7E1410;
 --gold:#B08A3E; --goldL:#D8BE84;
 --ink:#201C15; --mut:#6A5C46; --hair:#C9B694;
 --mx:1180px;
}
html{scroll-behavior:auto}
body{background:var(--paper);color:var(--ink);
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23g)' opacity='.055'/></svg>");
 font-family:'Caslon',Georgia,'Times New Roman',serif;
 font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--mx);margin:0 auto;padding:0 26px}
.narrow{max-width:760px;margin:0 auto}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


h1,h2,h3,h4,.dsp,.num{font-family:'Bodoni','Didot',Georgia,serif;font-weight:400;
 color:var(--green2);letter-spacing:0}
h1{font-size:clamp(40px,6vw,74px);line-height:1.02}
h2{font-size:clamp(28px,3.6vw,46px);line-height:1.1}
h3{font-size:clamp(20px,2.1vw,26px);line-height:1.2}
h4{font-size:19px;line-height:1.25}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.lede{font-size:clamp(18px,1.55vw,20.5px);line-height:1.68;color:#392F22}
.scr{font-family:'Script',cursive;color:var(--red);font-weight:400;line-height:1}
.kick{display:block;font-family:'Cormorant','Caslon',serif;font-size:14px;font-weight:600;
 letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-variant-numeric:lining-nums}
.kick.g{color:var(--greenL)}
.sm{font-size:14.5px;color:var(--mut);line-height:1.55}
em{font-style:normal}
b,strong{font-weight:700}


.orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto}
.orn::before,.orn::after{content:"";flex:1 1 0;height:0;
 border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
 padding-bottom:2px;max-width:190px}
.orn i{font-style:normal;color:var(--gold);font-size:11px;letter-spacing:.5em;
 padding-left:.5em;line-height:1}
.rule{height:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
 padding-bottom:2px;width:100%}
.dot{color:var(--gold);font-size:10px;vertical-align:2px;padding:0 .45em}


.sh{text-align:center;max-width:740px;margin:0 auto 40px}
.sh h2{margin-bottom:14px}
.sh .orn{margin-bottom:20px}
.sh p{color:#443A2B}


.hdr{position:sticky;top:0;z-index:90}
.bar{background:var(--green2);color:#E8DCC0;font-size:12.5px;letter-spacing:.03em}
.bar .wrap{display:flex;align-items:center;justify-content:center;gap:0;
 flex-wrap:wrap;height:34px;text-align:center}
.bar a{text-decoration:none}
.bar a:hover{color:#fff}
.bar .st{color:var(--gold);font-size:8px;padding:0 12px;vertical-align:3px}
.nav{background:var(--paper);border-bottom:1px solid var(--hair);
 box-shadow:0 1px 0 var(--hair),0 6px 18px rgba(32,28,21,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;
 gap:24px;height:62px}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer;flex:0 0 auto}
.brand img{height:40px;width:auto}
.brand span{font-family:'Bodoni',serif;font-size:18px;color:var(--green2);
 line-height:1;display:block}
.brand small{display:block;font-family:'Cormorant',serif;font-size:11.5px;letter-spacing:.24em;
 color:var(--mut);margin-top:3px;font-weight:600}
.navl{display:flex;align-items:center;gap:2px}
.navl a{font-family:'Caslon',serif;font-size:12px;font-weight:700;letter-spacing:.085em;
 text-transform:uppercase;color:var(--green2);text-decoration:none;
 padding:9px 12px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;font-variant-numeric:lining-nums}
.navl a:hover{color:var(--red)}
.navl a.cur{color:var(--red);border-bottom-color:var(--red)}


.pg{display:none}
.pg.on{display:block}
section{padding:74px 0}
section.tight{padding:52px 0}
.pap2{background:var(--paper2);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23g)' opacity='.055'/></svg>")}
.crm{background:var(--cream);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23g)' opacity='.055'/></svg>")}
.grn{background:var(--green2);color:#EFE6D2}
.grn h2,.grn h3,.grn h4{color:var(--cream)}
.grn .kick{color:var(--goldL)}
.grn .sm{color:#B9AB8C}
.grn .sh p,.grn .lede,.grn p{color:#DCD1B6}
.grn .feat p,.grn .cell p{color:#CFC2A4}
.grn .note{border-color:#6E7F6C}
.grn .note p{color:#D6CBAF}
.grn .note .nk{color:var(--goldL)}
.grn .fld label{color:#B4A684}
.grn .grid,.grn .grid>.cell{border-color:#4A5B4C}
.grn .line{border-color:#4A5B4C}
.grn .line .nm{color:var(--cream)}
.grn .line .ds{color:#A99B7C}
.grn .line .pc{color:var(--goldL)}
.grn .orn::before,.grn .orn::after{border-color:#4A5B4C}
.grn .rule{border-color:#4A5B4C}


.hero{position:relative;text-align:center;padding:0}
.hero .im{height:min(74vh,620px);background-size:cover;background-position:center;
 position:relative}
.hero .im::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(23,48,35,.74),rgba(23,48,35,.52) 42%,rgba(23,48,35,.86))}
.hero .hc{position:absolute;inset:0;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:18px;padding:36px 26px;z-index:2}
.hero .lock{width:min(380px,68vw);filter:brightness(0) invert(1) drop-shadow(0 3px 14px rgba(0,0,0,.4))}
.hero .scr{font-size:clamp(30px,4.4vw,52px);color:#F0C9A0;
 text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero .est{font-family:'Cormorant',serif;font-size:14.5px;font-weight:600;letter-spacing:.3em;
 text-transform:uppercase;color:#DCCFAE;padding-left:.3em;font-variant-numeric:lining-nums}


.phero{position:relative;background-size:cover;background-position:center;
 min-height:390px;display:flex;align-items:center;justify-content:center;
 text-align:center;padding:70px 26px}
.phero::before{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(23,48,35,.72),rgba(23,48,35,.55))}
.phero>div{position:relative;z-index:2;max-width:720px}
.phero h1,.phero h2{color:var(--cream)}
.phero .kick{color:var(--goldL)}
.phero p{color:#E0D6BE;font-size:18.5px;line-height:1.62;margin-top:16px}
.phero .orn{margin:18px auto 0;max-width:320px}
.phero .orn::before,.phero .orn::after{border-color:rgba(216,190,132,.5)}


.bleed{height:clamp(240px,34vw,420px);background-size:cover;background-position:center}
.figrow{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.figrow .f{height:clamp(200px,26vw,330px);background-size:cover;background-position:center}
.fig3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.fig3 .f{height:clamp(180px,22vw,290px);background-size:cover;background-position:center}


.grid{display:grid;gap:0;border-top:1px solid var(--hair)}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.grid>.cell{padding:30px 30px;border-bottom:1px solid var(--hair);
 border-right:1px solid var(--hair);text-align:center;
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px}
.grid.g2>.cell:nth-child(2n),.grid.g3>.cell:nth-child(3n){border-right:0}
.grid>.cell:last-child:nth-child(3n-1){border-right:0}
.cell h4{margin:0}
.cell p{margin:0;color:#443A2B;font-size:16px;line-height:1.58}
.cell .pr{font-family:'Bodoni',serif;font-size:15px;color:var(--red);letter-spacing:.02em}

.feat{text-align:center;max-width:700px;margin:0 auto;padding:34px 26px 0}
.feat h3{margin-bottom:8px}
.feat .pr{display:block;font-family:'Cormorant',serif;font-size:14px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:14px;font-variant-numeric:lining-nums}
.feat p{color:#443A2B}


.facts{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;
 border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.facts div{padding:26px 12px;border-right:1px solid var(--hair)}
.facts div:last-child{border-right:0}
.facts .num{display:block;font-size:clamp(30px,3.6vw,44px);line-height:1;color:var(--red)}
.facts .lb{display:block;font-family:'Cormorant',serif;font-size:14px;font-weight:600;
 letter-spacing:.19em;text-transform:uppercase;color:var(--mut);margin-top:9px;font-variant-numeric:lining-nums}
.grn .facts{border-color:#4A5B4C}
.grn .facts div{border-color:#4A5B4C}
.grn .facts .num{color:var(--goldL)}
.grn .facts .lb{color:#A99B7C}


.lines{max-width:760px;margin:0 auto}
.line{display:flex;align-items:baseline;gap:10px;padding:12px 0;
 border-bottom:1px dotted var(--hair)}
.line:last-child{border-bottom:0}
.line .nm{font-family:'Bodoni',serif;font-size:19.5px;font-weight:600;
 color:var(--green2);white-space:nowrap}
.line .ds{flex:1 1 auto;font-size:15.5px;color:var(--mut);
 line-height:1.45}
.line .pc{font-family:'Bodoni',serif;font-size:18.5px;font-weight:600;color:var(--red)}
.mcat{text-align:center;margin:46px 0 20px;
 display:flex;align-items:center;justify-content:center;gap:16px}
.mcat::before,.mcat::after{content:"";flex:1 1 0;max-width:130px;height:0;
 border-top:1px solid var(--gold);opacity:.6}
.mcat .t{font-family:'Cormorant',serif;font-size:23px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--green);
 white-space:nowrap;padding-left:.2em;font-variant-numeric:lining-nums}


.mtabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:0 auto 0;max-width:680px;
 border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.mt{font-family:'Cormorant',serif;font-size:15px;font-weight:600;letter-spacing:.19em;
 text-transform:uppercase;color:var(--mut);background:none;border:0;cursor:pointer;
 padding:14px 20px;border-right:1px solid var(--hair);font-variant-numeric:lining-nums}
.mt:last-child{border-right:0}
.mt.on{color:var(--red)}
.mt:hover{color:var(--green2)}
.mpane{display:none}
.mpane.on{display:block}


.sheet{max-width:840px;margin:0 auto;position:relative;
 background:var(--cream);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23g)' opacity='.055'/></svg>");
 border:3px double var(--green);padding:9px;
 box-shadow:0 2px 26px rgba(32,28,21,.09)}
.sheet .in{border:1px solid var(--gold);
 padding:clamp(34px,4.6vw,64px) clamp(24px,4.4vw,64px)}
.sheet .top{text-align:center;margin-bottom:6px}
.sheet .mark{display:block;width:120px;margin:0 auto 18px;opacity:.8}
.sheet .rist{display:block;font-family:'Cormorant',serif;font-size:13px;font-weight:600;
 letter-spacing:.42em;text-transform:uppercase;color:var(--green);margin-bottom:14px;
 padding-left:.42em;font-variant-numeric:lining-nums}
.sheet .top h2{font-size:clamp(34px,4.6vw,54px);font-weight:600;margin-bottom:6px}
.sheet .top .sub{display:block;font-family:'Caslon',serif;
 font-size:15px;color:var(--mut)}
.sheet .dbl{height:0;margin:22px auto 0;max-width:100%;
 border-top:3px double var(--green);opacity:.55}
.sheet .foot{text-align:center;margin-top:40px}
.sheet .foot .orn{max-width:260px;margin:0 auto 14px}
.flr{display:block;text-align:center;color:var(--gold);font-size:15px;line-height:1;
 margin:0 auto}


.pull{text-align:center;max-width:820px;margin:0 auto}
.pull q{font-family:'Bodoni',serif;font-size:clamp(24px,3vw,36px);
 line-height:1.32;color:var(--green2);quotes:none;display:block}
.pull .by{display:block;margin-top:22px;font-family:'Cormorant',serif;font-size:14px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);font-variant-numeric:lining-nums}
.grn .pull q{color:var(--cream)}
.grn .pull .by{color:var(--goldL)}


.essay{max-width:680px;margin:0 auto;font-size:17.5px;line-height:1.75}
.essay p+p{margin-top:1.05em}
.essay .dc::first-letter{font-family:'Bodoni',serif;font-size:66px;line-height:.82;
 float:left;padding:6px 12px 0 0;color:var(--red)}


.badge{width:min(310px,60vw);margin:0 auto}
.annum{font-family:'Bodoni',serif;font-size:clamp(66px,11vw,140px);line-height:.86;
 color:var(--red);text-align:center}
.anrange{text-align:center;font-family:'Caslon',serif;font-size:12px;font-weight:700;
 letter-spacing:.32em;color:var(--mut);margin-top:14px}


.note{max-width:660px;margin:34px auto 0;text-align:center;
 padding:14px 4px;border-top:1px solid var(--goldL);border-bottom:1px solid var(--goldL)}
.note .nk{display:block;font-family:'Cormorant',serif;font-size:13px;font-weight:600;
 letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-variant-numeric:lining-nums}
.note p{font-size:15px;line-height:1.55;color:#4E4230;margin:0}


.btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;font-family:'Cormorant',serif;font-size:15px;font-weight:600;
 letter-spacing:.19em;text-transform:uppercase;text-decoration:none;cursor:pointer;
 padding:14px 30px;border:1px solid var(--green2);color:var(--green2);background:none;
 transition:background .15s,color .15s;font-variant-numeric:lining-nums}
.btn:hover{background:var(--green2);color:var(--cream)}
.btn.red{border-color:var(--red);color:var(--red)}
.btn.red:hover{background:var(--red);color:var(--cream)}
.btn.lt{border-color:var(--goldL);color:var(--goldL)}
.btn.lt:hover{background:var(--goldL);color:var(--green2)}


.form{max-width:760px;margin:0 auto}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{margin-bottom:18px;text-align:left}
.fld label{display:block;font-family:'Cormorant',serif;font-size:13.5px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:7px;font-variant-numeric:lining-nums}
.fld input,.fld select,.fld textarea{width:100%;font-family:'Caslon',serif;font-size:16px;
 color:var(--ink);background:var(--cream);border:1px solid var(--hair);
 padding:12px 14px;border-radius:0;-webkit-appearance:none;appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),
 linear-gradient(135deg,var(--mut) 50%,transparent 50%);
 background-position:calc(100% - 20px) 20px,calc(100% - 14px) 20px;
 background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.fld textarea{min-height:120px;resize:vertical;line-height:1.55}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--green);
 box-shadow:0 0 0 2px rgba(40,80,58,.12)}
.fnote{text-align:center;margin-top:6px}


.hrs{max-width:560px;margin:0 auto}
.hrs .r{display:flex;justify-content:space-between;align-items:baseline;
 padding:12px 0;border-bottom:1px dotted var(--hair)}
.hrs .r:last-child{border-bottom:0}
.hrs .d{font-family:'Cormorant',serif;font-size:15px;font-weight:600;letter-spacing:.19em;
 text-transform:uppercase;color:var(--mut);font-variant-numeric:lining-nums}
.hrs .t{font-family:'Bodoni',serif;font-size:20px;color:var(--green2)}


.foot{background:var(--green2);color:#B9AB8C;text-align:center;padding:56px 0 44px}
.foot .scr{font-size:36px;color:#E8B98D;display:block;margin-bottom:22px}
.foot .fl{font-family:'Caslon',serif;font-size:13px;letter-spacing:.05em;color:#CFC2A4}
.foot .fl a{text-decoration:none}
.foot .fl a:hover{color:#fff}
.foot .st{color:var(--gold);font-size:8px;padding:0 10px;vertical-align:3px}
.foot .fs{font-family:'Cormorant',serif;font-size:14px;font-weight:600;letter-spacing:.22em;
 text-transform:uppercase;color:#8E8064;margin-top:16px;padding-left:.22em;font-variant-numeric:lining-nums}
.foot .orn{max-width:420px;margin:24px auto}
.foot .orn::before,.foot .orn::after{border-color:#3A4B3C}


@media(max-width:900px){
 .hs{display:none}
 .bar{font-size:11.5px}
 .bar .wrap{height:28px;padding:0 14px}
 .bar .st{padding:0 9px}
 .nav .wrap{height:auto;gap:0;padding:6px 10px;align-items:center}
 .brand{display:none}
 .navl{flex:1 1 100%;flex-wrap:wrap;justify-content:center;row-gap:0}
 .navl a{padding:5px 8px;font-size:11px;letter-spacing:.05em}
 .facts{grid-template-columns:1fr 1fr}
 .facts div:nth-child(2n){border-right:0}
 .facts div:nth-child(-n+2){border-bottom:1px solid var(--hair)}
 .fig3{grid-template-columns:1fr}
 section{padding:56px 0}
}
@media(max-width:680px){
 body{font-size:16.5px}
 .grid.g2,.grid.g3{grid-template-columns:1fr}
 .grid>.cell{border-right:0}
 .figrow{grid-template-columns:1fr}
 .frow{grid-template-columns:1fr;gap:0}
 .line{flex-wrap:wrap;gap:6px}
 .line .ds{flex-basis:100%;order:3}
 .bar .st{padding:0 7px}
 .hero .im{height:min(66vh,500px)}
}
/* ===== block 3 ===== */
.bg-ALCOVE2{background-image:url('../img/alcove2.jpg')}.bg-BALL{background-image:url('../img/ball.jpg')}.bg-BARMURAL{background-image:url('../img/barmural.jpg')}.bg-BARWIDE{background-image:url('../img/barwide.jpg')}.bg-BRUSSELS{background-image:url('../img/brussels.jpg')}.bg-BURGER{background-image:url('../img/burger.jpg')}.bg-COURTIN{background-image:url('../img/courtin.jpg')}.bg-COURTIN2{background-image:url('../img/courtin2.jpg')}.bg-COURTIN3{background-image:url('../img/courtin3.jpg')}.bg-CROWD{background-image:url('../img/crowd.jpg')}.bg-CROWD2{background-image:url('../img/crowd2.jpg')}.bg-DRINKS{background-image:url('../img/drinks.jpg')}.bg-EXTERIOR{background-image:url('../img/exterior.jpg')}.bg-FAMTABLE{background-image:url('../img/famtable.jpg')}.bg-OUTCOURT{background-image:url('../img/outcourt.jpg')}.bg-PATIO{background-image:url('../img/patio.jpg')}.bg-SALMON{background-image:url('../img/salmon.jpg')}.bg-COMMUNITY{background-image:url('../img/community.jpg')}.bg-HALL{background-image:url('../img/hall.jpg')}.bg-PLAYER{background-image:url('../img/player.jpg')}.bg-IGCOURTS{background-image:url('../img/igcourts.jpg')}.bg-FISHCHIPS{background-image:url('../img/fishchips.jpg')}.bg-IGBALL2{background-image:url('../img/igball2.jpg')}.bg-IGFISH{background-image:url('../img/igfish.jpg')}.bg-IGPATIO2{background-image:url('../img/igpatio2.jpg')}.bg-IGSIGN{background-image:url('../img/igsign.jpg')}.bg-IGTROPHY{background-image:url('../img/igtrophy.jpg')}.bg-SPRITZ{background-image:url('../img/spritz.jpg')}.bg-TUSCANROOM{background-image:url('../img/tuscanroom.jpg')}
/* ===== block 4 ===== */
i,em,cite,address,q,blockquote{font-style:normal}
/* hero overlay - dim photography for legibility */
.phero::before{background:linear-gradient(180deg,rgba(20,42,30,.86),rgba(20,42,30,.72))!important}
.hero .im::after{content:"";position:absolute;inset:0;background:rgba(20,42,30,.22)}
/* nav dropdowns */
.nd{position:relative;display:inline-block}
.ndm{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
 min-width:186px;background:var(--paper);border:1px solid var(--hair);
 border-top:2px solid var(--red);box-shadow:0 14px 30px rgba(26,23,18,.13);
 padding:6px 0;z-index:60}
.nd:hover .ndm,.nd:focus-within .ndm{display:block}
.ndm a{display:block;padding:11px 20px;font-family:'Caslon',serif;font-size:11.5px;
 font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink);
 cursor:pointer;border-bottom:1px solid var(--hair);white-space:nowrap;font-variant-numeric:lining-nums}
.ndm a:last-child{border-bottom:0}
.ndm a:hover{color:var(--red)}
.nd>a .car{font-size:8px;opacity:.55;margin-left:4px;vertical-align:2px}
/* menu pdf cards */
.mcards{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:820px;margin:0 auto}
.mcard{text-align:center}
.mcard .mthumb{display:block;cursor:pointer;border:1px solid var(--hair);
 box-shadow:0 16px 34px rgba(26,23,18,.14);transition:transform .25s ease,box-shadow .25s ease;
 background:#fff}
.mcard .mthumb:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(26,23,18,.2)}
.mcard .mthumb img{display:block;width:100%;height:auto}
.mcard h4{margin-top:22px}
.mcard .btns{margin-top:16px}
/* film */
.film{max-width:880px;margin:0 auto}
.film.yt{position:relative;padding-bottom:56.25%;height:0;border:1px solid var(--hair);
 box-shadow:0 18px 40px rgba(26,23,18,.16);background:#000}
.film.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
/* click-to-play facade */
.ytf{position:relative;padding-bottom:56.25%;height:0;cursor:pointer;overflow:hidden;
 border:1px solid var(--hair);box-shadow:0 18px 40px rgba(26,23,18,.16);background:#111}
.ytf-im{position:absolute;inset:0;background-size:cover;background-position:center;
 transition:transform .6s ease}
.ytf::after{content:"";position:absolute;inset:0;background:rgba(20,42,30,.34);
 transition:background .3s ease}
.ytf:hover .ytf-im{transform:scale(1.03)}
.ytf:hover::after{background:rgba(20,42,30,.2)}
.ytf-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;
 width:84px;height:84px;border-radius:50%;background:rgba(250,245,232,.94);
 border:1px solid rgba(176,138,62,.6);display:flex;align-items:center;justify-content:center;
 transition:transform .3s ease,background .3s ease}
.ytf:hover .ytf-btn{transform:translate(-50%,-50%) scale(1.07);background:#FBF5E6}
.ytf-btn span{display:block;width:0;height:0;margin-left:6px;
 border-left:22px solid var(--red);border-top:14px solid transparent;
 border-bottom:14px solid transparent}
.ytf-alt{text-align:center;margin-top:16px;font-size:13.5px}
.ytf-alt a{color:var(--red);border-bottom:1px solid var(--gold);padding-bottom:2px}
.ytf iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:4}
.film video{display:block;width:100%;height:auto;border:1px solid var(--hair);
 box-shadow:0 18px 40px rgba(26,23,18,.16);background:#000}
/* bocce subnav */
.subnav{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:36px}
.subnav a{font-family:'Caslon',serif;font-size:12px;font-weight:700;letter-spacing:.14em;
 text-transform:uppercase;color:var(--ink);cursor:pointer;border-bottom:2px solid transparent;
 padding-bottom:3px;font-variant-numeric:lining-nums}
.subnav a:hover{color:var(--red);border-bottom-color:var(--red)}
.subnav .st{color:var(--gold);font-size:9px}
/* league resources */
.rcols{display:grid;grid-template-columns:1fr 1fr;gap:64px 78px;max-width:1060px;margin:0 auto}
.rch{font-family:'Caslon',serif;font-weight:400;font-size:40px;line-height:1.1;
 color:var(--green);text-align:center;letter-spacing:.005em}
.rcol .orn{margin-bottom:34px}
.rgroup{margin-bottom:38px}
.rgroup:last-child{margin-bottom:0}
.rgl{display:block;font-family:'Caslon',serif;font-size:11px;font-weight:700;letter-spacing:.2em;
 text-transform:uppercase;color:var(--red);margin-bottom:4px;padding-bottom:9px;
 border-bottom:1px solid var(--gold);font-variant-numeric:lining-nums}
.reslist{display:block}
a.res{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:16px;
 padding:15px 2px 14px;border-bottom:1px solid var(--hair);text-decoration:none;
 transition:padding-left .25s ease}
a.res:last-child{border-bottom:0}
a.res .rt{font-family:'Caslon',serif;font-size:13px;font-weight:700;letter-spacing:.135em;
 text-transform:uppercase;color:var(--ink);transition:color .2s ease;font-variant-numeric:lining-nums}
a.res .rd{grid-column:1;font-size:13.5px;line-height:1.5;color:var(--mut);margin-top:4px}
a.res .ra{grid-column:2;grid-row:1;font-size:15px;color:var(--gold);
 transition:transform .25s ease,color .2s ease}
a.res:hover{padding-left:9px}
a.res:hover .rt{color:var(--red)}
a.res:hover .ra{transform:translateX(6px);color:var(--red)}
@media(max-width:880px){
 .rcols{grid-template-columns:1fr;gap:52px}
 .rch{font-size:33px}
 a.res{padding:17px 2px 16px}
 a.res .rd{font-size:14px}
}
/* ---- league guide (editorial, no components) ---- */
.lgwrap{max-width:1140px;margin:0 auto;padding:0 26px}
.lghead{text-align:center;max-width:620px;margin:0 auto;padding:76px 0 0}
.lghead h1{font-family:'Caslon',serif;font-weight:400;font-size:clamp(34px,3.5vw,45px);
 line-height:1.06;color:var(--green);letter-spacing:-.008em;margin:0}
.lghead .sub{font-family:'Cormorant',serif;font-size:23px;color:var(--gold);
 margin-top:10px;letter-spacing:.005em}
.lghead p{font-size:16px;line-height:1.7;color:var(--mut);margin-top:20px}
.lgrule{max-width:1140px;margin:58px auto 0;padding:0 26px}
.lgrule i{display:block;height:1px;background:var(--gold);opacity:.5}
.lgcols{display:grid;grid-template-columns:55fr 45fr;gap:0 96px;
 max-width:1140px;margin:0 auto;padding:62px 26px 0}
.lgcol.b{padding-top:34px}
.lgcol h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:31px;line-height:1.1;
 color:var(--green);margin:0 0 32px;letter-spacing:-.004em}
.lgsec{margin-bottom:34px}
.lgsec.sp{margin-top:52px}
.lgsec:last-child{margin-bottom:0}
.lglabel{display:block;font-family:'Cormorant',serif;font-size:13px;font-weight:600;
 letter-spacing:.13em;text-transform:uppercase;color:#8A7A5E;margin-bottom:16px;font-variant-numeric:lining-nums}
.lglabel.acc{color:var(--red)}
a.doc{display:block;margin-bottom:19px;text-decoration:none;cursor:pointer}
a.doc:last-child{margin-bottom:0}
a.doc .dt{display:block;font-family:'Caslon',serif;font-size:19px;line-height:1.32;
 color:var(--green);transition:color .18s ease}
a.doc .dd{display:block;font-size:13.5px;line-height:1.5;color:#8A7A5E;margin-top:3px}
a.doc:hover .dt{color:var(--red)}
.lgphoto{margin-top:44px;background-size:cover;background-position:center;
 height:clamp(200px,21vw,278px)}
.lgnote .in{border-top:1px solid var(--hair);padding-top:22px;max-width:600px}
.lgnote p{font-size:13.5px;line-height:1.62;color:#8A7A5E}
.lgnote .nk{display:block;font-family:'Cormorant',serif;font-size:12px;letter-spacing:.14em;
 text-transform:uppercase;color:var(--gold);margin-bottom:7px;font-variant-numeric:lining-nums}
.lgend{max-width:1140px;margin:0 auto;padding:64px 26px 0;text-align:center}
.lgend p{font-size:15.5px;line-height:1.7;color:var(--mut)}
.lgend a{color:var(--red);border-bottom:1px solid var(--gold);padding-bottom:2px}
@media(max-width:880px){
 .lgcols{grid-template-columns:1fr;gap:56px;padding-top:46px}
 .lgcol.b{padding-top:0}
 .lghead{padding-top:52px}
 .lgrule{margin-top:42px}
 .lgphoto{margin-top:40px;height:240px}
}
.dlcols{display:grid;grid-template-columns:1fr 1fr;gap:4px 74px;max-width:1000px;margin:0 auto}
@media(max-width:880px){.dlcols{grid-template-columns:1fr;gap:0}}
/* ---- home: photo-forward hero ---- */
.hero .im{height:min(86vh,730px)!important;min-height:480px!important}
.hero .im::after{background:linear-gradient(180deg,rgba(20,42,30,.42) 0%,rgba(20,42,30,.24) 30%,
 rgba(20,42,30,.34) 58%,rgba(20,42,30,.62) 82%,rgba(20,42,30,.84) 100%)!important}
.hero .hc{justify-content:center!important;gap:20px!important;padding-bottom:0!important}
.hero .lock{width:auto!important;max-width:min(560px,78vw)!important;max-height:46vh!important}
.hero .scr{font-size:clamp(30px,3.8vw,48px)!important}
/* ---- home: editorial intro + hours panel ---- */
.hlift{position:relative;z-index:5}
.hlift .wrap{padding-top:clamp(40px,4.5vw,60px);padding-bottom:clamp(30px,3.5vw,48px)}
.hintro{display:grid;grid-template-columns:1.35fr 1fr;gap:0 clamp(40px,5vw,76px);
 align-items:start;max-width:1220px;margin:0 auto}
.hintro>div:first-child{padding-top:26px}
.hintro .lb{display:block;font-family:'Cormorant',serif;font-size:12px;font-weight:600;
 letter-spacing:.24em;text-transform:uppercase;color:#9C8A63;margin-bottom:20px;font-variant-numeric:lining-nums}
.hintro h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(44px,5.4vw,72px);
 line-height:.98;color:var(--green);margin:0 0 18px;letter-spacing:-.014em}
.hintro .addr{font-size:14px;color:#9C8A63;letter-spacing:.02em;margin-bottom:30px;
 padding-bottom:26px;border-bottom:1px solid rgba(176,138,62,.28);max-width:330px}
.hintro p{font-size:18.5px;line-height:1.7;color:var(--ink);max-width:600px}
.hintro p+p{margin-top:14px}
.hintro .pos{font-size:15.5px;color:#8A7A5E;margin-top:22px;max-width:600px}
.hintro .acts{display:grid;grid-template-columns:repeat(2,minmax(0,auto));
 justify-content:start;gap:16px clamp(34px,5vw,72px);margin-top:38px}
.hintro .acts a{display:inline-flex;align-items:baseline;gap:10px;
 font-family:'Caslon',serif;font-size:13px;font-weight:700;letter-spacing:.15em;
 text-transform:uppercase;color:var(--ink);cursor:pointer;transition:color .2s ease;font-variant-numeric:lining-nums}
.hintro .acts a .ar{color:var(--red);font-size:14px;transition:transform .28s ease}
.hintro .acts a:hover{color:var(--red)}
.hintro .acts a:hover .ar{transform:translateX(5px)}
.hrs2{position:relative;z-index:6;background:var(--green2);
 padding:clamp(32px,3.4vw,44px) clamp(30px,3.4vw,46px) clamp(28px,3vw,38px);
 color:#E6DCC2;margin-top:-70px}
.hrs2 h3{font-family:'Cormorant',serif;font-weight:600;font-size:12px;letter-spacing:.28em;
 text-transform:uppercase;color:var(--goldL);margin:0;font-variant-numeric:lining-nums}
.hrs2 .cap{display:block;font-family:'Caslon',serif;font-size:26px;letter-spacing:-.004em;
 text-transform:none;color:var(--cream);margin:10px 0 24px}
.hrs2 .r{display:grid;grid-template-columns:minmax(0,1fr) auto;
 column-gap:14px;align-items:baseline;
 padding:9px 0;border-bottom:1px solid rgba(216,190,132,.16)}
.hrs2 .r:last-of-type{border-bottom:0;padding-bottom:2px}
.hrs2 .r .d{display:block;font-family:'Cormorant',serif;font-size:12.5px;font-weight:600;
 letter-spacing:.22em;text-transform:uppercase;color:#9C9378;margin-bottom:5px;font-variant-numeric:lining-nums}
.hrs2 .r .t{display:block;font-family:'Caslon',serif;font-size:15px;color:var(--cream);white-space:nowrap;text-align:right;min-width:66px;
 letter-spacing:.01em}
.hrs2 .fine{font-size:12.5px;line-height:1.66;color:#8F876F;margin-top:20px;
 padding-top:20px;border-top:1px solid rgba(216,190,132,.16)}
.hrs2 .tel{display:block;margin-top:20px;padding-top:18px;
 border-top:1px solid rgba(216,190,132,.16);font-family:'Caslon',serif;font-size:19px;
 letter-spacing:.06em;color:var(--goldL);transition:color .2s ease}
.hrs2 .tel:hover{color:var(--cream)}
.hrs2 .tel .lbl{display:block;font-family:'Cormorant',serif;font-size:11px;font-weight:600;
 letter-spacing:.22em;text-transform:uppercase;color:#8F876F;margin-bottom:7px;font-variant-numeric:lining-nums}
@media(max-height:760px) and (min-width:981px){
 .hrs2{margin-top:-20px}
}
@media(max-width:980px){
 .hintro{grid-template-columns:1fr;gap:44px}
 .hlift{margin-top:0}
 .hlift .wrap{padding-top:0}
 .hrs2{margin-top:0;z-index:1}
 .hintro .addr,.hintro .acts{max-width:none}
 .hero .im{height:min(72vh,560px)!important}
 .hero .lock{width:min(340px,74vw)!important}
}
/* ---- anniversary (quiet, asymmetric) ---- */
.anniv{display:grid;grid-template-columns:auto 1fr;gap:0 46px;align-items:center;
 max-width:830px;margin:0 auto}
.anniv .am{width:clamp(120px,13vw,168px);height:auto;opacity:.88}
.anniv .at .lb{display:block;font-family:'Cormorant',serif;font-size:12.5px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-variant-numeric:lining-nums}
.anniv .at h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(30px,3.3vw,42px);
 line-height:1.06;color:var(--green);margin:0 0 12px}
.anniv .at p{font-size:16.5px;line-height:1.66;color:var(--mut)}
@media(max-width:760px){
 .anniv{grid-template-columns:1fr;gap:24px;text-align:left}
 .anniv .am{width:120px}
}
/* ---- careers ---- */
.carwrap{position:relative;max-width:1280px;margin:0 auto;min-height:clamp(360px,38vw,470px)}
.carimg{position:absolute;right:0;top:0;bottom:0;width:66%;background-size:cover;
 background-position:center}
.carpanel{position:relative;z-index:2;width:min(470px,54%);background:var(--green2);
 color:#E6DCC2;padding:44px 42px 40px;margin-top:clamp(48px,7vw,90px)}
.carpanel .lb{display:block;font-family:'Cormorant',serif;font-size:12.5px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--goldL);margin-bottom:14px;font-variant-numeric:lining-nums}
.carpanel h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(28px,3.1vw,38px);
 line-height:1.1;color:var(--cream);margin:0 0 14px}
.carpanel p{font-size:15.5px;line-height:1.66;color:#CFC4A6;margin-bottom:22px}
.carroles{border-top:1px solid rgba(216,190,132,.2);padding-top:18px}
.carroles a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
 padding:13px 0;border-bottom:1px solid rgba(216,190,132,.2);cursor:pointer;
 transition:padding-left .25s ease}
.carroles a:last-child{border-bottom:0}
.carroles a:hover{padding-left:7px}
.carroles .n{font-family:'Caslon',serif;font-size:16px;color:var(--cream);
 transition:color .2s ease}
.carroles a:hover .n{color:var(--goldL)}
.carroles .m{font-size:12.5px;color:#9C9378;white-space:nowrap}
.carfoot{margin-top:22px;font-size:13.5px;color:#9C9378}
.carfoot a{color:var(--goldL);border-bottom:1px solid rgba(216,190,132,.4);padding-bottom:2px}
@media(max-width:980px){
 .carwrap{min-height:0}
 .carimg{position:relative;width:100%;height:240px}
 .carpanel{width:100%;margin-top:0}
}
/* ---- map with logo pin ---- */
.mapwrap{position:relative;width:100%;height:clamp(340px,44vw,520px);overflow:hidden;
 background:var(--paper2)}
.mapfb{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px}
.mapfb .a{font-family:'Caslon',serif;font-size:clamp(20px,2.4vw,28px);color:var(--green)}
.mapfb .b{font-size:14px;color:#8A7A5E;letter-spacing:.04em}
.mapwrap iframe{z-index:2}
.mapwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;
 filter:saturate(.62) contrast(.96);pointer-events:none}
.mappin{position:absolute;top:50%;left:50%;transform:translate(-50%,-84%);z-index:3;
 width:74px;height:74px;pointer-events:none;
 filter:drop-shadow(0 6px 14px rgba(26,23,18,.42))}
.mappin img{width:100%;height:100%;object-fit:contain;display:block}
.mapbar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;justify-content:center;
 padding:22px}
.mapbar a{background:var(--green2);color:#EFE6D2;font-family:'Caslon',serif;font-size:11.5px;
 font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:15px 30px;
 border:1px solid rgba(216,190,132,.4);transition:background .25s ease,color .25s ease;font-variant-numeric:lining-nums}
.mapbar a:hover{background:var(--red);border-color:var(--red);color:#FBF5E6}
/* ---- instagram grid ---- */
.igwrap{max-width:1220px;margin:0 auto}
.ighead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
 margin-bottom:26px;flex-wrap:wrap}
.ighead h2{margin:0}
.ighead a{font-family:'Caslon',serif;font-size:12px;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--gold);padding-bottom:4px;font-variant-numeric:lining-nums}
.ighead a:hover{color:var(--green);border-bottom-color:var(--green)}
.iggrid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.igtile{position:relative;padding-bottom:100%;overflow:hidden;display:block;background:var(--paper2)}
.igtile i{position:absolute;inset:0;background-size:cover;background-position:center;
 transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.igtile::after{content:"";position:absolute;inset:0;background:rgba(20,42,30,0);
 transition:background .35s ease}
.igtile:hover i{transform:scale(1.07)}
.igtile:hover::after{background:rgba(20,42,30,.26)}
@media(max-width:980px){.iggrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.iggrid{grid-template-columns:repeat(2,1fr)}}
/* ---- green band: slow ambient drift ---- */
.grn{position:relative;overflow:hidden;isolation:isolate}
.grn::before{content:"";position:absolute;inset:-30% -15%;z-index:0;pointer-events:none;
 background:
  radial-gradient(46% 58% at 22% 38%, rgba(120,168,132,.20) 0%, rgba(120,168,132,0) 62%),
  radial-gradient(40% 52% at 74% 66%, rgba(176,138,62,.16) 0%, rgba(176,138,62,0) 64%),
  radial-gradient(34% 44% at 52% 18%, rgba(216,190,132,.09) 0%, rgba(216,190,132,0) 66%);
 animation:grnDrift 34s ease-in-out infinite alternate;will-change:transform}
/* The sheen animated background-position, which repaints the whole panel every
   frame - the events panel is 1366x1432, so that cost 80-115ms frames while
   scrolling. Same sweep, carried by a composited transform: no repaint. */
.grn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;
 z-index:0;pointer-events:none;
 background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(240,230,205,.055) 50%,
  rgba(255,255,255,0) 100%);
 animation:grnSheen 19s linear infinite;will-change:transform}
.grn>*{position:relative;z-index:1}
@keyframes grnDrift{
 0%{transform:translate3d(-3%,-2%,0) scale(1.03)}
 50%{transform:translate3d(2.5%,2%,0) scale(1.07)}
 100%{transform:translate3d(-1.5%,3%,0) scale(1.03)}
}
@keyframes grnSheen{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(282%,0,0)}}
@media(prefers-reduced-motion:reduce){
 .grn::before,.grn::after{animation:none}
}
/* ---- scroll reveal ---- */
.rv{opacity:0;transform:translateY(22px);
 transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.09s}.rv.d2{transition-delay:.18s}.rv.d3{transition-delay:.27s}
.itimg.rv{transform:translateY(28px) scale(1.015)}
.itimg.rv.in{transform:none}
@media(prefers-reduced-motion:reduce){
 .rv,.itimg.rv{opacity:1!important;transform:none!important;transition:none!important}
}
/* eyebrow + editorial block spacing (nobu-style rhythm) */
.it .ittx .lb{color:var(--red)}
.itwide{max-width:1220px;margin:0 auto}
/* ---- editorial layouts (bocce) ---- */
.heronav{position:relative;margin-top:-30px;z-index:5;display:flex;justify-content:center}
.heronav .in{display:flex;align-items:center;gap:0;background:var(--green2);
 border:1px solid rgba(216,190,132,.34);padding:0 6px}
.heronav a{font-family:'Caslon',serif;font-size:11.5px;font-weight:700;letter-spacing:.2em;
 text-transform:uppercase;color:#E6DCC2;cursor:pointer;padding:16px 26px;
 transition:color .2s ease;font-variant-numeric:lining-nums}
.heronav a:hover{color:var(--goldL)}
.heronav .sep{color:rgba(216,190,132,.45);font-size:8px}
/* two-column editorial */
.ed2{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px 74px;align-items:start;
 max-width:1080px;margin:0 auto}
.ed2 h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(38px,4.4vw,58px);
 line-height:1.04;color:var(--green);letter-spacing:-.006em;margin:0}
.ed2 .rt{font-size:18px;line-height:1.68;color:var(--ink)}
.ed2 .rt p+p{margin-top:15px}
.ed2 .orn{margin:0 0 20px;max-width:150px}
.ed2 .orn::before,.ed2 .orn::after{flex:1}
/* image + text */
.it{display:grid;grid-template-columns:1.62fr 1fr;gap:0 58px;align-items:center;
 max-width:1220px;margin:0 auto}
.it.rev{grid-template-columns:1fr 1.62fr}
.it.rev .itimg{order:2}
.it.rev .ittx{order:1}
.itimg{background-size:cover;background-position:center;min-height:clamp(330px,42vw,540px)}
.ittx h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(32px,3.5vw,46px);
 line-height:1.08;color:var(--green);margin:0 0 6px;letter-spacing:-.004em}
.ittx .lb{display:block;font-family:'Caslon',serif;font-size:11px;font-weight:700;
 letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:13px;font-variant-numeric:lining-nums}
.ittx .st3{font-family:'Cormorant',serif;font-size:21px;color:var(--gold);
 line-height:1.42;margin:0 0 16px}
.ittx p{font-size:16.5px;line-height:1.66;color:var(--mut)}
.ittx p+p{margin-top:13px}
/* text link with arrow */
a.tl{display:inline-block;margin-top:22px;font-family:'Caslon',serif;font-size:12px;
 font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);
 cursor:pointer;border-bottom:1px solid var(--gold);padding-bottom:5px;font-variant-numeric:lining-nums}
a.tl .ar{display:inline-block;margin-left:9px;transition:transform .25s ease}
a.tl:hover .ar{transform:translateX(6px)}
/* full-width visual CTA */
.vcta{position:relative;background-size:cover;background-position:center;
 min-height:clamp(360px,40vw,480px);display:flex;align-items:center}
.vcta::before{content:"";position:absolute;inset:0;
 background:linear-gradient(90deg,rgba(20,42,30,.9) 0%,rgba(20,42,30,.72) 46%,rgba(20,42,30,.34) 100%)}
.vcta .in{position:relative;z-index:2;max-width:var(--mx);margin:0 auto;padding:0 26px;width:100%}
.vcta .lb{display:block;font-family:'Caslon',serif;font-size:11.5px;font-weight:700;
 letter-spacing:.24em;text-transform:uppercase;color:var(--goldL);margin-bottom:12px;font-variant-numeric:lining-nums}
.vcta h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(40px,5vw,64px);
 line-height:1.02;color:var(--cream);margin:0 0 10px}
.vcta .pr2{font-family:'Cormorant',serif;font-size:24px;color:var(--goldL);
 display:block;margin-bottom:20px}
.vcta p{color:#DFD5BC;font-size:17px;line-height:1.6;max-width:430px}
/* three-column with rules */
.tri{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto}
.tri>div{padding:10px 42px}
.tri>div+div{border-left:1px solid var(--hair)}
.tri h4{font-family:'Caslon',serif;font-size:13px;font-weight:700;letter-spacing:.2em;
 text-transform:uppercase;color:var(--red);margin-bottom:16px;font-variant-numeric:lining-nums}
.tri .pr{display:block;font-family:'Caslon',serif;font-size:23px;color:var(--green);
 margin-bottom:10px;letter-spacing:-.002em}
.tri p{font-size:17px;line-height:1.66;color:var(--mut)}
/* left-aligned section head */
.lh{max-width:1080px;margin:0 auto 44px}
.lh .lb{display:block;font-family:'Caslon',serif;font-size:11px;font-weight:700;
 letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-variant-numeric:lining-nums}
.lh h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(34px,4vw,52px);
 line-height:1.05;color:var(--green);margin:0;letter-spacing:-.005em}
.lh .sub{font-size:17px;line-height:1.65;color:var(--mut);margin-top:14px;max-width:620px}
@media(max-width:980px){
 .ed2{grid-template-columns:1fr;gap:20px}
 .it,.it.rev{grid-template-columns:1fr;gap:0}
 .it .itimg,.it.rev .itimg{order:1;min-height:290px;margin-bottom:30px}
 .it .ittx,.it.rev .ittx{order:2;padding:0 4px}
 .tri{grid-template-columns:1fr}
 .tri>div{padding:22px 4px}
 .tri>div+div{border-left:0;border-top:1px solid var(--hair)}
 .vcta::before{background:linear-gradient(180deg,rgba(20,42,30,.82),rgba(20,42,30,.86))}
 .heronav{margin-top:0}
 .heronav .in{flex-wrap:wrap;justify-content:center}
 .heronav a{padding:13px 16px;font-size:10.5px;letter-spacing:.14em}
}
@media(max-width:880px){
 .ndm{display:none !important}
 .mcards{grid-template-columns:1fr;max-width:400px;gap:34px}
 .subnav{flex-wrap:wrap;gap:10px 14px}
}

/* ---- consistency layer: one eyebrow system ---- */
.kick,.lb,.lbl,.lglabel,.nk,.tri h4,.hrs2 h3,.facts .lb{
 font-family:'Cormorant',serif!important;font-weight:600!important;
 font-size:12.5px!important;letter-spacing:.22em!important;
 text-transform:uppercase!important;color:var(--ink)!important;line-height:1.5;font-variant-numeric:lining-nums}
.grn .kick,.grn .lb,.grn .nk,.grn .facts .lb,
.phero .kick,.hrs2 h3,.hrs2 .lbl,.carpanel .lb,.vcta .lb{
 color:var(--goldL)!important}
/* ---- pro pass: one editorial voice ---- */
/* section heads: left-aligned, muted label, no ornament */
.sh{text-align:left!important;max-width:none!important;margin:0 0 38px!important}
.sh .kick{color:var(--ink)!important;letter-spacing:.22em}
.grn .sh .kick{color:var(--goldL)!important}
.sh h2{margin-bottom:0}
.sh .lede{margin:16px 0 0!important;max-width:620px;text-align:left}
.sh + .btns,.grn .btns{justify-content:flex-start}
.essay{text-align:left!important;max-width:640px;margin-left:0!important}
.facts,.pull{text-align:center}
/* inner heroes: editorial, photo allowed to breathe */
.phero{justify-content:flex-start!important;text-align:left!important;
 min-height:460px!important;padding:100px 26px 82px!important}
.phero::before{background:linear-gradient(100deg,rgba(13,29,21,.96) 0%,rgba(13,29,21,.93) 42%,rgba(13,29,21,.78) 68%,rgba(13,29,21,.50) 100%)!important}.phero h1,.phero h2{text-shadow:0 2px 18px rgba(9,22,15,.75)}.phero p,.phero .kick,.phero .hcta{text-shadow:0 1px 12px rgba(9,22,15,.8)}
.phero>div{max-width:var(--mx)!important;width:100%;margin:0 auto}
.phero h1{max-width:700px}
.phero p{max-width:540px;margin-left:0!important}
.phero .kick{color:var(--goldL)!important}
/* entrances */
@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.pg.on .phero>div{animation:heroIn .85s cubic-bezier(.22,.61,.36,1) both}
@keyframes ddIn{from{opacity:0;transform:translate(-50%,-7px)}to{opacity:1;transform:translate(-50%,0)}}
.nd:hover .ndm,.nd:focus-within .ndm{animation:ddIn .22s ease both}
@media(prefers-reduced-motion:reduce){
 .pg.on .phero>div,.nd:hover .ndm{animation:none}
}
@media(max-width:880px){
 .phero{padding:72px 22px 58px!important;min-height:380px!important}
}
/* ================= DE-BOXING LAYER =================
   Same content, same structure - the lattice goes. */
/* grids: compartments -> editorial entries */
.grid{border-top:0!important;gap:38px 58px!important}
.grid>.cell{padding:0!important;border:0!important;text-align:left!important;
 align-items:flex-start!important;gap:8px!important}
.cell .kick{margin-bottom:2px}
/* facts: keep the print band, lose the internal fences */
.facts div{border-right:0!important;padding:26px 12px}
/* bocce resource rows: no ruled list */
a.res{border-bottom:0!important;padding:10px 2px!important}
/* menu thumbs & film: paper, not floating cards */
.mcard .mthumb{box-shadow:0 8px 22px rgba(26,23,18,.10)!important}
.mcard .mthumb:hover{transform:translateY(-3px)!important;
 box-shadow:0 12px 28px rgba(26,23,18,.14)!important}
.film video,.film.yt,.ytf,.flm{box-shadow:0 10px 26px rgba(26,23,18,.10)!important}
/* local film facade — same frame as the youtube facade */
.flm{position:relative;display:block;width:100%;aspect-ratio:16/9;cursor:pointer;
 overflow:hidden;background:#1b2a20;border:1px solid var(--hair)}
.flm-im{position:absolute;inset:0;background-size:cover;background-position:center;
 transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.flm:hover .flm-im{transform:scale(1.03)}
.flm-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 width:78px;height:78px;border-radius:50%;background:rgba(253,251,246,.94);
 display:flex;align-items:center;justify-content:center;
 transition:transform .3s cubic-bezier(.22,.61,.36,1),background .3s ease}
.flm:hover .flm-btn{transform:translate(-50%,-50%) scale(1.07);background:#fff}
.flm-btn span{display:block;width:0;height:0;margin-left:6px;
 border-left:22px solid var(--red);border-top:13px solid transparent;
 border-bottom:13px solid transparent}
.flm:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.flm.playing{aspect-ratio:auto;background:#000;cursor:default}
.flm-err{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:#fff;font-size:14px;margin:0}
.flm video{display:block;width:100%;height:auto}
/* nav: dropdown items sit on the same baseline as plain links */
.navl>.nd{display:flex!important;align-items:stretch}
.navl>.nd>a{display:flex;align-items:center}
/* deep green sections inherit the same treatment automatically */
.grn .grid,.grn .grid>.cell{border:0!important}
@media(max-width:880px){
 .grid{gap:30px 0!important}
}

/* ==================================================================
   EVENTS — editorial sections (What we host / Private event options)
   Upright serif throughout. Hairlines, not boxes. No shadows, no
   gradients, no rounded corners.
   ================================================================== */
:root{--ez:cubic-bezier(.22,.61,.36,1)}

/* --- restrained section head, left-aligned --- */
.edh{max-width:1080px;margin:0 0 clamp(36px,4.4vw,56px)}
.edh .kick{margin-bottom:14px}
.edh h2{font-family:'Bodoni','Didot',Georgia,serif;font-weight:400;font-style:normal;
 font-size:clamp(29px,3vw,41px);line-height:1.07;color:var(--green);
 letter-spacing:-.004em;margin:0}

/* --- editorial numeral, shared --- */
.ehn,.ern{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;
 font-size:13px;letter-spacing:.15em;color:var(--hair);font-variant-numeric:lining-nums}

/* ============ 01 · WHAT WE HOST ============ */
.ehost{list-style:none;margin:0;padding:0;max-width:1080px}
.ehost .eh{position:relative;display:grid;
 grid-template-columns:58px minmax(180px,.9fr) minmax(0,1.44fr);
 column-gap:clamp(18px,3vw,50px);
 padding:30px 0 32px;border-top:1px solid var(--hair)}
/* subtle asymmetry: alternating rows breathe a little more */
.ehost .eh:nth-child(2n){padding-top:37px;padding-bottom:39px}
.ehost .eh:last-child{border-bottom:1px solid var(--hair)}
.ehost .eh::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;
 background:var(--green);opacity:.42;transition:width .32s var(--ez)}
.eh .ehn{line-height:1.9;padding-top:5px}
.eh h4{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(19.5px,1.85vw,23.5px);line-height:1.22;color:var(--green);margin:0;
 display:flex;align-items:baseline;gap:9px}
.eh p{font-size:16.5px;line-height:1.72;color:var(--mut);margin:0;
 max-width:var(--dw,44ch);padding-top:3px}
.eha{font-family:'Caslon',Georgia,serif;font-style:normal;font-size:14px;color:var(--red);
 opacity:0;translate:-7px 0;
 transition:opacity .3s var(--ez),translate .3s var(--ez)}

/* ============ 02 · PRIVATE EVENT OPTIONS ============ */
.erooms{display:grid;grid-template-columns:1fr 1fr;
 column-gap:clamp(42px,6vw,100px);row-gap:clamp(46px,5vw,74px);
 max-width:1080px;align-items:start}
.erm{position:relative;padding:26px 0 0 56px;border-top:1px solid var(--hair)}
/* subtle asymmetry: the right-hand column sits a little lower */
.erm:nth-child(2n){margin-top:32px}
.erm::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;
 background:var(--green);opacity:.42;transition:width .32s var(--ez)}
.erm .ern{position:absolute;left:0;top:27px}
.erk{display:block;font-family:'Cormorant','Caslon',serif;font-style:normal;
 font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
 color:#9C8A63;margin-bottom:11px;font-variant-numeric:lining-nums}
.erhd{display:flex;align-items:baseline;justify-content:space-between;
 gap:18px;padding-bottom:13px}
.erm h4{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(21px,2.05vw,26px);line-height:1.16;color:var(--green);margin:0}
.erc{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#B0554E;
 white-space:nowrap;transition:color .3s var(--ez);font-variant-numeric:lining-nums}
.erm p{font-size:16.5px;line-height:1.74;color:var(--mut);margin:0;max-width:var(--dw,38ch)}
/* hover image preview — real room photography, desktop only */
.erimg{display:none;position:absolute;right:0;bottom:-8px;width:190px;aspect-ratio:16/9;
 background-size:cover;background-position:center;border:1px solid var(--hair);
 opacity:0;translate:0 12px;pointer-events:none;z-index:4;
 transition:opacity .34s var(--ez),translate .34s var(--ez)}

/* ---- reveal: parent is only the trigger; the parts do the moving ---- */
.eh.rv,.erm.rv{opacity:1!important;transform:none!important;transition:none!important}
.eh .ehn,.eh h4,.eh p,
.erm .ern,.erm .erk,.erm h4,.erm .erc,.erm p{
 opacity:0;transform:translateY(14px);
 transition:opacity .64s var(--ez),transform .64s var(--ez),
            translate .3s var(--ez),color .3s var(--ez)}
.eh .ehn,.erm .ern{transform:translate(-4px,12px)}
.eh.in .ehn,.eh.in h4,.eh.in p,
.erm.in .ern,.erm.in .erk,.erm.in h4,.erm.in .erc,.erm.in p{opacity:1;transform:none}
/* the numeral leads, the rest follows; ~100ms between items */
.eh.in .ehn{transition-delay:calc(var(--i,0)*.1s)}
.eh.in h4{transition-delay:calc(var(--i,0)*.1s + .08s)}
.eh.in p{transition-delay:calc(var(--i,0)*.1s + .15s)}
.erm.in .ern{transition-delay:calc(var(--i,0)*.1s)}
.erm.in .erk{transition-delay:calc(var(--i,0)*.1s + .06s)}
.erm.in h4{transition-delay:calc(var(--i,0)*.1s + .12s)}
.erm.in .erc{transition-delay:calc(var(--i,0)*.1s + .18s)}
.erm.in p{transition-delay:calc(var(--i,0)*.1s + .24s)}

/* ---- hover ---- */
@media(hover:hover){
 .ehost .eh:hover::after,.erm:hover::after{width:100%}
 .ehost .eh:hover h4,.erm:hover h4{translate:5px 0}
 .ehost .eh:hover .ehn,.erm:hover .ern{color:var(--gold);translate:3px 0}
 .ehost .eh:hover p,.erm:hover p{color:#403626}
 .ehost .eh:hover .eha{opacity:.9;translate:0 0}
 .erm:hover .erc{color:var(--red)}
}
@media(min-width:1120px) and (hover:hover){
 .erimg{display:block}
 .erm:hover .erimg{opacity:1;translate:0 0}
}

/* ---- top bar: a continuous ribbon travelling right ---- */
.bar{overflow:hidden}
.mq{overflow:hidden;width:100%}
.mqt{display:flex;width:max-content;will-change:transform;
 animation:mqRight 60s linear infinite}
.mqg{display:flex;align-items:center;white-space:nowrap}
.bar .mi{padding:0 2px}
@keyframes mqRight{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){
 .mqt{animation:none;transform:none}
}

/* ---- horizontal reveal: image and text enter from opposite sides ---- */
.rvL,.rvR{opacity:0;
 transition:opacity .95s cubic-bezier(.22,.61,.36,1),
            transform 1.05s cubic-bezier(.22,.61,.36,1)}
.rvL{transform:translate3d(-58px,0,0)}
.rvR{transform:translate3d(58px,0,0)}
.rvL.in,.rvR.in{opacity:1;transform:none}
.rvL.d1,.rvR.d1{transition-delay:.1s}
.rvL.d2,.rvR.d2{transition-delay:.2s}
/* the split rows clip their own overflow so nothing widens the page */
.it{overflow:hidden}
@media(max-width:820px){
 .rvL,.rvR{transform:translate3d(0,24px,0)}
}
@media(prefers-reduced-motion:reduce){
 .rvL,.rvR{opacity:1!important;transform:none!important;transition:none!important}
}

/* ---- club rules close + family pane intro ---- */
.rules-sec .rclose{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:19px;
 line-height:1.5;color:var(--gold);max-width:1080px;margin:clamp(26px,3vw,38px) 0 0}
.mnote2{margin-bottom:clamp(46px,5vw,64px)}
.mnote2 .sm{margin-top:12px;color:#9C8A63;font-family:'Cormorant','Caslon',serif;
 font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:lining-nums}

/* ---- full-bleed images settle into place as they enter ---- */
.bleedw{overflow:hidden}
.rvB{opacity:0;transform:scale(1.045);
 transition:opacity 1.1s var(--ez),transform 1.5s var(--ez)}
.rvB.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 .rvB{opacity:1!important;transform:none!important;transition:none!important}
}

/* ============ MENUS · tabbed menu sheets ============ */
.mn-sec{padding-top:clamp(40px,5vw,62px)}
.mtabs{display:flex;justify-content:center;align-items:flex-end;
 gap:clamp(10px,2.6vw,34px);border-top:0;
 border-bottom:1px solid var(--hair);margin:0 auto clamp(44px,5.2vw,66px);
 max-width:900px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.mtabs::-webkit-scrollbar{display:none}
.mtab{appearance:none;background:none;border:0;cursor:pointer;line-height:1;
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#9C8A63;
 padding:0 2px 15px;white-space:nowrap;position:relative;display:block;
 transition:color .3s var(--ez);font-variant-numeric:lining-nums}
.mtab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
 background:var(--red);transform:scaleX(0);transform-origin:left;
 transition:transform .32s var(--ez)}
.mtab:hover{color:var(--green)}
.mtab.on{color:var(--red)}
.mtab.on::after{transform:scaleX(1)}
.mtab:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.mpane{display:none;max-width:780px;margin:0 auto}
.mpane.on{display:block;animation:mpIn .5s var(--ez) both}
@keyframes mpIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mphd{text-align:center;margin-bottom:clamp(40px,4.6vw,58px)}
.mphd h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(30px,3.4vw,44px);line-height:1.06;color:var(--green);margin:0}
.msub{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#9C8A63;
 margin:12px 0 0;font-variant-numeric:lining-nums}

.msec{margin-bottom:clamp(34px,4vw,48px)}
.msec h3{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:13px;
 font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--green);
 margin:0 0 4px;padding-bottom:11px;border-bottom:1px solid var(--hair);font-variant-numeric:lining-nums}
.mi{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;
 align-items:baseline;padding:13px 0 14px;border-bottom:1px solid rgba(201,182,148,.42)}
.mi:last-child{border-bottom:0}
.mnm{display:block;font-family:'Caslon',Georgia,serif;font-style:normal;font-size:17px;
 line-height:1.3;color:var(--ink)}
.mds{display:block;font-family:'Caslon',Georgia,serif;font-style:normal;font-size:14.5px;
 line-height:1.55;color:var(--mut);margin-top:3px}
.mpr{font-family:'Caslon',Georgia,serif;font-style:normal;font-size:16px;
 color:var(--red);white-space:nowrap;text-align:right}

.mnote{max-width:620px;margin:0 auto;text-align:center}
.mnote p{font-size:17px;line-height:1.7;color:var(--mut)}
.mnote .sm{margin-top:14px}
.mpdf{display:flex;justify-content:center;margin-bottom:6px}
.mpdf .mthumb{display:block;max-width:330px;cursor:pointer;border:1px solid var(--hair);
 transition:transform .3s var(--ez),box-shadow .3s var(--ez)}
.mpdf .mthumb:hover{transform:translateY(-3px)}

/* the pdf line, directly under each menu title */
.mdl{margin-top:22px;text-align:center}
.mdl a{display:inline-block;cursor:pointer;text-decoration:none;
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--red);
 border-bottom:1px solid rgba(168,30,24,.34);padding-bottom:3px;
 transition:border-color .3s var(--ez),color .3s var(--ez);font-variant-numeric:lining-nums}
.mdl a:hover{border-bottom-color:var(--red)}
.mdl a .ar{margin-left:8px;font-size:11px}
.mdl a.alt{display:block;margin:11px auto 0;color:#9C8A63;border-bottom-color:transparent;
 font-size:11px;letter-spacing:.18em}
.mdl a.alt:hover{color:var(--green);border-bottom-color:var(--hair)}

.mfine{font-size:13.5px;line-height:1.6;color:var(--mut);text-align:center;
 max-width:520px;margin:clamp(28px,3.4vw,42px) auto 0;padding-top:20px;
 border-top:1px solid var(--hair)}

/* combined closing block */
.mfoot{display:grid;grid-template-columns:1.25fr 1fr;
 gap:clamp(30px,5vw,80px);align-items:start;max-width:1080px}
.mfoot h2{margin:0 0 14px;color:var(--cream);
 font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(28px,3vw,40px);line-height:1.06}
.mfoot .lb{display:block;font-family:'Cormorant','Caslon',serif;font-style:normal;
 font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
 color:var(--goldL);margin-bottom:13px;font-variant-numeric:lining-nums}
.mfoot p{color:#DFD5BC;font-size:16.5px;line-height:1.68;max-width:52ch}
.mfoot .btns{justify-content:flex-start;margin-top:4px}
@media(max-width:820px){
 .mfoot{grid-template-columns:1fr;gap:34px}
 .mtabs{justify-content:flex-start}
 .mi{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}
}
@media(prefers-reduced-motion:reduce){
 .mpane.on{animation:none}
 .mtab::after{transition:none}
}

/* ---- inquiry form: segmentation, interests, proof ---- */
.fproof{text-align:center;font-family:'Cormorant','Caslon',serif;font-style:normal;
 font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
 color:var(--goldL);margin:-14px auto 34px;max-width:720px;line-height:2;font-variant-numeric:lining-nums}
.fseg{display:flex;justify-content:center;gap:0;margin:0 auto 30px;max-width:520px;
 border:1px solid var(--goldL)}
.fsegb{flex:1}
.fsegb input{position:absolute;opacity:0;pointer-events:none}
.fsegb span{display:block;text-align:center;padding:13px 10px;cursor:pointer;
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--goldL);
 transition:background .3s var(--ez),color .3s var(--ez);font-variant-numeric:lining-nums}
.fsegb input:checked+span{background:var(--goldL);color:var(--green2)}
.fsegb input:focus-visible+span{outline:2px solid var(--cream);outline-offset:-4px}
.fchecks{display:flex;gap:26px;flex-wrap:wrap;padding-top:4px}
.fchecks label{display:inline-flex;align-items:center;gap:9px;cursor:pointer;
 font-size:15px;color:#DFD5BC}
.fchecks input{width:16px;height:16px;accent-color:#D8BE84;cursor:pointer}
.flbl{display:block;font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--goldL);
 margin-bottom:10px;font-variant-numeric:lining-nums}

/* ---- hero CTA ---- */
.phero .hcta{display:inline-flex;align-items:baseline;gap:10px;margin-top:26px;
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:13px;font-weight:600;
 letter-spacing:.22em;text-transform:uppercase;color:var(--cream);cursor:pointer;
 text-decoration:none;border-bottom:1px solid var(--goldL);padding-bottom:6px;font-variant-numeric:lining-nums}
.phero .hcta .ar{color:var(--goldL);transition:transform .28s var(--ez)}
.phero .hcta:hover .ar{transform:translateX(5px)}

/* ---- planning section: the two paths, large and legible ---- */
.plan-strip{padding-top:clamp(48px,5.5vw,72px)}
.ppaths{display:grid;grid-template-columns:1fr 1fr;
 column-gap:clamp(40px,5.5vw,90px);max-width:1080px;
 border-top:1px solid var(--hair)}
.ppath{display:block;padding:clamp(26px,3vw,38px) 0 clamp(28px,3.2vw,40px);
 border-bottom:1px solid var(--hair);text-decoration:none;color:inherit;cursor:pointer;
 position:relative}
.ppath::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;
 background:var(--green);opacity:.45;transition:width .34s var(--ez)}
.pph{display:flex;align-items:baseline;gap:12px;
 font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(26px,2.9vw,38px);line-height:1.12;color:var(--green);
 transition:translate .3s var(--ez),color .3s var(--ez)}
.pph .ar{font-family:'Caslon',Georgia,serif;font-size:19px;color:var(--red);
 transition:translate .3s var(--ez)}
.ppl{list-style:none;margin:16px 0 0;padding:0}
.ppl li{font-size:16.5px;line-height:1.5;color:var(--mut);padding:6px 0;
 transition:color .3s var(--ez)}
.ppl li+li{border-top:1px solid rgba(201,182,148,.42)}
@media(hover:hover){
 .ppath:hover::after{width:100%}
 .ppath:hover .pph{translate:5px 0}
 .ppath:hover .pph .ar{translate:6px 0}
 .ppath:hover .ppl li{color:#403626}
}
.pfoot{max-width:1080px;margin-top:clamp(28px,3.2vw,42px)}
@media(max-width:820px){
 .ppaths{grid-template-columns:1fr}
}

/* ---- rooms availability + how it works + closing ---- */
.ravail{max-width:1080px;margin:clamp(26px,3vw,38px) 0 0}
.how-sec{padding-bottom:clamp(60px,7vw,92px)}
.how{display:grid;grid-template-columns:repeat(3,1fr);
 column-gap:clamp(30px,4.5vw,70px);max-width:1080px}
.hstep{border-top:1px solid var(--hair);padding-top:20px}
.hstep .ehn{display:block;margin-bottom:12px}
.hstep h4{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(19px,1.8vw,23px);color:var(--green);margin:0 0 9px}
.hstep p{font-size:15.5px;line-height:1.66;color:var(--mut);margin:0;max-width:30ch}
.hstep.rv.in{transition-delay:calc(var(--i,0)*.12s)}
@media(max-width:760px){
 .how{grid-template-columns:1fr;row-gap:26px}
}
.fsec{max-width:46%}
.fsec label{color:#8F876F}
@media(max-width:760px){.fsec{max-width:none}}
.eclose{max-width:720px;margin:0 auto;text-align:center}
.eclose h2{margin:0 0 12px}
.eclose p{font-size:17px;line-height:1.7;color:var(--mut)}
.eclose a{color:var(--red);text-decoration:none;
 border-bottom:1px solid rgba(168,30,24,.3)}

/* ---- floating social buttons, bottom right ---- */
.socfl{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;
 flex-direction:column;align-items:center;gap:12px}
.socrow{display:flex;gap:10px}
.socpe{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:11.5px;
 font-weight:600;letter-spacing:.18em;text-transform:uppercase;
 color:rgba(251,245,230,.92);background:rgba(26,42,32,.55);
 border:1px solid rgba(216,190,132,.45);
 padding:10px 17px;cursor:pointer;text-decoration:none;white-space:nowrap;
 transition:background .3s var(--ez),color .3s var(--ez),
            border-color .3s var(--ez),transform .25s var(--ez);font-variant-numeric:lining-nums}
.socpe:hover{background:var(--red);border-color:var(--red);color:var(--cream);
 transform:translateY(-2px)}
.socrow a{width:40px;height:40px;border-radius:50%;
 background:rgba(26,42,32,.55);border:1px solid rgba(216,190,132,.45);
 display:flex;align-items:center;justify-content:center;
 transition:transform .28s var(--ez),background .28s var(--ez),
            border-color .28s var(--ez)}
.socrow a svg{width:17px;height:17px;fill:rgba(251,245,230,.88);display:block;
 transition:fill .28s var(--ez)}
.socrow a:hover{transform:translateY(-3px);background:var(--gold);
 border-color:var(--gold)}
.socrow a:hover svg{fill:#FBF5E6}
.socfl a:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:600px){
 .socfl{right:14px;bottom:14px;gap:9px}
 .socrow{gap:8px}
 .socrow a{width:36px;height:36px}
 .socrow a svg{width:15px;height:15px}
 .socpe{font-size:10.5px;padding:9px 13px}
}
@media(prefers-reduced-motion:reduce){
 .socfl a,.socpe{transition:none}
 .socfl a:hover,.socpe:hover{transform:none}
}

/* ---- hours: two parallel tables, bocce and restaurant ---- */
.hrs2 .sub2{display:block;font-family:'Cormorant','Caslon',serif;font-size:11.5px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--goldL);font-variant-numeric:lining-nums}
.hrs2 .ht{margin-top:4px}
.hrs2 .ht+.ht{margin-top:22px}
.hrs2 .ht .sub2{border-bottom:0;margin-bottom:0;padding-bottom:0}
.hrs2 .r{grid-template-columns:minmax(0,1fr) 72px 96px}
.hrs2 .r .c{font-family:'Caslon',Georgia,serif;font-size:14px;color:#C9BFA4;
 white-space:nowrap;text-align:right}
.hrs2 .r.hh{border-bottom:1px solid rgba(216,190,132,.34);padding:4px 0 6px}
.hrs2 .r.hh .t,.hrs2 .r.hh .c{font-family:'Cormorant','Caslon',serif;font-size:10.5px;
 font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--goldL);
 opacity:.75;font-variant-numeric:lining-nums}

/* visit page: the same two tables, side by side on parchment */
.hgrid{display:grid;grid-template-columns:1fr 1fr;
 column-gap:clamp(44px,6vw,96px);max-width:920px;margin:0 auto;text-align:left}
.hcap{display:block;font-family:'Cormorant','Caslon',serif;font-size:12px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#9C8A63;font-variant-numeric:lining-nums}
.hgrid .r{display:grid;grid-template-columns:minmax(0,1fr) 82px 130px;
 column-gap:14px;align-items:baseline;padding:12px 0 13px;
 border-bottom:1px solid var(--hair)}
.hgrid .r:last-child{border-bottom:0}
.hgrid .r.hh{border-bottom:1px solid var(--green);padding:8px 0 8px}
.hgrid .r.hh .t,.hgrid .r.hh .c{font-family:'Cormorant','Caslon',serif;font-size:11px;
 font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#9C8A63;font-variant-numeric:lining-nums}
.hgrid .d{font-family:'Cormorant','Caslon',serif;font-size:12.5px;
 font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);font-variant-numeric:lining-nums}
.hgrid .t,.hgrid .c{font-family:'Caslon',Georgia,serif;font-size:16.5px;
 color:var(--ink);white-space:nowrap;text-align:right}
.hgrid .c{color:var(--mut);font-size:15.5px}
.hrs-sec .hrsfine{max-width:920px;margin-left:auto;margin-right:auto;
 text-align:center!important;margin-top:26px!important}
@media(max-width:860px){
 .hgrid{grid-template-columns:1fr}
 .hgrid .hcol+.hcol{margin-top:36px}
}

/* visit page hours: same left-aligned rhythm as the rest of the site */
.hrs{max-width:620px;margin:0}
.hrs .d{font-size:12.5px;letter-spacing:.22em;color:var(--ink)}
.hrs .t{font-family:'Caslon',Georgia,serif;font-size:16.5px;color:var(--ink);
 white-space:nowrap}
.hrs+.sm,.hrs~.sm{text-align:left!important;max-width:620px}

/* visit page: house notes as one spec list, two columns */
.gtk-sec .spec2{display:grid;grid-template-columns:1fr 1fr;
 column-gap:clamp(40px,6vw,96px);max-width:1080px;border-top:0}
.spec2 .sr{grid-template-columns:minmax(104px,.5fr) minmax(0,1fr);
 border-top:1px solid var(--hair);border-bottom:0;padding:14px 0 15px}
.spec2 .sr.wide{grid-column:1/-1;
 grid-template-columns:minmax(104px,.5fr) minmax(0,1fr) minmax(0,1.5fr)}
.spec2 .sr.wide .sv{grid-column:2/-1}
.spec2 .sv a{color:var(--red);text-decoration:none;
 border-bottom:1px solid rgba(168,30,24,.3);padding-bottom:1px;
 transition:border-color .3s var(--ez)}
.spec2 .sv a:hover{border-bottom-color:var(--red)}
.hrsfine{margin-top:22px!important;max-width:620px;text-align:left!important}
/* visit page hours: the whole block centred on the page */
.hrs-sec .edh{max-width:620px;margin-left:auto;margin-right:auto;text-align:center}
.hrs-sec .hrs{margin-left:auto;margin-right:auto}
.hrs-sec .hrsfine{margin-left:auto;margin-right:auto;text-align:center!important}
@media(max-width:820px){
 .gtk-sec .spec2{grid-template-columns:1fr}
 .spec2 .sr,.spec2 .sr.wide{grid-column:auto;grid-template-columns:1fr;gap:3px}
}

/* ============ ABOUT · the thirty-year mark ============ */
.anniv2-sec{padding-top:clamp(54px,6vw,80px)}
.anniv2{display:grid;grid-template-columns:clamp(180px,20vw,260px) minmax(0,1fr);
 gap:clamp(30px,5vw,74px);align-items:center;max-width:1080px}
.anniv2 .badge{width:100%;margin:0}
.anniv2 .an2r .lb{display:block;margin-bottom:13px}
.anniv2 .an2r h2{margin:0 0 15px}
.anniv2 .an2r .lede{max-width:54ch;margin:0}
.an2art{margin-top:clamp(20px,2.4vw,30px);padding-top:clamp(18px,2vw,24px);
 border-top:1px solid var(--hair);max-width:48ch}
@media(max-width:760px){
 .anniv2{grid-template-columns:1fr;gap:26px;justify-items:start}
 .anniv2 .badge{width:min(200px,55vw)}
}

/* ============ BOCCE · walk-in play + the courts, merged ============ */
.bplay-sec{padding-top:clamp(50px,6vw,74px)}
.bplay{display:grid;grid-template-columns:.92fr 1.08fr;
 gap:clamp(30px,4.4vw,72px);align-items:start;max-width:1180px}
.bpim{aspect-ratio:3/4;background-size:cover;background-position:center;
 border:1px solid var(--hair);position:sticky;top:96px}
.bpx>h2{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(36px,4.2vw,56px);line-height:1.04;color:var(--green);
 letter-spacing:-.006em;margin:0 0 12px}
.bpx .st3{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:21px;
 line-height:1.42;color:var(--gold);margin:0 0 18px}
.bpx>p{font-size:17px;line-height:1.68;color:var(--mut);max-width:52ch;margin:0 0 4px}
/* the spec list — the answers before anyone has to ask */
.spec{margin:26px 0 0;border-top:1px solid var(--hair)}
.spec .sr{position:relative;display:grid;
 grid-template-columns:minmax(120px,.58fr) minmax(0,1fr);
 gap:clamp(14px,2vw,30px);align-items:baseline;
 padding:13px 0 14px;border-bottom:1px solid var(--hair)}
.sl{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#9C8A63;
 line-height:1.7;font-variant-numeric:lining-nums}
.sv{font-family:'Caslon',Georgia,serif;font-style:normal;font-size:16.5px;
 line-height:1.6;color:var(--ink)}
.bpx .spec .sr:first-child .sv{font-family:'Bodoni','Didot',Georgia,serif;font-size:22px;
 color:var(--red);line-height:1.34}
.bpfine{font-size:14.5px!important;line-height:1.6;color:var(--mut);margin:20px 0 0!important}
.bpbtn{justify-content:flex-start;margin-top:26px}
/* reveal: rows arrive on the same curve as the rest of the site */
.spec .sr.rv{opacity:0;transform:translateY(12px);
 transition:opacity .6s var(--ez),transform .6s var(--ez)}
.spec .sr.rv.in{opacity:1;transform:none;transition-delay:calc(var(--i,0)*.07s)}
@media(prefers-reduced-motion:reduce){
 .spec .sr.rv{opacity:1!important;transform:none!important;transition:none!important}
}
@media(max-width:900px){
 .bplay{grid-template-columns:1fr;gap:30px}
 .bpim{aspect-ratio:4/3;position:static}
 .spec .sr{grid-template-columns:1fr;gap:3px;padding:14px 0}
 .bpbtn{margin-top:22px}
}

/* ============ 03 · RESOURCES (take it with you) ============ */
.edsub{font-size:17px;line-height:1.68;color:var(--mut);margin:16px 0 0;max-width:560px}
.ers{max-width:1080px;border-top:1px solid var(--hair)}
.erow{position:relative;display:grid;
 grid-template-columns:58px minmax(190px,.8fr) minmax(0,1.52fr) 78px 30px;
 column-gap:clamp(18px,2.8vw,46px);align-items:baseline;
 padding:29px 0 31px;border-bottom:1px solid var(--hair);
 text-decoration:none;color:inherit;cursor:pointer}
.erow:nth-child(2n){padding-top:34px;padding-bottom:36px}
.erow::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;
 background:var(--green);opacity:.42;transition:width .32s var(--ez)}
.erow .ern{position:static;line-height:1.9;align-self:baseline}
.ert{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(20px,1.9vw,24px);line-height:1.2;color:var(--green)}
.erd{font-size:16px;line-height:1.7;color:var(--mut);max-width:var(--dw,46ch)}
.erm2{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12px;
 font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9C8A63;
 white-space:nowrap;text-align:right;font-variant-numeric:lining-nums}
.erar{font-family:'Caslon',Georgia,serif;font-style:normal;font-size:17px;
 color:var(--red);text-align:right;opacity:.55;
 transition:opacity .3s var(--ez),translate .3s var(--ez)}
.erow:focus-visible{outline:2px solid var(--red);outline-offset:5px}

.erow.rv{opacity:1!important;transform:none!important;transition:none!important}
.erow .ern,.erow .ert,.erow .erd,.erow .erm2,.erow .erar{
 opacity:0;transform:translateY(13px);
 transition:opacity .6s var(--ez),transform .6s var(--ez),
            translate .3s var(--ez),color .3s var(--ez)}
.erow .ern{transform:translate(-4px,11px)}
.erow .erar{transform:translateY(13px)}
.erow.in .ern,.erow.in .ert,.erow.in .erd,.erow.in .erm2{opacity:1;transform:none}
.erow.in .erar{opacity:.55;transform:none}
.erow.in .ern{transition-delay:calc(var(--i,0)*.1s)}
.erow.in .ert{transition-delay:calc(var(--i,0)*.1s + .07s)}
.erow.in .erd{transition-delay:calc(var(--i,0)*.1s + .13s)}
.erow.in .erm2{transition-delay:calc(var(--i,0)*.1s + .17s)}
.erow.in .erar{transition-delay:calc(var(--i,0)*.1s + .2s)}
@media(hover:hover){
 .erow:hover::after{width:100%}
 .erow:hover .ert{translate:4px 0}
 .erow:hover .ern{color:var(--gold);translate:3px 0}
 .erow:hover .erd{color:#403626}
 .erow:hover .erar{opacity:1;translate:7px 0}
}
.ers-sec{padding-bottom:clamp(40px,5vw,66px)}
@media(min-width:1120px){
 /* the text column stops short so the hover preview has clean air beside it */
 .erm .erhd{padding-right:2px}
 .erm p{max-width:min(var(--dw,38ch),268px)}
 .erimg{width:178px;right:-12px}
}
/* the full-facility note reads as the closing entry of the rooms list */
.erooms-sec .feat{text-align:left;max-width:1080px;margin:0;padding:34px 0 0}
.erooms-sec .feat h3{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;
 font-weight:400;color:var(--green);margin-bottom:9px}
.erooms-sec .feat .pr{font-style:normal;letter-spacing:.16em;color:#B0554E}
.erooms-sec .feat p{max-width:52ch}
.erooms-sec .note{margin-top:clamp(34px,4vw,52px)}

/* ---- close of section: whitespace and a partial rule, nothing more ---- */
.ed-close{max-width:1080px;margin:clamp(54px,6.5vw,86px) 0 0;
 height:1px;width:30%;min-width:150px;background:var(--hair)}
.ehost-sec{padding-bottom:clamp(66px,8vw,104px)}

/* ---- mobile: stack, no forced asymmetry, no preview ---- */
@media(max-width:900px){
 .ehost .eh,.ehost .eh:nth-child(2n){
  grid-template-columns:42px 1fr;row-gap:9px;padding:26px 0 28px}
 .eh .ehn{grid-column:1;grid-row:1;padding-top:4px}
 .eh h4{grid-column:2;grid-row:1}
 .eh p{grid-column:2;grid-row:2;max-width:none;padding-top:0}
 .erooms{grid-template-columns:1fr;row-gap:42px}
 .erm,.erm:nth-child(2n){margin-top:0;padding-left:48px}
 .erm p{max-width:none}
 .erhd{flex-direction:column;align-items:flex-start;gap:7px}
 .erimg{display:none!important}
 .erow,.erow:nth-child(2n){grid-template-columns:40px 1fr 30px;
  row-gap:7px;padding:22px 0 24px;align-items:start}
 .erow .ern{grid-column:1;grid-row:1;padding-top:4px}
 .ert{grid-column:2;grid-row:1}
 .erd{grid-column:2;grid-row:2;max-width:none}
 .erm2{grid-column:2;grid-row:3;text-align:left;margin-top:3px}
 .erar{grid-column:3;grid-row:1;align-self:start}
}

/* ---- reduced motion ---- */
@media(prefers-reduced-motion:reduce){
 .eh .ehn,.eh h4,.eh p,
 .erm .ern,.erm .erk,.erm h4,.erm .erc,.erm p,
 .erow .ern,.erow .ert,.erow .erd,.erow .erm2{
  opacity:1!important;transform:none!important;transition:color .2s linear!important}
 .erow .erar{opacity:.55!important;transform:none!important;transition:none!important}
 .erow::after{transition:none!important}
 .erow:hover .ert,.erow:hover .ern,.erow:hover .erar{translate:none!important}
 .ehost .eh::after,.erm::after,.erimg{transition:none!important}
 .ehost .eh:hover h4,.erm:hover h4,
 .ehost .eh:hover .ehn,.erm:hover .ern{translate:none!important}
 .erimg{display:none!important}
}
/* ===== block 5 ===== */
/* ===== EVENT ROOMS: figure captions + card pair (markup existed, styles did not) ===== */
.rooms2{display:flex;flex-direction:column;gap:clamp(48px,5.5vw,82px)}
.rooms2 figure{margin:0}
.rooms2 .itroom .itimg,.rooms2 .rcim{position:relative;overflow:hidden}
.rooms2 figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;
 display:flex;flex-direction:column;gap:4px;padding:56px 24px 20px;
 background:linear-gradient(180deg,rgba(13,29,21,0) 0%,rgba(13,29,21,.55) 55%,rgba(13,29,21,.88) 100%)}
.rooms2 .fcn{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(20px,2vw,26px);line-height:1.1;color:var(--cream)}
.rooms2 .fcc{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;
 font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--goldL);font-variant-numeric:lining-nums}
.rpair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.4vw,48px);
 max-width:1220px;margin:0 auto;width:100%}
.rc{display:flex;flex-direction:column;min-width:0}
.rcim{height:clamp(240px,26vw,330px);background-size:cover;background-position:center;margin:0 0 22px}
.rc .lb{display:block;margin-bottom:10px}
.rc h4{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:clamp(23px,2.3vw,30px);line-height:1.1;color:var(--green);margin:0 0 5px;letter-spacing:-.004em}
.rc .st3{font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:19px;
 color:var(--gold);line-height:1.4;margin:0 0 12px}
.rc p{font-size:16px;line-height:1.64;color:var(--mut);margin:0}
/* the pair cards name the room directly below the photo - no duplicate caption */
.rcim figcaption{display:none}
.rcim{margin:0 0 26px}
@media(max-width:880px){
 .rpair{grid-template-columns:1fr;gap:46px}
 .rooms2 figcaption{padding:46px 18px 16px}
}
/* ===== block 6 ===== */
/* ===== OUR STORY: everything centred ===== */
#pg-about .sh{text-align:center!important;max-width:780px!important;margin:0 auto 38px!important}
#pg-about .sh .lede{text-align:center!important;max-width:700px;margin:16px auto 0!important}
#pg-about .essay{text-align:center!important;max-width:700px;
 margin-left:auto!important;margin-right:auto!important}
/* a floated drop cap fights centred text - set it back to normal on this page */
#pg-about .essay .dc::first-letter{float:none;font-family:inherit;font-size:inherit;
 line-height:inherit;padding:0;color:inherit}
#pg-about .btns,#pg-about .sh + .btns{justify-content:center!important}
#pg-about .anniv2{justify-items:center;text-align:center}
#pg-about .anniv2 .an2r{text-align:center}
#pg-about .anniv2 .an2r .lede{max-width:60ch;margin:0 auto}
#pg-about .an2art{max-width:56ch;margin-left:auto;margin-right:auto}
/* ===== EVERY PAGE HERO: centred, even padding, symmetric scrim ===== */
.phero{justify-content:center!important;text-align:center!important;
 padding:clamp(72px,8vw,96px) 26px!important}
.phero>div{margin:0 auto;text-align:center}
.phero h1,.phero h2{max-width:16ch;margin-left:auto;margin-right:auto}
.phero p{max-width:600px;margin-left:auto!important;margin-right:auto!important}
.phero .kick{display:block}
.phero::before{background:linear-gradient(180deg,
 rgba(13,29,21,.90) 0%,rgba(13,29,21,.84) 50%,rgba(13,29,21,.90) 100%)!important}
@media(max-width:880px){
 .phero{padding:clamp(58px,11vw,74px) 22px!important}
 .phero h1,.phero h2{max-width:none}
}
@media(max-width:760px){
 #pg-about .anniv2{justify-items:center}
}
/* ===== block 7 ===== */
#pg-menus .mfoot{grid-template-columns:1fr;max-width:640px;margin:0 auto;text-align:center}
#pg-menus .mfoot .btns{justify-content:center!important}

/* ===== FUNDRAISING page ===== */
#pg-fundraising .sh{text-align:center!important;max-width:800px!important;margin:0 auto 40px!important}
#pg-fundraising .sh .lede{text-align:center!important;max-width:680px;margin:16px auto 0!important}
#pg-fundraising .btns,#pg-fundraising .sh + .btns{justify-content:center!important}
/* ===== block 8 ===== */
/* ===== VISIT: careers block spacing ===== */
/* .carpanel's top margin was collapsing out of .carwrap (its only in-flow child),
   dropping the whole block 90px and cancelling its stagger against the photo. */
.carwrap{display:flow-root}
/* the house-notes and careers sections are both .pap2, so they meet with no visible
   seam - stacking a full 74px of padding on each side reads as dead space. */
#pg-visit .gtk-sec{padding-bottom:clamp(26px,3vw,38px)}
/* ===== block 9 ===== */
/* ================= ONE ALIGNMENT SYSTEM =================
   Every standalone text block is centred. Copy that sits beside or beneath
   its own photograph keeps its own alignment: .ittx (image + text rows),
   .rc (room cards), .carpanel (careers), .bpx (bocce), .anniv .at. */
.sh,.edh,.lh,.essay,.feat,.mphd,.lgend,.mfoot{
 text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.sh,.edh{max-width:820px!important;margin-bottom:clamp(36px,4.4vw,56px)!important}
.lh{max-width:840px!important;margin-bottom:44px!important}
.essay{max-width:700px!important}
.sh p,.edh p,.lh p,.essay p,.feat p,.mphd p{
 margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.sh .lede,.edh .lede,.lh .sub{max-width:700px!important}
/* the closing note on the events rooms section was pinned left */
.erooms-sec .feat{text-align:center!important;max-width:700px!important;margin:clamp(40px,4.6vw,60px) auto 0!important}
.erooms-sec .feat p{max-width:60ch!important}
/* buttons and download links follow their heading */
.sh + .btns,.grn .btns,.mfoot .btns,.edh + .btns,.lh + .btns{justify-content:center!important}
/* league columns: heading and its list centre together, so the heading is not
   floating over a left-aligned block */
.lgcol,.lgcol h2,.lgsec,.doc{text-align:center!important}
.doc .dt,.doc .dd{display:block}
.lgcols{padding-top:clamp(44px,5vw,66px)!important}

/* the remaining prose blocks and their controls */
.hstep,.ppath,.pph,.ppl,.rt,.rd,.res,.rclose,.ighead,.mapbar,
.avl-wrap,.avl,.hintro,.acts,.ed2{text-align:center!important}
.ppl{padding-left:0!important}
.mtabs,.acts,.btns,.avl,.avl-wrap,.mdl,.pph,.hstep,.rclose{justify-content:center!important}
.tri>div,.hsteps>div{text-align:center!important}
/* inline justify-content:flex-start on a few button rows */
[style*="justify-content:flex-start"]{justify-content:center!important}
/* tables keep their columns: menu prices, opening hours, the resource list,
   the house-notes rows and the league documents are read across, not centred */
.mi,.mrows,.hrs2,.hgrid,.hcol,.spec,.sr,.erow,.ert,.erd{text-align:initial}
/* ===== block 10 ===== */
/* ===== careers block: composed overlap =====
   The panel had a top margin only, so it sat flush with the foot of the photo
   and left an empty notch above it. Matching the margin at the bottom insets
   the panel evenly and the photo reads as the frame behind it. */
.carpanel{margin-bottom:clamp(48px,7vw,90px)}
@media(max-width:760px){ .carpanel{margin-bottom:0} }

/* ===== green panels: no drifting light =====
   .grn carried two animated layers - gradients drifting on a 34s loop and a
   sheen sweeping on a 19s loop. That is the movement in the quote band. The
   depth stays, the motion goes. */
.grn::before{animation:none!important;inset:0!important;transform:none!important;
 will-change:auto!important}
.grn::after{display:none!important;animation:none!important}
/* ===== block 11 ===== */
/* ===== home intro: the address rule follows the centred text =====
   .hintro .addr is a 330px box carrying the hairline as its border-bottom.
   With zero side margins that box stayed pinned to the left of the column,
   so the rule sat off to one side of the centred heading above it. */
.hintro .addr{margin-left:auto!important;margin-right:auto!important}
.hintro p,.hintro .pos{margin-left:auto!important;margin-right:auto!important}
.hintro .acts{justify-items:center}
/* ===== block 12 ===== */
/* ===== contrast pass 2: the remaining light labels on cream =====
   Client, 17 Sept: "on the cream screen we make it black, and then keep it
   gold on the green screen." The eyebrow classes were fixed in the earlier
   pass; these are the smaller sibling labels that still carried #9C8A63 -
   spec-row labels, hours captions, menu sub-labels, event-row meta.
   Gold is re-asserted inside .grn and .phero so green and photo panels are
   untouched, which is the whole point of the request. */
.sl,.hcap,.hgrid .r.hh .t,.hgrid .r.hh .c,.msub,.erk,.erm2,
.mnote2 .sm,.mdl a.alt,.hintro .lb,.hintro .addr{
 color:var(--ink)!important}

/* cream-panel labels read small as well as light, so they come up a step.
   Letter-spacing is untouched: these are tracked-out uppercase labels and
   the tracking is what keeps them legible at this size. */
.sl,.hcap,.msub,.erk,.erm2{font-size:13px!important}
.hgrid .r.hh .t,.hgrid .r.hh .c{font-size:11.5px!important}

.grn .sl,.grn .hcap,.grn .msub,.grn .erk,.grn .erm2,.grn .mnote2 .sm,
.grn .mdl a.alt,.grn .hgrid .r.hh .t,.grn .hgrid .r.hh .c,
.phero .sl,.phero .hcap,.phero .msub,.phero .erk,.phero .erm2{
 color:var(--goldL)!important}

/* Remaining readable text that was still failing on cream. Ornaments and
   flourishes (the diamonds, stars and arrow glyphs) keep their gold - the
   note was about text that is hard to read, not the decoration. */
.mtab,.legend,.pos,.fine,.hrsfine,.mapfb .b,.st3,
.doc .dd,.lgsec .dd{color:var(--ink)!important}
legend{color:var(--ink)!important}
.mtab[aria-selected="true"],.mtab.on{color:var(--green)!important}
.hrs2 .fine,.hrs2 legend,
.grn .mtab,.grn .legend,.grn legend,.grn .pos,.grn .fine,.grn .st3,
.phero .st3,.phero .pos{color:var(--goldL)!important}
/* photo captions - the plan asks for "concise captions", not bare images */
.pcap{display:block;margin-top:10px;text-align:center;font-family:'Cormorant','Caslon',serif;
 font-style:normal;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
 color:var(--mut);font-variant-numeric:lining-nums}
.rc .pcap{margin-top:-8px;margin-bottom:10px}

/* ================= multi-page additions ================= */
.hp{display:none}
/* the use-case row: hairline rules between items, the same device the
   three-column blocks use - a glyph separator read as filler */
.introline{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;
 max-width:960px;margin:30px auto 34px;padding:0}
.introline span{padding:3px clamp(14px,1.6vw,22px);border-left:1px solid var(--hair);
 font-family:'Cormorant','Caslon',serif;font-style:normal;
 font-size:clamp(15px,1.3vw,17px);line-height:1.95;color:var(--mut);white-space:nowrap}
.introline span:first-child{border-left:0}
@media(max-width:900px){
 .introline{max-width:620px}
 .introline span{border-left:0;padding:3px 12px}
}
.introalt{margin:20px auto 0;text-align:center}
.introalt .tl{font-size:12.5px}

/* one checkbox system, shared by the enquiry form and the sign-up */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:720px;margin:0 auto}
.chip{position:relative;display:inline-block}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{display:block;cursor:pointer;padding:9px 17px;border:1px solid var(--hair);
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12.5px;font-weight:600;
 letter-spacing:.16em;text-transform:uppercase;color:var(--mut);
 transition:border-color .2s ease,color .2s ease,background .2s ease;font-variant-numeric:lining-nums}
.chip span:hover{border-color:var(--gold);color:var(--green)}
.chip input:checked+span{background:var(--green2);border-color:var(--green2);color:var(--cream)}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.prooftri>div{text-align:center;padding:16px clamp(18px,2.6vw,42px)}
.prooftri .lb{display:block;margin-bottom:11px}
#pg-corporate .prooftri h4,#pg-social .prooftri h4{
 font-family:'Bodoni','Didot',Georgia,serif!important;font-style:normal!important;font-weight:400!important;
 font-size:clamp(20px,2vw,25px)!important;line-height:1.14!important;letter-spacing:normal!important;
 text-transform:none!important;color:var(--green)!important;margin:0 0 9px}
.prooftri p{margin:0}
.tq{margin:26px auto 0;max-width:640px;text-align:center}
.tq p{font-family:'Cormorant','Caslon',serif;font-size:21px;line-height:1.5;color:var(--ink)}
.tq cite{display:block;margin-top:10px;font-family:'Cormorant',serif;font-size:12.5px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--mut);font-style:normal;font-variant-numeric:lining-nums}
/* newsletter */
.nlsec{border-top:1px solid var(--hair)}
.nlsec .sh{margin-bottom:clamp(28px,3vw,38px)!important}
.nlform{max-width:620px;margin:0 auto;text-align:center}
.nlrow{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}
.nlform .fld{text-align:left;margin-bottom:0}
.nlform .fld input{background:transparent;border:0;border-bottom:1px solid var(--hair);padding:10px 2px}
.nlform .fld input:focus{border-bottom-color:var(--green);box-shadow:none}
.nlint{border:0;padding:0;margin:0 0 26px;min-width:0}
.nlint legend{display:block;width:100%;text-align:center;margin-bottom:14px;
 font-family:'Cormorant',serif;font-size:12px;font-weight:600;letter-spacing:.22em;
 text-transform:uppercase;color:#9C8A63;font-variant-numeric:lining-nums}
.nlfoot{display:flex;flex-direction:column;align-items:center;gap:18px}
.nlok{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--mut);text-align:left}
.nlok input{width:15px;height:15px;accent-color:var(--green2);flex:none}
@media(max-width:700px){.nlrow{grid-template-columns:1fr;gap:16px}}
/* rooms: one grid, four equal cards - shorter page, easier to compare */
.rooms2.rooms4{display:grid!important;grid-template-columns:repeat(4,1fr);
 gap:clamp(20px,2.4vw,32px);align-items:start;max-width:1240px;margin:0 auto}
.rooms4 .rc{min-width:0}
.rooms4 .rcim{height:clamp(170px,14vw,205px)!important;margin:0 0 18px!important}
.rooms4 .rc h4{font-size:clamp(19px,1.7vw,23px)!important;margin-bottom:4px}
.rooms4 .rc .st3{font-size:17px!important;margin-bottom:9px!important}
.rooms4 .rc p{font-size:15.2px;line-height:1.6}
.rooms4 .rc,.rooms4 .rc *{text-align:center!important}
@media(max-width:1080px){.rooms2.rooms4{grid-template-columns:repeat(2,1fr);gap:34px}}
@media(max-width:620px){.rooms2.rooms4{grid-template-columns:1fr;gap:38px}}
/* ---- enquiry form: tighten the details that read as unfinished ---- */
/* the credentials line was breaking with "since 1997" orphaned on its own row */
.fproof{max-width:560px!important;line-height:2.1!important;margin:-6px auto 36px!important}
.fproof>span{white-space:nowrap}
.fproof .st{color:var(--gold);font-size:8px;padding:0 12px!important;vertical-align:3px;white-space:normal}
/* the source question runs the full width like the field above it */
.form .fsec{max-width:none!important}
/* the interest checkboxes use the same chips as the sign-up, on dark */
.grn .chips{justify-content:flex-start;gap:9px;margin:0}
.grn .chip span{border-color:rgba(216,190,132,.34);color:#DFD5BC}
.grn .chip span:hover{border-color:var(--goldL);color:var(--cream)}
.grn .chip input:checked+span{background:var(--goldL);border-color:var(--goldL);color:var(--green2)}
/* labels and fields: one rhythm down the form */
.form .fld label,.form .flbl{font-size:12px!important;letter-spacing:.22em!important;
 margin-bottom:9px!important}
.form .fld input,.form .fld select,.form .fld textarea{padding:13px 15px}
.form .fld input::placeholder,.form .fld textarea::placeholder{color:#9C8A63;opacity:1}
.form .fsec{margin-top:6px}
.form .btns{margin-top:8px}

/* what happens after you hit send - the planning process, in one line */
.fsteps{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;
 max-width:820px;margin:-4px auto 26px;padding:0}
.fsteps span{padding:3px clamp(12px,1.5vw,20px);border-left:1px solid rgba(216,190,132,.3);
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:15.5px;line-height:1.9;
 color:#DFD5BC;white-space:nowrap}
.fsteps span:first-child{border-left:0}
@media(max-width:820px){.fsteps span{border-left:0;padding:2px 10px;white-space:normal}}

/* ================= ONE TYPE SCALE =================
   Six different sizes were doing the job of "section heading" (41, 44, 46, 52,
   58 and 40) and three were doing "heading beside a photo" (42, 46, 56).
   Same role, same size. The home masthead keeps its own size on purpose. */
.sh h2,.edh h2,.lh h2,.ed2 h2,.mphd h2,.mfoot h2,.eclose h2,.ighead h2,
.an2r h2,.ittx h2,.bpx>h2,.anniv .at h2,.fsent h2{
 font-size:clamp(28px,3.6vw,46px)!important;line-height:1.1!important}
/* headings inside a column or panel sit one tier down, and now scale */
.carpanel h2,.lgcol h2{font-size:clamp(24px,2.6vw,32px)!important;line-height:1.14!important}
/* the league columns were staggered 34px, which read as an editorial device
   when they were left-aligned. Centred, it just looks misaligned. */
.lgcol.b{padding-top:0!important}
/* sub-headings: four sizes (23, 24, 25, 26) were doing one job. The menu
   section labels stay as they are - different role, different face. */
.rooms4 .rc h4,.ehost .eh h4,.tri h4,.prooftri h4,.feat h3,.erooms-sec .feat h3{
 font-size:clamp(20px,2.1vw,25px)!important;line-height:1.16!important}

/* section padding: three deliberate values, no strays */
.mn-sec{padding-top:74px!important}
.anniv2-sec{padding-top:74px!important}
.ers-sec{padding-bottom:74px!important}
@media(max-width:880px){
 .mn-sec,.anniv2-sec{padding-top:56px!important}
 .ers-sec{padding-bottom:56px!important}
}
/* body copy in the bocce closing block matched nothing else */
.ed2 .rt{font-size:17px!important}

/* current page in the nav */
.navl a.cur{color:var(--red)}
/* the brand is a real link now - it must not pick up link underlines */
a.brand,a.brand:hover{text-decoration:none;border-bottom:0;color:inherit;display:flex}
a.brand *{text-decoration:none}
/* keep the lede breathing under its heading after the alignment overrides */
.sh .lede,.edh .lede,.sh>p,.edh>p{margin:16px auto 0!important}
/* the founding date, lifted out of the lockup and set as type */
.hest{margin:-4px 0 0;display:flex;align-items:center;justify-content:center;gap:13px;
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-weight:600;
 font-size:clamp(14px,1.45vw,18.5px);letter-spacing:.3em;text-transform:uppercase;
 color:#F3ECDA;text-shadow:0 1px 3px rgba(0,0,0,.7),0 3px 16px rgba(0,0,0,.6);
 white-space:nowrap;font-variant-numeric:lining-nums}
.hest::before,.hest::after{content:"";display:block;width:clamp(30px,4.5vw,62px);height:1px;
 background:linear-gradient(90deg,transparent,rgba(232,185,141,.95));
 box-shadow:0 1px 5px rgba(0,0,0,.6)}
.hest::after{background:linear-gradient(90deg,rgba(232,185,141,.95),transparent)}
.hest span{letter-spacing:.3em}
@media(max-width:700px){.hest{gap:8px;letter-spacing:.28em}}
/* ---------- rotating food photography ----------------------------------
   One frame shape at every width, so a dish never lands somewhere new. The
   image column also takes more of the row than it used to - Ben asked for the
   food bigger, and a plate wants the space more than the paragraph does. */
.it-food{grid-template-columns:1.95fr 1fr!important;max-width:1300px!important}
/* the row sits inside a 1180px wrap, which was the real ceiling on how big the
   plate could get. On a wide screen this one row steps outside it. */
@media(min-width:1100px){
 .it-food{width:min(1380px,calc(100vw - 72px))!important;max-width:none!important;
  margin-left:50%!important;transform:translateX(-50%)!important;
  grid-template-columns:2.05fr 1fr!important;gap:0 64px!important}
}
.it-food .foodrot{position:relative;overflow:hidden;background:var(--green2);
 aspect-ratio:4/3;min-height:0!important;height:auto;
 box-shadow:0 18px 46px rgba(30,58,43,.16)}
.foodrot .fr{position:absolute;inset:0;background-size:cover;background-position:center;
 opacity:0;will-change:transform,opacity;transform:scale(1.005);
 transition:opacity 1.15s cubic-bezier(.4,0,.2,1)}
/* the active frame fades up and keeps drifting for the whole slide, so the
   still never sits perfectly still */
.foodrot .fr[data-on]{opacity:1;animation:foodDrift 7.6s linear forwards}
.foodrot .fr[data-on][data-dir="b"]{animation-name:foodDriftB}
@keyframes foodDrift {
  from{transform:scale(1.005) translate3d(0,0,0)}
  to  {transform:scale(1.055) translate3d(-1%,-.8%,0)}
}
@keyframes foodDriftB {
  from{transform:scale(1.055) translate3d(.9%,.7%,0)}
  to  {transform:scale(1.005) translate3d(0,0,0)}
}
/* tick marks - which dish, how far through, and a way to jump */
.ftks{position:absolute;left:0;right:0;bottom:0;z-index:2;
 display:flex;gap:6px;justify-content:center;padding:0 18px 16px}
.ftk{flex:0 1 46px;height:20px;padding:8px 0;background:none;border:0;cursor:pointer;
 display:block;line-height:0}
.ftk span{display:block;height:2px;background:rgba(251,245,230,.42);
 box-shadow:0 1px 3px rgba(0,0,0,.35);position:relative;overflow:hidden}
.ftk span::after{content:"";position:absolute;inset:0;background:var(--goldL);
 transform:scaleX(0);transform-origin:left}
.ftk[aria-current] span::after{animation:foodTick 7.6s linear forwards}
@keyframes foodTick{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ftk:hover span{background:rgba(251,245,230,.7)}
.ftk:focus-visible{outline:2px solid var(--goldL);outline-offset:2px}
@media(max-width:980px){
 .it-food{grid-template-columns:1fr!important}
 .it-food .foodrot{aspect-ratio:4/3;margin-bottom:30px}
}
/* motion turned down: no drift, no timer, first dish only */
@media(prefers-reduced-motion:reduce){
 .foodrot .fr{transition:none;transform:none}
 .foodrot .fr[data-on]{animation:none;transform:none}
 .ftk[aria-current] span::after{animation:none;transform:scaleX(1)}
}
.introlist{margin-bottom:30px}
.plan-strip .btns{margin-top:6px}

/* ============ holiday campaign: banner (home) + date panel (corporate) ======
   Deliberately not a modal. The banner sits above the sticky header and
   scrolls away; the panel is a corner card that never covers the page. */
.hbn{background:var(--green2);color:var(--cream);border-bottom:1px solid rgba(216,190,132,.28)}
.hbnw{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.6vw,20px);
 max-width:1240px;margin:0 auto;padding:9px clamp(38px,4vw,52px) 9px clamp(14px,2vw,24px);
 position:relative}
.hbn p{margin:0;font-family:'Cormorant','Caslon',serif;font-style:normal;
 font-size:clamp(14px,1.25vw,16px);line-height:1.45;color:#E9E1CD}
.hbn a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
 font-family:'Cormorant','Caslon',serif;font-style:normal;font-size:12px;font-weight:600;
 letter-spacing:.2em;text-transform:uppercase;color:var(--goldL);
 text-decoration:none;border-bottom:1px solid rgba(216,190,132,.5);padding-bottom:2px;font-variant-numeric:lining-nums}
.hbn a:hover{color:var(--cream);border-bottom-color:var(--cream)}
.hbn a .ar{font-size:13px;letter-spacing:0}
.hbnx{position:absolute;right:10px;top:50%;transform:translateY(-50%);
 background:none;border:0;cursor:pointer;padding:4px 9px;line-height:1;
 font-size:19px;color:rgba(233,225,205,.6)}
.hbnx:hover{color:var(--cream)}
.hbnx:focus-visible{outline:2px solid var(--goldL);outline-offset:1px}
@media(max-width:760px){
 .hbnw{flex-direction:column;gap:7px;align-items:flex-start;text-align:left;
  padding:10px 40px 11px 16px}
 .hbn p{font-size:14.5px}
}

.dchk{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:80;
 width:min(330px,calc(100vw - 28px));background:var(--cream);border:1px solid var(--gold);
 padding:20px 22px 21px;text-align:left;
 box-shadow:0 14px 40px rgba(30,58,43,.19);
 opacity:0;transform:translateY(14px);pointer-events:none;
 transition:opacity .42s ease,transform .42s ease}
.dchk.on{opacity:1;transform:none;pointer-events:auto}
.dchk .lb{display:block;margin-bottom:8px}
.dchk h4{font-family:'Bodoni','Didot',Georgia,serif;font-style:normal;font-weight:400;
 font-size:24px;line-height:1.12;color:var(--green);margin:0 0 8px}
.dchk p{margin:0 0 16px;font-size:14.6px;line-height:1.55;color:var(--mut)}
.dchkb{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.dchkb .btn{margin:0}
.dchkx{position:absolute;right:7px;top:6px;background:none;border:0;cursor:pointer;
 padding:5px 9px;line-height:1;font-size:19px;color:var(--mut)}
.dchkx:hover{color:var(--green)}
.dchkx:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
/* the floating social rail already owns the bottom-right corner. One floating
   thing at a time: the rail steps aside while the panel is up, and comes back
   the moment it is dismissed. */
.socfl{transition:opacity .3s ease}
body.dchk-on .socfl{opacity:0;pointer-events:none}
/* on a phone it becomes a compact bar along the bottom - still not a takeover */
@media(max-width:620px){
 .dchk{left:8px;right:8px;bottom:8px;width:auto;padding:12px 14px 13px}
 .dchk .lb{margin-bottom:5px;font-size:10.5px}
 .dchk h4{font-size:19px;margin-bottom:3px}
 .dchk p{font-size:13.4px;line-height:1.45;margin-bottom:11px}
 .dchkb{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}
 .dchkb .btn{padding:9px 15px;font-size:10.5px}
 /* one action on a phone. The packet is still two taps away in Planning
    Resources, and the second row was costing a fifth of the panel's height. */
 .dchkb .tl{display:none}
 .dchkx{right:4px;top:3px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){.dchk{transition:none}}

/* .mnote sets margin:0 auto and is declared AFTER .mnote2, so it reset the
   bottom margin to zero and the first <h3> collided with the note above it
   (visible on Event Menus and Family Meals). Restore the gap. */
.mnote.mnote2{margin-bottom:clamp(46px,5vw,64px)}
.mpane .msec:first-of-type h3{margin-top:0}

.mlegend{margin:0 0 26px;padding:14px 16px;border-left:3px solid var(--gold);
 background:rgba(200,161,90,.07);font-size:13.5px;line-height:1.62;color:#5A5348}
.mlegend strong{color:#3A352C}
.maddon{margin:14px 0 0;font-size:13.5px;color:#5A5348;line-height:1.6}
.maddon strong{color:#3A352C}

/* ---------- guest reviews ------------------------------------------------
   Three cards to a row on desktop, stacking on narrow screens. Deliberately
   quiet: a hairline, the quote in the body serif, the attribution small and
   in the muted tone. Real reviews carry themselves without a star graphic. */
.revs .revhd{display:flex;flex-direction:column;align-items:center;gap:16px}
.revs .revhd .sh{margin:0;text-align:center;flex:none}
.revs .revnav{display:flex;gap:10px;flex:none;justify-content:center}
.revs .revb{width:44px;height:44px;flex:none;cursor:pointer;background:none;
 border:1px solid var(--hair);color:var(--green);font-size:17px;line-height:1;
 transition:background .2s ease,border-color .2s ease,opacity .2s ease}
.revs .revb:hover{background:var(--card);border-color:var(--gold)}
.revs .revb[disabled]{opacity:.32;cursor:default}
.revs .revb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* the rail: native scrolling with snap points, arrows only nudge it */
/* Nicole (11 Sept): the top of the first review card was cut off. The cards
   carry the .rv reveal, which starts at translateY(22px); an overflow-x:auto
   box clips vertically too, so the raised card was sliced along the rail's
   top edge. Padding on the block axis gives the transform room to move in. */
.revs .revrail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(268px,332px);
 gap:26px;margin-top:34px;overflow-x:auto;scroll-snap-type:x mandatory;
 scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;
 padding-block:10px 26px;align-items:start}
.revs .revrail::-webkit-scrollbar{display:none}
.revs .revrail:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.revs .revrail .gr{scroll-snap-align:center}
.revs .revrail{justify-content:safe center}
@media(max-width:640px){
 .revs .revhd{flex-direction:column;align-items:center;gap:14px}
 .revs .revhd .sh{text-align:center}
 .revs .revrail{grid-auto-columns:minmax(240px,84vw)}
}
@media(prefers-reduced-motion:reduce){.revs .revrail{scroll-behavior:auto}}
.revs .gr{margin:0;padding:28px 26px 24px;background:var(--card);
 border:1px solid var(--hair);display:flex;flex-direction:column}
.revs .gr blockquote{margin:0 0 20px;font-family:'Cormorant','Caslon',serif;
 font-size:16.5px;line-height:1.72;color:var(--ink);flex:1}
.revs .gr blockquote::before{content:"“";display:block;margin:0 0 6px;
 font-family:'Bodoni','Didot',Georgia,serif;font-size:34px;line-height:.6;color:var(--gold)}
.revs .gr figcaption{display:block;border-top:1px solid var(--hair);padding-top:14px}
.revs .grs{display:block;margin:0 0 8px;color:var(--gold);font-size:13px;letter-spacing:.18em;line-height:1}
.revs .grn2{display:block;font-family:'Cormorant',serif;font-size:13px;font-weight:600;
 letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-variant-numeric:lining-nums}
.revs .grm{display:block;margin-top:4px;font-family:'Cormorant',serif;font-size:12.5px;
 letter-spacing:.06em;color:var(--mut)}
@media(max-width:640px){.revs .gr{padding:24px 22px 20px}}

/* ---------- mobile navigation -------------------------------------------
   Below 900px the seven top-level links used to wrap into a stacked block
   that pushed the logo out and filled most of the first screen. They now
   collapse behind a toggle, so the header stays one row with the brand
   visible and the page starts where it should. The drawer is the same
   markup, so there is no second copy of the nav to keep in sync.        */
.navt{display:none}
@media(max-width:900px){
 .navt{display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0 10px;flex:0 0 auto;margin-left:auto;
  background:none;border:0;cursor:pointer}
 .navt .navtb{display:block;height:2px;width:100%;background:var(--green2);
  transition:transform .25s ease,opacity .2s ease}
 .navt[aria-expanded="true"] .navtb:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .navt[aria-expanded="true"] .navtb:nth-child(2){opacity:0}
 .navt[aria-expanded="true"] .navtb:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

 /* keep the header on one row, with the logo where people expect it */
 .nav .wrap{height:58px;padding:0 14px;gap:12px;flex-wrap:nowrap}
 .brand{display:flex!important;flex:0 1 auto;min-width:0}
 .brand img{height:34px}
 .brand span{font-size:16px}
 .brand small{font-size:10px;letter-spacing:.2em}

 /* the drawer */
 .navl{position:absolute;left:0;right:0;top:100%;display:none;
  flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;
  background:var(--paper);border-bottom:1px solid var(--hair);
  box-shadow:0 12px 26px rgba(32,28,21,.13);
  max-height:calc(100vh - 86px);overflow-y:auto;padding:6px 0 12px}
 .navl.open{display:flex}
 .navl>a,.navl>.nd{width:100%;flex:0 0 auto}
 .navl>a,.navl>.nd>a{display:block;width:100%;padding:13px 20px;font-size:13px;
  letter-spacing:.09em;border-bottom:1px solid rgba(201,182,148,.4)}
 .navl>.nd{display:block!important}
 /* second-level links sit indented under their parent rather than in a
    hover menu, which does not exist on touch */
 /* a base rule sets .ndm{display:none!important} for the desktop hover
    menus, so the drawer has to beat it with !important of its own */
 .navl .ndm{position:static;display:block!important;box-shadow:none;border:0;
  transform:none;animation:none!important;
  background:rgba(234,220,190,.42);min-width:0;padding:0}
 .navl .ndm a{display:block;padding:11px 20px 11px 34px;font-size:12.5px;
  color:var(--mut);border-bottom:1px solid rgba(201,182,148,.3)}
 .navl .car{display:none}
 .nav{position:relative}
}

/* ---------- enquiry intro spacing ---------------------------------------
   The three-step line and the proof line were running together: .fsteps
   closed with 26px but .fproof pulled itself back up with a negative top
   margin, leaving about twenty pixels between two separate ideas. They are
   distinct beats before the form, so each gets room to breathe.        */
.fsteps{margin:2px auto 30px!important}
.fproof{margin:0 auto 44px!important;padding-top:26px;
 border-top:1px solid rgba(216,190,132,.22)}
@media(max-width:640px){
 .fsteps{margin:2px auto 24px!important}
 .fproof{margin:0 auto 34px!important;padding-top:22px}
}

/* ---------- the next thirty years ----------------------------------------
   A stewardship note under the anniversary badge. Sits inside the same
   section so it reads as part of the thirty-year story rather than a new
   claim, and is held to a comfortable measure so it does not run the full
   width of the page.                                                      */
/* The block centred but its text did not, and max-width:70ch on the
   paragraphs pinned them to the left edge - so "The next thirty years" sat
   off to one side directly under the centred "Thirty Years" above it.
   Centre the text and let the measure centre itself. */
.next30{max-width:74ch;margin:clamp(30px,3.4vw,44px) auto 0;
 padding-top:clamp(24px,2.6vw,32px);border-top:1px solid var(--hair);text-align:center}
.next30 .lb{display:block;margin-bottom:14px;text-align:center}
.next30 p{font-size:16.5px;line-height:1.75;color:var(--mut);margin:0 auto 14px;
 max-width:70ch;text-align:center}
.next30 p:last-child{margin-bottom:0}

/* ---------- touch targets ------------------------------------------------
   Apple and Google both put the minimum comfortable tap target at about
   44px. Several inline links and the menu tabs were sitting at 20-28px on
   a phone, including the telephone number and the events email on Visit,
   which are two of the most likely things a guest taps. Padding is added
   below the 700px breakpoint only, so the desktop rhythm is untouched.  */
@media(max-width:700px){
 /* inline text links that act as calls to action */
 main a.tl,main a.gtl,main .carfoot a,main .mdl a,main .lgsec a,
 main .sr a,main .soc a,main a.res{min-height:44px;display:inline-flex;
  align-items:center;padding-top:9px;padding-bottom:9px}
 /* menu tab strip */
 main .mtabs a,main .mtabs button{min-height:44px;display:inline-flex;
  align-items:center;padding-top:10px;padding-bottom:10px}
 /* the spec rows on Visit carry the phone number and the events email */
 main .spec a,main .spec2 a{min-height:44px;display:inline-flex;align-items:center}
 /* league standings and document links */
 main .doc{min-height:44px}
 /* the hero call to action on each page hero */
 main .hcta{min-height:44px;display:inline-flex;align-items:center;
  padding-top:10px;padding-bottom:10px}
 /* the Instagram link on Visit */
 main .ighead a{min-height:44px;display:inline-flex;align-items:center;
  padding-top:10px;padding-bottom:10px}
 /* the food rotator ticks double as controls: keep the visible bar the same
    size but give the button a real touch area around it */
 main .ftk{height:34px;padding:16px 0}
}

/* ---------- interest chips ----------------------------------------------
   Ben clicked these expecting them to navigate. They are checkboxes, but
   styled as pills they read as buttons. A small square marker in front of
   each label makes the control type obvious at a glance, and it fills in
   when ticked. Nothing about the hit area or the form changes.          */
.chip span::before{content:"";display:inline-block;width:11px;height:11px;
 margin-right:9px;vertical-align:-1px;border:1px solid currentColor;opacity:.55}
.chip input:checked+span::before{background:currentColor;opacity:1}
.chip input:checked+span{opacity:1}
.nlint legend{opacity:.9}

/* ---------- how-to-play film -------------------------------------------
   The facade already exists in the stylesheet; this only holds it to a
   sensible width so a 16:9 frame does not run the full page on a desktop. */
.ytwrap{max-width:860px;margin:34px auto 0}
.grn .ytf-alt a{color:var(--goldL);border-bottom-color:rgba(216,190,132,.5)}
@media(max-width:640px){.ytwrap{margin-top:26px}}

/* ===== upcoming closures (What's On) ===== */
.closures{max-width:720px;margin:0 auto;padding:30px 34px;border-left:3px solid var(--green);background:rgba(40,80,58,.045)}
.closures .kick{display:block;margin-bottom:18px}
.closlist{list-style:none;margin:0 0 18px;padding:0}
.closlist li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:11px 0;border-bottom:1px solid rgba(40,80,58,.16)}
.closlist li:last-child{border-bottom:0}
.closlist .cd{font-family:'Cormorant','Caslon',serif;font-size:18px;color:var(--ink);font-weight:600}
.closlist .ct{font-size:14px;color:var(--ink);opacity:.78;white-space:nowrap}
.closnote{font-size:14px;line-height:1.6;color:var(--ink);opacity:.82;margin:0}
@media (max-width:560px){.closures{padding:24px 20px}.closlist li{flex-direction:column;gap:2px}.closlist .ct{white-space:normal}}
/* ===== legibility pass, 17 Sept ===== */
.kick,.lb,.lbl,.lglabel,.nk{font-size:13.5px!important;letter-spacing:.2em!important}
.sl,.hcap,.msub,.erk,.erm2{font-size:14px!important}
.hgrid .r.hh .t,.hgrid .r.hh .c{font-size:12.5px!important}
.sm,.fine,.hrsfine,.mnote2 .sm,.mnote p,.closnote{font-size:15px!important;line-height:1.65}
.mdl a{font-size:14.5px!important}
.mds{font-size:15px!important;line-height:1.55}
.mnm{font-size:17px!important}
.mpr{font-size:16px!important}
@media (max-width:560px){.mds{font-size:14.5px!important}.sm,.fine,.hrsfine,.mnote2 .sm,.mnote p,.closnote{font-size:14.5px!important}}

/* ===== upcoming closures (What's On) ===== */
.closures{max-width:720px;margin:0 auto;padding:30px 34px;border-left:3px solid var(--green);background:rgba(40,80,58,.045)}
.closures .kick{display:block;margin-bottom:18px}
.closlist{list-style:none;margin:0 0 18px;padding:0}
.closlist li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:11px 0;border-bottom:1px solid rgba(40,80,58,.16)}
.closlist li:last-child{border-bottom:0}
.closlist .cd{font-family:'Cormorant','Caslon',serif;font-size:18px;color:var(--ink);font-weight:600}
.closlist .ct{font-size:14px;color:var(--ink);opacity:.78;white-space:nowrap}
.closnote{font-size:14px;line-height:1.6;color:var(--ink);opacity:.82;margin:0}
@media (max-width:560px){.closures{padding:24px 20px}.closlist li{flex-direction:column;gap:2px}.closlist .ct{white-space:normal}}
/* ===== legibility pass, 17 Sept ===== */
.kick,.lb,.lbl,.lglabel,.nk{font-size:13.5px!important;letter-spacing:.2em!important}
.sl,.hcap,.msub,.erk,.erm2{font-size:14px!important}
.hgrid .r.hh .t,.hgrid .r.hh .c{font-size:12.5px!important}
.sm,.fine,.hrsfine,.mnote2 .sm,.mnote p,.closnote{font-size:15px!important;line-height:1.65}
.mdl a{font-size:14.5px!important}
.mds{font-size:15px!important;line-height:1.55}
.mnm{font-size:17px!important}
.mpr{font-size:16px!important}
@media (max-width:560px){.mds{font-size:14.5px!important}.sm,.fine,.hrsfine,.mnote2 .sm,.mnote p,.closnote{font-size:14.5px!important}}

@media (max-width:640px){
  /* the last few: footer links, the wordmark and the social pills */
  .fl a,.fs a,.foot a{display:inline-block;padding:9px 2px;min-height:40px;
    box-sizing:border-box;line-height:1.4}
  .brand{display:inline-flex;align-items:center;min-height:44px}
  .socfl .socrow a,.igtile{min-width:44px;min-height:44px}
  .hcta,.tl{display:inline-block;padding:10px 0;min-height:44px;box-sizing:border-box}
}

/* ===== iOS zoom guard, 17 Sept =====
   Safari on iPhone zooms the whole page when a form field with a font under
   16px is tapped, and does not zoom back out. The newsletter sign-up had seven
   such fields. 16px is the documented threshold, so every real input gets it at
   phone width; the checkbox labels keep their own size. */
@media (max-width:640px){
  input[type='text'],input[type='email'],input[type='tel'],input[type='date'],
  input[type='number'],input[type='search'],select,textarea{
    font-size:16px!important;min-height:44px;box-sizing:border-box}
  textarea{min-height:110px}
}

/* ===== phone tap targets, 17 Sept =====
   A real 390px viewport showed tel: and mailto: links rendering 16-19px tall,
   against the 44px Apple and Google both recommend. Calling is one of the eight
   actions Ben asked to work reliably on a phone. The link keeps its typographic
   size and gains padding to reach a thumb-sized target. Desktop is untouched. */
@media (max-width:640px){
  a[href^='tel:'],a[href^='mailto:']{display:inline-block;padding:11px 2px;min-height:44px;line-height:1.45;box-sizing:border-box}
  .fl a[href^='tel:'],.fl a[href^='mailto:']{padding:9px 2px;min-height:40px}
  .mdl a,.gtl{display:inline-block;padding:10px 0;min-height:44px;box-sizing:border-box}
  .hbn .hbnx{min-width:44px;min-height:44px}
}


/* Email opt-in on the event inquiry forms. Unticked by default: consent has to be a choice. */
.fld .optin-l{display:flex;gap:.7em;align-items:flex-start;cursor:pointer;text-transform:none;letter-spacing:normal}
.fld .optin-l input{margin-top:.15em;width:1.25em;height:1.25em;flex:0 0 auto;accent-color:currentColor}
.fld .optin-l span{font-family:Caslon,serif;font-size:1.02rem;line-height:1.5;letter-spacing:normal;text-transform:none;color:rgb(180,166,132)}

/* Privacy policy and other long-form legal text. */
.legal{padding:10px 0 40px}
.legal h2{font-size:clamp(24px,2.2vw,30px);line-height:1.2;margin:1.7em 0 .55em}
.legal p{margin:0 0 1em;line-height:1.7}
.legal ul{margin:0 0 1.2em 1.2em;padding:0;list-style:disc}
.legal li{margin:0 0 .55em;line-height:1.65}
.legal a{text-decoration:underline}

/* Phones: the floating Plan an Event button and social icons become one slim bar
   along the bottom edge, so they stop sitting on top of headings and text. */
@media(max-width:600px){
 body{padding-bottom:64px}
 body .socfl{left:0;right:0;bottom:0;flex-direction:row;justify-content:space-between;align-items:center;
  gap:10px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:rgba(20,36,27,.95);border-top:1px solid rgba(216,190,132,.35)}
 body .socfl .socpe{background:transparent;border-color:rgba(216,190,132,.45);color:rgba(251,245,230,.92);font-size:11px;padding:12px 16px}
 body .socfl .socrow{gap:6px}
 body .socfl .socrow a{width:44px;height:44px;background:transparent;border-color:rgba(216,190,132,.35)}
}

/* Mobile polish (Sept 2026 audit) */
@media(max-width:600px){
 /* home: the four quick links read as one column instead of a cramped 2x2 */
 body .acts{grid-template-columns:1fr!important;justify-items:center;row-gap:4px}
 /* stacked buttons share one width so a column of them lines up */
 body .btns{flex-direction:column;align-items:center}
 body .btns .btn,body .btns>a{width:100%;max-width:300px;text-align:center;box-sizing:border-box}
 /* event pages: the proof line wraps between items instead of running off the edge */
 body .fproof{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;row-gap:4px}
 /* leagues: document title above its note, one per row */
 body .lgsec .doc{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:12px 0;border-bottom:1px solid var(--hair)}
 body .lgsec .doc .dd{font-size:.88em;opacity:.8}
 body .lgsec .doc .dd:empty{display:none}
 /* visit: wide notes stack like the others (and stop nudging the page sideways) */
 body .spec2 .sr.wide .sv{grid-column:auto}
 /* footer: one item per line, no floating separators */
 body .foot .fl{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.6}
 body .foot .fl .st{display:none}
 /* opt-in reads as body text, not a heading */
 body .fld .optin-l span{font-weight:400;font-size:.98rem}
}
a[href^="tel:"]{white-space:nowrap}
.nw{white-space:nowrap}
