/* Guided tour and the Submit a request panel. */
.tour-btn,.rq-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:99px;font:600 .76rem/1 var(--body);cursor:pointer;white-space:nowrap}
.tour-btn{margin-left:auto;background:var(--gold);color:#1d1a14;border:1px solid var(--gold)}.tour-btn i{width:0;height:0;border-left:7px solid #1d1a14;border-top:5px solid transparent;border-bottom:5px solid transparent}
.rq-btn{background:transparent;color:var(--gold-t,var(--gold));border:1px solid var(--gold-d,var(--gold))}.tour-btn:hover,.rq-btn:hover{filter:brightness(1.05)}
.tour{position:fixed;inset:0;z-index:200;pointer-events:none;font-family:var(--body)}.t-block{position:absolute;inset:0;pointer-events:auto}
.t-spot{position:fixed;left:50%;top:50%;width:0;height:0;border-radius:16px;box-shadow:0 0 0 9999px rgba(28,22,14,.58);transition:left .55s cubic-bezier(.22,.8,.2,1),top .55s cubic-bezier(.22,.8,.2,1),width .55s cubic-bezier(.22,.8,.2,1),height .55s cubic-bezier(.22,.8,.2,1),opacity .3s;pointer-events:none}
.t-spot:after{content:'';position:absolute;inset:-5px;border-radius:21px;border:2px solid #c9a96e;animation:tp 1.8s ease-out infinite}@keyframes tp{0%{opacity:.95;transform:scale(1)}100%{opacity:0;transform:scale(1.05)}}
.t-cursor{position:fixed;left:0;top:0;z-index:4;pointer-events:none;transform:translate(-60px,-60px);transition:transform .75s cubic-bezier(.22,.8,.2,1);filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}
.t-cursor.click:after{content:'';position:absolute;left:-7px;top:-7px;width:28px;height:28px;border-radius:50%;border:3px solid #c9a96e;animation:tc .5s ease-out}@keyframes tc{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.5);opacity:0}}
.t-card{position:fixed;left:50%;transform:translateX(-50%);width:min(660px,calc(100vw - 20px));max-height:calc(100vh - 84px);overflow:auto;background:#fffdf9;color:#2b2620;border-radius:22px;padding:14px 18px 16px;box-shadow:0 28px 80px rgba(28,22,14,.4),0 0 0 1px rgba(43,38,32,.08);pointer-events:auto;z-index:3;transition:opacity .3s}
.t-card.pb{bottom:14px}.t-card.pt{top:64px}.t-card.fin{top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 20px))}
.t-rib{display:flex;gap:4px;padding-bottom:12px}.t-seg{flex:1;height:5px;border-radius:3px;background:rgba(43,38,32,.12);position:relative}.t-seg i{position:absolute;top:9px;left:0;font:600 .56rem var(--body);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:#9a9388;white-space:nowrap}.t-seg.on i{color:#2b2620}
.t-meta{font-size:.68rem;color:#8a8378;margin:8px 0 8px}.t-chap{display:flex;gap:8px;align-items:center;margin-bottom:2px}.t-tag{color:#fff;font:700 .62rem var(--body);letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:99px}.t-bdg{font:700 .62rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:#8a6a2a;border:1px solid #c9a96e;padding:2px 9px;border-radius:99px;background:rgba(201,169,110,.15)}
.t-title{font-family:var(--head);font-size:1.5rem;font-weight:500;line-height:1.15;margin:6px 0 4px}.t-title.big{font-size:1.9rem}.t-pain{font-style:italic;color:#8a6a2a;font-size:.88rem;margin:0 0 6px}.t-say{font-size:.92rem;line-height:1.55;color:#4a443b;margin:0 0 8px}
.t-q{font:600 .78rem var(--body);margin:10px 0 6px}.t-opts{display:grid;gap:8px}.t-b.opt{text-align:left;padding:11px 14px;border-radius:14px;font-size:.88rem}
.t-chg{display:flex;flex-wrap:wrap;gap:8px;min-height:0;margin:0}.t-chg.on{margin:4px 0 8px}.t-chip{background:#f3ede2;border:1px solid rgba(138,106,42,.3);border-radius:99px;padding:5px 12px;font-size:.78rem;animation:tin .4s ease}.t-chip b{font-weight:600}.t-chip b.n{color:#2f7d57}.t-chip i{font-style:normal;color:#8a8378}@keyframes tin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.t-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.t-btns.busy{opacity:.5;pointer-events:none}.t-b{font:600 .8rem var(--body);padding:9px 16px;border-radius:99px;border:1px solid rgba(43,38,32,.2);background:#fff;color:#2b2620;cursor:pointer;text-decoration:none;display:inline-block}.t-b.gold{background:#c9a96e;border-color:#c9a96e;color:#1d1a14}.t-b.lk{border-color:transparent;background:transparent;color:#8a8378;margin-left:auto}.t-b[disabled]{opacity:.35;cursor:not-allowed}
.t-inter{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 40%,#2a2218,#100c07);color:#f4ecd8;opacity:0;pointer-events:none;transition:opacity .5s}.t-inter.on{opacity:1;pointer-events:auto}
.ti-n{font:600 .75rem var(--body);letter-spacing:.3em;text-transform:uppercase;color:#b9ad96}.ti-t{font:500 clamp(3rem,12vw,6rem)/1.05 var(--head);letter-spacing:-.02em;margin:10px 0;filter:brightness(1.5)}.ti-l{height:3px;width:0;margin:0 auto 14px;border-radius:2px;animation:til 1.1s .25s ease forwards}@keyframes til{to{width:130px}}.ti-h{font:italic 400 clamp(1.1rem,3.4vw,1.6rem) var(--head);color:#e8dcc2;opacity:0;animation:tih .7s .7s ease forwards}@keyframes tih{to{opacity:1}}
.tf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0}.tf-t{background:#f3ede2;border-radius:14px;padding:12px}.tf-t b{display:block;font:600 1.45rem var(--body);color:#8a6a2a}.tf-t span{font-size:.74rem;color:#6a6358}.tf-f{font-size:.88rem;margin:6px 0 10px}
.t-prompt{position:fixed;right:16px;bottom:16px;z-index:150;width:min(310px,calc(100vw - 32px));background:#fffdf9;color:#2b2620;border-radius:18px;padding:14px 16px;box-shadow:0 18px 50px rgba(28,22,14,.3),0 0 0 1px rgba(43,38,32,.08);animation:tin .5s ease}.t-prompt b{display:block;font:500 1.15rem var(--head);margin-bottom:3px}.t-prompt span{display:block;font-size:.82rem;color:#6a6358;margin-bottom:10px;line-height:1.45}.t-prompt .t-b.lk{margin-left:6px}
.rq-ov{position:fixed;inset:0;z-index:300;display:none}.rq-ov.on{display:block}.rq-bg{position:absolute;inset:0;background:rgba(28,22,14,.5)}
.rq-panel{position:absolute;right:0;top:0;bottom:0;width:min(450px,100vw);background:#faf7f2;color:#2b2620;box-shadow:-20px 0 60px rgba(28,22,14,.3);display:flex;flex-direction:column;animation:rqi .28s ease;font-family:var(--body)}@keyframes rqi{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.rq-panel header{display:flex;gap:10px;padding:18px 18px 10px;align-items:flex-start}.rq-panel header div{flex:1}.rq-panel header b{display:block;font:500 1.55rem var(--head)}.rq-panel header span{display:block;font-size:.78rem;color:#6a6358;line-height:1.45;margin-top:2px}.rq-x{background:none;border:0;font-size:1.8rem;line-height:1;color:#6a6358;cursor:pointer}
.rq-tabs{display:flex;gap:6px;padding:0 18px 10px;border-bottom:1px solid rgba(43,38,32,.1)}.rq-tabs button{font:600 .78rem var(--body);padding:8px 14px;border-radius:99px;border:1px solid rgba(43,38,32,.15);background:#fff;color:#2b2620;cursor:pointer}.rq-tabs button.on{background:#c9a96e;border-color:#c9a96e;color:#1d1a14}
.rq-body{padding:14px 18px 28px;overflow:auto;flex:1}.rq-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.rq-board div{background:#fff;border:1px solid rgba(43,38,32,.1);border-radius:12px;padding:10px}.rq-board b{display:block;font:600 1.35rem var(--body);color:#8a6a2a}.rq-board span{font-size:.66rem;color:#6a6358;line-height:1.3;display:block}
.rq-how{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;padding:0;counter-reset:h}.rq-how li{counter-increment:h;font-size:.72rem;color:#6a6358;line-height:1.4}.rq-how li:before{content:counter(h);display:inline-flex;width:20px;height:20px;border-radius:50%;background:rgba(201,169,110,.3);color:#8a6a2a;font-weight:700;align-items:center;justify-content:center;margin-bottom:4px}.rq-how b{display:block;color:#2b2620;font-size:.8rem}
.rq-lab{display:block;font:600 .74rem var(--body);margin:10px 0 5px;color:#2b2620}.rq-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rq-chip{font:600 .74rem var(--body);padding:6px 12px;border-radius:99px;border:1px solid rgba(43,38,32,.18);background:#fff;color:#2b2620;cursor:pointer}.rq-chip.on{background:#2b2620;color:#fff;border-color:#2b2620}
.rq-body textarea,.rq-body input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(43,38,32,.2);background:#fff;color:#2b2620;font:400 .9rem var(--body);resize:vertical}.rq-body textarea.bad{border-color:#c0392b}
.rq-go{margin-top:10px;width:100%;padding:12px;border-radius:99px;border:0;background:#c9a96e;color:#1d1a14;font:700 .86rem var(--body);cursor:pointer}.rq-go[disabled]{opacity:.6}.rq-lk{background:none;border:0;color:#8a8378;font-size:.74rem;margin-top:10px;cursor:pointer;text-decoration:underline}.rq-p{font-size:.86rem;line-height:1.55;color:#4a443b}.rq-fine{font-size:.7rem;color:#8a8378;margin-top:10px}.rq-err{color:#c0392b;font-size:.78rem;min-height:1.2em;margin-top:6px}
.rq-list{list-style:none;margin:0;padding:0}.rq-list li{background:#fff;border:1px solid rgba(43,38,32,.1);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:.82rem;position:relative}.rq-list li.mine{border-color:#c9a96e;animation:tin .4s ease}.rq-pr{font-size:.74rem;color:#6a6358;margin-top:3px}.rq-st{display:inline-block;margin-top:6px;font:700 .64rem var(--body);letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:rgba(43,38,32,.08);color:#6a6358}.rq-st.s1{background:rgba(184,95,12,.15);color:#b85f0c}.rq-st.s2{background:rgba(47,125,87,.16);color:#2f7d57}
.rq-ok{text-align:center;padding:20px 6px}.rq-tick{width:54px;height:54px;border-radius:50%;background:rgba(47,125,87,.16);color:#2f7d57;font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}.rq-ok h4{font:500 1.5rem var(--head);margin-bottom:6px}.rq-ok p{font-size:.86rem;line-height:1.55;color:#4a443b}
@media(max-width:600px){.rq-panel{top:auto;height:92vh;width:100%;border-radius:20px 20px 0 0;animation:none}.t-title{font-size:1.3rem}.t-say{font-size:.86rem}.t-card{padding:12px 14px}.t-card.pt{top:62px}.rq-how,.rq-board{gap:6px}}
.bar .in{max-width:1300px}
@media(max-width:860px){.bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}.tour-btn,.rq-btn{position:fixed;bottom:14px;margin:0;z-index:120;box-shadow:0 8px 24px rgba(28,22,14,.25);padding:11px 16px;font-size:.82rem}.tour-btn{left:14px}.rq-btn{right:14px;background:#fff;color:#8a6a2a;border-color:#c9a96e}.t-prompt{bottom:72px}body{padding-bottom:70px}}
/* Phones and tablets: a docked action bar, large touch targets, and iOS and Android fixes. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,select,[data-act],[data-x],.su{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.t-card{max-height:calc(100dvh - 84px)}.t-card.pb{bottom:calc(14px + env(safe-area-inset-bottom,0px))}.rq-body{overscroll-behavior:contain}
@media(max-width:1200px){
.bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
body:after{content:'';position:fixed;left:0;right:0;bottom:0;height:calc(68px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--bd,rgba(255,255,255,.1));z-index:59;pointer-events:none}
body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.tour-btn,.rq-btn{position:fixed;bottom:calc(11px + env(safe-area-inset-bottom,0px));margin:0;z-index:120;width:calc(50% - 18px);justify-content:center;min-height:46px;box-shadow:none;font-size:.9rem}
.tour-btn{left:12px}.rq-btn{right:12px;background:#fff;color:#8a6a2a;border-color:#c9a96e}
.t-prompt{display:none}.rq-panel{padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(min-width:700px) and (max-width:1200px){.tour-btn,.rq-btn{width:260px}.tour-btn{left:calc(50% - 266px)}.rq-btn{right:calc(50% - 266px)}}
@media(max-width:860px){.rq-panel{height:92vh;height:92dvh}}
@media(max-width:1200px),(pointer:coarse){input,select,textarea,.inp,.rq-body input,.rq-body textarea{font-size:16px!important}}
@media(pointer:coarse),(max-width:860px){.b2,.btn.sm,.t-b,.rq-chip,.rq-tabs button{min-height:44px}.b2{padding:10px 16px}.tab{padding:11px 16px}.rq-x{min-width:44px;min-height:44px}}
@media(hover:none){.q:hover,.btn:hover,.mod:hover{transform:none;box-shadow:none}}
@media(orientation:landscape){.bar .in,.wrap,.app{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}
/* Audit fixes: main headings, readable small text, larger hit areas. */
.app h1{font-family:var(--head);font-size:clamp(1.5rem,4vw,2.1rem);font-weight:500;line-height:1.2;margin:4px 0 4px}
.back{display:inline-flex;align-items:center;min-height:44px;padding:0 12px 0 4px;font:500 .78rem/1 var(--body);letter-spacing:0;color:var(--t2)}.back:hover{color:var(--text);text-decoration:none}
.tile .l,.st,.pill{font-size:.7rem}.tag{font-size:.68rem}.kick,.lab,.badge,.rq-board span{font-size:.72rem}.b2{font-size:.8rem}.t-seg i{font-size:.66rem}
label input[type=checkbox]{width:24px;height:24px;flex:none;accent-color:#8a6a2a}
label:has(>input[type=checkbox]){min-height:44px;align-items:center}
/* Stacked buttons always keep a gap. */
.app div:has(>.btn+.btn),.app div:has(>.b2+.btn),.app div:has(>.btn+.b2){display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* Landing fit: on phones the hero photo shrinks so the buttons clear the bottom bar; buttons get a proper gap. */
@media(max-width:899px){
.hero.hero2{padding-top:14px;gap:16px}
.hero-img{aspect-ratio:auto;height:clamp(72px,calc(100vh - 455px),230px);height:clamp(72px,calc(100svh - 455px),230px)}
.hero.hero2 .hero-in{display:flex;flex-wrap:wrap;gap:12px 10px;align-items:stretch}
.hero.hero2 .hero-in>.badge{flex:0 0 auto;margin:0}
.hero.hero2 .hero-in>h1,.hero.hero2 .hero-in>p.sub{flex:0 0 100%;margin:0}
.hero.hero2 .hero-in>p.sub{margin-bottom:4px}
.hero.hero2 .hero-in>.btn{flex:1 1 auto;justify-content:center;margin:0}
.hero.hero2 .hero-in>.chips{flex:0 0 100%;margin:14px 0 0}
}
@media(max-width:560px){.hero.hero2 .hero-in>.btn.line{display:none}}
@media(max-width:380px){.hero.hero2 h1{font-size:2rem}.hero.hero2 p.sub{font-size:.92rem;line-height:1.5}.hero.hero2 .hero-in{gap:10px}}
@media(prefers-reduced-motion:reduce){.t-spot,.t-cursor,.t-card,.t-inter,.rq-panel{transition:none;animation:none}.t-spot:after,.ti-l,.ti-h{animation:none}.ti-l{width:130px}.ti-h{opacity:1}}
