:root{
  --paper:#F3EFE6; --paper-2:#EAE4D7; --card:#FBF9F4;
  --ink:#16140F; --ink-2:#3B372F; --muted:#7A7264; --line:rgba(22,20,15,.13);
  --seal:#A8361F; --seal-2:#C4553B; --gold:#9A7B3F;
  --night:#0F0E0C; --night-2:#1A1815; --night-3:#26231E; --cream:#EDE6D8; --cream-2:#B9B0A0;
  --serif-en:"Cormorant Garamond", "Noto Serif KR", Georgia, serif;
  --serif:"Noto Serif KR", "Cormorant Garamond", Georgia, serif;
  --sans:"IBM Plex Sans KR", system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
::selection{background:var(--seal);color:#fff}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.en{font-family:var(--serif-en)}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;padding:14px var(--gut);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}
.seal{width:28px;height:28px;background:var(--seal);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:14px;border-radius:3px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
.word{font-family:var(--serif-en);font-weight:600;font-size:21px;letter-spacing:.22em}
.nav{display:flex;gap:28px;margin-left:24px;font-size:14px}
.nav a{color:var(--ink-2);position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.nav a.on{color:var(--ink)}
.top-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line);border-radius:99px;padding:2px}
.lang button{font-size:11.5px;letter-spacing:.08em;padding:5px 11px;border-radius:99px;color:var(--muted);transition:.25s}
.lang button.on{background:var(--ink);color:var(--paper)}
.menu-btn{display:none;width:34px;height:34px;position:relative}
.menu-btn span{position:absolute;left:8px;right:8px;height:1.5px;background:currentColor;transition:.3s}
.menu-btn span:first-child{top:13px}.menu-btn span:last-child{top:20px}
body.menu-open .menu-btn span:first-child{top:16.5px;transform:rotate(45deg)}
body.menu-open .menu-btn span:last-child{top:16.5px;transform:rotate(-45deg)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:2px;font-size:14.5px;font-weight:500;letter-spacing:.01em;transition:.3s var(--ease);white-space:nowrap}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--seal)}
.btn-line{border:1px solid var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-seal{background:var(--seal);color:#fff}
.btn-seal:hover{background:var(--ink)}
.btn-sm{height:38px;padding:0 15px;font-size:13px}
.arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow,.link:hover .arrow{transform:translateX(4px)}
.link{display:inline-flex;gap:8px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:2px}

/* ---------- art image frame ---------- */
.art{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--paper-2),#DCD3C2);aspect-ratio:4/5}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
.art img.in{opacity:1}
.art .ph{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font-family:var(--serif);color:rgba(22,20,15,.38);font-size:clamp(15px,2vw,20px);line-height:1.35}
.art.contain img{object-fit:contain}
a:hover .art img.in{transform:scale(1.035)}

/* ---------- hero ---------- */
.hero{padding:clamp(40px,7vw,96px) 0 clamp(48px,7vw,90px)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,90px);align-items:center}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(38px,6.4vw,84px);line-height:1.08;letter-spacing:-.035em;margin:18px 0 26px}
.hero h1 em{font-family:var(--serif-en);font-style:italic;font-weight:500;color:var(--seal);letter-spacing:-.01em}
.hero .lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink-2);max-width:34em;margin:0 0 34px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-art{position:relative}
.hero-art .art{aspect-ratio:4/5;box-shadow:0 40px 80px -40px rgba(22,20,15,.45)}
.hero-cap{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12.5px;color:var(--muted)}
.wall-label{position:absolute;left:-36px;bottom:42px;width:230px;background:var(--card);padding:16px 16px 14px;box-shadow:0 24px 50px -20px rgba(22,20,15,.4);display:grid;grid-template-columns:1fr 64px;gap:12px;align-items:end}
.wall-label b{display:block;font-family:var(--serif);font-size:14.5px;line-height:1.3;font-weight:600}
.wall-label small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}
.wall-label .scan{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--seal);display:flex;align-items:center;gap:8px}
.wall-label .scan::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--seal);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(168,54,31,.5)}100%{box-shadow:0 0 0 10px rgba(168,54,31,0)}}
.qr-mini canvas,.qr-mini img{width:64px!important;height:64px!important}

/* ---------- marquee ---------- */
.marquee{border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:16px 0;background:var(--paper)}
.marquee-in{display:inline-flex;gap:56px;animation:mq 42s linear infinite;font-family:var(--serif-en);font-size:22px;font-style:italic;color:var(--ink-2)}
.marquee-in span::after{content:"✦";font-style:normal;font-size:11px;color:var(--seal);margin-left:56px;vertical-align:middle}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding:clamp(64px,9vw,128px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(32px,4vw,56px);flex-wrap:wrap}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.8vw,48px);line-height:1.15;letter-spacing:-.03em;margin:12px 0 0;max-width:18em}
.sec-head p{max-width:30em;color:var(--ink-2);margin:0}
.sec.dark{background:var(--night);color:var(--cream)}
.sec.dark .eyebrow{color:var(--cream-2)}
.sec.dark .sec-head p{color:var(--cream-2)}

.products{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.product{background:var(--paper);padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;gap:18px;min-height:440px;position:relative}
.product .tag{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--seal);font-weight:600}
.product h3{font-family:var(--serif);font-size:clamp(26px,2.8vw,36px);font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0}
.product p{color:var(--ink-2);margin:0}
.product ul{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:10px;font-size:14.5px}
.product li{display:flex;gap:12px}
.product li::before{content:"";flex:0 0 14px;height:1px;background:var(--ink);margin-top:12px}
.product .price{margin-top:auto;display:flex;align-items:baseline;gap:8px;font-family:var(--serif-en)}
.product .price b{font-size:40px;font-weight:500;letter-spacing:-.02em}
.product .price span{color:var(--muted);font-family:var(--sans);font-size:14px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);counter-reset:s}
.step{border-top:1px solid rgba(237,230,216,.2);padding-top:24px}
.step .n{font-family:var(--serif-en);font-size:56px;line-height:1;color:var(--seal-2);font-style:italic}
.step h4{font-family:var(--serif);font-size:21px;font-weight:600;margin:18px 0 8px;letter-spacing:-.02em}
.step p{color:var(--cream-2);margin:0;font-size:15px}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,32px)}
.tcard .art{aspect-ratio:3/4}
.tcard .meta{padding-top:16px}
.tcard .num{font-family:var(--serif-en);font-style:italic;color:var(--seal);font-size:18px}
.tcard h3{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:-.02em;margin:4px 0 2px;line-height:1.3}
.tcard .by{font-size:13.5px;color:var(--muted)}
.tcard .lock-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:.08em;color:var(--seal);margin-top:8px}

