.request-theme-opening{
    --opening-bg:#f3f0e9;
    --opening-paper:#fffdf9;
    --opening-ink:#1f211f;
    --opening-muted:#73736d;
    --opening-line:#d7d2c8;
    --opening-gold:#b18b55;
    --opening-gold-deep:#8b6b44;
    --opening-green:#263d35;
    --opening-burgundy:#754943;
    --opening-soft:#ebe7df;
    box-sizing:border-box;
    width:100%;
    max-width:900px;
    margin:0 auto;
    color:var(--opening-ink);
    background:#fff;
    font-family:'Pretendard','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
    font-size:16px;
    line-height:1.8;
    overflow:hidden;
}
.request-theme-opening *{box-sizing:border-box;}
.request-theme-opening [hidden]{display:none!important;}
.request-theme-opening [data-request-field]{overflow-wrap:anywhere;}
.request-theme-opening [data-request-multiline=true]{white-space:pre-line;}
.request-theme-opening h1,.request-theme-opening h2,.request-theme-opening h3,.request-theme-opening p,.request-theme-opening figure,.request-theme-opening dl{margin:0;}
.request-theme-opening .request-sheet{padding:0 0 42px;background:#fff;}

.request-theme-opening .request-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    min-height:700px;
    overflow:hidden;
    background:var(--opening-paper);
    border-bottom:1px solid var(--opening-line);
}
.request-theme-opening .request-hero-grid{
    position:absolute;
    inset:0;
    opacity:.35;
    background-image:
        linear-gradient(rgba(139,107,68,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(139,107,68,.08) 1px,transparent 1px);
    background-size:38px 38px;
    pointer-events:none;
}
.request-theme-opening .request-hero-accent{
    position:absolute;
    left:0;top:0;bottom:0;
    width:8px;
    background:linear-gradient(180deg,var(--opening-gold),var(--opening-green));
}
.request-theme-opening .request-hero-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:76px 54px 64px 66px;
}
.request-theme-opening .request-eyebrow{
    color:var(--opening-gold-deep);
    font-size:12px;
    line-height:1.5;
    font-weight:700;
    letter-spacing:.22em;
}
.request-theme-opening .request-title{
    max-width:520px;
    margin-top:22px;
    color:var(--opening-ink);
    font-family:Georgia,'Noto Serif KR','Batang',serif;
    font-size:47px;
    line-height:1.35;
    font-weight:500;
    letter-spacing:-.04em;
    word-break:keep-all;
}
.request-theme-opening .request-intro{
    max-width:540px;
    margin-top:24px;
    color:var(--opening-muted);
    font-size:16px;
    line-height:1.95;
    word-break:keep-all;
}
.request-theme-opening .request-intro-left{margin-left:0;text-align:left;}
.request-theme-opening .request-opening-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    max-width:510px;
    margin-top:36px;
    padding-top:22px;
    border-top:1px solid var(--opening-line);
}
.request-theme-opening .request-opening-meta>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:baseline;}
.request-theme-opening .request-meta-label{color:var(--opening-gold-deep);font-size:11px;font-weight:700;letter-spacing:.14em;}
.request-theme-opening .request-opening-meta strong{font-size:15px;line-height:1.7;font-weight:600;color:var(--opening-ink);}
.request-theme-opening .request-countdown{
    display:inline-flex;
    align-items:center;
    gap:14px;
    align-self:flex-start;
    margin-top:30px;
    padding:10px 16px;
    border:1px solid rgba(139,107,68,.36);
    background:rgba(255,255,255,.7);
}
.request-theme-opening .request-countdown-label{color:var(--opening-muted);font-size:10px;letter-spacing:.14em;}
.request-theme-opening .request-countdown strong{color:var(--opening-gold-deep);font-family:Georgia,serif;font-size:22px;font-weight:500;}
.request-theme-opening .request-photo-main{position:relative;z-index:1;min-height:700px;overflow:hidden;}
.request-theme-opening .request-photo-main:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(17,21,19,.48));content:'';pointer-events:none;}
.request-theme-opening .request-photo-main img{display:block;width:100%;height:100%;min-height:700px;object-fit:cover;}
.request-theme-opening .request-photo-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff;}
.request-theme-opening .request-photo-caption span{display:block;font-size:10px;letter-spacing:.18em;opacity:.8;}
.request-theme-opening .request-photo-caption strong{display:block;margin-top:4px;font-family:Georgia,'Noto Serif KR',serif;font-size:27px;font-weight:500;}

