/* 모든 페이지의 반응형 스타일 · 기본 스타일은 page.css, 공통 기본값은 reset.css에서 관리 */
/* All responsive overrides, including acreve tablet/mobile utilities. */
/* 반응형 적용 조건: (max-width:1200px) */
@media(max-width:1200px){
 .tdf{display:flex;}
.tdg{display:grid;}
.tFDc{flex-direction:column;}
.tAc{align-items:center;}
 .inner{width:88dvw;}
.header-nav{gap:22px;}
.title-xl{font-size:54px;}
.title-lg{font-size:36px;}
 .hero-content{padding-inline:max(32px,calc(6dvw - 24px));}
.booking-choice{padding:28px 20px;gap:12px;}
 .choice-title{font-size:21px;}
.choice-description{font-size:13px;}
.experience-grid{gap:32px;}
 .space-grid,.team-grid{gap:8%;}
.space-numbers dt{font-size:64px;}
.closing-box{padding:36px;}
 .closing-box h2{font-size:30px;}
.footer-top{gap:32px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){
 .header-nav,.account-link{display:none;}
.menu-toggle{display:block;font-size:15px;padding:10px 0 10px 20px;}
 .intro-heading,.experience-grid,.space-grid,.team-grid,.faq-grid{grid-template-columns:1fr;gap:40px;}
 .intro-heading{padding-bottom:40px;}
.experience-image{max-height:520px;}
.space-numbers{max-width:520px;}
 .team-actions{flex-direction:row;align-items:center;flex-wrap:wrap;}
.closing-box{flex-direction:column;align-items:flex-start;}
 .booking-choice{grid-template-columns:1fr;}
.choice-number{padding:0;}
.footer-top{grid-template-columns:1fr 1fr;}
 .footer-brand{grid-column:auto;}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){
 .mdf{display:flex;}
.mdg{display:grid;}
.mFDc{flex-direction:column;}
.mAc{align-items:center;}
 .inner{width:calc(100% - 48px);}
.section-pad{padding-block:72px;}
.site-header{padding-block:16px;}
.brand{font-size:22px;}
 .hero{padding-inline:12px;}
.hero-video{min-height:570px;}
.hero-content{padding:44px 20px 20px;}
 .hero-copy{padding-top:76px;}
.title-xl{font-size:34px;line-height:1.43;}
.hero-description{font-size:14px;padding-block:35px 32px;}
 .hero-content .eyebrow{font-size:10px;}
.hero-controls{padding-top:62px;}
.hero-shade{background:rgba(0,0,0,.30);}
 .booking-shortcuts{margin-top:20px;grid-template-columns:1fr;border:0;}
.booking-choice{grid-template-columns:24px 1fr;padding:26px 0;gap:14px;border-bottom:1px solid var(--line);}
 .booking-choice+.booking-choice{border-left:0;}
.choice-number{padding-top:6px;}
.choice-title{font-size:22px;}
.choice-description{padding-block:8px 12px;}
.choice-action{font-size:13px;}
 .title-lg{font-size:31px;}
.title-md{font-size:26px;}
.body-copy{font-size:15px;}
.intro-lead{font-size:20px;}
 .intro-heading{gap:24px;}
.experience-grid{gap:30px;}
.experience-image{aspect-ratio:1.19;}
.experience-content .title-md{padding-block:20px 25px;}
 .experience-links{padding-top:25px;}
.space-numbers dt{font-size:58px;}
.space-numbers{gap:24px;}
.space-numbers dt span{font-size:16px;}
 .space-copy .title-lg{padding-block:24px;}
.space-grid{gap:36px;}
.space-detail p{font-size:17px;}
.space-detail address{font-size:13px;}
 .team-grid{gap:30px;}
.team-lead{font-size:20px;}
.team-actions{flex-direction:column;align-items:stretch;}
.team-actions .text-link{align-self:flex-start;}
 .faq-grid{gap:18px;}
.faq-list summary{font-size:14px;gap:12px;}
.faq-answer{font-size:14px;}
 .closing{padding-bottom:62px;}
.closing-box{padding:28px 24px;gap:24px;}
.closing-box h2{font-size:26px;}
.closing-box p{font-size:14px;}
.closing-box .btn{width:100%;}
 .footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:32px;}
.footer-brand{grid-column:auto;}
.footer-title{padding-bottom:16px;}
 .site-footer{padding-bottom:128px;}
.footer-bottom p{font-size:11px;}
.credits{line-height:1.8;}
 /* Fixed positioning is limited to the viewport-level reservation bar. */
 .mobile-booking{display:flex;position:fixed;inset:auto 0 0;z-index:10;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);}
 .mobile-booking .btn-soft{padding-inline:20px;}
.mobile-booking .btn:last-child{flex:1;}
.mobile-booking .btn{min-height:52px;}
 .contact-dialog{padding:24px;}
