/* iRest v8.1: type is option A from the direction study: Host Grotesk 400/500 with its italic as
   the second voice, Geist Mono only for times and prices. Brand cream page, sections alternate
   between cream, white, green and coral so each chapter reads as its own room. Buttons keep the
   small 10px radius. Stickers are plain brand shapes (no icons) with a white sticker edge. */

:root{
  --cream:#FFF7F0; --ow:#FFF7F0; --paper:#FFFFFF; --ink:#0A1C20; --ink-2:#33474A; --ink-3:#53676A;
  --green:#006A67; --deep:#005552; --teal:#338885; --mint:#B3D2D1; --mint-2:#E6F0F0; --sand:#EAF2EF;
  --coral:#F98669; --coral-2:#FBAA96; --peach:#FDDBD2; --coral-3:#FEF3F0; --lilac:#E8E9FE; --lilac-2:#C9CBFA;
  --sans:"Host Grotesk","Helvetica Neue",Arial,sans-serif;
  --mono:var(--sans);
  --hand:"Gloria Hallelujah","Comic Sans MS",cursive;
  --r:12px; --r-sheet:clamp(24px,3vw,40px);
}
html{background:var(--green)}
body{background:var(--cream);color:var(--ink)}
h2{font-weight:500;font-size:clamp(40px,5.4vw,80px);line-height:.96;letter-spacing:-.045em}
/* the second voice: Gloria Hallelujah, iRest's secondary typeface. ?second=sans previews a plain alternative */
h1 i,h2 i,h3 i{font-family:var(--hand);font-style:normal;font-weight:400;letter-spacing:0;font-size:.8em;line-height:1.05}
.sec-sans h1 i,.sec-sans h2 i,.sec-sans h3 i{font-family:var(--sans);font-size:1em;font-weight:500;letter-spacing:inherit}
body{font-variant-numeric:tabular-nums}
h2 i{color:var(--green)}
.green h2 i{color:var(--coral-2)}
.coral h2 i{color:var(--deep)}
.num,.mono{font-family:var(--sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.clock,.live,.foot-sub,.pm-date,.pass-facts,.bub small,.hc-n,.op-n,.tb-msg .mono{font-family:var(--sans)!important}
.cream{background:var(--cream)}
.white{background:var(--paper)}
.green{background:var(--green);color:var(--cream)}
.coral{background:var(--coral);color:var(--ink)}
.green .lede{color:rgba(255,247,240,.86)}
.coral .lede{color:var(--ink)}
/* every section heading is two lines: the statement, then the Gloria line beneath it */
.sheet h2{max-width:none!important}
.sheet h2 i,.foot-h i{display:block}
.sec-head .hd{display:grid;gap:20px;justify-items:start}
.sec-head .lede{max-width:46ch}
.nav-in{background:rgba(255,247,240,.92)}
.links a:hover{background:var(--sand)}
.clock{background:var(--sand)}

/* ---------- hero (kept) ---------- */
.hero::after{background:linear-gradient(0deg,rgba(0,64,62,.85) 0%,rgba(0,64,62,.35) 40%,rgba(0,64,62,0) 64%),linear-gradient(90deg,rgba(0,64,62,.45) 0%,rgba(0,64,62,0) 55%)}
.hero h1 i{color:var(--coral-2)}
.hero-scroll{position:absolute;z-index:2;right:max(var(--gut),env(safe-area-inset-right,0px));bottom:calc(var(--r-sheet) + 28px);display:flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;font-size:15px}
.hero-scroll i{display:block;width:1px;height:48px;background:rgba(255,247,240,.35);position:relative;overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:var(--coral);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{from{transform:translateY(-100%)}to{transform:translateY(260%)}}

/* ---------- menu sheet ---------- */
.menu{background:rgba(0,64,62,.4)}
.menu-sheet{background:var(--cream);padding-top:18px}
.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.menu-logo{width:72px;color:var(--green);line-height:0}
.menu-logo svg{width:100%;height:auto}
.menu .close{position:static;width:46px;height:46px;border-radius:10px;background:var(--coral);color:var(--ink);border:0;display:grid;place-items:center}
.menu .close svg{width:18px}
.menu-nav{display:grid}
.menu .menu-nav a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:clamp(30px,8vw,42px);letter-spacing:-.04em;line-height:1.1;padding:10px 0;border-bottom:1px solid rgba(10,28,32,.08);color:var(--ink);transition:color .3s var(--ease)}
.menu-nav a span{transition:transform .4s var(--ease)}
.menu-nav a i{font-style:normal;font-size:.7em;opacity:0;transform:translateX(-12px);transition:opacity .3s,transform .4s var(--ease)}
.menu .menu-nav a:hover,.menu .menu-nav a:focus-visible{color:var(--green)}
.menu-nav a:hover span,.menu-nav a:focus-visible span{transform:translateX(8px)}
.menu-nav a:hover i,.menu-nav a:focus-visible i{opacity:1;transform:none}
.menu-book{width:100%;justify-content:center;margin-top:20px}
.menu-foot{font-size:14px;color:var(--ink-3)}

/* ---------- WHY: green, bright stickers ---------- */
.why{position:relative;overflow:hidden;padding-block:clamp(100px,11vw,170px) clamp(90px,10vw,150px)}
.why-in{position:relative;display:grid;justify-items:center;text-align:center;gap:28px}

.why h2 i{color:var(--green)}
.why-p{max-width:56ch}
.tiles{list-style:none;margin:clamp(24px,3vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:1100px;text-align:left;color:var(--ink)}
.tiles{align-items:stretch}
.tiles li{position:relative;border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:210px;overflow:hidden;rotate:var(--tilt,0deg);transition:rotate .6s var(--ease),transform .6s var(--ease),box-shadow .6s var(--ease)}
.tiles li:nth-child(1){--tilt:-1.5deg}.tiles li:nth-child(2){--tilt:1deg}.tiles li:nth-child(3){--tilt:-1deg}.tiles li:nth-child(4){--tilt:1.5deg}
.tiles li:hover{rotate:0deg;transform:translateY(-8px) scale(1.02);box-shadow:0 30px 50px -30px rgba(10,28,32,.45)}
.tsh{position:absolute;right:16px;top:16px;width:64px;aspect-ratio:1;background:var(--sc);-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat;transition:transform .7s var(--ease)}
.tiles li:hover .tsh{transform:rotate(-18deg) scale(1.08)}
.tiles b{font-weight:500;font-size:clamp(23px,2.1vw,30px);line-height:1.05;letter-spacing:-.035em}
.tiles span{font-size:15px}
.t-green{background:var(--green);color:var(--cream)}
.t-white{background:var(--paper);box-shadow:0 1px 0 rgba(10,28,32,.05),0 14px 30px -22px rgba(10,28,32,.35)}
.t-peach{background:var(--peach)}
.t-lilac{background:var(--lilac)}

/* ---------- CHOOSE (kept) ---------- */
.choose{--cbg:#006A67;--cfg:#FFF7F0;background:var(--cbg);color:var(--cfg);transition:background .6s var(--ease),color .6s var(--ease);padding:0;overflow:hidden}
.choose-in{position:relative;z-index:2;min-height:max(720px,100svh);display:grid;align-content:center;justify-items:center;text-align:center;padding:clamp(90px,10vw,140px) var(--gut)}
.choose-k{font-size:15px;opacity:.8;margin-bottom:18px}
.stack{list-style:none;margin:0;padding:0;display:grid;justify-items:center}
.stack a{display:block;text-decoration:none;font-size:clamp(44px,7.2vw,112px);line-height:1;letter-spacing:-.055em;font-weight:500;padding:.02em 0}
.stack .sw{position:relative;display:block;overflow-x:visible;overflow-y:clip;height:1.08em;white-space:nowrap}
.stack .sw span{display:block;height:100%;line-height:1.08;transition:transform .55s var(--ease)}
.stack .sw span + span{position:absolute;left:0;right:0;top:100%;font-family:var(--hand);font-size:.78em;line-height:1.385;letter-spacing:0;font-weight:400}
.sec-sans .stack .sw span + span{font-family:var(--sans);font-size:1em;line-height:1;font-style:italic}
.stack .th{display:none}
.stack a:hover .sw span,.stack a:focus-visible .sw span,.stack li.on .sw span{transform:translateY(-100%)}
.choose-note{margin-top:28px;font-size:16px;min-height:1.5em;opacity:.85}
.choose-note a{text-decoration:underline;text-underline-offset:4px}
.pics figure{position:absolute;z-index:1;margin:0;width:clamp(150px,15vw,240px);aspect-ratio:4/5;border-radius:10px;overflow:hidden;opacity:0;transform:scale(.6) rotate(var(--r0));transition:opacity .35s var(--ease),transform .6s var(--ease);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.pics img{width:100%;height:100%;object-fit:cover}
.pics.on figure{opacity:1;transform:scale(1) rotate(var(--r1))}
.pics figure:nth-child(1){left:5%;top:14%;--r0:-14deg;--r1:-8deg}
.pics figure:nth-child(2){right:6%;top:10%;--r0:14deg;--r1:7deg;transition-delay:.05s}
.pics figure:nth-child(3){left:9%;bottom:8%;--r0:12deg;--r1:6deg;transition-delay:.1s}
.pics figure:nth-child(4){right:4%;bottom:12%;--r0:-12deg;--r1:-6deg;transition-delay:.15s}

/* ---------- WAYS: the old tab shape, with a sliding green indicator ---------- */
.seg{position:relative;display:inline-flex;gap:4px;padding:5px;border-radius:13px;background:rgba(10,28,32,.06)}
.seg-ind{position:absolute;left:0;top:5px;bottom:5px;width:0;border-radius:9px;background:var(--green);transition:transform .55s var(--ease),width .55s var(--ease)}
.seg button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;border:0;background:none!important;padding:11px 16px 11px 13px;border-radius:9px;font-weight:500;font-size:15px;color:var(--ink);transition:color .35s var(--ease)}
.seg button [data-ic]{width:19px;height:19px;color:var(--green);transition:color .35s}
.seg button[aria-selected="true"]{color:var(--cream)}
.seg button[aria-selected="true"] [data-ic]{color:var(--coral-2)}

/* ---------- COMMUNITY ---------- */
.community{padding-block:clamp(90px,10vw,140px);overflow:hidden}
.cs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px clamp(40px,6vw,100px);align-items:center}
.cs-copy{display:grid;gap:24px;justify-items:start}
.cs-copy h2{max-width:11ch}
.community .lede{max-width:44ch}
.cs-tix{list-style:none;margin:4px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.cs-tix li{background:var(--cream);color:var(--ink);border-radius:14px;padding:16px 18px 18px;display:grid;gap:2px;align-content:start}
.cs-tix .ix{width:38px;height:38px;border-radius:10px;background:var(--green);color:var(--cream);padding:9px;margin-bottom:12px}
.cs-tix small{font-size:13.5px;color:var(--ink-3)}
.cs-tix b{font-weight:500;font-size:clamp(22px,1.9vw,27px);letter-spacing:-.035em;line-height:1.1}
.cs-tix em{font-style:normal;font-size:14px;color:var(--ink-2)}
.cs-art{position:relative;aspect-ratio:1;width:100%;max-width:580px;justify-self:end}
.cs-shape{position:absolute;inset:0;margin:0;-webkit-mask:var(--s3) center/contain no-repeat;mask:var(--s3) center/contain no-repeat}
.cs-shape img{width:100%;height:100%;object-fit:cover}
.cs-badge{position:absolute;left:0;bottom:12%;display:inline-flex;align-items:center;gap:8px;background:var(--cream);color:var(--ink);border-radius:10px;padding:10px 14px 10px 12px;font-size:14px;font-weight:500;rotate:-4deg;box-shadow:0 18px 40px -18px rgba(0,0,0,.5)}

/* ---------- WHAT'S ON: tickets with real notches, progress under the row ---------- */
.pass{border-radius:10px;border:0;box-shadow:none;--notch:calc(100% - 58px);-webkit-mask:radial-gradient(circle 11px at 0 var(--notch),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% var(--notch),#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 var(--notch),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% var(--notch),#0000 98%,#000) right/51% 100% no-repeat}
.pass:hover{transform:translateY(-6px)}
.pass-media{border-radius:6px}
.pass-stub{height:58px;padding:0 20px;border-top:2px dashed rgba(10,28,32,.14)}
.pass-stub::before,.pass-stub::after{display:none}
.passes{padding-bottom:12px}
.row-ctrl button{width:44px;height:44px;border-radius:10px;border:0;background:var(--paper);box-shadow:0 1px 0 rgba(10,28,32,.06),0 8px 20px -12px rgba(10,28,32,.3)}
.row-ctrl button:hover{background:var(--green);color:var(--cream)}

/* ---------- MOMENTS: white, two rows of square photos drifting past each other ---------- */
.moments{padding-block:clamp(100px,11vw,160px) clamp(80px,9vw,130px);overflow:hidden}
.mo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px 60px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,72px)}
.mo-head h2{max-width:12ch}
.mo-side{display:grid;gap:22px;justify-items:start;max-width:44ch}
.reel{position:relative;display:grid;gap:clamp(12px,1.4vw,20px)}
.reel-row{overflow:hidden}
.reel-track{display:flex;gap:clamp(12px,1.4vw,20px);width:max-content;animation:reel 60s linear infinite;will-change:transform}
.reel-row.rev .reel-track{animation-direction:reverse;animation-duration:70s}
.reel-row:hover .reel-track{animation-play-state:paused}
@keyframes reel{to{transform:translate3d(-50%,0,0)}}
.reel figure{margin:0;flex:none;height:clamp(200px,20vw,290px);aspect-ratio:1;border-radius:12px;overflow:hidden}
.reel img{width:100%;height:100%;object-fit:cover;pointer-events:none;transition:transform .8s var(--ease)}
.reel figure:hover img{transform:scale(1.06)}

/* ---------- HOW BOOKING WORKS: green, build your booking and the message writes itself ---------- */
.how{padding-block:clamp(100px,11vw,150px)}
.how-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px clamp(40px,6vw,100px);align-items:center}
.how-copy{display:grid;gap:26px;justify-items:start}
.how-copy h2{max-width:9ch}
.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.how-steps li{display:flex;gap:14px;align-items:center;font-size:17px}
.how-steps b{position:relative;flex:none;width:46px;height:46px;display:grid;place-items:center;color:var(--ink);font-weight:500;font-size:17px;isolation:isolate}
.how-steps b::before{content:"";position:absolute;inset:0;background:var(--c);-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat;z-index:-1;transition:transform .6s var(--ease)}
.how-steps li:hover b::before{transform:rotate(-20deg)}
.how-steps li:nth-child(1) b{--sh:var(--s1);--c:var(--peach)}
.how-steps li:nth-child(2) b{--sh:var(--s6);--c:var(--lilac)}
.how-steps li:nth-child(3) b{--sh:var(--s3);--c:var(--cream)}
.builder{background:var(--cream);color:var(--ink);border-radius:22px;padding:clamp(20px,2.2vw,30px);display:grid;gap:18px;box-shadow:0 40px 80px -50px rgba(0,0,0,.6)}
.builder fieldset{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.builder legend{padding:0;margin-bottom:10px;font-size:14px;font-weight:500;color:var(--ink-2)}
.bd-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}
.bd-opts{display:flex;flex-wrap:wrap;gap:6px}
.bd-opts button{border:0;background:var(--paper);border-radius:10px;padding:10px 14px;font-size:15px;font-weight:500;box-shadow:inset 0 0 0 1px rgba(10,28,32,.08);transition:background .25s,color .25s,box-shadow .25s}
.bd-opts button:hover{box-shadow:inset 0 0 0 1px var(--green)}
.bd-opts button[aria-pressed="true"]{background:var(--green);color:var(--cream);box-shadow:none}
.bd-out{margin-top:4px;background:#ECE5DD;border-radius:16px;padding:16px;display:grid;gap:14px}
.bd-chat{display:flex;gap:10px;align-items:flex-end}
.bd-chat .wa-av{flex:none;width:32px;height:32px;border-radius:50%;background:var(--green);color:var(--cream);padding:6px;display:grid;place-items:center}
.bd-chat .wa-av svg{width:100%;height:100%}
.bd-chat .bub{margin:0;max-width:100%;flex:1;font-size:15.5px}
.bd-chat .bub.flash{animation:popIn .45s var(--ease)}
@keyframes popIn{from{opacity:.2;transform:translateY(6px)}}
.bd-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.bd-foot small{display:block;font-size:13px;color:var(--ink-2)}
.bd-foot b{font-weight:500;font-size:26px;letter-spacing:-.03em}
.bd-foot .btn{background:var(--green);color:var(--cream)}
.bd-foot .btn:hover{background:var(--deep)}

/* ---------- PRICES: pick on the left, details on the right ---------- */
.pick{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:14px;align-items:start}
.pick-list{display:grid;gap:8px;align-content:start}
.pick-list button{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"badge" "name" "from";justify-items:start;gap:3px 16px;text-align:left;border:0;background:var(--paper);border-radius:16px;padding:18px 20px;transition:background .4s var(--ease),transform .4s var(--ease)}
.pick-list button:hover{transform:translateX(4px)}
.pick-list button[aria-selected="true"]{background:var(--tint);transform:none}
.pk-badge{grid-area:badge;display:inline-block;background:var(--badge);color:var(--bf);font-weight:500;font-size:12.5px;border-radius:6px;padding:4px 8px;margin-bottom:6px}
.pk-name{grid-area:name;font-weight:500;font-size:clamp(22px,1.9vw,27px);letter-spacing:-.035em;line-height:1}
.pk-from{grid-area:from;font-size:15px;color:var(--ink-2)}
.pick-panel{--tint:var(--peach);background:var(--tint);border-radius:22px;padding:12px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(18px,2.4vw,36px);align-items:start;transition:background .5s var(--ease)}
.pp-art{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5}
.pp-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pp-main{display:grid;gap:14px;align-content:start;padding:clamp(12px,1.4vw,22px) clamp(10px,1.2vw,18px) clamp(12px,1.4vw,22px) 0}
.pp-main h3{font-size:clamp(30px,2.8vw,42px);font-weight:500;letter-spacing:-.045em;line-height:1}
.pp-desc{color:var(--ink-2)}
.rows{list-style:none;margin:0;padding:0;display:grid}
.rows li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-top:1px solid rgba(10,28,32,.1);font-size:16px}
.rows li:first-child{border-top:0}
.rows .p{font-weight:500;font-size:16px;white-space:nowrap}
.rows .p small{font-weight:400;color:var(--ink-3);font-size:12px}
.rows.perks li{justify-content:flex-start;gap:10px;color:var(--ink-2);font-size:15px}
.rows.perks svg{width:18px;height:18px;flex:none;color:var(--green);transform:translateY(3px)}
.rows-k{font-weight:500;font-size:14px;color:var(--green);margin-top:6px}
.hseg{display:inline-flex;gap:3px;padding:3px;border-radius:10px;background:rgba(255,255,255,.75);justify-self:start}
.hseg button{border:0;background:none;border-radius:8px;padding:7px 12px;font-weight:500;font-size:14px}
.hseg button[aria-pressed="true"]{background:var(--green);color:var(--cream)}
.pp-main .btn{justify-self:start;margin-top:6px}

/* ---------- HOST: heading on top, invitations fanned across the full width ---------- */
.host{padding-block:clamp(100px,11vw,150px) clamp(80px,8vw,120px);overflow:hidden}
.host .btn{background:var(--coral);color:var(--ink)}
.host .sec-head{margin-bottom:28px}
.dcard .dc-b{grid-template-rows:auto 1fr auto}
.deck-tabs{display:flex;flex-wrap:wrap;gap:8px}
.deck-tabs button{border:0;border-radius:10px;padding:10px 14px;font-size:15px;font-weight:500;background:rgba(255,247,240,.1);color:var(--cream);transition:background .3s,color .3s}
.deck-tabs button:hover{background:rgba(255,247,240,.2)}
.deck-tabs button[aria-pressed="true"]{background:var(--cream);color:var(--green)}
.deck-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.deck{display:flex;gap:clamp(12px,1.4vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;margin-top:clamp(28px,3vw,44px);padding:4px max(var(--gut),env(safe-area-inset-left,0px)) 10px;scroll-padding-left:max(var(--gut),env(safe-area-inset-left,0px));scrollbar-width:none}
.deck::-webkit-scrollbar{display:none}
.dcard{flex:0 0 clamp(270px,26vw,360px);scroll-snap-align:start;background:var(--cream);color:var(--ink);border-radius:18px;padding:12px;display:grid;grid-template-rows:auto 1fr;gap:4px;text-decoration:none;transition:transform .5s var(--ease)}
.dcard:hover{transform:translateY(-6px)}
.dcard figure{margin:0;aspect-ratio:4/3.4;border-radius:12px;overflow:hidden}
.dcard img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.dcard:hover img{transform:scale(1.05)}
.dc-b{display:grid;gap:6px;padding:14px 10px 10px;align-content:start}
.dcard h3{font-family:var(--hand);font-weight:400;font-size:clamp(28px,2.4vw,34px);line-height:1.1;color:var(--green)}
.dcard p{font-size:15px;color:var(--ink);line-height:1.45}
.dcard a{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;text-decoration:none;color:var(--ink);margin-top:auto;padding-top:6px}
.dcard a svg{width:14px;transition:transform .3s var(--ease)}
.dcard a:hover svg{transform:translateX(3px)}
/* the occasion cards keep their full size and scroll; mouse users get arrows, touch users get tabs */
.dcard{flex:0 0 clamp(300px,30vw,420px)}
.deck-arrows{display:flex;gap:8px;flex:none}
.deck-arrows button{width:44px;height:44px;border-radius:10px;border:0;background:rgba(255,247,240,.12);color:var(--cream);display:grid;place-items:center;transition:background .3s,opacity .3s}
.deck-arrows button:hover{background:var(--cream);color:var(--green)}
.deck-arrows button:disabled{opacity:.3;pointer-events:none}
.deck-arrows svg{width:16px}
@media (min-width:1400px){.deck{padding-left:calc((100vw - 1320px)/2 + var(--gut));scroll-padding-left:calc((100vw - 1320px)/2 + var(--gut))}}
@media (hover:hover) and (min-width:1081px){.deck-tabs{display:none}.deck-bar{justify-content:flex-end}}
@media (hover:none),(max-width:1080px){.deck-arrows{display:none}}
.host-light .deck-tabs button{background:rgba(10,28,32,.06);color:var(--ink)}
.host-light .deck-tabs button[aria-pressed="true"]{background:var(--green);color:var(--cream)}
.host-light .deck-arrows button{background:var(--paper);color:var(--ink);box-shadow:0 1px 0 rgba(10,28,32,.06)}
.host-light .dcard{background:var(--paper)}

/* ---------- FAQ: white ---------- */
.faq{padding-block:clamp(100px,11vw,150px)}
.faq-head{display:grid;gap:18px;justify-items:start}
.acc{border:0;display:grid;gap:8px}
.qa{border:0;background:var(--cream);border-radius:14px;transition:background .4s var(--ease)}
.qa button{padding:20px 20px 20px 24px;font-size:clamp(18px,1.4vw,21px);letter-spacing:-.02em}
.qa.open{background:var(--mint-2)}
.ans p{padding:0 64px 24px 24px;color:var(--ink-2)}
.plus{width:36px;height:36px;border-radius:10px;background:var(--paper)}
.plus::before,.plus::after{width:12px}
.qa button[aria-expanded="true"] .plus{background:var(--green);color:var(--cream)}
.wa-chip{display:inline-flex;align-items:center;gap:9px;background:var(--coral);color:var(--ink);text-decoration:none;border-radius:10px;padding:13px 18px 13px 14px;font-size:15.5px;font-weight:500;cursor:pointer}
.wa-chip [data-ic]{width:20px;height:20px}

/* ---------- FOOTER: heading and three plain links ---------- */
.foot-top{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end}
.foot-h i{color:var(--coral-2)}
.foot-go{display:grid;border-top:1px solid rgba(255,247,240,.22)}
.foot-go a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,247,240,.22);text-decoration:none;cursor:pointer}
.ft,.fi{transition:transform .5s var(--ease),background .35s,color .35s}
.ft{display:grid;gap:4px}
.ft b{font-weight:400;font-size:clamp(24px,2.3vw,32px);letter-spacing:-.035em;line-height:1.15}
.foot-go small{font-size:15px;opacity:.8}
.fi{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,247,240,.12)}
.fi svg{width:14px;height:14px}
@media (hover:hover){
  .foot-go a:hover .ft{transform:translateX(10px)}
  .foot-go a:hover .fi{transform:translateX(-4px);background:var(--coral);color:var(--ink)}
}
.foot-go a:focus-visible .fi{background:var(--coral);color:var(--ink)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-grid{grid-template-columns:minmax(0,1fr)}
  .cs-art{justify-self:center;max-width:460px}
  .how-grid{grid-template-columns:minmax(0,1fr)}
  /* prices on tablet: options become a row of chips above one full-width panel */
  .pick{grid-template-columns:minmax(0,1fr)}
  .pick-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pick-list button{grid-template-areas:"badge" "name" "from";grid-template-columns:minmax(0,1fr);padding:14px 16px}
  .pick-panel{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
}
@media (max-width:760px){
  .dcard{flex-basis:78%}
  .deck-bar{align-items:flex-start}
  .deck-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .deck-tabs::-webkit-scrollbar{display:none}
  .deck-tabs button{flex:none}
  .whatson .sec-head{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:nowrap;gap:16px}
  .sheet h2{font-size:clamp(26px,7.6vw,52px)}
  .sheet h2 i{font-size:.74em}
  .choose-in{min-height:0;justify-items:start;text-align:left;padding:90px var(--gut) 80px}
  .stack{justify-items:stretch;width:100%}
  .stack li{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
  .stack a{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(34px,10vw,48px);padding:14px 0}
  .stack .sw{flex:1}
  .stack .th{display:block;flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden}
  .stack .th img{width:100%;height:100%;object-fit:cover}
  .pics{display:none}
  .burger{display:block!important}
  .nav-in{grid-template-columns:auto 1fr auto}
  .right{gap:6px}
  .thumb .btn{flex:1}
  .hero-scroll{display:none}
  .why{padding-block:150px 90px}
  .tiles li{min-height:178px;padding:16px}
  .tsh{width:46px;right:14px;top:14px}
  .tiles b{font-size:22px}
  .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .seg button{justify-content:center;padding:11px 4px;font-size:14.5px;gap:6px}
  .seg button [data-ic]{width:17px;height:17px}
  .cs-art{order:-1}
  .reel figure{height:170px}
  .bd-row{grid-template-columns:minmax(0,1fr)}
  .bd-opts button{padding:10px 12px;font-size:14.5px}
  .pick-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pick-panel{grid-template-columns:minmax(0,1fr)}
  .pp-art{aspect-ratio:16/9}
  .pp-main{padding:6px 8px 12px}
  .ans p{padding-right:24px}
  .foot-top{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .reel-track{animation:none}
}

/* way cards: names always two lines, prices in bold */
.way .b b{font-weight:400;line-height:1.05}
.way .b span{font-family:var(--sans)!important;font-size:13px}
.way .b span strong{font-weight:600;font-size:17px}

/* pause controls for moving media (WCAG 2.2.2) */
.mpause{position:absolute;z-index:3;left:max(var(--gut),env(safe-area-inset-left,0px));bottom:calc(var(--r-sheet) + 24px);width:40px;height:40px;border-radius:10px;border:0;background:rgba(255,247,240,.16);color:var(--cream);display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mpause svg{width:14px;height:14px}
.mpause .ipl,.mpause[aria-pressed="true"] .ip{display:none}
.mpause[aria-pressed="true"] .ipl{display:block}
.hero .mpause{left:auto;right:max(var(--gut),env(safe-area-inset-right,0px));bottom:calc(var(--r-sheet) + 90px)}
.reel-bar{display:flex;justify-content:flex-end;margin:-46px auto 14px}
.reel-bar .mpause{position:static;background:var(--cream);color:var(--ink)}
.prices .sec-head .txtbtn{justify-self:start}
@media (max-width:760px){.hero .mpause{bottom:calc(var(--r-sheet) + 20px)}.reel-bar{margin-top:-20px}}

/* =====================================================================
   INNER PAGES: shared page head, activity rows, enquiry form, story, visit
   ===================================================================== */

.acts{padding-block:clamp(100px,11vw,150px)}
.act-list{display:grid;gap:clamp(48px,6vw,90px)}
.act{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px clamp(40px,6vw,100px);align-items:center;scroll-margin-top:calc(var(--navh) + 20px)}
.act:nth-child(even) .act-art{order:2}
.act-art{margin:0;aspect-ratio:1;background:var(--tint);border-radius:22px;padding:clamp(18px,2.4vw,34px)}
.act-art img{width:100%;height:100%;object-fit:cover;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.act-copy{display:grid;gap:18px;justify-items:start}
.act h3{font-size:clamp(34px,3.4vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1}
.act h3 i{display:block;font-family:var(--hand);font-style:normal;font-size:clamp(22px,2.1vw,32px);letter-spacing:0;color:var(--green);margin-top:.2em}
.act p{color:var(--ink-2);max-width:46ch;font-size:17px}
.act .rows{width:100%;max-width:520px}
.act .btn{background:var(--green);color:var(--cream)}
.pass-band{margin-top:clamp(56px,6vw,90px);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--green);color:var(--cream);border-radius:20px;padding:clamp(22px,2.6vw,34px)}
.pass-band b{display:block;font-weight:500;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.035em}
.pass-band span{opacity:.88}

.enquiry{padding-block:clamp(100px,11vw,150px)}
.enq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px clamp(40px,6vw,100px);align-items:start}
.enq-copy{display:grid;gap:24px}
.enq-rows{max-width:460px}
.enq{background:var(--paper);border-radius:22px;padding:clamp(22px,2.4vw,32px);display:grid;gap:16px;box-shadow:0 30px 60px -40px rgba(10,28,32,.4)}
.enq label{display:grid;gap:8px;font-size:14px;font-weight:500;color:var(--ink-2)}
.enq input,.enq select,.enq textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--cream);border:1px solid rgba(10,28,32,.12);border-radius:10px;padding:13px 14px;width:100%}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent}
.enq-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.enq .btn{justify-content:center;background:var(--green);color:var(--cream);border:0}
#enq{scroll-margin-top:calc(var(--navh) + 20px)}

.walkin{padding-block:clamp(90px,10vw,140px)}
.walk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(40px,6vw,100px);align-items:center}
.walk-grid .hd{display:grid;gap:20px}
.walk-grid .rows{background:var(--paper);border-radius:20px;padding:10px 24px}

.story{padding-block:clamp(100px,11vw,150px)}
.story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px clamp(40px,6vw,100px);align-items:start}
.story-copy{display:grid;gap:18px}
.story-copy p:not(.lede){color:var(--ink-2);max-width:56ch}
.story-tiles{margin-top:clamp(56px,6vw,90px)}
.visit{padding-block:clamp(100px,11vw,150px)}
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(40px,6vw,100px);align-items:center}
.visit-grid .hd{display:grid;gap:22px;justify-items:start}
.visit .txtbtn{color:var(--cream)}
.visit-art{margin:0;aspect-ratio:1;max-width:480px;justify-self:end;width:100%;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.visit-art img{width:100%;height:100%;object-fit:cover}

@media (max-width:1080px){
  .act,.enq-grid,.walk-grid,.story-grid{grid-template-columns:minmax(0,1fr)}
  .act:nth-child(even) .act-art{order:0}
  .act-art{max-width:520px}
}
@media (max-width:760px){
  .enq-two{grid-template-columns:1fr}
}

/* nav: no rolling text (it slid out of its frame); hover tints the label, the current page sits on a soft green tint */
.links a .rl,.navbtn .rl{transform:none!important}
.links a .rl::after,.navbtn .rl::after{display:none}
.links a{transition:background .3s var(--ease),color .3s var(--ease)}
.links a:hover,.links a:focus-visible{color:var(--green);background:var(--sand)}
.links a[aria-current="page"]{color:var(--green);background:var(--mint-2)}
.navbtn:hover{background:var(--coral-2)}

/* ---------- inner pages: hero like the home page, photo behind ---------- */
.phero{position:relative;z-index:1;min-height:max(560px,78svh);display:grid;align-items:end;overflow:hidden;color:var(--cream);background:var(--green);padding:calc(var(--navh) + 40px) 0 calc(clamp(56px,7vw,100px) + var(--r-sheet))}
.ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,64,62,.88) 0%,rgba(0,64,62,.4) 45%,rgba(0,64,62,.1) 75%),linear-gradient(90deg,rgba(0,64,62,.5) 0%,rgba(0,64,62,0) 60%)}
.phero-in{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:0 max(var(--gut),env(safe-area-inset-right,0px)) 0 max(var(--gut),env(safe-area-inset-left,0px));display:grid;gap:22px;justify-items:start}
.phero h1{font-size:clamp(52px,7.4vw,118px);font-weight:500;line-height:.9;letter-spacing:-.05em}
.phero h1 span,.phero h1 i{display:block}
.phero h1 i{color:var(--coral-2);margin-top:.06em}
.phero .hero-p{max-width:46ch}
.phero .txtbtn{color:var(--cream)}
.crumb{display:flex;gap:10px;font-size:15px;opacity:.9}
.crumb a{text-decoration:underline;text-underline-offset:4px}

