/* 모바일 중심 예약 랜딩. 데스크톱의 기본 톤을 유지하며 버튼과 이미지 밀도를 강화합니다. */
:root{--reserve:#ffdc75;--reserve-ink:#241c09}
.reserve-button{background:var(--reserve);border-color:var(--reserve);border-radius:12px;min-width:310px;box-shadow:0 8px 32px #0003;gap:30px;text-align:left}
.reserve-button small{display:block;font-size:12px;font-weight:600;line-height:1.5}
.reserve-button strong{display:block;font-size:24px;letter-spacing:.015em;line-height:1.5;font-variant-numeric:tabular-nums}
.call-arrow{font-size:26px}
.reserve-button:hover{background:#ffeaa8;box-shadow:0 8px 34px #ffdc7530}
a[href^="tel:"]:active{transform:scale(.97);filter:brightness(1.1)}
.model-break{width:min(1060px,calc(100% - 112px));margin:0 auto;position:relative;overflow:hidden;background:#241c17;max-height:790px}
.model-break img{display:block;width:100%;height:790px;object-fit:cover;object-position:center 35%}
.model-break-first{border-radius:20px 20px 0 0}
.model-break-second{margin-top:64px;border-radius:20px}
.mobile-reserve-dock{display:none}
@media(max-width:680px){
    html{scroll-padding-top:24px}
    .wrap{width:calc(100% - 40px)}
    .header{background:linear-gradient(#121310b3,transparent)}
    .header-inner{height:108px;padding-block:15px}
    .brand-name{font-size:21px;font-weight:700}
    nav{font-size:13px;font-weight:700}
    nav a{padding:3px 7px}
    .hero{min-height:780px;min-height:max(760px,96svh)}
    .hero-content{padding-top:255px;padding-bottom:112px}
    .hero h1{font-size:clamp(37px,10.2vw,62px);font-weight:800;letter-spacing:-.065em;line-height:1.22;margin-bottom:20px;text-shadow:0 2px 18px #0003}
    .hero h1 span{margin-top:7px;color:#ffe19a;font-size:1.04em;white-space:nowrap}
    .eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;background:#181811a6;border:1px solid #ffdf8d5c;color:#ffe19a;border-radius:6px;padding:5px 11px;margin-bottom:16px}
    .hero-copy{font-size:14px;line-height:1.8;margin-bottom:23px;max-width:350px;color:#ecebe2}
    .hero:before{background:linear-gradient(to bottom,#12131022 15%,#12131055 34%,#121310d9 75%)}
    .hero:after{background:linear-gradient(to bottom,transparent 38%,#12131070 58%,var(--bg) 84%)}
    .hero video,.hero-poster{object-position:center top}
    .hero .actions{display:flex;gap:10px;justify-content:center}
    .reserve-button{width:100%;min-width:0;border-radius:12px;padding:15px 21px;color:var(--reserve-ink);box-shadow:0 7px 25px #0005;border:1px solid #ffe8a8}
    .reserve-button small{font-size:12px;font-weight:700}
    .reserve-button strong{font-size:27px;font-weight:900;letter-spacing:.015em;line-height:1.45}
    .hero .actions .text-link{font-size:12px;padding:4px 0;color:#cdcfbf}
    .hero-bottom{bottom:25px;font-size:8px;gap:8px}
    .video-toggle{font-size:9px;padding:6px 9px;white-space:nowrap}
    section:not(.hero){padding-block:58px}
    h2{font-weight:800;font-size:32px;letter-spacing:-.05em;line-height:1.4;margin-bottom:22px}
    .intro-top{gap:20px}.intro-signature{display:none}
    .intro-top p{font-size:14px;line-height:1.9}
    .facts{gap:0;border:1px solid #dcc58d30;border-radius:14px;background:#23251c;margin-top:26px;padding:22px 9px;text-align:center}
    .fact{padding:0 4px}.fact+.fact{border-left:1px solid #dcc58d26}
    .fact strong{font-size:29px;font-weight:700;color:#ffdf8d}
    .fact strong span{font-size:12px}.fact h3{font-size:11px;font-weight:700;margin:7px 0}.fact p{font-size:10px;line-height:1.7;word-break:keep-all}
    .context-link{line-height:1.8;font-size:12px;margin-top:23px}
    .model-break{width:100%;max-height:none;margin:0;border-radius:0}
    .model-break img{width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover}
    .model-break:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -25px 30px -25px #12131066}
    .price{background:#e9e2cb}.price-label{display:none}
    .price-grid{gap:18px}.price-contact{border-top:0;padding:24px 19px;background:#fffdf2;border-radius:15px;box-shadow:0 8px 24px #33270c0b}
    .price-contact h3{font-weight:800;font-size:21px}
    .price-contact p{font-size:13px}
    .price-contact .phone{display:block;background:var(--reserve);border:1px solid #c39c3060;border-radius:10px;padding:17px 8px;text-align:center;font-family:inherit;font-weight:900;font-size:clamp(23px,6.3vw,37px);margin:23px 0;color:var(--reserve-ink);box-shadow:0 5px 0 #ceaa42}
    .booking-steps{justify-content:space-between;gap:5px;font-size:10px;padding-top:16px}.booking-steps span{margin-right:3px}
    .address-panel{border-radius:15px;padding:27px;min-height:0}.address-panel .city{font-size:51px;margin-bottom:25px}.address-panel address{font-weight:700;font-size:22px}
    .location-grid{gap:35px}.location h2 br{display:none}.location h2{font-size:29px}.location dl{font-size:13px}
    .faq{background:#191b15}.faq-grid{gap:25px}.faq-lead p{font-size:13px}.faq summary{font-weight:700;padding-block:22px;font-size:14px}.faq details p{line-height:1.9}
    footer{padding-bottom:150px}.footer-details{font-size:10px}
    .mobile-reserve-dock{display:block;position:fixed;inset:auto 0 0;z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#121310ed;border-top:1px solid #ffe09a35;backdrop-filter:blur(12px)}
    .mobile-reserve{position:relative;inset:auto;display:flex;justify-content:space-between;gap:8px;align-items:center;background:var(--reserve);color:var(--reserve-ink);border:1px solid #ffedb0;padding:14px 15px;border-radius:12px;box-shadow:0 4px 0 #b99534,0 4px 22px #ffda6926;transition:transform .15s,filter .15s}
    .dock-label{font-size:14px;font-weight:900;white-space:nowrap;line-height:1.45}.dock-label small{display:block;font-size:9px;font-weight:500;opacity:.8}
    .mobile-reserve strong{font-size:18px;letter-spacing:0;white-space:nowrap;font-weight:900}.mobile-reserve strong span{margin-left:3px;font-size:20px}
}
@media(max-width:360px){.hero h1{font-size:35px}.mobile-reserve{padding:13px 10px}.mobile-reserve strong{font-size:16px}.dock-label{font-size:12px}.reserve-button strong{font-size:25px}.facts{padding-inline:3px}.fact strong{font-size:26px}}