.dialog-top h2{font-size:22px;}
}
/* 반응형 적용 조건: (max-width:360px) */
@media(max-width:360px){.inner{width:calc(100% - 32px);}
.hero-content{padding-inline:16px;}
.title-xl{font-size:30px;}
.btn{padding-inline:20px;}
.space-numbers dt{font-size:52px;}
}
/* 반응형 적용 조건: (prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
*,*::before,*::after{transition:none!important;}
}
/* Full-site responsive overrides */
/* 반응형 적용 조건: (max-width:1200px) */
@media(max-width:1200px){.header-nav{gap:20px;}
.header-account{gap:10px;}
.header-account a{font-size:12px;}
.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.auth-layout,.detail-split,.calendar-layout{gap:30px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.header-account{display:none;}
.auth-layout,.detail-split,.calendar-layout{grid-template-columns:1fr;}
.auth-story{padding:30px;}
.auth-story h2{font-size:30px;padding-block:24px;}
.record-card{align-items:flex-start;}
.info-rows>div{grid-template-columns:120px 1fr;gap:16px;}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.subpage{padding-block:12px 64px;}
.page-heading{padding-bottom:25px;}
.page-heading h1{font-size:29px;padding-top:16px;}
.breadcrumb{padding-bottom:22px;}
.subnav{gap:8px;}
.subnav a{font-size:12px;padding:9px 12px;}
.form-card{padding:24px 18px;gap:22px;}
.form-width{padding:0;}
.auth-story{display:none;}
.info-panel{padding:24px;}
.info-panel h2{font-size:22px;}
.info-panel p{font-size:14px;}
.info-rows>div{grid-template-columns:1fr;gap:8px;padding:18px 0;}
.info-rows dd{font-size:15px;}
.card-grid{grid-template-columns:1fr;}
.record-card{flex-direction:column;padding:24px;}
.record-card h2{font-size:21px;}
.record-card .btn{width:100%;}
.search-form{flex-wrap:wrap;gap:10px;}
.search-form label{width:100%;}
.search-form input{flex:1;min-width:0;}
.search-form .btn{padding-inline:18px;}
.calendar-box{padding:18px 12px;}
.calendar-grid{gap:3px;}
.calendar-grid>*{min-height:36px;font-size:13px;}
.calendar-box .body-copy{padding-inline:10px;}
.slot-card{padding:20px;}
.slot-form{gap:12px;}
.slot-form .btn{padding-inline:18px;}
.article-body>h2,.policy-body h2{font-size:28px;}
.policy-body>.preserve{font-size:14px;}
.actions .btn{flex:1;}
.admin-table th,.admin-table td{padding:14px 12px;font-size:12px;}
.metric{padding:24px;}
.footer-extra{padding-bottom:15px;}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.search-form .filter-field{width:auto;flex:1;}
.search-form>input{min-width:120px;}
}
/* 반응형 적용 조건: (min-width:901px) and (max-width:1500px) */
@media(min-width:901px) and (max-width:1500px){.header-nav{order:3;width:100%;justify-content:center;padding-top:12px;border-top:1px solid var(--line);}
.header-account{margin-left:auto;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.asset-picture .experience-image{aspect-ratio:4/5;max-height:none;object-position:50% 50%;}
.asset-picture .content-picture{aspect-ratio:4/3;max-height:none;object-position:center;}
.content-card .asset-picture img{aspect-ratio:4/3;}
.hero-video{object-position:62% center;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.brand-page>.subnav{margin-bottom:30px;}
.story-chapter,.story-chapter-reverse{grid-template-columns:1fr;gap:38px;padding:80px 0 0;}
.story-chapter-reverse .story-copy{order:0;}
.story-chapter .story-photo{aspect-ratio:4/3;}
.story-statement{padding:100px 0 0;}
.story-people{padding-top:90px;}
.story-invitation{padding:90px 0 60px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.story-intro{padding:12px 0 36px;}
.story-intro h1{font-size:40px;padding:24px 0;}
.story-intro-bottom{display:block;}
.story-scroll{padding-top:24px;}
.story-opening .story-photo{aspect-ratio:4/5;max-height:none;}
.story-index{gap:24px;padding:18px 0;}
.story-copy h2,.story-people h2,.story-invitation h2{font-size:32px;}
.story-statement>p:not(.eyebrow){font-size:28px;}
.story-statement>span{font-size:13px;}
.story-people .story-photo{aspect-ratio:4/5;}
.story-people-heading{padding-bottom:32px;}
.story-invitation .btn{margin-right:0;}
.story-invitation .text-link{display:block;}
.brand-story figcaption{font-size:10px;}
.story-motion [data-story-reveal].story-pending{transform:translateY(20px);}
}
/* 반응형 적용 조건: (prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce){.story-motion [data-story-reveal],.story-motion [data-story-reveal].story-pending{opacity:1;transform:none;transition:none;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.greeting-opening{gap:6%;}
.greeting-welcome h1{font-size:38px;}
.greeting-letter{padding:80px 0;gap:8%;}
.greeting-letter-body>p{font-size:16px;}
.greeting-pair figure:nth-child(2){padding-top:80px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.greeting-opening{grid-template-columns:1fr;gap:32px;padding-bottom:50px;}
.greeting-welcome h1{font-size:36px;padding:24px 0;}
.greeting-opening .story-photo{aspect-ratio:4/3;object-position:center;}
.greeting-letter{grid-template-columns:1fr;gap:32px;padding:64px 0 40px;}
.greeting-letter h2{font-size:30px;padding:20px 0;}
.greeting-rule{margin-top:0;}
.greeting-letter-body>p{font-size:16px;line-height:2;}
.greeting-pair{grid-template-columns:1fr;gap:32px;padding:10px 0 60px;}
.greeting-pair figure:nth-child(2){padding:0 0 0 28px;}
.greeting-pair figure:first-child{padding-right:28px;}
.greeting-pair .story-photo{aspect-ratio:4/5;}
.greeting-ending{padding:60px 18px;}
.greeting-ending h2{font-size:29px;}
.greeting-ending .actions{flex-direction:column;gap:20px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.journal-grid{gap:44px 28px;}
.journal-tools{align-items:flex-start;flex-direction:column;}
.journal-search{width:100%;}
.journal-search input{flex:1;}
.journal-featured h2{font-size:30px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.journal-heading{padding:0 0 35px;}
.journal-heading h1{font-size:36px;}
.journal-grid{grid-template-columns:1fr;gap:36px;}
.journal-featured .journal-image img{aspect-ratio:4/5;max-height:none;}
.journal-featured .journal-caption{padding:24px 0;}
.journal-caption h2,.journal-featured h2{font-size:24px;}
.journal-tools{margin-bottom:22px;}
.journal-search-label{display:none;}
.journal-summary{font-size:14px;}
.journal-end{align-items:flex-start;flex-direction:column;padding-top:32px;}
.journal-end>p{font-size:21px;}
}
/* 반응형 적용 조건: (prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce){.journal-image img,.journal-card-link:hover .journal-image img,.journal-card-link:focus-visible .journal-image img{transition:none;transform:none;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.journal-heading h1>span{display:block;padding-left:0;padding-top:4px;}
.journal-featured .journal-photos .journal-image img{min-height:350px;height:58svh;}
.journal-diptych{gap:12px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.story-journal .journal-heading{align-items:flex-start;gap:14px;padding:10px 0 20px;flex-wrap:wrap;}
.story-journal .journal-heading h1{font-size:23px;}
.journal-search-toggle[open]{flex-basis:100%;}
.journal-diptych{grid-template-columns:1fr;gap:12px;}
.journal-featured .journal-photos .journal-image img{height:auto;min-height:0;max-height:none;aspect-ratio:4/5;}
.journal-featured .journal-photos .journal-companion img{aspect-ratio:3/2;}
.story-journal .journal-caption,.story-journal .journal-featured .journal-caption{display:block;padding:16px 0 28px;}
.story-journal .journal-caption h2,.story-journal .journal-featured h2{font-size:17px;}
.journal-caption .journal-meta{padding-top:10px;}
.journal-end{gap:14px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.story-journal .journal-heading{flex-wrap:wrap;}
.journal-finder{width:100%;}
.journal-finder-controls .btn{min-width:72px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.journal-finder-label{padding-bottom:7px;}
.journal-finder-input{padding-inline:12px;gap:8px;}
.journal-finder-input input{font-size:16px;}
.journal-finder-input input::placeholder{font-size:12px;}
.journal-search-result{align-items:flex-start;}
.journal-search-result p{overflow-wrap:anywhere;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.venue-intro-row{grid-template-columns:1fr;gap:24px;}
.venue-scene,.venue-scene-reverse,.venue-guide,.venue-location{grid-template-columns:1fr;gap:36px;padding-top:70px;}
.venue-scene-reverse .venue-scene-copy{order:0;}
.venue-gallery .venue-photo{aspect-ratio:4/3;}
.venue-facts{gap:24px;}
.venue-facts dt{font-size:48px;}
.venue-facts>div:last-child dt{font-size:24px;padding-top:14px;}
.venue-invitation{padding-top:80px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.venue-intro{padding:0 0 28px;}
.venue-intro h1{font-size:35px;}
.venue-intro-row{padding-top:22px;}
.venue-cover .venue-photo{aspect-ratio:4/5;max-height:none;}
.venue-gallery figcaption{flex-wrap:wrap;gap:6px;}
.venue-facts{grid-template-columns:1fr 1fr;gap:28px;padding:28px 0;}
.venue-facts>div:last-child{grid-column:1/-1;}
.venue-facts>div:last-child dt{font-size:24px;padding:0;}
.venue-facts dd{padding-top:10px;}
.venue-scene h2,.venue-guide h2,.venue-location h2{font-size:30px;}
.venue-steps li{gap:12px;}
.venue-care{padding:26px 20px;}
.venue-care h2{font-size:21px;}
.venue-location address{font-size:18px;}
.venue-invitation .actions{flex-direction:column;gap:22px;}
.venue-invitation h2{font-size:29px;}
}
/* 반응형 적용 조건: (max-width:1100px) */
@media(max-width:1100px){.rental-guide-layout{grid-template-columns:minmax(0,1fr) 285px;gap:32px;}
.rental-info-list>div{grid-template-columns:100px 1fr;gap:14px;}
.rental-process{grid-template-columns:1fr;gap:22px;}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.rental-guide-layout{grid-template-columns:1fr;gap:30px;}
.rental-guide-heading{padding-bottom:30px;}
.rental-guide-heading h1{font-size:32px;}
.rental-info-section h2{font-size:21px;}
.rental-booking-panel{padding:24px;}
.rental-space-preview .asset-picture{max-width:360px;}
}
/* 반응형 적용 조건: (max-width:480px) */
@media(max-width:480px){.rental-info-list>div{grid-template-columns:1fr;gap:8px;}
.rental-guide-heading h1{font-size:29px;}
.rental-info-section .actions{align-items:flex-start;flex-direction:column;gap:18px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.event-heading>div{display:block;}
.event-heading>div>p{padding-top:22px;}
.event-collection{gap:45px 28px;}
.event-entry-lead .event-caption{display:block;}
.event-contact{grid-template-columns:1fr;gap:28px;padding:32px;}
.event-caption h2{font-size:25px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.event-heading{padding-top:0;padding-bottom:28px;}
.event-heading h1{font-size:34px;}
.event-collection{grid-template-columns:1fr;gap:44px;}
.event-entry-lead .event-photo{aspect-ratio:4/5;max-height:none;}
.event-gallery .event-photo{aspect-ratio:4/3;}
.event-entry-lead .event-photo{aspect-ratio:4/5;}
.event-entry-lead .event-caption h2{font-size:28px;}
.event-interlude{padding:25px 0;}
.event-interlude>p:last-child{font-size:29px;}
.event-contact{padding:28px 22px;margin-top:65px;}
.event-contact h2{font-size:29px;}
.event-contact .btn{width:100%;}
.event-sample-note{font-size:11px;line-height:1.8;}
}
/* 반응형 적용 조건: (prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce){.event-gallery .event-photo{transition:none;}
.event-figure>a:hover .event-photo{transform:none;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.event-gallery .event-heading-compact{flex-wrap:wrap;gap:8px 20px;padding:0 0 18px;}
.event-heading-compact h1{font-size:27px;}
.event-gallery .event-caption-compact h2{font-size:18px;}
.event-gallery .event-contact-compact{flex-direction:column;align-items:flex-start;padding:24px;margin-top:40px;}
.event-contact-compact h2{font-size:22px;}
.event-gallery .event-collection{row-gap:30px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.event-editorial .event-collection{column-gap:22px;row-gap:45px;}
.event-editorial .event-entry:nth-child(3n+1){grid-template-columns:minmax(0,2.5fr) minmax(135px,1fr);gap:20px;}
.event-editorial .event-entry:nth-child(3n+1) .event-caption h2{font-size:23px;}
.event-editorial .event-entry:nth-child(3n){padding-top:100px;}
.event-editorial .event-entry:nth-child(3n+1) .event-caption{padding-bottom:20px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.event-editorial .event-collection{grid-template-columns:1fr;gap:48px;}
.event-editorial .event-entry:nth-child(n){grid-column:1;display:block;padding:0;}
.event-editorial .event-entry:nth-child(3n+2){padding-right:28px;}
.event-editorial .event-entry:nth-child(3n){padding-left:28px;}
.event-editorial .event-entry:nth-child(n) .event-folio{display:flex;flex-direction:row;justify-content:space-between;align-items:end;border:0;padding:0 0 16px;}
.event-editorial .event-entry:nth-child(n) .event-folio>span{font-size:44px;}
.event-editorial .event-entry:nth-child(n) .event-caption{padding:0;display:flex;flex-direction:row;align-items:center;}
.event-editorial .event-entry:nth-child(n) .event-caption h2{font-size:19px;}
.event-editorial .event-entry:nth-child(3n+1) .event-photo{aspect-ratio:4/5;}
.event-editorial .event-contact-compact{margin-top:60px;padding:28px 22px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.event-editorial .event-entry:nth-child(n) .event-date time{flex-direction:row;gap:12px;align-items:baseline;}
.event-editorial .event-entry:nth-child(n) .event-month-day{font-size:38px;}
.event-date .event-year{font-size:14px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.review-title-row{gap:12px;}
.review-sort-select select{width:76px;font-size:11px;min-height:38px;}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.footer-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px;}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.footer-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;}
.footer-sitemap{padding-top:28px;}
.footer-menu-links a{padding-block:4px;}
.footer-menu-links{gap:4px;}
}
/* 반응형 적용 조건: (max-width:1000px) */
@media(max-width:1000px){.visit-intro{grid-template-columns:1fr 2fr}
.visit-intro>p:last-child{grid-column:2}
.visit-address{padding:32px}
.visit-map{padding:20px}
.visit-notes{gap:24px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.visit-page{padding-top:8px}
.visit-intro{grid-template-columns:1fr;gap:20px;padding-bottom:32px}
.visit-intro>p:last-child{grid-column:auto}
.visit-intro h2{font-size:34px}
.visit-layout{grid-template-columns:1fr}
.visit-address{padding:28px 24px}
.visit-address h3{padding-top:24px}
.visit-address address{font-size:25px}
.visit-map{padding:16px}
.visit-map-image{min-height:0}
.visit-notes{grid-template-columns:1fr;gap:32px;padding-top:40px}
.visit-notes h3{padding-top:14px}
.visit-notes .text-link{margin-top:16px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.visit-map-stage,.visit-map-canvas{min-height:300px}
.visit-map-fallback{padding:24px 16px}
.visit-map-fallback h3{font-size:23px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.visit-layout{grid-template-columns:1fr}
.visit-address{padding:28px 24px}
.visit-map{padding:0}
.visit-map .root_daum_roughmap .wrap_map{height:320px!important}
}
/* 반응형 적용 조건: (max-width:900px) */
@media(max-width:900px){.footer-legal-row{flex-direction:column;gap:18px}
.footer-policies{justify-content:flex-start}
.footer-credits-row{flex-direction:column;gap:4px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.footer-reach{justify-self:start;text-align:left}
.footer-tagline{padding-top:14px}
.footer-sitemap{padding-bottom:32px}
.footer-policies{gap:8px 14px}
.footer-bottom{padding-top:24px}
.footer-credits-row{padding-top:20px}
.footer-credits-row p{font-size:10px}
}
/* 반응형 적용 조건: (max-width:1000px) */
@media(max-width:1000px){.legal-document{grid-template-columns:190px minmax(0,1fr);gap:36px}
.legal-introduction{padding:26px}
.legal-section h2{font-size:20px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.legal-document{grid-template-columns:1fr;gap:28px;padding-top:8px}
.legal-sidebar{position:static}
.legal-toc{padding:18px 20px;background:var(--paper);border-top:1px solid var(--line)}
.legal-toc summary{font-size:14px}
.legal-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;padding-top:14px}
.legal-toc nav a{font-size:11px;gap:7px;padding:7px 0}
.legal-introduction{padding:24px 20px}
.legal-introduction>p:not(.eyebrow){font-size:14px}
.legal-section{padding:28px 0}
.legal-section h2{font-size:19px;padding-bottom:16px}
.legal-copy p{font-size:14px;line-height:1.9}
.legal-end{flex-wrap:wrap}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.legal-consent-action{flex-direction:column;align-items:flex-start;padding:24px 20px}
.legal-consent-action .btn{width:100%}
.legal-consent-action h2{font-size:16px}
}
/* 반응형 적용 조건: (max-width:1150px) */
@media(max-width:1150px){.admin-shell{grid-template-columns:195px minmax(0,1fr)}
.admin-sidebar{padding:28px 16px}
.admin-logo{font-size:17px}
.admin-main{padding:28px}
.admin-topbar{padding:20px 28px}
.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-dashboard-bottom{grid-template-columns:1fr}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.admin-shell{grid-template-columns:1fr}
.admin-sidebar{padding:20px;gap:20px}
.admin-navigation{display:flex;flex-direction:row;gap:8px;overflow-x:auto;align-items:flex-end;padding-bottom:3px}
.admin-nav-group{display:flex;gap:8px}
.admin-nav-group>p{display:none}
.admin-nav-item{font-size:12px;white-space:nowrap;margin:0;padding:9px 12px}
.admin-site-link{display:none}
.admin-topbar{padding:16px 20px}
.admin-topbar>p{display:none}
.admin-user{width:100%;justify-content:flex-end;gap:18px}
.admin-main{padding:24px 20px}
.admin-page-title{padding-bottom:24px}
.admin-page-title h1{font-size:25px}
.admin-help-link{font-size:10px}
.admin-overview{padding:22px;flex-direction:column;align-items:flex-start;gap:14px}
.admin-overview h2{font-size:19px}
.admin-metrics{gap:12px}
.admin-metrics .metric{padding:18px}
.admin-metrics strong{font-size:32px}
.admin-panel>header{padding:20px}
.admin-panel h2{font-size:16px}
.admin-footer{padding:0 20px 24px}
.admin-main .form-card{padding:22px 18px}
.admin-main .search-form{flex-wrap:wrap}
.admin-main .info-rows{padding:0 18px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.footer-channels{justify-content:flex-start}
}
/* 반응형 적용 조건: (max-width:1000px) */
@media(max-width:1000px){.member-layout{grid-template-columns:160px minmax(0,1fr);gap:30px}
.member-welcome{padding:28px}
.member-stats a{padding:20px}
.member-welcome h2{font-size:25px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.member-welcome{padding:26px 22px;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:26px}
.member-welcome h2{font-size:23px}
.member-layout{grid-template-columns:1fr;gap:26px}
.member-menu-label{display:none}
.member-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:6px}
.member-sidebar nav a{font-size:12px;padding:10px 12px;background:var(--paper);gap:8px}
.member-sidebar nav a span{display:none}
.member-sidebar-bottom{padding:16px 0 0;margin-top:16px;justify-content:flex-end;border-top:0}
.member-stats{margin-bottom:28px}
.member-stats a{padding:18px 12px}
.member-stats span{font-size:10px}
.member-stats strong{font-size:26px}
.member-section-heading h2{font-size:21px}
.member-content .form-card>.btn{width:100%}
.member-content .record-card{padding:22px}
.member-content .empty-state{padding:38px 20px}
.member-content .empty-state h2{font-size:19px}
.member-content .info-panel{padding:22px}
}
/* 반응형 적용 조건: (max-width:600px) */
@media(max-width:600px){.register-dialog-body{padding:28px 24px}
.register-dialog h2{font-size:21px}
}
/* 반응형 적용 조건: (max-width:1000px) */
@media(max-width:1000px){.auth-entry{gap:5%}
.auth-editorial-copy{padding:32px 26px}
.auth-editorial h2{font-size:30px}
.auth-editorial-caption{padding-inline:26px}
.auth-editorial-photo img{height:280px}
.auth-entry-panel{padding-top:20px}
.auth-field-pair{gap:12px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.auth-entry{grid-template-columns:1fr;gap:28px;padding:0 0 32px}
.auth-editorial{display:grid;grid-template-columns:minmax(0,1fr) 32%;align-items:stretch}
.auth-editorial-copy{padding:26px 22px}
.auth-editorial h2{font-size:25px;padding:14px 0 0}
.auth-editorial-copy>p:last-child,.auth-editorial-caption{display:none}
.auth-editorial .eyebrow{font-size:8px;letter-spacing:.08em}
.auth-editorial-photo img{height:100%;min-height:172px}
.auth-entry-panel{padding:0}
.auth-entry-intro h2{font-size:26px}
.auth-entry .form-card{margin-top:24px}
.auth-entry-signup .form-card{gap:28px}
.auth-entry-switch{margin-top:26px}
.auth-agreement-row{gap:8px}
}
/* 반응형 적용 조건: (max-width:380px) */
@media(max-width:380px){.auth-editorial-copy{padding:22px 16px}
.auth-editorial h2{font-size:23px}
.auth-field-pair{grid-template-columns:1fr;gap:20px}
.auth-agreement-row .check-row span{font-size:11px}
.auth-agreement-row .small-link{font-size:9px}
}
/* 반응형 적용 조건: (max-width:1100px) */
@media(max-width:1100px){.inquiry-studio{gap:5%}
.inquiry-editorial-copy{padding:32px 26px}
.inquiry-editorial h2{font-size:29px}
.inquiry-process{padding:26px}
.inquiry-field-pair{gap:12px}
.inquiry-section-title{align-items:baseline}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.inquiry-studio{grid-template-columns:1fr;gap:32px;padding:8px 0 32px}
.inquiry-editorial{display:grid;grid-template-columns:minmax(0,1fr) 30%}
.inquiry-editorial-copy{padding:28px 22px}
.inquiry-editorial .eyebrow{font-size:8px}
.inquiry-editorial h2{font-size:25px;padding:16px 0}
.inquiry-editorial-copy>p:last-child{font-size:11px}
.inquiry-editorial-copy br{display:none}
.inquiry-editorial h2 br{display:block}
.inquiry-photo{height:100%;min-height:220px}
.inquiry-process{grid-column:1/-1;padding:20px 22px;border-top:1px solid var(--line)}
.inquiry-process ol{padding:14px 0}
.inquiry-panel{padding:0}
.inquiry-form-heading h2{font-size:25px}
.inquiry-section-title>span{font-size:9px}
.inquiry-consent{gap:8px}
.inquiry-receipt{padding:32px 24px}
.inquiry-receipt h2{font-size:28px}
.inquiry-receipt .actions{flex-wrap:wrap}
}
/* 반응형 적용 조건: (max-width:380px) */
@media(max-width:380px){.inquiry-field-pair{grid-template-columns:1fr;gap:20px}
.inquiry-editorial h2{font-size:23px}
.inquiry-editorial-copy{padding:24px 18px}
.inquiry-consent{flex-wrap:wrap}
.inquiry-consent .small-link{margin-left:24px}
}
/* 반응형 적용 조건: (max-width:1100px) */
@media(max-width:1100px){.home-booking>a{padding-inline:16px;gap:10px}
.home-booking strong{font-size:18px}
.home-editorial h2{font-size:38px}
.home-space-grid,.home-collab{gap:6%}
.home-space-copy h2{font-size:25px}
.home-manifesto h2{font-size:64px}
.home-invitation h2{font-size:64px}
.home-faq h2{font-size:28px}
}
/* 반응형 적용 조건: (max-width:768px) */
@media(max-width:768px){.home-film>video,.home-film-content{min-height:680px}
.home-film-content{padding-block:26px 24px}
.home-film-title{padding-block:42px 30px}
.home-film-title .home-serif{font-size:clamp(72px,15vw,108px)}
.home-film h1{font-size:19px;padding-block:26px}
.home-film-bottom>p span{display:block;padding:6px 0 0;font-size:10px}
.home-film-bottom .video-status{display:none}
.home-booking{grid-template-columns:repeat(3,minmax(0,1fr));padding-block:24px;row-gap:20px}
.home-booking>p{grid-column:1/-1}
.home-booking>p br{display:none}
.home-booking>p strong{padding-left:8px}
.home-booking>a{padding:0 12px;gap:6px;flex-wrap:wrap}
.home-booking>a:nth-child(2){border:0;padding-left:0}
.home-booking>a>span:first-child{display:none}
.home-booking strong{font-size:15px}
.home-booking-arrow{font-size:19px}
.home-experiences{padding-block:65px}
.home-section-head{display:block;padding-bottom:30px}
.home-editorial h2{font-size:34px}
.home-section-head>p{font-size:14px;padding-top:24px}
.home-section-head>.home-line-link{margin-top:22px}
.home-experience-cards{grid-template-columns:1fr;gap:38px}
.home-experience-card:nth-child(2),.home-experience-card:nth-child(3){padding-top:0}
.home-card-photo{aspect-ratio:1.2}
.home-card-meta{padding-top:14px}
.home-experience-card h3{font-size:24px}
.home-manifesto{padding:36px 0 64px}
.home-manifesto h2{font-size:clamp(35px,8vw,56px);padding:30px 0}
.home-manifesto-bottom{display:block}
.home-manifesto-bottom p{font-size:14px}
.home-manifesto-bottom .home-line-link{margin-top:24px}
.home-space{padding-block:54px}
.home-space-grid{grid-template-columns:1fr;gap:36px}
.home-space-photo{aspect-ratio:1.15}
.home-space-copy .home-serif{font-size:54px;padding-block:24px}
.home-space-copy h2{font-size:26px}
.home-space-copy>p:not([class]){font-size:14px}
.home-collab{grid-template-columns:1fr;padding-block:64px;gap:36px}
.home-collab-copy>p:not([class]){font-size:14px}
.home-team-photo{aspect-ratio:1.2;border-radius:45% 45% 0 0}
.home-journal{padding-block:45px 64px}
.home-journal-grid{grid-template-columns:1fr;gap:32px}
.home-journal-card .content-picture{aspect-ratio:1.5}
.home-journal-card h3{font-size:21px}
.home-journal-card>p{padding-top:14px}
.home-faq{grid-template-columns:1fr;gap:28px;padding-block:40px 64px}
.home-faq h2{font-size:28px}
.home-invitation{padding-block:54px 64px}
.home-invitation h2{font-size:52px}
.home-editorial .home-kicker{font-size:12px;letter-spacing:.09em}
.home-design .site-footer{padding-top:42px}
}
/* 반응형 적용 조건: (prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce){.home-card-photo,.home-pill{transition:none}
.home-pill:hover{transform:none}
}
/* 반응형 적용 조건: (prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}
}

/* 브랜드 로고 반응형 */
@media(max-width:900px){.site-header .brand-logo{width:96px;height:96px;}.site-header{padding-block:6px;}}
@media(max-width:600px){.site-header .brand-logo{width:82px;height:82px;}.footer-brand .brand-logo{width:150px;height:150px;}}

/* 예약하기 페이지 · 필터 반응형 */
@media(max-width:1100px){.program-filters{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:18px 24px;}.program-filter-actions{grid-column:1/-1;justify-content:flex-end;}}
@media(max-width:600px){.program-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 0 20px;gap:18px 24px;margin:28px 0;}.program-filter-search{grid-column:1/-1;}.program-filter-field{gap:5px;}.program-filter-field input,.program-filter-field select{font-size:16px;padding-inline:0;}.program-filter-actions{gap:22px;min-height:36px;}.program-filter-actions .btn{min-height:36px;font-size:13px;}.program-filter-field>span{font-size:11px;}}

/* 관리자 · 대여 안내 구역 편집 반응형 */
@media(max-width:700px){.rental-editor-intro{flex-direction:column;align-items:flex-start;}.rental-editor-map{grid-template-columns:1fr 1fr;padding:12px;}.rental-editor-map a{font-size:12px;padding:12px;}.rental-edit-section>header{padding:20px 18px;}.rental-edit-fields{padding:20px 18px;}.rental-editor-save{flex-direction:column;align-items:stretch;}.rental-editor-save .btn{width:100%;}.rental-edit-section h2{font-size:16px;}}

/* 대여 안내 · 모바일 예약 알림 */
@media(max-width:600px){.rental-booking-notice{padding:18px;gap:8px;}.rental-booking-notice>p{font-size:13px;}}

/* ===== 관리자 전체 · 태블릿 / 모바일 메뉴, 목록, 상세, 작성 폼 ===== */
@media(max-width:1024px){
 .admin-main{padding:26px 22px;}
 .admin-topbar{padding:18px 22px;}
 .admin-main .form-card{padding:24px;}
 .admin-page-title{align-items:flex-start;}
 .admin-page-title>div{min-width:0;}
 .admin-help-link{flex-shrink:0;padding-block:10px;}
}
@media(max-width:768px){
 .admin-sidebar{padding:22px 20px;gap:20px;min-width:0;}
 .admin-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 12px;overflow:visible;}
 .admin-navigation>.admin-nav-item{grid-column:1/-1;}
 .admin-nav-group{display:flex;flex-direction:column;gap:3px;min-width:0;}
 .admin-nav-group:nth-of-type(3){grid-column:1/-1;}
 .admin-nav-group>p{display:block;font-size:13px;padding:0 10px 6px;}
 .admin-nav-item{white-space:normal;padding:11px 10px;font-size:13px;min-height:42px;}
 .admin-site-link{display:block;margin-top:0;padding-top:16px;}
 .admin-user{flex-wrap:wrap;gap:8px 18px;justify-content:flex-start;}
 .admin-user>span{flex:1;overflow-wrap:anywhere;}
 .admin-user a,.admin-user button{display:inline-flex;align-items:center;min-height:40px;font-size:12px;}
 .admin-main{padding:26px 20px;}
 .admin-page-title h1{font-size:25px;overflow-wrap:anywhere;}
 .admin-main .form-card{padding:22px 18px;}
 .admin-main .form-field>span{font-size:16px;}
 .admin-main .form-field input,.admin-main .form-field textarea,.admin-main .form-field select,.admin-main .search-form input{font-size:16px;min-height:46px;}
 .admin-main .form-field input[type=file]{font-size:13px;}
 .admin-main .btn{white-space:normal;min-height:44px;line-height:1.6;}
 .admin-main .form-card>.btn{width:100%;}
 .admin-main .check-row{align-items:flex-start;gap:10px;}
 .admin-main .check-row input{flex:0 0 18px;margin-top:3px;}
 .admin-main .check-row span{font-size:14px;}
 .admin-main .subnav{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;}
 .admin-main .subnav a{white-space:normal;min-height:40px;display:flex;align-items:center;}
 .admin-main .info-rows>div{grid-template-columns:1fr;gap:6px;padding:18px 0;}
 .admin-main .info-rows dt{font-weight:600;}
 .admin-main .search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px;}
 .admin-main .search-form label{grid-column:1/-1;}
 .admin-main .search-form>input{min-width:0;width:100%;}
 .admin-main .admin-table{display:block;min-width:0;width:100%;}
 .admin-main .admin-table thead{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;}
 .admin-main .admin-table tbody{display:block;}
 .admin-main .admin-table tr{display:block;padding:16px;border-bottom:8px solid #f4f5f2;}
 .admin-main .admin-table tr:last-child{border-bottom:0;}
 .admin-main .admin-table td{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:9px 0;border:0;font-size:13px;white-space:normal;}
 .admin-main .admin-table td::before{content:attr(data-label);font-size:12px;font-weight:600;color:#697563;}
 .admin-main .admin-table td[colspan]{display:block;text-align:center;padding:16px 0;}
 .admin-main .admin-table td[colspan]::before{display:none;}
 .admin-main .admin-table tr:last-child td{border:0;}
 .admin-cell-content .small-link{font-size:13px;min-height:40px;padding:10px 3px;}
 .admin-panel>header{align-items:flex-start;gap:12px;flex-wrap:wrap;}
 .admin-panel>header>.small-link{min-height:40px;display:flex;align-items:center;}
 .admin-inquiry-list>a{flex-wrap:wrap;}
 .admin-metrics .metric>span{font-size:13px;gap:8px;}
 .admin-metrics strong{font-size:30px;overflow-wrap:anywhere;}
 .admin-overview>span{white-space:normal;}
 .rental-editor-intro>.btn{white-space:normal;}
 .rental-editor-map a{min-width:0;overflow-wrap:anywhere;}
 .rental-editor .form-card{padding:0;}
}
@media(max-width:380px){
 .admin-sidebar{padding:20px 14px;}
 .admin-main,.admin-topbar{padding-inline:14px;}
 .admin-page-title{flex-wrap:wrap;gap:8px;}
 .admin-metrics{gap:10px;}
 .admin-metrics .metric{padding:14px 12px;}
 .admin-main .form-card{padding:18px 14px;}
 .admin-main .admin-table td{grid-template-columns:64px minmax(0,1fr);gap:10px;}
 .rental-editor-map{grid-template-columns:1fr;}
 .rental-editor .form-card{padding:0;}
}

@media(max-width:768px){
 .admin-menu-disclosure>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;background:#354d40;border-radius:5px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;list-style:none;}
 .admin-menu-disclosure>summary::-webkit-details-marker{display:none;}
 .admin-menu-disclosure>summary span{color:inherit;}
 .admin-menu-disclosure[open]>summary{margin-bottom:22px;}
 .admin-menu-disclosure[open]>summary span{transform:rotate(180deg);}
 .admin-site-link{padding-top:14px;}
}
