/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--ink:#0b1717;--night:#061615;--night-soft:#0b2623;--ivory:#f4efe5;--paper:#fbf7ee;--turquoise:#57d3c5;--turquoise-bright:#8cf3e4;--turquoise-deep:#0a6f68;--rose:#a80d2d;--rose-bright:#e04462;--gold:#d7bb7a;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, "Times New Roman", serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{background:var(--night);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}button,video{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,video:focus-visible{outline:2px solid var(--turquoise-bright);outline-offset:5px}::selection{color:#fff;background:var(--rose)}.story{isolation:isolate;min-height:100vh;overflow:clip}.ambient-canvas{z-index:45;pointer-events:none;mix-blend-mode:screen;opacity:.68;position:fixed;inset:0}.reading-progress{z-index:120;pointer-events:none;background:#ffffff14;width:100%;height:3px;position:fixed;top:0;left:0}.reading-progress span{background:linear-gradient(90deg, var(--turquoise-bright), var(--rose-bright));transform-origin:0;width:100%;height:100%;box-shadow:0 0 18px var(--turquoise);display:block}.opening{z-index:1000;color:#fff;background:#020807;place-items:center;min-height:100svh;transition:opacity 1.2s cubic-bezier(.65,0,.2,1),visibility 1.2s;display:grid;position:fixed;inset:0}.opening-hidden{opacity:0;visibility:hidden;pointer-events:none}.opening-photo,.opening-vignette{position:absolute;inset:0}.opening-photo{overflow:hidden}.opening-photo:after{content:"";background:radial-gradient(circle at 50% 34%,#0000 0 12%,#0209082e 44%),linear-gradient(#00000038,#010a09cc);position:absolute;inset:0}.opening-photo img{object-fit:cover;object-position:50% 42%;filter:saturate(.85)contrast(1.08)brightness(.66);width:100%;height:100%;animation:9s ease-in-out infinite alternate opening-breathe;transform:scale(1.035)}.opening-vignette{z-index:1;background:linear-gradient(90deg,#00000061,#0000 28% 72%,#00000061),radial-gradient(circle,#0000 20%,#0000009e 100%)}.opening-content{z-index:2;text-align:center;width:min(92vw,760px);padding:36px 24px;position:relative}.opening-kicker,.eyebrow,.section-index,.mini-kicker,.letter-prelude{color:var(--turquoise-bright);letter-spacing:.22em;text-transform:uppercase;margin:0 0 22px;font-size:.72rem;font-weight:700;line-height:1.4}.opening-content h1{font-family:var(--serif);letter-spacing:-.065em;text-shadow:0 10px 60px #00000073;margin:0;font-size:clamp(4.4rem,11vw,9rem);font-weight:400;line-height:.8}.opening-note{color:#ffffffb8;max-width:470px;font-family:var(--serif);margin:34px auto 30px;font-size:clamp(1rem,2vw,1.18rem);font-style:italic}.enter-button,.bouquet-button{color:#061615;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:var(--turquoise-bright);border:0;border-radius:100px;justify-content:center;align-items:center;gap:18px;min-height:58px;padding:0 26px;font-size:.74rem;font-weight:800;transition:transform .35s,box-shadow .35s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 16px 60px #5cead53d}.enter-button:before,.bouquet-button:before{content:"";background:linear-gradient(100deg,#0000 30%,#ffffffb3,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.enter-button:hover,.bouquet-button:hover:not(:disabled){transform:translateY(-3px)scale(1.015);box-shadow:0 22px 74px #5cead561}.enter-button:hover:before,.bouquet-button:hover:before{transform:translate(120%)}.enter-button span,.enter-button i,.bouquet-button{position:relative}.enter-button i{font-size:1rem;font-style:normal}.music-control{z-index:110;color:#ffffffd6;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#031412b8;border:1px solid #ffffff24;border-radius:100px;align-items:center;gap:11px;min-height:46px;padding:0 17px;font-size:.67rem;font-weight:750;transition:opacity .5s .7s,transform .5s .7s,background .3s;display:flex;position:fixed;bottom:20px;right:20px;transform:translateY(20px);box-shadow:0 12px 40px #0003}.story-entered .music-control{opacity:1;transform:none}.music-control:hover{background:#083b35d6}.sound-bars{align-items:center;gap:2px;width:13px;height:15px;display:flex}.sound-bars i{background:var(--turquoise-bright);border-radius:4px;width:2px;height:4px}.sound-bars-active i{animation:.75s ease-in-out infinite alternate sound}.sound-bars-active i:nth-child(2){animation-delay:-.35s}.sound-bars-active i:nth-child(3){animation-delay:-.15s}section{z-index:1;position:relative}.chapter-dark,.chapter-night,.chapter-deep,.chapter-black{color:#fff;background:var(--night)}.chapter-mist{background:#dcebe6}.chapter-warm{background:#ceb69b}.chapter-paper{background:var(--paper)}.chapter-ivory{background:var(--ivory)}.chapter-turquoise{background:#83d9ce}.hero{isolation:isolate;align-items:flex-end;min-height:100svh;padding:clamp(100px,13vw,180px) clamp(22px,7vw,110px) clamp(80px,9vw,130px);display:flex}.hero-image,.hero-wash{z-index:-3;width:100%;height:100%;position:absolute;inset:0}.hero-image{object-fit:cover;object-position:50% 45%;filter:saturate(.82)brightness(.8)contrast(1.08)}.hero-wash{z-index:-2;background:linear-gradient(#020c0b2e 15%,#020c0bd1 100%),linear-gradient(90deg,#020c0ba6,#0000 70%)}.hero-orbit{z-index:-1;pointer-events:none;border:1px solid #82f4e23d;border-radius:50%;position:absolute;top:23%;left:50%;transform:translate(-50%,-50%)}.hero-orbit:after{content:"";background:var(--turquoise-bright);width:8px;height:8px;box-shadow:0 0 24px var(--turquoise-bright);border-radius:50%;position:absolute;top:50%;left:-4px}.hero-orbit-one{aspect-ratio:1;width:min(54vw,720px);animation:26s linear infinite orbit-spin}.hero-orbit-two{aspect-ratio:1;border-style:dashed;width:min(38vw,500px);animation:19s linear infinite reverse orbit-spin}.hero-copy{width:min(820px,100%)}.hero-copy h2,.section-heading h2,.love-copy h2,.family-heading h2,.journey-intro h2,.celebration-copy h2,.film-heading h2,.letter h2,.finale h2{font-family:var(--serif);letter-spacing:-.064em;margin:0;font-size:clamp(3.2rem,7vw,7.1rem);font-weight:400;line-height:.88}.hero-copy h2 span{color:var(--turquoise-bright);letter-spacing:.03em;font-size:.48em;line-height:1.4;display:block}.hero-age{color:var(--turquoise-bright);font-family:var(--serif);margin:24px 0 0;font-size:clamp(1.3rem,2.4vw,2rem);font-style:italic}.hero-intro{color:#ffffffc4;max-width:660px;margin:36px 0 0;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55}.scroll-whisper{color:#ffffff7a;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;align-items:center;gap:12px;font-size:.62rem;font-weight:700;display:flex;position:absolute;bottom:60px;right:clamp(22px,5vw,80px)}.scroll-whisper span{background:linear-gradient(var(--turquoise), transparent);width:1px;height:56px;animation:1.8s ease-in-out infinite scroll-line}.essence,.love-story,.family,.rituals,.journey,.celebration,.film,.letter,.finale{padding:clamp(90px,13vw,190px) clamp(22px,7vw,110px)}.section-heading{max-width:980px;margin-bottom:clamp(64px,9vw,130px)}.section-heading h2 em,.love-copy h2 em,.family-heading h2 em,.journey-intro h2 em,.celebration-copy h2 em,.finale h2 em{color:var(--turquoise-deep);font-weight:400}.essence:before{content:"";background:linear-gradient(var(--night), transparent);width:1px;height:16vw;position:absolute;top:-1px;right:8%}.essence-stage{grid-template-columns:minmax(300px,1.15fr) minmax(280px,.85fr);align-items:center;gap:clamp(28px,6vw,100px);max-width:1280px;margin:0 auto;display:grid;position:relative}.photo-button{cursor:zoom-in;border-radius:inherit;background:#b9c8c2;border:0;width:100%;height:100%;padding:0;display:block;overflow:hidden}.photo-button img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s cubic-bezier(.2,.75,.2,1),filter .6s;display:block}.photo-button:hover img{transform:scale(1.045)}.portrait-frame{position:relative}.portrait-main{border-radius:44% 44% 6px 6px;height:min(58vw,780px);box-shadow:0 50px 100px #0a231f2e}.portrait-main img{object-position:50% 30%}.frame-caption{color:#071d1a8c;font-family:var(--serif);font-size:.94rem;font-style:italic;position:absolute;bottom:-36px;left:0}.essence-stage blockquote{color:#163a36;font-family:var(--serif);border-top:1px solid #084b4347;border-bottom:1px solid #084b4347;margin:0;padding:44px 0;font-size:clamp(1.45rem,2.5vw,2.25rem);font-style:italic;line-height:1.35}.quality-lab{grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);align-items:center;gap:clamp(40px,8vw,130px);max-width:1150px;margin:clamp(110px,13vw,190px) auto 0;display:grid}.quality-tabs{flex-direction:column;display:flex}.quality-tabs button{color:#0a201d5c;font-family:var(--serif);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #072f2a2e;grid-template-columns:50px 1fr;align-items:baseline;gap:12px;padding:20px 0;font-size:clamp(2rem,4vw,4rem);transition:color .4s,padding-left .4s;display:grid}.quality-tabs button span{font-family:var(--sans);letter-spacing:.18em;font-size:.62rem;font-weight:800}.quality-tabs button:hover,.quality-tabs .quality-active{color:var(--turquoise-deep);padding-left:12px}.quality-description{color:#133c37;font-family:var(--serif);margin:0;font-size:clamp(1.55rem,3vw,3rem);line-height:1.24}.love-story{grid-template-columns:minmax(300px,.84fr) minmax(420px,1.16fr);align-items:center;gap:clamp(60px,9vw,140px);display:grid}.love-copy{position:sticky;top:100px}.love-copy .section-index,.love-copy h2 em{color:#6f2734}.love-copy .lead-copy{color:#241915;font-family:var(--serif);margin-top:44px;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.45}.love-copy>p:last-child{color:#241915ad;max-width:540px}.love-collage{grid-template-rows:repeat(3,minmax(160px,26vw));grid-template-columns:1fr .76fr;gap:18px;display:grid}.love-photo{border-radius:3px;position:relative;overflow:hidden;box-shadow:0 20px 60px #351c112b}.love-photo-tall{grid-row:1/3}.love-photo-tall img{object-position:50% 25%}.love-photo-wide{grid-area:1/2}.love-photo-small{grid-area:2/2}.love-photo-memory{grid-area:3/1/auto/3}.love-photo span{z-index:2;color:#fff;font-family:var(--serif);text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#100a086b;border:1px solid #ffffff3d;border-radius:100px;padding:10px 13px;font-size:.9rem;font-style:italic;position:absolute;bottom:14px;left:14px;right:14px}.family{background:radial-gradient(circle at 50% 28%, #20675d59, transparent 36%), var(--night)}.family-heading{text-align:center;max-width:1040px;margin:0 auto clamp(70px,10vw,150px)}.family-heading h2 em{color:var(--turquoise-bright)}.family-heading>p:last-child{color:#fff9;max-width:600px;margin:40px auto 0;font-size:1.08rem}.sons-grid{grid-template-columns:.82fr 1.16fr .82fr;align-items:center;gap:clamp(16px,2.7vw,42px);max-width:1320px;margin:auto;display:grid}.son-card{background:#15342f;border-radius:180px 180px 12px 12px;min-height:520px;position:relative;overflow:hidden;box-shadow:0 40px 80px #00000047}.son-card-two{min-height:650px;transform:translateY(35px)}.son-card img{filter:saturate(.88)}.son-card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#031311eb);position:absolute;inset:50% 0 0}.son-card>div{z-index:3;position:absolute;bottom:28px;left:24px;right:24px}.son-card>div span{color:var(--turquoise-bright);letter-spacing:.16em;text-transform:uppercase;font-size:.64rem;font-weight:750}.son-card h3{font-family:var(--serif);margin:5px 0 0;font-size:clamp(1.55rem,2.7vw,2.5rem);font-weight:400;line-height:1}.tomiris-reveal{grid-template-columns:minmax(300px,.92fr) minmax(300px,1.08fr);align-items:center;gap:clamp(48px,9vw,140px);max-width:1150px;margin:clamp(170px,18vw,260px) auto 20px;display:grid;position:relative}.tomiris-photo{z-index:2;aspect-ratio:3/4;border-radius:50% 50% 16px 16px;position:relative;box-shadow:0 40px 100px #0000006b}.tomiris-photo img{object-position:50% 45%}.tomiris-halo{z-index:1;aspect-ratio:1;border:1px solid #7df3e147;border-radius:50%;width:62%;animation:5s ease-in-out infinite halo-pulse;position:absolute;top:-8%;left:-9%;box-shadow:0 0 120px #58d3c52e,inset 0 0 60px #58d3c51f}.tomiris-copy .mini-kicker{margin-bottom:16px}.tomiris-copy h3{color:#fff;font-family:var(--serif);letter-spacing:-.06em;margin:0;font-size:clamp(4rem,8vw,8rem);font-weight:400;line-height:.9}.tomiris-copy>p:last-child{color:#ffffffa3;max-width:540px;font-family:var(--serif);margin-top:30px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.5}.section-heading-centered{text-align:center;margin-left:auto;margin-right:auto}.rituals .section-index,.rituals .section-heading h2 em{color:var(--rose)}.ritual-grid{border-top:1px solid #1c29252e;border-bottom:1px solid #1c29252e;grid-template-columns:repeat(4,1fr);max-width:1300px;margin:auto;display:grid}.ritual-grid article{border-right:1px solid #1c29252e;min-height:330px;padding:34px clamp(20px,3vw,42px);transition:background .5s,transform .5s}.ritual-grid article:last-child{border-right:0}.ritual-grid article:hover{z-index:1;background:#fff;transform:translateY(-10px);box-shadow:0 30px 70px #291e141a}.ritual-number{color:var(--rose);letter-spacing:.18em;font-size:.7rem;font-weight:800}.ritual-grid h3{font-family:var(--serif);margin:85px 0 18px;font-size:clamp(1.7rem,2.5vw,2.5rem);font-weight:400;line-height:1}.ritual-grid p{color:#0b171794}.young-and-bold{grid-template-columns:.82fr 1.1fr;align-items:center;gap:clamp(22px,4vw,64px);max-width:1180px;margin:clamp(100px,14vw,200px) auto 0;display:grid}.young-photo{height:min(58vw,560px);position:relative;transform:rotate(-2deg);box-shadow:0 30px 80px #261b1429}.young-photo span{color:#fff;font-family:var(--serif);background:#00000080;padding:7px 13px;font-size:.85rem;font-style:italic;position:absolute;bottom:15px;right:15px}.young-copy h3{font-family:var(--serif);letter-spacing:-.05em;margin:0 0 24px;font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:.94}.young-copy>p:last-child{color:#0b171799}.journey{background:radial-gradient(circle at 90% 10%,#0e726738,#0000 28%),#041110;min-height:100vh}.journey-intro{grid-template-columns:1.45fr .55fr;align-items:end;gap:50px;max-width:1280px;margin:0 auto clamp(65px,9vw,130px);display:grid}.journey-intro .section-index{grid-column:1/3;margin-bottom:-20px}.journey-intro h2{font-size:clamp(3.5rem,7vw,7rem)}.journey-intro h2 em{color:var(--turquoise-bright)}.journey-intro>p:last-child{color:#ffffff94;font-family:var(--serif);font-size:clamp(1.1rem,1.8vw,1.38rem)}.memory-ribbon{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--turquoise-deep) transparent;gap:clamp(18px,2.5vw,34px);width:calc(100% + clamp(22px,7vw,110px));margin-right:calc(-1*clamp(22px,7vw,110px));padding:25px clamp(22px,7vw,110px) 55px 0;display:flex;overflow-x:auto}.memory-card{scroll-snap-align:center;flex:0 0 min(70vw,430px)}.memory-card .photo-button{border-radius:230px 230px 10px 10px;height:min(68vw,570px);box-shadow:0 26px 70px #00000057}.memory-card-2{margin-top:70px}.memory-card-3{margin-top:24px}.memory-meta{padding:22px 10px 0}.memory-meta>span{color:var(--turquoise-bright);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;font-weight:750}.memory-meta h3{font-family:var(--serif);margin:6px 0 8px;font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:400;line-height:1}.memory-meta p{color:#ffffff7a;margin:0;font-size:.88rem}.swipe-hint{color:#ffffff5c;letter-spacing:.14em;text-transform:uppercase;margin:16px 0 0;font-size:.66rem;font-weight:700}.celebration{grid-template-columns:minmax(400px,1.1fr) minmax(300px,.9fr);align-items:center;gap:clamp(60px,10vw,160px);display:grid}.celebration-visuals{min-height:min(76vw,760px);position:relative}.celebration-photo{position:absolute;overflow:hidden;box-shadow:0 35px 90px #1d17122e}.celebration-photo-main{z-index:1;border-radius:260px 260px 10px 10px;inset:0 12% 0 0}.celebration-photo-small{z-index:2;border:8px solid var(--ivory);width:45%;height:52%;bottom:-4%;right:-5%;transform:rotate(4deg)}.celebration-51{z-index:3;color:var(--rose);font-family:var(--serif);opacity:.15;font-size:clamp(7rem,17vw,17rem);line-height:1;position:absolute;top:-6%;right:-8%}.celebration-copy .section-index,.celebration-copy h2 em{color:var(--rose)}.celebration-copy>p:not(.section-index){color:#0b17179e;max-width:560px;font-family:var(--serif);margin-top:36px;font-size:clamp(1.1rem,1.8vw,1.42rem)}.celebration-copy .rose-note{color:var(--rose);border-top:1px solid #a80d2d33;padding-top:28px}.film{background:#020504}.film-heading{text-align:center;max-width:950px;margin:0 auto clamp(50px,8vw,100px)}.film-heading h2{font-size:clamp(3rem,6vw,6rem)}.film-frame{background:#0a1211;max-width:1120px;margin:auto;padding:clamp(10px,2vw,24px);position:relative;box-shadow:0 50px 140px #000000b3}.film-frame video{background:#000;width:100%;height:auto;max-height:74vh;display:block}.film-heading-second{margin-top:clamp(70px,10vw,140px)}.film-note{max-width:620px;font-family:var(--sans);color:#f4efe5b3;margin:clamp(18px,2.4vw,28px) auto 0;font-size:clamp(.98rem,1.25vw,1.15rem);line-height:1.7}.film-frame-portrait{max-width:430px}.film-frame-portrait video{max-height:none}.film-corner{pointer-events:none;width:90px;height:90px;position:absolute}.film-corner-top{border-top:1px solid var(--turquoise-bright);border-left:1px solid var(--turquoise-bright);top:-14px;left:-14px}.film-corner-bottom{border-right:1px solid var(--turquoise-bright);border-bottom:1px solid var(--turquoise-bright);bottom:-14px;right:-14px}.letter{color:#06221f;background:radial-gradient(circle at 14% 20%,#ffffff7a,#0000 23%),radial-gradient(circle at 86% 80%,#0a6f6826,#0000 25%),#83d9ce;place-items:center;min-height:100svh;display:grid}.letter:before{content:"";pointer-events:none;border:1px solid #0539342e;position:absolute;inset:22px}.letter-inner{width:min(880px,100%)}.letter-prelude{color:var(--turquoise-deep)}.letter h2{max-width:800px;font-size:clamp(3.4rem,7vw,7rem)}.letter-rule{background:linear-gradient(90deg,#0a6f68,#0000);width:100%;height:1px;margin:clamp(45px,7vw,90px) 0}.letter-inner>p:not(.letter-prelude,.letter-signature){color:#06221fc7;font-family:var(--serif);font-size:clamp(1.18rem,2vw,1.55rem);line-height:1.66}.letter-signature{color:#073f3a;font-family:var(--serif);margin:56px 0 0;font-size:clamp(1.2rem,2vw,1.6rem);font-style:italic}.finale{text-align:center;isolation:isolate;background:radial-gradient(circle at 50% 48%,#14685d6b,#0000 35%),linear-gradient(145deg,#020b0a,#081f1c 55%,#020908);place-items:center;min-height:100svh;display:grid}.finale-glow{z-index:-1;aspect-ratio:1;border:1px solid #87f3e32e;border-radius:50%;width:min(68vw,800px);animation:7s ease-in-out infinite halo-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 200px #34aa9a21,inset 0 0 150px #34aa9a1a}.finale-content{z-index:3;width:min(900px,100%);position:relative}.finale h2 em{color:var(--turquoise-bright)}.finale-content>p:not(.section-index,.final-words){color:#fff9;max-width:620px;font-family:var(--serif);margin:36px auto 0;font-size:clamp(1.1rem,2vw,1.5rem)}.bouquet-button{color:#fff;background:linear-gradient(135deg,#850a25,#cf274b);margin-top:42px;box-shadow:0 20px 75px #c81a4140}.bouquet-button:disabled{cursor:default}.final-words{font-family:var(--serif);opacity:0;flex-direction:column;margin-top:40px;transition:opacity 1.4s 1.2s,transform 1.4s 1.2s;display:flex;transform:translateY(24px)}.final-words span{color:#ffffffa3;font-size:1.1rem}.final-words strong{color:#fff;letter-spacing:-.06em;font-size:clamp(3.2rem,7vw,7rem);font-weight:400;line-height:1}.finale-bloomed .final-words{opacity:1;transform:none}.rose-field{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.rose-bloom{--rose-x:50%;--rose-y:50%;--rose-delay:0s;--rose-scale:1;--rose-rotate:0deg;top:var(--rose-y);left:var(--rose-x);opacity:0;width:30px;height:30px;transform:translate(-50%, -50%) scale(0) rotate(var(--rose-rotate));background:radial-gradient(circle at 58% 38%,#ff758d 0 7%,#0000 8%),radial-gradient(circle at 40% 55%,#c4143b 0 28%,#0000 30%),radial-gradient(circle at 65% 64%,#920823 0 34%,#0000 36%),#bd1236;border-radius:46% 54% 52% 48%;position:absolute;box-shadow:-7px -5px 0 -2px #d9274d,7px 4px 0 -3px #7f071f,0 0 28px #da214b4d}.rose-bloom:after{content:"";transform-origin:top;background:linear-gradient(#1d7b55,#123d2d);border-radius:10px;width:4px;height:55px;position:absolute;top:24px;left:13px;transform:rotate(5deg)}.finale-bloomed .rose-bloom{animation:rose-arrive 1.2s cubic-bezier(.2, .85, .2, 1.15) var(--rose-delay) forwards}.made-with-love{z-index:3;color:#ffffff47;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:700;position:absolute;bottom:24px;left:0;right:0}.lightbox{z-index:2000;color:#fff;cursor:zoom-out;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#010807eb;place-items:center;padding:50px 20px 70px;animation:.35s both lightbox-in;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;cursor:default;border-radius:3px;max-width:min(92vw,1200px);max-height:78vh;box-shadow:0 30px 120px #000000b3}.lightbox p{color:#ffffff9e;font-family:var(--serif);text-align:center;margin:0;font-style:italic;position:absolute;bottom:20px;left:20px;right:20px}.lightbox-close{z-index:2;color:#fff;width:46px;height:46px;font-family:var(--serif);cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:50%;place-items:center;padding:0 0 4px;font-size:2rem;display:grid;position:absolute;top:20px;right:20px}[data-reveal]{opacity:0;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(45px)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes opening-breathe{to{transform:scale(1.09)}}@keyframes sound{to{height:14px}}@keyframes orbit-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes scroll-line{0%,to{opacity:.3;transform-origin:top;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}@keyframes halo-pulse{50%{opacity:.5;transform:scale(1.06)}}@keyframes rose-arrive{0%{opacity:0;transform:translate(-50%,80vh)scale(0)rotate(180deg)}70%{opacity:.88}to{opacity:.8;transform:translate(-50%, -50%) scale(var(--rose-scale)) rotate(var(--rose-rotate))}}@keyframes lightbox-in{0%{opacity:0}}@media (width<=1050px){.love-story{grid-template-columns:1fr}.love-copy{max-width:850px;position:relative;top:auto}.love-collage{grid-template-rows:repeat(3,minmax(220px,46vw))}.sons-grid{grid-template-columns:repeat(2,1fr)}.son-card-three{grid-column:1/3;width:60%;margin:45px auto 0}.ritual-grid{grid-template-columns:repeat(2,1fr)}.ritual-grid article:nth-child(2){border-right:0}.ritual-grid article:nth-child(-n+2){border-bottom:1px solid #1c29252e}.journey-intro{grid-template-columns:1fr}.journey-intro .section-index{grid-column:1}.celebration{grid-template-columns:1fr}.celebration-visuals{width:min(100%,720px)}.celebration-copy{max-width:850px}}@media (width<=720px){body{font-size:15px}.ambient-canvas{opacity:.48}.opening-content{align-self:end;padding-bottom:10vh}.opening-content h1{font-size:clamp(4.1rem,21vw,6.3rem)}.opening-photo img{object-position:58% 50%}.music-control{justify-content:center;width:46px;padding:0;bottom:12px;right:12px}.music-control>span:last-child{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.hero{padding-bottom:86px}.hero-image{object-position:58% 50%}.hero-wash{background:linear-gradient(#020c0b26 5%,#020c0be0 92%)}.hero-copy h2,.section-heading h2,.love-copy h2,.family-heading h2,.journey-intro h2,.celebration-copy h2,.film-heading h2,.letter h2,.finale h2{font-size:clamp(3.1rem,14.5vw,5rem)}.hero-orbit-one{width:90vw}.hero-orbit-two{width:66vw}.scroll-whisper{display:none}.section-heading{margin-bottom:64px}.essence-stage{grid-template-columns:1fr}.portrait-main{height:128vw}.essence-stage blockquote{margin-top:50px;font-size:1.55rem}.quality-lab{grid-template-columns:1fr;margin-top:90px}.quality-tabs button{font-size:2.6rem}.quality-description{min-height:160px}.love-collage{scroll-snap-type:x mandatory;gap:14px;display:flex;overflow-x:auto}.love-photo{scroll-snap-align:center;flex:0 0 78vw;height:112vw}.love-photo-wide,.love-photo-small{height:78vw}.sons-grid{scroll-snap-type:x mandatory;gap:18px;display:flex;overflow-x:auto}.son-card,.son-card-two,.son-card-three{scroll-snap-align:center;flex:0 0 82vw;width:auto;min-height:120vw;margin:0;transform:none}.tomiris-reveal{grid-template-columns:1fr;margin-top:120px}.tomiris-photo{aspect-ratio:3/4}.tomiris-halo{width:92%}.ritual-grid{grid-template-columns:1fr}.ritual-grid article,.ritual-grid article:nth-child(2){border-bottom:1px solid #1c29252e;border-right:0;min-height:260px}.ritual-grid article:last-child{border-bottom:0}.ritual-grid h3{margin-top:58px}.young-and-bold{grid-template-columns:1fr}.young-photo{height:112vw}.young-copy{margin-top:60px}.memory-ribbon{width:calc(100% + 22px);margin-right:-22px;padding-right:22px}.memory-card{flex-basis:82vw}.memory-card .photo-button{height:116vw}.memory-card-2{margin-top:45px}.celebration-visuals{min-height:122vw}.celebration-photo-main{right:8%}.celebration-photo-small{border-width:5px;right:-2%}.film-frame{width:calc(100% + 22px);margin-left:-11px}.letter:before{inset:10px}.letter-inner>p:not(.letter-prelude,.letter-signature){font-size:1.15rem}.finale-content{padding-bottom:50px}.rose-bloom{width:24px;height:24px}.rose-bloom:after{height:38px;top:20px;left:10px}.made-with-love{font-size:.54rem;bottom:12px}}@media (width<=420px){.opening-note br,.hero-intro br{display:none}.enter-button,.bouquet-button{width:100%;padding-left:18px;padding-right:18px;font-size:.67rem}.section-index,.eyebrow,.opening-kicker{letter-spacing:.16em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
