/* Curator Atelier · The arrival (box) + name preview. Self-contained; safe on any page. */
.arr{--ink:#1c1915;--paper:#f3ede1;--paper-2:#e9e1d1;--au:#a8834a;--au-lt:#d8b977;position:relative;background:var(--paper);color:var(--ink);height:520vh}
.arr-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;align-items:center;overflow:hidden}
.arr-wrap{width:100%;max-width:1280px;margin:0 auto;padding:clamp(70px,9vh,96px) var(--gutter,20px) 24px;display:grid;gap:clamp(8px,2vh,28px);align-items:center}
.arr-copy{display:grid;gap:.7rem;max-width:34rem}
.arr .kicker{font:600 .68rem/1.4 var(--body,sans-serif);letter-spacing:.22em;text-transform:uppercase;color:var(--au);margin:0}
.arr h2{font:400 clamp(2.1rem,8.4vw,4.4rem)/1 var(--display,Georgia,serif);margin:0;letter-spacing:-.01em;color:var(--ink)}
.arr h2 em{color:var(--au);font-style:italic}
.arr-lede{color:#5c554b;font-size:clamp(.92rem,2.4vw,1.05rem);line-height:1.55;margin:0;max-width:30rem}
.arr-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:.2rem}
.arr-links a{color:var(--ink);font:600 .78rem var(--body,sans-serif);letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--au);padding:.5rem 0;min-height:44px;display:inline-flex;align-items:center}
.arr-stage{display:grid;justify-items:center;gap:.6rem}
.arr-sc{perspective:1600px;width:min(520px,100%);height:360px;display:grid;place-items:center}
.bx{--W:340px;--D:236px;--H:68px;--lid:0;--band:0;--card:0;position:relative;width:var(--W);height:var(--D);transform-style:preserve-3d;transform:rotateX(57deg) rotateZ(-24deg)}
.bx .f{position:absolute}
.bx-shadow{position:absolute;inset:-8% -6%;background:radial-gradient(closest-side,rgba(40,30,15,.28),transparent);transform:translateZ(-1px);filter:blur(10px)}
.bx-floor{inset:0;background:#1d1a17;display:grid;grid-template-columns:1.25fr .8fr 1fr .7fr;gap:7px;padding:12px}
.bx-floor>div{background:#151310;box-shadow:inset 0 0 0 1px #2e2a24;position:relative;display:grid;place-items:center}
.bx-floor .slot-orn svg{width:46%}
.bx-floor .slot-choc{font:600 7.5px var(--body,sans-serif);letter-spacing:.2em;color:#a99a80}
.bx-floor .slot-tin i{width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3a332b,#1a1714);box-shadow:inset 0 0 0 1.5px #a8834a}
.bx-w{background:#121110}
.bx-wf{left:0;top:100%;width:var(--W);height:var(--H);transform-origin:top;transform:rotateX(90deg);background:linear-gradient(#0f0e0c,#171512)}
.bx-wb{left:0;top:0;width:var(--W);height:var(--H);transform-origin:top;transform:rotateX(90deg);background:#1b1815}
.bx-wl{left:0;top:0;width:var(--D);height:var(--H);transform-origin:top left;transform:rotateZ(90deg) rotateX(90deg);background:#0d0c0b}
.bx-wr{left:100%;top:0;width:var(--D);height:var(--H);transform-origin:top left;transform:rotateZ(90deg) rotateX(90deg);background:#16140f}
.bx-wf .bandw{position:absolute;left:calc(50% - 30px);width:60px;top:0;bottom:0;background:var(--paper);opacity:calc(1 - var(--band));transform:translateY(calc(var(--band)*30px))}
.bx-lidw{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 0;transform:translateZ(var(--H)) rotateX(calc(var(--lid)*104deg))}
.bx-lid,.bx-under{inset:0;backface-visibility:hidden}
.bx-lid{background:linear-gradient(135deg,#1b1916,#0f0e0c);box-shadow:inset 0 0 0 1px #2f2b25}
.bx-under{transform:rotateX(180deg);background:radial-gradient(ellipse at 50% 55%,#fff1c9,#f0c477 38%,#b97d35 78%,#5a3818);display:grid;place-items:center;align-content:center;gap:6px}
.bx-under svg{width:44px;height:auto}
.bx-under span{font:italic 400 13px var(--display,Georgia,serif);color:#3b2410}
.bx-band{position:absolute;left:calc(50% - 30px);width:60px;top:0;bottom:0;background:var(--paper);box-shadow:inset 1px 0 #cbb68c,inset -1px 0 #cbb68c;opacity:calc(1 - var(--band));transform:translateY(calc(var(--band)*120px))}
.bx-seal{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6e3ad,#c9a35c 55%,#9c7a40);box-shadow:0 2px 6px rgba(0,0,0,.35),inset 0 0 0 3px rgba(120,90,40,.45);display:grid;place-items:center;opacity:calc(1 - var(--band));transform:translateY(calc(var(--band)*120px)) rotate(calc(var(--band)*40deg))}
.bx-seal svg{width:26px;height:auto}
.bx-card{left:12px;top:12px;width:calc((var(--W) - 24px - 21px)*.3289);height:calc(var(--D) - 24px);background:#f6f0e3;box-shadow:0 0 0 1px #d9cdb3;transform-origin:50% 100%;transform:translateZ(calc(2px + var(--card)*34px)) rotateX(calc(var(--card)*-62deg));display:grid;align-content:center;justify-items:center;gap:5px;text-align:center;padding:10px}
.bx-card small{font:600 5.5px var(--body,sans-serif);letter-spacing:.24em;color:#8a7b62}
.bx-card b{font:italic 400 13px/1.1 var(--display,Georgia,serif);color:#1c1915}
.bx-card em{font:400 7.5px/1.3 var(--display,Georgia,serif);color:#5c554b;font-style:italic}
.bx-card i{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2dca2,#b8914a);margin-top:3px}
.arr-cap{font:italic 400 clamp(1.05rem,3.4vw,1.35rem) var(--display,Georgia,serif);color:var(--ink);margin:0;min-height:1.6em;text-align:center}
.arr-ctl{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;width:min(440px,100%)}
.arr-ctl span,.arr-ctl button{font:600 .62rem var(--body,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:#7a705f}
.arr-ctl button{background:none;border:0;cursor:pointer;min-height:44px;padding:0 .2rem}
.arr-ctl input{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
.arr-ctl input::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,var(--au) var(--pct,0%),#cbbfa8 var(--pct,0%))}
.arr-ctl input::-moz-range-track{height:1px;background:#cbbfa8}
.arr-ctl input::-moz-range-progress{height:1px;background:var(--au)}
.arr-ctl input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-8.5px;border-radius:50%;background:var(--paper);border:1px solid var(--au);box-shadow:0 0 0 4px rgba(168,131,74,.15)}
.arr-ctl input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--paper);border:1px solid var(--au)}
.arr-ctl input:focus-visible{outline:2px solid var(--au);outline-offset:4px}
@media(min-width:900px){.arr-wrap{grid-template-columns:.9fr 1.1fr;gap:3rem}.arr-sc{height:440px}.bx{--W:400px;--D:276px;--H:80px}}
.arr-links-m{display:none}
@media(max-width:899px){.arr-lede{display:none}.arr-wrap{align-content:center}.arr-copy .arr-links{display:none}.arr-links-m{display:flex;justify-content:center}.arr-sc{align-items:end}}
@media(max-width:520px){.arr-sc{height:390px;padding-bottom:4px}.bx{--W:244px;--D:168px;--H:50px}.arr-wrap{gap:0;padding-top:76px}.bx-card b{font-size:10.5px}.bx-under span{font-size:11px}}
@media(max-height:700px) and (max-width:899px){.arr-sc{height:250px}.bx{--W:240px;--D:166px;--H:50px}.arr h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.arr{height:auto}.arr-pin{position:relative;height:auto}}
.arr.static{height:auto}.arr.static .arr-pin{position:relative;height:auto}

/* name preview */
.npv{display:grid;gap:clamp(1.4rem,4vw,3rem);margin-top:2rem;align-items:center}
.npv-card{position:relative;aspect-ratio:4/3.2;background:radial-gradient(ellipse at 30% 20%,#2a2520,#141210);border:1px solid rgba(220,199,156,.3);display:grid;place-items:center;overflow:hidden}
.npv-note{width:72%;aspect-ratio:1.42;background:#f6f0e3;color:#1c1915;transform:rotate(-4deg);box-shadow:0 18px 40px rgba(0,0,0,.45);display:grid;align-content:center;justify-items:center;gap:.5rem;padding:6%;text-align:center}
.npv-note small{font:600 .55rem var(--body,sans-serif);letter-spacing:.28em;color:#8a7b62}
.npv-note b{font:italic 400 clamp(1.1rem,3.6vw,1.6rem)/1.15 var(--display,Georgia,serif)}
.npv-note .who{font:400 clamp(1.05rem,3.2vw,1.45rem)/1.1 var(--display,Georgia,serif);color:#1c1915;min-height:1.2em;word-break:break-word}
.npv-note em{font:italic 400 clamp(.78rem,2.2vw,.95rem)/1.35 var(--display,Georgia,serif);color:#5c554b}
.npv-note i{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2dca2,#b8914a);display:grid;place-items:center}
.npv-note i svg{width:13px;height:auto}
.npv-band{position:absolute;left:-10%;right:-10%;bottom:16%;height:34px;background:linear-gradient(90deg,#0d0c0b,#1f1c18);transform:rotate(-4deg);border-top:1px solid #a8834a;border-bottom:1px solid #a8834a;display:grid;place-items:center;font:600 .55rem var(--body,sans-serif);letter-spacing:.3em;color:#d8b977}
.npv-form{display:grid;gap:1rem;max-width:30rem}
.npv-form label{display:grid;gap:.4rem;font:600 .66rem var(--body,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--champagne,#dcc79c)}
.npv-form input{min-height:52px;background:transparent;border:0;border-bottom:1px solid rgba(220,199,156,.45);color:inherit;font:400 18px var(--display,Georgia,serif);padding:0 .2rem;border-radius:0}
.npv-form input:focus{outline:none;border-bottom-color:var(--champagne,#dcc79c)}
.npv-tabs{display:flex;gap:.4rem;flex-wrap:wrap}
.npv-tabs button{min-height:44px;padding:0 1rem;background:transparent;border:1px solid rgba(220,199,156,.35);color:inherit;font:500 .8rem var(--body,sans-serif);cursor:pointer}
.npv-tabs button[aria-pressed="true"]{background:var(--champagne,#dcc79c);color:#141210;border-color:transparent}
.npv-fine{font-size:.78rem;color:var(--mist,#a7b2aa);margin:0}
@media(min-width:900px){.npv{grid-template-columns:1.1fr .9fr}}

/* photo sequence */
.arr-ph{position:relative;width:min(640px,100%);aspect-ratio:1400/930;overflow:hidden;box-shadow:0 30px 60px -30px rgba(40,25,10,.45);background:#2a1a17}
.arr-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity,transform;transform:scale(calc(1.03 - var(--k,0)*.03))}
.arr-ph img:first-child{opacity:1}
@media(min-width:900px){.arr-ph{width:100%}}

/* christmas pathway */
.pw-grid{display:grid;gap:clamp(1.2rem,3vw,3rem);margin-top:2rem;align-items:start}
.pw-media{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line,#22382f);background:#0d1c16}
.pw-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease,transform 6s ease;transform:scale(1.04)}
.pw-media img.on{opacity:1;transform:scale(1)}
.pw-cap{position:absolute;left:.8rem;bottom:.8rem;margin:0}
.pw-steps{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line,#22382f)}
.pw-steps li{border-bottom:1px solid var(--line,#22382f)}
.pw-steps button{width:100%;text-align:left;background:none;border:0;color:inherit;cursor:pointer;padding:1.1rem 0;display:grid;grid-template-columns:2.4rem 1fr;gap:.15rem .6rem;min-height:64px}
.pw-steps em{grid-row:span 2;font:italic 400 .95rem var(--display,Georgia,serif);color:var(--champagne,#dcc79c);padding-top:.25rem}
.pw-steps b{font:400 clamp(1.25rem,4.4vw,1.6rem)/1.15 var(--display,Georgia,serif);opacity:.6;transition:opacity .3s}
.pw-steps small{font-size:.72rem;letter-spacing:.08em;color:var(--mist,#a7b2aa)}
.pw-steps span{grid-column:2;color:var(--mist,#a7b2aa);font-size:.93rem;line-height:1.5;max-height:0;overflow:hidden;transition:max-height .5s ease,margin .5s;margin:0}
.pw-steps span a{color:var(--champagne,#dcc79c)}
.pw-steps [aria-selected="true"] b{opacity:1}
.pw-steps [aria-selected="true"] span{max-height:8rem;margin-top:.5rem}
.pw-steps button:focus-visible{outline:2px solid var(--champagne,#dcc79c);outline-offset:2px}
@media(min-width:900px){.pw-grid{grid-template-columns:1fr 1fr}.pw-media{aspect-ratio:4/4.6}}
@media(prefers-reduced-motion:reduce){.pw-media img{transition:none;transform:none}}
.pw .acts{margin-top:2rem}
.pw-cap .real{background:rgba(10,23,18,.82);padding:.4rem .6rem;margin:0}