/* ---------- prices page ---------- */
.phead-mini{position:relative;z-index:1;background:var(--green);color:var(--cream);padding:calc(var(--navh) + clamp(40px,5vw,70px)) 0 calc(clamp(50px,6vw,80px) + var(--r-sheet))}
.phead-mini .wrap{display:grid;gap:20px;justify-items:start}
.phead-mini h1{font-size:clamp(44px,5.6vw,88px);font-weight:500;line-height:.95;letter-spacing:-.05em}
.phead-mini h1 span,.phead-mini h1 i{display:block}
.phead-mini h1 i{color:var(--coral-2)}
.phead-mini .lede{color:rgba(255,247,240,.88);max-width:52ch}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.jump a{text-decoration:none;border-radius:10px;padding:10px 14px;background:rgba(255,247,240,.12);font-size:15px;font-weight:500;transition:background .3s}
.jump a:hover{background:var(--cream);color:var(--green)}
.plans{padding-block:clamp(70px,8vw,110px)}
.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.plan{border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;background:var(--paper)}
.plan.p-peach{background:var(--peach)}.plan.p-mint{background:var(--mint-2)}.plan.p-lilac{background:var(--lilac)}.plan.p-green{background:var(--green);color:var(--cream)}
.plan-tag{font-size:13px;font-weight:500;opacity:.8}
.plan h3{font-size:clamp(26px,2.2vw,32px);font-weight:500;letter-spacing:-.035em;line-height:1}
.plan-from{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.plan-from small{font-size:14px;opacity:.8}
.plan-from b{font-weight:600;font-size:clamp(30px,2.6vw,40px);letter-spacing:-.035em}
.plan ul,.mb ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1}
.plan li,.mb li{display:flex;gap:10px;font-size:15px;line-height:1.4}
.plan li svg,.mb li svg{width:18px;height:18px;flex:none;color:var(--green);transform:translateY(1px)}
.p-green li svg{color:var(--coral-2)}
.plan .btn{justify-content:center;background:var(--green);color:var(--cream)}
.p-green .btn{background:var(--coral);color:var(--ink)}
.plist{padding-block:clamp(90px,10vw,140px)}
.pblock{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px clamp(30px,5vw,80px);padding:clamp(28px,3vw,44px) 0;border-top:1px solid rgba(10,28,32,.1);scroll-margin-top:calc(var(--navh) + 20px)}
.pb-head h3{font-size:clamp(28px,2.6vw,38px);font-weight:500;letter-spacing:-.04em}
.pb-head p{color:var(--ink-2);margin-top:8px;max-width:32ch}
.ptable-wrap{overflow-x:auto}
.ptable{width:100%;border-collapse:collapse;font-size:16px}
.ptable th,.ptable td{text-align:left;padding:14px 12px;border-bottom:1px solid rgba(10,28,32,.08);white-space:nowrap}
.ptable thead th{font-size:13px;font-weight:500;color:var(--ink-3);border-bottom-color:rgba(10,28,32,.16)}
.ptable tbody th{font-weight:400}
.ptable td{font-weight:600;text-align:right}
.ptable thead th:not(:first-child){text-align:right}
.ptable td small{font-weight:400;color:var(--ink-3)}
.ptable tbody tr:hover{background:var(--cream)}
.members{padding-block:clamp(90px,10vw,140px)}
.mb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:900px}
.mb{background:var(--cream);color:var(--ink);border-radius:20px;padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:14px}
.mb-full{background:var(--paper)}
.mb h3{font-size:clamp(28px,2.6vw,38px);font-weight:500;letter-spacing:-.04em}
.mb-for{color:var(--ink-2);margin-top:-8px}
.mb .btn{justify-content:center;background:var(--green);color:var(--cream)}
.how-light .btn{background:var(--green)}
.how.cream{color:var(--ink)}
.how.cream .lede{color:var(--ink-2)}
.how.cream .builder{background:var(--paper)}
.how.cream .how-steps b{color:var(--ink)}

