/* ===== Booking page — authored in calc(1024 * var(--u,1px)) design space, scaled via --u ===== */
.k-hero,.k-svc,.k-promo,.k-steps,.k-faq{padding:0}
.kh2{display:flex;align-items:center;gap:calc(8 * var(--u,1px));font-size:calc(19 * var(--u,1px));font-weight:600;color:var(--ink);line-height:1.1}
.kh2 img{width:calc(26 * var(--u,1px));height:calc(24 * var(--u,1px));object-fit:contain;flex:none}
.ksub{font-size:calc(10.5 * var(--u,1px));color:#555;margin:calc(4 * var(--u,1px)) 0 0 calc(35 * var(--u,1px))}
.leaf{position:absolute;z-index:-1;pointer-events:none;max-width:none;height:auto}
.k-hero{position:relative;height:calc(260 * var(--u,1px));margin-top:calc(58 * var(--u,1px));overflow:hidden;color:#fff;background:#14271d}
.k-hero .bg-img{object-position:center}.k-hero::after{display:none}
.kh-text{position:absolute;left:calc(70 * var(--u,1px));top:calc(14 * var(--u,1px));z-index:2}
.k-hero .crumbs{font-size:calc(9 * var(--u,1px));gap:calc(9 * var(--u,1px));margin-bottom:calc(7 * var(--u,1px));display:flex;align-items:center}
.eb{font-size:calc(10 * var(--u,1px));letter-spacing:.17em;font-weight:500;color:var(--gold-2)}
.k-hero h1{font-size:calc(34 * var(--u,1px));font-weight:500;line-height:1.05;color:#fff;margin:calc(6 * var(--u,1px)) 0 calc(9 * var(--u,1px))}
.kh-lead{font-size:calc(11.5 * var(--u,1px));line-height:1.55;max-width:calc(355 * var(--u,1px));color:#f4f0e4}
.kh-strip{display:flex;gap:calc(22 * var(--u,1px));margin-top:calc(14 * var(--u,1px))}
.kh-strip li{display:flex;align-items:center;gap:calc(8 * var(--u,1px));font-size:calc(8.8 * var(--u,1px));line-height:1.5;color:#fff}
.kh-strip img{width:calc(32 * var(--u,1px));height:calc(30 * var(--u,1px));object-fit:contain}
.kh-script{position:absolute;right:calc(72 * var(--u,1px));top:calc(34 * var(--u,1px));z-index:2;font-size:calc(25 * var(--u,1px));line-height:1.03;color:#fff;text-align:left}
.kh-script img{display:block;width:calc(34 * var(--u,1px));height:calc(30 * var(--u,1px));margin:calc(6 * var(--u,1px)) 0 0 calc(36 * var(--u,1px));object-fit:contain}
.k-wrap{display:grid;grid-template-columns:calc(648 * var(--u,1px)) minmax(0,1fr);gap:0 calc(12 * var(--u,1px));position:relative;align-items:start}
.k-left{min-width:0}
.k-svc{position:relative;padding:calc(20 * var(--u,1px)) 0 calc(14 * var(--u,1px)) calc(47 * var(--u,1px));overflow:visible;background:transparent}
.kl1{left:0;top:calc(2 * var(--u,1px));width:calc(34 * var(--u,1px))}.kl2{left:0;top:calc(470 * var(--u,1px));width:calc(36 * var(--u,1px))}
.svc-grid{display:grid;grid-template-columns:calc(188 * var(--u,1px)) calc(180 * var(--u,1px)) calc(188 * var(--u,1px));gap:calc(12 * var(--u,1px)) calc(12 * var(--u,1px));margin-top:calc(17 * var(--u,1px));margin-left:calc(6 * var(--u,1px))}
.svc{display:block;text-align:left;background:#fffdf8;border:1.5px solid transparent;border-radius:calc(6 * var(--u,1px));box-shadow:0 calc(2 * var(--u,1px)) calc(12 * var(--u,1px)) rgba(0,0,0,.06);padding:0;overflow:hidden;cursor:pointer;font:400 calc(9.8 * var(--u,1px))/1.45 var(--sans);color:#555;position:relative;height:calc(177 * var(--u,1px))}
.svc.wide{grid-column:span 1;height:calc(158 * var(--u,1px))}
.svc:nth-child(7){grid-column:1/span 1;width:calc(209 * var(--u,1px))}.svc:nth-child(8){grid-column:2/span 2;width:calc(207 * var(--u,1px));margin-left:calc(-8 * var(--u,1px))}
.svc .si{display:block;height:calc(100 * var(--u,1px));position:relative;margin:calc(4 * var(--u,1px)) calc(4 * var(--u,1px)) 0;border-radius:calc(4 * var(--u,1px));overflow:hidden}
.svc.wide .si{height:calc(89 * var(--u,1px))}
.svc .si img{width:100%;height:100%;object-fit:cover}
.chk{position:absolute;right:calc(6 * var(--u,1px));top:calc(6 * var(--u,1px));width:calc(22 * var(--u,1px));height:calc(22 * var(--u,1px));border-radius:50%;background:#123a2c;color:#fff;font-style:normal;font-size:calc(11 * var(--u,1px));display:none;place-items:center}
.svc.on{border-color:#d9a24a;border-radius:calc(6 * var(--u,1px))}.svc.on .chk{display:grid}
.sb{display:block;padding:calc(9 * var(--u,1px)) calc(10 * var(--u,1px)) 0;position:relative}.sb b{display:block;font-family:var(--serif);font-size:calc(13.5 * var(--u,1px));font-weight:600;color:var(--ink);margin-bottom:calc(3 * var(--u,1px))}
.go{position:absolute;right:calc(10 * var(--u,1px));bottom:calc(-30 * var(--u,1px));width:calc(21 * var(--u,1px));height:calc(21 * var(--u,1px));border-radius:50%;background:#f3e4c0;display:grid;place-items:center;font-style:normal;font-size:calc(11 * var(--u,1px));color:var(--ink)}
.svc .sb{height:calc(70 * var(--u,1px))}.svc .go{bottom:calc(6 * var(--u,1px));top:auto;position:absolute;right:calc(10 * var(--u,1px));margin-top:0}
.k-promo{position:relative;height:calc(183 * var(--u,1px));overflow:hidden;color:#fff;margin-top:calc(12 * var(--u,1px))}
.k-promo .bg-img{object-position:center}.k-promo::after{display:none}
.kp-text{position:absolute;left:calc(79 * var(--u,1px));top:calc(14 * var(--u,1px));z-index:2;max-width:calc(270 * var(--u,1px))}
.kp-text h2{font-size:calc(25 * var(--u,1px));font-weight:500;line-height:1.1;color:#fff;margin-bottom:calc(8 * var(--u,1px))}
.kp-text p{font-size:calc(11 * var(--u,1px));line-height:1.5;color:#f4f0e4}
.kp-text .btn{margin-top:calc(8 * var(--u,1px));padding:calc(9 * var(--u,1px)) calc(22 * var(--u,1px));font-size:calc(10.5 * var(--u,1px));font-weight:500;border-radius:calc(22 * var(--u,1px))}
.k-steps{position:relative;padding:calc(22 * var(--u,1px)) 0 calc(18 * var(--u,1px)) calc(49 * var(--u,1px));overflow:visible}
.kl3{left:0;top:calc(48 * var(--u,1px));width:calc(36 * var(--u,1px))}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:calc(18 * var(--u,1px));gap:0}
.steps li{position:relative;padding-right:calc(30 * var(--u,1px))}
.pi{display:grid;place-items:center;width:calc(42 * var(--u,1px));height:calc(42 * var(--u,1px));border-radius:calc(7 * var(--u,1px));background:#f7e6d3;margin:0 0 calc(10 * var(--u,1px)) calc(6 * var(--u,1px))}.pi img{width:calc(24 * var(--u,1px));height:calc(24 * var(--u,1px));object-fit:contain}
.steps h3{font-family:var(--sans);font-size:calc(10.5 * var(--u,1px));font-weight:600;color:var(--ink);margin-bottom:calc(5 * var(--u,1px))}
.steps p{font-size:calc(9.3 * var(--u,1px));line-height:1.55;color:#555}
.steps s{position:absolute;right:calc(6 * var(--u,1px));top:calc(2 * var(--u,1px));text-decoration:none;font-size:calc(15 * var(--u,1px));color:#444}
.k-right{position:relative;margin:calc(12 * var(--u,1px)) calc(38 * var(--u,1px)) 0 0;background:#fffdf8;border-radius:calc(8 * var(--u,1px));box-shadow:0 calc(4 * var(--u,1px)) calc(22 * var(--u,1px)) rgba(0,0,0,.07);padding:calc(16 * var(--u,1px)) calc(17 * var(--u,1px)) calc(14 * var(--u,1px));z-index:2}
.kl4{right:calc(-38 * var(--u,1px));top:calc(60 * var(--u,1px));width:calc(38 * var(--u,1px))}
.k-right .kh2{font-size:calc(19 * var(--u,1px))}.k-right .ksub{margin-bottom:calc(12 * var(--u,1px))}
.sel{display:flex;align-items:center;gap:calc(12 * var(--u,1px));background:#ecf0e3;border-radius:calc(6 * var(--u,1px));padding:calc(8 * var(--u,1px)) calc(10 * var(--u,1px))}
.sel img{width:calc(60 * var(--u,1px));height:calc(48 * var(--u,1px));border-radius:calc(4 * var(--u,1px));object-fit:cover}
.sel div{flex:1;font-size:calc(8.5 * var(--u,1px));color:#555;line-height:1.4}.sel b{display:block;font-family:var(--serif);font-size:calc(12.5 * var(--u,1px));font-weight:600;color:var(--ink)}
.chg{font-size:calc(9 * var(--u,1px));text-decoration:underline;color:#123a2c;align-self:center}
.lb{font-size:calc(9.5 * var(--u,1px));font-weight:500;color:var(--ink);margin:calc(17 * var(--u,1px)) 0 calc(6 * var(--u,1px))}.lb i,label i{color:#d6453a;font-style:normal}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:calc(12 * var(--u,1px))}
.mode{display:flex;align-items:center;gap:calc(8 * var(--u,1px));height:calc(49 * var(--u,1px));border:1px solid #e1dac3;border-radius:calc(5 * var(--u,1px));background:#fff;font:400 calc(9 * var(--u,1px)) var(--sans);color:var(--ink);padding:0 calc(10 * var(--u,1px));white-space:nowrap;cursor:pointer;text-align:left}
.mode img{width:calc(17 * var(--u,1px));height:calc(17 * var(--u,1px));object-fit:contain;flex:none}.mode small{display:block;font-size:calc(8 * var(--u,1px));color:#555}.mode b{display:block;font-weight:400;font-size:calc(9.5 * var(--u,1px))}
.mode.on{border-color:#123a2c;background:#eef3e5;color:#123a2c}.mode.on img{filter:none}
.cal{padding:0}.cal-h{display:flex;justify-content:space-between;align-items:center;padding:calc(6 * var(--u,1px)) calc(14 * var(--u,1px));font-size:calc(11.5 * var(--u,1px));color:var(--ink)}
.cal-h button{background:none;border:0;font-size:calc(16 * var(--u,1px));cursor:pointer;color:var(--ink);width:calc(24 * var(--u,1px))}
.cal-w,.cal-g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.cal-w span{font-size:calc(7.5 * var(--u,1px));color:#777;height:calc(22 * var(--u,1px));line-height:calc(22 * var(--u,1px))}
.cal-g button{height:calc(24.5 * var(--u,1px));width:calc(26 * var(--u,1px));margin:0 auto;border:0;border-radius:50%;background:none;font:400 calc(10.5 * var(--u,1px)) var(--sans);color:var(--ink);cursor:pointer;padding:0;display:block}
.cal-g button.mu{color:#c5c5ba}.cal-g button.on{background:#0f2d22;color:#fff;font-weight:600;width:calc(26 * var(--u,1px));height:calc(25 * var(--u,1px));line-height:calc(25 * var(--u,1px))}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(9 * var(--u,1px)) calc(9 * var(--u,1px))}
.slots button{height:calc(27 * var(--u,1px));border:1px solid #e1dac3;border-radius:calc(4 * var(--u,1px));background:#fff;font:400 calc(9.5 * var(--u,1px)) var(--sans);color:var(--ink);cursor:pointer}
.slots button.on{background:#0f2d22;color:#fff;border-color:#0f2d22}
.yd{font-size:calc(10 * var(--u,1px));font-weight:500;color:var(--ink);margin:calc(15 * var(--u,1px)) 0 0}
.k-right label:not(.agree){display:block;font-size:calc(8.8 * var(--u,1px));color:var(--ink);margin:calc(9 * var(--u,1px)) 0 calc(5 * var(--u,1px))}
.k-right input[type=text],.k-right input[type=email],.k-right input[type=tel]{width:100%;height:calc(28 * var(--u,1px));border:1px solid #e1dac3;border-radius:calc(3 * var(--u,1px));background:#fff;padding:0 calc(11 * var(--u,1px));font:400 calc(8.5 * var(--u,1px)) var(--sans);color:var(--ink);outline:0}
.k-right input::placeholder,.k-right textarea::placeholder{color:#aaa}
.tel{display:grid;grid-template-columns:calc(76 * var(--u,1px)) 1fr;gap:calc(5 * var(--u,1px))}.tel span{display:flex;align-items:center;gap:calc(6 * var(--u,1px));height:calc(28 * var(--u,1px));border:1px solid #e1dac3;border-radius:calc(3 * var(--u,1px));background:#fff;padding:0 calc(8 * var(--u,1px));font-size:calc(8.5 * var(--u,1px))}.tel img{width:calc(17 * var(--u,1px));height:calc(11 * var(--u,1px))}
.note{position:relative}.note textarea{width:100%;height:calc(68 * var(--u,1px));border:1px solid #e1dac3;border-radius:calc(3 * var(--u,1px));background:#fff;padding:calc(8 * var(--u,1px)) calc(11 * var(--u,1px));font:400 calc(8.5 * var(--u,1px)) var(--sans);resize:none;outline:0;color:var(--ink)}
.note small{position:absolute;right:calc(8 * var(--u,1px));bottom:calc(5 * var(--u,1px));font-size:calc(7.5 * var(--u,1px));color:#888}
.agree{display:flex;align-items:center;gap:calc(7 * var(--u,1px));font-size:calc(8.5 * var(--u,1px));color:var(--ink);margin:calc(12 * var(--u,1px)) 0 calc(10 * var(--u,1px));position:relative;cursor:pointer}
.agree input{position:absolute;opacity:0}.agree i{width:calc(13 * var(--u,1px));height:calc(13 * var(--u,1px));border-radius:calc(2 * var(--u,1px));border:1.2px solid #777;flex:none;background:#fff;position:relative}
.agree input:checked+i{background:#0f2d22;border-color:#0f2d22}.agree input:checked+i::after{content:"";position:absolute;left:calc(3.5 * var(--u,1px));top:1px;width:calc(3 * var(--u,1px));height:calc(6 * var(--u,1px));border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(40deg)}
.agree a{text-decoration:underline}
.confirm{width:100%;height:calc(36 * var(--u,1px));border:0;border-radius:calc(4 * var(--u,1px));background:#0f4a33;color:#fff;font:500 calc(11 * var(--u,1px)) var(--sans);cursor:pointer}
.confirm:hover{background:#0b3a28}
.secure{display:flex;align-items:center;justify-content:center;gap:calc(7 * var(--u,1px));font-size:calc(8 * var(--u,1px));color:#555;margin-top:calc(11 * var(--u,1px))}.secure img{width:calc(9 * var(--u,1px));height:calc(11 * var(--u,1px))}
.kmsg{margin-top:calc(9 * var(--u,1px));font-size:calc(9 * var(--u,1px));color:#9b3a2e;text-align:center}.kmsg.ok{color:#2d4a2a}
.k-right .err{border-color:#d6453a!important}
.k-faq{display:grid;grid-template-columns:calc(443 * var(--u,1px)) minmax(0,1fr);gap:0 calc(36 * var(--u,1px));padding:calc(14 * var(--u,1px)) calc(40 * var(--u,1px)) calc(24 * var(--u,1px)) calc(47 * var(--u,1px));position:relative;overflow:hidden;margin-top:calc(-16 * var(--u,1px))}
.kl5{left:0;top:calc(20 * var(--u,1px));width:calc(34 * var(--u,1px))}
.kf-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(12 * var(--u,1px))}
.kf-h .kh2{font-size:calc(19 * var(--u,1px))}.k-faq .va{font-size:calc(8 * var(--u,1px));font-weight:500;color:var(--ink)}
.kf-list{background:#fffdf8;border-radius:calc(5 * var(--u,1px));box-shadow:0 calc(2 * var(--u,1px)) calc(10 * var(--u,1px)) rgba(0,0,0,.05);padding:0 calc(13 * var(--u,1px))}
.kf-list details{border-bottom:1px solid #eee7d6}.kf-list details:last-child{border:0}
.kf-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:calc(9.8 * var(--u,1px));color:var(--ink);height:calc(29 * var(--u,1px))}
.kf-list summary::-webkit-details-marker{display:none}.kf-list summary::after{content:"+";font-size:calc(13 * var(--u,1px))}.kf-list details[open] summary::after{content:"–"}
.kf-list details p{font-size:calc(9 * var(--u,1px));color:#555;line-height:1.55;padding-bottom:calc(9 * var(--u,1px))}
.kt{border-left:1px solid #eee7d6;padding-left:calc(20 * var(--u,1px))}
.kt-wrap{display:flex;align-items:center;gap:calc(6 * var(--u,1px));margin-left:calc(-6 * var(--u,1px))}
.kt-track{display:flex;gap:calc(8 * var(--u,1px));flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.kt-track::-webkit-scrollbar{display:none}
.kt-track figure{flex:0 0 calc(208 * var(--u,1px));scroll-snap-align:start;background:#fffdf8;border-radius:calc(5 * var(--u,1px));box-shadow:0 calc(2 * var(--u,1px)) calc(10 * var(--u,1px)) rgba(0,0,0,.06);padding:calc(12 * var(--u,1px)) calc(10 * var(--u,1px));display:flex;gap:calc(9 * var(--u,1px));height:calc(127 * var(--u,1px))}
.kt-track figure>img{width:calc(50 * var(--u,1px));height:calc(50 * var(--u,1px));border-radius:50%;object-fit:cover;flex:none}
.kt-track blockquote{font-size:calc(8.2 * var(--u,1px));line-height:1.55;color:#4a4a42}
.kt-track b{display:block;font-size:calc(8.8 * var(--u,1px));font-weight:600;color:var(--ink);margin-top:calc(5 * var(--u,1px))}.kt-track small{font-size:calc(8 * var(--u,1px));color:#888}
.stars{color:#e2a31b;font-size:calc(9 * var(--u,1px));letter-spacing:1px;display:block;margin-top:calc(7 * var(--u,1px));line-height:1}
.k-arrow{width:calc(24 * var(--u,1px));height:calc(24 * var(--u,1px));border-radius:50%;border:1px solid #d9c9a0;background:#fffdf8;color:#a77a25;cursor:pointer;flex:none;font-size:calc(14 * var(--u,1px));line-height:1;padding:0 0 calc(2 * var(--u,1px))}
.kdots{display:flex;justify-content:center;gap:calc(5 * var(--u,1px));margin-top:calc(20 * var(--u,1px))}.kdots i{width:calc(7 * var(--u,1px));height:calc(7 * var(--u,1px));border-radius:50%;background:#e2c58a}.kdots i.on{background:#0f2d22}
@media(max-width:1000px){
  .k-hero{height:auto;padding:calc(24 * var(--u,1px)) 5vw calc(30 * var(--u,1px))}.kh-text{position:relative;left:auto;top:auto}.kh-script{display:none}.kh-strip{flex-wrap:wrap}
  .k-wrap{grid-template-columns:1fr}.k-svc,.k-steps{padding-left:5vw;padding-right:5vw}
  .svc-grid{grid-template-columns:1fr 1fr;margin-left:0}.svc:nth-child(7),.svc:nth-child(8){width:auto;margin:0;grid-column:auto}
  .k-promo{height:auto;padding:calc(24 * var(--u,1px)) 5vw}.kp-text{position:relative;left:auto;top:auto}
  .steps{grid-template-columns:1fr 1fr;gap:calc(18 * var(--u,1px))}
  .k-right{margin:calc(12 * var(--u,1px)) 5vw}.kl4{display:none}
  .k-faq{grid-template-columns:1fr;padding:calc(14 * var(--u,1px)) 5vw calc(24 * var(--u,1px));gap:calc(24 * var(--u,1px))}.kt{border:0;padding:0}
}
