/* 서체: 원본 브랜드(아임웹 보관본) — 한글·본문 KoPubDotum(vendor-cdn.imweb.me/fonts/subset/kopubdotum/KoPubDotum_subset.woff), 라틴 장식 Quicksand(vendor-cdn.imweb.me/fonts/Quicksand-Regular.woff2). 보관 파일 그대로 self-host(public/fonts). */
@font-face{font-family:KoPubDotum;src:url(/fonts/KoPubDotum-subset.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Quicksand;src:url(/fonts/Quicksand-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}html{scroll-behavior:smooth}:root{--cocone-sans:KoPubDotum,"Apple SD Gothic Neo","Malgun Gothic","Nanum Gothic","Noto Sans KR",sans-serif;--cocone-sans-ja:KoPubDotum,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP",sans-serif;--cocone-latin:Quicksand,KoPubDotum,"Apple SD Gothic Neo",sans-serif}body.cocone-body{margin:0;background:#fff;color:#333;font-family:var(--cocone-sans)}.cocone-shell[lang=ja]{font-family:var(--cocone-sans-ja)}.cocone-shell{min-width:0}.cocone-header,.cocone-header *,.cocone-dialog *,.cocone-mobile-actions *,.cocone-reservation *{box-sizing:border-box}.cocone-header a,.cocone-dialog a,.cocone-mobile-actions a{color:inherit;text-decoration:none}.cocone-header button,.cocone-dialog button,.cocone-mobile-actions button{font:inherit;cursor:pointer}.cocone-header{position:sticky;top:0;z-index:1100;display:flex;align-items:center;gap:22px;background:#fff;min-height:100px;border-bottom:1px solid #eee;padding:10px 24px;color:#38302b}.cocone-brand{flex-shrink:0;width:280px}.cocone-brand img{display:block;width:100%;height:51px;object-fit:contain;object-position:left}.cocone-branch-row{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:13px}.cocone-branch-row>span{font-weight:600}.cocone-branch-row button{background:#fff;border:1px solid #ccc;padding:5px 8px;border-radius:3px;color:#49433f;font-size:12px;min-height:30px}.cocone-desktop-nav{display:flex;gap:26px;align-items:center;flex:1;justify-content:center;white-space:nowrap}.cocone-desktop-nav a{font-size:15px}.cocone-desktop-nav button{border:0;background:none;min-width:40px;min-height:44px}.cocone-language{display:flex;gap:8px;font-size:12px;white-space:nowrap}.cocone-language a{padding:8px 2px}.cocone-language a[aria-current]{text-decoration:underline;text-underline-offset:5px}.cocone-book{background:#8e5030!important;color:white!important;text-align:center;min-width:106px;padding:16px 12px;font-size:14px;line-height:1.5;align-self:stretch;display:flex;align-items:center;justify-content:center;flex-direction:column}.cocone-contact{background:#c99e8d;color:#20242A!important;padding:16px 14px;min-width:96px;text-align:center;font-size:14px;align-self:stretch;display:flex;align-items:center;justify-content:center}.cocone-menu-button{display:none;border:0;background:white;font-size:22px!important;padding:8px}.cocone-mobile-nav{display:none}.cocone-dialog{border:1px solid #d9cfc6;border-radius:2px;padding:18px 24px 22px;width:min(420px,calc(100% - 32px));max-height:85svh;overflow:auto;color:#333;background:#fbf8f4;z-index:3000;box-shadow:none}.cocone-dialog::backdrop{background:#2a211c66}.cocone-lightbox::backdrop{background:#0008}.cocone-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.cocone-dialog-top h2{font-size:17px;font-weight:700;line-height:1.5;margin:0}.cocone-dialog-top button{border:0;background:none;font-size:26px;line-height:1;min-width:44px;min-height:44px;color:#5a4a40}.cocone-current-branch,.cocone-branch-option{display:flex!important;justify-content:space-between;align-items:baseline;gap:12px;border:0;border-top:1px solid #e4dad1;padding:16px 0;margin:0;border-radius:0;background:none}.cocone-dialog .cocone-branch-option:last-child,.cocone-dialog .cocone-current-branch:last-child{border-bottom:1px solid #e4dad1}.cocone-current-branch strong{font-weight:400;color:#68625d}.cocone-dialog small{font-size:14px;color:#68625d}.cocone-branch-option strong{font-weight:700;color:#2a211c}.cocone-branch-option small{color:#7a2900}.cocone-branch-option:hover strong,.cocone-branch-option:focus-visible strong{text-decoration:underline;text-underline-offset:4px}.cocone-menu-dialog nav{display:grid}.cocone-menu-dialog nav a{padding:13px 0;border-bottom:1px solid #eee}.cocone-mobile-actions{display:none}.cocone-skip{position:fixed;left:12px;top:-100px;z-index:5000;background:#fff;padding:12px}.cocone-skip:focus{top:8px}:focus-visible{outline:3px solid #965938;outline-offset:4px}.cocone-hero{height:calc(100svh - 100px);min-height:500px;position:relative;overflow:hidden;background:#eee}.cocone-hero-slides,.cocone-hero-slide{position:absolute;inset:0}.cocone-hero-slide{opacity:0;transition:opacity 1s ease}.cocone-hero-slide.active{opacity:1}.cocone-hero-slide>img{object-fit:cover}.cocone-hero-copy{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#fff;gap:28px;padding:24px}.cocone-hero-copy h1{margin:0;font-weight:400;line-height:1.3}.cocone-hero-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px}.cocone-hero-controls button{border:0;background:transparent;position:relative;width:36px;height:44px;cursor:pointer;color:#fff}.cocone-hero-controls button:not(.cocone-pause)::after{content:'';display:block;height:2px;background:#fff7}.cocone-hero-controls button[aria-current=true]::after{background:#fff}.cocone-hero-controls .cocone-pause{font-size:14px}.cocone-original{overflow:hidden}.cocone-original .owl-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:8px;opacity:1;visibility:visible}.cocone-original .owl-carousel>.item{flex:0 0 48%;scroll-snap-align:start;position:relative}.cocone-original .owl-carousel img{width:100%;height:auto;display:block}.cocone-original [hidden]{display:none!important}.cocone-original .section_wrap{clear:both}.cocone-original ._widget_data{visibility:visible}.cocone-animate{opacity:0;transform:translateY(18px);transition:opacity var(--anim-duration,.7s),transform var(--anim-duration,.7s)}.cocone-animate.cocone-in-view{opacity:1;transform:none}.cocone-original .tab{overflow-x:auto;display:flex}.cocone-original .tab button{white-space:nowrap}.cocone-policy{max-width:960px;margin:50px auto;padding:24px;line-height:1.9}.cocone-original #doz_footer_wrap{position:static}.cocone-lightbox{border:0;background:#161616;color:white;width:95vw;height:90svh;max-width:none;max-height:none;padding:0;overflow:hidden}.cocone-lightbox>img{object-fit:contain}.lightbox-close{position:absolute;right:16px;top:12px;z-index:2;border:0;background:#0009;color:white;font-size:32px;width:48px;height:48px}.lightbox-controls{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;background:#000a;padding:6px 20px;border-radius:6px}.lightbox-controls button{border:0;background:none;color:white;font-size:24px;padding:8px 16px}.cocone-reservation{max-width:1060px;padding:60px 24px;margin:auto;min-height:65vh;font-size:16px;line-height:1.8}.cocone-reservation h1{font-size:36px;font-weight:500;color:#85462c;margin:10px 0 18px}.cocone-eyebrow{letter-spacing:2px;font-size:13px;color:#996a54}.cocone-reservation-form{margin:32px 0;background:#f7f5f2;padding:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cocone-reservation-form label{display:flex;flex-direction:column;gap:8px;font-size:14px}.cocone-reservation-form input,.cocone-reservation-form select{width:100%;min-height:48px;font:inherit;border:1px solid #c9bcb3;background:#fff;padding:10px}.cocone-primary{display:inline-block!important;background:#8e5030;color:white!important;padding:13px 24px;border:0;text-decoration:none!important;text-align:center;cursor:pointer}.cocone-enquiry{border:1px solid #dccfc4;padding:24px;margin:24px 0}.cocone-enquiry pre{white-space:pre-wrap;background:#faf8f6;border:0;padding:20px;line-height:1.8;font-family:inherit}.cocone-enquiry>button{padding:12px;border:1px solid #bbb;background:#fff;margin:0 12px 16px 0}.cocone-room-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}.cocone-room-list>a{border:1px solid #ddd;color:#333;padding:24px;text-decoration:none}.cocone-room-list h2{font-size:19px;line-height:1.5}.cocone-room-list span{font-size:14px;color:#8e5030}.cocone-preview-note{text-align:center;font-size:13px;background:#f7f5f2;padding:10px;color:#6b6b6b}
@media(max-width:1250px){.cocone-header{gap:12px;padding:10px 16px}.cocone-brand{width:230px}.cocone-desktop-nav{gap:14px}.cocone-desktop-nav a:nth-child(n+3){display:none}}
@media(max-width:900px){.cocone-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 8px;min-height:112px;padding:8px 14px}.cocone-brand{width:auto;max-width:250px;grid-row:span 2}.cocone-brand img{height:42px}.cocone-branch-row{font-size:12px;gap:6px;flex-wrap:wrap}.cocone-branch-row button{font-size:12px;min-height:32px;padding:5px}.cocone-language{font-size:13px;gap:2px}.cocone-language a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}.cocone-menu-button{display:block}.cocone-book{grid-column:2 / span 2;min-width:0;font-size:13px;padding:7px 10px;display:block;white-space:nowrap}.cocone-book br{display:none}.cocone-desktop-nav,.cocone-contact{display:none}.cocone-mobile-nav{position:relative;display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;border-bottom:1px solid #ddd;background:white;gap:8px;padding:0 16px;font-size:14px}.cocone-mobile-nav a{color:#555;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 8px}.cocone-hero{height:82vw;min-height:260px;max-height:560px}.cocone-hero-copy{gap:28px;padding:18px}.cocone-hero-copy h1:first-child span{font-size:36px!important}.cocone-hero-copy h1:not(:first-child) span{font-size:20px!important}.cocone-hero-controls{bottom:4px}.cocone-original .owl-carousel>.item{flex-basis:85%}.cocone-reservation{padding:36px 20px}.cocone-reservation h1{font-size:27px}.cocone-reservation-form{grid-template-columns:1fr;padding:20px}.cocone-room-list{grid-template-columns:1fr}.cocone-mobile-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px;position:fixed;right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:1000}.cocone-mobile-actions>a,.cocone-mobile-actions>button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;font-size:10px;line-height:1.15;text-align:center;padding:4px;box-shadow:0 2px 8px #0002}.cocone-mobile-actions>a{background:#c99e8d;color:#20242A}.cocone-mobile-actions>button{background:white;color:#51433a;border:1px solid #bda999}.cocone-mobile-actions span{font-size:13px;margin-bottom:2px}.cocone-mobile-actions.reservation-actions{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cocone-hero-slide,.cocone-animate{transition:none}.cocone-animate{opacity:1;transform:none}}
/* The original platform's generic main rule must not constrain the new shell. */
.cocone-body .cocone-main{max-width:none!important;width:100%;margin:0;padding:0}
.cocone-body .cocone-hero-slide>img{max-width:none!important;width:100%!important;height:100%!important}
@media(max-width:900px){
 .cocone-header{grid-template-columns:minmax(0,1fr) auto 32px;grid-template-rows:auto auto}
 .cocone-brand{grid-column:1;grid-row:1 / span 2}
 .cocone-language{grid-column:2;grid-row:1}
 .cocone-menu-button{grid-column:3;grid-row:1;padding:2px;font-size:20px!important}
 .cocone-book{grid-column:2 / span 2;grid-row:2}
 /* Body spans the full width; the two circular actions float over it, so the last block keeps bottom room to stay readable. */
 .cocone-shell:not(:has(.reservation-actions))>:last-child{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
 .cocone-policy{padding:20px 12px}
 .cocone-preview-note{padding-right:10px}
}
.cocone-original .gallery2.owl-carousel>._item{flex:0 0 100%;scroll-snap-align:start;position:relative;float:none!important;max-width:100%}
.cocone-original .gallery2 .img_wrap{width:100%!important;height:auto!important;aspect-ratio:4 / 3;background-size:cover;background-position:center;cursor:zoom-in}
.cocone-original .gallery2 .item_container{height:auto!important;min-height:0}
.cocone-original .gallery2 .text_wrap{pointer-events:none}
.cocone-gallery-controls{display:flex;justify-content:center;gap:14px;padding:8px}
.cocone-gallery-controls button{border:1px solid #ddd;background:white;color:#654c3c;min-width:44px;min-height:44px}
.cocone-original .list-style-card{display:block!important;width:100%;height:auto!important;position:relative!important;float:none!important;margin-bottom:20px}
.cocone-original .list-style-card .card{height:auto!important;min-height:220px}
.cocone-original .list-style-card .card_wrapper{min-height:180px}
.cocone-original .list-style-card .title-block{display:block!important}
.cocone-original iframe[src^="https://www.google.com/maps/embed"]{width:100%;min-height:360px;border:0}

/* Archived motion settings: hero 4 s / 0.1 s fade; gallery 5 s; widget duration/delay preserved. */
.cocone-hero-slide{transition-duration:.1s}
.cocone-animate{transition-delay:var(--anim-delay,0s)}
.cocone-animate[data-widget-anim="fadeIn"]{transform:none}
.cocone-animate[data-widget-anim="fadeInUp"]{transform:translateY(100%)}
.cocone-animate[data-widget-anim="fadeInDown"]{transform:translateY(-100%)}
.cocone-animate[data-widget-anim="zoomIn"]{transform:scale(.3)}
.cocone-animate.cocone-in-view{transform:none}
@media(prefers-reduced-motion:reduce){.cocone-animate{transition:none!important;transform:none!important;opacity:1!important}}
/* Source platform revealed lazy image widgets with JavaScript; local images need no legacy initializer. */
.cocone-original img.org_image{visibility:visible!important}
/* 2026-09-29 audit A-08: header controls meet the 44x44 CSS px touch target at every width. A-05: switch notice. */
.cocone-branch-row button,.cocone-menu-button{min-height:44px!important;min-width:44px}
@media(max-width:900px){.cocone-header{grid-template-columns:minmax(0,1fr) auto 44px}.cocone-branch-row button{min-height:44px!important;padding:5px 10px}.cocone-menu-button{min-height:44px;width:44px}.cocone-book{min-height:44px}}
.cocone-switch-notice{margin:0 0 14px;padding:0;border:0;background:none;font-size:13px;line-height:1.6;color:#5a3a24}
/* 2026-09-29 regression R-02 (scoped to containers that hold cards; empty/permission states keep original flow — review REV-02): imweb "newest posts" card grid (masonry JS) — 3 columns ≥992px, 1 column below; 4:3 thumbnails (archive: 329px@1440, 271px@390). */
.cocone-original .list-style-gallery.type_grid:has(>._card_wrap){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:-15px -15px 0;visibility:visible!important;height:auto!important}
.cocone-original .list-style-gallery.type_grid:has(>._card_wrap)>._card_wrap{display:contents}
.cocone-original .list-style-gallery.type_grid:has(>._card_wrap) .ma-item{position:static!important;width:auto!important;padding:15px;transform:none!important}
.cocone-original .list-style-gallery.type_grid:has(>._card_wrap) .card-head{height:auto!important;aspect-ratio:4 / 3}
.cocone-original .list-style-gallery.type_grid:has(>._card_wrap) .card_wrapper{background-size:cover;background-position:center}
@media(max-width:991px){.cocone-original .list-style-gallery.type_grid:has(>._card_wrap){grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){.cocone-original .list-style-gallery.type_grid:has(>._card_wrap){margin:-7.5px -7.5px 0}.cocone-original .list-style-gallery.type_grid:has(>._card_wrap) .ma-item{padding:7.5px}}
/* 2026-10-02 user feedback ("메뉴에서 줄임표가 떠"): show the main menu items while they fit, and replace the
 * unexplained "•••" with a labelled full-menu button. Item counts per width are measured (no overlap with brand/actions). ≤1250px keeps the original 2-item rule
 * (line 2); no separate 1099px step (audit QA-07). Full-menu button keeps the 44px touch target (QA-08). */
.cocone-desktop-nav .cocone-all-menu{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9d0c8;border-radius:4px;padding:0 12px;min-height:44px;font-size:14px;color:#5a3a24;background:#fff;cursor:pointer}
@media(max-width:1599px){.cocone-desktop-nav a:nth-child(n+6){display:none}}
@media(max-width:1439px){.cocone-desktop-nav a:nth-child(n+5){display:none}}
@media(max-width:1366px){.cocone-desktop-nav a:nth-child(n+4){display:none}}
/* QA F-07: 터치 44px — 로고 링크(폰 로고 42px)·언어 링크(EN 폭 29px) */
.cocone-brand a{display:flex;align-items:center;min-height:44px}.cocone-language a{min-width:44px;justify-content:center}