/* ---------- host page ---------- */
.espaces{padding-block:clamp(90px,10vw,140px)}
.es-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.es{display:grid;gap:10px;align-content:start}
.es figure{margin:0;aspect-ratio:1;background:var(--cream);border-radius:18px;padding:16px}
.es img{width:100%;height:100%;object-fit:cover;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.es h3{font-size:22px;font-weight:500;letter-spacing:-.03em;margin-top:6px}
.es p{color:var(--ink-2);font-size:15px}
.es-p{font-size:15px}
.es-p b{font-weight:600}
.es-all{grid-column:1/-1;background:var(--green);color:var(--cream);border-radius:20px;padding:clamp(22px,2.6vw,34px);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.es-all p{color:rgba(255,247,240,.88);font-size:16px;max-width:60ch}
.es-all .btn{background:var(--coral);color:var(--ink)}
.hsteps{padding-block:clamp(90px,10vw,140px)}
.hs-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hs-list li{background:rgba(255,247,240,.08);border-radius:20px;padding:24px;display:grid;gap:10px;align-content:start}
.hs-list b{position:relative;width:52px;height:52px;display:grid;place-items:center;color:var(--ink);font-weight:500;font-size:18px;isolation:isolate}
.hs-list b::before{content:"";position:absolute;inset:0;background:var(--c);-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat;z-index:-1}
.hs-list h3{font-size:24px;font-weight:500;letter-spacing:-.03em;margin-top:6px}
.hs-list p{color:rgba(255,247,240,.86);font-size:15.5px}

/* ---------- about: the map ---------- */
.story-tiles{max-width:1320px;margin:clamp(56px,6vw,90px) auto 0;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.visit-grid,.visit-art{display:none}
.map{position:relative;border-radius:22px;overflow:hidden;background:var(--deep);min-height:clamp(420px,46vw,600px)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.9)}
.map-card{position:absolute;left:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);width:min(360px,calc(100% - 28px));background:var(--cream);color:var(--ink);border-radius:18px;padding:22px;display:grid;gap:12px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.mc-k{font-family:var(--hand);font-size:26px;line-height:1.1;color:var(--green)}
.mc-h{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-block:1px solid rgba(10,28,32,.1)}
.mc-h b{font-weight:500}
.map-card .btn{justify-content:center;background:var(--green);color:var(--cream)}
.map-card .txtbtn{justify-self:start;font-size:15px}

/* ---------- contact ---------- */
.reach{padding-block:clamp(90px,10vw,140px)}
.reach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rc{display:grid;gap:8px;align-content:start;background:var(--paper);border-radius:20px;padding:24px;text-decoration:none;color:var(--ink);transition:transform .4s var(--ease)}
a.rc:hover{transform:translateY(-4px)}
.rc-green{background:var(--green);color:var(--cream)}
.rc-ic{width:44px;height:44px;border-radius:10px;background:var(--mint-2);color:var(--green);padding:11px;margin-bottom:8px}
.rc-green .rc-ic{background:rgba(255,247,240,.14);color:var(--cream)}
.rc h3{font-size:24px;font-weight:500;letter-spacing:-.03em}
.rc p{opacity:.85}
.rc-go{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;margin-top:8px}
.rc-go svg{width:14px}

/* ---------- team and careers ---------- */
.crew,.roles{padding-block:clamp(90px,10vw,140px)}
.crew-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px clamp(40px,6vw,100px);align-items:center}
.crew-photo{margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-width:460px}
.crew-photo img{width:100%;height:100%;object-fit:cover}
.crew-copy{display:grid;gap:20px;justify-items:start}
.crew-note{color:var(--ink-2)}
.crew .btn,.role-empty .btn{background:var(--green);color:var(--cream)}
.roles-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(40px,6vw,100px);align-items:center}
.roles-grid .hd{display:grid;gap:20px}
.role-empty{position:relative;overflow:hidden;background:var(--paper);border-radius:22px;padding:clamp(24px,3vw,40px);display:grid;gap:14px;justify-items:start}
.role-empty h3{font-size:clamp(24px,2.2vw,30px);font-weight:500;letter-spacing:-.03em}
.role-empty p{color:var(--ink-2);max-width:38ch}
.re-sh{width:70px;aspect-ratio:1;background:var(--lilac-2);-webkit-mask:var(--s6) center/contain no-repeat;mask:var(--s6) center/contain no-repeat}

