/* KHAOPAN Pet Lodge: cream, apricot, sage and cocoa. Text colours are chosen for WCAG AA (>= 4.5:1) on every background they sit on. */
:root{
  --cream:#FBF6EE;--paper:#FFFDF8;--sand:#F3E9DA;--apricot:#F2B880;--apricot-d:#E39A55;--apricot-soft:#FCE9D2;
  --sage:#5E7D62;--sage-d:#3F5E45;--sage-soft:#E3ECDF;--cocoa:#3A2A20;--ink:#2B211A;--mute:#6A5A4D;--line:#E8DCCB;
  --terra:#A8472F;--terra-soft:#F8E2DA;--ok:#2F6B3C;--warn:#8A5A00;--bad:#A12B2B;
  --display:"Mali","Noto Sans Thai",system-ui,sans-serif;--text:"Noto Sans Thai","Mali",system-ui,sans-serif;
  --r:18px;--r-lg:28px;--shadow:0 14px 34px rgba(58,42,32,.12);--shadow-s:0 6px 16px rgba(58,42,32,.1);--icon-accent:#A8472F;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.7 var(--text);overflow-x:hidden;padding-bottom:0}
img,svg{max-width:100%}img{height:auto;display:block}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.3;margin:0 0 .5em;color:var(--cocoa)}
h1{font-size:clamp(28px,4.6vw,48px)}h2{font-size:clamp(22px,3vw,32px)}h3{font-size:20px}h4{font-size:17px}
p{margin:0 0 1em}a{color:var(--sage-d);text-underline-offset:3px}a:hover{color:var(--cocoa)}
:focus-visible{outline:3px solid var(--apricot-d);outline-offset:2px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.center{text-align:center}.mt{margin-top:28px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--cocoa);color:#fff;padding:10px 16px;border-radius:10px;z-index:200}.skip:focus{left:8px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}
.muted{color:var(--mute)}.small,small{font-size:14px;color:var(--mute)}.big{font-size:20px}.err{color:var(--bad)}small.err{display:block;font-size:13.5px}
.lead{font-size:clamp(17px,2vw,20px);color:var(--ink);max-width:62ch}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 14px var(--text);color:var(--sage-d);background:var(--sage-soft);padding:5px 14px;border-radius:99px;margin:0 0 14px}
.eyebrow.center{display:flex;justify-content:center;width:fit-content;margin-inline:auto}

