:root{--bg:#07101f;--panel:#0d1a2b;--ink:#f4f2eb;--muted:#a9b2c3;--accent:#5bc0ff;--accent2:#d9f2ff;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;line-height:1.75}
body.amber{--bg:#17100a;--panel:#24170e;--accent:#e9a94a;--accent2:#ffe0a8}
body.teal{--bg:#071515;--panel:#0c2220;--accent:#49d6bc;--accent2:#c8fff4}
body.violet{--bg:#10091b;--panel:#1c102d;--accent:#bd78ff;--accent2:#ecd6ff}
body.gold{--bg:#090909;--panel:#15120d;--accent:#d7b25d;--accent2:#fff0bf}
a{color:inherit}
.site-head{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:rgba(5,8,14,.9);position:sticky;top:0;z-index:10}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.brand b{font-size:18px}
.brand span{font-size:10px;letter-spacing:.16em;color:var(--accent)}
nav{display:flex;gap:24px}
nav a{text-decoration:none;font-size:14px;color:var(--muted)}
.call{padding:11px 16px;border:1px solid var(--accent);text-decoration:none;color:var(--accent2);font-weight:700}
.hero{min-height:690px;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,14,.92) 0%,rgba(3,7,14,.66) 46%,rgba(3,7,14,.2)),linear-gradient(0deg,var(--bg),transparent 35%)}
.hero-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));margin:0 auto 90px}
.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.22em;font-weight:800}
.hero h1{white-space:pre-line;font-size:clamp(43px,6vw,78px);line-height:1.08;margin:16px 0;max-width:900px;letter-spacing:-.045em}
.hero p{max-width:650px;color:#d1d6de;font-size:17px}
.buttons{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 20px;background:var(--accent);color:#071018;text-decoration:none;font-weight:800}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);width:min(1180px,calc(100% - 44px));margin:0 auto;border:1px solid var(--line);background:var(--panel)}
.facts div{padding:24px;border-right:1px solid var(--line)}
.facts div:last-child{border:0}
.facts small{display:block;color:var(--accent);font-size:10px;letter-spacing:.15em}
.facts b{font-size:15px}
.wrap{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:110px 0}
.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.section-no{color:var(--accent);font-size:12px;letter-spacing:.18em}
.story h2,.section-head h2{white-space:pre-line;font-size:clamp(34px,4.4vw,60px);line-height:1.15;letter-spacing:-.04em;margin:14px 0}
.story-copy p{color:var(--muted);font-size:17px;margin:0 0 22px}
.section-head{margin-bottom:42px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--panel);padding:30px;min-height:210px}
.card b{display:block;color:var(--accent2);font-size:17px;margin-bottom:12px}
.card p{color:var(--muted);margin:0;font-size:14px}
.visual-band{display:grid;grid-template-columns:1.2fr .8fr;min-height:550px;background:var(--panel)}
.visual-band img{width:100%;height:100%;object-fit:cover}
.visual-copy{padding:70px;display:flex;flex-direction:column;justify-content:center}
.visual-copy h2{font-size:40px;line-height:1.15;margin:10px 0 20px}
.visual-copy p{color:var(--muted)}
.guide-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.guide-list li{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.guide-list span{color:var(--accent);font-family:monospace}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px}
.info-grid article{background:var(--panel);padding:34px}
.info-grid small{color:var(--accent);display:block}
.info-grid b{display:block;font-size:20px;margin:6px 0}
.info-grid p{margin:0;color:var(--muted)}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
summary{font-weight:800;cursor:pointer}
.faq details p{color:var(--muted);max-width:850px}
.official{text-align:center;padding:100px 22px;background:var(--accent);color:#071018}
.official h2{font-size:clamp(36px,5vw,64px);margin:10px 0}
.official p{max-width:660px;margin:0 auto 25px}
.official a{display:inline-block;background:#071018;color:white;padding:16px 26px;text-decoration:none;font-weight:900}
footer{padding:28px max(22px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
@media(max-width:800px){nav{display:none}
.site-head{height:68px}
.hero{min-height:650px}
.hero-copy{margin-bottom:60px}
.hero h1{font-size:42px}
.facts{grid-template-columns:1fr 1fr}
.facts div:nth-child(2){border-right:0}
.story,.visual-band{grid-template-columns:1fr}
.story{gap:20px}
.wrap{padding:78px 0}
.cards{grid-template-columns:1fr 1fr}
.visual-band img{height:420px}
.visual-copy{padding:42px 24px}
.info-grid{grid-template-columns:1fr}
.call{font-size:12px;padding:9px 11px}
}
.editorial-gallery,.decision-notes,.route-notes{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:96px 0}.editorial-gallery p,.decision-notes p,.route-notes p{max-width:760px;color:var(--muted);line-height:1.9}.scene-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:34px}.scene{margin:0;min-height:220px;background-image:url('/assets/images/editorial-scenes-v2.png');background-size:200% 500%;background-repeat:no-repeat;position:relative;overflow:hidden;border:1px solid var(--line)}.scene:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}.scene figcaption{position:absolute;z-index:1;left:12px;bottom:10px;font-size:10px;letter-spacing:.1em}.s1{background-position:0 0}.s2{background-position:100% 0}.s3{background-position:0 25%}.s4{background-position:100% 25%}.s5{background-position:0 50%}.s6{background-position:100% 50%}.s7{background-position:0 75%}.s8{background-position:100% 75%}.s9{background-position:0 100%}.s10{background-position:100% 100%}.estimate-rail{display:flex;gap:1px;background:var(--line);margin:0 auto;width:min(1180px,calc(100% - 44px))}.estimate-rail div{flex:1;background:var(--panel);padding:28px}.estimate-rail p{color:var(--muted)}.estimate-rail a{display:inline-block;color:var(--accent);font-weight:800}@media(max-width:700px){.editorial-gallery,.decision-notes,.route-notes{width:calc(100% - 30px);padding:72px 0}.scene-grid{grid-template-columns:1fr 1fr}.scene{min-height:190px}.estimate-rail{width:calc(100% - 30px);flex-direction:column}}
@media(max-width:520px){.cards,.facts{grid-template-columns:1fr}
.facts div{border-right:0;border-bottom:1px solid var(--line)}
.card{min-height:0}
.hero-copy{width:calc(100% - 30px)}
.wrap{width:calc(100% - 30px)}
footer{display:block}
footer a{display:block;margin-top:8px}
}
.host-gallery{padding:110px 0 120px;overflow:hidden;background:linear-gradient(180deg,var(--bg),var(--panel) 50%,var(--bg))}
.host-gallery-head{width:min(1180px,calc(100% - 44px));margin:0 auto 44px}
.host-gallery-head h2,.room-gallery-head h2{font-size:clamp(34px,4.4vw,60px);line-height:1.12;letter-spacing:-.04em;margin:14px 0}
.host-gallery-head p,.room-gallery-head p{max-width:700px;color:var(--muted);margin:0}
.host-marquee{width:100%;overflow:hidden;pointer-events:none;user-select:none;margin:14px 0}
.host-track{display:flex;width:max-content;will-change:transform}
.host-set{display:flex;gap:14px;padding-right:14px}
.host-card{position:relative;width:clamp(180px,18vw,300px);aspect-ratio:7/10;margin:0;flex:none;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.host-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(3,6,11,.86))}
.host-card img{width:100%;height:100%;display:block;object-fit:cover}
.host-card figcaption{position:absolute;z-index:1;left:16px;bottom:13px;color:white;font-size:10px;font-weight:800;letter-spacing:.16em}
.host-track-left{animation:host-flow-left 34s linear infinite}
.host-track-right{animation:host-flow-right 38s linear infinite}
@keyframes host-flow-left{to{transform:translateX(-50%)}
}
@keyframes host-flow-right{from{transform:translateX(-50%)}
to{transform:translateX(0)}
}
.room-gallery{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:110px 0}
.room-gallery-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:end;margin-bottom:42px}
.room-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:235px;gap:12px}
.room-shot{position:relative;margin:0;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.room-shot:nth-child(1){grid-column:span 7;grid-row:span 2}
.room-shot:nth-child(2){grid-column:span 5}
.room-shot:nth-child(3){grid-column:span 5}
.room-shot:nth-child(4),.room-shot:nth-child(5),.room-shot:nth-child(6){grid-column:span 4}
.room-shot:nth-child(7),.room-shot:nth-child(8),.room-shot:nth-child(9){grid-column:span 4}
.room-shot img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}
.room-shot:hover img{transform:scale(1.025)}
.room-shot:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(4,5,8,.88))}
.room-shot figcaption{position:absolute;z-index:1;left:18px;right:18px;bottom:14px;color:#fff;font-size:13px;font-weight:800}
.room-shot figcaption small{display:block;color:var(--accent);font-size:9px;letter-spacing:.14em;margin-bottom:2px}
@media(max-width:800px){.host-gallery{padding:78px 0 86px}
.host-card{width:190px}
.host-set{gap:10px;padding-right:10px}
.host-gallery-head{width:calc(100% - 30px)}
.room-gallery{width:calc(100% - 30px);padding:78px 0}
.room-gallery-head{grid-template-columns:1fr;gap:12px}
.room-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}
.room-shot,.room-shot:nth-child(n){grid-column:span 1;grid-row:span 1}
.room-shot:nth-child(1){grid-column:span 2;grid-row:span 2}
}
@media(max-width:520px){.room-grid{grid-template-columns:1fr;grid-auto-rows:250px}
.room-shot,.room-shot:nth-child(n),.room-shot:nth-child(1){grid-column:span 1;grid-row:span 1}
}
.operation-guide{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:110px 0}
.operation-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end;margin-bottom:42px}
.operation-head h2,.map-copy h2{font-size:clamp(34px,4.4vw,60px);line-height:1.12;letter-spacing:-.04em;margin:14px 0}
.operation-head p,.map-copy p{color:var(--muted);margin:0}
.operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.operation-panel{background:var(--panel);border:1px solid var(--line);padding:32px}
.operation-panel h3{font-size:25px;margin:0 0 20px;color:var(--accent2)}
.price-table{width:100%;border-collapse:collapse}
.price-table th,.price-table td{text-align:left;padding:14px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{color:var(--muted);font-size:12px;font-weight:600}
.price-table td:last-child{text-align:right;color:var(--accent2);font-weight:800;white-space:nowrap}
.price-note{font-size:12px;color:var(--muted);margin:18px 0 0}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.menu-item{border:1px solid var(--line);padding:16px}
.menu-item b{display:block;color:var(--accent2)}
.menu-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.hours-list{list-style:none;padding:0;margin:0}
.hours-list li{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.hours-list span{color:var(--muted)}
.hours-list b{text-align:right}
.booking-steps{counter-reset:book;list-style:none;padding:0;margin:0}
.booking-steps li{counter-increment:book;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.booking-steps li:before{content:counter(book,decimal-leading-zero);color:var(--accent);font-family:monospace}
.operation-call{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--accent);color:#061018;padding:24px 28px;margin-top:18px}
.operation-call b{font-size:22px}
.operation-call a{background:#071018;color:#fff;text-decoration:none;padding:13px 18px;font-weight:800;white-space:nowrap}
.location-section{display:grid;grid-template-columns:.82fr 1.18fr;min-height:560px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.map-copy{padding:max(45px,7vw);display:flex;flex-direction:column;justify-content:center}
.address-card{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.address-card b{display:block;font-size:20px}
.address-card span{display:block;color:var(--muted);margin:5px 0 18px}
.address-actions{display:flex;gap:10px;flex-wrap:wrap}
.address-actions a{padding:12px 16px;border:1px solid var(--accent);color:var(--accent2);text-decoration:none;font-weight:800}
.map-frame{min-height:560px}
.map-frame iframe{width:100%;height:100%;min-height:560px;border:0;display:block;filter:saturate(.75) contrast(1.05)}
@media(max-width:800px){.operation-guide{width:calc(100% - 30px);padding:78px 0}
.operation-head,.operation-grid,.location-section{grid-template-columns:1fr}
.operation-head{gap:12px}
.operation-panel{padding:24px}
.location-section{min-height:0}
.map-copy{padding:52px 24px}
.map-frame,.map-frame iframe{min-height:420px}
.operation-call{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){.menu-list{grid-template-columns:1fr}
.price-table th:nth-child(2),.price-table td:nth-child(2){display:none}
.operation-call a{width:100%;text-align:center}
}
:where(h1,h2,h3,h4,p,li,summary,figcaption,.facts b,.info-grid b,.menu-item b,.menu-item span,.hours-list span,.hours-list b,.address-card b,.address-card span){word-break:keep-all;overflow-wrap:normal}
:where(h1,h2,h3,h4){text-wrap:balance}
.story{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(36px,6vw,80px)}
.story>div{min-width:0}
.story h2{font-size:clamp(34px,3.7vw,52px);max-width:11em}
.operation-head>*,.room-gallery-head>*,.map-copy{min-width:0}
@media(max-width:980px) and (min-width:801px){.story h2{font-size:38px}
.story{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px}
}
@media(max-width:800px){.story h2{font-size:clamp(34px,9vw,48px);max-width:14em}
}
@media(max-width:390px){.hero h1,.story h2,.section-head h2,.host-gallery-head h2,.room-gallery-head h2,.operation-head h2,.map-copy h2{font-size:34px;letter-spacing:-.035em}
}
