:root{--room-ink:#073e54;--room-blue:#0b789e;--room-sky:#dff3f8;--room-line:#cfe0e5;--room-paper:#f7fafb}
.special-rooms{color:#17333d;background:#fff}
.special-rooms .wrap{width:min(100% - 40px,1200px)}
.special-room-hero{padding:38px 0 66px;background:radial-gradient(circle at 88% 15%,rgba(77,174,192,.14),transparent 28%),linear-gradient(120deg,#f5fafb 0 52%,#e2f4f8 52%)}
.special-room-hero .wrap{width:min(100% - 48px,1360px)}
.special-room-hero-grid{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:clamp(34px,4vw,58px);align-items:center}
.special-room-intro{padding-left:clamp(0px,2vw,26px)}
.special-room-back{display:inline-block;margin-bottom:46px;color:#38606e;font-size:.88rem;font-weight:700;text-decoration:none}
.special-room-eyebrow,.special-room-section-heading p{margin:0 0 12px;color:var(--room-blue);font-size:.76rem;font-weight:700;letter-spacing:.08em}
.special-room-eyebrow{padding-left:12px;border-left:2px solid var(--room-blue)}
.special-room-intro h1{max-width:600px;margin:0;color:var(--room-ink);font-size:clamp(2.65rem,4vw,4.5rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.special-room-lead{max-width:590px;margin:24px 0 0;color:#496772;font-size:1.08rem;line-height:1.75}
.special-room-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.special-room-call,.special-room-jump,.special-room-card-call{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 20px;border-radius:12px;font-weight:700;text-decoration:none}
.special-room-call{gap:9px;background:var(--room-ink);color:#fff}.special-room-call strong{white-space:nowrap}
.special-room-jump{border:1px solid #b9d1d9;color:var(--room-ink);background:#fff}
.special-room-help{margin:12px 0 0;color:#6b8088;font-size:.82rem}
.special-room-hero-photo{box-sizing:border-box;position:relative;width:100%;min-width:0;margin:0;align-self:center;justify-self:end;padding:6px;border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 24px 64px rgba(17,70,88,.13),inset 0 1px rgba(255,255,255,.9)}
.special-room-hero-strip{display:block;width:100%;height:clamp(290px,27vw,390px);object-fit:cover;object-position:center 54%;border-radius:16px}
.special-room-compare{padding:82px 0 92px}
.special-room-section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}
.special-room-section-heading h2{margin:0;color:var(--room-ink);font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.03em}
.special-room-section-heading>span{padding-bottom:5px;color:#71868d;font-size:.8rem}
.special-room-list{display:grid;gap:22px}
.special-room-card{display:grid;grid-template-columns:minmax(430px,1.02fr) minmax(0,.98fr);align-items:stretch;overflow:hidden;border:0;border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(17,70,88,.09)}
.special-room-photo{position:relative;display:block;min-width:0;padding:10px;overflow:hidden;background:#edf3f4}
.special-room-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#fff;transition:transform .35s ease}
.special-room-slide:hover img{transform:scale(1.015)}
.special-room-slider{position:relative;display:block;height:auto;min-height:620px;padding:8px;background:#edf3f4}
.special-room-slider-viewport{position:absolute;inset:8px;width:auto;height:auto;min-width:0;overflow:hidden;border-radius:20px;background:#dce7e9}
.special-room-slider-track{display:flex;height:100%;transition:transform .42s cubic-bezier(.22,.75,.25,1);touch-action:pan-y}
.special-room-slide{display:block;flex:0 0 100%;width:100%;height:100%;min-width:0;overflow:hidden;cursor:zoom-in}
.special-room-slide img{width:100%;height:100%;object-fit:cover}
.special-room-slider-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--room-ink);font-size:1.55rem;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(7,62,84,.16);transform:translateY(-50%);transition:background .45s cubic-bezier(.32,.72,0,1),transform .45s cubic-bezier(.32,.72,0,1)}
.special-room-slider-arrow:hover{background:var(--room-blue);color:#fff;transform:translateY(-50%) scale(1.06)}
.special-room-slider-arrow:focus-visible,.special-room-slider-thumbs button:focus-visible{outline:3px solid rgba(11,120,158,.38);outline-offset:3px}
.special-room-slider-arrow.is-prev{left:10px}.special-room-slider-arrow.is-next{right:10px}
.special-room-card-copy{display:flex;flex-direction:column;padding:34px 38px}
.special-room-card-top{display:flex;align-items:start;justify-content:space-between;gap:28px}
.special-room-card-top span{color:var(--room-blue);font-size:.76rem;font-weight:700}.special-room-card-top h3{margin:6px 0 0;color:var(--room-ink);font-size:1.65rem}
.special-room-card-top>p{margin:0;text-align:right;color:var(--room-ink)}.special-room-card-top>p strong{display:block;font-size:2.2rem;line-height:1}.special-room-card-top>p small{font-size:.72rem;font-weight:700}
.special-room-description{max-width:620px;margin:18px 0 24px;color:#5a727b;line-height:1.7}
.special-room-card-facilities{margin:0 0 26px;padding:18px 0 20px;border-top:1px solid var(--room-line);border-bottom:1px solid var(--room-line)}
.special-room-card-facilities-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:12px}
.special-room-card-facilities-head span{color:var(--room-blue);font-size:.72rem;font-weight:700;letter-spacing:.07em}
.special-room-card-facilities-head strong{color:var(--room-ink);font-size:1rem}
.special-room-card-facilities ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 22px;margin:0;padding:0;list-style:none}
.special-room-card-facilities li{position:relative;padding-left:18px;color:#49636d;font-size:.82rem;line-height:1.45}
.special-room-card-facilities li:before{content:'✓';position:absolute;left:0;color:var(--room-blue);font-weight:800}
.special-room-card-facilities li small{margin-left:5px;color:var(--room-ink);font-size:.75rem;font-weight:700;white-space:nowrap}
.special-room-rights{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 28px;border-top:1px solid var(--room-line);border-bottom:1px solid var(--room-line)}
.special-room-rights div{padding:15px 16px}.special-room-rights div+div{border-left:1px solid var(--room-line)}
.special-room-rights dt{color:#71868d;font-size:.72rem}.special-room-rights dd{margin:4px 0 0;color:var(--room-ink);font-size:.88rem;font-weight:700}
.special-room-card-call{align-self:flex-start;margin-top:auto;background:var(--room-sky);color:var(--room-ink)}
.special-room-notice{padding:52px 0 74px}
.special-room-notice-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:28px 32px;border-left:4px solid var(--room-blue);background:#eef7f9}
.special-room-notice-inner>div{max-width:760px}.special-room-notice-inner>div strong{color:var(--room-ink);font-size:1.05rem}.special-room-notice-inner p{margin:7px 0 0;color:#57717a;line-height:1.65}
.special-room-notice-inner>a{display:flex;flex-direction:column;flex:0 0 auto;color:var(--room-ink);text-decoration:none}.special-room-notice-inner>a span{font-size:.7rem}.special-room-notice-inner>a strong{font-size:1.25rem}
@media(max-width:900px){.special-room-hero{padding-top:24px;background:#f5fafb}.special-room-hero .wrap{width:min(100% - 40px,760px)}.special-room-hero-grid{grid-template-columns:1fr;gap:36px}.special-room-back{margin-bottom:28px}.special-room-hero-photo{justify-self:start}.special-room-hero-photo img{max-height:none}.special-room-card{grid-template-columns:1fr}.special-room-slider{height:auto;min-height:0}.special-room-slider-viewport{position:relative;inset:auto;height:auto;aspect-ratio:16/10}.special-room-facilities-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:640px){.special-rooms .wrap{width:min(100% - 28px,1200px)}.special-room-hero{padding-bottom:44px}.special-room-intro h1{font-size:2.35rem}.special-room-actions{display:grid}.special-room-call,.special-room-jump{box-sizing:border-box;width:100%}.special-room-hero-photo{padding:7px}.special-room-hero-images{gap:4px}.special-room-hero-image strong{right:5px;font-size:.9rem}.special-room-hero-photo figcaption{justify-content:flex-start}.special-room-compare{padding:58px 0}.special-room-section-heading{display:block}.special-room-section-heading>span{display:block;margin-top:8px}.special-room-photo{padding:6px}.special-room-slider-arrow{width:36px;height:36px}.special-room-slider-thumbs img{height:54px}.special-room-card-copy{padding:26px 20px}.special-room-card-top{gap:14px}.special-room-card-top h3{font-size:1.3rem}.special-room-card-top>p strong{font-size:1.65rem}.special-room-card-facilities-head{display:block}.special-room-card-facilities-head strong{display:block;margin-top:2px}.special-room-card-facilities ul{grid-template-columns:1fr}.special-room-rights{grid-template-columns:1fr}.special-room-rights div{display:flex;justify-content:space-between;gap:18px;padding:12px 0}.special-room-rights div+div{border-top:1px solid var(--room-line);border-left:0}.special-room-rights dd{text-align:right}.special-room-card-call{width:100%}.special-room-facilities{padding:54px 0}.special-room-facilities ul{grid-template-columns:1fr}.special-room-notice-inner{display:block;padding:24px 20px}.special-room-notice-inner>a{margin-top:20px}}
@media(max-width:640px){.special-room-intro{padding-left:0}.special-room-hero-images{grid-template-columns:1.15fr .85fr;height:340px}.special-room-hero-image>span{left:8px;bottom:9px;max-width:65%;font-size:.62rem}.special-room-hero-image strong{right:8px;bottom:9px}.special-room-hero-image strong small{display:none}.special-room-slider{grid-template-columns:1fr}.special-room-slider-viewport{grid-column:1;grid-row:1}.special-room-slider-thumbs{grid-column:1;grid-row:2;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}.special-room-slider-thumbs button.is-active{transform:translateY(-2px)}.special-room-slider-thumbs img{height:54px}}
@media(max-width:640px){.special-room-hero-photo{padding:4px;border-radius:14px}.special-room-hero-strip{height:220px;border-radius:10px}}
@media(prefers-reduced-motion:reduce){.special-room-photo img,.special-room-slider-track,.special-room-slider-thumbs button{transition:none}}