.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.plan{background:var(--paper);padding:30px 26px;display:flex;flex-direction:column;gap:14px}
.plan.feat{background:var(--ink);color:var(--paper)}
.plan.feat .muted,.plan.feat li{color:#CFC8BA}
.plan h4{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.plan .amt{font-family:var(--serif-en);font-size:38px;line-height:1;font-weight:500;letter-spacing:-.02em}
.plan .amt small{font-family:var(--sans);font-size:13px;color:var(--muted);margin-left:4px;letter-spacing:0}
.plan ul{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:8px;font-size:14px;color:var(--ink-2)}
.plan li::before{content:"— ";color:var(--seal)}
.plan .btn{margin-top:auto;justify-content:center}
.plan.feat .btn-line{border-color:var(--paper);color:var(--paper)}
.plan.feat .btn-line:hover{background:var(--paper);color:var(--ink)}

.founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,90px);align-items:center}
.founder blockquote{margin:0;font-family:var(--serif);font-size:clamp(22px,2.6vw,32px);line-height:1.5;letter-spacing:-.02em;font-weight:400}
.founder blockquote::before{content:"“";display:block;font-family:var(--serif-en);font-size:96px;line-height:.6;color:var(--seal)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.fact{padding:22px 0;border-bottom:1px solid var(--line)}
.fact b{display:block;font-family:var(--serif-en);font-size:46px;font-weight:500;line-height:1;letter-spacing:-.02em}
.fact span{font-size:13.5px;color:var(--muted)}

.cta-band{background:var(--seal);color:#fff;padding:clamp(56px,8vw,100px) 0}
.cta-band h2{font-family:var(--serif);font-size:clamp(28px,4vw,52px);letter-spacing:-.03em;margin:0 0 26px;line-height:1.15;font-weight:600}
.cta-band .btn{background:#fff;color:var(--ink)}
.cta-band .btn:hover{background:var(--ink);color:#fff}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);padding:48px var(--gut) 60px;font-size:13px;color:var(--muted)}
.foot-in{max-width:var(--wrap);margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot a{border-bottom:1px solid var(--line)}

/* ---------- page head ---------- */
.phead{padding:clamp(40px,6vw,80px) 0 clamp(24px,3vw,40px)}
.phead h1{font-family:var(--serif);font-size:clamp(34px,5vw,64px);letter-spacing:-.035em;line-height:1.1;margin:14px 0 14px;font-weight:600}
.phead p{color:var(--ink-2);max-width:40em;margin:0}

/* ---------- today ---------- */
.today-date{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.today-date .d{font-family:var(--serif-en);font-size:clamp(54px,8vw,110px);line-height:.9;font-weight:500;letter-spacing:-.04em}
.today-date .m{font-family:var(--serif-en);font-style:italic;font-size:clamp(20px,2.4vw,30px);color:var(--ink-2)}
.day-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,72px);padding:clamp(40px,6vw,80px) 0;border-top:1px solid var(--line);align-items:start}
.day-card:nth-child(even) .day-art{order:2}
.day-art{position:sticky;top:90px}
.day-art .art{aspect-ratio:4/5;box-shadow:0 30px 60px -36px rgba(22,20,15,.45)}
.day-num{font-family:var(--serif-en);font-style:italic;font-size:26px;color:var(--seal)}
.day-body h2{font-family:var(--serif-en);font-weight:500;font-size:clamp(32px,4vw,50px);line-height:1.05;letter-spacing:-.02em;margin:10px 0 6px}
.day-body .kot{font-family:var(--serif);font-size:16px;color:var(--muted);margin:0 0 16px}
.day-body .byline{font-size:14px;color:var(--ink-2);margin:0 0 24px;display:flex;gap:10px;flex-wrap:wrap}
.day-body .byline span+span::before{content:"·";margin-right:10px;color:var(--muted)}
.tagline{font-family:var(--serif-en);font-style:italic;font-size:clamp(20px,2vw,25px);line-height:1.35;color:var(--ink);margin:0 0 22px;padding-left:18px;border-left:2px solid var(--seal)}
.commentary{font-family:var(--serif-en);font-size:clamp(19px,1.7vw,21px);line-height:1.62;color:var(--ink-2)}
.commentary p{margin:0 0 1em}
.commentary::first-letter{font-size:3.4em;float:left;line-height:.82;padding:6px 10px 0 0;color:var(--ink);font-weight:500}
.ko-trans{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ko-trans summary{cursor:pointer;padding:14px 0;font-size:14px;font-weight:500;list-style:none;display:flex;justify-content:space-between}
.ko-trans summary::after{content:"+";font-size:20px;line-height:1;transition:transform .3s}
.ko-trans[open] summary::after{transform:rotate(45deg)}
.ko-trans div{font-family:var(--serif);font-size:16px;line-height:1.9;color:var(--ink-2);padding:0 0 18px}
.words{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0 26px}
.words div{background:var(--card);padding:14px 14px 12px}
.words b{display:block;font-family:var(--serif-en);font-size:19px;font-weight:600;font-style:italic;line-height:1.2}
.words span{font-size:12.5px;color:var(--muted)}
.words-h{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:26px 0 0}
.locked{position:relative}
.locked .fade{position:relative;max-height:170px;overflow:hidden}
.locked .fade::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,var(--paper) 85%)}
.lock-box{border:1px solid var(--ink);padding:26px;margin-top:8px;background:var(--card)}
.lock-box h4{font-family:var(--serif);font-size:20px;margin:0 0 6px;letter-spacing:-.02em}
.lock-box p{margin:0 0 18px;color:var(--ink-2);font-size:14.5px}
.member-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;background:var(--ink);color:var(--paper);font-size:14px;margin-top:28px}

/* ---------- explore ---------- */
.searchbar{display:flex;border-bottom:2px solid var(--ink);align-items:center;gap:12px;margin:8px 0 18px}
.searchbar input{flex:1;border:0;background:transparent;font-family:var(--serif);font-size:clamp(20px,2.6vw,30px);padding:14px 0;outline:0;letter-spacing:-.02em;min-width:0}
.searchbar input::placeholder{color:#B3AB9C}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.chip{border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:13px;color:var(--ink-2);transition:.2s;background:transparent}
.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(16px,2vw,28px) clamp(14px,1.8vw,24px)}
.gcard{position:relative}
.gcard .art{aspect-ratio:4/5}
.gcard h3{font-family:var(--serif);font-size:16.5px;font-weight:600;margin:12px 0 2px;line-height:1.35;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gcard .by{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.src{position:absolute;top:10px;left:10px;z-index:2;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;background:rgba(251,249,244,.92);padding:4px 8px;font-weight:600}
.add{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(251,249,244,.94);display:grid;place-items:center;font-size:18px;line-height:1;transition:.25s;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.add:hover{background:var(--ink);color:var(--paper)}
.add.on{background:var(--seal);color:#fff}
.note{font-size:13.5px;color:var(--muted)}
.spinner{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{padding:60px 0;text-align:center;color:var(--muted)}

/* ---------- studio ---------- */
.studio{display:grid;grid-template-columns:380px 1fr;gap:clamp(24px,4vw,56px);align-items:start;padding-bottom:80px}
.panel{background:var(--card);border:1px solid var(--line);padding:24px;position:sticky;top:86px}
.panel h3{font-family:var(--serif);font-size:18px;margin:0 0 14px;letter-spacing:-.02em}
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.field input,.field textarea{border:1px solid var(--line);background:var(--paper);padding:11px 12px;border-radius:2px;outline:0;font-size:14.5px;width:100%}
.field input:focus,.field textarea:focus{border-color:var(--ink)}
.field textarea{min-height:96px;resize:vertical;line-height:1.6}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.panel details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.panel summary{cursor:pointer;font-weight:500;font-size:14px}
.labels{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.label{background:#fff;border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr 96px;gap:16px;position:relative;min-height:190px}
.label .lt{font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.02em}
.label .le{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--ink-2);margin-top:2px}
.label .la{font-size:13px;margin-top:10px}
.label .lm{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.45}
.label .lq{align-self:end}
.label .lq canvas,.label .lq img{width:96px!important;height:96px!important}
.label .ls{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;color:var(--seal)}
.label .rm{position:absolute;top:8px;right:10px;font-size:18px;color:var(--muted);line-height:1}
.label .rm:hover{color:var(--seal)}
.studio-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px;align-items:center}
.studio-bar .cnt{margin-left:auto;font-size:13px;color:var(--muted)}
.xqr{display:flex;gap:24px;align-items:center;background:var(--ink);color:var(--paper);padding:22px;margin-top:24px}
.xqr .q{background:#fff;padding:8px}
.xqr .q canvas,.xqr .q img{width:110px!important;height:110px!important}

/* ---------- viewer (dark) ---------- */
body.v{background:var(--night);color:var(--cream)}
body.v .top{background:color-mix(in srgb,var(--night) 82%,transparent);border-bottom-color:rgba(237,230,216,.08)}
body.v .nav,body.v .menu-btn,body.v .foot{display:none}
body.v .lang{border-color:rgba(237,230,216,.18)}
body.v .lang button{color:var(--cream-2)}
body.v .lang button.on{background:var(--cream);color:var(--night)}
.viewer{max-width:760px;margin:0 auto;padding:0 0 140px}
.v-stage{background:#000;position:relative;display:grid;place-items:center;min-height:42vh}
.v-stage .art{aspect-ratio:auto;width:100%;height:min(58vh,760px);background:#0a0a09}
@media (max-width:560px){.v-stage .art{height:50vh}.v-stage{min-height:0}}
.v-stage .art img{object-fit:contain}
.v-stage .art .ph{color:rgba(237,230,216,.3)}
.v-zoom{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;background:rgba(15,14,12,.7);display:grid;place-items:center;font-size:15px;backdrop-filter:blur(6px)}
.v-head{padding:28px var(--gut) 8px}
.v-head .eyebrow{color:var(--cream-2)}
.v-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,6vw,44px);letter-spacing:-.03em;line-height:1.18;margin:12px 0 6px}
.v-head .alt{font-family:var(--serif-en);font-style:italic;font-size:19px;color:var(--cream-2)}
.v-head .who{margin-top:14px;font-size:15px;display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--cream)}
.v-head .who span+span::before{content:"·";margin-right:12px;color:#6d665a}
.v-tag{margin:22px var(--gut) 0;font-family:var(--serif);font-size:19px;line-height:1.5;padding-left:16px;border-left:2px solid var(--seal-2)}
.v-tag.en{font-family:var(--serif-en);font-style:italic;font-size:22px}
.v-tabs{display:flex;gap:6px;margin:28px var(--gut) 0;flex-wrap:wrap}
.v-tabs button{border:1px solid rgba(237,230,216,.2);border-radius:99px;padding:7px 14px;font-size:13px;color:var(--cream-2)}
.v-tabs button.on{background:var(--cream);color:var(--night);border-color:var(--cream)}
.v-text{padding:22px var(--gut) 0;font-family:var(--serif);font-size:18px;line-height:2;color:#DCD4C4}
.v-text.en{font-family:var(--serif-en);font-size:21px;line-height:1.7}
.v-text .s{transition:background .3s,color .3s;border-radius:3px;padding:1px 0;cursor:pointer}
.v-text .s.cur{background:rgba(196,85,59,.24);color:#fff;box-shadow:0 0 0 3px rgba(196,85,59,.24)}
.v-note{margin:14px var(--gut) 0;font-size:12.5px;color:#8E8676;line-height:1.6}
.v-note a{border-bottom:1px solid #5a5449}
.v-sec{margin:44px var(--gut) 0}
.v-sec h3{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-2);margin:0 0 16px;font-weight:500}
.look{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:l}
.look li{counter-increment:l;display:grid;grid-template-columns:40px 1fr;padding:14px 0;border-top:1px solid rgba(237,230,216,.1);font-size:15.5px;line-height:1.6}
.look li::before{content:counter(l,decimal-leading-zero);font-family:var(--serif-en);font-style:italic;color:var(--seal-2);font-size:18px}
.v-words{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(237,230,216,.1);border:1px solid rgba(237,230,216,.1)}
.v-words div{background:var(--night-2);padding:14px}
.v-words b{display:block;font-family:var(--serif-en);font-style:italic;font-size:18px;font-weight:500;color:#fff}
.v-words span{font-size:12.5px;color:var(--cream-2)}
.meta-t{width:100%;border-collapse:collapse;font-size:14px}
.meta-t th{text-align:left;font-weight:400;color:#8E8676;padding:11px 16px 11px 0;width:30%;vertical-align:top;border-top:1px solid rgba(237,230,216,.1)}
.meta-t td{padding:11px 0;border-top:1px solid rgba(237,230,216,.1)}
.meta-t a{border-bottom:1px solid #5a5449}
.v-more{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.v-more .art{aspect-ratio:3/4;background:var(--night-3)}
.v-more .art .ph{color:rgba(237,230,216,.3);font-size:13px}
.v-more p{font-size:13px;margin:8px 0 0;color:var(--cream-2);line-height:1.4}
.player{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));background:rgba(20,18,15,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(237,230,216,.1)}
.player-in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:14px}
.play{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:var(--seal);color:#fff;display:grid;place-items:center;transition:.25s;box-shadow:0 8px 24px -8px rgba(196,85,59,.7)}
.play:hover{transform:scale(1.05)}
.play svg{width:20px;height:20px}
.p-info{flex:1;min-width:0}
.p-title{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-bar{height:2px;background:rgba(237,230,216,.14);margin-top:8px;position:relative}
.p-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--seal-2);width:0;transition:width .4s}
.p-sub{font-size:11.5px;color:#8E8676;margin-top:6px;display:flex;justify-content:space-between;gap:8px;white-space:nowrap;min-width:0}
.p-sub #plang{overflow:hidden;text-overflow:ellipsis}
@media (max-width:420px){.p-sub #plang{display:none}}
.rate{border:1px solid rgba(237,230,216,.2);border-radius:99px;padding:6px 10px;font-size:12px;color:var(--cream-2);min-width:52px}
.bgm{width:36px;height:36px;flex:0 0 36px;border:1px solid rgba(237,230,216,.2);border-radius:50%;display:grid;place-items:center;color:var(--cream-2);opacity:.5;transition:.25s}
.bgm svg{width:16px;height:16px}
.bgm.on{opacity:1;color:var(--seal-2);border-color:rgba(196,85,59,.55)}
.zoom-layer{position:fixed;inset:0;z-index:90;background:#000;display:grid;place-items:center;overflow:auto}
.zoom-layer img{max-width:none;width:180%;height:auto}
.zoom-layer .x{position:fixed;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px}

/* exhibition */
.xhead{padding:44px var(--gut) 20px;text-align:center}
.xhead h1{font-family:var(--serif);font-size:clamp(30px,6vw,46px);letter-spacing:-.03em;margin:12px 0 8px;line-height:1.2}
.xhead p{color:var(--cream-2);margin:0}
.xlist{list-style:none;padding:0 var(--gut);margin:20px 0 0}
.xlist li a{display:grid;grid-template-columns:34px 76px 1fr 20px;gap:14px;align-items:center;padding:14px 0;border-top:1px solid rgba(237,230,216,.1)}
.xlist .i{font-family:var(--serif-en);font-style:italic;color:var(--seal-2);font-size:18px}
.xlist .art{aspect-ratio:1;background:var(--night-3)}
.xlist .art .ph{font-size:10px;color:rgba(237,230,216,.3)}
.xlist b{display:block;font-family:var(--serif);font-weight:600;font-size:16px;line-height:1.35}
.xlist small{color:var(--cream-2);font-size:13px}

/* modal + toast */
.modal{position:fixed;inset:0;z-index:100;background:rgba(15,14,12,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;grid-template-columns:minmax(0,1fr)}
.modal[hidden]{display:none}
.modal-box{background:var(--paper);color:var(--ink);max-width:460px;width:100%;padding:34px 30px 28px;position:relative;animation:rise .45s var(--ease)}
.modal-box h3{font-family:var(--serif);font-size:26px;letter-spacing:-.03em;margin:8px 0 10px;line-height:1.25}
.modal-box p{color:var(--ink-2);margin:0 0 18px;font-size:15px}
.modal-box ul{padding:0;list-style:none;margin:0 0 22px;display:grid;gap:8px;font-size:14.5px}
.modal-box li::before{content:"✓ ";color:var(--seal);font-weight:600}
.modal-box .close{position:absolute;top:12px;right:16px;font-size:24px;color:var(--muted)}
.modal-box .amt{font-family:var(--serif-en);font-size:44px;line-height:1;margin:6px 0 16px}
.modal-box .amt small{font-family:var(--sans);font-size:14px;color:var(--muted)}
.code-row{display:flex;gap:8px;margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.code-row input{flex:1;min-width:0;border:1px solid var(--line);padding:10px 12px;background:#fff;outline:0}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:var(--ink);color:var(--paper);padding:12px 20px;font-size:14px;z-index:120;opacity:0;pointer-events:none;transition:.35s var(--ease);max-width:calc(100% - 32px)}
body.v .toast{bottom:96px;background:var(--cream);color:var(--night)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.install{display:none}
.install.show{display:inline-flex}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.marquee-in{animation:none}*{scroll-behavior:auto}}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .pricing{grid-template-columns:1fr 1fr}
  .studio{grid-template-columns:1fr}
  .panel{position:static}
}
@media (max-width:820px){
  .nav{position:fixed;inset:61px 0 auto 0;flex-direction:column;gap:0;margin:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px var(--gut) 16px;transform:translateY(calc(-100% - 90px));transition:transform .45s var(--ease);z-index:-1}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:19px}
  .nav a::after{display:none}
  body.menu-open .nav{transform:none}
  .menu-btn{display:block}
  .hero-grid,.products,.founder,.day-card{grid-template-columns:1fr}
  .day-card:nth-child(even) .day-art{order:0}
  .day-art{position:static}
  .hero-art{max-width:460px}
  .wall-label{left:auto;right:-6px;bottom:-26px;width:210px}
  .steps,.trio{grid-template-columns:1fr}
  .trio{gap:36px}
  .product{min-height:0}
  .facts{grid-template-columns:1fr 1fr 1fr}
  .fact b{font-size:36px}
}
@media (max-width:560px){
  .pricing{grid-template-columns:1fr}
  .words,.v-words{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr;gap:20px 12px}
  .gcard h3{font-size:15px}
  .hero-ctas .btn{flex:1;justify-content:center}
  .xqr{flex-direction:column;align-items:flex-start}
  .labels{grid-template-columns:1fr}
  .word{font-size:18px;letter-spacing:.18em}
  .top{gap:12px}
}

/* ---------- print: wall labels ---------- */
@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff!important}
  .top,.foot,.panel,.studio-bar,.phead,.xqr,.toast,.modal,.label .rm,.note{display:none!important}
  .studio{display:block;padding:0}
  .labels{display:grid;grid-template-columns:1fr 1fr;gap:6mm}
  .label{break-inside:avoid;border:0.3mm solid #999;min-height:62mm;padding:6mm;grid-template-columns:1fr 30mm}
  .label .lq canvas,.label .lq img{width:30mm!important;height:30mm!important}
}

/* =====================================================================
   v2 — cinematic stage, refined surfaces
   ===================================================================== */
/* paper grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.055;mix-blend-mode:multiply;
  background-image: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='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body.v::after{mix-blend-mode:screen;opacity:.035}

/* page enter */
#app.enter{animation:pageIn .8s var(--ease)}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}}
#app{outline:0}

/* header over the stage */
.top{transition:background .5s var(--ease),border-color .5s,color .5s}
body.home .top{position:fixed;left:0;right:0;background:transparent;border-bottom-color:transparent;color:var(--cream);backdrop-filter:none;-webkit-backdrop-filter:none}
body.home .top .nav a{color:rgba(237,230,216,.82)}
body.home .top .nav a:hover{color:#fff}
body.home .top .lang{border-color:rgba(237,230,216,.28)}
body.home .top .lang button{color:rgba(237,230,216,.7)}
body.home .top .lang button.on{background:var(--cream);color:var(--night)}
body.home .top .seal{box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 6px 20px -6px rgba(0,0,0,.5)}
body.home .top.solid,body.home.menu-open .top{background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--ink);border-bottom-color:var(--line);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px)}
body.home .top.solid .nav a,body.home.menu-open .top .nav a{color:var(--ink-2)}
body.home .top.solid .lang,body.home.menu-open .top .lang{border-color:var(--line)}
body.home .top.solid .lang button,body.home.menu-open .top .lang button{color:var(--muted)}
body.home .top.solid .lang button.on,body.home.menu-open .top .lang button.on{background:var(--ink);color:var(--paper)}

/* stage */
.stage{position:relative;height:100vh;height:100svh;min-height:620px;max-height:1100px;overflow:hidden;background:#0c0b09;color:var(--cream);isolation:isolate}
.slides,.slide{position:absolute;inset:0;margin:0}
.slide{opacity:0;transition:opacity 2.4s cubic-bezier(.45,0,.2,1);z-index:0}
.slide.on{opacity:1;z-index:2}
.slide.off{opacity:0;z-index:1}
.kb{position:absolute;inset:-5%;background-size:cover;background-repeat:no-repeat;will-change:transform;filter:saturate(.96) contrast(1.02)}
.slide:not(.ready) .kb{background:radial-gradient(120% 90% at 70% 30%,#2a251d 0%,#0c0b09 70%)}
.slide.on .kb0,.slide.off .kb0{animation:kb0 calc(var(--dur) + 3s) linear forwards}
.slide.on .kb1,.slide.off .kb1{animation:kb1 calc(var(--dur) + 3s) linear forwards}
.slide.on .kb2,.slide.off .kb2{animation:kb2 calc(var(--dur) + 3s) linear forwards}
.slide.on .kb3,.slide.off .kb3{animation:kb3 calc(var(--dur) + 3s) linear forwards}
@keyframes kb0{from{transform:scale(1.14) translate(1.5%,1%)}to{transform:scale(1.02) translate(0,0)}}
@keyframes kb1{from{transform:scale(1.02) translate(-1%,0)}to{transform:scale(1.13) translate(1.5%,-1%)}}
@keyframes kb2{from{transform:scale(1.12) translate(-2%,0)}to{transform:scale(1.04) translate(2%,0)}}
@keyframes kb3{from{transform:scale(1.04) translate(0,1.5%)}to{transform:scale(1.14) translate(0,-1.5%)}}
.stage-shade{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,9,7,.86) 0%,rgba(10,9,7,.64) 36%,rgba(10,9,7,.16) 66%,rgba(10,9,7,0) 100%),
             linear-gradient(0deg,rgba(10,9,7,.88) 0%,rgba(10,9,7,.2) 30%,rgba(10,9,7,0) 50%),
             linear-gradient(180deg,rgba(10,9,7,.55) 0%,rgba(10,9,7,0) 18%)}
.stage-copy{position:relative;z-index:4;height:100%;display:flex;align-items:center}
.sc-in{max-width:640px;padding-top:40px}
.stage .eyebrow{color:rgba(237,230,216,.72);display:flex;align-items:center;gap:12px}
.stage .eyebrow::before{content:"";width:28px;height:1px;background:var(--seal-2)}
.stage h1{font-family:var(--serif);font-weight:600;font-size:clamp(42px,6.6vw,96px);line-height:1.04;letter-spacing:-.04em;margin:22px 0 26px;color:#F6F1E7;text-shadow:0 2px 40px rgba(0,0,0,.35)}
.stage h1 em{font-family:var(--serif-en);font-style:italic;font-weight:500;color:#E9A48D;letter-spacing:-.01em}
.stage .lead{font-size:clamp(15.5px,1.5vw,18.5px);color:rgba(237,230,216,.82);max-width:32em;margin:0 0 36px;line-height:1.75}
.stage .sc-in > *{opacity:0;transform:translateY(18px);animation:rise2 1.3s var(--ease) forwards}
.stage .sc-in > *:nth-child(2){animation-delay:.12s}.stage .sc-in > *:nth-child(3){animation-delay:.26s}.stage .sc-in > *:nth-child(4){animation-delay:.4s}
@keyframes rise2{to{opacity:1;transform:none}}
.btn-cream{background:#F3EDE1;color:var(--ink)}
.btn-cream:hover{background:var(--seal);color:#fff}
.btn-ghost{border:1px solid rgba(237,230,216,.45);color:#F3EDE1;backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(237,230,216,.12);border-color:#F3EDE1}
.stage-foot{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:clamp(26px,4vh,44px);max-width:none;margin:0;padding-left:var(--gut);padding-right:var(--gut)}
.stage-cap{display:grid;gap:3px;max-width:420px;padding-left:16px;border-left:1px solid rgba(237,230,216,.35)}
.stage-cap.in>*{animation:capIn 1.1s var(--ease) both}
.stage-cap.in>*:nth-child(2){animation-delay:.08s}.stage-cap.in>*:nth-child(3){animation-delay:.16s}.stage-cap.in>*:nth-child(4){animation-delay:.24s}
@keyframes capIn{from{opacity:0;transform:translateY(8px)}}
.cap-k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,230,216,.55)}
.stage-cap b{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.02em;color:#F6F1E7}
.cap-a{font-family:var(--serif-en);font-style:italic;font-size:16px;color:rgba(237,230,216,.78)}
.cap-go{font-size:12.5px;color:#E9A48D;margin-top:6px;transition:transform .3s var(--ease)}
.stage-cap:hover .cap-go{transform:translateX(4px)}
.stage-ctrl{display:flex;align-items:center;gap:18px}
.stage-idx{font-family:var(--serif-en);font-size:15px;color:rgba(237,230,216,.6);letter-spacing:.06em;white-space:nowrap}
.stage-idx b{color:#F6F1E7;font-weight:500;font-size:20px}
.bars{display:flex;gap:6px}
.bar{width:34px;height:20px;position:relative}
.bar::before,.bar i{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:rgba(237,230,216,.24)}
.bar i{background:#F3EDE1;transform:scaleX(0);transform-origin:left}
.bar.done i{transform:scaleX(1);background:rgba(237,230,216,.6)}
.bar.run i{transition:transform var(--dur) linear;transform:scaleX(1)}
.bar:hover::before{background:rgba(237,230,216,.5)}
.stage-label{position:absolute;left:auto;right:var(--gut);bottom:auto;top:calc(50% - 40px);z-index:5;width:236px;background:rgba(251,249,244,.96);color:var(--ink);transform:translateY(-50%);backdrop-filter:blur(8px)}
.scroll-cue{position:absolute;left:50%;bottom:18px;z-index:5;width:22px;height:36px;border:1px solid rgba(237,230,216,.4);border-radius:12px;transform:translateX(-50%)}
.scroll-cue span{position:absolute;left:50%;top:7px;width:2px;height:7px;background:#F3EDE1;border-radius:2px;transform:translateX(-50%);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}100%{opacity:0}}

/* collection ribbon */
.ribbon-sec{padding:clamp(56px,8vw,110px) 0 clamp(64px,8vw,110px);overflow:hidden;border-top:1px solid var(--line)}
.rib-row{overflow:hidden;margin-top:18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rib-track{display:flex;gap:18px;width:max-content;animation:rib 110s linear infinite}
.rib-row.rev .rib-track{animation-direction:reverse;animation-duration:130s}
.rib-row:hover .rib-track{animation-play-state:paused}
@keyframes rib{to{transform:translateX(-50%)}}
.rib{position:relative;display:block;flex:0 0 auto}
.rib.tall{width:clamp(180px,18vw,250px)}
.rib.tall .art{aspect-ratio:4/5}
.rib.wide{width:clamp(240px,26vw,360px)}
.rib.wide .art{aspect-ratio:3/2}
.rib span{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 12px;background:linear-gradient(transparent,rgba(12,11,9,.82));color:#F3EDE1;font-size:12px;line-height:1.4;opacity:0;transform:translateY(6px);transition:.45s var(--ease)}
.rib span b{display:block;font-family:var(--serif);font-size:15px;font-weight:600}
.rib:hover span{opacity:1;transform:none}

/* refined surfaces */
.product{transition:background .5s var(--ease)}
.product:hover{background:var(--card)}
.tcard .art,.gcard .art{transition:box-shadow .6s var(--ease)}
.tcard:hover .art,.gcard:hover .art{box-shadow:0 26px 50px -30px rgba(22,20,15,.55)}
.sec-head h2{text-wrap:balance}
.phead h1,.day-body h2{text-wrap:balance}
.btn{position:relative;overflow:hidden}

/* viewer ambient backdrop */
.v-stage{overflow:hidden;isolation:isolate}
.v-stage::before{content:"";position:absolute;inset:-60px;background:var(--bg,none) center/cover no-repeat;filter:blur(46px) saturate(1.25) brightness(.55);opacity:.85;z-index:-1;transition:opacity 1s}
.v-stage .art{background:transparent!important}

@media (max-width:820px){
  .stage-label{display:none}
  .stage-shade{background:linear-gradient(0deg,rgba(10,9,7,.92) 0%,rgba(10,9,7,.55) 45%,rgba(10,9,7,.15) 75%,rgba(10,9,7,.45) 100%)}
  .stage-copy{align-items:flex-end;padding-bottom:196px}
  .sc-in{padding-top:0}
  .stage-foot{flex-direction:column;align-items:stretch;gap:16px}
  .stage-cap{max-width:none}
  .stage-cap .cap-go{display:none}
  .stage-ctrl{justify-content:space-between}
  .bars{flex:1;justify-content:flex-end}
  .bar{flex:1;max-width:40px;width:auto}
  .scroll-cue{display:none}
}
@media (max-width:560px){
  .stage{min-height:600px}
  .stage-copy{padding-bottom:182px}
  .stage .lead{margin-bottom:26px;font-size:15px}
  .stage-cap b{font-size:16px}.cap-a{font-size:14px}.cap-k{display:none}
}
@media (prefers-reduced-motion:reduce){.kb{animation:none!important}.rib-track{animation:none}}

/* =====================================================================
   v3 — maison logo, support, checkout, policies, footer
   ===================================================================== */
.brand{gap:11px}
.brand .mono{width:30px;height:30px;flex:0 0 30px;margin-top:-2px}
.word{font-family:"Bodoni Moda","Didot","Bodoni 72",var(--serif-en);font-weight:500;font-size:19px;letter-spacing:.34em;margin-right:-.34em;font-optical-sizing:auto}
.seal{display:none}

.foot{padding:56px var(--gut) 44px}
.foot-in{align-items:center}
.foot-brand{display:flex;align-items:center;gap:14px;color:var(--ink)}
.foot-brand .mono{width:44px;height:44px}
.foot-brand .fw{font-family:"Bodoni Moda",var(--serif-en);font-size:22px;letter-spacing:.36em}
.foot-brand .fs{font-family:"Bodoni Moda",var(--serif-en);font-size:9.5px;letter-spacing:.32em;color:var(--muted);margin-top:4px}
.foot-links{display:flex;gap:6px 22px;flex-wrap:wrap;font-size:13px}
.foot-links a{border:0;color:var(--ink-2)}
.foot-links a:hover{color:var(--seal)}
.foot-legal{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.7;gap:8px 24px}

/* support */
.support{max-width:860px;padding-bottom:100px}
.kakao-card{display:flex;align-items:center;gap:18px;padding:22px 24px;background:#FEE500;color:#191600;border-radius:2px;transition:transform .3s var(--ease),box-shadow .3s}
.kakao-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -22px rgba(25,22,0,.55)}
.kk-ico{width:44px;height:44px;border-radius:50%;background:#191600;color:#FEE500;display:grid;place-items:center;flex:0 0 44px}
.kk-ico svg{width:24px;height:24px}
.kk-t{flex:1;display:grid}
.kk-t b{font-size:17px;font-weight:600}
.kk-t small{font-size:13px;opacity:.7}
.sp-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px}
.sp-grid>*{flex:1 1 190px}
.sp-cell{background:var(--paper);padding:20px;display:flex;justify-content:space-between;align-items:center;font-size:15px;text-align:left;transition:background .3s}
.sp-cell:hover{background:var(--card)}
.sp-cell i{font-style:normal;color:var(--muted);transition:transform .3s var(--ease)}
.sp-cell:hover i{transform:translateX(4px);color:var(--seal)}
.sp-h{font-family:var(--serif);font-size:24px;letter-spacing:-.02em;margin:60px 0 6px;font-weight:600}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 36px 20px 0;position:relative;font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.015em}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--sans);font-weight:300;font-size:24px;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 22px;color:var(--ink-2);font-size:15px;max-width:44em}

/* policy */
.policy{max-width:760px;padding-bottom:100px}
.policy section{border-top:1px solid var(--line);padding:22px 0}
.policy h3{font-family:var(--serif);font-size:17px;margin:0 0 8px;letter-spacing:-.015em}
.policy p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.85}
.phead .eyebrow a{border-bottom:1px solid var(--line)}

/* checkout */
.checkout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,56px);align-items:start;padding-bottom:100px}
.co-sum{background:var(--night);color:var(--cream);padding:clamp(28px,4vw,44px);position:sticky;top:90px}
.co-sum .eyebrow{color:var(--cream-2)}
.co-mark .mono{width:46px;height:46px;color:currentColor;margin-bottom:24px}
.co-amt{font-family:"Bodoni Moda",var(--serif-en);font-size:clamp(40px,5vw,56px);line-height:1;margin:14px 0 8px;letter-spacing:-.01em}
.co-amt small{font-family:var(--sans);font-size:14px;color:var(--cream-2);letter-spacing:0}
.co-vat{font-size:13px;color:var(--cream-2);margin:0 0 26px}
.co-sum ul{list-style:none;padding:22px 0 0;margin:0;border-top:1px solid rgba(237,230,216,.14);display:grid;gap:12px;font-size:14.5px}
.co-sum li::before{content:"— ";color:var(--seal-2)}
.co-form{background:var(--card);border:1px solid var(--line);padding:clamp(24px,3.5vw,40px)}
.co-lab{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}
.co-opt{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:16px;margin-bottom:10px;cursor:pointer;transition:border-color .25s,background .25s;background:var(--paper)}
.co-opt:has(input:checked){border-color:var(--ink);background:#fff}
.co-opt.off{opacity:.55;cursor:not-allowed}
.co-opt input{accent-color:var(--ink);width:18px;height:18px}
.co-opt span{flex:1;display:grid}
.co-opt b{font-weight:600;font-size:15px}
.co-opt small{font-size:12.5px;color:var(--muted)}
.co-opt em{font-style:normal;font-size:11px;letter-spacing:.08em;border:1px solid var(--line);padding:3px 8px;color:var(--muted)}
.co-agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin:20px 0 22px;line-height:1.6}
.co-agree input{accent-color:var(--ink);margin-top:3px;width:16px;height:16px;flex:0 0 16px}
.co-agree a{border-bottom:1px solid var(--line)}
.co-btn{width:100%;justify-content:center;height:54px;font-size:15px}
.co-btn[disabled]{opacity:.6}
.co-resume{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;max-width:620px;border:1px solid var(--ink);border-left:3px solid var(--seal);background:var(--card);padding:14px 16px;margin:26px 0 0}
.co-resume p{margin:0;display:grid;gap:2px}
.co-resume span{font-size:12.5px;color:var(--muted);letter-spacing:.02em}
.co-resume b{font-family:"Bodoni Moda",var(--serif-en);font-weight:500;font-size:19px;letter-spacing:.1em}
.co-resume .btn{min-height:44px}
.co-testbar{background:#FFF4D6;border:1px solid #E8C96A;padding:10px 12px;font-size:13px;margin:0 0 18px}
.co-done{grid-column:1/-1;max-width:560px;margin:0 auto;text-align:center;padding:20px 0 40px}
.co-done .co-mark .mono{color:var(--ink);margin:0 auto 18px;display:block}
.co-done h2{font-family:var(--serif);font-size:30px;letter-spacing:-.03em;margin:8px 0 18px}
.co-done p{color:var(--ink-2)}
.co-id{font-family:"Bodoni Moda",var(--serif-en);font-size:30px;letter-spacing:.12em;padding:18px;border:1px solid var(--ink);margin:6px auto 18px;display:inline-block;min-width:280px}
.co-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0}
.btn-kakao{background:#FEE500;color:#191600}
.btn-kakao:hover{background:#191600;color:#FEE500}
.co-done .code-row{max-width:380px;margin:10px auto 6px}
@media (max-width:820px){.checkout{grid-template-columns:1fr}.co-sum{position:static}}
@media (max-width:560px){.word{font-size:16px;letter-spacing:.28em}.brand .mono{width:26px;height:26px}.foot-in{flex-direction:column;align-items:flex-start}}
.fact{padding-right:14px}
@media (max-width:560px){.fact span{font-size:12px;line-height:1.45;display:block;margin-top:6px}.fact b{font-size:32px}}

/* =====================================================================
   v4 — Features (editorial lists)
   ===================================================================== */
.ft-list{display:grid;gap:clamp(28px,4vw,48px);padding-bottom:100px}
.ft-card{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,56px);align-items:center;border-top:1px solid var(--line);padding-top:clamp(24px,3vw,40px)}
.ft-cover{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:6px;aspect-ratio:16/10;background:var(--night)}
.ft-cover .art{aspect-ratio:auto;height:100%}
.ft-cover .art:first-child{grid-row:1/3}
.ft-cover .art:nth-child(4){display:none}
.ft-meta h2{font-family:var(--serif);font-size:clamp(26px,3.4vw,42px);letter-spacing:-.03em;line-height:1.18;margin:12px 0 14px;font-weight:600;text-wrap:balance}
.ft-meta p{color:var(--ink-2);margin:0 0 22px}
.ft-home .ft-card{border:0;padding:0}
.ft-hero{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;color:#F6F1E7;background:var(--night);overflow:hidden}
.ft-cover.big{position:absolute;inset:0;aspect-ratio:auto;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:1fr;gap:0}
.ft-cover.big .art:first-child{grid-row:auto}
.ft-cover.big .art:nth-child(4){display:none}
.ft-cover.big img{filter:saturate(.9)}
/* covers with fewer than 3 images: fill the frame instead of leaving dark empty columns */
.ft-cover.n1,.ft-cover.big.n1{grid-template-columns:1fr;grid-template-rows:1fr}
.ft-cover.n1 .art:first-child{grid-row:auto}
.ft-cover.big.n2{grid-template-columns:1.2fr 1fr}
.ft-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,9,7,.92) 0%,rgba(10,9,7,.55) 45%,rgba(10,9,7,.25) 100%)}
.ft-hero-in{position:relative;z-index:2;padding-top:140px;padding-bottom:clamp(40px,6vw,72px)}
.ft-hero .eyebrow{color:rgba(237,230,216,.7)}
.ft-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(36px,6vw,80px);letter-spacing:-.04em;line-height:1.06;margin:16px 0 18px;max-width:14em;text-wrap:balance}
.ft-hero p{max-width:38em;color:rgba(237,230,216,.82);font-size:clamp(15px,1.5vw,18px);margin:0}
.ft-wrap{max-width:1080px;padding-bottom:100px}
.ft-intro{font-family:var(--serif);font-size:clamp(18px,1.9vw,22px);line-height:1.8;color:var(--ink-2);max-width:40em;margin:clamp(48px,6vw,80px) 0 40px}
.ft-intro p{margin:0 0 1em}
.ft-intro p:first-child::first-letter{font-family:"Bodoni Moda",var(--serif-en);font-size:3.4em;float:left;line-height:.85;padding:6px 12px 0 0;color:var(--seal)}
.ft-toc{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:18px 0 6px;margin-bottom:40px}
.ft-toc a{display:flex;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.015em}
.ft-toc a:first-of-type{border-top:0}
.ft-toc a span{font-family:"Bodoni Moda",var(--serif-en);color:var(--seal);font-weight:500;width:34px}
.ft-toc a em{margin-left:auto;font-style:normal;font-size:13px;color:var(--muted);font-family:var(--sans)}
.ft-toc a:hover{color:var(--seal)}
.ft-sec{padding-top:clamp(40px,6vw,80px)}
.ft-sec-h{display:flex;gap:22px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:22px;margin-bottom:10px}
.ft-sec-h>span{font-family:"Bodoni Moda",var(--serif-en);font-size:clamp(48px,7vw,84px);line-height:.8;color:var(--seal)}
.ft-sec-h h2{font-family:var(--serif);font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;margin:4px 0 8px;line-height:1.15;font-weight:600}
.ft-sec-h p{margin:0;color:var(--ink-2);max-width:36em}
.ft-item{display:grid;grid-template-columns:72px minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(16px,3vw,36px);padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid var(--line);align-items:start}
.ft-num{font-family:"Bodoni Moda",var(--serif-en);font-size:clamp(40px,5vw,60px);line-height:.85;color:var(--ink)}
.ft-art{aspect-ratio:4/5;width:100%}
.ft-type{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:22px;background:linear-gradient(160deg,#211E19,#0F0E0C);color:#EDE6D8;position:relative}
.ft-type::before{content:"";position:absolute;inset:12px;border:1px solid rgba(237,230,216,.16)}
.ft-type-a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(237,230,216,.6)}
.ft-type-t{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);line-height:1.2;letter-spacing:-.02em;font-weight:600}
.ft-type-y{font-family:"Bodoni Moda",var(--serif-en);font-style:italic;color:#E9A48D}
.ft-type small{position:absolute;top:20px;right:22px;font-size:13px;color:rgba(237,230,216,.4)}
.ft-credit,.ft-crnote{display:block;font-size:11px;color:var(--muted);margin:8px 0 0;line-height:1.5}
.ft-record{display:inline-block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--seal);padding:4px 9px;margin:0 0 12px}
.ft-body h3{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0 0 6px}
.ft-by{margin:0 0 16px;color:var(--ink-2);font-size:15px}
.ft-by span{color:var(--muted)}
.ft-head{font-family:"Bodoni Moda",var(--serif-en);font-size:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:0 0 16px;color:var(--ink)}
.ft-why{font-size:15.5px;line-height:1.85;color:var(--ink-2);margin:0 0 14px}
.ft-src{font-size:12px;color:var(--muted);margin:0}
.ft-src a{border-bottom:1px solid var(--line)}
.ft-note{margin-top:30px}
.ft-end{display:flex;gap:10px;flex-wrap:wrap;margin-top:50px}
.ft-sharerow{margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.ft-share{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:13.5px;letter-spacing:.02em;color:var(--ink-2);transition:color .25s}
.ft-share:hover{color:var(--seal)}
.ft-share span{border-bottom:1px solid currentColor;padding-bottom:1px}
.ft-share svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.ft-share{transition:none}}
@media (max-width:820px){
  .ft-card{grid-template-columns:1fr}
  .ft-item{grid-template-columns:44px 1fr}
  .ft-fig{grid-column:2}
  .ft-body{grid-column:2}
  .ft-art{max-width:420px}
  .ft-cover.big{grid-template-columns:1fr 1fr}
  .ft-cover.big .art:nth-child(3){display:none}
}
.co-bank{margin:22px auto 6px;max-width:440px;border-top:2px solid var(--ink);text-align:left}
.co-bank div{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line);align-items:center}
.co-bank dt{font-size:12.5px;color:var(--muted)}
.co-bank dd{margin:0;font-size:15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.co-bank dd b{font-family:"Bodoni Moda",var(--serif-en);font-size:18px;font-weight:500;letter-spacing:.02em}
.co-bank small{color:var(--muted);font-size:12px}
.co-mini{font-size:12px;border:1px solid var(--line);padding:4px 9px;border-radius:99px;color:var(--ink-2);background:#fff}
.co-mini:hover{border-color:var(--ink)}
/* Korean: break lines between words, never inside a word */
body{word-break:keep-all;overflow-wrap:break-word}
.ft-img{position:absolute;inset:0;z-index:2;aspect-ratio:auto;background:transparent}
.ft-img img{object-fit:cover}
.ft-type .ft-img:has(img.in)~*{visibility:hidden}

/* share actions (viewer) */
.v-acts{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.v-acts button{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 11px;font-size:12.5px;letter-spacing:.04em;color:var(--cream-2);border:1px solid rgba(237,230,216,.16);border-radius:2px;transition:color .25s,border-color .25s,background .25s}
.v-acts button:hover{color:var(--cream);border-color:rgba(237,230,216,.42);background:rgba(237,230,216,.04)}
.v-acts button:disabled{opacity:.5;cursor:progress}
.v-acts svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.v-acts button{transition:none}}

/* =====================================================================
   v5 — For galleries (B2B sales page + printable brochure)
   ===================================================================== */
.gal-hero{padding:clamp(48px,7vw,100px) 0 clamp(40px,6vw,80px);border-bottom:1px solid var(--line)}
.gal-hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,80px);align-items:center}
.gal-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(36px,5.6vw,72px);line-height:1.08;letter-spacing:-.04em;margin:16px 0 22px}
.gal-hero h1 em{font-family:var(--serif-en);font-style:italic;font-weight:500;color:var(--seal)}
.gal-hero .lead{font-size:clamp(15.5px,1.5vw,18px);color:var(--ink-2);max-width:34em;margin:0 0 30px;line-height:1.8}
.gal-sample .label{box-shadow:0 30px 60px -30px rgba(22,20,15,.4)}
.gal-sample .note{margin-top:14px}
.gal{max-width:1080px;padding-bottom:100px}
.gal-sec{padding-top:clamp(48px,6vw,84px)}
.gal-sec h2,.gal-end h2{font-family:var(--serif);font-size:clamp(26px,3.2vw,38px);letter-spacing:-.03em;margin:0 0 24px;font-weight:600}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.gal-cell{background:var(--paper);padding:26px 24px}
.gal-cell>span{font-family:"Bodoni Moda",var(--serif-en);font-size:28px;color:var(--seal)}
.gal-cell h3{font-family:var(--serif);font-size:18px;margin:10px 0 8px;letter-spacing:-.015em}
.gal-cell p{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.75}
.gal-cell ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:7px;font-size:14px;color:var(--ink-2)}
.gal-cell li::before{content:"— ";color:var(--seal)}
.gal-amt{font-family:"Bodoni Moda",var(--serif-en);font-size:30px;margin-top:6px}
.gal-amt small{font-family:var(--sans);font-size:13px;color:var(--muted)}
.gal-steps{list-style:none;padding:0;margin:0;counter-reset:g;border-top:2px solid var(--ink)}
.gal-steps li{counter-increment:g;display:grid;grid-template-columns:64px 160px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.gal-steps li::before{content:counter(g,decimal-leading-zero);font-family:"Bodoni Moda",var(--serif-en);font-size:30px;color:var(--seal)}
.gal-steps b{font-family:var(--serif);font-size:18px}
.gal-steps p{margin:0;color:var(--ink-2);font-size:15px}
.gal-who p{font-family:var(--serif);font-size:clamp(17px,1.8vw,21px);line-height:1.8;color:var(--ink-2);max-width:40em;margin:0 0 28px}
.gal-end{border-top:2px solid var(--ink);margin-top:70px;padding-top:40px}
.gal-contact{margin-top:22px}
@media (max-width:820px){.gal-hero-in{grid-template-columns:1fr}.gal-steps li{grid-template-columns:44px 1fr}.gal-steps li p{grid-column:2}}
@media print{
  body.gal-page .top,body.gal-page .foot,body.gal-page #galPrint,body.gal-page .btn{display:none!important}
  body.gal-page .rv{opacity:1!important;transform:none!important}
  body.gal-page::after{display:none}
  body.gal-page .gal-sec,body.gal-page .gal-hero{break-inside:avoid}
  body.gal-page .gal-hero-in{grid-template-columns:1.2fr .8fr}
  body.gal-page .gal-grid{grid-template-columns:repeat(2,1fr)}
}

/* ---------- v6 · giving · Oriel Foundation (금색은 창 하나에만) ---------- */
:root{--glass:#B8862D;--navy:#141B2E}
.brick{width:16px;height:22px;flex:0 0 16px;color:currentColor}
.give-note{display:flex;gap:14px;align-items:flex-start;margin:28px 0 0;padding:18px 0 0;border-top:1px solid var(--line);font-size:14px;line-height:1.7;color:var(--ink-2)}
.give-note .brick{margin-top:3px}
.give-note a{color:var(--seal);white-space:nowrap;font-weight:500}
.give-note-today{margin:8px 0 72px}
.give-note-co{margin-top:22px;font-size:13px}
.co-sum .give-note{border-top-color:var(--line)}
.give-band{background:var(--navy);color:var(--cream);padding:clamp(64px,9vw,128px) 0}
.give-band-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);align-items:end}
.give-band .eyebrow{display:flex;align-items:center;gap:12px;color:var(--cream-2)}
.give-band .brick{color:var(--cream-2)}
.give-band h2{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.2vw,54px);line-height:1.18;letter-spacing:-.035em;margin:22px 0 0;color:#F6F1E7}
.give-band p{margin:0 0 14px;font-size:16.5px;line-height:1.8;color:rgba(237,230,216,.86)}
.give-band .give-status{font-size:13.5px;color:var(--cream-2);margin-bottom:26px}
.give-band .link{color:#E8C27A}
.give-hero{padding:clamp(48px,7vw,100px) 0 clamp(40px,6vw,80px);border-bottom:1px solid var(--line)}
.give-hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,80px);align-items:center}
.give-hero .eyebrow{display:flex;align-items:center;gap:12px}
.give-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5.4vw,70px);line-height:1.12;letter-spacing:-.04em;margin:18px 0 22px}
.give-hero h1 em{font-family:var(--serif-en);font-style:italic;font-weight:500;color:var(--glass)}
.give-hero .lead{font-size:clamp(15.5px,1.5vw,18px);color:var(--ink-2);max-width:34em;margin:0 0 30px;line-height:1.8}
.give-mark{margin:0;color:var(--ink)}
.give-mark svg{width:100%;max-width:360px;display:block;margin:0 auto}
.give-mark figcaption{text-align:center;font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--muted);margin-top:14px}
.give{padding-bottom:clamp(64px,8vw,110px)}
.give-sec{padding-top:clamp(48px,6vw,84px)}
.give-sec h2{font-family:var(--serif);font-size:clamp(26px,3.2vw,38px);letter-spacing:-.03em;margin:0 0 24px;font-weight:600}
.give-why p{font-family:var(--serif);font-size:clamp(18px,2vw,23px);line-height:1.75;max-width:36em;margin:0;color:var(--ink-2)}
.give-phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.give-phases li{padding:20px 20px 4px 0;border-right:1px solid var(--line);margin-right:20px}
.give-phases li:last-child{border-right:0;margin-right:0}
.give-phases .when{display:block;font-size:12.5px;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}
.give-phases .when b{color:var(--glass);font-weight:600}
.give-phases li>b{display:block;font-family:var(--serif);font-size:19px;margin-bottom:8px}
.give-phases p{margin:0;font-size:14px;line-height:1.7;color:var(--ink-2)}
.give-phases li.now>b::before{content:"";display:inline-block;width:12px;height:8px;background:var(--glass);margin-right:8px;vertical-align:middle}
.give-sec .give-status{margin:24px 0 0;font-size:14px;color:var(--muted)}
.give-log{width:100%;border-collapse:collapse;font-size:14.5px}
.give-log th{text-align:left;font-weight:500;font-size:12.5px;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--ink);padding:10px 12px 10px 0}
.give-log td{border-bottom:1px solid var(--line);padding:14px 12px 14px 0}
.give-empty{margin:0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}
.give-fine{margin:40px 0 0;font-size:12.5px;line-height:1.7;color:var(--muted);max-width:52em}
@media (max-width:820px){
  .give-band-in,.give-hero-in{grid-template-columns:1fr}
  .give-mark{order:-1}.give-mark svg{max-width:240px}
  .give-phases{grid-template-columns:1fr}
  .give-phases li{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding:18px 0}
}
.co-sum .give-note{color:var(--cream-2);border-top-color:rgba(237,230,216,.16)}
.co-sum .give-note .brick{color:var(--cream-2)}
.co-sum .give-note a{color:#E8C27A}
@media (max-width:820px){.give-band .eyebrow{letter-spacing:.1em;font-size:11px}}
/* member bar · expiry */
.member-bar em{font-style:normal;color:rgba(243,239,230,.62);margin-left:8px;font-size:13px}
.member-bar.soon,.member-bar.ended{background:var(--seal)}
.member-bar.soon em{color:rgba(255,255,255,.85)}
.member-bar .mb-note{font-size:13px;color:rgba(255,255,255,.85)}
.member-bar .link{color:inherit}

/* iPhone safe area (iOS 앱·홈 화면 웹앱): 상태바·다이내믹 아일랜드 아래에서 시작 */
:root{--sat:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--sab:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))}
.top{padding-top:calc(14px + var(--sat))}
.day-art,.co-sum{top:calc(90px + var(--sat))}
.panel{top:calc(86px + var(--sat))}
.zoom-layer .x{top:calc(16px + var(--sat))}
@media (max-width:820px){.nav{top:calc(61px + var(--sat));transform:translateY(calc(-100% - 90px - var(--sat)))}body.menu-open .nav{transform:none}}

/* 감상 모드: 해설 중 작품을 화면에 두고 자막만 나타났다 사라진다 */
.immerse{position:fixed;inset:0;z-index:45;background:#0d0c0a;opacity:0;transition:opacity .7s var(--ease);display:flex;flex-direction:column;overflow:hidden}
.immerse.show{opacity:1}
body.immersive{overflow:hidden}
.im-bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(32px) brightness(.32) saturate(.9);transform:scale(1.08)}
.im-art{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:calc(64px + var(--sat)) 16px 6px}
.im-art img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 24px 60px -24px #000;opacity:0;transform:scale(.985);transition:opacity 1.6s var(--ease),transform 1.6s var(--ease),filter 2.4s var(--ease);animation:imkb 28s ease-in-out 1.6s infinite alternate}
.immerse.loaded .im-art img{opacity:1;transform:none}
.im-art img.tour{animation:none;will-change:transform;transform-origin:50% 50%;backface-visibility:hidden}
.immerse.loaded .im-art img.tour{transform:perspective(1400px) translate3d(0,0,0) scale(1)}
.immerse.tourmode .im-cap{z-index:1;background:linear-gradient(rgba(13,12,10,0),rgba(13,12,10,.6) 22%,rgba(13,12,10,.84) 60%);margin-bottom:0;padding-bottom:calc(76px + var(--sab));flex-basis:calc(150px + 76px + var(--sab))}
.immerse.tourmode .im-art{z-index:0}
.immerse.tourmode .im-n{top:40px}
.im-bg{opacity:0;transition:opacity 2s var(--ease)}
.immerse.loaded .im-bg{opacity:1}
.immerse.ended .im-art img{filter:brightness(.62)}
.immerse.ended .im-cap{opacity:0;transition:opacity 1.2s}
@keyframes imkb{from{transform:scale(1)}to{transform:scale(1.05)}}
.im-cap{position:relative;flex:0 0 112px;display:flex;align-items:center;justify-content:center;padding:0 24px;margin-bottom:calc(76px + var(--sab))}
.im-n{position:absolute;top:2px;left:24px;font-size:11px;letter-spacing:.08em;color:rgba(243,237,226,.45)}
.im-t{margin:0;max-width:340px;text-align:center;color:#F3EDE2;font-size:17px;font-weight:500;line-height:1.5;text-shadow:0 1px 8px #000;word-break:keep-all;opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.im-t.in{opacity:1;transform:none}
.immerse.paused .im-t.in{opacity:.6}
.im-x{position:absolute;top:calc(12px + var(--sat));right:12px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#F3EDE2;display:grid;place-items:center;z-index:2}
.im-x svg{width:20px;height:20px}
.im-end{position:absolute;left:0;right:0;bottom:calc(76px + var(--sab) + 34px);display:flex;gap:10px;justify-content:center;z-index:2}
.im-end[hidden]{display:none}
.im-end button{padding:11px 18px;border:1px solid rgba(243,237,226,.35);border-radius:99px;color:#F3EDE2;background:rgba(0,0,0,.35);font-size:14px}
@media (orientation:landscape) and (max-height:520px){
  .im-art{padding:8px 16px calc(76px + var(--sab))}
  .im-cap{position:absolute;left:0;right:0;bottom:calc(76px + var(--sab));margin:0;flex:none;height:auto;padding:28px 24px 10px;background:linear-gradient(transparent,rgba(0,0,0,.65))}
  .im-t{max-width:640px}
}
@media (prefers-reduced-motion:reduce){.im-art img{animation:none}.im-t{transform:none;transition:opacity .12s}.immerse{transition:opacity .12s}}
/* 플레이어: 감상 화면으로 돌아가기 · 목소리 남/여 */
.pim{width:36px;height:36px;flex:0 0 36px;border:1px solid rgba(237,230,216,.2);border-radius:50%;display:grid;place-items:center;color:var(--cream-2)}
.pim svg{width:17px;height:17px}
.pvoice{height:36px;min-width:42px;padding:0 10px;border:1px solid rgba(237,230,216,.2);border-radius:99px;font-size:12px;color:var(--cream-2)}
body.immersive .pim{color:var(--seal-2);border-color:rgba(196,85,59,.55)}
@media (max-width:420px){.player-in{gap:8px}.rate{min-width:44px;padding:6px 8px}}
/* 로고: 프레임 Q + 소문자 산세리프 워드마크 (2026-11-01 세준 선택 1안) */
.word{font-family:"Manrope",var(--sans);font-weight:700;font-size:23px;letter-spacing:-.02em;margin-right:0;text-transform:none}
.brand{gap:9px}
.brand .mono{width:26px;height:26px;margin-top:0}
.foot-brand .fw{font-family:"Manrope",var(--sans);font-weight:700;font-size:26px;letter-spacing:-.02em}
@media (max-width:560px){.word{font-size:20px;letter-spacing:-.02em}.brand .mono{width:24px;height:24px}}
.foot-brand .fs{font-family:"Manrope",var(--sans);font-weight:600;letter-spacing:.2em}
/* launch benefit: 7-day free trial (card auto-pay only; hidden in app builds) */
.trial-tag{display:inline-block;margin:12px 0 0;padding:5px 10px;border:1px solid currentColor;color:var(--seal);font-size:12.5px;font-weight:600;letter-spacing:.02em;line-height:1.3}
.plan .trial-tag{margin:14px 0 4px}
.plan.feat .trial-tag,.co-sum .trial-tag{color:var(--seal-2);background:rgba(255,255,255,.04)}
.co-sum .trial-tag{margin:14px 0 10px}
.lock-box .trial-tag,.phead .trial-tag{display:block;width:max-content;max-width:100%;margin:12px 0 0}
.modal-box .trial-tag{margin:-4px 0 18px}
.co-trial{font-size:13.5px;line-height:1.6;color:var(--cream);margin:-14px 0 24px;padding-left:12px;border-left:2px solid var(--seal-2)}
.trial-tag[hidden]{display:none}

/* 2026-11-03 디자인 ① 홈: 한글은 자간을 벌리지 않는다(대문자용 넓은 자간 안의 한글 구간) */
.hg{letter-spacing:.03em;text-transform:none}
.tcard .lock-chip::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.founder blockquote{text-wrap:pretty}
.cta-band h2,.give-band h2{text-wrap:balance}
