.request-theme-gohi{
    --request-paper:#f7f1e7;
    --request-paper-2:#fbf6ee;
    --request-ink:#4f3b2f;
    --request-muted:#806857;
    --request-line:#d7b68f;
    --request-accent:#b86f3e;
    --request-accent-deep:#8f5232;
    --request-jade:#748d7a;
    --request-navy:#697a8e;
    --request-gold:#c49b5b;
    box-sizing:border-box;
    width:100%;
    max-width:860px;
    margin:0 auto;
    color:var(--request-ink);
    font-family:'Noto Serif KR','Nanum Myeongjo','Batang','Apple SD Gothic Neo',serif;
    font-size:16px;
    line-height:1.85;
    text-align:center;
    overflow:hidden;
}
.request-theme-gohi *{box-sizing:border-box;}
.request-theme-gohi [hidden]{display:none!important;}
.request-theme-gohi [data-request-field]{overflow-wrap:anywhere;}
.request-theme-gohi [data-request-multiline=true]{white-space:pre-line;}
.request-theme-gohi h1,.request-theme-gohi h2,.request-theme-gohi h3,.request-theme-gohi p,.request-theme-gohi figure,.request-theme-gohi dl{margin:0;}
.request-theme-gohi .request-sheet{position:relative;padding:22px 0 42px;}

.request-theme-gohi .request-hero,
.request-theme-gohi .request-section,
.request-theme-gohi .request-application,
.request-theme-gohi .request-footer{
    position:relative;
    overflow:hidden;
    border:1px solid var(--request-line);
    border-radius:12px;
    box-shadow:0 12px 30px rgba(72,52,39,.08);
}
.request-theme-gohi .request-hero:before,
.request-theme-gohi .request-section:before,
.request-theme-gohi .request-application:before,
.request-theme-gohi .request-footer:before{
    position:absolute;
    inset:10px;
    z-index:0;
    border:1px solid rgba(199,160,115,.28);
    border-radius:8px;
    pointer-events:none;
    content:'';
}
.request-theme-gohi .request-hero>*:not(.request-corner),
.request-theme-gohi .request-section>*,
.request-theme-gohi .request-application>*,
.request-theme-gohi .request-footer>*{position:relative;z-index:1;}

