/* Love 420 · lounge landing page (two ways in). Load after css/site.css. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section[id],#request{scroll-margin-top:0}

/* ============ HERO: two tickets ============ */
.lh{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,740px);column-gap:clamp(32px,4vw,72px);align-items:center;padding:150px var(--pad) 70px;background:var(--ink);overflow:hidden}
.lh::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.5;pointer-events:none}
.lh-tx{position:relative;z-index:2}
.lh h1{font-size:clamp(116px,10.2vw,172px);color:var(--cream);margin-top:30px}
.lh h1 span{display:block}
.lh h1 .plate{display:block;font-size:1.7em;margin-top:.05em;transform:rotate(-1.4deg);transform-origin:0 50%;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.lh .lede{font-size:19px;line-height:1.55;color:var(--cream2);max-width:470px;margin-top:40px}
.lh .lede b{color:var(--cream);font-weight:800}

.tix{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-self:center}
.tk{position:relative;display:flex;flex-direction:column;height:min(660px,calc(100svh - 210px));min-height:560px;border-radius:16px;overflow:hidden;box-shadow:0 34px 80px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.tk-a{background:var(--leafdeep);background-image:var(--grain),linear-gradient(165deg,#13903F,var(--leafdeep) 55%,#0B5E2A);color:var(--cream);transform:rotate(-1.5deg) translateY(14px)}
.tk-b{background:var(--gold);background-image:var(--grain),linear-gradient(165deg,var(--goldhi),var(--gold) 45%,var(--gold2));color:var(--ink);transform:rotate(1.2deg) translateY(-16px)}
.tk:hover,.tk:focus-within{transform:rotate(0) translateY(-6px)}
.tk .win{position:relative;flex:1 1 auto;min-height:0;margin:12px 12px 0;border-radius:10px;overflow:hidden;background:#000}
.tk .win img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tk-a .win img{object-position:50% 60%}
.tk.tk-a .tag{left:auto;right:12px}
.tk-b .win img{object-position:50% 34%}
.tk .tag{position:absolute;left:12px;bottom:12px;background:var(--ink);color:var(--cream);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:10px 12px;border-radius:6px}
.tk .stub{position:relative;margin-top:16px;padding:22px 24px 24px;border-top:3px dashed rgba(246,241,228,.45)}
.tk-b .stub{border-top-color:rgba(11,9,6,.5)}
.tk .stub::before,.tk .stub::after{content:"";position:absolute;top:-18px;width:34px;height:34px;border-radius:50%;background:var(--ink)}
.tk .stub::before{left:-17px}.tk .stub::after{right:-17px}
.tk .kick{font-size:13px;letter-spacing:.24em}
.tk-a .kick{color:var(--cream)}
.tk-b .kick{color:var(--ink)}
.tk h2{font-size:clamp(60px,5vw,76px);margin-top:12px!important;white-space:nowrap}
.tk .fx{font-size:16px;font-weight:700;line-height:1.4;margin:12px 0 18px;min-height:2.8em}
.tk-a .fx{color:#DCEBDD}
.tk-b .fx{color:#2B2112}
.tk .btn{width:100%}

/* ============ TWO WAYS ============ */
.ways{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--moss)}
.way{position:relative;padding:var(--secpad) var(--pad);display:flex;flex-direction:column;align-items:flex-start}
.way-a{background:var(--moss);background-image:var(--grain)}
.way-b{background:var(--gold);background-image:var(--grain),linear-gradient(170deg,var(--goldhi),var(--gold) 40%,var(--gold2));color:var(--ink);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);margin-left:-7vw;padding-left:calc(7vw + var(--pad) + 3vw)}
.way h2{font-size:clamp(96px,7.6vw,132px);margin-top:26px!important;line-height:1.15}
.way-a h2{color:var(--cream)}
.way .g{color:var(--gold)}
.way-b .g{color:var(--ink)}
.way-b .kick{color:var(--ink)}
.facts{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 36px;margin:44px 0 30px;max-width:560px}
.facts li{display:flex;flex-direction:column;gap:6px}
.facts b{font-family:var(--disp);font-weight:400;font-size:clamp(54px,4.4vw,72px);line-height:.9;color:var(--gold)}
.facts span{font-size:17px;font-weight:700;color:#DCEBDD}
.occ{list-style:none;margin:44px 0 30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px;max-width:560px}
.occ li{font-family:var(--disp);font-size:clamp(54px,4.4vw,72px);line-height:.95}
.way .small{font-size:17px;line-height:1.5;max-width:520px;margin-bottom:28px}
.way-a .small{color:#DCEBDD}
.way-b .small{color:#2B2112;font-weight:600}
.way-b .small b{color:var(--ink)}
.way-b .confirm{background:var(--ink);color:var(--gold)}
.way .btn{margin-top:auto}

/* ============ ROOMS: key tags ============ */
.keys{background:var(--ink);padding:var(--secpad) var(--pad)}
.keys-head{display:grid;grid-template-columns:auto minmax(0,420px);gap:56px;align-items:end;margin-bottom:56px}
.keys-head h2{font-size:clamp(130px,13vw,220px);color:var(--cream)}
.keys-head .g{color:var(--gold)}
.keys-head p{font-size:19px;color:var(--cream2);padding-bottom:16px}
.keys-head p b{color:var(--cream)}
.keyrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.keyrow .door.key{flex:none;margin:0;clip-path:none;display:flex;flex-direction:column;height:600px;padding:10px 10px 0;border-radius:22px 22px 14px 14px;background:var(--c);overflow:hidden;text-decoration:none;color:var(--cream);box-shadow:0 26px 60px rgba(0,0,0,.5);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.keyrow .door.key::after{display:none}
.keyrow .door.key:nth-child(odd){transform:rotate(-1deg)}
.keyrow .door.key:nth-child(even){transform:rotate(1deg) translateY(18px)}
.keyrow .door.key:hover,.keyrow .door.key:focus-visible{transform:rotate(0) translateY(-10px)}
.keyrow .door.key:focus-visible{outline:3px solid var(--goldhi);outline-offset:4px}
.key .hole{display:block;flex:none;width:28px;height:28px;margin:4px auto 12px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(246,241,228,.35)}
.key .ph{position:relative;display:block;flex:1 1 auto;border-radius:12px;overflow:hidden;background:#000}
.keyrow .door.key img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.keyrow .door.key:hover img{transform:scale(1.04)}
.keyrow .door.key .pk{position:static;display:flex;align-items:center;gap:16px;padding:16px 10px 18px;flex-direction:row}
.keyrow .door.key .pk .n{font-family:var(--disp);font-size:92px;line-height:.8;color:var(--cream)}
.keyrow .door.key .pk .t{display:flex;flex-direction:column;gap:4px;padding:0}
.keyrow .door.key .pk .t b{font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.keyrow .door.key .pk .t > span{display:inline-flex;font-size:15px;font-weight:700;color:var(--cream);opacity:.9;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}

/* ============ SUNDAYS ============ */
.suns{position:relative;background:var(--gold);background-image:var(--grain),linear-gradient(170deg,var(--goldhi),var(--gold) 40%,var(--gold2));color:var(--ink);padding:var(--secpad) var(--pad);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:56px;align-items:center}
.suns .kick{color:var(--ink)}
.suns h2{font-size:clamp(120px,10.5vw,184px)}
.suns h2 .plate{background:var(--ink);background-image:var(--grain);color:var(--gold);transform:rotate(-1.3deg);transform-origin:0 50%}
.suns-head p{font-size:19px;font-weight:600;color:#2B2112;margin-top:30px;max-width:420px}
.suns-head p b{color:var(--ink);font-weight:800}
.suns .confirm{background:var(--ink);color:var(--gold)}
.nights{display:grid;gap:20px}
.nt{display:grid;grid-template-columns:44% 1fr;background:var(--ink);color:var(--cream);border-radius:14px;overflow:hidden;box-shadow:0 26px 60px rgba(60,35,0,.35);min-height:290px}
.nt .ph{position:relative;overflow:hidden}
.nt .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nt .tx{padding:30px 32px 26px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.nt .kick{color:var(--gold);font-size:12px}
.nt h3{font-size:clamp(64px,5.2vw,88px);color:var(--cream);margin-top:12px;line-height:.9}
.nt h3 .g{color:var(--gold)}
.nt p{font-size:17px;color:var(--cream2);margin-top:12px}
.nt .when{font-weight:800;color:var(--cream);display:flex;gap:8px;align-items:center;margin-top:6px}
.nt .when .confirm{background:var(--gold);color:var(--ink)}
.nt .btn-text{margin-top:8px;padding:0}

/* ============ HOUSE RULES (fine print) ============ */
.fine{background:var(--ink);padding:var(--secpad) var(--pad) 0}
.fine-in{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;padding:48px 52px}
.fine h2{font-size:clamp(90px,7vw,120px);color:var(--cream)}
.fine h2 .g{color:var(--gold)}
.fine ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 30px}
.fine li{font-size:16px;font-weight:600;line-height:1.4;color:var(--cream2)}
.fine li b{display:block;font-family:var(--disp);font-weight:400;font-size:64px;line-height:.9;color:var(--gold);margin-bottom:4px}
.fine li em{font-style:normal;font-weight:800;color:var(--cream);display:block}

/* ============ THE FORM ============ */
.ask{--fcard:var(--moss2);--fin:#0F4A2B;--fbd:#1E6A41;--flab:#CFE6D3;--fph:#A9CDB2;position:relative;background:var(--moss);background-image:var(--grain);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start;padding:var(--secpad) var(--pad);margin-top:var(--secpad);transition:background-color .35s ease}
.ask.mode-event{--fcard:#0B0906;--fin:#211B12;--fbd:#4A3F2C;--flab:#E9C77A;--fph:#9E9580;background-color:#1C160D}
.ask-head{position:sticky;top:40px}
.ask h2{font-size:clamp(110px,9vw,156px);color:var(--cream)}
.ask h2 span.l1{display:block}
.ask h2 .plate{display:block;margin-top:.06em;transform:rotate(-1.3deg);transform-origin:0 50%;font-size:.9em}
.ask .w-event{display:none}
.ask.mode-event .w-room{display:none}
.ask.mode-event .w-event{display:inline}
.ask .sub{font-size:19px;color:var(--cream2);max-width:460px;margin-top:34px}
.ask .sub b{color:var(--cream)}

.lf{background:var(--fcard);border-radius:14px;padding:30px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;max-width:820px;box-shadow:0 30px 80px rgba(0,0,0,.4);transition:background-color .35s ease}
.lf .f label,.lf .f .lg{color:var(--flab)}
.lf .f input,.lf .f select,.lf .f textarea{background-color:var(--fin);border-color:var(--fbd)}
.lf .f input::placeholder,.lf .f textarea::placeholder{color:var(--fph)}
.lf .f input:focus,.lf .f select:focus,.lf .f textarea:focus{border-color:var(--gold)}
.lf .f .hint{color:var(--flab);opacity:.85}
.lf .pick label{background:var(--fin);border-color:var(--fbd)}
.lf input[type=number]{-moz-appearance:textfield}
.lf input[type=number]::-webkit-inner-spin-button,.lf input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.mode{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.mode input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
/* mode switch = two mini hero tickets (notches + dashed tear line); selected = full colour, other = dark with coloured outline */
.mode{gap:16px;padding:6px 4px 2px}
.mo{--mc:#3DBE6E;position:relative;display:flex;flex-direction:column;min-height:120px;border-radius:12px;border:2px solid var(--mc);background:rgba(0,0,0,.3);color:var(--mc);cursor:pointer;transform:rotate(-1deg);transition:background .2s,border-color .2s,color .2s,transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.mo-b{--mc:var(--gold);transform:rotate(1deg)}
.mo-top{display:flex;align-items:center;min-height:48px;padding:12px 56px 10px 20px}
.mo small{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.mo-stub{position:relative;flex:1 1 auto;display:flex;align-items:center;padding:14px 20px 16px;border-top:2px dashed color-mix(in srgb,currentColor 55%,transparent)}
.mo-stub::before,.mo-stub::after{content:"";position:absolute;top:-14px;width:26px;height:26px;box-sizing:border-box;border-radius:50%;background:var(--fcard);border:2px solid var(--mc);transition:background-color .35s ease,border-color .2s}
.mo-stub::before{left:-15px;clip-path:inset(0 0 0 50%)}
.mo-stub::after{right:-15px;clip-path:inset(0 50% 0 0)}
.mo .disp{font-size:clamp(34px,3vw,46px);line-height:.9;white-space:nowrap}
.mo::before{content:"";position:absolute;right:18px;top:13px;width:22px;height:22px;border-radius:50%;border:3px solid currentColor;opacity:.8}
.mo:hover{background:rgba(0,0,0,.45);transform:rotate(0)}
#m-room:checked + .mo-a{background:var(--leafdeep);background-image:var(--grain),linear-gradient(165deg,#13903F,var(--leafdeep) 55%,#0B5E2A);border-color:transparent;color:var(--cream);transform:rotate(0) translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.45)}
#m-event:checked + .mo-b{background:var(--gold);background-image:var(--grain),linear-gradient(165deg,var(--goldhi),var(--gold) 50%,var(--gold2));border-color:transparent;color:var(--ink);transform:rotate(0) translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.45)}
.mode input:checked + .mo .mo-stub::before,.mode input:checked + .mo .mo-stub::after{border-color:transparent}
.mode input:checked + .mo::before{opacity:1;background:currentColor;box-shadow:inset 0 0 0 4px var(--leafdeep)}
#m-event:checked + .mo::before{box-shadow:inset 0 0 0 4px var(--gold)}
.mode input:focus-visible + .mo{outline:3px solid var(--goldhi);outline-offset:4px}

.fs{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.fs[disabled]{display:none}
.fs .s6,.fnote.s6{grid-column:1/-1}
.fnote{font-size:14px;color:var(--flab);line-height:1.5;margin-top:-4px}
.sep{padding-top:18px;border-top:3px dashed var(--fbd);margin-top:6px}
.sep .lg{font-size:13px}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0}
.chips label{min-height:52px;padding:0 16px;display:inline-flex;align-items:center;border-radius:6px;border:2px solid var(--fbd);background:var(--fin);font-size:15px!important;font-weight:800;letter-spacing:.02em!important;text-transform:none!important;color:var(--cream)!important;cursor:pointer;transition:background .15s}
.chips label:hover{border-color:var(--gold)}
.chips input:checked + label{background:var(--gold);color:var(--ink)!important;border-color:var(--cream)}
.chips input:focus-visible + label{outline:3px solid var(--goldhi);outline-offset:2px}
.chips.three{display:grid;grid-template-columns:repeat(3,1fr)}
.chips.three label{justify-content:center}

.lf .go{grid-column:1/-1;display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:8px}
.lf .go p{font-size:15px;color:var(--flab);flex:1 1 220px}
.lf.tried [required]:invalid{border-color:#F0563D}
.lf.tried .chips input:invalid + label{border-color:#F0563D}
.err{grid-column:1/-1;display:none;font-weight:800;color:#FF8A73}
.lf.tried .err:not(:empty){display:block}
.sent{grid-column:1/-1;display:none;padding:10px 4px 6px}
.sent:focus{outline:none}
.sent .disp{font-size:clamp(96px,8vw,130px);color:var(--gold)}
.sent p{font-size:19px;color:var(--cream);margin-top:18px}
.sent .sum{font-size:16px;color:var(--flab);margin-top:8px}
.sent .btn{margin-top:26px}
.lf.done .mode,.lf.done .fs,.lf.done .go,.lf.done .err{display:none}
.lf.done .sent{display:block}

/* ============ GETTING HERE ============ */
.here{background:var(--ink);padding:var(--secpad) var(--pad);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.here h2{font-size:clamp(100px,8.4vw,150px);color:var(--cream);margin-top:30px}
.here h2 .l1{display:block}
.here h2 .plate{display:block;margin-top:.16em;transform:rotate(-1.2deg);transform-origin:0 50%}
.here .addr{font-size:19px;color:var(--cream2);max-width:520px;margin:36px 0 28px}
.here .addr b{color:var(--cream)}
.here .row{display:flex;gap:12px;flex-wrap:wrap}
.hrs-t{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px 40px;padding:26px 30px 22px;max-width:620px}
.hrs-t div{display:flex;flex-direction:column;gap:4px}
.hrs-t dt{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.hrs-t dd{font-family:var(--disp);font-size:40px;line-height:1;color:var(--cream)}
.hrs-t .hn{width:100%;font-size:14px;color:var(--mute);display:flex;gap:8px;align-items:center}
.here-map{display:block;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5);transform:rotate(1deg)}
.here-map img{width:100%;height:auto}

/* sheet links on this page are longer */
.sheet a.pg{font-size:60px}

/* mid widths: the nav collapses to the jump menu */
@media (max-width:1180px) and (min-width:761px){
  .top nav .nl{display:none}
  .nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-radius:6px;background:rgba(11,9,6,.9);color:var(--cream);font-weight:800;font-size:15px;box-shadow:inset 0 0 0 2px #4A3F2C}
  .nav-toggle svg{width:18px;height:18px}
  .lh{grid-template-columns:1fr;row-gap:48px;padding-top:150px}
  .tix{max-width:740px}
  .ways,.suns,.ask,.here{grid-template-columns:1fr}
  .way-b{clip-path:none;margin-left:0;padding-left:var(--pad)}
  .keyrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fine-in{grid-template-columns:1fr}
  .fine ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ask-head{position:static}
}

/* ======================================================
   PHONE: its own layout
   ====================================================== */
@media (max-width:760px){
  .lh{display:block;min-height:0;padding:92px 16px 34px}
  .lh h1{font-size:88px;margin-top:18px!important}
  .lh h1 .plate{font-size:1.12em}
  .lh .lede{font-size:16px;margin-top:20px;line-height:1.5}
  .lh-tx .kick .kx{display:none}
  .tix{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .tk{height:auto;min-height:0;border-radius:12px}
  .tk-a{transform:rotate(-1deg) translateY(6px)}
  .tk-b{transform:rotate(1deg) translateY(-4px)}
  .tk .win{flex:none;height:146px;margin:8px 8px 0;border-radius:7px}
  .tk .tag{left:8px;bottom:8px;font-size:9px;letter-spacing:.12em;padding:7px 8px}
  .tk.tk-a .tag{left:auto;right:8px}
  .tk .stub{margin-top:12px;padding:14px 10px 10px;border-top-width:2px}
  .tk .stub::before,.tk .stub::after{width:22px;height:22px;top:-12px}
  .tk .stub::before{left:-11px}.tk .stub::after{right:-11px}
  .tk .kick{font-size:10px;letter-spacing:.16em}
  .tk h2{font-size:38px;margin-top:8px!important}
  .tk .fx{display:none}
  .tk .btn{margin-top:12px;min-height:52px;padding:0 6px;font-size:14px;letter-spacing:0}

  .ways{display:block}
  .way{padding:var(--secpad) 16px}
  .way-b{clip-path:polygon(0 34px,100% 0,100% 100%,0 100%);margin:-34px 0 0;padding:calc(var(--secpad) + 20px) 16px var(--secpad)}
  .way h2{font-size:80px;margin-top:18px!important}
  .facts{gap:22px 18px;margin:30px 0 24px}
  .facts b{font-size:50px}
  .facts span{font-size:15px}
  .occ{margin:28px 0 22px;gap:8px 16px}
  .occ li{font-size:46px}
  .way .small{font-size:16px;margin-bottom:22px}
  .way .btn{width:100%}

  .keys{padding:var(--secpad) 16px}
  .keys-head{display:block;margin-bottom:30px}
  .keys-head h2{font-size:132px}
  .keys-head p{font-size:16px;padding:20px 0 0}
  .keyrow{grid-template-columns:1fr 1fr;gap:12px 10px}
  .keyrow .door.key{height:330px;padding:7px 7px 0;border-radius:16px 16px 10px 10px}
  .keyrow .door.key:nth-child(even){transform:rotate(1deg) translateY(12px)}
  .key .hole{width:20px;height:20px;margin:2px auto 8px;box-shadow:0 0 0 3px rgba(246,241,228,.35)}
  .key .ph{border-radius:8px}
  .keyrow .door.key .pk{gap:10px;padding:10px 6px 12px;left:auto}
  .keyrow .door.key .pk .n{font-size:58px}
  .keyrow .door.key .pk .t b{font-size:12px;letter-spacing:.1em}
  .keyrow .door.key .pk .t > span{display:inline-flex;font-size:13px}

  .suns{display:block;padding:var(--secpad) 16px calc(var(--secpad) * .6)}
  .suns h2{font-size:104px;margin-top:20px!important}
  .suns-head p{font-size:16px;margin-top:22px}
  .nights{margin-top:32px;gap:16px}
  .nt{grid-template-columns:1fr;min-height:0}
  .nt .ph{height:190px}
  .nt .tx{padding:22px 20px 18px}
  .nt h3{font-size:62px}
  .nt p{font-size:16px}

  .fine{padding:var(--secpad) 16px 0}
  .fine-in{display:block;padding:32px 24px 28px}
  .fine h2{font-size:78px}
  .fine ul{grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:26px}
  .fine li{font-size:15px}
  .fine li b{font-size:52px}
  .fine li:nth-child(n+5){grid-column:span 2}

  .ask{display:block;padding:var(--secpad) 16px}
  .ask-head{position:static;margin-bottom:28px}
  .ask h2{font-size:88px}
  .ask h2 .plate{font-size:.82em}
  .ask .sub{font-size:16px;margin-top:22px}
  .lf{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:14px}
  .mode{gap:8px}
  .mode{gap:10px;padding:4px 2px 0}
  .mo{min-height:112px}
  .mo-top{min-height:40px;padding:10px 34px 8px 12px}
  .mo::before{right:10px;top:11px;width:18px;height:18px;border-width:2px}
  .mo small{font-size:10px;letter-spacing:.12em}
  .mo-stub{padding:10px 12px 12px}
  .mo-stub::before,.mo-stub::after{width:22px;height:22px;top:-12px}
  .mo-stub::before{left:-13px}.mo-stub::after{right:-13px}
  .mo .disp{font-size:30px;white-space:normal}
  .fs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .fs .f,.fs .f.s6{grid-column:span 2}
  .fs .f.s2{grid-column:span 1}
  .fs .f.gst{grid-column:span 2}
  .fs .f.hf{grid-column:span 1}
  .fs-you .f.s2.wide{grid-column:span 2}
  .fs-you .f.s2{grid-column:span 2}
  .lf .f input[type=date]{padding:0 10px;font-size:16px}
  .chips label{min-height:50px;padding:0 13px;font-size:14px!important}
  .lf .go .btn{flex:1 1 100%}
  .sent .disp{font-size:96px}

  .here{display:block;padding:var(--secpad) 16px}
  .here h2{font-size:76px;margin-top:20px!important}
  .here h2 .plate{font-size:.86em}
  .here .addr{font-size:16px;margin:24px 0 22px}
  .here .row .btn{flex:1 1 100%}
  .hrs-t{gap:14px 26px;padding:22px 22px 18px;margin-top:28px}
  .hrs-t dd{font-size:32px}
  .here-map{margin-top:36px;transform:none}
  .sheet a.pg{font-size:52px}
}
@media (max-width:380px){
  .lh h1{font-size:80px}
  .tk h2{font-size:34px}
  .keys-head h2{font-size:120px}
  .ask h2{font-size:80px}
}
.chips,.mode,.pick{position:relative}
/* form: photo window under the head swaps with the mode (desktop) */
.ask-ph{position:relative;margin-top:44px;height:min(460px,52vh);border-radius:14px;overflow:hidden;background:#000;box-shadow:0 30px 70px rgba(0,0,0,.45);transform:rotate(-1deg);max-width:560px}
.ask-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s ease}
.ask-ph .p-room{object-position:40% 50%}
.ask-ph .p-event{opacity:0;object-position:30% 60%}
.ask.mode-event .ask-ph .p-event{opacity:1}
.ask.mode-event .ask-ph .p-room{opacity:0}
.ask-ph .tag{position:absolute;left:14px;bottom:14px;background:var(--ink);color:var(--cream);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:10px 12px;border-radius:6px}
@media (max-width:1180px){.ask-ph{display:none}}
@media (max-width:760px){.occ li{font-size:40px}}

/* 10/23 Leighton: brighter card photos + event list keeps 'Work nights' on one line, even rows */
.tk-a .win img{object-position:62% 50%}
.tk-b .win img{object-position:55% 50%}
.occ{grid-template-columns:repeat(2,max-content);gap:14px 48px;max-width:none}
.occ li{white-space:nowrap;font-size:clamp(48px,3.9vw,64px);line-height:1}
@media (max-width:760px){.occ{gap:10px 26px}.occ li{font-size:38px}}
@media (max-width:380px){.occ{gap:8px 18px}.occ li{font-size:34px}}

/* 11/5 homepage keys: whole room photo, box follows the photo's shape (stopgap until new client photos) */
.keyrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px;max-width:1240px;margin-inline:auto;align-items:start}
.keyrow .door.key{height:auto}
.key .ph{flex:none}
.keyrow .door.key img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.keyrow .door.key:hover img{transform:none}
.keyrow .door.key .pk{padding-top:26px}
@media (max-width:760px){
  .keyrow{grid-template-columns:1fr;gap:18px}
  .keyrow .door.key{height:auto}
  .keyrow .door.key .pk{padding-top:18px}
  .keyrow .door.key:nth-child(odd){transform:rotate(-.5deg)}
  .keyrow .door.key:nth-child(even){transform:rotate(.5deg)}
}