@media (max-width:1080px){
  .plan-grid,.reach-grid,.es-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pblock,.crew-grid,.roles-grid{grid-template-columns:minmax(0,1fr)}
  .hs-list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .phero{min-height:max(520px,70svh)}
  .phero h1{font-size:clamp(40px,11vw,60px)}
  .plan-grid,.reach-grid,.mb-grid{grid-template-columns:minmax(0,1fr)}
  .es-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .map{min-height:560px}
  .map-card{left:12px;right:12px;width:auto;bottom:12px}
  .ptable th,.ptable td{padding:12px 8px;font-size:15px}
}

/* ---------- pricing: one line between blocks, roomier plan cards ---------- */
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:0}
.plan-grid{gap:16px}
.plan{padding:clamp(24px,2.2vw,32px);gap:20px;min-height:100%}
.plan h3{margin-top:-6px}
.plan-from{padding-bottom:18px;border-bottom:1px solid rgba(10,28,32,.1)}
.p-green .plan-from{border-color:rgba(255,247,240,.2)}
.plan ul{gap:14px}
.plan li{font-size:15.5px}
.plan .btn{margin-top:6px}
@media (max-width:1280px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- about: team teaser ---------- */
.tteaser{padding-block:clamp(90px,10vw,140px)}
.tt-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px clamp(40px,6vw,100px);align-items:center}
.tt-photo{margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-width:380px}
.tt-photo img{width:100%;height:100%;object-fit:cover}
.tt-grid .hd{display:grid;gap:20px;justify-items:start}
.tt-grid .btn{background:var(--green);color:var(--cream)}