/* ── buttons: ears wiggle on hover ───────────────────────────── */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 24px;border-radius:99px;border:2px solid var(--cocoa);background:transparent;color:var(--cocoa);font:600 16px/1.2 var(--text);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .2s;-webkit-appearance:none;appearance:none}
.btn:hover{background:var(--apricot-soft);color:var(--cocoa)}
.btn-primary{background:var(--sage-d);border-color:var(--sage-d);color:#fff;--ear:var(--sage-d)}
.btn-primary:hover{background:#2E4A35;border-color:#2E4A35;color:#fff;--ear:#2E4A35}
.btn-ghost{--ear:var(--cocoa);background:var(--paper)}
.btn-danger{background:var(--terra);border-color:var(--terra);color:#fff;--ear:var(--terra)}.btn-danger:hover{background:#8A3924;border-color:#8A3924;color:#fff;--ear:#8A3924}
.btn.sm{min-height:38px;padding:6px 16px;font-size:14.5px}.btn.lg{min-height:56px;font-size:18px}.btn.block{display:flex;width:100%}
.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed}
.ears::before,.ears::after{content:"";position:absolute;top:-5px;width:11px;height:11px;background:var(--ear,var(--cocoa));border-radius:3px 0 0 0;transform:rotate(45deg) scale(0);transition:transform .22s cubic-bezier(.3,1.6,.5,1);pointer-events:none;z-index:-1}
.ears::before{left:16px}.ears::after{right:16px}
.ears:hover::before,.ears:hover::after,.ears:focus-visible::before,.ears:focus-visible::after{transform:rotate(45deg) scale(1);animation:ear .6s ease-in-out .2s 1}
@keyframes ear{0%,100%{transform:rotate(45deg) scale(1)}35%{transform:rotate(36deg) scale(1)}70%{transform:rotate(54deg) scale(1)}}
.row-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 8px}.cta-row.center{justify-content:center}

/* ── pills, chips, notices ───────────────────────────────────── */
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:99px;font:600 13.5px/1.5 var(--text);background:var(--sage-soft);color:var(--sage-d)}
.pill-green{background:var(--sage-soft);color:var(--ok)}.pill-amber{background:var(--apricot-soft);color:var(--warn)}.pill-red{background:var(--terra-soft);color:var(--bad)}.pill-sage{background:var(--sage-soft);color:var(--sage-d)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:99px;background:var(--sand);color:var(--ink);font-size:14px;text-decoration:none}
a.chip:hover{background:var(--apricot);color:var(--ink)}.chip.warn{background:var(--apricot-soft);color:var(--warn)}
.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:14px;background:var(--sage-soft);color:var(--ink);margin:0 0 18px;border:1px solid rgba(63,94,69,.25)}
.notice.err{background:var(--terra-soft);color:var(--bad);border-color:rgba(161,43,43,.3)}.notice.warn{background:var(--apricot-soft);color:var(--ink);border-color:rgba(138,90,0,.3)}
.notice .why{margin:6px 0 0;padding-left:20px;color:var(--ink)}.notice.err .why{color:var(--bad)}
.flash-wrap{padding-top:16px}.notice p{margin:4px 0 0}.keylink .copybox{width:100%;margin-top:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper);font:13px/1.4 monospace;color:var(--ink)}
.notice.wl{align-items:center;justify-content:space-between;flex-wrap:wrap}
.lamp{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--mute);box-shadow:0 0 0 3px rgba(0,0,0,.06);flex:none}.lamp.green{background:#3F8A4F}.lamp.amber{background:#E5A100}.lamp.red{background:#C94A3A}.lamp.grey{background:#B9AB9B}

/* ── status strip and collar header ──────────────────────────── */
.status{background:var(--cocoa);color:var(--cream);font-size:14px}
.st-in{display:flex;align-items:center;gap:18px;min-height:40px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.st-open{display:inline-flex;align-items:center;gap:8px;color:var(--cream)}.st-open b{color:var(--apricot)}
.dot{width:10px;height:10px;border-radius:50%;background:#9A8A7C;display:inline-block}.dot.on{background:#6FCB82;box-shadow:0 0 0 0 rgba(111,203,130,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(111,203,130,0)}100%{box-shadow:0 0 0 0 rgba(111,203,130,0)}}
.st-list{display:flex;gap:6px 22px;flex-wrap:wrap;list-style:none;margin:0;padding:0;flex:1;min-width:0}
.st-list li{display:inline-flex;align-items:center;gap:7px;color:var(--cream)}.st-list b{color:var(--apricot);font-weight:600}.status .ic{color:var(--apricot);width:1.05em;height:1.05em}
.tag-lang{margin-left:auto;padding:2px 12px;border:1.5px solid var(--cream);border-radius:99px;color:var(--cream);text-decoration:none;font-weight:600;font-size:13.5px}.tag-lang:hover{background:var(--cream);color:var(--cocoa)}
.collar{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:1px solid var(--line)}
.strap{position:absolute;left:0;top:14px;width:100%;height:34px;overflow:visible;pointer-events:none}
.strap path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.strap .s1{stroke:var(--sage-d);stroke-width:13}.strap .s2{stroke:var(--cream);stroke-width:2;stroke-dasharray:7 8;opacity:.85}
.collar-in{position:relative;z-index:1;display:flex;align-items:flex-start;gap:14px;min-height:98px;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cocoa);margin-top:2px;background:var(--cream);padding:2px 12px 2px 4px;border-radius:99px;box-shadow:0 0 0 3px var(--cream)}
.brand-mark{width:48px;height:48px}.wm{display:flex;flex-direction:column;line-height:1.15}.wm b{font:700 20px var(--display);color:var(--cocoa)}.wm small{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.tags{flex:1;display:flex;justify-content:space-around;align-items:flex-start;gap:6px;padding-top:20px}
.tg{position:relative;display:inline-flex;margin-top:var(--dy,0);padding:19px 15px 9px;color:var(--ink);text-decoration:none;font:600 14.5px/1.25 var(--text);transform-origin:50% -14px;background:none;border:0;cursor:pointer;--tag:var(--paper)}
.tg::before{content:"";position:absolute;left:50%;top:-15px;width:2px;height:18px;margin-left:-1px;background:var(--cocoa)}
.tg::after{content:"";position:absolute;left:50%;top:7px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--cream);border:2px solid var(--cocoa);z-index:2}
.tg-bg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.tg-bg *{vector-effect:non-scaling-stroke;stroke-linejoin:round}
.tg-bg .o *{fill:var(--cocoa);stroke:var(--cocoa);stroke-width:4}.tg-bg .f *{fill:var(--tag);stroke:none}
.tg-in{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tg-in .ic{color:var(--sage-d);--icon-accent:var(--terra)}
.tg:hover,.tg:focus-visible{--tag:var(--apricot-soft);animation:swing 1s ease-in-out;color:var(--ink)}
@keyframes swing{15%{transform:rotate(7deg)}35%{transform:rotate(-5.5deg)}55%{transform:rotate(3.5deg)}75%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
.tg[aria-current=page]{--tag:var(--apricot-soft)}
.tg-heart{padding:24px 30px 24px}
.tg-cta{--tag:var(--apricot);margin-top:2px;font-size:16px;padding:21px 22px 11px}.tg-cta:hover{--tag:var(--apricot-d)}.tg-cta .tg-in .ic{color:var(--ink);--icon-accent:var(--cocoa)}
.tg-menu{display:none}
.me-link{display:inline-flex;align-items:center;gap:6px;margin-top:22px;padding:6px 10px;border-radius:99px;color:var(--cocoa);text-decoration:none;font-weight:600;font-size:14.5px;background:var(--cream)}.me-link:hover{background:var(--sand);color:var(--cocoa)}
.drawer{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--paper);z-index:120;transform:translateX(105%);transition:transform .3s;box-shadow:-20px 0 50px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:auto}
.drawer.open{transform:none}.drawer-h{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.d-brand{display:flex;align-items:center;gap:8px}.d-brand .brand-mark{width:40px;height:40px}
.drawer nav{display:grid;padding:10px}.drawer nav a{display:flex;align-items:center;gap:12px;padding:14px 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:500}.drawer nav a:hover{background:var(--apricot-soft)}.drawer nav .d-cta{background:var(--apricot);font-weight:600}.drawer nav .d-cta:hover{background:var(--apricot-d)}
.x-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--cocoa);background:var(--paper);display:grid;place-items:center;cursor:pointer;color:var(--cocoa)}.x-btn:hover{background:var(--apricot-soft)}
.scrim{position:fixed;inset:0;background:rgba(40,28,20,.5);z-index:110}
.dock{display:none}

/* ── hero, sections, cards ───────────────────────────────────── */
.hero{padding:48px 0 30px;background:radial-gradient(900px 400px at 85% -10%,var(--apricot-soft),transparent 70%)}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.hero h1{font-size:clamp(34px,5.4vw,60px);margin-bottom:.35em}.hero .lead{margin-bottom:6px}
.trust{display:flex;gap:10px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:20px 0 0}.trust li{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:500;font-size:15px}.trust .ic{color:var(--sage-d)}
.hero-p{position:relative}.arch{border-radius:46% 46% var(--r-lg) var(--r-lg)/38% 38% var(--r-lg) var(--r-lg);overflow:hidden;border:6px solid var(--paper);box-shadow:var(--shadow);aspect-ratio:4/4.4;background:var(--sand)}.arch img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.float{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:16px;background:var(--paper);box-shadow:var(--shadow-s);text-decoration:none;color:var(--ink);border:1px solid var(--line)}.float:hover{background:var(--apricot-soft);color:var(--ink)}
.float .ic{color:var(--sage-d);width:26px;height:26px}.float span{display:flex;flex-direction:column;line-height:1.3}.float small{font-size:12.5px}.float b{font-size:16px;color:var(--cocoa)}
.f1{left:-18px;bottom:58px}.f2{right:-8px;top:36px}
.demo-try{background:var(--sage-soft);padding:12px 0;border-block:1px solid rgba(63,94,69,.2)}.demo-try p{margin:0;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.demo-try .ic{color:var(--sage-d)}
.sec{padding:56px 0}.sec-sand{background:var(--sand)}.sec-h{max-width:720px;margin:0 auto 30px;text-align:center}.sec-h p{color:var(--mute)}
.page-h{padding:40px 0 10px;background:radial-gradient(800px 300px at 90% -20%,var(--apricot-soft),transparent 70%)}.ph-in{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.ph-img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:5px solid var(--paper);aspect-ratio:4/3;background:var(--sand)}.ph-img img{width:100%;height:100%;object-fit:cover}
.live-note{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:99px;background:var(--paper);border:1px solid var(--line);color:var(--ink)}.live-note .ic{color:var(--sage-d)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stack{display:grid;gap:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-s);overflow:hidden}.card.cb,.cb{padding:22px}.card .cb{padding:20px}
.card .ph{position:relative;aspect-ratio:4/3;background:var(--sand);overflow:hidden}.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .ph img{transform:scale(1.04)}
.ph-tag{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:99px;background:var(--paper);color:var(--ink);font:600 13px var(--text)}
a.card{text-decoration:none;color:var(--ink);display:block;transition:transform .2s,box-shadow .2s}a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.card h3{display:flex;align-items:center;gap:8px;margin-bottom:.3em}.card h3 .ic{color:var(--sage-d)}.card p{color:var(--ink)}.card .more{display:inline-flex;gap:6px;align-items:center;color:var(--sage-d);font-weight:600}
.price{font-family:var(--display);color:var(--cocoa)}.price b{font-size:22px}.room .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.meta{display:flex;gap:6px 14px;flex-wrap:wrap;list-style:none;margin:8px 0;padding:0;font-size:14px;color:var(--mute)}.meta li{display:inline-flex;gap:6px;align-items:center}
.pack .cb{display:grid;gap:8px}.pack p{margin:0}.pack .buy summary{list-style:none;cursor:pointer;display:inline-flex}.pack .buy summary::-webkit-details-marker{display:none}.pack .buy[open] summary{margin-bottom:12px}
.sec-peak{background:var(--apricot-soft);padding:30px 0}.peak{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.peak h2{margin:0 0 .2em;font-size:22px}.peak p{margin:0}.peak-ic{width:56px;height:56px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--terra)}.peak-ic .ic{width:28px;height:28px}.peak>div:nth-child(2){flex:1;min-width:240px}
.quick{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center}.quick-f{display:grid;grid-template-columns:auto 1fr;gap:14px 20px;align-items:center;background:var(--paper);padding:20px;border-radius:var(--r);border:1px solid var(--line)}
.quick-r{grid-column:1/-1;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.quick-r b{font:700 28px var(--display);color:var(--cocoa)}.quick-f .btn{grid-column:1/-1}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.tl{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:20px}.tl li{display:grid;grid-template-columns:48px 1fr;gap:14px}.tl>li>.ic{width:48px;height:48px;padding:12px;border-radius:14px;background:var(--sage-soft);color:var(--sage-d)}.tl b{display:block;font-size:17px}.tl p{margin:2px 0 0;color:var(--mute)}
.trust-v{display:grid;gap:24px;justify-items:center}.pols{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.team{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.team-p{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:5px solid var(--paper)}.team-p img{width:100%}
.ticks{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}.ticks li{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}.ticks .ic{color:var(--sage-d);margin-top:3px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:0 18px}.faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 0;font-weight:600;list-style:none;color:var(--cocoa)}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary .ic{transform:rotate(180deg)}.faq details p{padding-bottom:12px;color:var(--ink)}
.mapcard{margin:18px 0 0}.mapcard svg{width:100%;height:auto;border-radius:18px}
.tbl{width:100%;border-collapse:collapse;background:var(--paper);border-radius:12px;overflow:hidden;font-size:15px}.tbl th,.tbl td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left}.tbl thead th{background:var(--sand);color:var(--cocoa)}.tbl tbody th{font-weight:500;color:var(--ink)}.tbl td.price{text-align:right}
.hours td{text-align:right}.contact .ftr-c.lg li{font-size:16px}
.nf{padding:30px 0}.nf-ic{width:96px;height:96px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:var(--sage-soft);color:var(--sage-d)}.nf-ic .ic{width:44px;height:44px}.nf-mark{width:70px;height:70px}

/* ── forms ───────────────────────────────────────────────────── */
.field{display:grid;gap:6px;margin:0 0 14px;border:0;padding:0;min-width:0}.lbl{font-weight:600;font-size:14.5px;color:var(--cocoa);display:block}fieldset.field legend.lbl{padding:0;margin-bottom:6px}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid #CDBBA5;border-radius:12px;background:#fff;color:var(--ink);font:400 16px/1.4 var(--text)}
input[type=file]{width:100%;padding:10px;border:1.5px dashed #CDBBA5;border-radius:12px;background:#fff;color:var(--ink);font:400 15px var(--text)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--apricot-d);outline-offset:1px;border-color:var(--sage-d)}
input.num{max-width:150px}input[type=range]{width:100%;accent-color:var(--sage-d);min-height:32px}output{font-weight:600;color:var(--sage-d)}
.chk,.check{display:flex;gap:12px;align-items:flex-start;margin:0 0 12px;cursor:pointer;color:var(--ink)}.chk input,.check input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--sage-d)}
.check{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.check b{color:var(--cocoa)}
.seg{display:inline-flex;gap:6px;flex-wrap:wrap}.seg label{position:relative}.seg input{position:absolute;opacity:0;inset:0}.seg span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 20px;border:2px solid #CDBBA5;border-radius:99px;background:#fff;color:var(--ink);font-weight:600;cursor:pointer}
.seg input:checked+span{background:var(--sage-d);border-color:var(--sage-d);color:#fff}.seg input:focus-visible+span{outline:3px solid var(--apricot-d);outline-offset:2px}.seg span .ic{color:inherit}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.opts-s{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.opt{position:relative;display:block}.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}.opt>span{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;height:100%}.opt-s>span{grid-template-columns:1fr}
.opt>span b{font-weight:600;color:var(--cocoa)}.opt>span small{grid-column:2;color:var(--mute)}.opt-s>span small{grid-column:1}.opt>span .ic{grid-row:1/3;color:var(--sage-d)}.opt input:checked+span{border-color:var(--sage-d);background:var(--sage-soft)}.opt input:focus-visible+span{outline:3px solid var(--apricot-d);outline-offset:2px}
.opt[hidden],[data-sp-only][hidden]{display:none}
.form .btn{margin-top:4px}.inline-f{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-f .field{margin:0;flex:1;min-width:150px}.inline{display:inline}
.up{margin-top:12px}.up summary{list-style:none;cursor:pointer;display:inline-flex}.up summary::-webkit-details-marker{display:none}.up form{margin-top:12px;padding:14px;background:var(--cream);border-radius:14px;border:1px solid var(--line)}
.vrow{display:grid;grid-template-columns:1.2fr 1fr auto 1fr;gap:8px;align-items:center;margin-bottom:8px}.vrow b{font-size:14.5px}.vrow input{min-height:42px;padding:6px 8px}.vaxbox{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;background:var(--cream)}.vaxbox legend{font-weight:600;padding:0 8px;color:var(--cocoa)}
.switch{width:56px;height:32px;border-radius:99px;border:2px solid #8F7F70;background:#EFE5D6;position:relative;cursor:pointer;flex:none}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--cocoa);transition:transform .2s}.switch.on{background:var(--sage-d);border-color:var(--sage-d)}.switch.on i{transform:translateX(24px);background:#fff}
.consent-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.consent-row span{display:grid}.consent-row b{color:var(--cocoa)}

/* ── calculator and results ──────────────────────────────────── */
.calc-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;align-items:start}.calc{padding:24px}.calc h2{display:flex;gap:10px;align-items:center;font-size:24px}.calc h2 .ic{color:var(--sage-d)}
.result{padding:24px;position:sticky;top:110px;background:linear-gradient(180deg,var(--paper),var(--apricot-soft))}.rs-k{font-weight:600;color:var(--mute);margin:0}.rs-price{font:700 clamp(28px,3.6vw,40px)/1.2 var(--display);color:var(--cocoa);margin:4px 0}.rs-meta{display:flex;gap:10px;align-items:center;color:var(--ink)}
.rs-lines,.rs-warn{list-style:none;margin:10px 0;padding:0;font-size:14.5px}.rs-lines li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed #D8C7B0}.rs-lines li b{font-weight:500}.rs-lines li.est{color:var(--mute);font-style:italic}.rs-warn li{display:flex;gap:8px;color:var(--warn);padding:3px 0}
.rs-dep{margin:8px 0;color:var(--ink);font-weight:500}.rs-next{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:10px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}.rs-next b{margin-left:auto;color:var(--sage-d)}
.result.busy .rs-price{opacity:.5}.paws{display:inline-flex;gap:6px;vertical-align:middle}.paws i{width:10px;height:12px;border-radius:50% 50% 45% 45%;background:var(--sage-d);opacity:.2;animation:paw 1.2s infinite}.paws i:nth-child(2){animation-delay:.2s}.paws i:nth-child(3){animation-delay:.4s}.paws i:nth-child(4){animation-delay:.6s}
@keyframes paw{0%,100%{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.room-pick{display:grid;gap:10px;margin-top:8px}.rp{position:relative;display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:center;padding:10px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;text-align:left;font:inherit;color:var(--ink);width:100%}
.rp img{width:96px;height:72px;object-fit:cover;border-radius:10px}.rp b{display:block;color:var(--cocoa)}.rp small{color:var(--mute)}.rp .pp{font-family:var(--display);font-weight:600;color:var(--cocoa);text-align:right}
.rp.sel{border-color:var(--sage-d);background:var(--sage-soft)}.rp:disabled{opacity:.55;cursor:not-allowed}.rp .st{display:block;font-size:13px;font-weight:600}.rp .st.ok{color:var(--ok)}.rp .st.no{color:var(--bad)}
.cal-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line);background:var(--paper);-webkit-overflow-scrolling:touch}.cal{border-collapse:separate;border-spacing:0;min-width:760px;width:100%;text-align:center}
.cal th,.cal td{padding:8px 4px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:14px}.cal thead th{background:var(--sand);color:var(--cocoa);position:sticky;top:0}.cal th span{display:block;font-weight:700;font-size:16px}.cal th small{display:block;font-size:12.5px;color:var(--mute)}
.cal tbody th{text-align:left;padding-left:14px;background:var(--paper);position:sticky;left:0;z-index:1;min-width:150px}.cal tbody th a{font-weight:700;color:var(--sage-d)}.cal tbody th small{display:block;font-weight:400;font-size:12.5px}
.cal td{font-weight:700}.cal td.c2{background:#DCEBD8;color:#1F5030}.cal td.c1{background:#FBE7B8;color:#6E4700}.cal td.c0{background:#F3D3CB;color:#8A2222}
.cal th.is-peak,.cal td.is-peak{box-shadow:inset 0 -4px 0 var(--apricot-d)}.cal th.we{color:var(--terra)}.legend{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:14px;color:var(--mute)}.legend span{font-size:18px}.legend .c2{color:#5E9C6D}.legend .c1{color:#E5A100}.legend .c0{color:#C94A3A}.legend .is-peak{color:var(--apricot-d)}
.peaks{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.peaks li{padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--apricot-d);border-radius:12px;display:grid}.peaks small{font-size:14px}
.seats{list-style:none;margin:0;padding:0;display:grid;gap:10px}.seats li{display:grid;grid-template-columns:110px 1fr 90px;gap:12px;align-items:center}.seats b{text-align:right}.bar{display:block;height:10px;border-radius:99px;background:var(--sand);overflow:hidden}.bar i{display:block;height:100%;background:var(--sage);border-radius:99px}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mi{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.mi .ic{width:30px;height:30px;color:var(--sage-d)}.mi b{display:block;color:var(--cocoa)}.mi small{display:block}
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}.steps4.col1{grid-template-columns:1fr}.steps4 li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;position:relative}.steps4 .n{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sage-d);color:#fff;font:700 18px var(--display);margin-bottom:10px}.steps4 b{display:block;color:var(--cocoa);margin-bottom:4px}.steps4 p{margin:0;color:var(--mute);font-size:15px}.steps4 code{background:var(--sand);padding:3px 8px;border-radius:8px}
.policy{display:grid;grid-template-columns:230px 1fr;gap:34px;align-items:start}.policy article{margin-bottom:34px;grid-column:2;scroll-margin-top:120px}.policy .toc{grid-column:1;grid-row:1/20;position:sticky;top:120px;display:grid;gap:4px}.toc a{padding:8px 14px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:500}.toc a:hover{background:var(--apricot-soft)}.policy article li{margin-bottom:8px}.policy>.small{grid-column:2}

/* ── booking wizard ──────────────────────────────────────────── */
.book-h{padding-bottom:0}.book-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.bk-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.bk-steps li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13.5px;color:var(--mute);text-align:center}
.bk-steps i{font-style:normal;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sand);color:var(--ink);font-weight:700;border:2px solid var(--line)}.bk-steps li.now i{background:var(--sage-d);border-color:var(--sage-d);color:#fff}.bk-steps li.now{color:var(--cocoa);font-weight:600}.bk-steps li.done i{background:var(--sage-soft);border-color:var(--sage);color:var(--sage-d)}.bk-steps li.done{color:var(--sage-d);cursor:pointer}
.bk-step{margin-bottom:18px}.bk-step[hidden],.kp[hidden],.kw[hidden],[data-for][hidden]{display:none}.bk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}.bk-nav .btn:only-child{margin-left:auto}
.bk-msg{min-height:1.6em;color:var(--ink)}.bk-msg.bad{color:var(--bad)}.bk-sum{position:sticky;top:112px}.bk-sum h2{font-size:20px;display:flex;gap:8px;align-items:center}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.kv dt{color:var(--mute);font-size:14.5px}.kv dd{margin:0;color:var(--ink);word-break:break-word}.kv dd small{color:var(--mute)}
.petpick{display:grid;gap:10px;margin:10px 0 14px}.pp-item{position:relative;display:grid;grid-template-columns:auto 56px 1fr;gap:12px;align-items:center;padding:10px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.pp-item input{width:22px;height:22px;accent-color:var(--sage-d)}.pp-item.sel{border-color:var(--sage-d);background:var(--sage-soft)}.pp-item b{display:block;color:var(--cocoa)}.pp-item small{color:var(--mute)}
.av{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--apricot-soft);color:var(--terra);border:2px solid var(--apricot);position:relative;overflow:hidden;flex:none}.av img{width:100%;height:100%;object-fit:cover;border-radius:50%}.av .ic{width:24px;height:24px}.av b{position:absolute;right:-1px;bottom:-1px;font:700 11px var(--text);background:var(--paper);border-radius:99px;padding:0 5px;color:var(--cocoa)}.av.sp-cat{background:var(--sage-soft);border-color:var(--sage);color:var(--sage-d)}.av-lg{width:76px;height:76px}.av-lg .ic{width:36px;height:36px}.av-xl{width:130px;height:130px;margin:0 auto}.av-xl .ic{width:64px;height:64px}
.kindpick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 18px}.kind{position:relative}.kind input{position:absolute;opacity:0;inset:0;cursor:pointer}.kind>span{display:grid;gap:4px;justify-items:center;text-align:center;padding:16px 8px;border:2px solid var(--line);border-radius:16px;background:#fff;height:100%}.kind .ic{width:30px;height:30px;color:var(--sage-d)}.kind b{color:var(--cocoa)}.kind small{font-size:13px}.kind input:checked+span{border-color:var(--sage-d);background:var(--sage-soft)}.kind input:focus-visible+span{outline:3px solid var(--apricot-d);outline-offset:2px}
.subbox{padding:14px;border:1px dashed #B9A78F;border-radius:14px;margin:8px 0 14px}.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.slot{min-width:84px;min-height:46px;padding:8px 14px;border-radius:12px;border:2px solid #CDBBA5;background:#fff;font:600 16px var(--text);color:var(--ink);cursor:pointer}.slot:hover{background:var(--apricot-soft)}.slot.sel,.slot[aria-pressed=true]{background:var(--sage-d);border-color:var(--sage-d);color:#fff}.slots small{width:100%}
.pass{border:2px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;background:#fff}.pass.green{border-color:#3F8A4F}.pass.amber{border-color:#E5A100}.pass.red{border-color:#C94A3A}.pass-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}.pass-h h3{margin:0;flex:1}.pass ul.pv{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.pass ul.pv li{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:start}.pass ul.pv li small{display:block}.pass .notice{display:block}
.bk-total{margin:16px 0;padding:16px;border-radius:14px;background:var(--apricot-soft);color:var(--ink)}.bk-total b{font-family:var(--display);font-size:22px;color:var(--cocoa)}
.consents{display:grid;gap:4px}.pdlg{border:0;border-radius:22px;padding:0;max-width:640px;width:calc(100vw - 24px);max-height:92vh;box-shadow:0 30px 80px rgba(0,0,0,.35);color:var(--ink);background:var(--paper)}.pdlg::backdrop{background:rgba(40,28,20,.55)}.pdlg form{display:flex;flex-direction:column;max-height:92vh}
.pd-h{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.pd-h h2{margin:0;font-size:22px;display:flex;gap:8px;align-items:center}.pd-b{padding:18px 20px;overflow:auto;flex:1}.pd-f{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}

/* ── ticket, stamp, stepper, polaroids ───────────────────────── */
.tkt-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start;margin-bottom:22px}.tkt-cols{margin-top:22px}
.ticket{display:grid;grid-template-columns:1fr 210px;background:var(--paper);border:2px solid var(--cocoa);border-radius:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.ticket::before,.ticket::after{content:"";position:absolute;right:196px;width:28px;height:28px;border-radius:50%;background:var(--cream);border:2px solid var(--cocoa);z-index:2}.ticket::before{top:-16px}.ticket::after{bottom:-16px}
.tk-main{padding:26px 28px}.tk-main h1{font-size:clamp(26px,3.4vw,38px);margin-bottom:.2em}.tk-when{display:flex;gap:8px;align-items:center;font-weight:600;color:var(--cocoa);font-size:18px}.tk-when .ic{color:var(--sage-d)}
.tk-stub{border-left:3px dashed #BCA98F;padding:22px 16px;display:grid;gap:14px;align-content:center;justify-items:center;background:var(--sand);text-align:center}.tk-code{display:grid}.tk-code small{font-size:13px}.tk-code b{font:700 22px var(--display);letter-spacing:.05em;color:var(--cocoa);word-break:break-all}
.petlist{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}.petlist li{display:flex;gap:12px;align-items:center}.petlist b{display:block;color:var(--cocoa)}.petlist small{display:block}
.stamp{display:grid;place-items:center;gap:2px;width:128px;height:128px;border-radius:50%;border:4px double var(--sage-d);color:var(--sage-d);transform:rotate(-12deg);background:rgba(227,236,223,.55);text-align:center;padding:10px;animation:stampIn .6s cubic-bezier(.2,1.4,.4,1) both}.stamp b{font:700 15px/1.2 var(--display)}.stamp .st-ic .ic{width:34px;height:34px;color:var(--sage-d);--icon-accent:var(--sage-d)}
.stamp-wait{border-color:#8A5A00;color:#8A5A00;border-style:dashed;background:rgba(252,233,210,.7)}.stamp-wait .st-ic .ic{color:#8A5A00}.stamp-no{border-color:var(--bad);color:var(--bad);background:rgba(248,226,218,.7)}.stamp-no .st-ic .ic{color:var(--bad)}
@keyframes stampIn{0%{transform:rotate(-30deg) scale(2);opacity:0}100%{transform:rotate(-12deg) scale(1);opacity:1}}
.stepper{list-style:none;margin:16px 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.stepper li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mute)}.stepper i{font-style:normal;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sand);color:var(--ink);font-weight:700;border:2px solid var(--line)}.stepper .done i{background:var(--sage-soft);color:var(--sage-d);border-color:var(--sage)}.stepper .now i{background:var(--sage-d);color:#fff;border-color:var(--sage-d)}.stepper .now{color:var(--cocoa);font-weight:600}.stepper .done{color:var(--sage-d)}
.stepper.vert{flex-direction:column;gap:14px;position:relative}.stepper.vert li{position:relative}.stepper.vert li+li::before{content:"";position:absolute;left:13px;top:-14px;width:2px;height:14px;background:var(--line)}.stepper.vert li.done+li::before,.stepper.vert li.now::before{background:var(--sage)}
.pol{margin:0;background:#fff;padding:10px 10px 8px;border-radius:6px;box-shadow:0 8px 20px rgba(58,42,32,.22);transform:rotate(var(--r,0deg));width:min(230px,44vw);transition:transform .25s}.pol:hover{transform:rotate(0) scale(1.04);z-index:2}.pol img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--sand)}.pol figcaption{padding:8px 4px 0;color:var(--ink);font:600 15px var(--display);line-height:1.3}.pol figcaption small{display:block;font:400 13px var(--text);color:var(--mute)}
.pols{gap:0}.pols .pol+.pol{margin-left:-24px}.pols .pol{margin-top:6px}
.approve{border:2px solid var(--apricot-d);background:linear-gradient(180deg,var(--paper),var(--apricot-soft));margin-bottom:22px}.approve h2{display:flex;gap:8px;align-items:center}.approve s{color:var(--mute)}.approve .row-btns .field{margin:0}
.pay{margin-bottom:22px}.pay-grid{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:start}.qrbox{display:grid;justify-items:center;gap:6px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.qrbox>div{min-height:180px;display:grid;place-items:center}.qr-mini{min-height:140px}.ol{padding-left:20px}.warnc{color:var(--warn);display:flex;gap:6px;align-items:center}
.reports .day-h{margin:22px 0 10px;display:flex;gap:8px;align-items:center;color:var(--cocoa);font-size:18px;border-bottom:2px solid var(--line);padding-bottom:6px}.repday{display:grid;gap:18px}.rep{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:22px;align-items:start;padding:14px;background:var(--cream);border-radius:16px}.rep-ph{display:flex;padding:8px 4px 8px 8px}.rep-ph .pol{width:min(170px,40vw)}.rep-ph .pol+.pol{margin-left:-26px;margin-top:22px}
.rep-b h4{margin-bottom:6px}.eatbar{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:4px 0}.mood{background:transparent;padding:0;gap:2px}.mood i{display:inline-flex;color:#C9B8A2;font-style:normal}.mood i .ic{width:20px;height:20px;--icon-accent:#C9B8A2}.mood i.on{color:var(--terra);--icon-accent:var(--terra)}
.quote{margin:8px 0;padding:8px 14px;border-left:4px solid var(--apricot);background:var(--paper);border-radius:0 10px 10px 0;color:var(--ink);font-style:italic}.mar td,.mar th{font-size:14px}
.cancel .refund{padding:10px 14px;background:var(--apricot-soft);border-radius:12px;color:var(--ink)}.cancel details summary{list-style:none;display:inline-flex;cursor:pointer}.cancel details summary::-webkit-details-marker{display:none}.cancel details form{margin-top:12px}
.drv .stepper{margin:14px 0}.drv-btns{display:grid;gap:10px;margin-top:16px}.trip-list{display:grid;gap:8px}
.sheet h1 small{font-size:16px;color:var(--mute);font-weight:400}.sheet h2{font-size:19px;margin-top:20px;border-bottom:2px solid var(--line);padding-bottom:4px}.tlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tlist time{font-weight:700;margin-right:10px;color:var(--cocoa)}

/* ── passport booklet, ruler, my page ────────────────────────── */
.booklet{display:grid;grid-template-columns:90px 1fr;border-radius:10px 16px 16px 10px;overflow:hidden;box-shadow:var(--shadow-s);border:2px solid var(--cocoa);background:var(--paper);max-width:420px}.booklet.big{max-width:none}
.bk-cover{display:grid;align-content:center;justify-items:center;gap:6px;padding:14px 8px;background:var(--sage-d);color:#fff;text-align:center}.bk-cover .ic{width:30px;height:30px;color:var(--apricot);--icon-accent:var(--apricot)}.bk-cover b{font:700 14px/1.3 var(--display)}.bk-cover small{font-size:12px;color:#E3ECDF;letter-spacing:.12em}
.bk-page{padding:14px 16px;background:repeating-linear-gradient(transparent 0 33px,rgba(58,42,32,.07) 33px 34px),var(--paper)}.bk-page h4{display:flex;gap:8px;align-items:center;margin:0 0 6px}.bk-row{display:grid;grid-template-columns:18px 1fr auto auto;gap:10px;align-items:center;min-height:42px;padding:3px 0}.bk-row b{display:block;color:var(--cocoa);font-size:15px}.bk-row small{display:block;font-size:13.5px}
.ok-stamp{display:inline-flex;gap:4px;align-items:center;padding:1px 10px;border:2px solid var(--ok);color:var(--ok);border-radius:8px;font:700 12.5px var(--text);transform:rotate(-4deg)}
.booklet.big{grid-template-columns:110px 1fr}.booklet+.up{margin-top:12px}
.ruler-box{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:stretch;margin-bottom:6px}.ruler{height:260px;position:relative;padding:6px 0}.ruler-in{position:relative;height:100%;width:100%;background:linear-gradient(90deg,#E9D8BC,#F3E6CF);border-radius:6px;border:2px solid #B39A74;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}
.ruler .tick{position:absolute;left:0;width:14px;height:2px;background:#8B7355}.ruler .tick.big{width:28px;height:3px}.ruler .mark{position:absolute;left:34px;right:4px;display:grid;transform:translateY(50%);border-top:2.5px solid var(--terra);padding-top:1px}.ruler .mark b{font-size:14px;color:var(--ink);line-height:1.2}.ruler .mark small{font-size:11.5px;color:#5E4A38;line-height:1.1}
.petc{margin-bottom:26px;padding:22px}.petc-h{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:16px}.petc-av{position:relative}.hat{position:absolute;width:38px;height:38px;right:-6px;top:-22px;transform:rotate(18deg)}.petc h3{font-size:24px}.petc-go{display:grid;gap:8px}.petc-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:start}
.bday .av{border-color:var(--terra)}.h-anchor{display:flex;gap:10px;align-items:center;margin:34px 0 16px;scroll-margin-top:120px}.h-anchor .ic{color:var(--sage-d)}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.subnav a{padding:6px 16px;border-radius:99px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500}.subnav a:hover{background:var(--apricot-soft)}.my-h{padding-bottom:20px}
.blist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.blist li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.blist a:not(.btn){text-decoration:none;color:var(--ink)}.blist a b{display:block;color:var(--cocoa)}.blist a small{display:block}
.wallet .big b{font:700 34px var(--display);color:var(--cocoa)}.ledger{list-style:none;padding:0;margin:8px 0 0}.tagcard{max-width:520px;margin:0 auto;padding:34px 28px 28px;position:relative;text-align:center;border:3px solid var(--cocoa);border-radius:30px}.tc-hole{position:absolute;left:50%;top:12px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--cream);border:3px solid var(--cocoa)}.tc-ph{margin:12px auto 10px}.tc-ph img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin:0 auto;border:4px solid var(--apricot)}.tc-say{text-align:left;margin:16px 0}.tc-actions{display:grid;gap:10px;margin:14px 0}.tagcard .form{text-align:left;margin-top:18px}
.linkreq{max-width:560px;margin:20px auto}

/* ── footer, agency panel ────────────────────────────────────── */
.ftr{background:var(--cocoa);color:var(--cream);padding:46px 0 24px;margin-top:0}.ftr a{color:#FFE2BF}.ftr a:hover{color:#fff}.ftr h4{color:var(--apricot);font-size:16px;margin-bottom:10px}.ftr p,.ftr small,.ftr li{color:#EADFD0}
.ftr-top{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.18)}.ftr-lock{display:flex;gap:12px;align-items:center}.lockup-mark{width:56px;height:56px}.lock-t{display:flex;flex-direction:column;line-height:1.15}.lock-t b{font:700 22px var(--display);color:#fff}.lock-t small{letter-spacing:.14em;text-transform:uppercase;font-size:12.5px}.ftr-say{margin:0;max-width:52ch}
.cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px}.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ftr-c li{display:grid;grid-template-columns:22px 1fr;gap:8px}.ftr-c .ic{color:var(--apricot);--icon-accent:var(--apricot);margin-top:4px}.ftr-soc{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:14px;color:#EADFD0}.base .credit a{font-weight:600}
.dk-pill{position:fixed;left:16px;bottom:16px;z-index:45;display:flex;align-items:center;gap:10px;border:0;border-radius:99px;padding:12px 18px;background:var(--cocoa);color:#fff;font:600 14px var(--text);cursor:pointer;box-shadow:var(--shadow)}.dk-pill:hover{background:#000}.dk-dot{width:10px;height:10px;border-radius:50%;background:#6FCB82;animation:pulse 2.4s infinite}.dk-s{display:none}
.dk{position:fixed;inset:0;z-index:95;background:rgba(20,14,10,.55);display:flex;align-items:flex-end;justify-content:flex-start;padding:16px}.dk[hidden]{display:none}
.dk-card{position:relative;width:min(470px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--paper);border-radius:22px;padding:24px}.dk-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;display:grid;place-items:center;color:var(--cocoa)}
.dk-by{font-size:13px;color:var(--terra);font-weight:600;margin:0 0 6px}.dk-card h2{font-size:21px;line-height:1.4;margin:0 40px 16px 0}.dk-feat{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}.dk-feat li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}.dk-feat b{display:block;font-weight:600;font-size:15px;line-height:1.4}.dk-feat small{display:block;color:var(--mute);font-size:13px;line-height:1.5}
.dk-ic{width:22px;height:22px;flex:none}.dk-feat .dk-ic{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--apricot-soft);color:var(--cocoa)}.dk-try{background:var(--cream);border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:14px}.dk-try ol{margin:6px 0 0;padding-left:20px;color:var(--mute)}
.dk-price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-bottom:14px;font-size:14px;color:var(--mute)}.dk-price b{font-family:var(--display);font-size:24px;color:var(--cocoa)}
.dk-btns{display:grid;gap:8px}.dk-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;border-radius:999px;border:1px solid var(--cocoa);color:var(--cocoa);text-decoration:none;font-weight:600}.dk-btn:hover{background:var(--cocoa);color:#fff}.dk-btn.line{background:#03873A;border-color:#03873A;color:#fff}.dk-btn.line:hover{background:#026B2E;color:#fff}.dk-btn.order{background:#14171C;border-color:#14171C;color:#fff}.dk-btn.order:hover{background:#000;color:#fff}.dk-more{text-align:center;font-size:13px;color:var(--mute);margin:12px 0 0}.dk-more a{color:var(--mute)}

/* ── responsive ──────────────────────────────────────────────── */
@media (max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr 1fr}.tg{padding-inline:11px;font-size:14px}.steps4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){
  .tags,.me-link,.tg-cta .tg-in span:not(.ic){display:none}.tg-menu{display:inline-flex}.tg-cta .tg-in span{display:inline}
  .collar-in{min-height:84px;justify-content:space-between;align-items:flex-start}.tags{display:none}.me-link{display:none}.tg-cta,.tg-menu{margin-top:12px;--dy:0}.collar-in .tg-cta{margin-left:auto}
  .hero-in,.ph-in,.quick,.trust-grid,.team,.calc-grid,.two-col,.grid2,.petc-grid,.tkt-grid,.policy{grid-template-columns:1fr}.policy .toc{position:static;grid-column:1;grid-row:auto;display:flex;flex-wrap:wrap}.policy article,.policy>.small{grid-column:1}
  .result{position:static}.book-grid{grid-template-columns:1fr}.bk-sum{position:static;order:-1}.petc-h{grid-template-columns:auto 1fr}.petc-go{grid-column:1/-1;grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--paper);border-top:2px solid var(--cocoa);padding:6px 4px calc(6px + env(safe-area-inset-bottom));align-items:end}
  .dock a{display:grid;justify-items:center;gap:2px;padding:6px 2px;color:var(--ink);text-decoration:none;font-size:12.5px;font-weight:600}.dock a .ic{width:24px;height:24px;color:var(--sage-d)}.dock a[aria-current=page]{color:var(--sage-d)}.dock a[aria-current=page] .ic{color:var(--terra)}
  .dock-go{position:relative}.dk-round{display:grid;place-items:center;width:60px;height:60px;margin-top:-30px;border-radius:50%;background:var(--apricot);border:4px solid var(--paper);box-shadow:0 8px 0 -3px var(--apricot-d),0 10px 22px rgba(58,42,32,.3)}.dock-go .ic{color:var(--ink);--icon-accent:var(--cocoa);width:30px;height:30px}
  .dk-pill{left:12px;bottom:calc(92px + env(safe-area-inset-bottom))}.dk-l{display:none}.dk-s{display:inline}
  .tg-cta{display:none}.collar-in{min-height:78px}.brand{padding-right:8px}.wm b{font-size:18px}
  .grid3,.grid4,.menu-grid,.steps4,.cols,.kindpick,.two{grid-template-columns:1fr}.kindpick{grid-template-columns:1fr 1fr}.hero{padding-top:28px}.sec{padding:40px 0}.f1{left:6px;bottom:12px}.f2{right:6px;top:10px}
  .ticket{grid-template-columns:1fr}.ticket::before,.ticket::after{display:none}.tk-stub{border-left:0;border-top:3px dashed #BCA98F;grid-template-columns:auto 1fr;justify-items:start;text-align:left}.stamp{width:104px;height:104px}.stamp b{font-size:13px}
  .pay-grid,.rep,.ruler-box{grid-template-columns:1fr}.rep-ph{justify-content:center}.vrow{grid-template-columns:1fr 1fr}.vrow b{grid-column:1/-1}.vrow span[aria-hidden]{display:none}
  .bk-steps span{display:none}.bk-steps li.now span{display:block;position:absolute;margin-top:40px}.bk-steps{margin-bottom:34px}.bk-steps li{position:relative}
  .st-list li:nth-child(n+3){display:none}.st-in{gap:6px 14px}.quick-f{grid-template-columns:1fr}.seats li{grid-template-columns:90px 1fr 70px}.mi{grid-template-columns:30px 1fr auto}.rp{grid-template-columns:72px 1fr}.rp .pp{grid-column:1/-1;text-align:left}.rp img{width:72px;height:56px}
  .consent-row{align-items:flex-start}.petc{padding:16px}.booklet.big{grid-template-columns:78px 1fr}.bk-row{grid-template-columns:18px 1fr}.bk-row .ok-stamp,.bk-row .small{grid-column:2}
  .blist li{grid-template-columns:1fr}.dk{padding:0;align-items:flex-end;justify-content:center}.dk-card{border-radius:22px 22px 0 0}
}
@media print{.status,.collar,.ftr,.dock,.as,.dk-pill,.noprint,.drawer,.scrim{display:none!important}body{background:#fff}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.av em{font:700 20px var(--display);font-style:normal;color:var(--cocoa)}
@media (max-width:760px){.st-list{order:3;flex-basis:100%;gap:2px 16px}.st-list li{white-space:nowrap;font-size:13px}.st-open{font-size:13.5px}}
.contact .ftr-c .ic{color:var(--sage-d);--icon-accent:var(--terra)}.mood i{color:#8F7F70;--icon-accent:#8F7F70}.mood i .ic{--icon-accent:#8F7F70}.mood i.on{color:var(--terra);--icon-accent:var(--terra)}.mood i.on .ic{--icon-accent:var(--terra)}
.ruler-box{grid-template-columns:170px 1fr}.ruler .mark.nolabel{border-top-width:1.5px;opacity:.55}
@media (max-width:760px){.ruler-box{grid-template-columns:1fr}.ruler{height:220px;max-width:240px}}
.as{z-index:80}.dock{z-index:60}