.request-theme-opening .request-section{
    position:relative;
    margin:38px 36px 0;
    padding:54px 52px;
    border:1px solid var(--opening-line);
    background:#fff;
    overflow:hidden;
}
.request-theme-opening .request-section-index{
    position:absolute;
    right:28px;
    top:18px;
    color:rgba(139,107,68,.12);
    font-family:Georgia,serif;
    font-size:58px;
    line-height:1;
    pointer-events:none;
}
.request-theme-opening .request-section-head{text-align:center;margin-bottom:30px;}
.request-theme-opening .request-section-head-left{text-align:left;}
.request-theme-opening .request-section-title{
    margin-top:10px;
    color:var(--opening-ink);
    font-family:Georgia,'Noto Serif KR','Batang',serif;
    font-size:31px;
    line-height:1.45;
    font-weight:500;
    letter-spacing:-.03em;
    word-break:keep-all;
}

.request-theme-opening .request-greeting{
    background:linear-gradient(135deg,#fff 0 64%,#f7f4ee 64% 100%);
}
.request-theme-opening .request-greeting-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:42px;align-items:start;}
.request-theme-opening .request-letter{color:var(--opening-ink);font-size:16px;line-height:2;white-space:pre-line;text-align:left;}
.request-theme-opening .request-host-card{padding:26px 24px;background:var(--opening-green);color:#fff;}
.request-theme-opening .request-host-role{display:block;color:rgba(255,255,255,.68);font-size:12px;letter-spacing:.12em;}
.request-theme-opening .request-host-name{display:block;margin-top:8px;font-family:Georgia,'Noto Serif KR',serif;font-size:29px;font-weight:500;}
.request-theme-opening .request-host-card p{margin-top:20px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.9;}

.request-theme-opening .request-brand{padding:0;background:var(--opening-paper);}
.request-theme-opening .request-brand-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px;}
.request-theme-opening .request-photo-space{min-height:520px;overflow:hidden;}
.request-theme-opening .request-photo-space img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;}
.request-theme-opening .request-brand-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 46px;}
.request-theme-opening .request-brand-subtitle{margin-top:8px;color:var(--opening-burgundy);font-size:15px;font-weight:600;}
.request-theme-opening .request-brand-facts{margin-top:28px;border-top:1px solid var(--opening-line);}
.request-theme-opening .request-brand-facts div{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--opening-line);text-align:left;}
.request-theme-opening .request-brand-facts dt{color:var(--opening-muted);font-size:13px;}
.request-theme-opening .request-brand-facts dd{margin:0;color:var(--opening-ink);font-size:14px;font-weight:600;}

.request-theme-opening .request-host{background:#f8f7f3;}
.request-theme-opening .request-host-profile{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:center;}
.request-theme-opening .request-photo-host{overflow:hidden;box-shadow:16px 16px 0 #e8e2d7;}
.request-theme-opening .request-photo-host img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;}
.request-theme-opening .request-host-profile-copy{text-align:left;}
.request-theme-opening .request-host-profile-copy .request-host-role{color:var(--opening-gold-deep);}
.request-theme-opening .request-host-profile-copy .request-host-name{color:var(--opening-ink);font-size:34px;}
.request-theme-opening .request-host-profile-copy>p{margin-top:18px;color:var(--opening-muted);line-height:1.95;white-space:pre-line;}
.request-theme-opening .request-contact-inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px;}
.request-theme-opening .request-contact-inline a{color:var(--opening-ink);font-size:13px;text-decoration:none;}
.request-theme-opening .request-contact-inline span{width:1px;height:12px;background:var(--opening-line);}