/* ---------- what's on page ---------- */
.evpage{padding-block:clamp(90px,10vw,140px)}
.ev-feat{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:var(--paper);border-radius:24px;overflow:hidden}
.ev-feat figure{margin:0;min-height:420px}
.ev-feat img{width:100%;height:100%;object-fit:cover}
.ev-fb{padding:clamp(28px,3.4vw,52px);display:grid;gap:18px;align-content:center;justify-items:start}
.ev-kind{font-size:14px;font-weight:500;background:var(--mint-2);color:var(--green);border-radius:8px;padding:5px 10px}
.ev-feat h3{font-size:clamp(34px,3.6vw,56px);font-weight:500;letter-spacing:-.045em;line-height:1}
.ev-feat p,.ev-card p{color:var(--ink-2)}
.ev-facts{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.ev-facts li{display:flex;gap:10px;align-items:center}
.ev-facts svg{width:18px;height:18px;color:var(--green);flex:none}
.ev-feat .btn{background:var(--green);color:var(--cream)}
.ev-sub{font-size:clamp(24px,2.2vw,30px);font-weight:500;letter-spacing:-.03em;margin:clamp(56px,6vw,80px) 0 22px}
.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ev-card{background:var(--paper);border-radius:20px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.ev-card figure{margin:12px 12px 0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--tint)}
.ev-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ev-card:hover img{transform:scale(1.05)}
.ev-cb{padding:20px 22px 24px;display:grid;gap:12px;align-content:start;justify-items:start}
.ev-card h3{font-size:clamp(24px,2vw,30px);font-weight:500;letter-spacing:-.035em;line-height:1.05}
.ev-link{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none;color:var(--green);margin-top:4px}
.ev-link svg{width:14px}
.evhost{padding-block:clamp(80px,9vw,120px)}
.eh-band{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.eh-band .hd{display:grid;gap:18px}
.eh-band .btn{background:var(--green);color:var(--cream)}

/* ---------- host page: spaces as large photo cards ---------- */
.espaces .sec-head .btn{background:var(--green);color:var(--cream)}
.sp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,clamp(260px,24vw,340px));gap:14px}
.sp{position:relative;border-radius:20px;overflow:hidden;color:var(--cream);isolation:isolate;background:var(--deep)}
.sp-all{grid-column:span 2;grid-row:span 2}
.sp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--ease)}
.sp:hover img{transform:scale(1.05)}
.sp::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,64,62,.92) 0%,rgba(0,64,62,.35) 50%,rgba(0,64,62,0) 75%)}
.sp-b{position:absolute;left:20px;right:20px;bottom:20px;display:grid;gap:10px;justify-items:start}
.sp-k{font-size:14px;opacity:.9}
.sp h3{font-size:clamp(24px,2vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.05}
.sp-all h3{font-size:clamp(36px,3.6vw,56px)}
.sp-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sp-tags li{font-size:13px;background:rgba(255,247,240,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;padding:5px 9px}
.sp-p{font-size:15px}
.sp-p b{font-weight:600}

@media (max-width:1080px){
  .ev-feat,.tt-grid{grid-template-columns:minmax(0,1fr)}
  .ev-feat figure{min-height:300px}
  .ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto}
  .sp{min-height:280px}
  .sp-all{grid-column:1/-1;grid-row:auto;min-height:380px}
}
@media (max-width:760px){
  .ev-grid,.plan-grid{grid-template-columns:minmax(0,1fr)}
  .sp-grid{grid-template-columns:minmax(0,1fr)}
  .sp{min-height:260px}
  .sp-all{min-height:340px}
  .espaces .sec-head .btn{order:3}
}
@media (max-width:760px){
  .act-art{aspect-ratio:16/11;padding:12px;border-radius:18px}
  .act h3{font-size:34px}
  .act-copy{gap:14px}
}
.plan-from small:first-child{flex-basis:100%;margin-bottom:-2px}
.plan-from b{font-size:clamp(30px,2.4vw,38px)}

/* ---------- about: meet the team ---------- */
.tteam{padding-block:clamp(90px,10vw,140px)}
.team-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.tm{display:grid;gap:4px}
.tm-ph{position:relative;margin:0 0 12px;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--tint);display:grid;place-items:center}
.tm-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tm-sh{position:absolute;width:62%;aspect-ratio:1;background:rgba(255,255,255,.55);-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.tm-ph b{position:relative;font-weight:500;font-size:clamp(36px,3.4vw,52px);letter-spacing:-.04em;color:var(--green)}
.tm h3{font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.03em}
.tm p{color:var(--ink-2);font-size:15.5px}

/* occasion cards: narrower on phones */
@media (max-width:760px){
  .dcard{flex-basis:66%}
  .dcard figure{aspect-ratio:4/3}
  .dcard h3{font-size:26px}
  .dcard p{font-size:14.5px}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* play: on tablets keep photo and prices side by side */
@media (min-width:761px) and (max-width:1080px){
  .act{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px 36px;align-items:start}
  .act:nth-child(even) .act-art{order:2}
  .act-art{max-width:none;padding:16px}
  .act h3{font-size:36px}
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* FAQ on cream pages: white cards so the edges read */
.faq.cream .qa{background:var(--paper);box-shadow:0 1px 0 rgba(10,28,32,.05)}
.faq.cream .plus{background:var(--cream)}
.faq.cream .qa.open{background:var(--mint-2)}

/* Community on tablet: keep copy and photo side by side instead of a huge stacked shape */
@media (min-width:761px) and (max-width:1080px){
  .cs-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:center}
  .cs-art{order:0;max-width:none;justify-self:stretch}
  .cs-copy h2{max-width:none}
  .cs-art{aspect-ratio:4/5}
  .cs-badge{bottom:6%;font-size:13px}
}

/* TEAM: square cards, photo held in a brand shape (top two-thirds), name and role below */
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.tm{aspect-ratio:1;display:flex;flex-direction:column;gap:0;background:var(--tint);border-radius:22px;padding:clamp(14px,1.4vw,20px);overflow:hidden}
.tm .tm-ph{flex:0 0 64%;min-height:0;margin:0;aspect-ratio:auto;border-radius:0;background:none;overflow:visible;display:grid;place-items:center;position:relative}
.tm .tm-ph::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6);-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.tm .tm-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.tm .tm-ph b{position:relative;font-weight:500;font-size:clamp(30px,2.6vw,42px);letter-spacing:-.04em;color:var(--green)}
.tm-tx{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;text-align:left}
.tm h3{font-size:clamp(17px,1.35vw,21px);line-height:1.15;letter-spacing:-.025em}
.tm p{font-size:14.5px}
@media (min-width:761px) and (max-width:1080px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tm{aspect-ratio:auto;padding:12px 12px 14px;border-radius:18px}
  .tm .tm-ph{flex:none;height:112px;margin-bottom:12px}
  .tm h3{font-size:16px}
  .tm p{font-size:13.5px}
}

/* hero: drone footage, no Instagram crop needed */
.hero video{object-position:50% 50%;transform:none}
@media (max-width:760px){.hero video{object-position:50% 50%;transform:none}}

/* MOBILE NAV: no sticky bottom bar; "Book a slot" sits in the nav instead, the clock shows just the time */
@media (max-width:760px){
  .thumb{display:none!important}
  .foot-legal{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
  .nav-in .right{gap:6px}
  .navbtn{display:inline-flex;align-items:center;height:40px;padding:0 14px;font-size:14.5px;border-radius:10px}
  .clock{height:40px;padding:0 10px}
  .clock .lbl{display:none}
}
@media (max-width:360px){.clock{display:none}}

/* SPACING: one vertical rhythm for every section, tighter than before, so no section opens on a band of empty space */
:root{--sec-y:clamp(64px,7vw,112px)}
main .sheet:not(.choose){padding-block:var(--sec-y)!important}
@media (max-width:760px){
  :root{--sec-y:60px}
  .choose-in{padding:60px var(--gut) 56px!important}
  .why-in{gap:20px}
  /* community: the frame matches the wide shape, so no empty band under the photo */
  .cs-art{aspect-ratio:5/4;max-width:none}
  .cs-grid{gap:28px}
}

/* MOBILE TYPE + OCCASION CARDS */
@media (max-width:760px){
  .sheet h2,.foot-h{font-size:clamp(34px,9.6vw,52px)!important;line-height:1.05}
  .sheet h2 i,.foot-h i{font-size:.82em}
  .dcard{flex-basis:86%!important}
  .dcard figure{aspect-ratio:5/4}
  .dcard h3{font-size:21px!important}
  .dcard p{font-size:15px}
}
@media (hover:none),(max-width:760px){
  .stack a{border-radius:14px;padding-inline:10px!important;margin-inline:-10px;transition:background .2s,color .2s}
  .stack li.tap a,.stack a:active{background:var(--rbg);color:var(--rfg)}
  .stack li.tap{border-top-color:transparent}
}

/* PRICES on phones and tablets: the four options sit in one row like tabs, the active one is filled */
@media (max-width:1080px){
  .pick-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px;background:var(--paper);border-radius:14px;padding:4px;position:sticky;top:calc(var(--navh,96px) - 20px);z-index:3}
  .pick-list button{padding:12px 6px!important;border-radius:10px;justify-items:center;text-align:center;background:transparent}
  .pick-list button:hover{transform:none}
  .pick-list button[aria-selected="true"]{background:var(--green);color:var(--cream)}
  .pick-list .pk-badge,.pick-list .pk-from{display:none}
  .pk-name{font-size:clamp(13px,3.6vw,17px);letter-spacing:-.01em;line-height:1.15}
}

/* PRICE TABLES on phones: each row becomes a small card, nothing scrolls sideways */
@media (max-width:760px){
  .ptable-wrap{overflow:visible}
  .ptable,.ptable tbody,.ptable tr,.ptable th,.ptable td{display:block;width:auto}
  .ptable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ptable tbody{display:grid;gap:10px}
  .ptable tr{background:var(--paper);border-radius:14px;padding:16px 16px 6px;box-shadow:0 1px 0 rgba(10,28,32,.05)}
  .cream .ptable tr,.ptable tr{background:var(--paper)}
  .ptable tbody th{padding:0 0 8px;border:0;font-weight:500;font-size:18px;letter-spacing:-.02em;white-space:normal}
  .ptable td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:0;border-top:1px solid rgba(10,28,32,.08);text-align:right;white-space:normal}
  .ptable td::before{content:attr(data-l);font-weight:400;color:var(--ink-2);font-size:14.5px;text-align:left}
}
@media (max-width:760px){.white .ptable tr{background:var(--cream)}}
/* phones: no rolling second line in the game names (it clipped mid-roll) */
@media (hover:none),(max-width:760px){
  .stack .sw{height:auto;overflow:visible}
  .stack .sw span + span{display:none}
  .stack .sw span{transform:none!important}
}
@media (max-width:760px){
  .ptable td{justify-content:flex-start;gap:4px}
  .ptable td::before{margin-right:auto}
  /* one price only: name and price share a single line */
  .ptable tr:has(td:only-of-type){display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:15px 16px}
  .ptable tr:has(td:only-of-type) th{padding:0;font-size:16.5px}
  .ptable tr:has(td:only-of-type) td{border:0;padding:0;flex:none}
  .ptable tr:has(td:only-of-type) td::before{display:none}
  .ptable tbody{gap:8px}
}

