.phone-reservation-page{
  --phone-ink:#17243b;
  --phone-muted:#667081;
  --phone-brand:var(--sn-color-brand-700);
  --phone-line:var(--sn-color-border);
  --phone-soft:var(--sn-color-surface-soft);
  color:var(--phone-ink);
}
.phone-reservation-hero{padding:38px 0 34px;border-bottom:1px solid var(--phone-line);background:radial-gradient(circle at 88% 8%,rgba(173,45,77,.09),transparent 29%),linear-gradient(135deg,#fbf7f4,#fff 70%)}
.phone-reservation-hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);gap:46px;align-items:end}
.phone-reservation-hero h1{margin:0;font-size:clamp(2.35rem,4.8vw,4rem);line-height:1.08;letter-spacing:-.04em}
.phone-reservation-hero p:not(.eyebrow){max-width:62ch;margin:14px 0 0;color:var(--phone-muted);line-height:1.8}
.phone-reservation-hero__notice{padding:18px;border:1px solid rgba(122,23,48,.16);border-radius:11px;background:#fff}
.phone-reservation-hero__notice>span{display:block;color:var(--phone-brand);font-size:.65rem;font-weight:900;letter-spacing:.12em}
.phone-reservation-hero__notice strong{display:block;margin-top:7px;font-size:1.05rem}
.phone-reservation-hero__notice p{margin:7px 0 0!important;font-size:.84rem;line-height:1.7!important}
.phone-reservation-breadcrumb{padding-top:10px}
.phone-reservation-main{padding:30px 0 58px}
.phone-reservation-layout{display:grid;grid-template-columns:minmax(250px,.38fr) minmax(0,.62fr);gap:52px;align-items:start}
.phone-reservation-copy{position:sticky;top:calc(var(--sn-header-height) + 20px)}
.phone-reservation-copy h2,.phone-section-head h2,.phone-reservation-form-card__head h2{margin:0;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.25;letter-spacing:-.025em}
.phone-reservation-copy>p:not(.eyebrow){color:var(--phone-muted);line-height:1.85}
.phone-reservation-copy ul{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid var(--phone-line)}
.phone-reservation-copy li{position:relative;padding:12px 0 12px 25px;border-bottom:1px solid var(--phone-line);font-size:.86rem;line-height:1.6}
.phone-reservation-copy li:before{content:'✓';position:absolute;left:0;color:var(--phone-brand);font-weight:900}
.phone-reservation-form-card{padding:26px;border:1px solid var(--phone-line);border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(23,36,59,.06)}
.phone-reservation-form-card__head{padding-bottom:20px;border-bottom:1px solid var(--phone-line)}
.phone-reservation-form-card__head h2{font-size:1.55rem}
.phone-reservation-form-wrap{padding-top:22px}
.phone-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.phone-field{display:grid;gap:7px}
.phone-field--full{grid-column:1/-1}
.phone-field>span{font-size:.82rem;font-weight:800}
.phone-field b,.phone-consent b{margin-left:4px;color:var(--phone-brand);font-size:.67rem}
.phone-field em{margin-left:4px;color:var(--phone-muted);font-size:.67rem;font-style:normal;font-weight:500}
.phone-field :is(input,textarea){width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--phone-line);border-radius:8px;background:#fff;color:var(--phone-ink)}
.phone-field textarea{min-height:150px;resize:vertical}
.phone-field :is(input,textarea):focus{border-color:var(--phone-brand);outline:3px solid rgba(122,23,48,.10);outline-offset:1px}
.phone-field small{color:var(--phone-muted);font-size:.72rem;line-height:1.5}
.form-error{display:block;color:#a12438;font-size:.75rem;font-weight:700}
.phone-reservation-danger{margin-top:20px;padding:14px 16px;border-left:4px solid #9a5b00;background:#fff8e8}
.phone-reservation-danger strong{font-size:.84rem}
.phone-reservation-danger p{margin:4px 0 0;color:#6c5730;font-size:.76rem;line-height:1.6}
.phone-consent{display:flex;gap:10px;margin-top:18px;font-size:.82rem;line-height:1.65}
.phone-consent input{width:18px;height:18px;margin-top:4px;flex:0 0 auto}
.phone-reservation-submit{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:22px;padding-top:20px;border-top:1px solid var(--phone-line)}
.phone-reservation-submit p{max-width:34em;margin:0;color:var(--phone-muted);font-size:.75rem;line-height:1.55}
.phone-reservation-submit .button{flex:0 0 auto}
.phone-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.phone-reservation-system-error{margin-bottom:16px;padding:12px 14px;border:1px solid #d8a5ad;border-radius:8px;background:#fff1f3;color:#8a2134;font-size:.82rem}
.phone-reservation-success{padding:24px;border:1px solid var(--phone-line);border-left:4px solid var(--phone-brand);border-radius:10px;background:var(--phone-soft)}
.phone-reservation-success h2{margin:0;font-size:1.55rem}
.phone-reservation-success p{color:var(--phone-muted)}
.phone-reservation-flow{padding:50px 0;background:var(--phone-soft)}
.phone-reservation-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 0;padding:0;list-style:none}
.phone-reservation-flow li{padding:18px;border:1px solid var(--phone-line);border-radius:10px;background:#fff}
.phone-reservation-flow li>span{display:block;color:var(--phone-brand);font-size:.67rem;font-weight:900}
.phone-reservation-flow strong{display:block;margin-top:8px;font-size:.94rem}
.phone-reservation-flow p{margin:5px 0 0;color:var(--phone-muted);font-size:.8rem;line-height:1.6}
.phone-reservation-faq{padding:50px 0}
.phone-reservation-faq__grid{display:grid;grid-template-columns:minmax(240px,.34fr) minmax(0,.66fr);gap:50px}
.phone-reservation-faq__items{border-top:1px solid var(--phone-line)}
.phone-reservation-faq details{border-bottom:1px solid var(--phone-line)}
.phone-reservation-faq summary{position:relative;min-height:54px;padding:15px 34px 15px 0;cursor:pointer;font-weight:800;list-style:none}
.phone-reservation-faq summary::-webkit-details-marker{display:none}
.phone-reservation-faq summary:after{content:'+';position:absolute;right:5px;color:var(--phone-brand)}
.phone-reservation-faq details[open] summary:after{content:'−'}
.phone-reservation-faq details p{margin:0;padding:0 0 16px;color:var(--phone-muted);line-height:1.8}
.phone-reservation-alternative{padding:30px 0 48px}
.phone-reservation-alternative__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border-radius:12px;background:#1b1115;color:#fff}
.phone-reservation-alternative h2{margin:0;color:#fff;font-size:1.45rem}
.phone-reservation-alternative p:not(.eyebrow){margin:7px 0 0;color:rgba(255,255,255,.72);font-size:.84rem}
@media(max-width:960px){
  .phone-reservation-hero__grid,.phone-reservation-layout,.phone-reservation-faq__grid{grid-template-columns:1fr}
  .phone-reservation-copy{position:static}
  .phone-reservation-flow ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .phone-reservation-hero{padding:30px 0 28px}
  .phone-reservation-hero h1{font-size:clamp(2rem,11vw,2.7rem)}
  .phone-reservation-main{padding:22px 0 40px}
  .phone-reservation-form-card{padding:18px}
  .phone-field-grid{grid-template-columns:1fr}
  .phone-field--full{grid-column:auto}
  .phone-reservation-submit{display:grid}
  .phone-reservation-submit .button{width:100%;justify-content:center;min-height:46px}
  .phone-reservation-flow{padding:38px 0}
  .phone-reservation-flow ol{grid-template-columns:1fr}
  .phone-reservation-faq{padding:38px 0}
  .phone-reservation-alternative__inner{display:grid;padding:20px}
  .phone-reservation-alternative .button{width:100%;justify-content:center}
}
