/* 2번 판(학습 반영, 2026-11-13): 상아·금색 잡지 + 굵은 글자 + 봉투 오프닝 + 크게 넘기는 화보 */
:root{
  --paper:#F7F3EC; --paper2:#EFE8DC; --cream:#FFFDF9;
  --ink:#1A1713; --ink2:#2F2A24; --mute:#6A6157; --line:#D8CEBD;
  --gold:#8C6A33; --gold2:#C9AE7E; --red:#8C6A33; --night:#14120F; --sun:#A0412F;
}
body{background:#E4DCCE}
.wrap{background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .24 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.cv-col .tag{background:var(--gold);color:#fff}
.cv-names i,.in-nm i{color:#E6C98F}
.day,.loc,.gb{background:rgba(214,198,170,.28)}
.cal span.on{background:var(--ink)}
.dday b{color:var(--gold)}

/* 화보: 한 장씩 크게, 옆으로 넘기기 */
.gal.swipe{display:flex;flex-direction:row;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--paper2)}
.gal.swipe::-webkit-scrollbar{display:none}
.gal .ph.sl{flex:0 0 100%;height:min(132vw,620px);scroll-snap-align:center;display:grid;place-items:center;padding:0;background:var(--paper2)}
.gal .ph.sl img{width:100%;height:100%;object-fit:contain}
.sw-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px 0;font:700 14px/1 var(--disp);letter-spacing:.2em;font-variant-numeric:lining-nums tabular-nums}
.sw-bar button{width:44px;height:44px;border:1.5px solid var(--ink);border-radius:50%;font:700 18px/1 var(--sans);display:grid;place-items:center}
.sw-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:16px 30px 0}
.sw-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer}
.sw-dots i.on{background:var(--gold)}

/* 봉투 오프닝 */
.intro.env{background:radial-gradient(120% 80% at 50% 30%,#2A241D,#100E0B 75%)}
.intro.env::after{display:none}
.env-c{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:0 20px}
.env-kick{font:italic 700 14px/1 var(--disp);letter-spacing:.14em;color:#E6C98F}
.env-to{font:600 15px/1.4 var(--sans);color:#F4EEE2;margin-top:12px;letter-spacing:.04em}
.envelope{position:relative;width:min(84vw,340px);aspect-ratio:1.45;margin:56px 0 34px;perspective:900px}
.env-back{position:absolute;inset:0;background:#E9DFCD;border-radius:4px;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.env-back::before{content:"";position:absolute;inset:8px;background:repeating-linear-gradient(45deg,#C9AE7E 0 2px,transparent 2px 9px);opacity:.35}
.env-card{position:absolute;left:7%;right:7%;top:6%;bottom:6%;background:#fff;overflow:hidden;z-index:1;transition:transform 1s cubic-bezier(.22,.61,.36,1) .55s}
.env-card img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:brightness(.82)}
.ec-mast{position:absolute;top:8%;left:0;right:0;text-align:center;font:900 46px/1 var(--disp);color:#fff;letter-spacing:-.01em}
.ec-nm{position:absolute;bottom:10%;left:0;right:0;text-align:center;font:900 16px/1 var(--serif);color:#fff}
.env-front{position:absolute;inset:0;z-index:2;background:linear-gradient(160deg,#F5EEE1,#E8DCC6);border-radius:4px;clip-path:polygon(0 30%,50% 64%,100% 30%,100% 100%,0 100%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:9%}
.ef-nm{font:900 21px/1.2 var(--serif);color:var(--ink)}
.ef-nm i{font:italic 700 19px var(--disp);color:var(--gold);margin:0 .2em}
.ef-d{font:700 11px/1 var(--disp);letter-spacing:.16em;color:var(--ink2);margin-top:8px}
.env-flap{position:absolute;left:0;right:0;top:0;height:66%;z-index:3;background:linear-gradient(180deg,#EFE5D3,#DCCDB2);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transition:transform .7s cubic-bezier(.4,0,.2,1),z-index 0s .35s;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
.env-seal{position:absolute;left:50%;top:66%;z-index:4;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#B2433A,#7A1F1A 70%);box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.08);display:grid;place-items:center;transition:opacity .4s,transform .4s}
.env-seal span{font:italic 700 19px/1 var(--disp);color:#F3D9C9}
.env-seal span i{font-size:15px;margin:0 1px}
.intro.opening .env-seal{opacity:0;transform:scale(1.3)}
.intro.opening .env-flap{transform:rotateX(180deg);z-index:0}
.intro.opening .env-card{transform:translateY(-62%)}
.env .in-btn{margin-top:0}
.env .in-note{color:#F4EEE2}
@media (prefers-reduced-motion:reduce){.intro.opening .env-card{transform:none}}
/* 고침: 닫힌 봉투에 카드가 비치지 않게 · 봉인과 이름 겹침 없게 */
.env-front{clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%);padding-bottom:6%}
.env-flap{height:62%}
.env-seal{top:58%;width:54px;height:54px;margin:-27px 0 0 -27px}
.env-seal span{font-size:17px}
.ef-nm{font-size:19px}
.env-card{opacity:0;transition:transform 1s cubic-bezier(.22,.61,.36,1) .55s,opacity .2s .4s}
.intro.opening .env-card{opacity:1}