/* PRICES tabs on phones/tablets: a scrolling row of full-width labels, not squeezed to fit */
@media (max-width:1080px){
  .pick-list{display:flex!important;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gut) * -1);padding:6px var(--gut)!important;background:var(--cream)!important;border-radius:0!important}
  .pick-list::-webkit-scrollbar{display:none}
  .pick-list button{flex:none;scroll-snap-align:start;padding:12px 18px!important;background:var(--paper)!important;border-radius:999px!important}
  .pick-list button[aria-selected="true"]{background:var(--green)!important;color:var(--cream)}
  .pk-name{font-size:15.5px;white-space:nowrap}
}

/* CHOOSE on phones: one fixed dark green; the tapped game flips to its handwritten line, no coloured box */
@media (hover:none),(max-width:760px){
  .choose{--cbg:#005552!important;--cfg:#FFF7F0!important}
  .stack li.tap a,.stack a:active{background:none!important;color:inherit!important}
  .stack li.tap{border-top-color:color-mix(in srgb,currentColor 18%,transparent)}
  .stack .sw{height:1.08em;overflow-x:visible;overflow-y:clip}
  .stack .sw span + span{display:block;color:var(--coral-2)}
  .stack li.tap .sw span{transform:translateY(-100%)!important}
}
@media (max-width:1080px){.pick-list{scroll-padding-inline:var(--gut)}}

/* PRICES tabs on phones/tablets: the same tab style as the occasion tabs elsewhere on the site */
@media (max-width:1080px){
  .pick-list{gap:8px!important}
  .pick-list button{border-radius:10px!important;padding:10px 14px!important;background:rgba(10,28,32,.06)!important;color:var(--ink)}
  .pick-list button[aria-selected="true"]{background:var(--green)!important;color:var(--cream)}
  .pk-name{font-size:15px!important;font-weight:500;letter-spacing:0!important;line-height:1.3}
}

/* PAGE HERO (inner pages): words on the left, one sharp photo in a rounded frame on the right, no tint over it */
.phero.framed{min-height:0;display:block;overflow:visible;background:var(--tone);color:var(--tfg);padding:calc(var(--navh) + clamp(28px,4vw,64px)) 0 calc(clamp(56px,6vw,96px) + var(--r-sheet))}
.phero.framed::after{display:none}
.phero.t-green{--tone:var(--green);--tfg:var(--cream);--ti:var(--coral-2);--sc:var(--coral)}
.phero.t-cream{--tone:var(--cream);--tfg:var(--ink);--ti:var(--green);--sc:var(--coral)}
.phero.t-peach{--tone:var(--peach);--tfg:var(--ink);--ti:var(--green);--sc:var(--green)}
.ph-grid{max-width:1400px;margin:0 auto;padding:0 max(var(--gut),env(safe-area-inset-right,0px)) 0 max(var(--gut),env(safe-area-inset-left,0px));display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,88px);align-items:center}
.phero.framed .phero-in{padding:0;max-width:none}
.phero.framed h1{font-size:clamp(48px,5.8vw,96px)}
.phero.framed h1 i{color:var(--ti)}
.phero.framed .txtbtn{color:var(--tfg)}
.phero.framed .crumb{opacity:.75}
.ph-frame{position:relative;margin:0;aspect-ratio:5/4;border-radius:28px}
.ph-frame img,.ph-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ph-shape{position:absolute;right:clamp(-28px,-2vw,-14px);top:clamp(-28px,-2vw,-14px);width:clamp(64px,7vw,108px);aspect-ratio:1;background:var(--sc);-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat;rotate:-12deg;animation:phSpin 18s linear infinite}
@keyframes phSpin{to{rotate:348deg}}
@media (prefers-reduced-motion:reduce){.ph-shape{animation:none}}
@media (max-width:900px){
  .ph-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ph-frame{aspect-ratio:4/3}
}
@media (max-width:760px){
  .phero.framed{padding:calc(var(--navh) + 20px) 0 calc(48px + var(--r-sheet))}
  .phero.framed h1{font-size:clamp(42px,12vw,60px)}
  .ph-grid{gap:28px}
  .ph-frame{border-radius:22px}
  .ph-shape{width:60px;right:-8px;top:-18px}
}
.phero.framed .hero-p{color:var(--tfg);opacity:.85}
@media (max-width:900px) and (min-width:761px){.phero.framed h1{font-size:clamp(56px,8.4vw,80px)}.ph-frame{aspect-ratio:16/10}}
@media (max-width:760px){.ph-shape{right:14px;top:-20px}}
@media (max-width:900px){.ph-shape{right:16px;top:-22px}}

