:root{--bg: #faf3ee;--bg-2: #f3e5dc;--surface: rgba(255, 248, 244, .74);--surface-strong: rgba(255, 248, 244, .94);--surface-line: rgba(92, 56, 69, .1);--surface-line-strong: rgba(92, 56, 69, .22);--ink: #5c3845;--ink-soft: #8a5a66;--ink-mute: #a87883;--rose: #d4859a;--rose-soft: #ecc5cd;--rose-deep: #b85a6e;--sage: #8fa88b;--sage-soft: #c3d2bf;--sage-deep: #6a8665;--gold: #d4a373;--gold-soft: #e8d1a4;--font-display: "Fraunces", "Cormorant Garamond", "Times New Roman", serif;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-accent: "Cormorant Garamond", "Fraunces", serif;--radius-sm: 10px;--radius-md: 18px;--radius-lg: 28px;--radius-xl: 40px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--max-w: 1180px;--gutter: clamp(20px, 4vw, 56px);--shadow-soft: 0 1px 2px rgba(92, 56, 69, .04), 0 8px 24px rgba(92, 56, 69, .06);--shadow-md: 0 1px 2px rgba(92, 56, 69, .04), 0 20px 50px rgba(92, 56, 69, .1);--shadow-strong: 0 30px 80px rgba(92, 56, 69, .16);--shadow-glow: 0 0 0 1px rgba(212, 133, 154, .18), 0 30px 60px rgba(212, 133, 154, .18)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-ui);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;cursor:none}body.no-custom-cursor{cursor:auto}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:none}a{color:inherit;text-decoration:none}::selection{background:var(--rose);color:var(--bg)}:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:4px}.bg-mesh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(60% 50% at 18% 20%,rgba(212,133,154,.26),transparent 70%),radial-gradient(50% 60% at 85% 12%,rgba(143,168,139,.22),transparent 70%),radial-gradient(70% 50% at 78% 82%,rgba(184,90,110,.16),transparent 70%),radial-gradient(60% 50% at 12% 92%,rgba(236,197,205,.26),transparent 70%),linear-gradient(180deg,#faf3ee,#f3e5dc);background-size:200% 200%,200% 200%,200% 200%,200% 200%,100% 100%;animation:mesh-move 32s ease-in-out infinite alternate}@keyframes mesh-move{0%{background-position:0% 0%,100% 0%,100% 100%,0% 100%,0 0}to{background-position:30% 40%,70% 30%,40% 80%,60% 60%,0 0}}.bg-grain{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.11  0 0 0 0 0.09  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:200px 200px;animation:grain-shift 1.6s steps(3) infinite}@keyframes grain-shift{0%{transform:translate(0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-1%)}to{transform:translate(0)}}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:200;mix-blend-mode:difference}.cursor-dot,.cursor-ring{position:absolute;top:0;left:0;border-radius:50%;will-change:transform}.cursor-dot{width:6px;height:6px;background:#faf6f1;transform:translate(-50%,-50%);transition:width .25s var(--ease-out),height .25s var(--ease-out)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(250,246,241,.55);transform:translate(-50%,-50%);transition:width .32s var(--ease-out),height .32s var(--ease-out),border-color .32s var(--ease-out),background-color .32s var(--ease-out)}.cursor.is-hover .cursor-dot{width:0;height:0}.cursor.is-hover .cursor-ring{width:56px;height:56px;border-color:#d4859ae6;background:#d4859a2e}@media (hover: none),(max-width: 720px){body{cursor:auto}button,a{cursor:pointer}.cursor{display:none}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;pointer-events:none}#scrollProgressBar{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--rose),var(--gold),var(--sage));box-shadow:0 0 12px #d4859a80;transition:width .12s linear}.back-to-top{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(18px,4vw,34px);z-index:70;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--ink);background:var(--surface-strong);border:1px solid var(--surface-line-strong);border-radius:50%;box-shadow:var(--shadow-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),color .25s var(--ease-out),background .25s var(--ease-out)}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{color:var(--bg);background:var(--rose-deep)}.page{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}.section{position:relative;padding:clamp(80px,12vw,140px) 0}.section-head{max-width:720px;margin:0 auto clamp(48px,6vw,72px);text-align:left}.section-head .eyebrow,.section-head .section-title,.section-head .section-lead{text-align:center;margin-left:auto;margin-right:auto}.center{text-align:center}.eyebrow{display:inline-block;font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin:0 0 16px;padding:6px 14px;border:1px solid var(--surface-line-strong);border-radius:999px;background:var(--surface);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.section-title{font-family:var(--font-display);font-weight:500;font-size:clamp(32px,5vw,56px);line-height:1.05;letter-spacing:-.02em;margin:0 0 18px;color:var(--ink);font-variation-settings:"opsz" 96}.section-lead{font-family:var(--font-ui);font-size:17px;line-height:1.6;color:var(--ink-soft);margin:0;max-width:560px}.btn-magnetic{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:999px;font-family:var(--font-ui);font-size:14px;font-weight:600;letter-spacing:.005em;color:var(--ink);overflow:hidden;isolation:isolate;transition:color .4s var(--ease-out);will-change:transform;-webkit-tap-highlight-color:transparent}.btn-magnetic .btn-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--ink);transform-origin:left center;transform:scaleX(0);transition:transform .5s var(--ease-out)}.btn-magnetic .btn-text,.btn-magnetic .btn-icon{position:relative;z-index:1;transition:transform .4s var(--ease-out)}.btn-magnetic .btn-icon{transition:transform .4s var(--ease-out)}.btn-magnetic.btn-primary{background:var(--ink);color:var(--bg)}.btn-magnetic.btn-primary .btn-bg{background:var(--ink)}.btn-magnetic.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-magnetic.btn-ghost .btn-bg{background:var(--ink)}.btn-magnetic.btn-primary:hover{background:var(--rose-deep)}.btn-magnetic.btn-ghost:hover{color:var(--bg);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-magnetic:hover .btn-bg{transform:scaleX(1)}.btn-magnetic:active{transform:scale(.98);transition-duration:.1s}.btn-ripple{position:absolute;border-radius:50%;background:#ffffff4d;pointer-events:none;transform:scale(0);animation:btn-ripple .65s var(--ease-out) forwards;z-index:2}@keyframes btn-ripple{to{transform:scale(2.4);opacity:0}}.btn-mini{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--ink);transition:background .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out),transform .3s var(--ease-out);border:1.5px solid var(--ink);background:transparent}.btn-mini.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-mini.btn-primary:hover{background:var(--rose-deep);border-color:var(--rose-deep);transform:translateY(-1px)}.btn-mini.btn-ghost:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-1px)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(72px,11vh,110px) 0 clamp(80px,12vh,120px)}.hero-dove{display:flex;justify-content:center;align-items:center;margin:4px 0 -10px;pointer-events:none;opacity:.95}.hero-dove svg{width:clamp(240px,34vw,400px);height:auto;display:block;animation:float-and-bob 7s ease-in-out infinite}.dove-wings{transform-origin:50% 100%;transform-box:fill-box;animation:wing-flap 1.6s ease-in-out infinite}@keyframes float-and-bob{0%{transform:translate(0) rotate(-1.5deg)}25%{transform:translate(-2px,-3px) rotate(0)}50%{transform:translate(-6px,-10px) rotate(1.5deg)}75%{transform:translate(-2px,-3px) rotate(0)}to{transform:translate(0) rotate(-1.5deg)}}@keyframes wing-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.7)}}.hero .eyebrow,.hero h1,.hero .hero-meta,.hero .hero-sub,.hero .hero-cta{position:relative;z-index:1}.display{font-family:var(--font-display);font-weight:400;font-size:clamp(64px,13vw,180px);line-height:.92;letter-spacing:-.04em;margin:0 0 24px;color:var(--ink);font-variation-settings:"opsz" 144}.display-line{display:block;overflow:hidden}.display-line>span{display:inline-block;will-change:transform}.display .italic{font-family:var(--font-accent);font-style:italic;font-weight:400;color:var(--rose-deep);position:relative;display:inline-block;font-variation-settings:normal;font-feature-settings:"liga" 0,"dlig" 0,"swsh" 0}.display .italic>span{font-family:var(--font-accent);font-style:italic;font-weight:400;color:var(--rose-deep);font-variation-settings:normal;font-feature-settings:"liga" 0,"dlig" 0,"swsh" 0}.hero-meta{display:inline-flex;align-items:center;gap:16px;margin-bottom:18px}.hero-divider{display:inline-block;width:28px;height:1px;background:var(--surface-line-strong)}.hero-date{font-family:var(--font-display);font-size:clamp(22px,2.8vw,28px);font-weight:500;letter-spacing:.18em;color:var(--ink);margin:0;font-variation-settings:"opsz" 144}.hero-date-month{font-style:italic;font-weight:400;color:var(--rose-deep);letter-spacing:.04em;text-transform:lowercase}.hero-dot{color:var(--rose);font-weight:700;margin:0 4px}.hero-lead{font-family:var(--font-accent);font-style:italic;font-size:clamp(20px,2.6vw,28px);color:var(--ink-soft);margin:14px auto 0;max-width:560px;line-height:1.5}.hero-sub{font-family:var(--font-accent);font-style:italic;font-size:clamp(18px,2.2vw,22px);color:var(--ink-soft);margin:14px 0 40px;max-width:480px;line-height:1.4}.hero-cta{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:420px}.hero-cta .btn-magnetic{width:100%}@media (min-width: 640px){.hero-cta{flex-direction:row;max-width:none;width:auto}.hero-cta .btn-magnetic{width:auto}}.scroll-cue{position:absolute;bottom:32px;left:0;right:0;margin:0 auto;width:max-content;display:inline-flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink-soft);font-size:12px;letter-spacing:.2em;text-transform:uppercase;z-index:1;transition:opacity .4s var(--ease-out)}.scroll-cue.is-hidden{opacity:0;pointer-events:none}.scroll-cue-mouse{display:inline-flex;color:var(--ink-soft);animation:scroll-mouse-bob 1.8s var(--ease-out) infinite}.scroll-cue-dot{stroke:var(--rose-deep);stroke-width:2.2;transform-origin:12px 14px;animation:scroll-dot 1.8s var(--ease-out) infinite}@keyframes scroll-mouse-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes scroll-dot{0%{transform:translateY(-3px);opacity:0}20%{opacity:1}60%{transform:translateY(6px);opacity:0}to{transform:translateY(6px);opacity:0}}.scroll-cue-label{font-size:10px;letter-spacing:.24em}.contagem{text-align:center;display:flex;flex-direction:column;align-items:center}.countdown{display:inline-flex;align-items:flex-start;gap:clamp(8px,2vw,20px);margin-top:12px;padding:clamp(20px,4vw,36px) clamp(20px,4vw,48px);background:var(--surface);border:1px solid var(--surface-line);border-radius:var(--radius-lg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft)}.cd-title{margin-top:24px;margin-bottom:0}.cd-cell{display:flex;flex-direction:column;align-items:center;min-width:64px}.cd-num{font-family:var(--font-display);font-size:clamp(40px,7vw,76px);font-weight:500;line-height:1;color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 144;display:inline-block;min-width:1.2ch;text-align:center;transition:transform .5s var(--ease-spring)}.cd-num.is-flip{transform:translateY(-6px) scale(1.04)}.cd-label{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px}.cd-sep{font-family:var(--font-display);font-size:clamp(28px,5vw,48px);font-weight:300;color:var(--ink-mute);line-height:1;margin-top:6px;opacity:.6}@media (max-width: 560px){.countdown{flex-wrap:wrap;justify-content:center}.cd-sep{display:none}.cd-cell{min-width:70px;margin:4px}}.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:24px;position:relative}.t-item{position:relative;display:grid;grid-template-columns:140px 1fr;gap:32px;align-items:start}.t-time{display:flex;flex-direction:column;align-items:flex-start;padding-top:20px;position:sticky;top:120px}.t-time-num{font-family:var(--font-display);font-size:clamp(40px,5vw,60px);font-weight:500;line-height:1;color:var(--ink);letter-spacing:-.03em;font-variation-settings:"opsz" 144}.t-time-tag{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin-top:8px}.t-card{position:relative;padding:clamp(28px,4vw,44px);background:var(--surface);border:1px solid var(--surface-line);border-radius:var(--radius-lg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}.t-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.t-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.t-pill{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-deep);padding:5px 12px;border-radius:999px;background:var(--sage-soft)}.t-ornament{color:var(--rose);font-size:16px;opacity:.7}.t-title{font-family:var(--font-display);font-size:clamp(28px,3.4vw,38px);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink);font-variation-settings:"opsz" 96}.t-text{font-size:16px;line-height:1.65;color:var(--ink-soft);margin:0 0 20px;max-width:56ch}.t-media{margin:0 0 22px;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 9;background:var(--bg-2);position:relative}.t-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(92,56,69,.05));pointer-events:none}.t-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.t-card:hover .t-media img{transform:scale(1.04)}.t-place{padding-top:20px;border-top:1px solid var(--surface-line);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.t-place-name{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink);letter-spacing:-.01em;margin:0}.t-place-addr{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:-8px 0 0}.t-place-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}@media (max-width: 720px){.t-item{grid-template-columns:1fr;gap:16px}.t-time{padding-top:0;position:static;flex-direction:row;align-items:baseline;gap:16px}}.locais-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.local-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--surface-line);border-radius:var(--radius-lg);overflow:hidden;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out);transform-style:preserve-3d;will-change:transform}.local-card:hover{box-shadow:var(--shadow-md)}.local-media{position:relative;margin:0;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-2)}.local-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(92,56,69,.05));pointer-events:none}.local-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.local-card:hover .local-media img{transform:scale(1.05)}.local-body{padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:12px;flex:1}.local-tag{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin:0}.local-title{font-family:var(--font-display);font-size:clamp(24px,2.6vw,30px);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--ink);font-variation-settings:"opsz" 96}.local-address{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0;flex:1}.local-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.rsvp{padding-bottom:clamp(40px,6vw,80px)}.rsvp-inner{max-width:760px;margin:0 auto;padding:clamp(36px,5vw,64px);background:var(--surface-strong);border:1px solid var(--surface-line);border-radius:var(--radius-xl);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow-md);position:relative;overflow:hidden;overflow-anchor:none}.rsvp-inner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,133,154,.4),transparent)}.rsvp-inner.is-success .section-head{opacity:0;max-height:0;margin:0;padding:0;overflow:hidden;transition:opacity .4s var(--ease-out),max-height .4s var(--ease-out),margin .4s var(--ease-out)}.wizard-loading{max-width:460px;margin:0 auto;text-align:center;padding:28px 24px 22px;background:#fff8f452;border:1px solid var(--surface-line);border-radius:var(--radius-md);animation:panel-in .4s var(--ease-out)}.loading-kicker{font-family:var(--font-accent);font-style:italic;font-size:18px;color:var(--ink-soft);margin:0 0 22px;letter-spacing:.02em}.loading-illustration{position:relative;width:120px;height:120px;margin:0 auto 24px}.loading-step{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.85);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);pointer-events:none}.loading-step.is-active{opacity:1;transform:scale(1)}.loading-step svg{width:100%;height:100%;display:block}.loading-step-title{font-family:var(--font-display);font-size:clamp(20px,2.4vw,24px);font-weight:500;color:var(--ink);margin:0 0 8px;min-height:1.3em;transition:opacity .4s var(--ease-out)}.loading-step-desc{font-family:var(--font-accent);font-style:italic;font-size:16px;color:var(--ink-soft);margin:0 0 28px;min-height:1.3em;transition:opacity .4s var(--ease-out)}.loading-dots{display:flex;gap:8px;justify-content:center;align-items:center;margin:0 auto 20px}.loading-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--surface-line-strong);transition:width .4s var(--ease-out),background .4s var(--ease-out),transform .4s var(--ease-out)}.loading-dots .dot.is-active{width:28px;border-radius:4px;background:var(--rose-deep);transform:scale(1)}.loading-dots .dot.is-done{background:var(--rose-soft)}.loading-hint{font-size:12px;color:var(--ink-mute);margin:0;letter-spacing:.04em;font-style:italic}.wizard-panel{animation:panel-in .55s var(--ease-out)}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wizard-question{font-family:var(--font-display);font-size:clamp(22px,2.6vw,28px);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin:0 0 24px;font-variation-settings:"opsz" 96}.wizard-decline-message{max-width:560px;margin:-8px 0 24px;color:var(--ink-soft);font-family:var(--font-accent);font-size:19px;font-style:italic;line-height:1.45}.choice-row{display:flex;flex-direction:column;gap:12px}.choice-row .btn-magnetic{width:100%;justify-content:center;padding:18px 24px;min-height:60px;border-radius:var(--radius-md);font-size:16px;font-weight:500;transition:background .3s var(--ease-out),color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .25s var(--ease-out)}.choice-row .btn-magnetic:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px var(--ink),0 6px 20px #5c38451a}.moment-stack{display:flex;flex-direction:column;gap:12px}.moment-stack .btn-magnetic{width:100%;justify-content:flex-start;padding:18px 22px;min-height:64px;border-radius:var(--radius-md);transition:background .3s var(--ease-out),color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .25s var(--ease-out)}.moment-stack .btn-magnetic:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px var(--ink),0 6px 20px #5c38451a}.moment-stack .btn-magnetic.is-active{background:var(--ink);color:var(--bg);box-shadow:inset 0 0 0 1px var(--ink),0 8px 24px #5c38452e}.moment-stack .btn-magnetic.is-active .btn-bg{background:var(--ink)}.moment-stack .btn-text{display:flex;align-items:center;gap:12px;width:100%;justify-content:flex-start;font-size:15px;font-weight:500}.moment-stack .m-icon{font-size:20px;font-style:normal;font-family:var(--font-accent);width:28px;text-align:center}.btn-magnetic.is-active{color:var(--bg);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-magnetic.is-active .btn-bg{transform:scaleX(1);background:var(--ink)}.m-icon{font-size:18px;line-height:1;display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center}.field-label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:8px}.field-label em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:.04em;color:var(--ink-mute);margin-left:6px}.companion-toggle{display:grid;grid-template-columns:1fr;gap:12px}.companion-toggle .btn-magnetic{width:100%;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--surface-line-strong);padding:18px;min-height:72px;border-radius:var(--radius-md);transition:background .3s var(--ease-out),color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .25s var(--ease-out)}.companion-toggle .btn-magnetic:hover{box-shadow:inset 0 0 0 1px var(--ink);transform:translateY(-1px)}.companion-toggle .btn-magnetic.is-active{background:var(--ink);color:var(--bg);box-shadow:inset 0 0 0 1px var(--ink),0 8px 24px #5c38452e;transform:translateY(0)}.companion-toggle .btn-magnetic.is-active .btn-bg{background:var(--ink)}.companion-toggle .btn-text{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;text-align:center;font-size:15px;font-weight:500;line-height:1.3}.companion-toggle .m-icon{width:22px;height:22px;opacity:.85;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;flex:0 0 auto}.companion-toggle .btn-magnetic.is-active .m-icon{opacity:1}.companion-area{animation:panel-in .45s var(--ease-out);padding-top:4px}.companion-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.companion-row{display:block;animation:row-in .35s var(--ease-out)}.companion-input-wrap{display:flex;min-width:0;flex-direction:column;gap:6px}.companion-input-control{display:flex;align-items:stretch;gap:8px}@keyframes row-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.companion-row input{flex:1;scroll-margin-block:24px;font-family:var(--font-ui);font-size:15px;color:var(--ink);padding:12px 14px;background:var(--bg);border:1px solid var(--surface-line-strong);border-radius:var(--radius-sm);transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.companion-row input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #5c384514}.companion-row .ic-remove{width:40px;height:auto;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--surface-line-strong);background:var(--bg);color:var(--ink-soft);font-size:18px;transition:background .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out);flex-shrink:0}.companion-row .ic-remove:hover{background:var(--rose-deep);color:var(--bg);border-color:var(--rose-deep)}#addCompanion{display:inline-flex;align-items:center;gap:6px}#addCompanion .ic-plus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:13px;font-weight:700;line-height:1}#addCompanion:hover .ic-plus{background:var(--rose-deep)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field textarea{font-family:var(--font-ui);font-size:15px;color:var(--ink);padding:14px 16px;background:var(--bg);border:1px solid var(--surface-line-strong);border-radius:var(--radius-sm);transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);width:100%}.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #5c384514}.field input.is-valid{border-color:var(--sage-deep);box-shadow:0 0 0 3px #6a86651a}.field input.is-invalid{border-color:var(--rose-deep);box-shadow:0 0 0 3px #b85a6e1a}.field-hint{display:block;font-size:12px;color:var(--ink-mute);margin-top:2px;letter-spacing:.02em}.field-hint-error{color:var(--rose-deep)}.field textarea{resize:vertical;min-height:80px;font-family:var(--font-ui)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 560px){.field-grid{grid-template-columns:1fr}}.counter{display:inline-flex;align-items:center;background:var(--bg);border:1px solid var(--surface-line-strong);border-radius:999px;overflow:hidden;width:100%;justify-content:space-between;padding:4px;gap:4px;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.counter:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #5c384514}.counter button{width:38px;height:38px;font-size:18px;font-weight:500;color:var(--ink);border-radius:999px;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .15s var(--ease-out)}.counter button:hover:not(:disabled){background:var(--ink);color:var(--bg);transform:scale(1.05)}.counter button:active:not(:disabled){transform:scale(.95)}.counter button:disabled{opacity:.25}.counter input{width:48px;text-align:center;border:0;background:transparent;font-family:var(--font-display);font-size:20px;font-weight:500;padding:0;font-variant-numeric:tabular-nums;color:var(--ink)}.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--surface-line)}.review{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--surface-line);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--surface-line)}.review li{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px 18px;background:var(--bg);font-size:14px}.r-label{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}.r-val{color:var(--ink);font-weight:500}.toast{position:fixed;z-index:20;left:50%;bottom:24px;width:min(420px,calc(100vw - 32px));padding:14px 18px;border:1px solid rgba(184,90,110,.4);border-radius:var(--radius-sm);background:var(--ink);color:var(--bg);box-shadow:0 14px 36px #5c384538;font-size:14px;font-weight:600;line-height:1.4;text-align:center;opacity:0;transform:translate(-50%,calc(100% + 24px));transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);pointer-events:none}.toast[hidden]{display:block}.toast.is-visible{opacity:1;transform:translate(-50%)}.error-message{margin:0;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--rose-deep);font-size:14px;font-weight:500;line-height:1.5;display:none;transition:padding .3s var(--ease-out),margin .3s var(--ease-out),background .3s var(--ease-out)}.error-message:not(:empty){display:block;padding:12px 16px;margin-top:16px;background:#d4859a1f}.wizard-success{text-align:center;padding:24px 0 8px;animation:panel-in .6s var(--ease-out)}.success-final{text-align:center;animation:panel-in .6s var(--ease-out)}.success-photo{margin:0 auto 24px;width:clamp(160px,60%,240px);aspect-ratio:3 / 4;border-radius:50%/60% 60% 40% 40%;overflow:hidden;border:1px solid var(--surface-line-strong);background:var(--bg-2);box-shadow:var(--shadow-soft);position:relative}.success-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 70%,rgba(184,90,110,.12));pointer-events:none}.success-photo img{width:100%;height:100%;object-fit:cover;display:block;animation:pop .8s var(--ease-spring)}.success-mark{color:var(--rose-deep);display:inline-flex;margin-bottom:16px;animation:pop .7s var(--ease-spring)}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.success-message{font-family:var(--font-display);font-size:clamp(20px,2.4vw,26px);font-weight:500;line-height:1.35;color:var(--ink);max-width:480px;margin:0 auto 24px;font-variation-settings:"opsz" 96}.wizard-success .btn-mini{margin:0 auto}[hidden]{display:none!important}.footer{text-align:center;padding:clamp(40px,6vw,80px) 0 60px;max-width:720px;margin:0 auto;position:relative}.footer-ornament{font-size:18px;color:var(--rose);margin-bottom:24px;opacity:.7}.footer blockquote{font-family:var(--font-display);font-size:clamp(22px,3vw,32px);font-weight:500;font-style:italic;line-height:1.35;color:var(--ink);margin:0 0 28px;letter-spacing:-.01em;font-variation-settings:"opsz" 144}.footer-sign{font-family:var(--font-accent);font-style:italic;font-size:17px;color:var(--ink-soft);margin:0 0 36px}.footer-sign em{font-style:italic;color:var(--ink);font-weight:500}.rubi-mark{display:inline-flex;align-items:center;vertical-align:-8px;margin:0 4px;opacity:.9}.rubi-mark svg{display:block}.footer-meta{font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-mute);margin:0}.footer-credit{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--surface-line);color:var(--ink-mute);font-size:11px;letter-spacing:.08em}.footer-credit a{color:var(--ink-soft);font-weight:600;transition:color .25s var(--ease-out)}.footer-credit a:hover{color:var(--rose-deep)}.footer-legal{margin:12px 0 0;color:var(--ink-mute);font-size:10px;letter-spacing:.06em}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);will-change:opacity,transform}[data-reveal=up]{transform:translateY(-28px)}[data-reveal=left]{transform:translate(-32px)}[data-reveal=right]{transform:translate(32px)}[data-reveal=fade]{transform:none}[data-reveal].is-visible{opacity:1;transform:translate(0)}[data-split]>*{display:inline-block;transform:translateY(105%);transition:transform .9s var(--ease-out)}[data-split].is-visible>*{transform:translateY(0)}[data-split].is-visible>*:nth-child(1){transition-delay:0s}[data-split].is-visible>*:nth-child(2){transition-delay:.06s}[data-split].is-visible>*:nth-child(3){transition-delay:.12s}[data-split].is-visible>*:nth-child(4){transition-delay:.18s}[data-split].is-visible>*:nth-child(5){transition-delay:.24s}[data-split].is-visible>*:nth-child(6){transition-delay:.3s}[data-split].is-visible>*:nth-child(7){transition-delay:.36s}[data-split].is-visible>*:nth-child(8){transition-delay:.42s}.display-line>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--ease-out)}.hero.is-typing .display-line>span,.hero.is-typing [data-split]>*{transform:none;transition:none}.hero.is-typing h1{opacity:1!important;transform:none!important;transition:none!important}.eyebrow,.hero-meta,.hero-lead,.hero-sub,.hero-cta,.scroll-cue{will-change:transform,opacity}.eyebrow{transform:translateY(-80px);opacity:0;transition:transform 1.4s cubic-bezier(.25,.1,.25,1),opacity 1.4s ease-out}.hero.phase-1 .eyebrow{transform:translateY(0);opacity:1}.hero-lead,.hero-sub,.hero-meta{transform:translateY(6px);opacity:0;transition:transform .55s var(--ease-out),opacity .55s var(--ease-out)}.hero.phase-3 .hero-lead,.hero.phase-3 .hero-sub,.hero.phase-3 .hero-meta{transform:translateY(0);opacity:1}.hero-cta,.scroll-cue{transform:translateY(16px);opacity:0;transition:transform .7s var(--ease-out),opacity .7s var(--ease-out)}.hero.phase-4 .hero-cta,.hero.phase-4 .scroll-cue{transform:translateY(0);opacity:1}.hero.phase-4 .hero-cta .btn-primary{transition-delay:0s}.hero.phase-4 .hero-cta .btn-ghost{transition-delay:.12s}.hero.phase-4 .scroll-cue{transition-delay:.24s}.display-line.is-visible>span{transform:translateY(0)}.display-line:nth-child(1).is-visible>span{transition-delay:.1s}.display-line:nth-child(2).is-visible>span{transition-delay:.25s}.hero h1,.hero .hero-meta,.hero .hero-sub,.hero .hero-cta,.hero .scroll-cue{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);will-change:opacity,transform}.hero.is-visible h1,.hero.is-visible .hero-meta,.hero.is-visible .hero-sub,.hero.is-visible .hero-cta,.hero.is-visible .scroll-cue{opacity:1;transform:translateY(0)}.hero.is-visible .eyebrow{transition-delay:.4s}.hero.is-visible h1{transition-delay:0s}.hero.is-visible .hero-meta{transition-delay:.5s}.hero.is-visible .hero-sub{transition-delay:.65s}.hero.is-visible .hero-cta{transition-delay:.8s}.hero.is-visible .scroll-cue{transition-delay:1.1s}.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(12px,2vw,20px)}.g-item{position:relative;display:block;width:100%;aspect-ratio:4 / 5;padding:0;border:1px solid var(--surface-line);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-2);cursor:pointer;-webkit-tap-highlight-color:transparent}.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.g-item:hover img,.g-item:focus-visible img{transform:scale(1.05)}.g-item:focus-visible{outline:2px solid var(--rose-deep);outline-offset:2px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:clamp(20px,5vw,64px);background:#26141adb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lightbox-fade .25s var(--ease-out)}.lightbox[hidden]{display:none}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:100%;max-height:100%;border-radius:var(--radius-md);box-shadow:var(--shadow-strong);object-fit:contain}.lightbox-video{max-width:100%;max-height:100%;border-radius:var(--radius-md);box-shadow:var(--shadow-strong)}.lightbox-video[hidden]{display:none}.g-item-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#26141a47;pointer-events:none}.g-item-play svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.g-item--video img{transition:transform .6s var(--ease-out),opacity .3s var(--ease-out)}.lightbox-close{position:absolute;top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer}.lightbox-close:hover,.lightbox-close:focus-visible{background:#ffffff2e}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer}.lightbox-nav:hover,.lightbox-nav:focus-visible{background:#ffffff2e}.lightbox-nav:disabled{opacity:.3;cursor:default;pointer-events:none}.lightbox-prev{left:clamp(8px,3vw,24px)}.lightbox-next{right:clamp(8px,3vw,24px)}.lightbox-counter{position:absolute;bottom:clamp(14px,3vw,28px);left:50%;transform:translate(-50%);margin:0;padding:4px 14px;border-radius:999px;background:#ffffff1f;color:#fff;font-family:var(--font-ui);font-size:12px;letter-spacing:.04em}@media (max-width: 560px){.lightbox-nav{width:40px;height:40px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal],[data-split]>*,.display-line>span{opacity:1!important;transform:none!important}}
