/* 칠순 ① 세 폭 병풍 · 옻칠 검정 + 금박 + 먹선, 상아 종이 */
:root{
  --page:#E8E1D3; --paper:#FAF6EE; --fg:#2B2622; --sub:#7E7366; --line:#E2D8C6;
  --accent:#8C2A2A; --on-accent:#fff; --sun:#8C2A2A; --gold:#B08D4A; --lac:#1E1612;
  --font:'Nanum Myeongjo',serif; --disp:'Song Myung',serif;
  --card:#FAF6EE; --fab-bg:rgba(30,22,18,.55);
}
body{background:var(--page)}
.main{max-width:480px;margin:0 auto;background:var(--paper);overflow:hidden;box-shadow:0 0 50px rgba(40,30,20,.15)}
.k{font:400 18px/1 var(--disp);letter-spacing:.4em;padding-left:.4em;color:var(--accent);margin-bottom:18px}
h2{font:400 26px/1.4 var(--disp);margin-bottom:10px}
.sub{font-size:15px;color:var(--sub);margin-top:12px}
.sec{padding:62px 24px 22px;text-align:center}
.cv{padding:64px 22px 30px;text-align:center;background:linear-gradient(var(--lac),#2B1F18 62%,var(--paper) 62%)}
.cv-han{font:400 54px/1 var(--disp);color:#E3C88E;letter-spacing:.2em;padding-left:.2em}
.cv h1{color:#F4E9D6;font:400 30px/1.4 var(--disp);margin:18px 0 26px}
.cv h1 span{font-size:22px}
.cv h1 small{display:block;font:700 19px var(--font);color:#E3C88E;margin-top:6px}
.cv-ph{border:3px solid var(--gold);outline:1px solid var(--gold);outline-offset:5px;margin:0 14px;background:#fff}
.cv-ph img{width:100%;height:auto}
.cv-d{font-size:21px;font-weight:700;margin-top:28px}
.cv-v{font-size:18px;color:var(--sub)}
.lt{font-size:19px;line-height:2}
.big{font:400 34px/1.3 var(--disp)}
.tm{font-size:19px;margin:6px 0 18px}
.tm small{display:block;font-size:16px;color:var(--sub)}
.calw{background:#fff;border:1px solid var(--line);padding:14px 8px;margin-bottom:16px}
.cal td.on span{background:var(--accent)}
.dd{font-size:18px;margin-bottom:18px}.dd b{font:400 30px var(--disp);color:var(--accent)}
.place .map{height:250px}
.place .ways,.place .maplinks{text-align:left}
.gps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gp img{width:100%;aspect-ratio:1;object-fit:cover}
.gp:first-child{grid-column:span 2}.gp:first-child img{aspect-ratio:16/10}
.gb{margin-top:34px;text-align:left}
.gb-head{display:flex;justify-content:space-between;align-items:center}
.gb-head h3{font:400 22px var(--disp)}
.heart{text-align:left}.heart .k{text-align:center}
.ft{text-align:center;padding:40px 24px 60px;background:var(--lac);color:#F4E9D6}
.ft-han{font:400 40px/1 var(--disp);color:#E3C88E;letter-spacing:.2em}
.ft-t{font-size:19px;line-height:1.9;margin:18px 0 24px}
.sh{display:flex;gap:8px;justify-content:center}
.ft .btn-line{color:#F4E9D6}
/* 병풍 펼치기 */
.bs-intro{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(120% 80% at 50% 40%,#3A2A1E,#120C08 75%);transition:opacity 1s,visibility 1s}
.bs-intro.gone{opacity:0;visibility:hidden}
.screen{display:flex;width:min(90vw,390px);aspect-ratio:1.2;perspective:1600px}
.pan{position:relative;flex:1;transform-style:preserve-3d;transition:transform 2.2s cubic-bezier(.6,.05,.25,1) .2s}
.p1{transform-origin:right center;transform:rotateY(180deg);z-index:2}
.p3{transform-origin:left center;transform:rotateY(-180deg);z-index:3}
.bs-intro.open .p1,.bs-intro.open .p3{transform:none}
.fr,.bk{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fr{background:linear-gradient(135deg,#D9BC7C,#F0DCA8 40%,#C9A35E 70%,#E8CF92);border:5px solid #2B1A10;box-shadow:inset 0 0 0 2px #8A6A34}
.fr::after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(120,90,40,.12) 1px,transparent 1px),linear-gradient(rgba(120,90,40,.12) 1px,transparent 1px);background-size:25% 12%}
.fr svg{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
.pt{position:absolute;left:0;right:0;bottom:18%;text-align:center;font:400 30px/1 var(--disp);color:#2B2015;writing-mode:vertical-rl;margin:0 auto;width:30px;letter-spacing:.2em;z-index:2;top:30%}
.bk{transform:rotateY(180deg);background:linear-gradient(160deg,#2A1E16,#140D09);border:5px solid #2B1A10;box-shadow:inset 0 0 0 2px var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#E3C88E}
.bk b{font:400 34px/1 var(--disp);writing-mode:vertical-rl;letter-spacing:.3em}
.bk small{font-size:13px;color:#CDB78C;text-align:center;padding:0 6px;line-height:1.5}
.bs-btn{margin-top:30px;background:var(--gold);color:#1E1612;padding:16px 34px;font:700 19px var(--font);border-radius:4px;transition:opacity .6s}
.bs-n{color:#CDB78C;font-size:15px;margin-top:12px;transition:opacity .6s}
.bs-intro.open .bs-btn,.bs-intro.open .bs-n{opacity:0}
