:root{--ivory:#f7f2ea;--cream:#efe6d6;--ink:#2e2a24;--muted:#8a7f6d;--gold:#b08442;--gold-soft:#cda86b;--line:#2e2a241f;--shadow:0 24px 60px -20px #2e2a2459;--background:#fff;--foreground:#171717;--primary:#db4b54;--primary-rgb:219, 75, 84;--secondary:#b08442;--secondary-rgb:211, 249, 4;--gold-rgb:176, 132, 66;--gold-soft-rgb:205, 168, 107;--danger:#dc332d;--danger-rgb:220, 51, 45;--info:#2d4adc;--info-rgb:45, 74, 220;--warning:#dc702d;--warning-rgb:220, 112, 45;--dark:#161f21;--paragraph:#505354;--light:#f7f2ea;--light-rgb:241, 247, 247;--gray:#e0e6e6;--gray-rgb:224, 230, 230;--faded:#8a7f6d;--faded-rgb:138, 127, 109;--border-color:#cfd9db;--border-color-rgb:212, 222, 216;--hero-padding:50px 0 50px;--grid-system-padding:16px;--grid-system-margin:-16px;--border-radius-xl:40px;--border-radius:30px;--border-radius-md:20px;--border-radius-sm:15px;--border-radius-xs:10px;--border-radius-inside:20px;--border-radius-half:10px;--transition:cubic-bezier(.4,0,.6,1);--section-padding:120px;--section-bottom-padding:50px;--wrapper:1270px;--body-font-family:"Montserrat";--heading-font-family:"Cormorant Garamond"}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;font-weight:300;line-height:1.6}main{overflow:hidden}a{color:var(--gold);text-decoration:none}.wrapper{max-width:var(--wrapper);width:90%;margin:0 auto}.serif{font-family:Cormorant Garamond,serif}.nav{padding:26px 0}.nav .wrapper{justify-content:space-between;align-items:center;display:flex}.nav .logo{color:var(--ink);letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600}.nav .logo a{display:flex}.nav .logo svg{width:160px;height:auto}.nav .logo span{color:var(--gold)}.nav .links a{margin-left:24px;font-size:18px;font-weight:400}.nav .links a.btn{letter-spacing:.08em;padding:12px 16px;font-size:14px}.burger{cursor:pointer;z-index:100;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:4px;display:none}.burger span{background:var(--ink);border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .25s;display:block}.burger.open span:first-child{transform:translateY(7px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.burger{display:flex}.nav .links{background:var(--bg,#fffdf8);border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:99;flex-direction:column;align-items:flex-start;gap:0;padding:16px 24px 20px;display:none;position:absolute;top:100%;left:0;right:0}.nav .links.open{display:flex}.nav .links a{border-bottom:1px solid var(--line);width:100%;margin-left:0;padding:10px 0;font-size:16px}.nav .links a:last-child{border-bottom:none}.nav .links a.btn{text-align:center;width:100%;margin-top:12px}.nav .links form{width:100%;margin:0}.nav .links form button{all:unset;cursor:pointer;width:100%;padding:10px 0;font-size:16px;font-weight:400;display:block}.nav .links form button:hover{opacity:.75}.nav{position:relative}}.card{border:1px solid var(--line);background:#fffdf8;border-radius:8px;padding:34px;box-shadow:0 18px 44px -28px #2e2a2466}.field{text-align:left;margin-bottom:18px}.field label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-size:12px;display:block}.field input[type=text],.field input[type=email],.field input[type=password],.field textarea{border:1px solid var(--line);background:var(--ivory);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:13px 15px;font-family:Montserrat;font-size:15px;transition:border .25s}.field input:focus{border-color:var(--gold-soft)}.field .hint{color:var(--muted);margin-top:5px;font-size:12px}.err{color:#b14b3c;margin-top:6px;font-size:13px}.alert{background:rgba(var(--info-rgb), .1);border:1px solid rgba(var(--info-rgb), .5);color:var(--info);border-radius:8px;align-items:center;gap:8px;margin-bottom:22px;padding:13px 16px;font-size:16px;display:flex}.toggle{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.toggle:last-child{border-bottom:0}.toggle input{width:18px;height:18px;accent-color:var(--gold);margin-top:4px}.toggle .t-label{color:var(--ink);font-size:15px}footer{text-align:center;color:var(--muted);letter-spacing:.14em;padding:40px 0;font-size:13px}footer svg{width:10px}@media (width<=640px){.card{padding:24px}}.auth-wrap{flex-direction:column;place-content:center;place-items:center;gap:20px;min-height:100vh;padding:40px 20px;display:flex}.auth-wrap .logo svg{width:160px;height:auto}.auth-logo:hover{color:var(--gold)}.auth-card{width:100%;max-width:440px}.auth-card h1{text-align:center;margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:34px;font-weight:500}.auth-card .sub{text-align:center;color:var(--muted);margin-bottom:28px;font-size:14px}.auth-foot{text-align:center;color:var(--muted);margin-top:20px;font-size:14px}@media (width<=640px){.auth-wrap{min-height:unset;justify-content:flex-start}}.dash-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:26px;margin:30px 0 60px;display:grid}.dash-grid-single{grid-template-columns:1fr;margin:30px 0 60px;display:grid}.dash-grid.qr-first .qr-box{order:-1}.stat{gap:30px;margin-bottom:24px;display:flex}.stat .num{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:40px;line-height:1}.stat .lbl{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:13px}.link-box{gap:8px;margin:14px 0 24px;display:flex}.link-box input{border:1px solid var(--line);background:var(--ivory);color:var(--ink);border-radius:8px;flex:1;padding:11px 13px;font-size:14px}.link-box button{background:var(--ink);color:var(--ivory);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;border:0;border-radius:8px;padding:11px 16px;font-size:12px}.qr-box{text-align:center}.qr-box>img{border:1px solid var(--line);background:#fff;border-radius:8px;width:220px;height:220px;padding:14px}.qr-actions{flex-direction:column;gap:10px;margin-top:16px;display:flex}.format-switcher{background:#f0ede8;border-radius:999px;gap:2px;margin-bottom:16px;padding:4px;display:inline-flex}.format-tab{color:#888;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 22px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.format-tab.active{background:var(--ink,#2e2a24);color:#fff}.poster-stage{width:100%;display:none;position:relative}.poster-stage.active{display:block}.poster-dots{display:none!important}.poster-dots.active{display:flex!important}.poster-slide{flex-direction:column;align-items:center;gap:14px;padding-bottom:8px;display:none}.poster-slide.active{display:flex}.poster-slide img{border:1px solid var(--line);border-radius:8px;width:70%;max-width:200px;height:auto;box-shadow:0 2px 12px #00000014}.poster-dl-btn{font-size:13px}.landing-carousel{width:100%;position:relative}.landing-stage{position:relative}.landing-slide{display:none}.landing-slide.active{display:block}.landing-slide img{border-radius:12px;width:100%;height:auto;box-shadow:0 4px 24px #0000001f}.landing-arrows{justify-content:center;gap:12px;margin-top:16px;display:flex}.landing-arrows button{background:var(--white);border:1px solid var(--line);cursor:pointer;width:38px;height:38px;color:var(--ink);border-radius:50%;font-size:16px;transition:background .2s}.landing-arrows button:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}.landing-dots{margin-top:12px}.qr-block{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:14px;margin-top:24px;padding-top:24px;display:flex}.qr-img{border:1px solid var(--line);background:#fff;border-radius:8px;width:140px;height:140px;padding:10px}.paywall-banner{text-align:center;padding:32px 16px}.paywall-icon{margin-bottom:12px;font-size:36px}.paywall-banner h3{margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600}.paywall-banner p{color:#888;margin-bottom:24px;font-size:14px;line-height:1.6}.contact-section{background:var(--ivory);border-top:1px solid var(--line);padding:80px 0}.contact-wrapper{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.contact-heading{margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:36px;font-weight:500}.contact-sub{color:#888;margin-bottom:32px;font-size:15px;line-height:1.65}.social-links{gap:20px;display:flex}.social-links a{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s;display:flex}.social-links a:hover{opacity:.6}.contact-form .field{margin-bottom:16px}.contact-form textarea{resize:vertical;width:100%}.field-error{color:#c0392b;margin-top:4px;font-size:13px;display:block}@media (width<=820px){.contact-wrapper{grid-template-columns:1fr;gap:36px}}h2.sec{margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:26px;font-weight:500}@media (width<=820px){.dash-grid{grid-template-columns:1fr}}.qr-print{place-items:center;min-height:100vh;padding:30px;display:grid}.qr-sheet{border:1px solid var(--line);text-align:center;max-width:480px;box-shadow:var(--shadow);background:#fffdf8;border-radius:8px;padding:54px 50px}.qr-sheet .eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:12px}.qr-sheet h1{font-family:Cormorant Garamond,serif;font-size:44px;font-weight:500;line-height:1.05}.qr-sheet .tag{color:var(--muted);letter-spacing:.06em;margin:14px 0 30px}.qr-sheet .qr{border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px;display:inline-block}.qr-sheet .qr img{width:280px;height:280px;display:block}.qr-sheet .how{margin-top:26px;font-size:15px}.qr-sheet .how b{color:var(--gold);font-weight:500}.qr-sheet .url{color:var(--muted);word-break:break-all;margin-top:16px;font-size:12px}.print-btn{margin-top:24px}@media print{body{background:#fff}.qr-sheet{box-shadow:none;border:0}.print-btn{display:none}}header.wall{text-align:center;padding:20px 0 14px}header.wall .eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:13px}header.wall h1{font-family:Cormorant Garamond,serif;font-size:clamp(40px,8vw,76px);font-weight:500;line-height:1.04}header.wall h1 .amp{color:var(--gold);padding:0 .1em;font-style:italic}header.wall .date{letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:14px}.rule{background:var(--gold-soft);width:60px;height:1px;margin:26px auto 0;position:relative}.rule:before,.rule:after{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%)}.rule:before{left:-13px}.rule:after{right:-13px}.stage{aspect-ratio:16/10;background:var(--cream);width:100%;max-height:72vh;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden}.slide{opacity:0;transition:opacity 1.4s;position:absolute;inset:0}.slide.active{opacity:1}.slide img{object-fit:cover;width:100%;height:100%;animation:9s ease-in-out infinite alternate kb}@keyframes kb{0%{transform:scale(1.03)}to{transform:scale(1.12)translate(-1.5%,1.5%)}}.slide .credit{color:#fff;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#0000,#14110c8c);padding:46px 26px 20px;font-size:14px;position:absolute;bottom:0;left:0;right:0}.slide .credit span{color:#fff;font-weight:600}.empty-stage{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.empty-stage .big{color:var(--ink);margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:30px;font-style:italic}.count{color:#fff;letter-spacing:.16em;background:#14110c80;border-radius:30px;padding:6px 13px;font-size:12px;font-weight:400;position:absolute;top:16px;right:18px}.arrows{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.arrows button{pointer-events:auto;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14110c4d;border:1px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 14px;font-size:18px;display:flex}.arrows button svg{max-width:18px}.dots{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:20px;display:flex}.dot{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;transition:all .35s}.dot.on{background:var(--gold);border-radius:8px;width:22px}.upload{border:1px solid var(--line);text-align:center;background:#fffdf8;border-radius:8px;max-width:540px;margin:20px auto 70px;padding:36px 32px;box-shadow:0 18px 44px -28px #2e2a2466}.upload h2{margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:30px;font-weight:500}.upload .sub{color:var(--muted);margin-bottom:24px;font-size:15px}.drop{border:1.5px dashed var(--gold-soft);cursor:pointer;background:var(--ivory);border-radius:5px;padding:32px 18px;transition:background .25s}.drop:hover,.drop.drag{background:var(--cream)}.drop .ic{margin-bottom:8px;font-size:30px}.drop small{color:var(--muted);margin-top:6px;font-size:13px;display:block}#file{display:none}.preview{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.preview div{border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:8px;width:56px;height:56px;transition:opacity .3s;position:relative}.preview .more{background:var(--cream);color:var(--muted);place-items:center;font-size:13px;display:grid}.preview div.done{opacity:.45;border-color:#5b7a45}.preview div.done:after{content:"";filter:drop-shadow(0 1px 2px #0000004d);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235b7a45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") 50%/24px no-repeat;place-items:center;display:grid;position:absolute;inset:0}.preview div.fail{opacity:.45;border-color:#b14b3c}.preview div.fail:after{content:"✕";color:#b14b3c;text-shadow:0 1px 3px #0000004d;place-items:center;font-size:20px;font-weight:700;display:grid;position:absolute;inset:0}.preview div.uploading{outline:2px solid var(--gold);outline-offset:2px}.bar{background:var(--cream);border-radius:8px;height:4px;margin-top:16px;display:none;overflow:hidden}.bar i{background:var(--gold);width:0;height:100%;transition:width .25s;display:block}.msg{font-size:14px}.msg.ok p{color:#5b7a45}.msg.err p{color:#b14b3c}.closed{text-align:center;max-width:540px;color:var(--muted);margin:42px auto 70px}.closed .big{color:var(--ink);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:28px;font-style:italic}.section-title{text-align:center;margin-bottom:44px;font-family:Cormorant Garamond,serif;font-size:38px;font-weight:500}.steps{margin-bottom:30px}.step{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;height:100%;padding:26px 24px}.step h3{color:var(--ink);margin-bottom:8px;font-family:Montserrat,serif;font-size:24px;font-weight:500}.features{max-width:560px;margin:0 auto 30px}.features li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;font-size:16px;list-style:none;display:flex}.features li:last-child{border-bottom:0}.features li:before{content:"♥";color:var(--gold);font-size:14px}.final-cta{text-align:center;padding:50px 0 70px}@media (width<=780px){.steps{grid-template-columns:1fr 1fr}}@media (width<=480px){.steps{grid-template-columns:1fr}}.hero~.rule{width:64px;margin:54px auto}.hero~.rule:before{left:-14px}.hero~.rule:after{right:-14px}.slide .dl-btn{z-index:2;color:#fff;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14110c6b;border:1px solid #ffffff59;border-radius:30px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex;position:absolute;top:16px;left:18px}.slide .dl-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold)}.slide .dl-btn .dl-icon{font-size:14px;line-height:1}@media (width<=520px){.slide .dl-btn .dl-text{display:none}.slide .dl-btn{border-radius:50%;justify-content:center;width:36px;height:36px;padding:8px 10px}.slide .dl-btn .dl-icon{font-size:16px}}
