/* ===== 공통 레이아웃 작성 규칙 CSS ===== */
/* Page layout: normal flow + Grid/Flex + padding. No absolute text positioning. */
/* ===== 공통 헤더 · 로고 · 내비게이션 CSS ===== */
.site-header{padding-block:27px;}
.brand{font-size:26px;font-weight:800;white-space:nowrap;}
.header-nav{gap:36px;}
.header-nav a{font-size:15px;padding-block:8px;}
.header-nav a:hover,.account-link:hover{color:var(--green);text-decoration:underline;}
.account-link{font-size:13px;}
.menu-toggle{display:none;}
.mobile-nav{padding-block:20px;border-top:1px solid var(--line);}
.mobile-nav a{display:block;padding:13px 0;}
/* ===== 메인 페이지 · 영상 배너 및 예약 바로가기 CSS ===== */
.hero{padding-inline:24px;}
/* Media and copy share a Grid cell; copy is placed with padding, not coordinates. */
.hero-stage{display:grid;isolation:isolate;background:#3b3329;overflow:hidden;}
.hero-video,.hero-shade,.hero-content{grid-area:1/1;min-width:0;}
.hero-video{width:100%;height:100%;min-height:660px;object-fit:cover;}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,.12));}
.hero-content{padding:66px max(40px,calc(10dvw - 24px)) 34px;z-index:1;}
.hero-content .eyebrow,.hero-content .title-xl,.hero-description{color:var(--white);}
.hero-copy{padding-top:100px;}
.hero-description{font-size:18px;line-height:1.8;padding-block:38px 32px;}
.hero-controls{display:flex;justify-content:flex-end;padding-top:32px;}
.video-toggle{font-size:12px;color:white;padding:9px 16px;border:1px solid #ffffff70;border-radius:30px;background:#0002;}
.video-status{font-size:12px;color:white;align-self:center;}
.booking-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:white;margin-top:-36px;isolation:isolate;}
.booking-choice{display:grid;grid-template-columns:24px 1fr;gap:18px;padding:32px 28px;}
.booking-choice+.booking-choice{border-left:1px solid var(--line);}
.choice-number{font-size:12px;color:var(--green);padding-top:7px;}
.choice-title{font-size:23px;font-weight:600;}
/* ===== 메인 페이지 · 프로그램 및 공간 소개 CSS ===== */
.choice-description{font-size:14px;color:var(--muted);padding-block:10px 18px;}
.choice-action{font-size:14px;font-weight:600;display:flex;gap:18px;align-items:center;}
.booking-choice:hover{background:var(--paper);}
.intro-heading{grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-bottom:60px;}
.intro-lead{font-size:22px;font-weight:500;padding-bottom:22px;}
.experience-grid{grid-template-columns:1.35fr 1fr;gap:52px;align-items:center;}
.experience-image{width:100%;aspect-ratio:1.34;object-fit:cover;}
.experience-content .title-md{padding-block:26px 30px;}
.experience-links{padding-top:36px;}
.experience-links a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:23px;gap:20px;}
.experience-links strong{font-size:20px;font-weight:500;}
.experience-links small{display:block;padding-top:8px;font-size:14px;color:var(--muted);}
.space-grid{grid-template-columns:1.2fr 1fr;gap:12%;align-items:center;}
.space-copy .title-lg{padding-block:30px 38px;}
.space-copy .text-link{margin-top:30px;}
.space-numbers{grid-template-columns:1fr 1fr;gap:36px;padding-bottom:36px;}
.space-numbers dt{font-size:80px;font-weight:500;line-height:1.2;}
.space-numbers dt span{font-size:18px;padding-left:8px;color:var(--muted);}
.space-numbers dd{font-size:14px;padding-top:20px;color:var(--muted);}
.space-detail{border-top:1px solid var(--line);padding-top:32px;}
.space-detail p{font-size:19px;}
.space-detail address{font-size:15px;font-style:normal;color:var(--muted);padding-top:15px;}
.team-grid{grid-template-columns:1.2fr 1fr;gap:12%;align-items:center;}
.team-grid .title-lg{padding-top:27px;}
.team-lead{font-size:23px;font-weight:500;padding-bottom:20px;}
.team-actions{padding-top:28px;display:flex;align-items:flex-start;gap:20px;flex-direction:column;}
.faq-grid{grid-template-columns:1fr 1.1fr;gap:10%;border-top:1px solid var(--line);}
.faq-grid .title-md{padding-block:24px 30px;}
.faq-list details{border-bottom:1px solid var(--line);}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px;font-size:17px;list-style:none;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:'+';font-size:24px;}
.faq-list details[open] summary::after{content:'−';}
.faq-answer{padding:0 36px 26px 0;font-size:15px;color:var(--muted);line-height:1.8;}
.closing{padding-bottom:90px;}
.closing-box{padding:48px;gap:40px;}
.closing-box h2{color:white;font-size:34px;font-weight:600;}
.closing-box p{color:white;padding-top:16px;}
.closing-box .btn{flex-shrink:0;}
/* ===== 공통 푸터 · 모바일 예약 버튼 CSS ===== */
.site-footer{padding-bottom:40px;}
.footer-top{grid-template-columns:2.2fr 1fr;gap:55px;padding-bottom:36px;align-items:start;}
.footer-tagline{font-size:14px;color:var(--muted);padding-top:22px;}
.footer-title{font-size:14px;font-weight:600;padding-bottom:24px;}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 18px;}
.footer-links a,.footer-contact{font-size:13px;color:var(--muted);}
.footer-contact{display:block;padding-top:14px;}
.footer-bottom{border-top:1px solid var(--line);padding-top:28px;}
.footer-bottom p,.footer-bottom a{font-size:12px;color:var(--muted);}
.footer-bottom p+p{padding-top:12px;}
.credits{font-size:10px!important;padding-top:30px!important;}
.mobile-booking{display:none;}
/* ===== 공통 문의 모달 CSS ===== */
.contact-dialog{border:0;padding:32px;max-width:520px;width:calc(100% - 40px);margin:auto;color:var(--ink);background:white;}
.contact-dialog::backdrop{background:rgba(0,0,0,.5);}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;}
.dialog-top h2{font-size:25px;font-weight:600;}
.dialog-close{padding:8px;font-size:14px;}
.dialog-copy{color:var(--muted);font-size:16px;line-height:1.8;padding-bottom:28px;}
.contact-actions{display:grid;gap:12px;}
/* ===== 서브페이지 공통 레이아웃 CSS ===== */
/* Full site pages */
.header-account{display:flex;gap:15px;align-items:center;}
.header-account a{font-size:13px;white-space:nowrap;}
.footer-extra{padding-top:22px;}
/* ===== 서브페이지 · 본문 너비 및 현재 위치 CSS ===== */
.subpage{padding-block:24px 100px;min-height:65vh;}
.breadcrumb{display:flex;gap:12px;padding-block:12px 32px;}
.breadcrumb *{font-size:12px;color:var(--muted);}
/* ===== 서브페이지 · 타이틀 CSS ===== */
.page-heading{padding-bottom:40px;}
.page-heading h1{font-size:40px;line-height:1.4;font-weight:600;padding-top:20px;}
/* ===== 서브페이지 · 하위 메뉴 CSS ===== */
.subnav{display:flex;gap:12px;flex-wrap:wrap;padding-block:12px 32px;}
.subnav a{padding:11px 18px;border:1px solid var(--line);font-size:14px;}
.subnav a:hover,.subnav a.active{background:var(--green);color:white;border-color:var(--green);}
/* ===== 공통 입력 폼 CSS ===== */
.form-width{max-width:650px;margin-inline:auto;padding-block:24px;}
.form-card{padding:32px;border:1px solid var(--line);margin-block:24px;}
.form-card h2{font-size:22px;font-weight:600;padding-top:20px;}
/* ===== 로그인 · 회원가입 기본 레이아웃 CSS ===== */
.auth-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start;}
.auth-story{padding:56px 36px;background:var(--paper);}
.auth-story h2{font-size:35px;font-weight:600;line-height:1.5;padding-block:36px;}
.auth-story p:last-child{color:var(--muted);}
/* ===== 이용 안내 · 정보 패널 CSS ===== */
.info-panel{padding:32px;background:var(--paper);margin-block:24px;}
.info-panel h2{font-size:24px;font-weight:600;padding-bottom:20px;}
.info-panel p{font-size:16px;}
.info-rows{margin-block:24px;border-top:1px solid var(--line);}
.info-rows>div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 10px;border-bottom:1px solid var(--line);}
.info-rows dt{font-size:14px;color:var(--muted);}
.info-rows dd{font-size:16px;}
/* ===== 프로그램 및 게시판 · 카드 목록 CSS ===== */
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-block:26px;}
.content-card{border:1px solid var(--line);overflow:hidden;}
.content-card img{width:100%;aspect-ratio:1.4;object-fit:cover;}
.card-body{padding:26px;}
.card-body h2,.card-body h3{font-size:23px;font-weight:600;line-height:1.5;padding-block:20px 15px;}
.card-body p{font-size:14px;color:var(--muted);}
.card-body small{display:block;padding-top:20px;font-size:12px;color:var(--muted);}
/* ===== 프로그램 상세 · 이미지와 본문 CSS ===== */
.content-picture{width:100%;max-height:540px;object-fit:cover;margin-block:24px;}
.detail-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding-block:20px;}
/* ===== 공통 빈 화면 CSS ===== */
.empty-state{border:1px solid var(--line);text-align:center;padding:70px 30px;margin-block:25px;}
.empty-state h2{font-size:25px;font-weight:600;}
.empty-state p{font-size:15px;color:var(--muted);padding-top:20px;}
/* ===== 게시판 · 검색 CSS ===== */
.search-form{display:flex;align-items:center;gap:16px;padding-block:24px;}
.search-form label{font-size:14px;flex-shrink:0;}
.search-form input{max-width:480px;}
.search-form button{flex-shrink:0;}
/* ===== 예약 내역 · 목록 카드 CSS ===== */
.record-list{display:flex;flex-direction:column;gap:20px;padding-block:24px;}
.record-card{display:flex;justify-content:space-between;align-items:center;gap:26px;border:1px solid var(--line);padding:28px;}
.record-card h2{font-size:23px;font-weight:600;padding-block:15px;}
.record-card p{font-size:14px;color:var(--muted);}
/* ===== 예약하기 · 날짜 선택 달력 CSS ===== */
.calendar-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.calendar-box{border:1px solid var(--line);padding:28px;}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:30px;}
.calendar-heading h2{font-size:23px;font-weight:600;}
.calendar-heading a{padding:8px 16px;font-size:26px;}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding-bottom:28px;}
.calendar-grid>*{display:grid;place-items:center;min-height:44px;font-size:15px;}
.calendar-grid .weekday{font-size:12px;color:var(--muted);}
.calendar-grid .available{background:var(--paper);border-radius:30px;}
.calendar-grid .available:hover{background:var(--green);color:white;}
.calendar-grid .unavailable{color:#b6b3ac;}
/* ===== 예약하기 · 시간 및 인원 선택 CSS ===== */
.slot-card{padding:24px;border:1px solid var(--line);}
.slot-card h3{font-size:17px;font-weight:600;padding-bottom:20px;}
.slot-form{display:flex;gap:20px;align-items:end;}
.slot-form label{flex:1;font-size:13px;}
.slot-form select{display:block;margin-top:10px;}
.slot-form .btn{font-size:14px;}
/* ===== 게시글 상세 · 정책 본문 CSS ===== */
.article-body,.policy-body{max-width:820px;margin-inline:auto;padding-block:20px;}
.article-body>h2,.policy-body h2{font-size:34px;font-weight:600;padding-block:24px;}
.article-meta{font-size:13px;color:var(--muted);padding-bottom:24px;}
.article-body>.body-copy{padding-block:28px;}
.stars{font-size:24px;color:var(--green);}
.policy-body>.preserve{font-size:16px;line-height:1.95;}
.pagination{display:flex;gap:16px;padding-block:24px;}
.menu-list{display:flex;flex-direction:column;gap:18px;}
.menu-list a{font-size:16px;}
/* ===== 관리자 · 목록 테이블 CSS ===== */
.table-wrap{overflow:auto;margin-block:28px;}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{font-size:13px;color:var(--muted);text-align:left;white-space:nowrap;background:var(--paper);}
.admin-table th,.admin-table td{padding:18px 16px;border-bottom:1px solid var(--line);vertical-align:top;}
.admin-table td{font-size:14px;max-width:380px;overflow-wrap:anywhere;}
.metric{padding:32px;background:var(--paper);display:flex;flex-direction:column;gap:24px;}
.metric span{font-size:16px;}
.metric strong{font-size:48px;font-weight:500;}
/* ===== 관리자 · 검색 및 필터 CSS ===== */
.filter-field{display:flex;flex-direction:column;gap:5px;font-size:12px;}
.filter-field input,.filter-field select{padding:12px;border:1px solid var(--line);min-height:52px;}
.search-form{flex-wrap:wrap;}
.search-form>input{flex:1;min-width:150px;}
/* ===== 공통 헤더 · 메뉴 간격 CSS ===== */
.site-header>.inner{gap:24px;flex-wrap:wrap;}
.brand{white-space:nowrap;}
.header-nav{gap:22px;flex-wrap:wrap;}
.header-nav a{white-space:nowrap;}
/* ===== 공통 콘텐츠 이미지 CSS ===== */
.asset-picture{display:block;min-width:0;}
.asset-picture img{width:100%;height:auto;object-fit:cover;object-position:center;}
.content-card .content-picture{margin:0;}
.asset-picture .content-picture{aspect-ratio:3/2;height:auto;}
.hero-video{object-position:60% center;}
/* ===== 브랜드 소개 페이지 · 갤러리와 스크롤 구성 CSS ===== */
/* Brand story: editorial photo gallery, native page scrolling. */
.brand-page>.page-heading{display:none;}
.brand-page{padding-top:30px;}
.brand-page>.subnav{margin-bottom:64px;}
.story-intro{padding:20px 0 64px;}
.story-intro h1{font-size:clamp(42px,5.5vw,88px);line-height:1.16;letter-spacing:-.065em;font-weight:500;padding:30px 0 40px;}
.story-intro-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;}
.story-intro-bottom p{line-height:1.9;color:var(--muted);}
.story-scroll{display:flex;gap:30px;align-items:center;font-size:13px;padding:12px 0;}
.story-scroll span{font-size:26px;}
.brand-story figure{min-width:0;}
.brand-story .story-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;}
.story-opening .story-photo{aspect-ratio:16/9;max-height:78svh;object-position:center 60%;}
.brand-story figcaption{display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.04em;color:var(--muted);padding:15px 0;}
.brand-story figcaption span{font-size:11px;color:inherit;letter-spacing:inherit;}
.story-index{display:flex;gap:36px;justify-content:center;padding:30px 0;border-bottom:1px solid var(--line);}
.story-index a{font-size:13px;padding:8px 0;border-bottom:1px solid transparent;}
.story-index a[aria-current]{color:var(--green);border-color:var(--green);}
.story-chapter{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center;padding:140px 0 60px;scroll-margin-top:40px;}
.story-copy h2,.story-people h2,.story-invitation h2{font-size:clamp(32px,3.4vw,54px);line-height:1.3;font-weight:500;padding:28px 0;}
.story-copy>p:not(.eyebrow){line-height:1.95;color:var(--muted);padding-bottom:22px;}
.story-copy .text-link{margin-top:20px;}
.story-chapter-reverse{grid-template-columns:1.2fr .8fr;}
.story-chapter-reverse .story-copy{order:2;}
.story-statement{text-align:center;padding:150px 0 30px;}
.story-statement>p:not(.eyebrow){font-size:clamp(30px,3.8vw,62px);line-height:1.5;padding:30px 0;}
.story-statement em{font:inherit;color:var(--green);font-style:normal;}
.story-statement>span{display:block;line-height:1.9;color:var(--muted);font-size:14px;}
.story-people{padding:140px 0 0;scroll-margin-top:30px;}
.story-people-heading{padding:0 0 54px;}
.story-people-heading>p:last-child{color:var(--muted);line-height:1.9;}
.story-people .story-photo{aspect-ratio:16/10;object-position:center;}
.story-invitation{text-align:center;padding:130px 0 100px;}
.story-invitation .btn{margin:20px 20px 0 0;}
.story-invitation .text-link{margin-top:20px;}
.story-motion [data-story-reveal]{transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.65,.25,1);}
.story-motion [data-story-reveal].story-pending{opacity:0;transform:translateY(38px);}
.story-motion [data-story-reveal].is-visible{opacity:1;transform:translateY(0);}
/* ===== 인사말 페이지 · 갤러리와 편지 CSS ===== */
/* Greeting gallery: a photographic welcome letter. */
.greeting-opening{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;align-items:center;padding:10px 0 80px;}
.greeting-welcome h1{font-size:clamp(38px,4.3vw,68px);line-height:1.3;font-weight:500;letter-spacing:-.06em;padding:28px 0;}
.greeting-welcome>p:not(.eyebrow){line-height:1.9;color:var(--muted);}
.greeting-welcome .story-scroll{margin-top:28px;}
.greeting-opening .story-photo{aspect-ratio:4/5;object-position:42% center;}
.greeting-letter{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:110px 6%;border-top:1px solid var(--line);scroll-margin-top:40px;}
.greeting-letter h2{font-size:clamp(32px,3.4vw,50px);font-weight:500;line-height:1.45;padding:28px 0;}
.greeting-rule{display:block;width:48px;height:1px;background:var(--green);margin-top:18px;}
.greeting-letter-body>p{font-size:18px;line-height:2.15;padding-bottom:30px;}
.greeting-signature{padding-top:30px;font-weight:500;}
.greeting-signature span{display:block;font-size:11px;letter-spacing:.16em;color:var(--muted);padding-bottom:12px;}
.greeting-pair{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:30px 0 100px;align-items:start;}
.greeting-pair figure:nth-child(2){padding-top:140px;}
.greeting-pair .story-photo{aspect-ratio:4/5;}
.greeting-ending{text-align:center;padding:90px 32px;background:var(--paper);}
.greeting-ending h2{font-size:clamp(30px,3.7vw,56px);line-height:1.4;font-weight:500;padding:28px 0;}
.greeting-ending>p:not(.eyebrow){color:var(--muted);line-height:1.9;}
.greeting-ending .actions{justify-content:center;align-items:center;padding-top:30px;gap:28px;}
.greeting-editor-note{font-size:11px;color:var(--muted);padding:26px 0 0;text-align:center;}
/* ===== YOSHEF 이야기 페이지 · 게시글 갤러리 CSS ===== */
/* YOSHEF journal: large lead photograph and open editorial cards. */
.journal-heading{padding:12px 0 55px;}
.journal-heading h1{font-size:clamp(38px,4.8vw,72px);font-weight:500;line-height:1.23;letter-spacing:-.055em;padding:24px 0;}
.journal-heading>p:last-child{color:var(--muted);line-height:1.9;}
.journal-tools{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--line);margin-bottom:38px;}
.journal-tools>p{font-size:14px;font-weight:500;}
.journal-tools>p>span{font-size:12px;color:var(--muted);padding-left:16px;}
.journal-search{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:8px 0;}
.journal-search-label{font-size:12px;color:var(--muted);}
.journal-search input{width:230px;min-width:0;background:transparent;font-size:13px;padding:8px;}
.journal-search button{font-size:12px;white-space:nowrap;background:transparent;padding:10px;cursor:pointer;}
.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 48px;}
.journal-featured{grid-column:1/-1;}
.journal-card-link{display:block;}
.journal-image{overflow:hidden;background:var(--paper);}
.journal-image img,.journal-image .journal-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease;}
.journal-featured .journal-image img{aspect-ratio:16/9;max-height:660px;object-position:center 58%;}
.journal-caption{padding:24px 0;}
.journal-featured .journal-caption{max-width:780px;padding:30px 0 48px;}
.journal-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;}
.journal-meta span,.journal-meta time{font-size:11px;color:var(--muted);letter-spacing:.08em;}
.journal-caption h2{font-size:27px;line-height:1.5;font-weight:500;padding:20px 0 14px;}
.journal-featured h2{font-size:36px;}
.journal-summary{color:var(--muted);font-size:15px;line-height:1.9;}
.journal-read{display:flex;align-items:center;gap:36px;padding-top:28px;font-size:13px;}
.journal-card-link:hover .journal-image img,.journal-card-link:focus-visible .journal-image img{transform:scale(1.025);}
.journal-card-link:hover h2{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;}
.journal-card-link:focus-visible{outline:2px solid var(--green);outline-offset:6px;}
.journal-end{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding:45px 0 20px;}
.journal-end>p{font-size:24px;}
.journal-empty{padding:60px 0;}
/* ===== YOSHEF 이야기 페이지 · 이미지 중심 레이아웃 CSS ===== */
/* Photograph-led journal revision. */
.story-journal .journal-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 0 24px;}
.story-journal .journal-heading h1{font-size:26px;line-height:1.5;padding:0;letter-spacing:-.04em;}
.journal-heading h1>span{display:inline-block;font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:400;padding-left:22px;}
.journal-search-toggle summary{font-size:12px;cursor:pointer;list-style:none;padding:8px 0;}
.journal-search-toggle[open]{flex-basis:380px;}
.journal-search-toggle .journal-search{margin-top:8px;}
.journal-photos{display:grid;gap:18px;}
.journal-diptych{grid-template-columns:1.5fr 1fr;}
.journal-featured .journal-photos .journal-image img{height:70svh;min-height:440px;max-height:820px;aspect-ratio:auto;object-position:center;}
.journal-featured .journal-companion img{object-position:48% center;}
.story-journal .journal-caption,.story-journal .journal-featured .journal-caption{max-width:none;display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding:18px 0 36px;}
.story-journal .journal-caption h2,.story-journal .journal-featured h2{font-size:19px;padding:0;line-height:1.6;font-weight:400;}
.journal-caption .journal-meta{flex-shrink:0;gap:26px;}
.journal-caption .journal-meta>span{font-size:20px;}
.story-journal .journal-grid{gap:42px 24px;}
.story-journal .journal-end{padding-top:28px;}
.story-journal .journal-end>p{font-size:17px;}
/* ===== YOSHEF 이야기 페이지 · 검색 영역 CSS ===== */
/* Always-visible story search, using the shared button palette. */
.journal-finder{width:390px;max-width:100%;flex-shrink:0;}
.journal-finder-label{display:block;font-size:11px;color:var(--muted);padding-bottom:8px;}
.journal-finder-controls{display:flex;gap:8px;align-items:stretch;}
.journal-finder-input{display:flex;flex:1;min-width:0;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);background:var(--paper);transition:border-color .2s;}
.journal-finder-input svg{flex-shrink:0;color:var(--muted);}
.journal-finder-input:focus-within{border-color:var(--green);outline:2px solid var(--green);outline-offset:2px;}
.journal-finder-input input{width:100%;min-width:0;min-height:46px;padding:10px 0;border:0;background:transparent;font-size:13px;outline:none;}
.journal-finder-input input::placeholder{color:var(--muted);}
.journal-finder-controls .btn{min-height:46px;padding:10px 20px;font-size:13px;cursor:pointer;}
.journal-search-result{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:18px 0 24px;}
.journal-search-result p,.journal-search-result strong,.journal-search-result span,.journal-search-result a{font-size:13px;}
.journal-search-result strong{font-weight:500;}
.journal-search-result p>span{padding-left:8px;color:var(--green);}
.journal-search-result a{color:var(--muted);white-space:nowrap;}
.journal-search-result a>span{padding-left:8px;}
/* ===== 공간 소개 페이지 · 공간 갤러리 CSS ===== */
/* Rental and space galleries share the site's inner and section navigation. */
.venue-intro{padding:12px 0 48px;}
.venue-intro-row{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end;padding-top:26px;}
.venue-intro h1{font-size:clamp(36px,4.4vw,68px);font-weight:500;letter-spacing:-.055em;line-height:1.27;}
.venue-intro-row p{color:var(--muted);line-height:1.9;}
.venue-intro .text-link{margin-top:24px;}
.venue-gallery .venue-photo{width:100%;height:auto;object-fit:cover;aspect-ratio:4/5;}
.venue-cover .venue-photo{aspect-ratio:16/9;max-height:720px;object-position:center;}
.venue-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:40px;padding:46px 0;border-bottom:1px solid var(--line);}
.venue-facts dt{font-size:64px;font-weight:500;line-height:1.2;}
.venue-facts dt span{font-size:17px;padding-left:8px;}
.venue-facts>div:last-child dt{font-size:30px;padding-top:21px;}
.venue-facts dd{font-size:13px;color:var(--muted);padding-top:16px;}
.venue-scene{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;align-items:center;padding:120px 0 30px;}
.venue-scene h2,.venue-guide h2,.venue-location h2{font-size:clamp(30px,3.3vw,50px);line-height:1.35;font-weight:500;padding:26px 0;}
.venue-scene-copy>p:not(.eyebrow),.venue-guide>div>p:last-child{line-height:1.95;color:var(--muted);padding-bottom:22px;}
.venue-scene-copy .text-link{margin-top:18px;}
.venue-scene-reverse{grid-template-columns:1.15fr .85fr;}
.venue-scene-reverse .venue-scene-copy{order:2;}
.venue-guide{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;padding:110px 0 60px;}
.venue-steps{list-style:none;}
.venue-steps li{display:grid;grid-template-columns:32px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);}
.venue-steps li>span{font-size:12px;color:var(--green);padding-top:5px;}
.venue-steps h3{font-size:21px;font-weight:500;padding-bottom:12px;}
.venue-steps p{font-size:14px;line-height:1.9;color:var(--muted);}
.venue-care{padding:36px;background:var(--paper);}
.venue-care h2{font-size:23px;font-weight:500;padding-bottom:16px;}
.venue-care p{color:var(--muted);line-height:1.9;padding-bottom:22px;}
.venue-location{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:90px 0 40px;}
.venue-location address{font-size:21px;font-style:normal;}
.venue-location>div>p:not(.eyebrow){font-size:14px;color:var(--muted);padding:18px 0 24px;}
.venue-invitation{text-align:center;padding:110px 0 40px;}
.venue-invitation h2{font-size:clamp(30px,3.5vw,52px);line-height:1.45;font-weight:500;padding:26px 0 32px;}
.venue-invitation .actions{justify-content:center;align-items:center;gap:28px;}
/* ===== 공간대여 안내 페이지 · 이용 안내와 예약 CSS ===== */
/* Rental decision guide; shared inner, breadcrumbs and submenu remain unchanged. */
.rental-guide-heading{padding:0 0 44px;}
.rental-guide-heading h1{font-size:clamp(32px,3.4vw,50px);font-weight:500;line-height:1.35;padding:22px 0;}
.rental-guide-heading>p:last-child{color:var(--muted);}
.rental-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;align-items:start;}
.rental-info-section{padding:30px 0;border-top:1px solid var(--line);}
.rental-info-section h2{font-size:23px;font-weight:500;padding-bottom:24px;}
.rental-info-section h2>span{font-size:12px;color:var(--green);padding-right:16px;}
.rental-pending{padding:20px;background:var(--paper);font-size:14px;line-height:1.9;}
.rental-info-list>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
.rental-info-list dt{font-size:14px;font-weight:500;}
.rental-info-list dd,.rental-info-section>p{font-size:14px;line-height:1.9;color:var(--muted);}
.rental-use-tags{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:22px;}
.rental-use-tags span{font-size:12px;padding:8px 12px;background:var(--paper);}
.rental-checks{padding-left:20px;}
.rental-checks li{font-size:14px;color:var(--muted);line-height:1.9;padding:5px 0;}
.rental-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:decimal;padding-left:20px;}
.rental-process strong{font-size:16px;font-weight:500;}
.rental-process p{font-size:13px;line-height:1.8;color:var(--muted);padding-top:12px;}
.rental-small-note{padding-top:22px;}
.rental-booking-panel{padding:28px;border:1px solid var(--line);background:var(--paper);}
.rental-booking-panel h2{font-size:26px;font-weight:500;padding:22px 0 16px;}
.rental-booking-panel>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9;}
.rental-booking-panel>.btn{width:100%;font-size:13px;padding-inline:14px;margin-top:22px;}
.rental-booking-panel>.btn+.btn{margin-top:10px;}
.rental-contact{text-align:center;padding:14px 0 24px;}
.rental-space-preview{border-top:1px solid var(--line);padding-top:24px;}
.rental-space-preview .rental-preview-image{aspect-ratio:3/2;object-fit:cover;}
.rental-space-preview p{font-size:13px;line-height:1.8;padding:16px 0 12px;}
.rental-space-preview .text-link{font-size:13px;}
.rental-space-preview small{display:block;font-size:10px;color:var(--muted);padding-top:12px;}
.rental-offers{display:grid;gap:18px;padding-bottom:12px;}
.rental-offers article{border:1px solid var(--line);padding:22px;}
.rental-offers h3{font-size:19px;font-weight:500;}
.rental-offer-price{font-size:25px;padding-top:12px;}
.rental-offer-price span{font-size:12px;}
.rental-offers article>p:not(.rental-offer-price){font-size:13px;color:var(--muted);padding:12px 0;}
/* ===== 브랜드 행사·협업 페이지 · 행사 갤러리 CSS ===== */
/* Corporate event portfolio. No page-specific inner or submenu overrides. */
.event-heading{padding:12px 0 42px;}
.event-heading>div{display:flex;gap:50px;align-items:end;justify-content:space-between;padding-top:26px;}
.event-heading h1{font-size:clamp(36px,4.4vw,66px);font-weight:500;line-height:1.27;letter-spacing:-.055em;}
.event-heading>div>p{color:var(--muted);font-size:14px;line-height:1.9;}
.event-sample-note{font-size:12px;color:var(--muted);padding-bottom:20px;}
.event-collection{display:grid;grid-template-columns:1fr 1fr;gap:70px 48px;}
.event-entry-lead,.event-interlude{grid-column:1/-1;}
.event-figure{overflow:hidden;}
.event-gallery .event-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .8s ease;}
.event-entry-lead .event-photo{aspect-ratio:16/9;max-height:730px;object-position:center 40%;}
.event-figure>a:hover .event-photo{transform:scale(1.025);}
.event-caption{padding:16px 0 0;}
.event-caption h2{font-size:29px;font-weight:500;line-height:1.45;padding:16px 0;}
.event-entry-lead .event-caption{display:grid;grid-template-columns:1.1fr 1fr;gap:0 70px;padding-top:20px;}
.event-entry-lead .event-caption .eyebrow{grid-column:1/-1;}
.event-entry-lead .event-caption h2{font-size:36px;}
.event-description{color:var(--muted);line-height:1.9;font-size:14px;}
.event-entry-lead .event-description{align-self:center;}
.event-interlude{text-align:center;padding:45px 0 20px;}
.event-interlude>p:last-child{font-size:clamp(30px,3.5vw,52px);line-height:1.5;padding-top:28px;}
.event-contact{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;background:var(--paper);padding:50px;margin-top:100px;}
.event-contact h2{font-size:35px;font-weight:500;line-height:1.4;padding-top:25px;}
.event-contact>div>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9;padding-bottom:26px;}
/* ===== 브랜드 행사·협업 페이지 · 짧은 소개 CSS ===== */
/* Compact captions keep corporate event photographs in focus. */
.event-gallery .event-heading-compact{display:flex;align-items:center;gap:24px;padding:8px 0 24px;}
.event-heading-compact h1{font-size:30px;line-height:1.4;}
.event-heading-compact .eyebrow{font-size:10px;}
.event-gallery .event-caption-compact,.event-entry-lead .event-caption-compact{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0;}
.event-gallery .event-caption-compact h2,.event-entry-lead .event-caption-compact h2{font-size:20px;font-weight:400;padding:0;line-height:1.6;}
.event-caption-compact .text-link{font-size:12px;white-space:nowrap;}
.event-gallery .event-collection{row-gap:42px;}
.event-gallery .event-contact-compact{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;margin-top:60px;}
.event-contact-compact h2{font-size:24px;padding:0;line-height:1.5;}
/* ===== 브랜드 행사·협업 페이지 · 비대칭 이미지 구성 CSS ===== */
/* Asymmetric event photo essay; all placement uses Grid and padding. */
.event-editorial .event-heading-compact{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:20px;justify-content:space-between;}
.event-editorial .event-collection{grid-template-columns:repeat(12,minmax(0,1fr));gap:70px 28px;align-items:start;}
.event-editorial .event-entry{min-width:0;}
.event-editorial .event-entry:nth-child(3n+1){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);grid-template-areas:'photo folio' 'photo caption';gap:24px 40px;}
.event-editorial .event-entry:nth-child(3n+2){grid-column:1/span 5;padding:34px 0 0;}
.event-editorial .event-entry:nth-child(3n){grid-column:7/-1;padding:150px 0 0;}
.event-folio{display:flex;flex-direction:column;gap:14px;padding-bottom:24px;}
.event-folio>span{font-size:70px;line-height:1;letter-spacing:-.07em;font-weight:300;color:var(--green);}
.event-folio>small{font-size:9px;letter-spacing:.12em;color:var(--muted);}
.event-editorial .event-entry:nth-child(3n+1) .event-folio{grid-area:folio;border-top:1px solid var(--green);padding-top:26px;}
.event-editorial .event-entry:nth-child(3n+1) .event-folio>span{font-size:clamp(90px,11vw,170px);}
.event-editorial .event-entry:nth-child(3n+1) .event-figure{grid-area:photo;}
.event-editorial .event-entry:nth-child(3n+1) .event-caption{grid-area:caption;align-self:end;padding-bottom:50px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;}
.event-editorial .event-entry:nth-child(3n+1) .event-caption h2{font-size:28px;line-height:1.4;}
.event-editorial .event-entry:nth-child(3n+1) .event-photo{aspect-ratio:5/4;max-height:none;object-position:center;}
.event-editorial .event-entry:nth-child(3n+2) .event-photo{aspect-ratio:4/5;}
.event-editorial .event-entry:nth-child(3n) .event-photo{aspect-ratio:6/5;}
.event-editorial .event-entry:not(:nth-child(3n+1)) .event-folio{flex-direction:row;justify-content:space-between;align-items:end;}
.event-editorial .event-entry:not(:nth-child(3n+1)) .event-folio>span{font-size:48px;}
.event-editorial .event-figure figcaption{padding-block:13px;font-size:10px;}
.event-editorial .event-figure figcaption>span:last-child{display:none;}
.event-editorial .event-contact-compact{background:var(--green);color:white;padding:40px;margin-top:100px;}
.event-editorial .event-contact h2{color:white;}
.event-editorial .event-contact .btn{background:var(--paper);color:var(--ink);}
/* ===== 브랜드 행사·협업 페이지 · 행사 날짜 CSS ===== */
/* Actual event schedule, separate from publication date. */
.event-date time{display:flex;flex-direction:column;gap:10px;}
.event-date .event-year{font-size:18px;letter-spacing:.08em;color:var(--muted);}
.event-date .event-month-day{font-size:clamp(36px,5.8vw,86px);line-height:1.05;letter-spacing:-.06em;font-weight:300;color:var(--green);}
.event-editorial .event-entry:not(:nth-child(3n+1)) .event-date time{flex-direction:row;align-items:baseline;gap:14px;}
.event-editorial .event-entry:not(:nth-child(3n+1)) .event-month-day{font-size:40px;}
.event-editorial .event-entry:nth-child(n) .event-date-missing{font-size:20px;letter-spacing:0;}
/* ===== 리뷰 · 레시피 페이지 · 정렬 선택 CSS ===== */
.review-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;}
.review-sort-select{flex-shrink:0;}
.review-sort-select select{width:76px;min-height:36px;padding:7px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;box-shadow:none;outline:none;transition:none;}
.review-sort-select select:focus-visible{outline:1px dotted var(--muted);outline-offset:3px;}
/* ===== 공통 푸터 · 전체 메뉴 CSS ===== */
.footer-sitemap{border-top:1px solid var(--line);padding:36px 0 40px;margin-top:0;scroll-margin-top:24px;}
.footer-sitemap>h2{font-size:19px;font-weight:500;padding-bottom:28px;}
.footer-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px 24px;}
.footer-menu-group h2{font-size:13px;font-weight:600;padding-bottom:14px;}
.footer-menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;}
.footer-menu-links a{font-size:12px;color:var(--muted);line-height:1.7;}
.footer-menu-links a:hover{color:var(--green);text-decoration:underline;}
.footer-menu-links a:focus-visible{outline:1px solid var(--green);outline-offset:4px;}
/* ===== 오시는 길 페이지 · 타이틀과 주소 CSS ===== */
/* Directions: shared inner width, editorial address and official Kakao map. */
.visit-page{padding-top:30px}
.visit-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:28px;align-items:end;padding:20px 0 56px}
.visit-intro h2{font-size:clamp(30px,3.2vw,50px);line-height:1.3;letter-spacing:-.06em}
.visit-intro>p:last-child{font-size:14px;line-height:1.9;color:var(--muted)}
.visit-layout{display:grid;grid-template-columns:1fr 1.25fr;align-items:stretch;background:var(--paper)}
.visit-address{padding:48px;display:flex;flex-direction:column;align-items:flex-start}
.visit-address .eyebrow{font-size:10px}
.visit-address h3{font-size:14px;color:var(--muted);padding:34px 0 12px}
.visit-address address{font-size:clamp(21px,2vw,30px);line-height:1.55;font-style:normal}
.visit-address-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px 0 28px}
.visit-address-actions button{background:transparent;cursor:pointer;font-size:12px}
.visit-copy-status{font-size:12px;color:var(--green)}
.visit-contact{width:100%;border-top:1px solid var(--line);padding:22px 0 30px}
.visit-contact>div{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:5px 0}
.visit-contact dt,.visit-contact dd,.visit-contact a{font-size:13px}
.visit-contact dt{color:var(--muted)}
.visit-contact a{overflow-wrap:anywhere;word-break:normal}
.visit-map-button{margin-top:auto;gap:30px;font-size:13px}
/* ===== 오시는 길 페이지 · 지도 CSS ===== */
.visit-map{min-width:0;display:flex;flex-direction:column;padding:28px;background:#ebe9e1}
.visit-map-image{display:flex;align-items:center;flex:1;min-height:310px;background:#f4f1e8}
.visit-map-image img{display:block;width:100%;height:auto;object-fit:contain}
.visit-map figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px}
.visit-map figcaption span{font-size:14px;font-weight:600;letter-spacing:0}
.visit-map figcaption a{font-size:12px}
.visit-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:64px 0 20px}
.visit-notes>div{border-top:1px solid var(--line);padding-top:24px}
.visit-notes .eyebrow{font-size:10px}
.visit-notes h3{font-size:21px;padding:20px 0 12px}
.visit-notes p{font-size:14px;line-height:1.9;color:var(--muted)}
.visit-notes .text-link{display:inline-block;font-size:12px;margin-top:24px}
/* ===== 오시는 길 페이지 · 지도 표시 영역 CSS ===== */
.visit-map-stage{flex:1;display:grid;min-height:350px}
.visit-map-canvas{width:100%;height:100%;min-height:350px}
.visit-map-canvas img{max-width:none}
.visit-map-fallback{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px;padding:32px;background:var(--paper)}
.visit-map-fallback h3{font-size:26px}
.visit-map-fallback>p:not(.eyebrow){font-size:13px;color:var(--muted)}
.visit-map-fallback .text-link{font-size:13px}
.visit-map-label{padding:10px 14px;font-size:12px;white-space:nowrap}
.visit-map [hidden]{display:none}
/* ===== 오시는 길 페이지 · 카카오 지도 CSS ===== */
/* Official user-supplied Kakao RoughMap; keep provider attribution visible. */
.visit-page{padding-top:8px}
.visit-layout{grid-template-columns:1fr 1.4fr}
.visit-map{padding:0;background:var(--paper);justify-content:center}
.visit-map .root_daum_roughmap{width:100%!important;box-sizing:border-box}
.visit-map .root_daum_roughmap .wrap_map{width:100%!important}
.visit-map .root_daum_roughmap img{max-width:none}
.visit-address{padding:36px}
.visit-address h3{padding-top:24px}
/* ===== 오시는 길 페이지 · 지도 하단 표시 CSS ===== */
/* Display the map only, without the separate provider toolbar or address panel. */
.visit-map .root_daum_roughmap .wrap_controllers,.visit-map .root_daum_roughmap>.cont{display:none!important}
.visit-map .root_daum_roughmap{border:0!important}
/* ===== 공통 푸터 · 연락처와 사업자 정보 CSS ===== */
/* Footer hierarchy: identity, sitemap, legal information. */
.footer-reach{justify-self:end;text-align:right}
.footer-reach .footer-title{font-size:10px;letter-spacing:.12em;padding-bottom:8px}
.footer-reach .footer-contact{padding-top:6px}
.footer-legal-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.footer-business{line-height:1.9}
.footer-business span{display:block;font-size:inherit;color:inherit}
.footer-policies{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px}
.footer-policies a{font-size:11px;line-height:1.9}
.footer-credits-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-top:24px}
.footer-credits-row p{font-size:10px;line-height:1.8}
.footer-credits-row p+p{padding-top:0}
/* ===== 이용약관 · 개인정보처리방침 · 취소 환불 정책 페이지 CSS ===== */
/* Readable legal documents; source wording is preserved. */
.legal-document{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,3fr);gap:7%;padding-top:16px;align-items:start}
.legal-sidebar{position:sticky;top:28px}
.legal-toc{border-top:2px solid var(--green);padding-top:20px}
.legal-toc summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc summary span{font-size:11px;font-weight:400;color:var(--muted)}
.legal-toc nav{display:flex;flex-direction:column;gap:2px;padding-top:18px}
.legal-toc nav a{display:flex;gap:12px;padding:9px 0;font-size:12px;line-height:1.6;color:var(--muted)}
.legal-toc nav a span{font-size:10px;color:var(--accent);letter-spacing:0;min-width:18px}
.legal-toc nav a:hover,.legal-toc nav a:focus-visible{color:var(--green);text-decoration:underline}
.legal-content{min-width:0}
.legal-introduction{padding:30px 32px;background:var(--paper);border-top:2px solid var(--green)}
.legal-introduction .eyebrow{font-size:10px;letter-spacing:.12em;padding-bottom:18px}
.legal-introduction>p:not(.eyebrow){font-size:15px;line-height:1.9}
.legal-introduction p+p:not(:nth-child(2)){padding-top:12px}
.legal-section{padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.legal-section h2{font-size:21px;line-height:1.5;font-weight:600;padding-bottom:20px}
.legal-copy p{font-size:14px;line-height:1.95;color:#59544e}
.legal-copy p+p{margin-top:12px}
.legal-end{display:flex;justify-content:space-between;gap:20px;padding-top:30px}
.legal-end a{font-size:12px}
/* ===== 마케팅 수신동의 페이지 · 동의 버튼 CSS ===== */
.legal-consent-action{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--paper);padding:28px;margin-top:32px}
.legal-consent-action h2{font-size:17px;font-weight:500}
.legal-consent-action p{font-size:13px;color:var(--muted);padding-top:10px}
.legal-consent-action .btn{font-size:12px;white-space:nowrap}
/* ===== 관리자 페이지 · 대시보드와 관리 화면 CSS ===== */
/* Admin workspace */
.admin-workspace{background:#f4f5f2}
.admin-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.admin-sidebar{background:#293c33;padding:36px 22px;display:flex;flex-direction:column;gap:38px}
.admin-logo{font-size:19px;font-weight:600;letter-spacing:-.03em;color:#fff}
.admin-logo span{display:block;font-size:9px;letter-spacing:.18em;color:#a7b7aa;padding-top:8px}
.admin-navigation{display:flex;flex-direction:column;gap:25px}
.admin-nav-group>p{font-size:13px;font-weight:700;line-height:1.6;color:#f3f5ef;letter-spacing:0;padding:0 12px 10px}
.admin-nav-item{display:block;color:#dce3dd;font-size:13px;padding:12px;border-radius:6px;margin-bottom:3px}
.admin-nav-item:hover{background:#354d40}
.admin-nav-item.is-current{background:#e8ece3;color:#263b2c;font-weight:600}
.admin-site-link{font-size:12px;color:#c6d1c8;border-top:1px solid #536157;padding-top:24px;margin-top:auto}
.admin-stage{min-width:0}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border-bottom:1px solid #e3e6df;padding:22px 40px}
.admin-topbar>p{font-size:11px;letter-spacing:.04em;color:#3c5142}
.admin-topbar>p span{font-size:11px;color:var(--muted);padding-left:12px}
.admin-user{display:flex;align-items:center;gap:18px}
.admin-user>span,.admin-user a,.admin-user button{font-size:11px;color:#62695f}
.admin-user button{background:transparent;cursor:pointer}
.admin-main{padding:40px;min-height:85vh}
.admin-page-title{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px}
.admin-page-title .eyebrow{font-size:9px;letter-spacing:.18em;padding-bottom:10px}
.admin-page-title h1{font-size:29px;font-weight:600;color:#283c30}
.admin-help-link{font-size:11px;color:#626e64}
.admin-overview{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 32px;background:#e8ede4;border-radius:8px;margin-bottom:24px}
.admin-overview h2{font-size:21px;font-weight:500;color:#2e4534}
.admin-overview p{font-size:12px;color:#667360;padding-top:8px}
.admin-overview>span{font-size:12px;letter-spacing:.02em;color:#59674f;white-space:nowrap}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}
.admin-metrics .metric{background:#fff;border:1px solid #e1e5dc;border-radius:8px;padding:24px;gap:18px}
.admin-metrics .metric>span{display:flex;justify-content:space-between;font-size:12px;color:#65705f}
.admin-metrics i{font-style:normal;font-size:13px;color:#79856f}
.admin-metrics strong{font-size:38px;line-height:1.2;color:#2f4435}
.admin-metrics strong small{font-size:12px;color:#7a8475;padding-left:8px}
.admin-metrics .metric p{font-size:10px;color:#899180}
.admin-panel{background:#fff;border:1px solid #e1e5dc;border-radius:8px;overflow:hidden;margin-bottom:26px}
.admin-panel>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px}
.admin-panel h2{font-size:17px;font-weight:600;color:#354535}
.admin-panel>header p{font-size:11px;color:#808677;padding-top:7px}
.admin-main .small-link{font-size:11px;color:#466347}
.admin-main .table-wrap{background:#fff;border:1px solid #e1e5dc;border-radius:8px;margin-block:22px}
.admin-panel .table-wrap{border:0;border-radius:0;margin:0}
.admin-main .admin-table{min-width:640px}
.admin-main .admin-table th{background:#f8f9f6;font-size:11px;font-weight:500;color:#7d8478;padding:15px 20px}
.admin-main .admin-table td{font-size:12px;padding:18px 20px;border-color:#edf0e8;vertical-align:middle;line-height:1.7}
.admin-main .admin-table tr:last-child td{border-bottom:0}
.admin-main .admin-table tbody tr:hover{background:#fafbf8}
.admin-status{display:inline-block;font-size:10px;padding:4px 9px;background:#edf2e8;color:#4e6545;border-radius:4px;white-space:nowrap}
.admin-dashboard-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
.admin-inquiry-list>a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 24px;border-top:1px solid #edf0e8}
.admin-inquiry-list strong{font-size:13px;font-weight:500}
.admin-inquiry-list p{font-size:11px;color:#808677;padding-top:6px}
.admin-empty{padding:36px 24px 52px;color:#899180;font-size:13px;text-align:center}
.admin-operating-note ol{list-style:none;padding:0 24px 24px;display:grid;gap:22px}
.admin-operating-note li{display:flex;gap:16px;align-items:flex-start}
.admin-operating-note li>span{font-size:11px;color:#7a8b6b;padding-top:3px}
.admin-operating-note h3{font-size:13px;font-weight:500}
.admin-operating-note li p{font-size:11px;color:#808677;padding-top:5px}
.admin-footer{padding:0 40px 24px;font-size:9px;letter-spacing:.05em;color:#91988b}
.admin-main .subnav{gap:8px;padding-bottom:18px;flex-wrap:wrap}
.admin-main .subnav a{background:#fff;border-color:#dde4d8;border-radius:5px;font-size:11px;padding:9px 13px}
.admin-main .subnav a:hover,.admin-main .subnav a.active{background:#e7eee0;color:#30492f}
.admin-main .btn{background:#354f3c;border-radius:5px;font-size:12px;padding:12px 20px}
.admin-main .btn-soft{background:#e9eee4;color:#354f3c}
.admin-main .form-width{max-width:840px;margin:0;padding-top:0}
.admin-main .form-card{background:#fff;border-color:#e1e5dc;border-radius:8px;padding:30px;gap:22px;margin-top:0}
.admin-main .form-field>span{font-size:12px;font-weight:500}
.admin-main .form-field input,.admin-main .form-field textarea,.admin-main .form-field select{font-size:13px;border:1px solid #dce2d6;border-radius:5px;background:#fdfefb;padding:11px 12px}
.admin-main .info-panel{background:#eaf0e4;border-radius:8px;padding:24px;margin-block:20px}
.admin-main .info-panel h2{font-size:16px}
.admin-main .info-panel p{font-size:12px}
.admin-main .info-rows{background:#fff;padding:0 24px;border-radius:8px;margin-bottom:24px}
.admin-main .info-rows dt,.admin-main .info-rows dd{font-size:13px}
.admin-main .search-form{background:#fff;border:1px solid #e1e5dc;padding:18px;border-radius:8px}
.admin-main .search-form label,.admin-main .search-form input{font-size:12px}
/* ===== 공통 푸터 · 채널 링크 CSS ===== */
.footer-channels{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px 16px;padding-top:20px}
.footer-channels a{font-size:11px;color:var(--green)}
.footer-channels a:hover{text-decoration:underline}
/* ===== 마이페이지 · 회원 정보 및 예약 관리 CSS ===== */
/* Member account */
.member-welcome{display:flex;justify-content:space-between;align-items:center;gap:28px;background:var(--paper);padding:36px 40px;margin-bottom:42px}
.member-welcome .eyebrow{font-size:10px;letter-spacing:.13em;padding-bottom:16px}
.member-welcome h2{font-size:27px;font-weight:500}
.member-welcome p:not(.eyebrow){font-size:13px;color:var(--muted);padding-top:12px}
.member-welcome>a{font-size:12px}
.member-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:6%}
.member-menu-label{font-size:10px;letter-spacing:.13em;color:var(--muted);padding:6px 0 20px}
.member-sidebar nav{display:flex;flex-direction:column;gap:4px}
.member-sidebar nav a{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;font-size:13px;color:var(--muted)}
.member-sidebar nav a span{font-size:12px}
.member-sidebar nav a.active{background:var(--green);color:#fff}
.member-sidebar nav a.active span{color:inherit}
.member-sidebar-bottom{display:flex;gap:22px;border-top:1px solid var(--line);padding:24px 0;margin-top:28px}
.member-sidebar-bottom a,.member-sidebar-bottom button{font-size:11px;color:var(--muted);background:transparent;cursor:pointer}
.member-content{min-width:0}
.member-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin-bottom:38px}
.member-stats a{padding:24px 28px}
.member-stats a+a{border-left:1px solid var(--line)}
.member-stats span{display:block;font-size:12px;color:var(--muted)}
.member-stats strong{display:block;font-size:30px;font-weight:500;color:var(--green);padding-top:12px}
.member-stats small{font-size:11px;color:var(--muted);padding-left:8px}
.member-section-heading{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}
.member-section-heading h2{font-size:23px;font-weight:500}
.member-section-heading p{font-size:13px;color:var(--muted);padding-top:10px}
.member-content .form-width{max-width:none;margin:0;padding:0}
.member-content .form-card{border:0;margin:0;padding:0;gap:26px}
.member-content .form-field>span{font-size:13px;font-weight:500}
.member-content .form-field input,.member-content .form-field textarea{font-size:14px;padding:14px 16px;background:#fcfcfa;border-color:var(--line)}
.member-content .form-card>.btn{align-self:flex-start;min-width:180px;font-size:13px;margin-top:8px}
.member-content .check-row span{font-size:13px}
.member-email{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid var(--line);padding-bottom:24px}
.member-email>span{grid-column:1/-1;font-size:13px;font-weight:500}
.member-email p{font-size:14px;overflow-wrap:anywhere}
.member-email small{font-size:11px;color:var(--green)}
.member-content .actions{border-top:1px solid var(--line);padding-top:24px;margin-top:32px}
.member-content .actions .btn{font-size:12px}
.member-content .info-panel{background:var(--paper);padding:24px;margin-bottom:28px}
.member-content .info-panel h2{font-size:18px;padding-bottom:10px}
.member-content .info-panel p{font-size:13px;line-height:1.8}
.member-content .subnav{gap:12px;padding-bottom:22px}
.member-content .subnav a{font-size:12px;padding:10px 14px}
.member-content .empty-state{border:0;background:var(--paper);padding:56px 24px;margin-bottom:24px}
.member-content .empty-state h2{font-size:21px}
.member-content .empty-state p{font-size:13px}
.member-content .record-card{padding:28px;margin-bottom:16px;border:1px solid var(--line)}
.member-content .record-card h2{font-size:20px;padding-block:14px 10px}
.member-content .record-card p{font-size:13px;color:var(--muted)}
.member-content .record-card .btn{font-size:12px;white-space:nowrap}
.member-content .info-rows dt,.member-content .info-rows dd{font-size:14px}
/* ===== 회원가입 페이지 · 입력 오류 모달 CSS ===== */
.register-dialog{width:460px;max-width:calc(100vw - 40px);border:0;padding:0;margin:auto;background:#fff;color:var(--ink);box-shadow:0 24px 80px #0003}
.register-dialog::backdrop{background:rgba(25,32,25,.5)}
.register-dialog-body{padding:36px}
.register-dialog .eyebrow{font-size:10px;letter-spacing:.12em;color:var(--green);padding-bottom:16px}
.register-dialog h2{font-size:23px;font-weight:500;line-height:1.4}
.register-dialog #register-dialog-message{font-size:14px;line-height:1.8;color:var(--muted);padding:20px 0 28px;white-space:pre-line}
.register-dialog .btn{width:100%;font-size:13px;background:var(--green)}
.form-field input[aria-invalid="true"]{border-color:#ad6252}
.error-message[hidden]{display:none}
/* ===== 로그인 · 회원가입 페이지 · 이미지 및 입력 영역 CSS ===== */
/* Login and registration */
.auth-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding:18px 0 64px;align-items:start}
.auth-editorial{background:var(--paper);min-width:0}
.auth-editorial-copy{padding:44px 38px 36px}
.auth-editorial .eyebrow,.auth-entry-intro .eyebrow{font-size:10px;letter-spacing:.14em;color:var(--green)}
.auth-editorial h2{font-size:38px;font-weight:400;line-height:1.35;padding:22px 0}
.auth-editorial-copy>p:last-child{font-size:13px;line-height:1.9;color:var(--muted)}
.auth-editorial-photo{display:block;width:100%;overflow:hidden}
.auth-editorial-photo img{display:block;width:100%;height:310px;object-fit:cover}
.auth-editorial-caption{font-size:9px;letter-spacing:.18em;padding:20px 38px;color:var(--muted)}
.auth-entry-panel{min-width:0;padding:30px 0}
.auth-entry-intro h2{font-size:30px;font-weight:500;padding:14px 0 10px}
.auth-entry-intro>p:last-child{font-size:13px;color:var(--muted)}
.auth-entry .form-card{border:0;padding:0;margin:32px 0 0;gap:22px}
.auth-entry .form-field{gap:8px}
.auth-entry .form-field>span{font-size:12px;font-weight:500}
.auth-entry .form-field input{background:#fbfaf7;border-color:var(--line);font-size:14px;min-height:52px;padding:14px 16px}
.auth-entry .form-field input::placeholder{color:#a29d94;font-size:12px}
.auth-entry .form-field input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.auth-entry .form-field small{font-size:10px}
.auth-recovery{align-self:flex-end;font-size:12px;color:var(--muted);margin-top:-6px}
.auth-entry .form-card>.btn{width:100%;font-size:13px;min-height:52px;background:var(--green);margin-top:4px}
.auth-entry-switch{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}
.auth-entry-switch p{font-size:12px;color:var(--muted)}
.auth-entry-switch a{font-size:13px;font-weight:500}
.auth-entry-switch a span{padding-left:14px;font-size:14px}
.auth-form-section{display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--line);padding-top:26px}
.auth-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.auth-section-heading h3{font-size:17px;font-weight:500}
.auth-section-heading>span{font-size:10px;color:var(--muted)}
.auth-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.auth-section-note{font-size:12px;color:var(--muted);margin-top:-10px}
.auth-entry-signup .form-card{gap:30px}
.auth-agreements{gap:16px}
.auth-agreement-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-agreement-row .check-row{gap:9px;min-width:0}
.auth-agreement-row .check-row span{font-size:12px}
.auth-agreement-row .small-link{font-size:10px;color:var(--muted);white-space:nowrap}
.auth-agreement-row input{accent-color:var(--green);flex-shrink:0}
/* ===== 문의하기 페이지 · 문의 종류와 입력 폼 CSS ===== */
/* Inquiry pages */
.inquiry-studio{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:8%;align-items:start;padding:16px 0 56px}
.inquiry-editorial{background:var(--paper);min-width:0}
.inquiry-editorial-copy{padding:40px 32px}
.inquiry-editorial .eyebrow,.inquiry-form-heading .eyebrow,.inquiry-receipt>.eyebrow{color:var(--green);font-size:10px;letter-spacing:.14em}
.inquiry-editorial h2{font-size:34px;font-weight:400;line-height:1.4;padding:24px 0}
.inquiry-editorial-copy>p:last-child{font-size:13px;line-height:1.9;color:var(--muted)}
.inquiry-editorial .asset-picture{display:block}
.inquiry-photo{display:block;width:100%;height:300px;object-fit:cover}
.inquiry-process{padding:28px 32px}
.inquiry-process>p:first-child{font-size:13px;font-weight:500}
.inquiry-process ol{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:20px 0;border-bottom:1px solid var(--line)}
.inquiry-process li{font-size:12px}
.inquiry-process li span{display:block;font-size:10px;color:var(--muted);padding-bottom:7px}
.inquiry-process>p:last-child{font-size:11px;color:var(--muted);padding-top:16px}
.inquiry-panel{min-width:0;padding-top:18px}
.inquiry-form-heading h2{font-size:28px;font-weight:500;padding:14px 0 10px}
.inquiry-form-heading>p:last-child{font-size:13px;line-height:1.8;color:var(--muted)}
.inquiry-panel .form-card{padding:0;border:0;margin:30px 0 0;gap:30px}
.inquiry-fields{display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--line);padding-top:24px}
.inquiry-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.inquiry-section-title h3{font-size:17px;font-weight:500}
.inquiry-section-title>span{font-size:10px;color:var(--muted);text-align:right}
.inquiry-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.inquiry-panel .form-field{gap:8px}
.inquiry-panel .form-field>span{font-size:12px;font-weight:500}
.inquiry-panel .form-field small{font-size:10px;color:var(--muted)}
.inquiry-panel .form-field input,.inquiry-panel .form-field textarea{background:#fbfaf7;border-color:var(--line);font-size:14px;padding:14px 16px;min-width:0}
.inquiry-panel .form-field textarea{min-height:156px;line-height:1.8}
.inquiry-panel .form-field input:focus-visible,.inquiry-panel .form-field textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.inquiry-attachment input[type=file]{font-size:11px;padding:14px;max-width:100%}
.inquiry-attachment input::file-selector-button{background:#e8e9df;color:var(--ink);border:0;padding:9px 12px;margin-right:12px;font:inherit;cursor:pointer}
.inquiry-consent{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:4px}
.inquiry-consent .check-row{gap:8px}
.inquiry-consent .check-row span{font-size:11px;line-height:1.7}
.inquiry-consent input{accent-color:var(--green);flex-shrink:0}
.inquiry-consent .small-link{font-size:10px;white-space:nowrap;color:var(--muted)}
.inquiry-panel .form-card>.btn{width:100%;min-height:52px;font-size:13px;background:var(--green)}
.inquiry-receipt{max-width:720px;margin:16px auto 40px;padding:56px;background:var(--paper)}
.inquiry-receipt h2{font-size:34px;font-weight:400;line-height:1.4;padding:24px 0}
.inquiry-receipt-note{font-size:14px;line-height:1.9;color:var(--muted);padding-bottom:30px}
.inquiry-receipt .info-rows{margin:0 0 30px}
.inquiry-receipt .info-rows dt,.inquiry-receipt .info-rows dd{font-size:13px}
.inquiry-receipt .actions{gap:12px}
.inquiry-receipt .btn{font-size:12px}
/* ===== 메인 페이지 · 현재 메인 디자인 CSS ===== */
/* Editorial home */
.home-design{background:#faf9f5}
.home-design .site-header{background:#faf9f5}
.home-editorial .home-kicker{font-size:12px;letter-spacing:.15em;font-weight:500}
.home-editorial .home-serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:.96}
.home-serif em{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;font-style:italic;color:inherit}
.home-film{display:grid;isolation:isolate;background:#292c22}
.home-film>video,.home-film-shade,.home-film-content{grid-area:1/1;min-width:0}
.home-film>video{height:100%;width:100%;min-height:710px;max-height:900px;object-fit:cover}
.home-film-shade{background:linear-gradient(90deg,#151c14b0,#151c1420 85%),linear-gradient(0deg,#151c1466,transparent 50%)}
.home-film-content{z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding-block:38px 28px;min-height:710px}
.home-film .home-kicker{color:#f6f1e8}
.home-film-title{padding:48px 0 36px}
.home-film-title .home-serif{font-size:clamp(84px,9.5vw,156px);color:#f5f0e6}
.home-film h1{font-size:23px;font-weight:400;line-height:1.65;color:#fff;padding:30px 0}
.home-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 25px;border-radius:40px;background:#f8f5e9;color:#273729;font-size:14px;min-height:54px;transition:background .2s,transform .2s}
.home-pill:hover{background:#dfd9be;transform:translateY(-2px)}
.home-pill>span{font-size:22px;color:inherit}
.home-film-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.home-film-bottom>p{font-size:12px;letter-spacing:.08em;color:#fff}
.home-film-bottom>p span{font-size:12px;color:#d7d9ce;padding-left:28px;letter-spacing:.08em}
.home-film-bottom>div{display:flex;gap:14px;align-items:center}
.home-booking{display:grid;grid-template-columns:1.2fr repeat(3,1fr);border-bottom:1px solid var(--line);padding-block:32px;gap:0}
.home-booking>p{font-size:14px;color:var(--muted);line-height:1.7}
.home-booking>p strong{font-size:17px;font-weight:500}
.home-booking>a{border-left:1px solid var(--line);padding:8px 24px;display:flex;align-items:center;gap:16px}
.home-booking>a>span:first-child{font-family:Georgia,serif;font-size:14px;color:var(--muted)}
.home-booking strong{font-size:20px;font-weight:500}
.home-booking-arrow{margin-left:auto;font-size:24px;color:var(--green)}
.home-booking a:hover strong{text-decoration:underline;text-underline-offset:6px}
.home-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:48px}
.home-editorial h2{font-size:46px;font-weight:400;line-height:1.3;letter-spacing:-.06em}
.home-section-head h2{padding-top:20px}
.home-section-head>p{font-size:16px;line-height:1.9;color:var(--muted)}
.home-experiences{padding-block:115px 100px}
.home-experience-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-experience-card:nth-child(2){padding-top:70px}
.home-experience-card:nth-child(3){padding-top:140px}
.home-photo-wrap{overflow:hidden}
.home-card-photo{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s}
.home-experience-card:hover .home-card-photo{transform:scale(1.035)}
.home-card-meta{display:flex;justify-content:space-between;align-items:center;padding:20px 0 12px}
.home-card-meta span{font-size:12px;letter-spacing:.02em;color:var(--muted)}
.home-card-meta span:last-child{font-size:24px;color:var(--green)}
.home-experience-card h3{font-size:25px;font-weight:500}
.home-experience-card>p{font-size:14px;color:var(--muted);padding-top:12px}
.home-manifesto{padding:55px 0 120px;border-top:1px solid var(--line)}
.home-manifesto h2{font-size:clamp(42px,5.8vw,90px);padding:44px 0 42px;line-height:1.25}
.home-manifesto h2 span{font-size:inherit;color:#8a927c;font-weight:inherit}
.home-manifesto-bottom{display:flex;justify-content:flex-end;align-items:flex-end;gap:70px}
.home-manifesto-bottom p{font-size:16px;line-height:1.9;color:var(--muted)}
.home-line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:10px;white-space:nowrap}
.home-line-link span{font-size:21px;color:inherit}
.home-space{background:#263b30;padding-block:100px;color:#f5f0e6}
.home-space-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}
.home-space-photo{width:100%;aspect-ratio:4/5;object-fit:cover}
.home-space-image>span{display:block;font-size:12px;color:#c0c7b9;letter-spacing:.08em;padding-top:18px}
.home-space-copy .home-kicker{color:#c0c7b9}
.home-space-copy .home-serif{font-size:clamp(40px,4.5vw,76px);color:#f0ecdd;padding:35px 0}
.home-space-copy h2{font-size:27px;color:#f5f0e6;line-height:1.6}
.home-space-copy>p:not([class]){font-size:15px;color:#c7cec3;line-height:1.9;padding:22px 0 32px}
.home-space-copy .home-line-link{color:#f5f0e6;margin-right:30px;margin-bottom:28px}
.home-space-copy .home-pill{display:flex;max-width:270px}
.home-collab{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center;padding-block:120px}
.home-collab h2{padding:28px 0}
.home-collab-copy>p:not([class]){font-size:16px;line-height:1.9;color:var(--muted)}
.home-collab-copy>div{display:flex;flex-wrap:wrap;gap:28px;padding-top:30px}
.home-team-photo{width:100%;aspect-ratio:1.05;object-fit:cover;border-radius:48% 48% 0 0}
.home-journal{border-top:1px solid var(--line);padding-block:75px 100px}
.home-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-journal-card .content-picture{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover}
.home-journal-card>p{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding:22px 0 12px}
.home-journal-card>p span{font-size:12px;color:var(--muted);letter-spacing:.04em}
.home-journal-card h3{font-size:21px;font-weight:500;line-height:1.5}
.home-faq{display:grid;grid-template-columns:1fr 1.25fr;gap:8%;border-top:1px solid var(--line);padding-block:65px 100px}
.home-faq h2{font-size:30px;padding:24px 0 30px}
.home-faq .faq-list summary{font-size:16px}
.home-invitation{background:#e9e9de;text-align:center;padding-block:80px 90px}
.home-invitation h2{font-size:72px;padding:30px 0;line-height:1.15}
.home-invitation h2 em{font-size:inherit;font-weight:400;color:var(--green);font-style:normal}
.home-invitation .home-pill{background:var(--green);color:#fff}
.home-design .site-footer{padding-top:65px}
.home-design .mobile-booking{display:none}

/* 헤더 · 푸터 브랜드 로고 */
.site-header{padding-block:8px;}
.site-header .brand{display:flex;flex-shrink:0;align-items:center;}
.footer-brand .brand{display:inline-flex;}
.footer-brand .brand-logo{width:180px;height:180px;}

/* 메인 페이지 · 소셜다이닝 브랜드 표기 */
.home-experience-card h3 .home-social-name{display:inline-block;padding-left:8px;font-size:15px;font-weight:400;letter-spacing:.01em;color:var(--muted);vertical-align:baseline;}


/* 예약하기 페이지 · 프로그램 검색 및 일정 필터 */
.program-filters{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:32px;padding:0 0 30px;margin:36px 0 36px;border-bottom:1px solid var(--line);}
.program-filter-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.program-filter-field>span{font-size:11px;font-weight:400;color:var(--muted);letter-spacing:0;}
.program-filter-field input,.program-filter-field select{box-sizing:border-box;display:block;width:100%;min-width:0;height:42px;padding:8px 0;background:transparent;border:0;border-bottom:1px solid #bcbeb3;border-radius:0;font-size:14px;color:var(--ink,#2c1e1c);}
.program-filter-field input::placeholder{color:#8b8b80;font-size:14px;}
.program-filter-field input:focus-visible,.program-filter-field select:focus-visible{outline:2px solid var(--green);outline-offset:3px;}
.program-filter-field input[type=month]{appearance:auto;min-height:42px;}
.program-filter-actions{display:flex;align-items:center;gap:18px;min-height:42px;}
.program-filter-actions .btn{min-height:42px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--green);font-size:14px;font-weight:500;white-space:nowrap;gap:14px;}
.program-filter-actions .btn:hover{background:transparent;text-decoration:underline;text-underline-offset:5px;}
.program-filter-actions .btn span{color:inherit;}
.program-filter-actions>a{font-size:11px;color:var(--muted);white-space:nowrap;}
.program-filter-actions>a:hover{text-decoration:underline;text-underline-offset:4px;}

/* 관리자 · 대여 안내 구역별 편집 */
.rental-editor{max-width:1080px;}.rental-editor-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;}.rental-editor-intro h2{font-size:19px;font-weight:600;}.rental-editor-intro p{font-size:13px;color:var(--muted);padding-top:8px;}.rental-editor-intro .btn{flex-shrink:0;}.rental-editor-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:20px;background:#edf1e9;border:1px solid #dce2d6;border-radius:10px;margin-bottom:32px;}.rental-editor-map a{display:flex;justify-content:space-between;gap:10px;padding:15px;background:white;border:1px solid #dce2d6;border-radius:6px;font-size:13px;}.rental-editor-map a:hover{border-color:var(--green);}.rental-editor .form-card{border:0;background:none;padding:0;margin:0;gap:24px;}.rental-edit-section{background:#fff;border:1px solid #e0e5dc;border-radius:12px;overflow:hidden;scroll-margin-top:30px;}.rental-edit-section>header{padding:24px 28px;background:#f4f6f0;border-bottom:1px solid #e0e5dc;}.rental-edit-section h2{font-size:18px;font-weight:600;}.rental-edit-section header p{font-size:12px;color:var(--muted);padding-top:6px;}.rental-edit-fields{display:grid;gap:24px;padding:28px;}.rental-edit-fields .form-field{gap:8px;}.rental-edit-fields textarea{min-height:96px;resize:vertical;}.rental-edit-fields .form-field>small{font-size:12px;color:var(--muted);}.rental-edit-step{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:12px;}.rental-editor-save{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;}.rental-editor-save p{font-size:13px;color:var(--muted);}

/* 대여 안내 · 예약 확정 알림 박스 */
.rental-booking-notice{display:grid;gap:10px;padding:22px 24px;margin-top:24px;background:#eff2ec;border:1px solid #dce2d7;border-left:3px solid var(--green);border-radius:4px;}
.rental-booking-notice>strong{font-size:13px;font-weight:600;color:var(--green);}
.rental-booking-notice>p{font-size:14px;line-height:1.8;color:var(--muted);}

/* ===== 관리자 공통 · 입력 항목 라벨과 안내문 ===== */
.admin-shell>* ,.admin-main>* ,.admin-main .form-field,.admin-panel,.admin-cell-content{min-width:0;}
.admin-main .form-field>span{font-size:16px;font-weight:650;line-height:1.5;}
.admin-main .form-field>span small{font-size:11px;font-weight:400;margin-left:5px;}
.admin-main .form-field>small,.admin-main .admin-field-hint,.admin-main .form-card>.body-copy,.rental-edit-section>header p,.rental-editor-intro p,.rental-editor-save p{font-size:12px;line-height:1.7;color:#70776d;}
.admin-main .form-field input,.admin-main .form-field textarea,.admin-main .form-field select{width:100%;min-width:0;max-width:100%;}
.admin-main .form-field textarea{resize:vertical;}
.admin-main .info-rows dd,.admin-cell-content{overflow-wrap:anywhere;}
.admin-cell-content .small-link{display:inline-block;padding:7px 3px;margin-right:8px;}
.admin-main .table-wrap{max-width:100%;}

/* 관리자 메뉴 · 모바일 접기 / 펼치기 */
.admin-menu-disclosure>summary{display:none;}
