:root{--gold:#b38b3e;--ink:#433b27;--muted:#746b59;--paper:#faf5e9;--line:#e2d4b9;font-family:Geist,Arial,sans-serif;color:var(--ink);background:#e8dcc5}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 10%,#fffaf0 0,transparent 55%),radial-gradient(ellipse at 90% 80%,#d6c3a2 0,transparent 55%);min-height:100vh}main{max-width:510px;margin:0 auto;padding:36px 20px 22px}.edition{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;margin:0 4px 17px;color:#776748}.card{background:var(--paper);border-radius:24px;overflow:hidden;box-shadow:0 24px 75px #2528201c,0 2px 6px #2528200a;border:1px solid #e8d9ba}.hero{height:188px;background:#f0e4ca;position:relative;overflow:hidden;color:var(--gold);border-bottom:3px solid var(--gold)}.brand{position:absolute;top:27px;left:29px;font-size:15px;letter-spacing:4px;line-height:1.05}.brand b{font-size:23px;letter-spacing:3.8px;font-weight:600}.brand span{display:block;font-size:8px;letter-spacing:1.8px;margin-top:8px}.hero-label{position:absolute;right:24px;top:32px;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px}.hero-lines{position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 95% 125%,transparent 0,transparent 24px,#c3a35f20 25px,transparent 26px);mask-image:linear-gradient(90deg,transparent,#000)}.identity{text-align:center;position:relative;margin-top:-79px}.portrait{position:relative;width:148px;height:148px;border:6px solid var(--paper);border-radius:50%;overflow:hidden;margin:auto;box-shadow:0 0 0 1px #d9bc76,0 10px 22px #131b1720;background:#bbb3a3}.portrait img{position:absolute;display:block;width:180px;height:auto;max-width:none;left:50%;top:-5px;transform:translateX(-50%)}.eyebrow{display:block;font-size:10px;letter-spacing:2.7px;color:#86713e;margin-top:23px}h1{font-size:34px;line-height:1.15;letter-spacing:-1.4px;font-weight:400;margin:8px 15px 10px}h1 strong{font-weight:600}.identity p{font-size:15px;line-height:1.5;margin:0;color:#6e634f}.location{font-size:12px;margin-top:12px;color:#786f5b}.connections{margin:28px 26px 0;border-top:1px solid var(--line);padding-top:19px}.section-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.1px;color:#796c52}.section-label #counter{font-variant-numeric:tabular-nums;letter-spacing:1px}.orbit{position:relative;height:118px;touch-action:pan-y;user-select:none;overflow:hidden;margin:3px -26px 0;cursor:grab}.orbit:active{cursor:grabbing}.track{position:absolute;width:120%;height:180px;border:1px solid #c7b77f44;border-radius:50%;top:55px;left:-10%}.orb{position:absolute;left:50%;top:53px;width:54px;height:54px;margin:-27px;border-radius:50%;border:1px solid #ddd9cf;display:grid;place-items:center;background:#f4ead7;color:#79602c;cursor:pointer;transition:transform .65s cubic-bezier(.22,.8,.2,1),opacity .4s,background .45s,color .45s,box-shadow .45s;z-index:1}.orb svg{width:23px;height:23px;pointer-events:none}.orb.active{background:linear-gradient(135deg,#efdaa0,#d1aa4b);border-color:#d9b663;color:#4a391b;box-shadow:0 8px 18px #a3843530}.selection{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-5px}.arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:20px;color:#7d6b49;cursor:pointer}.arrow:hover{background:#ede9dd;color:var(--ink)}#selected{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);padding:5px 0;min-width:0}#selected-title{font-size:18px;font-weight:550}#selected-description{font-size:12px;margin-top:6px;color:#756447;text-align:center;overflow-wrap:anywhere}.swipe-hint{font-size:10px;letter-spacing:.7px;color:#7e715b;text-align:center;margin:14px 0 0}.save-area{padding:24px 26px 18px}.save{min-height:55px;padding:15px 18px;display:flex;align-items:center;gap:11px;background:#987126;color:#fffaf0;text-decoration:none;border-radius:12px;font-size:15px;font-weight:500;box-shadow:0 6px 15px #98712614;transition:background .2s,transform .2s}.save:hover{background:#7d591a;transform:translateY(-2px)}.save svg{width:21px;height:21px}.save span{margin-left:auto;font-size:10px;border:1px solid #a9936044;padding:4px 7px;border-radius:5px;letter-spacing:.6px}.save-area p{font-size:11px;text-align:center;margin:11px 0 0;color:#7b6e54}footer{border-top:1px solid var(--line);background:#f2e8d5;padding:18px 26px}footer a{display:flex;align-items:center;gap:12px;color:#6c5b3d;text-decoration:none;font-size:11px;line-height:1.6}footer svg{width:20px;height:20px;flex-shrink:0;color:#9a8149}footer a>span:last-child{margin-left:auto;font-size:18px}.signature{text-align:center;font-size:9px;letter-spacing:2px;color:#7d6e51;margin:22px 0 0}.signature span{padding:0 7px}a:focus-visible,button:focus-visible{outline:3px solid #ad8430;outline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}@media(min-width:800px){main{padding-top:42px}.card{border-radius:26px}}@media(max-width:380px){main{padding:16px 12px}.connections{margin-left:20px;margin-right:20px}h1{font-size:29px}.save-area{padding-left:20px;padding-right:20px}.edition{font-size:9px}.hero-label{right:20px}#selected-description{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Cream and brushed-gold edition. */
.hero{background:linear-gradient(125deg,#f9f2e4,#e8d8b8);color:#8a6523;border-bottom-color:#bc964b}
.hero-lines{background:repeating-radial-gradient(ellipse at 95% 125%,transparent 0,transparent 24px,#9a763028 25px,transparent 26px)}
.card{box-shadow:0 24px 75px #75521e24,0 2px 6px #75521e12;border-color:#d7bd85}
h1{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:46px;letter-spacing:-1.5px;line-height:1.12;color:#5e4b23;margin:10px 14px 13px}
h1 strong{font-weight:600}
.eyebrow{color:#88682d}
.save{background:linear-gradient(110deg,#967024,#a17b2d);box-shadow:0 6px 16px #9a752526}
.save:hover{background:#80601f}
.save span{border-color:#f6e5bd77}
footer a{font-size:12px;align-items:flex-start;overflow-wrap:anywhere}
.map-label{display:block;font-size:12px;font-weight:500;margin-top:8px;color:#876222}
.arrow{flex-shrink:0}
@media(max-width:380px){h1{font-size:39px;letter-spacing:-1px}}
