/* 기존 사진과 브랜드를 유지하는 원페이지 방문 동선 */
:root{--op-forest:#244536;--op-ink:#203a2f;--op-muted:#59665e;--op-cream:#f6f5ef;--op-line:#dce2d9}
html{scroll-behavior:auto!important;scroll-padding-top:0!important}
[data-route]{scroll-margin-top:0!important}
.btn-scroll-next[hidden]{display:none!important}
body{color:var(--op-ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ac7827!important;outline-offset:5px}
.op-skip{position:fixed;top:10px;left:16px;z-index:99999;padding:14px 20px;background:#fff;color:#244536;transform:translateY(-160%)}
.op-skip:focus{transform:none}
.main-visual .hero-copy{top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;padding:0!important;transform:translate(-50%,-50%)!important;width:min(92%,1000px)!important;pointer-events:auto!important}
.main-visual .hero-copy-title{font-size:clamp(34px,4.9vw,70px)!important;line-height:1.35!important;letter-spacing:-.045em!important;word-break:keep-all}
.hero-eyebrow{font:600 13px/1.5 SUIT,sans-serif;letter-spacing:.16em;margin-bottom:20px;color:white}
.main-visual .hero-copy-description{margin-top:22px!important;font:400 17px/1.85 SUIT,sans-serif!important}
.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}
.op-button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:50px;padding:14px 22px;border:1px solid var(--op-forest);border-radius:6px;background:var(--op-forest);color:white;font:600 15px/1.5 SUIT,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s;box-sizing:border-box}
.op-button:hover{background:#173727;transform:translateY(-2px);color:#fff}
.op-button-light{background:#fff;border-color:#fff;color:#244536}
.op-button-glass{background:rgba(10,30,20,.28);border-color:rgba(255,255,255,.6)}
.op-button-outline{background:transparent;color:#244536}
.hero-pause{padding:7px 10px!important;background:rgba(0,0,0,.4)!important;border:1px solid #ffffff80!important;border-radius:20px!important;color:white!important;font:500 11px SUIT,sans-serif!important;width:auto!important;height:auto!important}
.hero-pagination{align-items:center!important;bottom:24px!important}
.op-quick{display:grid;grid-template-columns:repeat(3,1fr);max-width:1160px;margin:0 auto;padding:32px 24px;gap:32px;background:white}
.op-quick a{padding:12px 24px;border-right:1px solid var(--op-line);text-decoration:none;color:var(--op-ink)}
.op-quick a:last-child{border:0}
.op-quick small{display:block;font-size:13px;line-height:1.6;color:var(--op-muted);margin-bottom:6px}
.op-quick strong{display:flex;justify-content:space-between;gap:16px;font-size:20px;font-weight:600}
.op-quick strong span{font-weight:400;color:#7a8e78}
.op-section{padding:96px 28px!important;margin:0!important;background:#fff;box-sizing:border-box}
.op-inner{max-width:1160px;margin:0 auto}
.op-eyebrow{font:700 11px/1.6 SUIT,sans-serif;letter-spacing:.18em;color:#627b5a;margin-bottom:18px}
.op-section h2,.op-program-heading h2{font:700 clamp(28px,3vw,42px)/1.45 'Gowun Batang',serif;letter-spacing:-.035em;color:var(--op-ink);word-break:keep-all;margin:0 0 18px}
.op-lead{font:400 16px/1.9 SUIT,sans-serif;color:var(--op-muted);word-break:keep-all}
.op-group{background:var(--op-cream)}
.op-group-layout,.op-visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.op-steps{list-style:none;padding:28px 0 0;margin:0}
.op-steps li{border-top:1px solid var(--op-line);padding:17px 0;font-size:15px;line-height:1.5}
.op-steps b{font-size:12px;color:#738168;margin-right:18px}
.op-inquiry{background:white;padding:32px;border:1px solid var(--op-line);border-radius:12px}
.op-inquiry h3{font-size:22px;font-weight:700;margin:0 0 24px}
.op-inquiry label{display:block;font:600 13px/1.6 SUIT,sans-serif;color:var(--op-ink);margin-bottom:16px}
.op-inquiry label span{color:#6f756e;font-weight:400}
.op-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.op-inquiry input,.op-inquiry select,.op-inquiry textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin-top:7px;padding:12px 10px;border:1px solid #cbd3c7;border-radius:5px;background:#fff;color:var(--op-ink);font:400 16px/1.5 SUIT,sans-serif;min-height:46px}
.op-inquiry textarea{resize:vertical;min-height:100px;height:auto!important}
.op-inquiry textarea[readonly]{min-height:190px}
.op-inquiry-fields>.op-button{width:100%;justify-content:center;gap:10px}
.op-note{font:400 12px/1.8 SUIT,sans-serif;color:#657064;margin-top:16px;word-break:keep-all}
.op-inquiry-result{border-top:1px solid var(--op-line);margin-top:20px;padding-top:20px}
.op-inquiry-result[hidden]{display:none}
.op-result-actions{display:flex;gap:10px;flex-wrap:wrap}
.op-copy-status{font:500 13px/1.7 SUIT,sans-serif;color:#244536;margin-top:12px}
/* 단체문의 동의 및 전송 상태 */
.op-form-grid>label{min-width:0}
.op-inquiry .op-honeypot{display:none!important}
.op-inquiry .op-consent{display:flex;align-items:flex-start;gap:10px;margin:8px 0 12px;cursor:pointer}
.op-inquiry .op-consent input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0;accent-color:var(--op-forest)}
.op-inquiry .op-consent span{color:var(--op-ink);font-weight:600}
.op-privacy{margin-bottom:20px;font:400 12px/1.8 SUIT,sans-serif;color:var(--op-muted)}
.op-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.op-privacy p{margin:10px 0 0;overflow-wrap:anywhere}
.op-inquiry-status{margin:12px 0 0;font:500 13px/1.8 SUIT,sans-serif;overflow-wrap:anywhere}
.op-inquiry-status:empty{margin:0}
.op-inquiry-status.is-error{color:#9b3525;background:#fff1ed;border:1px solid #e5c3b9;border-left:3px solid #9b3525;padding:14px 16px;font-size:15px;font-weight:600;border-radius:2px}
.op-inquiry-fields>.op-button:disabled{opacity:.65;cursor:wait;transform:none}
.op-inquiry-fields[hidden],.op-inquiry-complete[hidden]{display:none}
.op-inquiry-complete{width:100%;min-width:0;box-sizing:border-box;padding:28px 24px;background:#edf2ec;border:1px solid var(--op-line);border-top:3px solid var(--op-forest);border-radius:2px;animation:op-inquiry-fade .2s ease-out;scroll-margin-bottom:100px}
.op-inquiry-check{display:block;color:var(--op-forest);margin-bottom:20px}
.op-inquiry-complete h3{color:var(--op-forest);font-size:24px;line-height:1.5;letter-spacing:-.035em;margin:0 0 12px;word-break:keep-all}
.op-inquiry-complete h3:focus{outline:2px solid var(--op-forest);outline-offset:5px}
.op-inquiry-guidance{font:400 15px/1.8 SUIT,sans-serif;color:var(--op-muted);margin:0;word-break:keep-all}
.op-inquiry-summary{margin:24px 0;border-top:1px solid var(--op-line);font:400 14px/1.7 SUIT,sans-serif}
.op-inquiry-summary>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--op-line)}
.op-inquiry-summary dt{color:var(--op-muted)}
.op-inquiry-summary dd{margin:0;color:var(--op-forest);font-weight:600;overflow-wrap:anywhere}
.op-inquiry-complete>.op-button{width:100%;justify-content:center}
.op-inquiry-spinner{width:14px;height:14px;flex:0 0 14px;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:op-inquiry-spin .8s linear infinite}
@keyframes op-inquiry-spin{to{transform:rotate(360deg)}}
@keyframes op-inquiry-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .op-inquiry-complete,.op-inquiry-spinner{animation:none}
}
@media(max-width:767px){
 .op-inquiry .op-form-grid{grid-template-columns:minmax(0,1fr)}
 .op-inquiry .op-consent{font-size:13px}
 .op-inquiry-complete{padding:24px 18px}
 .op-inquiry-complete h3{font-size:22px}
 .op-inquiry-summary>div{grid-template-columns:82px minmax(0,1fr);gap:8px}
 .op-result-actions .op-button{width:100%;justify-content:center;gap:10px}
}
.op-reservation{text-align:center}
.op-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:36px 0 24px;text-align:left}
.op-booking-grid article{padding:36px;border:1px solid var(--op-line);border-radius:10px;background:var(--op-cream)}
.op-booking-grid article:last-child{background:#edf2ec}
.op-number{font:600 11px/1.5 SUIT,sans-serif;letter-spacing:.1em;color:#6c7c68}
.op-booking-grid h3{font:700 26px/1.5 'Gowun Batang',serif;margin:18px 0 10px}
.op-booking-grid p{font-size:15px;line-height:1.8;color:var(--op-muted);margin-bottom:24px}
.op-visit{background:#eff2eb}
.op-visit .op-button{margin-top:26px}
.op-visit-photo{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#d8dfd1}
.op-visit-photo img{width:100%;height:100%;object-fit:cover}
.op-visit-photo span{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:13px}
.op-faq .op-inner{max-width:900px}
.op-news{background:#f6f5ef}
.op-news-layout{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.op-social-actions{display:flex;gap:12px;flex-wrap:wrap}
.op-faq-list{margin-top:32px;border-top:1px solid var(--op-line)}
.op-faq details{border-bottom:1px solid var(--op-line);padding:0 4px}
.op-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font:600 17px/1.6 SUIT,sans-serif}
.op-faq summary::-webkit-details-marker{display:none}
.op-faq summary:after{content:'+';font-size:24px;font-weight:400}
.op-faq details[open] summary:after{content:'−'}
.op-faq details p{font:400 15px/1.9 SUIT,sans-serif;color:var(--op-muted);padding-bottom:20px;max-width:760px;word-break:keep-all}
.op-faq details a{display:inline-block;color:#244536;font-size:14px;padding-bottom:24px;text-underline-offset:5px}
.op-program-heading{max-width:1160px;padding:0 28px;margin:0 auto 36px;text-align:center}
.op-program-heading>p:last-child{font-size:16px;line-height:1.8;color:var(--op-muted)}
.op-programs{padding-block:76px!important}
.op-healing-programs{background:#f4f6f0}
.op-program-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.op-program-title h2{margin-bottom:10px}
.op-program-link{flex-shrink:0;display:flex;gap:24px;padding:12px 0;font:600 14px/1.6 SUIT,sans-serif;color:#244536;text-decoration:none;border-bottom:1px solid #b5c3af}
.op-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.op-program-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 24px}
.op-program-filters{display:flex;gap:8px;flex-wrap:wrap}
.op-program-filters button{border:1px solid #d4ddcf;border-radius:24px;background:white;color:#53694e;padding:11px 18px;min-height:44px;font:600 14px/1.5 SUIT,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
.op-program-filters button[aria-pressed="true"]{background:#244536;border-color:#244536;color:white}
.op-program-count{font:400 12px/1.6 SUIT,sans-serif;color:#65745f}
.op-program-card[hidden]{display:none!important}
.op-program-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe5da;border-radius:12px;text-decoration:none;color:#244536;box-shadow:0 2px 6px #243b2b03}
.op-program-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;flex-shrink:0}
.op-program-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:23px}
.op-program-body h3{margin:0;font:700 20px/1.4 SUIT,sans-serif;color:#244536}
.op-program-body p{margin:0;font:400 14px/1.8 SUIT,sans-serif;color:#63705f;word-break:keep-all}
.op-program-meta{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #edf0e8;font:500 12px/1.5 SUIT,sans-serif;color:#647b5f}
.op-program-meta>span{color:#244536;white-space:nowrap}
.op-header-book{display:inline-flex!important;white-space:nowrap;align-items:center;justify-content:center;gap:6px;padding:12px 18px;border-radius:5px;background:#244536;color:white!important;font:600 14px/1.5 SUIT,sans-serif;margin-left:22px}
.op-header-book .op-icon-calendar{display:inline-block;width:15px;height:15px;stroke-width:2.2;flex-shrink:0}
.op-header-book .op-book-arrow{font-size:13px;opacity:0.85;margin-left:2px}
.onepage-nav{gap:6px!important}
.onepage-nav a{font-size:13px!important;white-space:nowrap}
.main-header .onepage-nav a{position:relative;text-decoration:none!important}
.main-header .onepage-nav a::after{display:none!important}
.main-header .onepage-nav a::before{display:none!important}
.main-header .onepage-nav a{padding:10px 8px!important;border-radius:2px;line-height:1.5;transition:background .18s,color .18s}
.main-header .onepage-nav a.is-active{color:#244536!important;text-decoration:none!important;font-weight:700;background:#e8ece6}
.main-header .onepage-nav a:hover{background:#f1f2ee}
@media(min-width:1207px){.op-header-book{margin-left:12px;padding:10px 14px;font-size:13px}}
.op-dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);z-index:60;display:flex;background:#fff;box-shadow:0 5px 30px #12271d26;border:1px solid #dce2d9;border-radius:9px;overflow:hidden;transition:transform .25s}
.op-dock.is-visible{transform:translate(-50%,0)}
.op-dock a:last-child{background:#244536;color:white;min-width:140px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.op-dock a:last-child .op-icon-calendar{flex-shrink:0}
@media(max-width:1206px){
 .aside-mobile-copy .main-header .header-menu-area{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;padding-inline:16px!important;background:none!important}
 .aside-mobile-copy .main-header .logo-area{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:162px!important;max-width:none!important;flex:0 1 162px!important;margin-right:auto!important}
 .aside-mobile-copy .main-header .logo-area:before{width:100%!important;flex:1!important}
 .aside-mobile-copy .main-header .onepage-nav{display:none!important}
 .aside-mobile-copy .main-header .header-right{display:flex!important;flex:0 0 44px!important;width:44px!important;height:44px!important}
 .aside-mobile-copy .main-header .header-right > :not(.mobile-nav-toggle){display:none!important}
 .aside-mobile-copy .mobile-nav-toggle{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:0}
 .aside-mobile-copy .mobile-nav-toggle span{display:block;width:24px;height:2px;background:#244536}
 .aside-mobile-copy .main-header:has(.mobile-nav-panel.is-open){background:#fff!important;backdrop-filter:none!important}
 .aside-mobile-copy .mobile-nav-panel{position:absolute!important;top:100%!important;left:0!important;right:0!important;bottom:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100svh - 90px)!important;overflow-y:auto!important;padding:12px!important;box-sizing:border-box!important;background:#fff!important;box-shadow:0 12px 20px #24453616!important;z-index:10001!important;display:none!important;transform:none!important}
 .aside-mobile-copy .mobile-nav-panel.is-open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));visibility:visible!important;opacity:1!important;pointer-events:auto!important;gap:6px!important}
 .aside-mobile-copy .mobile-nav-panel a{padding:16px 12px!important;border:0!important;border-radius:6px;background:#f5f6f2!important;color:#244536!important;font:600 14px/1.5 SUIT,sans-serif!important;text-decoration:none!important;-webkit-tap-highlight-color:transparent}
 .aside-mobile-copy .mobile-nav-panel a:is(:active,:focus-visible,.is-active){background:#244536!important;color:#fff!important}
 .aside-mobile-copy .mobile-nav-toggle{border-radius:6px!important;color:#244536!important;filter:none!important;-webkit-tap-highlight-color:transparent}
 .aside-mobile-copy .mobile-nav-toggle:is(:active,.is-open){background:#eaf0e5!important}
 .aside-mobile-copy .mobile-nav-toggle span{background:#244536!important}
 .aside-mobile-copy .mobile-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .aside-mobile-copy .mobile-nav-toggle.is-open span:nth-child(2){opacity:0}
 .aside-mobile-copy .mobile-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .op-header-book{margin-left:0;margin-right:0;order:1;font-size:12px;padding:9px 12px;align-self:center;flex:0 0 auto;height:38px!important;min-height:0!important;box-sizing:border-box}
 .aside-mobile-copy .main-header .header-right{order:2}
 .main-visual .hero-copy-title{font-size:clamp(30px,5.8vw,52px)!important}
 .op-group-layout,.op-visit-layout{gap:32px}
}
@media(max-width:767px){
 html{scroll-padding-top:84px}
 .main-visual .hero-copy{top:49%!important;width:90%!important}
 .main-visual .hero-copy-title{font-size:clamp(27px,7.1vw,42px)!important;line-height:1.5!important}
 .hero-eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:18px}
 .main-visual .hero-copy-description{font-size:14px!important;line-height:1.8!important;margin-top:18px!important}
 .hero-actions{gap:8px;margin-top:22px}
 .hero-actions .op-button{font-size:13px;padding:12px;gap:10px;min-height:46px}
 .op-quick{gap:0;padding:18px 10px}
 .op-quick a{padding:8px 10px}
 .op-quick small{font-size:10px;word-break:keep-all}
 .op-quick strong{font-size:14px;gap:4px;line-height:1.6}
 .op-section{padding:64px 22px!important}
 .op-group-layout,.op-visit-layout,.op-booking-grid{grid-template-columns:1fr;gap:28px}
 .op-lead{font-size:14px}
 .op-inquiry{padding:22px 18px}
 .op-form-grid{gap:10px}
 .op-booking-grid{margin-top:28px;gap:16px}
 .op-booking-grid article{padding:26px}
 .op-booking-grid h3{font-size:23px}
 .op-faq summary{font-size:15px;padding:20px 0}
 .op-faq details p{font-size:14px}
 .op-program-heading{padding:0 22px}
 .op-program-heading h2{font-size:26px}
 .op-programs{padding:48px 20px!important}
 .op-program-title{align-items:flex-start;gap:16px;flex-direction:column;margin-bottom:24px}
 .op-program-title h2{font-size:29px}
 .op-program-title .op-lead{font-size:14px}
 .op-program-link{padding:0 0 6px;font-size:13px}
 .op-program-grid{grid-template-columns:1fr;gap:12px}
 .op-program-filters{gap:6px}
 .op-program-filters button{padding:10px 12px;font-size:12px}
 .op-program-card{flex-direction:row;align-items:stretch;border-radius:9px}
 .op-program-card>img{width:31%;height:auto;aspect-ratio:auto;object-fit:cover;min-height:156px}
 .op-program-body{padding:16px 14px;gap:8px;min-width:0}
 .op-program-body h3{font-size:17px}
 .op-program-body p{font-size:12px;line-height:1.7}
 .op-program-meta{font-size:11px;padding-top:9px;flex-wrap:wrap}
 .op-header-book{font-size:11px;padding:9px;margin-right:8px}
 .op-dock{bottom:0;left:0;right:0;border-radius:0;transform:translateY(120px);padding-bottom:env(safe-area-inset-bottom);background:#244536;justify-content:stretch}
 .op-dock.is-visible{transform:translateY(0)}
 .op-dock a{flex:1;text-align:center;background:white;padding:16px 20px}
 .op-dock a:last-child{flex:1.2;min-width:0;justify-content:center}
 body{padding-bottom:66px}
 .btn-scroll-next{bottom:84px!important;width:44px!important;height:44px!important;right:14px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* PC: 고정 헤더를 제외한 실제 화면 안에서 사진·문구·버튼을 함께 배치합니다. */
@media(min-width:1207px){
 .aside-desktop-copy .main-header,.aside-desktop-copy .main-header .header-menu-area{height:84px!important;min-height:84px!important;box-sizing:border-box}
 .aside-desktop-copy .main-header .header-menu-area{display:flex;align-items:center}
 .aside-desktop-copy .main-header .onepage-nav a{font-size:14px!important}
 .aside-desktop-copy .innr-wrapper{padding-top:84px!important}
 .aside-desktop-copy .main-visual{height:min(900px,calc(100svh - 84px))!important;min-height:480px!important;margin-top:0!important}
 .aside-desktop-copy .main-visual .hero-copy{top:48%!important;width:min(90%,1100px)!important;gap:0}
 .aside-desktop-copy .main-visual .hero-copy-title{font-size:clamp(42px,min(4.2vw,7.5svh),64px)!important;line-height:1.3!important;max-width:100%;margin:0!important}
 .aside-desktop-copy .main-visual .hero-copy-description{font-size:clamp(15px,1.2vw,18px)!important;line-height:1.8!important;margin-top:26px!important}
 .aside-desktop-copy .hero-actions{margin-top:32px;gap:14px}
 .aside-desktop-copy .hero-actions .op-button{width:210px;min-height:54px;justify-content:center;gap:20px;padding:14px 18px;font-size:16px;line-height:1.5}
 .aside-desktop-copy .main-visual .hero-pagination{bottom:28px!important}
 .aside-desktop-copy .main-visual .hero-slide img{object-position:center 58%}
}
/* 사진 위의 음식 캐러셀 컨트롤은 밝은 바탕으로 대비를 확보합니다. */
.facilities .facilities-list > :is(.swiper-button-prev,.swiper-button-next){background:#fff!important;color:#244536!important;border:1px solid #ffffffd9!important;box-shadow:0 3px 16px #152d2440!important;opacity:1!important}
.facilities .facilities-list > :is(.swiper-button-prev,.swiper-button-next)::after{color:#244536!important}
.facilities .facilities-list > :is(.swiper-button-prev,.swiper-button-next):hover{background:#f0f5eb!important;color:#244536!important}
.facilities .facilities-list > .swiper-button-disabled{opacity:.65!important}
.op-booking-actions{display:flex;flex-wrap:wrap;gap:12px}
.op-stay-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.op-stay-tags span{padding:6px 12px;border-radius:20px;background:#edf2ec;color:#244536;font-size:14px;font-weight:600}
.stay-overview-card{display:flex;flex-direction:column}
.stay-overview-card .stay-overview-content{display:flex;flex:1;flex-direction:column}
.op-stay-booking{display:grid;gap:10px;margin-top:auto;padding-top:24px}
.op-stay-booking .op-button{width:100%;justify-content:space-between;min-height:48px;font-size:15px}
/* 차분한 메인 색감과 높이를 줄인 가로형 숙박 카드 */
.main-visual .hero-slide img{filter:saturate(.8) brightness(.86)}
.main-visual .hero-copy-title{text-shadow:0 2px 18px #10231d35}
.stay-overview{padding:72px 24px}
.stay-overview-heading{margin-bottom:28px;max-width:none}
.stay-overview-heading h2{font-size:clamp(30px,2.8vw,42px);line-height:1.3}
.stay-overview-heading p{font-size:16px}
.stay-overview-grid{gap:18px}
.stay-overview .stay-overview-card{flex-direction:row;border-radius:12px;box-shadow:0 6px 24px #26372e08}
.stay-overview-card .stay-overview-image{width:32%;flex-shrink:0;aspect-ratio:auto}
.stay-overview-card .stay-overview-image img{height:100%;object-fit:cover}
.stay-overview-card .stay-overview-content{min-width:0;min-height:0;padding:24px 20px}
.stay-overview-content h3{font-size:26px;margin:8px 0 12px}
.stay-overview-content>p{font-size:14px;line-height:1.65}
.stay-overview-content .op-stay-tags{gap:5px;margin-bottom:12px}
.stay-overview-content .op-stay-tags span{font-size:12px;padding:5px 9px}
.stay-overview-content .op-stay-booking{padding-top:18px;gap:8px}
.stay-overview-content .op-button{font-size:13px;padding:10px 12px;min-height:44px;gap:8px}
.stay-overview-content .stay-overview-note{font-size:10px;line-height:1.6;margin-top:12px}
@media(max-width:1100px){
 .stay-overview{padding:52px 20px}
 .stay-overview-card .stay-overview-image{width:30%}
 .stay-overview-card .stay-overview-content{padding:20px}
 .stay-overview-content .op-stay-booking{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .stay-overview{padding:44px 16px}
 .stay-overview-heading h2{font-size:28px}
 .stay-overview-heading p{font-size:14px}
 .stay-overview-card .stay-overview-content{padding:18px 14px}
 .stay-overview-content h3{font-size:23px}
 .stay-overview-content .op-stay-booking{grid-template-columns:1fr}
}

/* 관광지는 숙박·체험보다 작은 사진으로 간결하게 소개 */
.aside-desktop-copy .attraction .attraction-item{height:380px!important;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}
.aside-desktop-copy .attraction .attraction-item-img{height:380px!important}
.aside-mobile-copy .attraction .attraction-item-img{height:auto!important;aspect-ratio:16/9!important;border-radius:0!important}

@media(max-width:1206px){
 .aside-mobile-copy .mobile-nav-panel{padding:8px 24px 24px!important;border-top:1px solid #d8d6cd;box-shadow:0 12px 18px #292e2910!important}
 .aside-mobile-copy .mobile-nav-panel.is-open{grid-template-columns:1fr!important;gap:0!important}
 .aside-mobile-copy .mobile-nav-panel a{display:flex;align-items:center;justify-content:space-between;min-height:52px;box-sizing:border-box;padding:14px 0!important;border-bottom:1px solid #e5e3da!important;border-radius:0;background:transparent!important;color:#292e29!important;font-weight:500!important}
 .aside-mobile-copy .mobile-nav-panel a:is(:active,:focus-visible,.is-active){background:transparent!important;color:#244536!important}
 .aside-mobile-copy .mobile-nav-panel a.is-active{font-weight:700!important}
 .aside-mobile-copy .mobile-nav-panel a.is-active:after{content:'';width:5px;height:5px;background:#244536}
 .aside-mobile-copy .mobile-nav-panel a.op-menu-book{margin-top:20px;padding:14px 18px!important;background:#244536!important;color:#fff!important;border:0!important}
 .aside-mobile-copy .mobile-nav-toggle,.aside-mobile-copy .mobile-nav-toggle:is(:active,.is-open){border-radius:0!important;background:transparent!important}
 .aside-mobile-copy .mobile-nav-toggle{gap:6px!important}
 .aside-mobile-copy .mobile-nav-toggle span{height:1px!important}
}

/* 하단 고정 예약 바: 두 동작을 같은 비율로 정렬 */
.op-dock{width:300px;max-width:calc(100% - 32px);box-sizing:border-box;box-shadow:0 3px 14px #12271d14}
.op-dock a,.op-dock a:last-child{display:flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;gap:12px;padding:14px 12px;font-size:14px;line-height:20px;text-align:center;box-sizing:border-box}
.op-dock a:last-child span{font-size:16px;line-height:1}
@media(max-width:767px){
 .op-dock{width:100%;max-width:none}
 .op-dock a,.op-dock a:last-child{flex:1 1 0;min-width:0;padding:14px 12px}
}

/* 캐러셀 화살표는 콘텐츠 아래의 독립된 조작 영역에 배치 */
.aside-desktop-copy .facilities .facilities-list,.aside-mobile-copy .facilities .facilities-list,
.aside-desktop-copy .attraction .attraction-list,.aside-mobile-copy .attraction .attraction-list{padding-bottom:76px!important;box-sizing:border-box}
:is(.aside-desktop-copy,.aside-mobile-copy) :is(.facilities .facilities-list,.attraction .attraction-list)>:is(.swiper-button-prev,.swiper-button-next){top:auto!important;bottom:10px!important;transform:none!important;width:44px!important;height:44px!important;border-radius:2px!important;background:#fff!important;color:#244536!important;border:1px solid #d8d6cd!important;box-shadow:none!important}
:is(.aside-desktop-copy,.aside-mobile-copy) :is(.facilities .facilities-list,.attraction .attraction-list)>.swiper-button-prev{left:auto!important;right:58px!important}
:is(.aside-desktop-copy,.aside-mobile-copy) :is(.facilities .facilities-list,.attraction .attraction-list)>.swiper-button-next{left:auto!important;right:0!important}
.facilities .facilities-item-img{border-radius:0!important;overflow:hidden}
/* PC에서는 화살표를 카드 위 독립된 행에 두어 하단 고정 버튼과 겹치지 않게 합니다. */
@media(min-width:1207px){
 .aside-desktop-copy :is(.facilities .facilities-list,.attraction .attraction-list){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px 44px;
  gap:16px 12px!important;
  padding:0!important;
 }
 .aside-desktop-copy :is(.facilities .facilities-list,.attraction .attraction-list)>.swiper-wrapper{
  grid-area:2 / 1 / 3 / -1;
  min-width:0;
  width:100%!important;
  height:auto!important;
 }
 .aside-desktop-copy :is(.facilities .facilities-list,.attraction .attraction-list)>:is(.swiper-button-prev,.swiper-button-next){
  position:static!important;
  inset:auto!important;
  margin:0!important;
  grid-row:1;
 }
 .aside-desktop-copy :is(.facilities .facilities-list,.attraction .attraction-list)>.swiper-button-prev{grid-column:2}
 .aside-desktop-copy :is(.facilities .facilities-list,.attraction .attraction-list)>.swiper-button-next{grid-column:3}
 .aside-desktop-copy .facilities .facilities-list>.swiper-scrollbar{
  grid-area:3 / 1 / 4 / -1;
  position:static!important;
  width:100%!important;
  margin:0!important;
 }
}
@media(min-width:1207px){.op-dock{display:none!important}}

.op-social-link{display:inline-flex;align-items:center;gap:10px}
.op-social-icon{display:inline-block;flex:0 0 20px;width:20px;height:20px;vertical-align:middle;background:none}
.op-social-link.op-button{justify-content:flex-start;gap:10px}
.op-social-link.op-button>span:last-child{margin-left:auto;padding-left:12px}

.op-dock a,.op-dock a:last-child{font-family:SUIT,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.02em;justify-content:center;line-height:22px}

@media(max-width:767px){
 .aside-mobile-copy .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:340px;margin:24px auto 0;gap:10px}
 .aside-mobile-copy .hero-actions .op-button{width:100%;min-width:0;min-height:48px;padding:12px 6px;display:flex;justify-content:center;align-items:center;font-size:13px;line-height:1.5;letter-spacing:-.03em;white-space:nowrap;box-sizing:border-box}
}

@media(max-width:767px){
 .aside-mobile-copy [data-route]:not([data-route="top"]){scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom))!important}
 .aside-mobile-copy .op-section{padding-bottom:88px!important}
 .aside-mobile-copy .stay-overview{padding-bottom:88px}
 .aside-mobile-copy .site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
}

/* 브랜드 공통 규칙: 둥근 패널 대신 여백과 가는 구분선 */
:root{--op-forest:#244536;--op-ink:#292e29;--op-muted:#66685f;--op-cream:#f5f3ed;--op-line:#d8d6cd}
.op-section h2,.op-program-heading h2,.stay-overview-heading h2{font-family:SUIT,sans-serif!important;font-weight:600;letter-spacing:-.045em}
.op-booking-grid h3{font-family:SUIT,sans-serif;font-weight:600}
.op-eyebrow,.stay-overview-eyebrow,.op-number,.stay-overview-type{color:#777467;letter-spacing:.1em;font-weight:500}
.op-button,.op-header-book,.op-inquiry,.op-inquiry input,.op-inquiry select,.op-inquiry textarea,.op-visit-photo,.op-dock{border-radius:2px}
.op-button:hover{transform:none}
.op-healing-programs,.op-visit{background:#fff}
.op-group,.op-news,.stay-overview{background:var(--op-cream)}
.op-program-grid{column-gap:28px;row-gap:38px}
.op-program-card{border:0;border-radius:0;background:transparent;box-shadow:none;border-bottom:1px solid var(--op-line)}
.op-program-card:hover{border-color:#8b8d80;box-shadow:none}
.op-program-body{padding:20px 0 22px}
.op-program-body h3{font-weight:600;color:var(--op-ink)}
.op-program-body p{color:var(--op-muted)}
.op-program-meta{border-top:0;color:var(--op-muted);padding-top:10px}
.op-program-filters{gap:20px;border-bottom:1px solid var(--op-line)}
.op-program-filters button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--op-muted);padding:12px 0}
.op-program-filters button[aria-pressed="true"]{background:transparent;color:var(--op-forest);border-color:var(--op-forest)}
.stay-overview .stay-overview-card{border-radius:0;box-shadow:none;background:transparent;border-top:1px solid var(--op-line);padding-top:20px}
.stay-overview-card .stay-overview-content{padding-top:4px;padding-bottom:4px}
.stay-overview-content .op-stay-tags{gap:0}
.stay-overview-content .op-stay-tags span{background:none;border-radius:0;padding:0;color:#244536;font-size:18px;font-weight:700;line-height:1.55;letter-spacing:-.025em}
.stay-overview-content .op-stay-tags span+span:before{content:'·';padding:0 8px}
.op-booking-grid article,.op-booking-grid article:last-child{border:0;border-top:1px solid var(--op-line);border-radius:0;background:transparent;padding:28px 0}
.op-inquiry{border:0;border-top:1px solid var(--op-line);background:transparent;padding:28px 0}
@media(max-width:767px){
 .op-program-card{border-radius:0;padding-bottom:16px}
 .op-program-body{padding:4px 0 0 16px}
 .op-program-grid{row-gap:20px}
 .op-program-filters{gap:16px}
 .op-program-filters button{padding:10px 0;font-size:12px}
 .stay-overview-card .stay-overview-content{padding-left:16px;padding-right:0}
}
/* 아이뜰: 숲의 녹색, 종이색, 먹색. 장식보다 사진과 활자 중심. */
