/* === 더 시에나 라운지 — Burnt Sienna + Ivory — Terrace-Row Layout === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#3b2f2f;background:#fffff0;line-height:1.8;padding-bottom:72px}

/* Skyline Header */
.sn-skyline{background:linear-gradient(175deg,#a0522d 0%,#8b4513 60%,#5c3317 100%);color:#fffff0;padding:56px 24px 48px;text-align:center;position:relative;overflow:hidden}
.sn-skyline::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to bottom,transparent,#fffff0)}
.sn-skyline-inner{max-width:640px;margin:0 auto;position:relative;z-index:1}
.sn-floor-badge{display:inline-block;background:#fffff0;color:#a0522d;font-weight:900;font-size:1.1rem;padding:6px 18px;border-radius:20px;margin-bottom:16px;letter-spacing:2px}
.sn-venue-name{font-size:2rem;font-weight:800;margin-bottom:12px;letter-spacing:-0.5px}
.sn-tagline{font-size:1.05rem;opacity:0.9;line-height:1.7}

/* Terrace Nav */
.sn-terrace-nav{max-width:720px;margin:28px auto 0;padding:0 16px}
.sn-terrace-steps{display:flex;list-style:none;gap:6px;flex-wrap:wrap}
.sn-step{flex:1;min-width:80px;text-align:center;padding:10px 6px;background:#f5e6d3;color:#a0522d;font-size:0.82rem;font-weight:700;border-radius:6px;cursor:pointer;transition:all .25s;border-bottom:3px solid transparent}
.sn-step:hover,.sn-step.active{background:#a0522d;color:#fffff0;border-bottom-color:#d4a574}

/* Terrace Body */
.sn-terrace-body{max-width:720px;margin:0 auto;padding:40px 20px 60px}

/* Terrace Row */
.sn-terrace-row{display:flex;gap:20px;margin-bottom:56px;position:relative}
.sn-row-marker{display:flex;flex-direction:column;align-items:center;width:40px;flex-shrink:0;padding-top:6px}
.sn-marker-line{width:2px;flex:1;background:linear-gradient(to bottom,#a0522d,#d4a574);min-height:40px}
.sn-marker-dot{width:14px;height:14px;border-radius:50%;background:#a0522d;border:3px solid #fffff0;box-shadow:0 0 0 2px #a0522d;margin:8px 0}
.sn-marker-label{writing-mode:vertical-rl;font-size:0.65rem;font-weight:800;color:#a0522d;letter-spacing:2px;text-transform:uppercase;margin-top:8px;opacity:0.6}

.sn-row-content{flex:1}
.sn-heading{font-size:1.35rem;font-weight:800;color:#5c3317;margin-bottom:14px;position:relative;padding-bottom:10px}
.sn-heading::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:3px;background:linear-gradient(to right,#a0522d,transparent)}
.sn-prose{font-size:0.96rem;color:#4a3728;margin-bottom:12px}

/* Detail Box */
.sn-detail-box{background:#faf0e6;border-left:4px solid #a0522d;border-radius:0 8px 8px 0;padding:16px 20px;margin-top:16px}
.sn-detail-box strong{display:block;color:#5c3317;font-size:0.95rem;margin-bottom:8px}
.sn-detail-box ul{list-style:none}
.sn-detail-box li{padding:4px 0;font-size:0.9rem;color:#6b4423}
.sn-detail-box li::before{content:'◇ ';color:#a0522d}

/* Quote */
.sn-quote{border:none;background:linear-gradient(135deg,#faf0e6,#f5e6d3);padding:20px 24px;border-radius:12px;margin-top:16px;font-style:italic;font-size:1rem;color:#5c3317;position:relative}
.sn-quote::before{content:'"';font-size:3rem;color:#a0522d;opacity:0.3;position:absolute;top:4px;left:10px;font-family:Georgia,serif}
.sn-quote cite{display:block;margin-top:8px;font-size:0.82rem;font-style:normal;color:#8b6f47}

/* Menu Grid */
.sn-menu-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px}
.sn-menu-card{background:#fff;border:1px solid #e8d5c0;border-radius:12px;padding:20px;transition:box-shadow .3s}
.sn-menu-card:hover{box-shadow:0 6px 20px rgba(160,82,45,0.15)}
.sn-menu-title{font-size:1rem;font-weight:700;color:#a0522d;margin-bottom:8px}
.sn-menu-desc{font-size:0.88rem;color:#6b4423;line-height:1.7}

/* FAQ Stack */
.sn-faq-stack{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.sn-faq-item{border:1px solid #e0ccb8;border-radius:10px;overflow:hidden;background:#fffaf5}
.sn-faq-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:transparent;border:none;cursor:pointer;font-size:0.95rem;font-weight:600;color:#5c3317;text-align:left;font-family:inherit;transition:background .2s}
.sn-faq-trigger:hover{background:#f5e6d3}
.sn-faq-icon{font-size:1.3rem;font-weight:300;color:#a0522d;transition:transform .3s}
.sn-faq-item.active .sn-faq-icon{transform:rotate(45deg)}
.sn-faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
.sn-faq-item.active .sn-faq-answer{max-height:400px;padding:0 20px 18px}
.sn-faq-answer p{font-size:0.9rem;color:#6b4423;line-height:1.75}

/* Ground Footer */
.sn-ground{background:#5c3317;color:#fffff0;padding:40px 20px;text-align:center;margin-top:20px}
.sn-ground-inner{max-width:480px;margin:0 auto}
.sn-ground-name{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.sn-ground-addr{font-size:0.85rem;opacity:0.75;margin-bottom:18px}
.sn-ground-cta{display:inline-block;background:#a0522d;color:#fffff0;padding:12px 32px;border-radius:8px;text-decoration:none;font-weight:700;font-size:0.95rem;transition:background .2s}
.sn-ground-cta:hover{background:#c4713b}

/* Float Bar */
.sn-float-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(92,51,23,0.97);padding:12px 20px;z-index:100;display:flex;justify-content:center}
.sn-float-btn{display:inline-block;background:#a0522d;color:#fffff0;padding:13px 40px;border-radius:8px;text-decoration:none;font-weight:700;font-size:0.95rem;transition:background .2s;text-align:center}
.sn-float-btn:hover{background:#c4713b}

/* Row accent variants */
.sn-row-gallery .sn-marker-dot{background:#b8860b}
.sn-row-cellar .sn-marker-dot{background:#722f37}
.sn-row-study .sn-marker-dot{background:#654321}
.sn-row-twilight .sn-marker-dot{background:#cd853f}
.sn-row-reserve .sn-marker-dot{background:#a0522d}

@media(min-width:600px){
  .sn-menu-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .sn-terrace-row{flex-direction:column;gap:12px}
  .sn-row-marker{flex-direction:row;width:auto;padding:0}
  .sn-marker-line{width:auto;height:2px;flex:1}
  .sn-marker-label{writing-mode:horizontal-tb;margin:0 0 0 8px}
  .sn-venue-name{font-size:1.5rem}
}
