@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--black:#070707;--dark:#111;--red:#e21d2e;--white:#fff;--muted:#b8b8b8;--line:#252525;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#111;background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(7,7,7,.94);backdrop-filter:blur(12px);border-bottom:1px solid #222}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:155px;height:auto;filter:none}nav{display:flex;align-items:center;gap:28px;color:#fff;font-size:14px;font-weight:600}nav a:not(.btn):hover{color:#ff4a58}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;padding:15px 24px;border-radius:4px;font-weight:800;border:1px solid var(--red);transition:.2s}.btn:hover{transform:translateY(-2px);background:#ff3041}.btn-small{padding:10px 17px}.btn-outline{background:transparent;border-color:#fff}.btn-outline:hover{background:#fff;color:#111}
.hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:#080808;color:#fff}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 45%,#3a0b10 0,#110608 30%,#080808 65%)}.hero-bg:after{content:"";position:absolute;right:-8%;top:15%;width:58%;height:65%;border:1px solid rgba(226,29,46,.22);transform:skewX(-18deg) rotate(-8deg)}.hero-content{position:relative;z-index:1;padding:80px 0}.eyebrow{margin:0 0 14px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.16em}.hero h1{font-size:clamp(54px,8vw,94px);line-height:.94;letter-spacing:-.06em;margin:0 0 28px;font-weight:900}.hero h1 span{color:#fff}.lead{max-width:610px;color:#cfcfcf;font-size:20px}.hero-actions{display:flex;gap:12px;margin:34px 0}.quick-info{display:flex;gap:25px;color:#aaa;font-size:14px;flex-wrap:wrap}
.section{padding:100px 0}.section-head{max-width:700px;margin-bottom:45px}.section h2{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.04em;margin:0 0 15px}.section-head>p:last-child{color:#666;font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:30px;border:1px solid #e7e7e7;border-radius:8px;background:#fff;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.08);border-color:#ccc}.icon{font-size:30px;margin-bottom:18px}.card h3{margin:0 0 8px;font-size:21px}.card p{margin:0;color:#666}
.dark{background:var(--dark);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.dark .split>div:last-child{color:#c5c5c5;font-size:18px}.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.pill-row span{border:1px solid #444;border-radius:100px;padding:8px 14px;color:#fff;font-size:13px}
.booking{background:#f5f5f5}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-mini{display:grid;gap:10px;margin-top:30px;font-weight:700}.contact-mini a:hover{color:var(--red)}.booking-form{background:#fff;padding:34px;border-radius:8px;border:1px solid #ddd;display:grid;gap:18px}.booking-form label{display:grid;gap:7px;font-weight:700;font-size:14px}.booking-form input,.booking-form textarea{font:inherit;border:1px solid #d2d2d2;border-radius:4px;padding:13px 14px;outline:none}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--red)}.booking-form small{color:#777}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-box{border:1px solid #e5e5e5;border-radius:8px;padding:25px;display:flex;gap:15px}.contact-box>span{font-size:24px}.contact-box strong{display:block}.contact-box p{margin:5px 0;color:#666}.contact-box a:hover{color:var(--red)}.map-placeholder{margin-top:18px;min-height:280px;border-radius:8px;background:linear-gradient(135deg,#191919,#303030);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);transform:rotate(-20deg)}.map-placeholder:before{width:140%;height:120px}.map-placeholder:after{width:120%;height:80px;transform:rotate(25deg)}.map-placeholder>div{position:relative;z-index:1}.map-placeholder p{color:#bbb}
footer{background:#050505;color:#aaa;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.footer-inner img{width:120px;filter:none}.footer-inner a:hover{color:#fff}
@media(max-width:800px){.nav{height:72px}.brand img{width:125px}nav a:not(.btn){display:none}.hero{min-height:620px}.hero-content{padding:65px 0}.lead{font-size:17px}.cards,.contact-grid,.booking-grid,.split{grid-template-columns:1fr}.section{padding:75px 0}.split,.booking-grid{gap:40px}.footer-inner{flex-wrap:wrap}.map-placeholder{min-height:230px}}

.value-section{padding-top:0}.value-banner{background:#0b0b0b;color:#fff;border-radius:8px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-left:5px solid var(--red)}.value-banner h2{max-width:720px;margin:0 0 12px}.value-banner p:not(.eyebrow){max-width:720px;color:#bbb;margin:0}.value-banner .btn{white-space:nowrap}
@media(max-width:800px){.value-banner{padding:32px 25px;display:block}.value-banner .btn{margin-top:25px}}

.notice-section{padding-top:0}.notice{display:flex;gap:18px;align-items:flex-start;background:#fff4f4;border:1px solid #f0c8cc;border-left:5px solid var(--red);border-radius:8px;padding:22px 25px}.notice-icon{font-size:26px}.notice strong{font-size:17px}.notice p{margin:5px 0 0;color:#666}.hours-note{margin:-15px 0 25px;color:#555}.hours-note strong{color:#111}


/* HKS V2 — professional on-page booking form */
.booking-section{padding:88px 0;background:#0b0b0b;color:#fff;position:relative}
.booking-section .container{max-width:1050px;margin:0 auto;padding:0 24px}
.booking-section .section-heading{max-width:720px;margin:0 auto 34px;text-align:center}
.booking-section .eyebrow{color:#e21b23;font-size:.78rem;font-weight:800;letter-spacing:.18em}
.booking-section .section-heading h2{margin:8px 0 12px}
.booking-section .section-heading p{color:#bdbdbd;margin:0}
.booking-form{background:#fff;color:#151515;border-radius:14px;padding:clamp(22px,4vw,42px);box-shadow:0 18px 55px rgba(0,0,0,.28)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-field.full{grid-column:1/-1}
.form-field label{display:block;font-weight:750;margin-bottom:8px}
.form-field label span,.form-footer strong{color:#e21b23}
.form-field input,.form-field select,.form-field textarea{width:100%;box-sizing:border-box;border:1px solid #d7d7d7;border-radius:8px;background:#fafafa;color:#151515;padding:13px 14px;font:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.form-field textarea{resize:vertical;min-height:130px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#e21b23;background:#fff;box-shadow:0 0 0 3px rgba(226,27,35,.10)}
.form-footer{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.form-footer p{margin:0;color:#777;font-size:.9rem}
.form-footer .btn{border:0;cursor:pointer}
.form-note{margin:14px 0 0;color:#777;font-size:.9rem;text-align:center}
.hidden-field{position:absolute!important;left:-9999px!important}
@media(max-width:700px){.booking-section{padding:64px 0}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.form-footer{align-items:stretch}.form-footer .btn{width:100%}}
