@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_eea437{font-family:Playfair Display,Playfair Display Fallback}.__variable_eea437{--font-serif:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat Fallback;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_97f5e1{font-family:Caveat,Caveat Fallback;font-style:normal}.__variable_97f5e1{--font-hand:"Caveat","Caveat Fallback"}:root{--bg:#fdf8f3;--card:#ffffff;--ink:#3e3a36;--ink-soft:#8a817c;--rose:#b76e79;--rose-dark:#96545e;--rose-soft:#f3e2e4;--gold:#c9a227;--gold-soft:#f5ecd4;--border:#e8dfd8;--shadow-sm:0 1px 2px rgba(62,58,54,0.06),0 4px 12px rgba(62,58,54,0.05);--shadow-md:0 2px 4px rgba(62,58,54,0.05),0 12px 32px rgba(62,58,54,0.1);--shadow-lg:0 4px 8px rgba(62,58,54,0.06),0 24px 64px rgba(62,58,54,0.16);--gradient:linear-gradient(120deg,var(--rose) 0%,var(--rose-dark) 55%,var(--gold) 130%);--radius:20px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}.serif{font-family:var(--font-serif),Georgia,"Times New Roman",serif}.hand{font-family:var(--font-hand),"Snell Roundhand","Segoe Script",cursive}.container{max-width:1140px;margin:0 auto;padding:0 24px}section[id]{scroll-margin-top:90px}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(253,248,243,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,223,216,.7)}.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.nav-logo{font-size:19px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.nav-logo span{color:var(--rose)}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:14.5px;font-weight:500;transition:color .15s ease}.nav-links a:hover{color:var(--ink)}.nav-links a.btn{color:#fff}@media (max-width:860px){.nav-links a:not(.btn){display:none}}.btn{display:inline-block;border-radius:999px;padding:14px 30px;font-size:16px;font-weight:600;text-decoration:none;text-align:center;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 6px 20px rgba(183,110,121,.38)}.btn-primary:hover{box-shadow:0 10px 28px rgba(183,110,121,.45)}.btn-outline{border:1.5px solid var(--border);color:var(--ink);background:var(--card);box-shadow:var(--shadow-sm)}.btn-small{padding:9px 20px;font-size:14px}.pill{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:7px 16px;font-size:13.5px;font-weight:500;color:var(--ink-soft);box-shadow:var(--shadow-sm)}.pill strong{color:var(--rose-dark);font-weight:600}.eyebrow{color:var(--gold);letter-spacing:3.5px;font-size:12.5px;font-weight:700;text-transform:uppercase}.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;grid-gap:56px;gap:56px;padding:72px 24px 88px}.hero:after,.hero:before{content:"";position:absolute;border-radius:50%;filter:blur(90px);z-index:-1;pointer-events:none}.hero:before{width:480px;height:480px;top:-140px;left:-120px;background:rgba(183,110,121,.18)}.hero:after{width:420px;height:420px;bottom:-120px;right:-80px;background:rgba(201,162,39,.14)}.hero-copy h1{font-size:clamp(40px,4.8vw,62px);line-height:1.06;letter-spacing:-.025em;font-weight:560;margin:20px 0 22px}.hero-copy h1 em{font-style:italic;font-weight:540}.hero-copy>p{font-size:18.5px;color:var(--ink-soft);max-width:540px;margin-bottom:32px}.hero-actions{gap:14px;margin-bottom:30px}.hero-actions,.hero-stats{display:flex;flex-wrap:wrap}.hero-stats{gap:10px 26px;font-size:14px;color:var(--ink-soft)}.hero-stats span:before{content:"✓ ";color:var(--rose);font-weight:700}@media (max-width:960px){.hero{grid-template-columns:1fr;text-align:center;padding-top:48px;gap:48px}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.hero-stats{justify-content:center}}.section{padding:88px 0}.section-alt{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head{text-align:center;max-width:640px;margin:0 auto 56px}.section-head h2{font-size:clamp(30px,3.4vw,42px);font-weight:560;letter-spacing:-.02em;line-height:1.15;margin:14px 0}.section-head p{color:var(--ink-soft);font-size:17px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:22px;gap:22px}.step{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px 26px 28px;transition:transform .2s ease,box-shadow .2s ease}.step:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:var(--gradient);color:#fff;font-weight:700;font-size:17px;margin-bottom:16px;box-shadow:0 4px 12px rgba(183,110,121,.3)}.step h3{font-size:19px;letter-spacing:-.01em;margin-bottom:6px}.step p{color:var(--ink-soft);font-size:15px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px}.feature{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.section-alt .feature{background:var(--bg);box-shadow:none}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--rose-soft);font-size:25px;margin-bottom:16px}.feature h3{font-size:18px;letter-spacing:-.01em;margin-bottom:8px}.feature p{color:var(--ink-soft);font-size:15px}.planners{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px;align-items:center}.planners h2{font-size:clamp(28px,3vw,38px);font-weight:560;letter-spacing:-.02em;line-height:1.15;margin:14px 0 16px}.planners>div>p{color:var(--ink-soft);font-size:16.5px;margin-bottom:26px}.planner-list{list-style:none;display:grid;grid-gap:14px;gap:14px}.planner-list li{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 18px;font-size:15px;box-shadow:var(--shadow-sm)}.planner-list li:before{content:"✓";flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--rose-soft);color:var(--rose-dark);font-size:12px;font-weight:700}.planner-list strong{display:block}.planner-list span{color:var(--ink-soft)}@media (max-width:900px){.planners{grid-template-columns:1fr;gap:36px}}.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px;align-items:stretch}.plan{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px 26px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.plan:hover{transform:translateY(-3px)}.plan-featured,.plan:hover{box-shadow:var(--shadow-md)}.plan-featured{background:var(--card);border:2px solid var(--rose);position:relative}.plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gradient);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 16px;border-radius:999px;white-space:nowrap}.plan h3{font-size:18px;margin-bottom:6px}.plan-price{font-size:40px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.plan-price small{font-size:15px;font-weight:400;letter-spacing:0;color:var(--ink-soft)}.pricing-single{grid-template-columns:minmax(0,420px);justify-content:center}.plan-was{font-size:26px;font-weight:400;opacity:.65;margin-right:4px}.plan-note,.plan-was{color:var(--ink-soft)}.plan-note{font-size:13.5px;margin-top:6px}.plan ul{list-style:none;margin:18px 0 26px;flex:1 1}.plan li{font-size:14.5px;color:var(--ink-soft);padding:5px 0}.plan li:before{content:"♥ ";color:var(--rose);font-size:11px}.price-compare{max-width:620px;margin:44px auto 0;text-align:center}.price-compare h3{font-size:20px;margin-bottom:16px}.price-compare table{width:100%;border-collapse:collapse;text-align:left}.price-compare td{padding:11px 4px;font-size:14.5px;color:var(--ink-soft);border-bottom:1px solid var(--border)}.price-compare td:last-child{text-align:right;white-space:nowrap}.price-compare-us td{color:var(--ink);border-bottom:none}.price-compare>p{font-size:13.5px;color:var(--ink-soft);margin-top:16px}.faq{max-width:720px;margin:0 auto;display:grid;grid-gap:12px;gap:12px}.faq details{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow-sm)}.faq summary{cursor:pointer;font-weight:600;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:22px;font-weight:400;color:var(--rose);transition:transform .2s ease}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin-top:12px;color:var(--ink-soft);font-size:15px}.cta-band{background:var(--gradient);border-radius:28px;padding:64px 32px;text-align:center;color:#fff;box-shadow:var(--shadow-lg)}.cta-band h2{font-size:clamp(28px,3.4vw,40px);font-weight:560;letter-spacing:-.02em;margin-bottom:12px}.cta-band p{opacity:.9;max-width:480px;margin:0 auto 30px;font-size:16.5px}.cta-band .btn{background:#fff;color:var(--rose-dark);box-shadow:0 8px 24px rgba(0,0,0,.18)}.site-footer{border-top:1px solid var(--border);margin-top:88px;padding:56px 0 32px;font-size:14px;color:var(--ink-soft)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:40px;gap:40px;margin-bottom:40px}.footer-grid h4{color:var(--ink);font-size:14px;margin-bottom:12px}.footer-grid p{max-width:320px}.footer-grid ul{list-style:none;display:grid;grid-gap:8px;gap:8px}.site-footer a{color:var(--ink-soft);text-decoration:none}.site-footer a:hover{color:var(--ink)}.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-brand{color:var(--rose-dark)!important}.footer-brand:hover{text-decoration:underline}@media (max-width:720px){.footer-grid{grid-template-columns:1fr;gap:28px}}.demo-wrap{display:flex;flex-direction:column;align-items:center;gap:18px}.demo-device{position:relative;width:min(100%,400px);aspect-ratio:3/4;background:#262220;border-radius:38px;padding:13px;box-shadow:var(--shadow-lg),inset 0 0 0 2px rgba(255,255,255,.06);cursor:pointer;animation:demoFloat 7s ease-in-out infinite}@keyframes demoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.demo-live{position:absolute;top:-12px;right:18px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:5px 12px}.demo-live:before{content:"";width:7px;height:7px;border-radius:50%;background:#6ee787;animation:demoPulse 1.6s ease-in-out infinite}@keyframes demoPulse{0%,to{opacity:1}50%{opacity:.35}}.demo-screen{position:relative;width:100%;height:100%;border-radius:26px;overflow:hidden;background:var(--bg)}.demo-scene{position:absolute;inset:0;display:flex;flex-direction:column;animation:sceneIn .45s ease both}@keyframes sceneIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.demo-cover{background:radial-gradient(circle at 30% 20%,#c47f89,var(--rose) 60%,var(--rose-dark))}.demo-cover,.demo-cover-frame{align-items:center;justify-content:center}.demo-cover-frame{width:78%;height:84%;border:2px solid rgba(255,255,255,.65);border-radius:10px;display:flex;flex-direction:column;gap:12px;color:#fff;text-align:center;padding:20px}.demo-cover-frame .eyebrow{color:rgba(255,255,255,.85);font-size:10.5px}.demo-cover-names{font-size:30px;line-height:1.2;font-weight:560}.demo-cover-date{font-size:13px;letter-spacing:.14em;opacity:.9}.demo-cover-heart{font-size:34px;margin-top:6px;animation:demoPulse 2s ease-in-out infinite}.demo-cover-hint{font-size:12px;opacity:.8;margin-top:10px}.demo-scene-pad{padding:26px 24px;gap:10px}.demo-h{font-size:22px;font-weight:560;letter-spacing:-.01em;text-align:center}.demo-sub{font-size:13px;color:var(--ink-soft);text-align:center}.demo-name{justify-content:center}.demo-input{margin-top:18px;background:var(--card);border:1.5px solid var(--rose);border-radius:14px;padding:16px 18px;font-size:19px;min-height:58px;box-shadow:var(--shadow-sm)}.demo-caret{display:inline-block;width:2px;height:1.1em;background:var(--rose);vertical-align:text-bottom;margin-left:1px;animation:caretBlink .9s step-end infinite}@keyframes caretBlink{50%{opacity:0}}.demo-cta{margin-top:16px;align-self:center;background:var(--gradient);color:#fff;border-radius:999px;padding:11px 26px;font-size:14.5px;font-weight:600;box-shadow:0 5px 16px rgba(183,110,121,.35)}.demo-note-paper{margin-top:14px;flex:1 1;background:repeating-linear-gradient(transparent,transparent 33px,var(--border) 33px,var(--border) 34px),var(--card);border:1px solid var(--border);border-radius:14px;padding:10px 18px 18px;box-shadow:var(--shadow-sm);overflow:hidden}.demo-note-text{font-size:23px;line-height:34px;color:var(--ink)}.demo-toolbar{display:flex;justify-content:center;gap:10px;margin-top:14px}.demo-tool{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:12.5px;color:var(--ink-soft)}.demo-tool.active{background:var(--rose-soft);border-color:var(--rose);color:var(--rose-dark);font-weight:600}.demo-camera{margin-top:14px;flex:1 1;border-radius:14px;background:linear-gradient(150deg,#8a6a70,#4d3a40 70%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.demo-camera-emoji{font-size:74px;filter:saturate(1.1)}.demo-countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:84px;font-weight:700;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.4);animation:countPop 1s ease infinite}@keyframes countPop{0%{transform:scale(.6);opacity:0}25%{transform:scale(1);opacity:1}85%{opacity:1}to{opacity:0}}.demo-flash{position:absolute;inset:0;background:#fff;animation:flashOut .5s ease-out both}@keyframes flashOut{0%{opacity:1}to{opacity:0}}.demo-shutter{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:4px solid rgba(255,255,255,.45);background-clip:padding-box}.demo-wall-grid{margin-top:14px;flex:1 1;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;align-content:start}.demo-polaroid{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:6px 6px 8px;box-shadow:var(--shadow-sm);text-align:center}.demo-polaroid-img{border-radius:5px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:28px}.demo-polaroid-name{font-size:9.5px;color:var(--ink-soft);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-polaroid.new{animation:polaroidIn .6s cubic-bezier(.2,1.4,.4,1) both;border-color:var(--rose);box-shadow:0 6px 18px rgba(183,110,121,.3)}@keyframes polaroidIn{0%{transform:scale(.4) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.demo-saved{margin-top:12px;align-self:center;display:inline-flex;align-items:center;gap:7px;background:#edf6ef;border:1px solid #cde5d3;color:#2e7d52;font-size:12.5px;font-weight:600;border-radius:999px;padding:6px 14px}.demo-steps{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.demo-step-btn{border:1px solid var(--border);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:7px 15px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.demo-step-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}.demo-caption{font-size:14px;color:var(--ink-soft);text-align:center;min-height:22px;max-width:380px}.portal{min-height:100vh;max-width:1040px;margin:0 auto;padding:40px 24px 64px;display:flex;flex-direction:column;gap:18px}.portal h1{font-size:34px;font-weight:560}.portal p{color:var(--ink-soft);max-width:560px}.portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.portal-muted{color:var(--ink-soft);font-size:14.5px}.portal-warn{color:#a8791f}.portal-danger,.portal-error{color:#a4433f}.portal-error{background:#fbeceb;border:1px solid #f0cfcd;border-radius:12px}.portal-error,.portal-notice{font-size:14px;padding:10px 14px}.portal-notice{background:#edf6ef;border:1px solid #cde5d3;color:#2e7d52;border-radius:12px}.portal-link{background:none;border:none;font-family:inherit;font-size:13.5px;color:var(--ink-soft);text-decoration:underline;cursor:pointer;padding:4px;margin-top:12px;justify-self:center}.portal-link:hover{color:var(--rose)}.portal-login{display:grid;grid-gap:6px;gap:6px;max-width:360px;width:100%}.portal-login label{font-size:13px;font-weight:600;margin-top:8px}.portal-login input{font-family:inherit;font-size:15px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px 14px}.portal-login input:focus-visible{outline:2px solid var(--rose);outline-offset:1px}.portal-login button{margin-top:16px;justify-content:center}.portal-dash{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}@media (max-width:780px){.portal-dash{grid-template-columns:minmax(0,1fr)}}.wedding-list{list-style:none;display:grid;grid-gap:8px;gap:8px}.wedding-list button{width:100%;text-align:left;font-family:inherit;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;cursor:pointer;display:grid;grid-gap:3px;gap:3px;justify-items:start;transition:border-color .15s ease}.wedding-list button:hover{border-color:var(--rose)}.wedding-list button.is-active{border-color:var(--rose);box-shadow:var(--shadow-sm)}.wedding-name{font-weight:600;font-size:14.5px;color:var(--ink)}.wedding-meta{font-size:12.5px;color:var(--ink-soft)}.health{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:3px 10px;border:1px solid transparent}.health-in_sync{background:#edf6ef;border-color:#cde5d3;color:#2e7d52}.health-pending{background:var(--gold-soft);border-color:#e6d9ab;color:#8a6d16}.health-failed{background:#fbeceb;border-color:#f0cfcd;color:#a4433f}.health-unknown{background:#f1eeeb;border-color:var(--border);color:var(--ink-soft)}.sync-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:grid;grid-gap:18px;gap:18px}.sync-headline{display:grid;grid-gap:8px;gap:8px;justify-items:start}.sync-headline p{color:var(--ink);font-size:15px}.sync-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:12px;gap:12px}.sync-stats div{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:12px;display:grid;grid-gap:2px;gap:2px}.sync-stats strong{font-size:24px;font-weight:700;letter-spacing:-.02em}.sync-stats span{font-size:12.5px;color:var(--ink-soft)}.sync-card h3{font-size:15px;font-weight:650}.sync-table{width:100%;border-collapse:collapse;font-size:13.5px;display:block;overflow-x:auto}.sync-table th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-soft);padding:6px 10px 6px 0;white-space:nowrap}.sync-table td{padding:9px 10px 9px 0;border-top:1px solid var(--border);white-space:nowrap}.sync-log summary{cursor:pointer;font-size:13.5px;font-weight:600}.sync-log ul{list-style:none;margin-top:10px;display:grid;grid-gap:6px;gap:6px;font-size:12.5px;color:var(--ink-soft)}.sync-log code{color:var(--ink);font-size:12px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.demo-device{animation:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.book-wrap{display:grid;grid-gap:14px;gap:14px;justify-items:center}.book{position:relative;width:100%;max-width:940px;aspect-ratio:3/2;perspective:1800px;touch-action:pan-y}.leaf-base{z-index:0}.leaf-base,.sheet{position:absolute;inset:0 0 0 50%}.sheet{transform-origin:left center;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.42,0,.28,1)}.sheet.is-flipped{transform:rotateY(-180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.face-back{transform:rotateY(180deg)}.book-spine{position:absolute;top:4px;bottom:4px;left:50%;width:6px;margin-left:-3px;background:rgba(90,70,40,.18);border-radius:3px;z-index:2000;pointer-events:none}.book-controls{display:flex;align-items:center;gap:16px}.book-label{font-size:14px;font-weight:600;color:var(--ink-soft);min-width:190px;text-align:center}.book-hint{font-size:13px;color:var(--ink-soft)}.book-empty{text-align:center;padding:48px 16px;color:var(--ink-soft)}.sb-paper{position:absolute;inset:0;background:#fbf3e4;border:1.5px solid #e7d9bf;border-radius:8px;overflow:hidden}.sb-paper-inner{position:absolute;inset:12px;border:1px dashed #e7d9bf;border-radius:4px;padding:8px;display:flex;flex-direction:column;gap:8px}.sb-page-no{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:12px;font-style:italic;color:#b4a88e}.sb-blank{font-size:22px;color:#d8c9a8}.sb-blank,.sb-entry{flex:1 1;display:flex;align-items:center;justify-content:center}.sb-entry{position:relative;gap:20px;padding:10px;min-height:0}.sb-polaroid{container-type:inline-size;position:relative;flex:0 0 38%;max-width:300px;background:#fdfdf8;border-radius:3px;box-shadow:0 8px 14px rgba(0,0,0,.3)}.sb-polaroid-frame{padding:4cqw 4cqw 5cqw}.sb-tape{position:absolute;top:-4.4cqw;width:26cqw;height:8.8cqw;background:rgba(255,250,230,.75);border-radius:2px;z-index:1}.sb-tape-left{left:-6.2cqw;transform:rotate(-40deg)}.sb-tape-right{right:-6.2cqw;transform:rotate(40deg)}.sb-polaroid-photo{position:relative;aspect-ratio:1;background:#000;overflow:hidden}.sb-polaroid-photo img{width:100%;height:100%;object-fit:cover;display:block}.sb-photo-placeholder{position:absolute;inset:0;background:#f2ebe0;color:var(--rose);font-size:40px}.sb-photo-placeholder,.sb-polaroid-chin{display:flex;align-items:center;justify-content:center}.sb-polaroid-chin{padding-top:4cqw;min-height:20cqw}.sb-polaroid-name{font-size:11cqw;font-style:italic;font-weight:600;color:#2b2b2b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-note-area{flex:1 1;min-width:0;max-width:420px;display:flex;flex-direction:column;gap:8px}.sb-prompt{font-size:14px;color:var(--gold)}.sb-note-text{color:var(--ink);overflow-wrap:anywhere}.sb-note-empty{font-size:26px;color:var(--rose)}.sb-note-from{font-size:16px;font-style:italic;color:var(--ink-soft)}.sb-ink{inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.sb-date,.sb-ink{position:absolute}.sb-date{right:10px;bottom:4px;font-size:12px;font-style:italic;color:#b4a88e}.sb-wave{gap:8px}.sb-wave,.sb-wave-play{display:flex;align-items:center}.sb-wave-play{width:30px;height:30px;border:none;border-radius:50%;background:var(--rose);color:#fff;font-size:11px;font-weight:700;cursor:pointer;justify-content:center;flex:none}.sb-wave-bars{display:flex;align-items:center;gap:2px}.sb-wave-bar{width:3.5px;border-radius:2px}.book-cover{position:absolute;inset:0;border-radius:8px;background:var(--gradient);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 30px rgba(62,58,54,.25)}.book-cover-inner{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:24px;text-align:center}.book-cover-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.85}.book-cover-names{font-size:clamp(22px,3.4vw,40px);font-weight:560;color:#fff}.book-cover-names em{font-style:italic;opacity:.85}.book-cover-count,.book-cover-date{font-size:13px;opacity:.85}.book-cover-hint{position:absolute;bottom:16px;font-size:12px;opacity:.75}@media (prefers-reduced-motion:reduce){.sheet{transition:none}}.view-tabs{display:inline-flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:4px;margin-bottom:18px}.view-tabs button{border:none;background:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-soft);padding:7px 18px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.view-tabs button.is-active{background:var(--gradient);color:#fff}.sb-chin-sig{max-width:100%;max-height:18cqw;object-fit:contain}.sb-byline-sig{width:70%;max-height:56px;object-fit:contain;align-self:flex-start}.bc-cover{position:absolute;inset:0;border-radius:6px 16px 16px 6px;overflow:hidden;display:flex}.bc-spine-shade{position:absolute;left:0;top:0;bottom:0;width:22px;background:rgba(0,0,0,.22)}.bc-spine-highlight{position:absolute;left:22px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.25)}.bc-frame{flex:1 1;margin:16px 16px 16px 34px;border:2px solid;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;opacity:.96;text-align:center;min-width:0}.bc-eyebrow{font-size:12px;letter-spacing:4px;opacity:.85}.bc-title{font-size:clamp(20px,3.2vw,40px);font-weight:600;line-height:1.15;overflow-wrap:anywhere}.bc-date{font-size:15px;opacity:.85}.bc-photo{width:56%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:2px solid;margin-top:6px}.bc-heart{font-size:38px;opacity:.8;margin-top:6px}.bc-count{font-size:12px;font-style:italic;opacity:.75;margin-top:4px}.lock-card{margin-top:18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;display:grid;grid-gap:12px;gap:12px;justify-items:start}.lock-card.is-locked{border-color:var(--gold);background:var(--gold-soft)}.lock-card strong{font-size:15px}.lock-card p{font-size:14px;margin-top:4px;max-width:52ch}.lock-blocked{display:grid;grid-gap:10px;gap:10px;justify-items:start}.lock-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-danger{background:#a4433f;color:#fff;border:1.5px solid #a4433f}.btn-danger:hover{background:#8d3936}