:root{--bg: #efd3d6;--paper: #f7e2e4;--ink: #47131d;--muted: #7e4e55;--accent: #a80f26;--accent-soft: #ed7180;--line: rgba(104, 20, 34, .22);--cursor-color: #ef5268;--cursor-light:#fff8f2;--cursor-dark:#5b0717;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Be Vietnam Pro", Arial, sans-serif}:root[data-theme=red-light]{--bg:#efd3d6;--paper:#f7e2e4;--ink:#47131d;--muted:#7e4e55;--accent:#a80f26;--accent-soft:#ed7180;--line:rgba(104,20,34,.22);--cursor-color:#ef5268}:root[data-theme=red-dark]{--bg:#280b11;--paper:#391018;--ink:#fff1eb;--muted:#d7afb2;--accent:#e12b43;--accent-soft:#ff8793;--line:rgba(255,235,231,.18);--cursor-color:#ff6375}:root[data-theme=rose]{--bg:#f3e7e5;--paper:#fff8f5;--ink:#3a2929;--muted:#846a69;--accent:#9d5f62;--accent-soft:#d39a97;--line:rgba(87,46,48,.18)}:root[data-theme=midnight]{--bg:#111b21;--paper:#18272e;--ink:#f4ead8;--muted:#b9b0a4;--accent:#d4ae69;--accent-soft:#eed49f;--line:rgba(244,234,216,.17)}:root[data-theme=champagne]{--bg:#eadfc9;--paper:#fff9ee;--ink:#493b2b;--muted:#82705a;--accent:#a8752e;--accent-soft:#d9b878;--line:rgba(86,62,34,.2);--cursor-color:#bf8a3d}:root[data-theme=sage]{--bg:#dce2d5;--paper:#f6f7f1;--ink:#26382d;--muted:#647368;--accent:#55705c;--accent-soft:#9eaf98;--line:rgba(43,67,51,.2);--cursor-color:#6f8c77}:root[data-theme=navy]{--bg:#101b31;--paper:#172642;--ink:#f5ead7;--muted:#b8bdc8;--accent:#c79b53;--accent-soft:#efd19a;--line:rgba(240,225,197,.18);--cursor-color:#d9ad63}:root[data-theme=plum]{--bg:#32152d;--paper:#48203f;--ink:#fff0eb;--muted:#d0aebf;--accent:#dc789c;--accent-soft:#f0abc2;--line:rgba(255,235,242,.17);--cursor-color:#eb87a9}:root[data-theme=terracotta]{--bg:#e7c2ae;--paper:#fff0e7;--ink:#4d2921;--muted:#886158;--accent:#ad5138;--accent-soft:#df9277;--line:rgba(103,48,36,.2);--cursor-color:#c7674a}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);font-weight:300;font-optical-sizing:auto;overflow-x:hidden;transition:background .5s,color .5s}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:var(--bg)}body::-webkit-scrollbar-thumb{background:var(--accent);border-radius:20px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}a[href],button,select,[role=button]{cursor:pointer}input,textarea{cursor:text}svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.6}#webgl{position:fixed;inset:0;z-index:1;pointer-events:none}#petal-canvas{position:fixed;inset:0;z-index:6;pointer-events:none;width:100vw;height:100vh}.noise{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.petal-field{position:fixed;inset:0;z-index:6;pointer-events:none;overflow:hidden;contain:strict}.petal-field i{position:absolute;left:var(--x);top:-9vh;display:block;opacity:var(--opacity);filter:blur(var(--blur));animation:petalFall var(--duration) var(--delay) linear infinite;will-change:transform}.floating-petal{width:14px;height:24px;border-radius:88% 12% 78% 22%;background:linear-gradient(145deg,#fff,#f6d4cf 48%,#d99592);box-shadow:0 3px 11px #70423f3d,0 0 14px #fff4eca6}.floating-leaf{width:12px;height:29px;border-radius:100% 0;background:linear-gradient(145deg,#d1d8b9,#829174 65%,#586951);box-shadow:inset 1px 0 #ffffff61,0 3px 10px #31402b40}.floating-flower{width:27px;height:27px;background:radial-gradient(ellipse at 50% 16%,#fff 0 17%,#e9aaa9 18% 31%,transparent 33%),radial-gradient(ellipse at 84% 50%,#fff 0 17%,#e9aaa9 18% 31%,transparent 33%),radial-gradient(ellipse at 50% 84%,#fff 0 17%,#e9aaa9 18% 31%,transparent 33%),radial-gradient(ellipse at 16% 50%,#fff 0 17%,#e9aaa9 18% 31%,transparent 33%),radial-gradient(circle,#d9a449 0 15%,transparent 17%);filter:drop-shadow(0 3px 7px rgba(103,63,58,.28)) blur(var(--blur))}@keyframes petalFall{0%{transform:translate3d(0,-12vh,0) rotate(0) scale(var(--scale))}24%{transform:translate3d(var(--drift-1),22vh,0) rotate(var(--r1)) scale(var(--scale))}52%{transform:translate3d(var(--drift-2),55vh,0) rotate(var(--r2)) scale(var(--scale))}78%{transform:translate3d(var(--drift-1),84vh,0) rotate(var(--r2)) scale(var(--scale))}to{transform:translate3d(var(--drift-3),114vh,0) rotate(var(--r3)) scale(var(--scale))}}.has-custom-cursor,.has-custom-cursor body{cursor:none}.has-custom-cursor a[href],.has-custom-cursor button,.has-custom-cursor select,.has-custom-cursor [role=button]{cursor:pointer!important}.has-custom-cursor input,.has-custom-cursor textarea{cursor:text!important}.cursor-ring,.cursor-dot,.cursor-aura{position:fixed;left:0;top:0;pointer-events:none;z-index:150;border-radius:50%;margin-left:-21px;margin-top:-21px;opacity:0}.cursor-ready .cursor-ring,.cursor-ready .cursor-dot{opacity:1}.cursor-ring{width:42px;height:42px;border:1px solid color-mix(in srgb,var(--cursor-color) 90%,white);box-shadow:0 0 18px color-mix(in srgb,var(--cursor-color) 18%,transparent),inset 0 0 12px color-mix(in srgb,var(--cursor-color) 8%,transparent);transition:width .25s,height .25s,margin .25s,border-color .35s,background .25s,opacity .2s,scale .2s;animation:cursorOrbit 7s linear infinite}.cursor-ring:before,.cursor-ring:after{content:"";position:absolute;width:7px;height:12px;border-radius:85% 15% 80% 20%;background:linear-gradient(145deg,#fff,var(--cursor-color));box-shadow:0 0 9px color-mix(in srgb,var(--cursor-color) 55%,transparent)}.cursor-ring:before{left:-3px;top:5px;transform:rotate(-36deg)}.cursor-ring:after{right:-3px;bottom:5px;transform:rotate(144deg)}.cursor-ring i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cursor-color);left:50%;top:-3px;box-shadow:0 0 10px var(--cursor-color);transition:background .35s}.cursor-dot{width:6px;height:6px;margin:-3px;background:#fff;border:1px solid var(--cursor-color);box-shadow:0 0 9px var(--cursor-color);transition:opacity .2s,transform .2s}.cursor-aura{width:180px;height:180px;margin:-90px;background:radial-gradient(circle,color-mix(in srgb,var(--cursor-color) 25%,transparent),transparent 68%);filter:blur(11px);transition:background .5s,opacity .3s}.cursor-ready .cursor-aura{opacity:.56}.cursor-hover .cursor-ring,.cursor-hover .cursor-dot,.cursor-hover .cursor-aura,.cursor-hover .cursor-trail,.modal-open .cursor-ring,.modal-open .cursor-dot,.modal-open .cursor-aura,.modal-open .cursor-trail{opacity:0!important}.cursor-click .cursor-ring{width:25px;height:25px;margin:-12.5px;scale:.7}.cursor-spark{position:fixed;z-index:151;width:5px;height:9px;border-radius:80% 10%;background:var(--cursor-color);pointer-events:none;animation:cursorBloom .65s ease-out forwards;transform:translate(-50%,-50%) rotate(var(--angle))}@keyframes cursorOrbit{to{rotate:360deg}}@keyframes cursorBloom{to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-42px) scale(.2)}}.cursor-trail{position:fixed;left:calc(var(--trail-size) / -2);top:calc(var(--trail-size) / -2);z-index:149;width:var(--trail-size);height:var(--trail-size);border-radius:50%;pointer-events:none;background:var(--cursor-color);box-shadow:0 0 12px color-mix(in srgb,var(--cursor-color) 58%,transparent);opacity:0;filter:blur(.35px);transition:opacity .25s,background .45s}.cursor-ready .cursor-trail{opacity:var(--trail-opacity)}.cursor-trail.trail-petal{height:calc(var(--trail-size) * 1.45);border-radius:85% 15% 80% 20%;background:linear-gradient(145deg,#fff,var(--cursor-color))}.cursor-hover .cursor-trail{filter:blur(.7px)}.cursor-ring{border:2px solid var(--cursor-light);outline:1px solid var(--cursor-dark);outline-offset:1px;background:#fff8f214;box-shadow:0 3px 18px #31020c6b,inset 0 0 0 1px #5b071752,0 0 18px #fff8f238}.cursor-ring:before,.cursor-ring:after{border:1px solid var(--cursor-dark);background:linear-gradient(145deg,var(--cursor-light) 8%,#ff9aaa 48%,var(--cursor-color));box-shadow:0 2px 7px #31020c66,0 0 0 1px #fff8f280}.cursor-ring i{width:7px;height:7px;top:-5px;margin-left:-1px;background:var(--cursor-dark);border:1px solid var(--cursor-light);box-shadow:0 2px 8px #31020c8c}.cursor-dot{width:9px;height:9px;margin:-4.5px;background:var(--cursor-dark);border:2px solid var(--cursor-light);box-shadow:0 2px 9px #31020ca6,0 0 0 1px #5b07178c}.cursor-aura{background:radial-gradient(circle,rgba(255,248,242,.2) 0 7%,rgba(239,82,104,.16) 20%,transparent 66%);filter:blur(9px)}.cursor-ready .cursor-aura{opacity:.42}.cursor-trail{background:var(--cursor-dark);border:1px solid rgba(255,248,242,.72);box-shadow:0 2px 8px #31020c6b;filter:none}.cursor-trail.trail-petal{background:linear-gradient(145deg,var(--cursor-light),#ff899a 58%,var(--cursor-color));border-color:var(--cursor-dark)}.cursor-spark{background:var(--cursor-light);border:1px solid var(--cursor-dark);box-shadow:0 2px 7px #31020c73}.cursor-canvas{position:fixed;inset:0;z-index:148;pointer-events:none;opacity:0;transition:opacity .25s;filter:drop-shadow(0 2px 5px rgba(75,4,18,.34))}.cursor-ready .cursor-canvas{opacity:1}.cursor-hover .cursor-canvas,.modal-open .cursor-canvas{opacity:0}.cursor-ring{width:58px;height:58px;margin-left:-29px;margin-top:-29px;box-shadow:0 0 0 7px #fff8f20f,0 5px 24px #31020c80,inset 0 0 20px #ef526829,0 0 28px #fff8f247}.cursor-ring:before{left:-5px;top:8px}.cursor-ring:after{right:-5px;bottom:8px}.cursor-ring span{position:absolute;left:50%;top:50%;width:8px;height:13px;margin:-6.5px -4px;border:1px solid var(--cursor-dark);border-radius:85% 15% 78% 22%;background:linear-gradient(145deg,var(--cursor-light),#ff91a1 55%,var(--cursor-color));box-shadow:0 2px 7px #31020c7a,0 0 9px var(--cursor-light),0 0 16px var(--cursor-color);will-change:transform,opacity;animation:none!important}.cursor-ring span:nth-of-type(2){width:7px;height:7px;margin:-3.5px;border-radius:50%;background:var(--cursor-light);box-shadow:0 0 0 2px var(--cursor-color),0 0 14px var(--cursor-light)}.cursor-ring span:nth-of-type(3){width:6px;height:10px;margin:-5px -3px;border-radius:15% 85% 22% 78%}.cursor-dot{display:grid;place-items:center}.cursor-dot i{position:absolute;width:22px;height:22px;border:1px solid color-mix(in srgb,var(--cursor-light) 62%,transparent);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;animation:cursorCoreSpin 2.4s linear infinite}.cursor-aura{width:240px;height:240px;margin:-120px;animation:cursorAuraBreath 3.2s ease-in-out infinite}.cursor-spark{animation:cursorBloom .8s cubic-bezier(.16,.72,.25,1) forwards;transform:translate(-50%,-50%) rotate(var(--angle)) scale(var(--spark-scale))}.cursor-ripple{position:fixed;z-index:149;width:18px;height:18px;margin:-9px;border:2px solid var(--cursor-light);outline:1px solid var(--cursor-dark);border-radius:50%;pointer-events:none;box-shadow:0 0 18px var(--cursor-color);animation:cursorRipple .88s cubic-bezier(.12,.65,.25,1) forwards}@keyframes cursorCoreSpin{to{transform:rotate(-360deg) scale(.72)}}@keyframes cursorSatellite{0%{transform:rotate(0) translate(22px) scale(.6)}50%{filter:brightness(1.7);transform:rotate(180deg) translate(38px) scale(1.45)}to{transform:rotate(360deg) translate(22px) scale(.6)}}@keyframes cursorAuraBreath{0%,to{scale:.82;filter:blur(12px)}50%{scale:1.12;filter:blur(8px)}}@keyframes cursorBloom{45%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--distance) * -1)) rotate(150deg) scale(.08)}}@keyframes cursorRipple{to{width:110px;height:110px;margin:-55px;opacity:0;rotate:70deg}}.chapter-rail{position:fixed;z-index:35;right:22px;top:50%;transform:translateY(-50%);width:62px;padding:24px 0 12px;display:flex;flex-direction:column;align-items:center;gap:4px}.chapter-rail:before{content:"";position:absolute;left:50%;top:42px;bottom:58px;width:1px;background:color-mix(in srgb,var(--ink) 16%,transparent);z-index:-1}.chapter-rail a{position:relative;width:48px;height:52px;display:grid;place-items:center;color:var(--muted);font-size:10px;letter-spacing:.1em}.chapter-rail a b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-weight:500;background:color-mix(in srgb,var(--paper) 76%,transparent);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 7px 22px #1b171114;transition:.3s}.chapter-rail a span{position:absolute;right:54px;top:50%;transform:translate(10px,-50%);width:max-content;padding:9px 12px;border-radius:2px;background:var(--ink);color:var(--bg);text-transform:uppercase;font-size:9px;letter-spacing:.14em;opacity:0;pointer-events:none;transition:.25s}.chapter-rail a span:after{content:"";position:absolute;left:100%;top:50%;border:4px solid transparent;border-left-color:var(--ink);transform:translateY(-50%)}.chapter-rail a:hover span{opacity:1;transform:translateY(-50%)}.chapter-rail a:hover b{transform:scale(1.1);border-color:var(--accent)}.chapter-rail a.active{color:#fff}.chapter-rail a.active b{background:var(--accent);border-color:var(--accent);box-shadow:0 8px 25px color-mix(in srgb,var(--accent) 30%,transparent)}.rail-progress{position:absolute;left:50%;top:42px;bottom:58px;width:1px;overflow:hidden;transform:translate(-50%);z-index:-1}.rail-progress i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top}.rail-sound{width:38px;height:38px;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:50%;margin-top:7px;background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px #1b171114;transition:.3s}.rail-sound:hover,.rail-sound.playing{background:var(--ink);color:var(--bg);border-color:var(--ink)}.rail-sound>svg{width:16px}.equalizer{height:7px;display:flex;gap:2px;align-items:flex-end;margin-top:1px}.equalizer i{width:1px;height:3px;background:var(--accent)}.rail-sound.playing .equalizer i{animation:eq .7s ease-in-out infinite alternate}.rail-sound.playing .equalizer i:nth-child(2){animation-delay:.2s}.rail-sound.playing .equalizer i:nth-child(3){animation-delay:.4s}@keyframes eq{to{height:7px}}.rail-sound{position:relative;width:44px;height:44px;border:1px solid rgba(104,20,34,.34);background:#f7e2e4f0;color:#6d1020;box-shadow:0 8px 24px #3d051029}.rail-sound:not(.playing):after{content:"";position:absolute;width:22px;height:2px;border-radius:2px;background:#a80f26;transform:rotate(-42deg);box-shadow:0 0 0 1px #f7e2e4e6}.rail-sound:hover{background:#fff0f1;color:#6d1020;border-color:#a80f26;transform:scale(1.06)}.rail-sound.playing{background:linear-gradient(135deg,#d91d3e,#8d0b21);color:#fff;border-color:#ffc2ca;box-shadow:0 8px 26px #89071f6b,0 0 0 3px #ffffff47}.rail-sound.playing .equalizer i{background:#fff}.scroll-top{position:fixed;z-index:36;right:20px;bottom:22px;width:48px;height:48px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:color-mix(in srgb,var(--paper) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(18px);transition:.35s;box-shadow:0 10px 35px #1e19141a}.scroll-top.visible{opacity:1;visibility:visible;transform:none}.scroll-top:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-3px)}.scroll-top svg{width:17px}.scroll-top span{position:absolute;font-size:7px;letter-spacing:.16em;text-transform:uppercase;bottom:5px}.loader{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-content:center;text-align:center;animation:loaderFallback .8s 3.4s both}@keyframes loaderFallback{to{transform:translateY(-100%);visibility:hidden}}.loader-mark{font:clamp(38px,5vw,68px)/1 var(--serif);letter-spacing:.1em}.loader-mark i{font-weight:400;color:var(--accent);margin:.15em;font-size:.7em}.loader-line{width:170px;height:1px;background:var(--line);margin:30px auto}.loader-line i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.audio-gate{position:fixed;inset:0;z-index:95;border:0;padding:30px;display:grid;place-content:center;justify-items:center;gap:28px;color:#fff8f2;background:linear-gradient(145deg,#4c0312db,#980b25b8);-webkit-backdrop-filter:blur(13px) saturate(.75);backdrop-filter:blur(13px) saturate(.75);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s,visibility .7s;cursor:pointer!important}.audio-gate.visible{opacity:1;visibility:visible;pointer-events:auto}.audio-gate:before{content:"";position:absolute;inset:24px;border:1px solid rgba(255,248,242,.42);pointer-events:none}.audio-gate-mark{font:clamp(54px,8vw,92px)/1 var(--serif);letter-spacing:.15em;text-shadow:0 8px 35px rgba(32,0,8,.4)}.audio-gate-mark i{font-size:.58em;color:#ff9aaa}.audio-gate-copy{display:grid;gap:10px;text-align:center}.audio-gate-copy strong{font:clamp(28px,4vw,46px)/1.1 var(--serif);font-weight:400}.audio-gate-copy small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#fff8f2b3}.audio-gate-pulse{height:24px;display:flex;align-items:center;gap:5px}.audio-gate-pulse i{display:block;width:2px;height:8px;background:#fff8f2;border-radius:4px;animation:audioGateWave .7s ease-in-out infinite alternate}.audio-gate-pulse i:nth-child(2){height:19px;animation-delay:.18s}.audio-gate-pulse i:nth-child(3){height:12px;animation-delay:.36s}@keyframes audioGateWave{to{height:23px;opacity:.45}}.nav{position:absolute;z-index:10;top:0;left:0;right:0;height:96px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.monogram{font:25px/1 var(--serif);letter-spacing:.13em}.monogram i{font-size:.65em;color:#ff9da6}.nav nav{display:flex;gap:38px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#fff;transition:.35s}.nav nav a:hover:after{right:0}.nav-actions,.theme-switcher{display:flex;align-items:center}.nav-actions{gap:24px}.theme-switcher{gap:8px}.theme-dot{width:13px;height:13px;border-radius:50%;border:1px solid rgba(255,255,255,.75);padding:2px;background-clip:content-box;cursor:pointer}.theme-dot[data-theme=red-light]{background-color:#d84b5e}.theme-dot[data-theme=red-dark]{background-color:#68101e}.theme-dot.active{outline:1px solid rgba(255,255,255,.8);outline-offset:2px}.icon-btn{display:flex;gap:8px;align-items:center;background:none;border:0;cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.sound-btn.playing .sound-wave{animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.25}}.sound-btn{position:relative;min-width:126px;height:48px;padding:6px 12px 6px 10px!important;gap:9px!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:999px!important;background:#3606106b!important;color:#fff!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 22px #2d030c33;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}.sound-btn:hover{transform:translateY(-2px);border-color:#ffffffd9!important}.sound-btn>svg{width:20px;flex:0 0 auto}.sound-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1;letter-spacing:.08em}.sound-copy b{font-size:10px;font-weight:600}.sound-copy small{font-size:8px;font-weight:400;opacity:.72;letter-spacing:.04em;text-transform:none}.nav-equalizer{height:14px;display:flex;align-items:center;gap:2px;margin-left:auto}.nav-equalizer i{display:block;width:2px;height:4px;border-radius:2px;background:#ffd9dd;transition:height .25s,background .25s}.sound-btn.playing{background:linear-gradient(135deg,#c91635,#8d0b21)!important;border-color:#ffc0c8!important;box-shadow:0 8px 28px #89071f6b,0 0 0 2px #ffffff1f}.sound-btn.playing .sound-copy small{opacity:1;color:#fff}.sound-btn.playing .nav-equalizer i{background:#fff;animation:navEq .72s ease-in-out infinite alternate}.sound-btn.playing .nav-equalizer i:nth-child(2){animation-delay:.18s}.sound-btn.playing .nav-equalizer i:nth-child(3){animation-delay:.36s}@keyframes navEq{0%{height:4px}to{height:14px}}.hero{height:100svh;min-height:670px;position:relative;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:-8% 0;background:var(--hero-image,url(/assets/wedding-hero.png)) center/cover no-repeat;will-change:transform;transform:translateZ(0);backface-visibility:hidden;transform-origin:center center;contain:paint}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#42081494,#42081433 46%,#22050c14),linear-gradient(0deg,rgba(43,5,13,.38),transparent 45%)}:root[data-theme=red-dark] .hero-image{filter:saturate(.86) brightness(.82)}:root[data-theme=red-dark] .hero-shade{background:linear-gradient(90deg,#4e0514b8,#40041059 52%,#1f02092e),linear-gradient(0deg,rgba(35,2,9,.62),transparent 52%)}.hero-copy{position:absolute;z-index:2;left:8vw;top:51%;transform:translateY(-45%)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:13px}.ceremony-badge{padding:7px 10px;border:1px solid rgba(255,255,255,.62);background:#5c051757;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:600}.hero h1{font:500 clamp(62px,6.8vw,104px)/.82 var(--serif);letter-spacing:-.035em;margin:44px 0 34px;display:grid;width:max-content;gap:.04em;white-space:nowrap}.hero-name{display:block;text-shadow:0 8px 32px rgba(44,3,12,.2)}.hero-name:last-child{padding-left:.7em}.hero-amp{width:62%;margin:.02em auto .03em;display:flex;align-items:center;gap:.22em;color:#ff9aa6}.hero-amp:before,.hero-amp:after{content:"";height:1px;flex:1;background:currentColor;opacity:.72}.hero-amp b{font:italic 500 .4em/1 var(--serif);letter-spacing:0}.hero-note{font:500 18px/1.55 var(--serif);letter-spacing:.03em;margin-left:5px}.circle-cta{position:absolute;left:128%;top:49%;width:115px;height:115px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:flex;align-items:center;justify-content:center;font:12px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:.35s}.circle-cta svg{position:absolute;width:22px;bottom:16px;right:13px;transition:.35s}.circle-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.06)}.circle-cta:hover svg{transform:translate(4px)}.hero-side{display:none}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.17em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px}.scroll-cue i{width:1px;height:32px;background:#fff;animation:scroll 1.6s ease-in-out infinite;transform-origin:top}@keyframes scroll{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(0);transform-origin:bottom}}.section{position:relative;z-index:2;padding:140px 8vw}.section-kicker{color:var(--accent)}h2{font:clamp(52px,7vw,106px)/.98 var(--serif);font-weight:400;letter-spacing:-.02em;margin:0}h2 em{font-weight:400;color:var(--accent)}.invitation{background:radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 32%),linear-gradient(145deg,var(--bg),color-mix(in srgb,var(--accent) 10%,var(--bg)))}.invitation>.section-kicker{padding-bottom:65px;border-bottom:1px solid var(--line)}.invitation-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;padding-top:65px}.invitation-copy{font:17px/1.85 var(--sans);color:var(--muted);max-width:420px}.date-lockup{margin-top:52px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.date-lockup strong{font:62px/1 var(--serif);color:var(--ink);letter-spacing:-.05em}.lunar-date{display:flex;align-items:center;justify-content:space-between;margin:16px 0 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.lunar-date span{color:var(--accent)}.lunar-date strong{font-weight:500;color:var(--ink)}.wedding-calendar{margin-top:34px;padding:24px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 62%,transparent);box-shadow:0 18px 45px #54071614}.calendar-head{display:flex;align-items:end;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line)}.calendar-head span{font:italic 29px/1 var(--serif);color:var(--accent)}.calendar-head strong{font-size:12px;letter-spacing:.16em;font-weight:500;color:var(--ink)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:17px 0 9px}.calendar-weekdays span{text-align:center;font-size:9.5px;line-height:1;letter-spacing:.06em;color:var(--muted)}.calendar-day{position:relative;aspect-ratio:1;display:grid;place-items:center;min-width:0;font-size:13px;line-height:1;color:var(--ink)}.calendar-day b{font-weight:400}.calendar-day.wedding-day{z-index:1;color:#fff}.calendar-day.wedding-day:before{content:"♥";position:absolute;z-index:-1;left:50%;top:48%;font:clamp(40px,12vw,52px)/1 Georgia,serif;color:#b70f2e;text-shadow:0 7px 18px rgba(120,7,29,.32),0 0 0 #8d0b21;transform:translate(-50%,-50%) scale(1);animation:calendarHeartBeat 2.4s ease-in-out infinite}.calendar-day.wedding-end:before{animation-delay:.35s}.calendar-day.wedding-day b{position:relative;z-index:2;font:21px/1 var(--serif);transform:translateY(-4px)}.calendar-day small{position:absolute;z-index:2;left:0;right:0;bottom:5px;text-align:center;font-size:7px;line-height:1;letter-spacing:.03em;color:#ffd8de}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line);font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.calendar-legend i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}@keyframes calendarHeartBeat{0%,to{transform:translate(-50%,-50%) scale(.94)}45%{transform:translate(-50%,-50%) scale(1.04)}55%{transform:translate(-50%,-50%) scale(.98)}70%{transform:translate(-50%,-50%) scale(1.06)}}.countdown{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:110px}.count-item{padding:48px 3vw 0 0;border-right:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between}.count-item:not(:first-child){padding-left:3vw}.count-item:last-child{border:0}.count-item strong{font:clamp(48px,6vw,90px)/1 var(--serif);font-weight:400}.count-item span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-bottom:8px}.story{background:linear-gradient(160deg,var(--paper),color-mix(in srgb,var(--accent) 8%,var(--paper)))}.story-intro{display:grid;grid-template-columns:1fr .45fr;gap:12vw;align-items:end}.story-intro .section-kicker{margin:0 0 35px}.story-intro>p{font-size:17px;line-height:1.85;color:var(--muted);max-width:450px}.story-track{display:grid;grid-template-columns:1fr .9fr;gap:9vw;margin-top:110px}.story-photo{height:780px;position:sticky;top:8vh;background:linear-gradient(0deg,rgba(72,5,18,.34),transparent),var(--story-image,url(/assets/wedding-hero.png)) 75% center/auto 100% no-repeat}.photo-caption{position:absolute;bottom:30px;left:30px;right:30px;color:#fff;display:flex;justify-content:space-between;align-items:end;text-transform:uppercase;letter-spacing:.13em;font-size:11px}.photo-caption i{font:26px/1 var(--serif);text-transform:none;letter-spacing:0}.story-item{padding:60px 0 90px;border-top:1px solid var(--line);min-height:265px}.story-item>span{font-size:11px;letter-spacing:.15em;color:var(--accent);text-transform:uppercase}.story-item h3{font:39px/1.1 var(--serif);font-weight:400;margin:25px 0 15px}.story-item p{font-size:16px;color:var(--muted);line-height:1.8;max-width:480px}.event{background:linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--accent) 18%,var(--bg)))}.event-head{display:grid;grid-template-columns:.4fr 1.1fr .45fr;align-items:end;gap:5vw}.event-head>p:last-child{text-transform:uppercase;line-height:1.8;letter-spacing:.1em;font-size:12px}.schedule{margin-top:110px;border-top:1px solid var(--line)}.schedule-row{display:grid;grid-template-columns:.28fr .65fr 1fr;align-items:center;gap:3vw;border-bottom:1px solid var(--line);padding:34px 0}.schedule-row time{font:29px/1 var(--serif)}.schedule-row h3{font:33px/1 var(--serif);font-weight:400;margin:0}.schedule-row p{color:var(--muted);font-size:15px;line-height:1.6}.event-actions{display:flex;gap:45px;margin:50px 0 0 48%}.text-link{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link svg{width:18px}.gallery{position:relative;z-index:2;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--paper)),var(--paper));min-height:920px;padding:130px 8vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center;overflow:hidden}.gallery-copy{position:relative;z-index:3}.gallery-copy h2{font-size:clamp(62px,7.2vw,108px);margin:24px 0 48px}.gallery-quote{position:static;font:22px/1.65 var(--serif);color:var(--muted);margin:0;max-width:460px}.gallery-controls{display:flex;align-items:center;gap:22px;margin-top:55px}.gallery-controls button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,transparent);display:grid;place-items:center;transition:.3s}.gallery-controls button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.gallery-controls button svg{width:18px}.gallery-prev svg{transform:rotate(180deg)}.gallery-count{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.12em}.gallery-count strong{font-weight:600;color:var(--accent)}.gallery-count i{width:38px;height:1px;background:var(--line)}.gallery-stage{position:relative;width:100%;height:min(72vh,690px);min-height:560px;overflow:hidden;background:#d9d0c4;box-shadow:0 35px 90px #4808143d;isolation:isolate}.gallery-slide{position:absolute;inset:0;background-image:url(/assets/wedding-hero.png);background-repeat:no-repeat;will-change:transform}.gallery-wide{background-size:auto 112%;background-position:76% center}.gallery-bride{background-size:auto 145%;background-position:71% 38%;filter:saturate(.72) sepia(.08)}.gallery-detail{background-size:205% auto;background-position:10% 80%;filter:saturate(.82) contrast(.96)}.gallery-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(72,5,18,.5),transparent 45%);pointer-events:none;z-index:4}.gallery-caption{position:absolute;z-index:5;left:34px;right:34px;bottom:34px;color:#fff;display:flex;align-items:end;justify-content:space-between}.gallery-caption span{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.gallery-caption strong{font:29px/1.2 var(--serif);font-weight:400}.gallery-progress{position:absolute;z-index:9;left:0;right:0;bottom:0;height:3px;background:#ffffff38}.gallery-progress i{display:block;width:100%;height:100%;background:var(--accent-soft);transform:scaleX(0);transform-origin:left}.gallery-gift{position:absolute;inset:0;z-index:8;width:100%;height:100%;border:0;padding:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 43%,#bf4558 0,#94182e 38%,#650b20);color:#fff;overflow:hidden;cursor:pointer}.gallery-gift:before,.gallery-gift:after{content:"";position:absolute;background:#ffeed517;pointer-events:none}.gallery-gift:before{inset:0 47%;box-shadow:0 0 50px #ffdcaf1f}.gallery-gift:after{inset:47% 0}.gift-box,.gift-lid{position:absolute;left:50%;top:50%;display:block;background:linear-gradient(135deg,#f8ead6,#e7cba7);filter:drop-shadow(0 24px 24px rgba(42,0,9,.28));transform-origin:center}.gift-box{width:min(45%,260px);height:min(31%,190px);translate:-50% -35%;border-radius:2px}.gift-box:before,.gift-lid:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:22%;transform:translate(-50%);background:linear-gradient(90deg,#7e0e22,#b82940 48%,#7e0e22)}.gift-box i{position:absolute;left:0;right:0;top:25%;height:1px;background:#66251e26}.gift-box b{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);z-index:2;font:500 22px/1 var(--serif);color:#fff;white-space:nowrap}.gift-box em{font-weight:400}.gift-lid{z-index:2;width:min(51%,292px);height:54px;translate:-50% -153%;border-radius:3px}.gift-bow{position:absolute;z-index:3;left:50%;bottom:38px;width:62px;height:40px;border:12px solid #99162d}.gift-bow-left{transform:translate(-96%) rotate(28deg);border-radius:55% 45% 20% 55%}.gift-bow-right{transform:translate(-4%) rotate(-28deg);border-radius:45% 55% 55% 20%}.gift-lid>b{position:absolute;z-index:4;left:50%;bottom:38px;width:30px;height:30px;transform:translate(-50%) rotate(45deg);border-radius:5px;background:#8c1026}.gift-instruction{position:absolute;left:50%;top:calc(50% + min(24%,150px));translate:-50% 0;display:grid;gap:5px;text-align:center;white-space:nowrap}.gift-instruction strong{font:italic 500 25px/1.2 var(--serif)}.gift-instruction small{font-size:9px;text-transform:uppercase;letter-spacing:.23em;color:#ffffffb8}.gift-sparkles{position:absolute;inset:0;pointer-events:none}.gift-sparkles i{position:absolute;left:50%;top:48%;width:8px;height:8px;border-radius:50%;background:#f9dfb4;box-shadow:0 0 16px #fff}.gift-sparkles i:nth-child(1){--x:-145px;--y:-118px;translate:var(--x) var(--y)}.gift-sparkles i:nth-child(2){--x:150px;--y:-86px;translate:var(--x) var(--y)}.gift-sparkles i:nth-child(3){--x:-176px;--y:35px;translate:var(--x) var(--y)}.gift-sparkles i:nth-child(4){--x:180px;--y:48px;translate:var(--x) var(--y)}.gift-sparkles i:nth-child(5){--x:0;--y:-155px;translate:var(--x) var(--y)}.rsvp{background:linear-gradient(135deg,#7e0d22,#420611);color:#fff3ee;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center;min-height:780px}.rsvp h2{margin:35px 0}.rsvp h2 em{color:#ff9aa6}.rsvp-copy>p:nth-of-type(2){max-width:490px;font-size:16px;color:#fff0ebb8;line-height:1.8}.primary-btn{border:1px solid currentColor;background:none;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:50px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;cursor:pointer;margin-top:35px;min-width:255px;transition:.3s}.primary-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.primary-btn svg{width:18px}.qr-wrap{display:flex;flex-direction:column;align-items:center}.qr-frame{background:#fbeaec;padding:24px;position:relative}.qr-frame canvas{display:block;width:min(220px,52vw)!important;height:auto!important}.qr-heart{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fbeaec;color:#a80f26;display:grid;place-items:center}.qr-heart svg{width:17px}.qr-wrap p{text-align:center;display:flex;flex-direction:column;margin-top:25px}.qr-wrap strong{font:23px/1.3 var(--serif)}.qr-wrap span{font-size:12px;color:#fff0ebad;margin-top:8px}footer{position:relative;z-index:2;text-align:center;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent) 18%,transparent),transparent 42%),linear-gradient(145deg,#f5dadd,#e7b9c0);color:#47131d;padding:128px 5vw 118px;border-top:12px solid #8d0c21}footer:before{content:"";position:absolute;top:24px;left:8vw;right:8vw;height:1px;background:#7a0f2240}footer p{font:italic 500 30px/1 var(--serif);color:var(--accent);margin:0 0 42px}footer h2{font:500 clamp(48px,6.2vw,94px)/.92 var(--serif);letter-spacing:-.035em;display:grid;grid-template-columns:auto min-content auto;align-items:center;justify-content:center;gap:.26em;margin:0}footer h2 span{white-space:nowrap}footer h2 i{color:var(--accent);font-size:.52em;font-weight:500}.footer-ceremony{display:block;margin-top:28px;font:italic 500 24px/1 var(--serif);color:var(--accent)}footer>span{display:block;margin-top:30px;letter-spacing:.24em;font-size:12px;font-weight:500;color:var(--accent)}footer>span b{display:block;margin-top:12px;font-size:10px;letter-spacing:.16em;font-weight:500;color:color-mix(in srgb,var(--ink) 62%,transparent)}.music-credit{display:block;margin-top:34px;font-size:10px;line-height:1.6;letter-spacing:.05em;color:color-mix(in srgb,var(--ink) 62%,transparent)}.music-credit a{text-decoration:underline;text-underline-offset:3px}.rsvp-modal{width:min(560px,calc(100% - 32px));border:0;padding:55px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #00000059;cursor:default!important}.rsvp-modal::backdrop{background:#12100da8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rsvp-modal h2{font-size:55px;margin:18px 0 35px}.modal-close{position:absolute;right:18px;top:18px;border:0;background:none;cursor:pointer!important}.rsvp-modal form{display:grid;gap:20px}.rsvp-modal label{display:grid;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;cursor:default!important}.rsvp-modal input,.rsvp-modal textarea{cursor:text!important}.rsvp-modal select,.rsvp-modal button{cursor:pointer!important}.rsvp-modal input,.rsvp-modal select,.rsvp-modal textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 2px;color:var(--ink);outline:0;text-transform:none;letter-spacing:0}.rsvp-modal textarea{resize:vertical}.rsvp-modal .primary-btn{color:var(--ink)}.rsvp-modal .primary-btn:disabled{opacity:.55;cursor:wait!important}.rsvp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.toast{position:fixed;z-index:120;right:25px;bottom:25px;background:var(--ink);color:var(--bg);padding:17px 22px;display:flex;gap:12px;align-items:center;transform:translateY(120px);opacity:0;transition:.45s}.toast.show{transform:none;opacity:1}.toast.error{background:#7d1426;color:#fff7f2}.toast svg{width:18px;color:var(--accent-soft)}.rsvp-modal{max-height:calc(100svh - 24px);overflow:auto}.rsvp-modal>.section-kicker{font-size:13px}.rsvp-modal h2{font-size:59px;line-height:.98}.rsvp-modal form{gap:24px}.rsvp-modal label{gap:10px;font-size:12px;line-height:1.45;letter-spacing:.1em}.rsvp-modal input,.rsvp-modal select,.rsvp-modal textarea{padding:14px 2px;font-size:16px;line-height:1.45}.rsvp-modal .primary-btn{font-size:13px;padding:18px 22px}.qr-frame img{display:block;width:min(280px,60vw);height:auto;max-height:360px;object-fit:contain}.qr-placeholder{width:min(250px,56vw);aspect-ratio:1;display:grid;place-items:center;text-align:center;border:1px dashed rgba(126,13,34,.35);color:#8b5961;font:500 22px/1.25 var(--serif)}.rsvp-alert{position:sticky;top:-55px;z-index:4;margin:-55px -55px 30px;padding:16px 55px;background:#8b1730;color:#fff;font-size:13px;line-height:1.5;box-shadow:0 10px 30px #460a182e}.response-card-modal{width:min(1000px,calc(100% - 28px));max-height:calc(100svh - 28px);border:0;padding:34px;background:#f8f1eb;color:#34272a;box-shadow:0 35px 120px #0006;overflow:auto}.response-card-modal::backdrop{background:#110e0dc2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.response-card-close{position:absolute;right:18px;top:18px;border:0;background:none;z-index:3;cursor:pointer}.response-card-close svg{width:22px}.response-card-modal{display:none;grid-template-columns:310px minmax(320px,1fr);grid-template-rows:1fr auto;gap:25px 42px;align-items:center}.response-card-modal[open]{display:grid}.response-card-copy p{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#9e6d75}.response-card-copy h2{font:500 51px/.95 var(--serif);margin:18px 0 25px}.response-card-copy span{font-size:13px;line-height:1.7;color:#806d70}.response-card-preview{background:#e5d8d1;padding:12px;box-shadow:0 15px 40px #31181c24}.response-card-preview canvas{display:block;width:100%;height:auto;max-height:72svh;object-fit:contain}.response-card-actions{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.response-card-actions button{border:1px solid #8b1730;background:transparent;color:#8b1730;padding:13px 10px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;cursor:pointer}.response-card-actions button:first-child{background:#8b1730;color:#fff}@media(max-width:760px){.rsvp-alert{top:-45px;margin:-45px -24px 24px;padding:14px 24px}.response-card-modal{padding:55px 18px 22px;grid-template-columns:1fr;grid-template-rows:auto;gap:20px}.response-card-copy{text-align:center}.response-card-copy h2{font-size:40px;margin:12px 0}.response-card-preview canvas{max-height:57svh}.response-card-actions{grid-column:1}.response-card-close{top:14px;right:14px}}.dialog-custom-cursor{position:fixed;left:0;top:0;z-index:9999;width:54px;height:54px;margin:-27px;pointer-events:none;border:2px solid var(--cursor-light);outline:1px solid var(--cursor-dark);border-radius:50%;opacity:0;box-shadow:0 4px 22px #31020c73,inset 0 0 15px #ef526824;transition:opacity .18s,width .2s,height .2s,margin .2s;animation:cursorOrbit 7s linear infinite}.cursor-ready dialog[open] .dialog-custom-cursor{opacity:1}.dialog-custom-cursor:before,.dialog-custom-cursor:after{content:"";position:absolute;width:8px;height:14px;border:1px solid var(--cursor-dark);border-radius:85% 15% 80% 20%;background:linear-gradient(145deg,var(--cursor-light),#ff91a1 55%,var(--cursor-color));box-shadow:0 2px 7px #31020c73}.dialog-custom-cursor:before{left:-5px;top:7px;rotate:-36deg}.dialog-custom-cursor:after{right:-5px;bottom:7px;rotate:144deg}.dialog-custom-cursor i{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border:2px solid var(--cursor-light);border-radius:50%;background:var(--cursor-dark);box-shadow:0 2px 9px #31020ca6}.dialog-custom-cursor span{position:absolute;left:50%;top:-5px;width:7px;height:7px;border-radius:50%;background:var(--cursor-light);border:1px solid var(--cursor-dark)}.has-custom-cursor dialog[open],.has-custom-cursor dialog[open] *{cursor:none!important}@media(pointer:coarse){.dialog-custom-cursor{display:none}}.response-card-visual{grid-column:2;grid-row:1 / span 2;display:grid;gap:16px;min-width:0}.response-transfer-qr{padding:18px 20px;background:#fff;border:1px solid rgba(139,23,48,.18);display:flex;align-items:center;justify-content:space-between;gap:22px}.response-transfer-qr p{margin:0;font:500 22px/1.1 var(--serif);color:#8b1730}.response-transfer-qr span{display:block;margin-top:7px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#8b7075}.response-transfer-qr img{width:118px;height:118px;object-fit:contain}@media(max-width:760px){.response-card-visual{grid-column:1;grid-row:auto}.response-transfer-qr{padding:14px}.response-transfer-qr img{width:96px;height:96px}.response-transfer-qr p{font-size:19px}}@media(max-width:900px){.chapter-rail{display:none}.nav{height:74px;padding:0 22px}.nav nav{display:none}.nav-actions{gap:12px}.hero-copy{left:7vw;top:49%}.hero h1{font-size:clamp(52px,10.4vw,80px)}.circle-cta{left:auto;right:-35%;top:55%;width:96px;height:96px}.hero-side{display:none}.section{padding:95px 6vw}.invitation-grid,.story-intro,.story-track,.event-head,.rsvp{grid-template-columns:1fr}.invitation-copy{margin-top:45px}.countdown{grid-template-columns:1fr 1fr}.count-item{border-bottom:1px solid var(--line);padding:35px 3vw 25px!important}.story-intro{gap:40px}.story-track{gap:65px;margin-top:70px}.story-photo{position:relative;top:0;height:70vh;max-height:680px}.event-head{gap:28px}.event-head>p:last-child{margin-left:2px}.schedule-row{grid-template-columns:.18fr .32fr 1fr}.schedule-row p{grid-column:3}.event-actions{margin-left:0}.gallery{height:1000px}.gallery-a{width:48vw}.gallery-b{width:38vw}.gallery-c{width:54vw}.gallery-quote{left:46vw;top:500px}.rsvp{gap:80px}.qr-wrap{align-items:flex-start}}@media(max-width:600px){.petal-field i:nth-child(n+10){display:none}.scroll-top{right:14px;bottom:14px;width:44px;height:44px}.sound-btn span{display:none}.nav-actions{position:absolute;right:18px}.theme-switcher,.circle-cta{display:none}.hero{min-height:630px}.hero-image{background-position:61% center}.hero-shade{background:linear-gradient(90deg,#570516b8,#4208141f),linear-gradient(0deg,rgba(55,3,14,.55),transparent 55%)}.hero-copy{left:24px;right:24px;top:53%}.hero h1{font-size:clamp(38px,11vw,54px);margin:38px 0 28px;gap:.04em}.hero-name:last-child{padding-left:.38em}.hero-amp{width:58%;margin:.04em auto}.hero-note{font-size:15px}.scroll-cue{left:24px;transform:none;align-items:flex-start}.section{padding:78px 24px}h2{font-size:49px}.invitation>.section-kicker{padding-bottom:35px}.invitation-grid{padding-top:40px}.date-lockup strong{font-size:58px}.countdown{margin-top:65px}.count-item strong{font-size:48px}.count-item{display:block}.count-item span{display:block;padding-top:8px}.story-photo{height:520px}.story-item{padding:45px 0 65px}.schedule{margin-top:60px}.schedule-row{grid-template-columns:38px 75px 1fr;gap:8px;padding:25px 0}.schedule-row h3{font-size:24px}.schedule-row p{font-size:12px}.event-actions{display:grid;gap:25px}.gallery{height:940px}.gallery-title{left:24px;top:75px}.gallery-title h2{font-size:55px}.gallery-a{width:58vw;height:310px;right:-7vw;top:260px}.gallery-b{width:48vw;height:280px;left:24px;bottom:90px}.gallery-c{width:55vw;height:320px;right:-13vw;bottom:10px}.gallery-quote{left:24px;top:595px;font-size:20px}.rsvp{padding-top:90px;padding-bottom:90px;min-height:auto}.rsvp h2{font-size:51px}.rsvp-modal{padding:45px 24px 30px}.rsvp-modal h2{font-size:44px}.toast{left:16px;right:16px;bottom:16px}.photo-caption{left:18px;right:18px}}@media(max-width:600px){.hero h1{font-size:clamp(37px,10.8vw,50px);margin:38px 0 28px;gap:.04em}.hero-name:last-child{padding-left:.34em}.hero-amp{width:56%}.hero-note{font-size:14px}.schedule-row h3{font-size:25px}.schedule-row p{font-size:14px}}@media(max-width:900px){.gallery{height:auto;min-height:0;padding:95px 6vw;grid-template-columns:1fr;gap:60px}.gallery-copy{display:grid;grid-template-columns:1fr .8fr;column-gap:7vw;align-items:end}.gallery-copy .section-kicker,.gallery-copy h2{grid-column:1}.gallery-copy h2{margin-bottom:0}.gallery-quote{grid-column:2;grid-row:1 / 3;font-size:20px}.gallery-controls{grid-column:1 / 3;margin-top:38px}.gallery-stage{height:68vh;min-height:540px}}@media(max-width:600px){.gallery{height:auto;padding:80px 24px;gap:44px}.gallery-copy{display:block}.gallery-copy h2{font-size:53px;margin:18px 0 28px}.gallery-quote{font-size:17px;line-height:1.65}.gallery-controls{margin-top:32px}.gallery-stage{height:520px;min-height:0}.gift-box{width:58%;height:142px}.gift-lid{width:66%;height:48px}.gift-instruction{top:calc(50% + 150px)}.gallery-wide{background-size:auto 100%;background-position:72% center}.gallery-bride{background-size:auto 125%;background-position:69% 40%}.gallery-detail{background-size:auto 115%;background-position:18% center}.gallery-caption{left:20px;right:20px;bottom:24px;display:block}.gallery-caption span{display:block;font-size:10px;margin-bottom:8px}.gallery-caption strong{font-size:24px}.petal-field i:nth-child(n+10){display:block}.rsvp-modal h2{font-size:48px}.sound-btn{min-width:50px;width:50px;padding:0!important;justify-content:center;gap:5px!important}.sound-btn>svg{width:18px}.nav-equalizer{margin-left:0}footer{padding:92px 24px 82px;border-top-width:9px}footer p{font-size:27px;margin-bottom:34px}footer h2{grid-template-columns:1fr;font-size:clamp(43px,13vw,55px);gap:.08em}footer h2 i{font-size:.62em;line-height:.75}footer>span{margin-top:38px}}@media(max-width:600px){#petal-canvas,.petal-field{opacity:.62}.petal-field i:nth-child(n+9){display:none!important}.hero-copy,.scroll-cue,.section>*,.gallery>*,footer>*{position:relative;z-index:7}.hero-copy{left:20px;right:20px;text-align:center}.hero .eyebrow{flex-direction:column;justify-content:center;align-items:center;gap:9px;line-height:1.2}.hero .eyebrow>span{display:block;width:max-content;max-width:100%;white-space:nowrap}.hero .eyebrow>span:last-child{font-size:11px;letter-spacing:.16em}.ceremony-badge{padding:7px 11px}.hero-copy .eyebrow,.hero-note{margin-left:auto;margin-right:auto}.hero h1{width:100%;justify-items:center}.hero-name:last-child{padding-left:0}.scroll-cue{left:50%;transform:translate(-50%);align-items:center;text-align:center}.section-kicker,h2{text-align:center}h2{line-height:1.04;overflow-wrap:break-word}.invitation-grid{text-align:center}.invitation-copy{margin:40px auto 0}.date-lockup{gap:10px;text-align:center;min-width:0}.date-lockup span{flex:1}.date-lockup strong{font-size:46px;flex:0 0 auto}.lunar-date{justify-content:center;gap:16px;flex-wrap:wrap}.wedding-calendar{width:100%;margin-top:30px;padding:16px 12px}.calendar-head{padding:0 4px 14px}.calendar-head span{font-size:27px}.calendar-weekdays{padding-top:14px}.calendar-weekdays span{font-size:9px}.calendar-day{font-size:12.5px}.calendar-day.wedding-day b{font-size:19px}.calendar-day small{bottom:3px;font-size:6.5px}.calendar-legend{font-size:9px;letter-spacing:.06em}.count-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;padding-left:8px!important;padding-right:8px!important}.count-item span{padding-bottom:0}.story-intro,.story-list{text-align:center;min-width:0}.story-item,.story-item h3,.story-item p{min-width:0;max-width:100%;overflow-wrap:break-word}.story-intro>p,.story-item p{margin-left:auto;margin-right:auto}.event-head{text-align:center;justify-items:center}.event-head>p:last-child{margin-left:0}.schedule-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;min-width:0;padding:30px 10px}.schedule-row h3,.schedule-row p{min-width:0;max-width:100%;overflow-wrap:break-word}.schedule-row p{margin:3px auto 0;width:min(310px,100%)}.event-actions{display:flex;flex-direction:column;align-items:center;gap:25px;margin-left:0}.gallery-copy{text-align:center;min-width:0}.gallery-quote{margin-left:auto;margin-right:auto}.gallery-controls{justify-content:center}.gallery-caption strong{line-height:1.25;overflow-wrap:break-word}.rsvp{text-align:center}.rsvp-copy>p:nth-of-type(2){margin-left:auto;margin-right:auto}.primary-btn{margin-left:auto;margin-right:auto}.qr-wrap{align-items:center}footer h2 span{max-width:100%;white-space:normal;overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.petal-field{display:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