/* TOP BANNER: off. It repeated what the hero already says and kept moving above the logo.
   For a one-off announcement (e.g. Christmas at iRest once it has a date), remove the hidden attribute on .topbar. */
.topbar[hidden]{display:none!important}
:root:has(.topbar[hidden]){--navh:84px}
@media (max-width:760px){:root:has(.topbar[hidden]){--navh:74px}}
.menu-dir{display:block;text-align:center;margin-top:14px}

/* BUTTONS on phones: the main action is always full width; a second action sits under it as a centred text link */
@media (max-width:760px){
  main .ctas{flex-direction:column;align-items:stretch;gap:16px;width:100%}
  main .btn.lg,main .wa-chip,main .ctas .btn,main .sec-head .btn,main .pp-main .btn,main .map-card .btn{width:100%;justify-content:center;justify-self:stretch;align-self:stretch}
  main .ctas .txtbtn{align-self:center;padding:6px 0}
  main .faq-head,main .mo-side,main .cs-copy,main .hd{justify-items:stretch}
}

/* CONTRAST fixes from the audit */
.map-card .txtbtn{color:var(--ink)}
.phero.framed .crumb{opacity:.9}
.phero.framed .hero-p{opacity:1}
.foot-go small{opacity:.9}
::placeholder{color:#5E6A6C;opacity:1}
.rc p,.rc small{opacity:1;color:inherit}

/* BUTTONS IN CARDS: a card's action always fills the card, on every screen (pricing plans, membership, the event form already do).
   Section-level buttons stay text-width on tablet and desktop and only go full width on phones. */
.pp-main .btn,.map-card .btn{width:100%;justify-content:center;justify-self:stretch;align-self:stretch}

/* NAV with no top banner: never slide up on scroll (that slide only existed to tuck the banner away),
   and keep a gap above it so it never touches the top of the phone, notch or not */
:root:has(.topbar[hidden]) .nav{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}
:root:has(.topbar[hidden]) .nav.compact{transform:none}
@media (max-width:760px){
  :root:has(.topbar[hidden]) .nav{padding-top:calc(env(safe-area-inset-top,0px) + 10px)}
  :root:has(.topbar[hidden]){--navh:calc(76px + env(safe-area-inset-top,0px))}
}

/* CHOOSE YOUR PLAY: lilac base so it doesn't run into the green community section below it
   (desktop still takes each game's colour on hover) */
.choose{--cbg:#C9CBFA;--cfg:#0A1C20}
@media (hover:none),(max-width:760px){
  .choose{--cbg:#C9CBFA!important;--cfg:#0A1C20!important}
  .stack .sw span + span{color:var(--green)}
}

/* NAV CLOCK: no box, just the live dot and the time; the menu keeps its tinted square because it's a button */
.clock{background:none!important;padding:0 6px!important}

/* MEMBERSHIP: use the full width. Desktop puts the heading beside the two cards; tablet keeps the cards side by side at full width */
.mb-grid{max-width:none}
@media (min-width:1081px){
  .members .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(40px,5vw,96px);align-items:center}
  .members .sec-head{margin:0}
  .mb{padding:clamp(28px,2.6vw,40px)}
  .mb h3{font-size:clamp(34px,3vw,46px)}
}

/* NAV on phones: no clock, just logo, Book a space and the menu */
@media (max-width:760px){.clock{display:none!important}}

/* SUBTEXT on phones: every intro paragraph uses the full width of the screen, no early line breaks */
@media (max-width:760px){
  main .lede,main .hero-p,main .why-p,main .mo-side,main .cs-copy .lede,main .sec-head .hd,main .hd,main .faq-head .lede,.phero .hero-p{max-width:none!important}
}

/* TEAM: each person cut out on a green card with a big brand shape behind them, role on a chip, name underneath */
.tteam[hidden]{display:none}
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px) clamp(14px,1.6vw,22px)}
.tm{display:grid;gap:14px;aspect-ratio:auto!important;background:none!important;padding:0!important;border-radius:0!important;overflow:visible!important}
.tm-card{position:relative;aspect-ratio:4/5;border-radius:24px;background:var(--green);overflow:hidden;isolation:isolate}
.tm-shape{position:absolute;z-index:-1;width:118%;aspect-ratio:1;left:-9%;top:6%;background:#005552;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.tm:nth-child(even) .tm-shape{rotate:90deg}
.tm-cut{position:absolute;left:50%;bottom:0;translate:-50% 0;height:90%;width:auto;max-width:none;object-fit:contain;object-position:bottom;transition:transform .6s var(--ease);transform-origin:50% 100%}
.tm-ini{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:14%;font-size:clamp(44px,4.6vw,68px);font-weight:500;letter-spacing:-.04em;color:var(--cream);opacity:.9}
.tm-role{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;background:var(--cream);color:var(--ink);border-radius:999px;padding:8px 14px 8px 9px;font-size:14px;font-weight:500;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
.tm-role i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--cream)}
.tm-role svg{width:13px;height:13px}
.tm h3{font-size:clamp(18px,1.5vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.2}
@media (hover:hover){.tm:hover .tm-cut{transform:scale(1.04)}}
@media (min-width:761px) and (max-width:1080px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .tm-card{border-radius:18px}
  .tm-role{left:8px;bottom:8px;font-size:12px;padding:6px 10px 6px 6px;gap:6px}
  .tm-role i{width:18px;height:18px}
  .tm h3{font-size:15.5px}
}
.tm-cut{height:112%;bottom:-16%}
.tm-cut{height:100%;bottom:-6%}
@media (min-width:1081px) and (max-width:1240px){.clock .lbl{display:none}.links{gap:2px}}

/* TEAM PHOTOS: black and white so photos from different rooms and phones read as one shoot; they grow slightly on hover and stay black and white */
.tm-cut{filter:grayscale(1) contrast(1.06) brightness(1.04);transition:transform .6s var(--ease),filter .5s var(--ease)}
@media (hover:hover){.tm:hover .tm-cut{transform:scale(1.08)}}   /* hover: the person grows a little, still black and white */

/* COMMUNITY facts: no bright cream boxes on green. Two darker-green panels with cream text,
   the icon inline with its label, so the facts sit inside the section instead of shouting over it */
.cs-tix{gap:12px}
.cs-tix li{background:#005552;color:var(--cream);border-radius:16px;padding:18px 20px 20px;gap:4px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"ix k" "b b" "em em";align-items:center;column-gap:10px}
.cs-tix .ix{grid-area:ix;width:22px;height:22px;padding:0;margin:0;border-radius:0;background:none;color:var(--coral-2)}
.cs-tix small{grid-area:k;color:rgba(255,247,240,.75);font-size:14px}
.cs-tix b{grid-area:b;margin-top:10px;color:var(--cream)}
.cs-tix em{grid-area:em;color:rgba(255,247,240,.8)}

/* PRICES on desktop: calmer and more finished.
   Left: one quiet list, the chosen option in iRest green (same as every other selected tab on the site), small tags in one style.
   Right: a white panel; the photo fills its full height on the left, so there's no floating image and no empty corner. */
@media (min-width:1081px){
  .pick{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:16px;align-items:stretch}
  .pick-list{gap:8px;align-content:stretch;grid-auto-rows:1fr}
  .pick-list button{background:var(--paper);border-radius:18px;padding:22px 24px;align-content:center;box-shadow:0 1px 0 rgba(10,28,32,.05)}
  .pick-list button:hover{transform:none;background:#fff}
  .pick-list button[aria-selected="true"]{background:var(--green);color:var(--cream)}
  .pk-badge{background:none!important;color:var(--ink-3)!important;padding:0;margin-bottom:8px;font-size:13px;font-weight:500;letter-spacing:.02em}
  .pick-list button[aria-selected="true"] .pk-badge{color:var(--coral-2)!important}
  .pick-list button[aria-selected="true"] .pk-from{color:rgba(255,247,240,.8)}
  .pick-panel{background:var(--paper)!important;border-radius:24px;padding:12px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;box-shadow:0 1px 0 rgba(10,28,32,.05),0 30px 60px -40px rgba(10,28,32,.35)}
  .pp-art{aspect-ratio:auto;height:100%;min-height:440px;border-radius:16px}
  .pp-main{padding:28px 28px 24px 12px;align-content:start}
  .pp-main .btn{margin-top:auto}
}