.request-theme-gohi .request-hero{
    padding:42px 56px 54px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.32)),
        repeating-linear-gradient(0deg,rgba(132,99,70,.018) 0 1px,transparent 1px 5px),
        var(--request-paper);
}
.request-theme-gohi .request-traditional-band,
.request-theme-gohi .request-section-ribbon{
    height:10px;
    border-radius:8px 8px 0 0;
    background:repeating-linear-gradient(90deg,
        #b86f3e 0 26px,
        #c49b5b 26px 52px,
        #748d7a 52px 78px,
        #697a8e 78px 104px,
        #d6ad88 104px 130px);
}
.request-theme-gohi .request-traditional-band{position:absolute;left:0;right:0;top:0;border-radius:0;opacity:.72;}
.request-theme-gohi .request-section-ribbon{position:absolute;left:0;right:0;top:0;height:7px;border-radius:0;opacity:.42;}

.request-theme-gohi .request-corner{position:absolute;width:62px;height:62px;z-index:1;opacity:.7;}
.request-theme-gohi .request-corner:before,
.request-theme-gohi .request-corner:after{position:absolute;border-color:#c28b61;border-style:solid;content:'';}
.request-theme-gohi .request-corner:before{inset:8px;border-width:1.5px 0 0 1.5px;}
.request-theme-gohi .request-corner:after{left:22px;top:22px;width:28px;height:28px;border-width:1.5px 0 0 1.5px;transform:rotate(45deg);}
.request-theme-gohi .request-corner-tl{left:12px;top:16px;}
.request-theme-gohi .request-corner-tr{right:12px;top:16px;transform:scaleX(-1);}
.request-theme-gohi .request-corner-bl{left:12px;bottom:12px;transform:scaleY(-1);}
.request-theme-gohi .request-corner-br{right:12px;bottom:12px;transform:scale(-1);}

.request-theme-gohi .request-knot-wrap{display:flex;justify-content:center;margin:0 auto 14px;color:var(--request-accent);}
.request-theme-gohi .request-knot-wrap svg{display:block;width:128px;height:auto;}
.request-theme-gohi .request-hero-copy{max-width:650px;margin:0 auto;}
.request-theme-gohi .request-label{color:var(--request-accent-deep);font-size:14px;line-height:1.6;font-weight:500;letter-spacing:.12em;}
.request-theme-gohi .request-divider{display:flex;align-items:center;justify-content:center;margin:20px 0;}
.request-theme-gohi .request-divider:before,.request-theme-gohi .request-divider:after{width:42%;height:1px;background:linear-gradient(90deg,transparent,var(--request-line));content:'';}
.request-theme-gohi .request-divider:after{background:linear-gradient(90deg,var(--request-line),transparent);}
.request-theme-gohi .request-divider span{width:8px;height:8px;margin:0 12px;border:1px solid var(--request-accent);transform:rotate(45deg);}
.request-theme-gohi .request-title{color:var(--request-accent-deep);font-size:43px;line-height:1.45;font-weight:500;letter-spacing:-.035em;word-break:keep-all;}
.request-theme-gohi .request-date-main{color:var(--request-ink);font-size:17px;line-height:1.8;}
.request-theme-gohi .request-place-main{margin-top:7px;color:var(--request-muted);font-size:16px;line-height:1.8;}
.request-theme-gohi .request-photo-main{max-width:430px;margin:30px auto 22px;padding:11px;background:#fffdf9;border:1px solid rgba(195,150,108,.72);box-shadow:0 8px 18px rgba(78,54,38,.08);}
.request-theme-gohi .request-photo-main img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;}
.request-theme-gohi .request-honoree-wrap{margin-top:22px;}
.request-theme-gohi .request-honoree-caption{display:block;color:var(--request-muted);font-size:14px;}
.request-theme-gohi .request-honoree-name{display:block;margin-top:4px;color:var(--request-ink);font-size:31px;font-weight:600;}
.request-theme-gohi .request-intro{max-width:590px;margin:17px auto 0;color:var(--request-muted);font-size:16px;line-height:1.95;word-break:keep-all;}
.request-theme-gohi .request-countdown{display:inline-flex;flex-direction:column;align-items:center;gap:5px;margin-top:22px;padding:10px 24px;border:1px solid rgba(184,111,62,.45);border-radius:999px;background:rgba(255,255,255,.58);}
.request-theme-gohi .request-countdown-label{color:var(--request-muted);font-size:12px;letter-spacing:.08em;}
.request-theme-gohi .request-countdown strong{color:var(--request-accent-deep);font-size:22px;font-weight:600;}

.request-theme-gohi .request-section,
.request-theme-gohi .request-application,
.request-theme-gohi .request-footer{margin-top:30px;padding:38px 40px;}
.request-theme-gohi .request-greeting{background:#fbf3e8;}
.request-theme-gohi .request-honoree{background:#eef2e9;}
.request-theme-gohi .request-family-story{background:#f5ede6;}
.request-theme-gohi .request-contact{background:#f1eee6;}
.request-theme-gohi .request-calendar-section{background:#edf2ed;}
.request-theme-gohi .request-location{background:#faf2e9;}
.request-theme-gohi .request-gallery{background:#f2eee7;}
.request-theme-gohi .request-bank{background:#f8f3e9;}
.request-theme-gohi .request-application{background:#f6eee4;}
.request-theme-gohi .request-footer{background:#efe7dc;}

.request-theme-gohi .section-heading{margin-bottom:22px;text-align:center;}
.request-theme-gohi .section-heading-left{text-align:left;}
.request-theme-gohi .section-knot{display:inline-block;position:relative;width:30px;height:30px;margin-bottom:8px;border:1px solid rgba(184,111,62,.55);border-radius:50%;}
.request-theme-gohi .section-knot:before,.request-theme-gohi .section-knot:after{position:absolute;left:50%;top:50%;width:11px;height:11px;border:1px solid rgba(184,111,62,.68);content:'';transform:translate(-50%,-50%) rotate(45deg);}
.request-theme-gohi .section-knot:after{width:5px;height:5px;background:rgba(196,155,91,.28);}
.request-theme-gohi .request-section-title{margin:9px 0 0;color:var(--request-ink);font-size:30px;line-height:1.55;font-weight:500;letter-spacing:-.025em;word-break:keep-all;}
.request-theme-gohi .request-letter{max-width:620px;margin:0 auto;color:var(--request-ink);font-size:16px;line-height:2.05;white-space:pre-line;word-break:keep-all;}
.request-theme-gohi .request-signature{margin-top:22px;color:var(--request-accent-deep);font-size:17px;}

.request-theme-gohi .request-honoree-grid,
.request-theme-gohi .request-family-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:30px;align-items:center;text-align:left;}
.request-theme-gohi .request-photo-honoree,
.request-theme-gohi .request-photo-family{padding:9px;background:#fffdf9;border:1px solid rgba(195,150,108,.62);border-radius:3px;box-shadow:0 6px 16px rgba(72,52,39,.06);}
.request-theme-gohi .request-photo-honoree img,
.request-theme-gohi .request-photo-family img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;}
.request-theme-gohi .request-photo-family img{aspect-ratio:4/3;}
.request-theme-gohi .request-profile-name{margin-bottom:14px;color:var(--request-accent-deep);font-size:29px;font-weight:600;}
.request-theme-gohi .request-profile-facts,
.request-theme-gohi .request-bank-accounts{margin-top:30px;padding:0;}
.request-theme-gohi .request-profile-facts div,
.request-theme-gohi .request-bank-accounts div{padding:13px 0;border-top:1px solid rgba(150,115,84,.2);}
.request-theme-gohi .request-profile-facts div:first-child,
.request-theme-gohi .request-bank-accounts div:first-child{padding-top:0;border-top:0;}
.request-theme-gohi .request-profile-facts dt,
.request-theme-gohi .request-bank-accounts dt,
.request-theme-gohi .request-directions dt{color:var(--request-muted);font-size:14px;line-height:1.7;}
.request-theme-gohi .request-profile-facts dd,
.request-theme-gohi .request-bank-accounts dd,
.request-theme-gohi .request-directions dd{margin:5px 0 0;color:var(--request-ink);font-size:16px;line-height:1.85;}
.request-theme-gohi .request-family-copy .request-intro{margin:0;text-align:left;}

.request-theme-gohi .request-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;}
.request-theme-gohi .request-contact-grid>div{padding:21px 18px;border:1px solid rgba(153,118,86,.26);border-radius:8px;background:rgba(255,255,255,.48);}
.request-theme-gohi .request-contact-role{display:block;color:var(--request-muted);font-size:14px;}
.request-theme-gohi .request-contact-grid strong{display:block;margin-top:5px;color:var(--request-ink);font-size:21px;font-weight:600;}
.request-theme-gohi .request-contact-number{margin-top:8px;color:var(--request-accent-deep);font-size:15px;}

.request-theme-gohi .request-application{text-align:center;}
.request-theme-gohi .request-gift-icon{width:38px;height:38px;margin:0 auto 14px;color:var(--request-accent);}
.request-theme-gohi .request-gift-icon svg{display:block;width:100%;height:100%;}
.request-theme-gohi .request-application h2{color:var(--request-ink);font-size:27px;line-height:1.5;font-weight:500;}
.request-theme-gohi .request-application p{max-width:580px;margin:14px auto 0;color:var(--request-muted);font-size:16px;line-height:1.9;}
.request-theme-gohi .request-apply{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin-top:20px;padding:11px 22px;border:1px solid var(--request-accent);border-radius:8px;background:#fffaf3;color:var(--request-accent-deep);font-size:15px;font-weight:500;line-height:1.5;text-decoration:none;}
.request-theme-gohi .request-apply svg{width:18px;height:18px;}

.request-theme-gohi .request-date-strip{margin:0 0 20px;padding:14px 12px;border-top:1px solid rgba(150,115,84,.25);border-bottom:1px solid rgba(150,115,84,.25);color:var(--request-accent-deep);font-size:17px;}
.request-theme-gohi .request-calendar{width:100%;max-width:none;margin:0 auto;padding:24px 26px;border:1px solid rgba(116,141,122,.34);border-radius:10px;background:rgba(255,255,255,.56);}
.request-theme-gohi .request-calendar-heading{margin-bottom:18px;color:var(--request-ink);font-size:18px;font-weight:600;}
.request-theme-gohi .request-calendar table{table-layout:fixed;width:100%;border:0;border-collapse:collapse;}
.request-theme-gohi .request-calendar th,
.request-theme-gohi .request-calendar td{height:46px;padding:4px;border:0;text-align:center;background:transparent;font-size:15px;line-height:1.4;font-weight:400;}
.request-theme-gohi .request-calendar th{color:var(--request-muted);font-size:13px;font-weight:500;}
.request-theme-gohi .request-calendar th:first-child,
.request-theme-gohi .request-calendar td:first-child{color:#a45a55;}
.request-theme-gohi .request-calendar th:last-child,
.request-theme-gohi .request-calendar td:last-child{color:#687d96;}
.request-theme-gohi .request-calendar td span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:auto;border-radius:50%;}
.request-theme-gohi .request-calendar td .request-calendar-selected{position:relative;background:var(--request-accent-deep);color:#fff;box-shadow:0 4px 10px rgba(143,82,50,.22);}
.request-theme-gohi .request-calendar td .request-calendar-selected:after{position:absolute;left:50%;bottom:-8px;width:4px;height:4px;border-radius:50%;background:var(--request-gold);content:'';transform:translateX(-50%);}
.request-theme-gohi .request-side-note{margin-top:16px;color:var(--request-muted);font-size:15px;}

.request-theme-gohi .request-location-name{color:var(--request-ink);font-size:23px;line-height:1.8;}
.request-theme-gohi .request-address{margin-top:6px;color:var(--request-muted);font-size:15px;}
.request-theme-gohi .request-map-illustration{margin-top:22px;padding:10px;border:1px solid rgba(153,118,86,.25);border-radius:10px;background:#fffdf9;overflow:hidden;}
.request-theme-gohi .request-map-illustration svg{display:block;width:100%;height:auto;}
.request-theme-gohi .request-map-illustration span{display:block;padding:8px 4px 2px;color:var(--request-muted);font-size:14px;}
.request-theme-gohi .request-directions{margin-top:22px;text-align:left;}
.request-theme-gohi .request-directions dt{margin-top:16px;color:var(--request-accent-deep);font-weight:600;}
.request-theme-gohi .request-directions dd{margin-top:5px;}

.request-theme-gohi .request-gallery-view{min-width:0;margin-top:22px;}
.request-theme-gohi .request-gallery-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;}
.request-theme-gohi .request-gallery-photo{display:block;position:relative;min-width:0;padding:7px;border:1px solid rgba(153,118,86,.28);border-radius:8px;background:#fffdf9;overflow:hidden;box-shadow:0 4px 14px rgba(72,52,39,.06);}
.request-theme-gohi .request-gallery-photo img{display:block;width:100%;height:auto;border-radius:4px;}
.request-theme-gohi .request-gallery-photo[hidden],
.request-theme-gohi .request-gallery-view [hidden]{display:none!important;}
.request-theme-gohi .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-gohi .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo{flex:0 0 100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always;}
.request-theme-gohi .request-gallery-view[data-gallery-mode=slide] .request-gallery-photo img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#efe8de;}
.request-theme-gohi .request-gallery-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:16px 0;font-size:14px;}
.request-theme-gohi .request-gallery-navigation svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;}
.request-theme-gohi .request-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;}
.request-theme-gohi .request-gallery-thumbnails button{flex:0 0 58px;width:58px;height:70px;padding:2px;border:1px solid transparent;border-radius:5px;background:none;cursor:pointer;}
.request-theme-gohi .request-gallery-thumbnails button[aria-pressed=true]{border-color:var(--request-accent);}
.request-theme-gohi .request-gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px;}
.request-theme-gohi .request-gallery-more{margin-top:18px;}
.request-theme-gohi .request-gallery-empty{padding:30px 10px;color:var(--request-muted);font-size:15px;}
.request-theme-gohi .request-gallery-caption{margin-top:20px;color:var(--request-muted);font-size:15px;line-height:1.9;}

.request-theme-gohi .request-footer{padding-top:28px;color:var(--request-muted);font-size:15px;}
.request-theme-gohi .request-footer-pattern{height:34px;margin:0 auto 18px;background:
    linear-gradient(135deg,transparent 42%,rgba(184,111,62,.45) 42% 48%,transparent 48% 52%,rgba(196,155,91,.42) 52% 58%,transparent 58%) center/28px 28px repeat-x;opacity:.8;}
.request-theme-gohi .request-footer-note{line-height:1.9;}
.request-theme-gohi .request-footer .request-signature{margin-top:12px;color:var(--request-ink);}

[data-gohi-effects]{position:relative;isolation:isolate;}
.gohi-particles{position:absolute;top:0;left:0;right:0;height:100svh;z-index:6;overflow:hidden;pointer-events:none;}
.gohi-particle{position:absolute;left:var(--gohi-left);top:-34px;width:14px;height:14px;opacity:0;animation:gohi-knot-fall var(--gohi-duration) var(--gohi-delay) linear infinite;}
.gohi-particle:before,.gohi-particle:after{position:absolute;inset:0;border:1px solid rgba(184,111,62,.54);content:'';transform:rotate(45deg);}
.gohi-particle:after{inset:3px;border-color:rgba(196,155,91,.7);transform:rotate(0deg);}
@keyframes gohi-knot-fall{0%{opacity:0;transform:translate3d(0,-25px,0) rotate(0);}12%{opacity:0.9175;}75%{opacity:0.6475;}100%{opacity:0;transform:translate3d(25px,var(--gohi-travel,100svh),0) rotate(180deg);}}
.gohi-effects-paused .gohi-particle{animation-play-state:paused;}
.gohi-motion-ready [data-gohi-reveal]{opacity:0;transform:translateY(22px);transition:opacity .82s ease,transform .82s cubic-bezier(.2,.65,.25,1);}
.gohi-motion-ready [data-gohi-reveal].gohi-revealed{opacity:1;transform:none;}

@media(max-width:700px){
    .request-theme-gohi .request-sheet{padding:16px 14px 28px;}
    .request-theme-gohi .request-hero{padding:38px 26px 42px;}
    .request-theme-gohi .request-title{font-size:34px;}
    .request-theme-gohi .request-section,
    .request-theme-gohi .request-application,
    .request-theme-gohi .request-footer{padding:32px 24px;}
    .request-theme-gohi .request-honoree-grid,
    .request-theme-gohi .request-family-grid{grid-template-columns:1fr;text-align:center;}
    .request-theme-gohi .section-heading-left{text-align:center;}
    .request-theme-gohi .request-family-copy .request-intro{text-align:center;}
    .request-theme-gohi .request-photo-honoree,
    .request-theme-gohi .request-photo-family{max-width:360px;margin:0 auto;}
    .request-theme-gohi .request-calendar{padding:20px 14px;}
}
@media(max-width:430px){
    .request-theme-gohi .request-sheet{padding:12px 8px 24px;}
    .request-theme-gohi .request-hero{padding:34px 18px 36px;}
    .request-theme-gohi .request-knot-wrap svg{width:104px;}
    .request-theme-gohi .request-title{font-size:29px;}
    .request-theme-gohi .request-section,
    .request-theme-gohi .request-application,
    .request-theme-gohi .request-footer{padding:28px 18px;}
    .request-theme-gohi .request-section-title{font-size:25px;}
    .request-theme-gohi .request-contact-grid{grid-template-columns:1fr;}
    .request-theme-gohi .request-gallery-track{grid-template-columns:1fr;}
    .request-theme-gohi .request-calendar th,
    .request-theme-gohi .request-calendar td{height:42px;padding:2px;font-size:14px;}
    .request-theme-gohi .request-calendar td span{width:32px;height:32px;}
    .request-theme-gohi .request-apply{width:100%;}
}
@media(prefers-reduced-motion:reduce){
    [data-gohi-effects]:not([data-gohi-motion=on]) .gohi-particles{display:none!important;}
    [data-gohi-effects]:not([data-gohi-motion=on]).gohi-motion-ready [data-gohi-reveal]{opacity:1;transform:none;transition:none;}
    [data-gohi-effects]:not([data-gohi-motion=on]) *{scroll-behavior:auto;}
}

.request-theme-gohi .request-hero{position:relative;}
.request-theme-gohi .gohi-effects-toggle{position:absolute !important;top:80px;right:20px;z-index:12;display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid #d7b68f;border-radius:20px;background:rgba(251,246,238,.9);color:#8f5232;font:inherit;font-size:15px;line-height:1.4;cursor:pointer;}
.request-theme-gohi .gohi-effects-toggle[hidden]{display:none;}
.request-theme-gohi .gohi-effects-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px;}

/* 확장된 테마 효과 */
.request-theme-gohi .theme-atmosphere>i[style*="--duration"]{animation-duration:calc(var(--duration) * .72)!important;scale:1.2;}
.request-theme-gohi .theme-atmosphere{max-height:none;}
.request-theme-gohi .gohi-knot{animation-duration:calc(var(--gohi-duration) * .74);scale:1.18;}