.request-theme-opening .request-program{background:var(--opening-green);color:#fff;border-color:var(--opening-green);}
.request-theme-opening .request-program .request-eyebrow{color:#d9c29a;}
.request-theme-opening .request-program .request-section-title{color:#fff;}
.request-theme-opening .request-program .request-section-index{color:rgba(255,255,255,.08);}
.request-theme-opening .request-program-list{max-width:620px;margin:0 auto;border-top:1px solid rgba(255,255,255,.18);}
.request-theme-opening .request-program-list>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;padding:18px 6px;border-bottom:1px solid rgba(255,255,255,.18);text-align:left;}
.request-theme-opening .request-program-list time{font-family:Georgia,serif;font-size:20px;color:#d9c29a;}
.request-theme-opening .request-program-list span{align-self:center;color:rgba(255,255,255,.9);font-size:15px;}

.request-theme-opening .request-application{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    margin:38px 36px 0;
    padding:36px 40px;
    border:1px solid var(--opening-gold);
    background:#f5efe5;
}
.request-theme-opening .request-gift-mark{width:48px;height:48px;color:var(--opening-gold-deep);}
.request-theme-opening .request-gift-mark svg{display:block;width:100%;height:100%;}
.request-theme-opening .request-application h2{margin-top:6px;font-family:Georgia,'Noto Serif KR',serif;font-size:25px;font-weight:500;}
.request-theme-opening .request-application p{margin-top:8px;color:var(--opening-muted);font-size:14px;line-height:1.8;}
.request-theme-opening .request-apply{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 18px;border:1px solid var(--opening-ink);background:var(--opening-ink);color:#fff;font-size:14px;text-decoration:none;white-space:nowrap;}
.request-theme-opening .request-apply svg{width:17px;height:17px;}
.request-theme-opening .request-apply:hover{background:var(--opening-green);border-color:var(--opening-green);}

.request-theme-opening .request-calendar-section{background:#fbfaf7;}
.request-theme-opening .request-calendar-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);gap:42px;align-items:center;}
.request-theme-opening .request-calendar-copy{text-align:left;}
.request-theme-opening .request-date-strip{margin-top:24px;padding:16px 0;border-top:1px solid var(--opening-line);border-bottom:1px solid var(--opening-line);color:var(--opening-ink);font-size:15px;}
.request-theme-opening .request-side-note{margin-top:12px;color:var(--opening-muted);font-size:14px;}
.request-theme-opening .request-calendar{width:100%;margin:0;padding:24px;border:1px solid var(--opening-line);background:#fff;}
.request-theme-opening .request-calendar-heading{margin-bottom:18px;text-align:center;color:var(--opening-ink);font-family:Georgia,'Noto Serif KR',serif;font-size:21px;font-weight:500;}
.request-theme-opening .request-calendar table{table-layout:fixed;width:100%;border-collapse:collapse;border:0;}
.request-theme-opening .request-calendar th,.request-theme-opening .request-calendar td{height:42px;padding:2px;border:0;background:transparent;text-align:center;font-size:14px;font-weight:400;}
.request-theme-opening .request-calendar th{color:var(--opening-muted);font-size:12px;letter-spacing:.05em;}
.request-theme-opening .request-calendar th:first-child,.request-theme-opening .request-calendar td:first-child{color:#a05e58;}
.request-theme-opening .request-calendar th:last-child,.request-theme-opening .request-calendar td:last-child{color:#657f92;}
.request-theme-opening .request-calendar td span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:auto;border-radius:50%;}
.request-theme-opening .request-calendar td .request-calendar-selected{background:var(--opening-green);color:#fff;box-shadow:0 4px 11px rgba(38,61,53,.22);}

.request-theme-opening .request-location{background:#fff;}
.request-theme-opening .request-location-info{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px;text-align:left;}
.request-theme-opening .request-location-name{display:block;font-size:22px;font-weight:600;}
.request-theme-opening .request-address{margin-top:5px;color:var(--opening-muted);font-size:14px;}
.request-theme-opening .request-location-phone{color:var(--opening-gold-deep);font-size:14px;}
.request-theme-opening .request-map-illustration{padding:10px;border:1px solid var(--opening-line);background:#fff;}
.request-theme-opening .request-map-illustration svg{display:block;width:100%;height:auto;}
.request-theme-opening .request-map-illustration span{display:block;padding:7px 2px 0;text-align:right;color:var(--opening-muted);font-size:11px;}
.request-theme-opening .request-directions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;text-align:left;}
.request-theme-opening .request-directions div{padding:18px;border:1px solid var(--opening-line);background:#faf9f6;}
.request-theme-opening .request-directions dt{color:var(--opening-gold-deep);font-size:13px;font-weight:700;}
.request-theme-opening .request-directions dd{margin:6px 0 0;color:var(--opening-muted);font-size:14px;line-height:1.8;}

.request-theme-opening .request-gallery{background:#f7f5ef;}
.request-theme-opening .request-gallery-view{min-width:0;margin-top:24px;}
.request-theme-opening .request-gallery-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;}
.request-theme-opening .request-gallery-photo{display:block;position:relative;min-width:0;overflow:hidden;background:#fff;}
.request-theme-opening .request-gallery-photo img{display:block;width:100%;height:auto;transition:transform .5s ease;}
.request-theme-opening .request-gallery-photo:hover img{transform:scale(1.025);}
.request-theme-opening .request-gallery-photo[hidden],.request-theme-opening .request-gallery-view [hidden]{display:none!important;}
.request-theme-opening .request-gallery-view[data-gallery-mode=slide] .request-gallery-track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;}
.request-theme-opening .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;}
.request-theme-opening .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#ebe8e0;}
.request-theme-opening .request-gallery-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:16px 0;font-size:14px;}
.request-theme-opening .request-gallery-navigation svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;}
.request-theme-opening .request-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;}
.request-theme-opening .request-gallery-thumbnails button{flex:0 0 58px;width:58px;height:70px;padding:2px;border:1px solid transparent;background:none;cursor:pointer;}
.request-theme-opening .request-gallery-thumbnails button[aria-pressed=true]{border-color:var(--opening-gold-deep);}
.request-theme-opening .request-gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;}
.request-theme-opening .request-gallery-more{margin-top:18px;}
.request-theme-opening .request-gallery-empty{padding:30px 10px;color:var(--opening-muted);font-size:14px;}
.request-theme-opening .request-gallery-caption{max-width:560px;margin:22px auto 0;color:var(--opening-muted);font-size:14px;line-height:1.9;}

.request-theme-opening .request-contact{background:#fff;}
.request-theme-opening .request-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.request-theme-opening .request-contact-grid>div{padding:24px;border-left:3px solid var(--opening-gold);background:#f8f6f1;text-align:left;}
.request-theme-opening .request-contact-role{display:block;color:var(--opening-muted);font-size:12px;letter-spacing:.08em;}
.request-theme-opening .request-contact-grid strong{display:block;margin-top:5px;font-size:20px;font-weight:600;}
.request-theme-opening .request-contact-grid p{margin-top:7px;color:var(--opening-gold-deep);font-size:14px;}

.request-theme-opening .request-footer{margin:54px 36px 0;padding:40px 20px 8px;text-align:center;}
.request-theme-opening .request-footer-line{width:72px;height:2px;margin:0 auto 18px;background:linear-gradient(90deg,var(--opening-green),var(--opening-gold));}
.request-theme-opening .request-footer-kicker{color:var(--opening-gold-deep);font-size:11px;font-weight:700;letter-spacing:.18em;}
.request-theme-opening .request-footer-note{margin-top:14px;color:var(--opening-muted);font-family:Georgia,'Noto Serif KR',serif;font-size:17px;line-height:1.8;}
.request-theme-opening .request-footer-name{display:block;margin-top:22px;font-size:19px;}

[data-opening-effects]{position:relative;isolation:isolate;}
.opening-particles{position:absolute;top:0;left:0;right:0;height:100svh;z-index:8;overflow:hidden;pointer-events:none;}
.opening-particle{position:absolute;left:var(--opening-left);top:-36px;width:4px;height:var(--opening-height);border-radius:1px;background:linear-gradient(135deg,#e5c17c,#a67936 48%,#f8e5b4);opacity:0;animation:opening-ribbon-fall var(--opening-duration) var(--opening-delay) linear infinite;}
.opening-particle:nth-child(3n){width:6px;height:6px;border-radius:0;background:#627c6a;}
.opening-particle:nth-child(4n){width:3px;background:#e8cf9c;}
@keyframes opening-ribbon-fall{0%{opacity:0;transform:translate3d(-12px,-30px,0) rotate(0) rotateY(0);}8%{opacity:0.7825;}45%{transform:translate3d(30px,calc(var(--opening-travel,100svh) * .45),0) rotate(180deg) rotateY(180deg);}88%{opacity:0.6475;}100%{opacity:0;transform:translate3d(-20px,var(--opening-travel,100svh),0) rotate(var(--opening-tilt)) rotateY(360deg);}}
.opening-effects-paused .opening-particle{animation-play-state:paused;}
.opening-motion-ready [data-opening-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.25,1);}
.opening-motion-ready [data-opening-reveal].opening-revealed{opacity:1;transform:none;}

@media(max-width:760px){
    .request-theme-opening .request-hero{grid-template-columns:1fr;min-height:0;}
    .request-theme-opening .request-hero-copy{padding:58px 32px 44px 40px;}
    .request-theme-opening .request-title{font-size:38px;}
    .request-theme-opening .request-photo-main,.request-theme-opening .request-photo-main img{min-height:0;}
    .request-theme-opening .request-photo-main img{aspect-ratio:4/3;}
    .request-theme-opening .request-section{margin:28px 18px 0;padding:42px 30px;}
    .request-theme-opening .request-greeting-grid{grid-template-columns:1fr;gap:28px;}
    .request-theme-opening .request-brand-grid{grid-template-columns:1fr;min-height:0;}
    .request-theme-opening .request-photo-space,.request-theme-opening .request-photo-space img{min-height:0;}
    .request-theme-opening .request-photo-space img{aspect-ratio:4/3;}
    .request-theme-opening .request-host-profile{grid-template-columns:220px minmax(0,1fr);gap:28px;}
    .request-theme-opening .request-application{grid-template-columns:auto 1fr;margin:28px 18px 0;padding:30px;}
    .request-theme-opening .request-apply{grid-column:1/-1;width:100%;}
    .request-theme-opening .request-calendar-layout{grid-template-columns:1fr;gap:26px;}
    .request-theme-opening .request-calendar-copy{text-align:center;}
    .request-theme-opening .request-directions{grid-template-columns:1fr;}
    .request-theme-opening .request-footer{margin-left:18px;margin-right:18px;}
}
@media(max-width:520px){
    .request-theme-opening .request-hero-copy{padding:48px 24px 36px 30px;}
    .request-theme-opening .request-title{font-size:32px;}
    .request-theme-opening .request-opening-meta>div{grid-template-columns:54px minmax(0,1fr);}
    .request-theme-opening .request-section{margin-left:10px;margin-right:10px;padding:34px 20px;}
    .request-theme-opening .request-section-title{font-size:27px;}
    .request-theme-opening .request-brand-copy{padding:36px 24px;}
    .request-theme-opening .request-host-profile{grid-template-columns:1fr;text-align:center;}
    .request-theme-opening .request-photo-host{max-width:260px;margin:0 auto;box-shadow:10px 10px 0 #e8e2d7;}
    .request-theme-opening .request-host-profile-copy{text-align:center;}
    .request-theme-opening .request-contact-inline{justify-content:center;}
    .request-theme-opening .request-program-list>div{grid-template-columns:74px minmax(0,1fr);gap:12px;}
    .request-theme-opening .request-application{margin-left:10px;margin-right:10px;grid-template-columns:1fr;text-align:center;padding:28px 20px;}
    .request-theme-opening .request-gift-mark{margin:0 auto;}
    .request-theme-opening .request-gallery-track{grid-template-columns:1fr;}
    .request-theme-opening .request-location-info{display:block;text-align:center;}
    .request-theme-opening .request-location-info>div{text-align:center;}
    .request-theme-opening .request-location-phone{margin-top:10px;}
    .request-theme-opening .request-contact-grid{grid-template-columns:1fr;}
    .request-theme-opening .request-footer{margin-left:10px;margin-right:10px;}
}
@media(prefers-reduced-motion:reduce){
    [data-opening-effects]:not([data-opening-motion=on]) .opening-particles{display:none!important;}
    [data-opening-effects]:not([data-opening-motion=on]).opening-motion-ready [data-opening-reveal]{opacity:1;transform:none;transition:none;}
    [data-opening-effects]:not([data-opening-motion=on]) .request-gallery-photo img{transition:none;}
}

.request-theme-opening .request-hero{position:relative;}
.request-theme-opening .opening-effects-toggle{position:absolute;top:20px;right:20px;z-index:12;display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgba(177,139,85,.45);border-radius:20px;background:rgba(23,32,27,.85);color:#b18b55;font:inherit;font-size:15px;line-height:1.4;cursor:pointer;}
.request-theme-opening .opening-effects-toggle[hidden]{display:none;}
.request-theme-opening .opening-effects-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px;}

/* 확장된 테마 효과 */
.request-theme-opening .theme-atmosphere>i[style*="--duration"]{animation-duration:calc(var(--duration) * .72)!important;scale:1.2;}
.request-theme-opening .theme-atmosphere{max-height:none;}
.request-theme-opening .opening-ribbon{animation-duration:calc(var(--opening-duration) * .74);scale:1.18;}
