@font-face{font-family:Rouge;src:url('/assets/rouge-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Rouge;src:url('/assets/rouge-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Studio;src:url('/assets/studio.woff') format('woff');font-weight:400;font-display:swap}
:root{--bg:#210c14;--panel:#371020;--wine:#6e1730;--red:#b43052;--cream:#f5e8db;--rose:#e2a7b5;--muted:#cbb1bc;--line:#f5e8db26;--serif:Rouge,Georgia,serif;--sans:Studio,Arial,sans-serif;color-scheme:dark;font-family:var(--sans);font-synthesis:none;background:var(--bg);color:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:var(--red);color:white}p{font-size:1.0625rem;line-height:1.8}h1,h2,h3,p{margin:0}h1,h2,h3,em{font-weight:400}svg{width:20px;height:20px;flex-shrink:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-150%);padding:14px 22px;border-radius:40px;background:var(--cream);color:var(--bg)}.skip-link:focus{transform:none}.eyebrow,.small-label{font-size:.75rem;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}
.site-header{position:absolute;inset:22px 4vw auto;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:12px 27px;border:1px solid var(--line);border-radius:60px;background:#260d17ba;backdrop-filter:blur(15px)}.wordmark{font-family:var(--serif);font-style:italic;font-size:2rem;line-height:1}.wordmark span{color:var(--rose)}.header-note{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-left:auto;margin-right:42px}.header-gallery{display:flex;align-items:center;gap:12px;font-size:.875rem;padding:7px 0}.header-gallery svg{width:18px;height:18px}
.hero{padding:160px 8vw 90px;display:grid;grid-template-columns:1fr 1.05fr;gap:4vw;align-items:center;min-height:850px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 40%,#57142b 0,transparent 66%)}.hero-copy{padding-bottom:25px;position:relative;z-index:2;animation:enter .85s ease both}.hero-copy .eyebrow{color:var(--rose);margin-bottom:26px}.hero h1{font-family:var(--serif);font-size:clamp(5rem,8.7vw,10.2rem);line-height:.92;letter-spacing:-.055em}.hero h1 em{color:var(--rose)}.hero-intro{margin-top:28px;font-size:1.1875rem;line-height:1.65;color:var(--muted)}.pill-link{display:inline-flex;justify-content:center;align-items:center;gap:14px;padding:19px 26px;background:var(--cream);color:#431426;border-radius:100px;font-size:.9375rem;line-height:1.3;transition:background .25s,transform .25s;min-height:54px}.pill-link:hover{background:#e9bec8;transform:translateY(-3px)}.hero-copy .pill-link{margin-top:32px}.intro-link{display:flex;align-items:center;gap:12px;width:fit-content;font-size:.875rem;margin-top:23px;color:var(--muted);min-height:36px}.intro-link svg{width:16px;height:16px}.portrait-composition{position:relative;max-width:590px;width:100%;justify-self:center;padding:0 14% 38px 0;animation:enter 1s .1s ease both}.portrait-composition:before{content:'';position:absolute;inset:-14px 10% 62px -12px;border:1px solid #e2a7b547;border-radius:50%;transform:rotate(10deg);z-index:-1}.oval-photo{display:block;width:100%;aspect-ratio:3/4.35;padding:0;border-radius:50%;overflow:hidden;background:var(--wine);transform:rotate(5deg);box-shadow:0 25px 60px #14050b55}.oval-photo img{object-position:50% 33%;transform:scale(1.06) rotate(-5deg);transition:transform .8s}.oval-photo:hover img{transform:scale(1.1) rotate(-5deg)}.circle-photo{position:absolute;bottom:0;right:-2%;width:40%;aspect-ratio:1;padding:6px;border-radius:50%;background:var(--bg);overflow:hidden;box-shadow:0 12px 40px #10060a88;transform:rotate(-8deg);transition:transform .5s}.circle-photo:hover{transform:rotate(0)}.circle-photo img{border-radius:50%;object-position:50% 23%}.photo-sticker{position:absolute;top:13%;left:-12%;background:var(--cream);color:var(--wine);border-radius:60px;padding:16px 23px;transform:rotate(-12deg);font-family:var(--serif);font-style:italic;font-size:1.5rem;box-shadow:0 5px 30px #20071233;pointer-events:none}.composition-caption{position:absolute;bottom:7px;left:2%;max-width:49%;color:var(--muted);font-size:.75rem;letter-spacing:.1em}
.personality-strip{display:flex;gap:4vw;justify-content:center;align-items:center;margin:10px 4vw 100px;padding:22px 3vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:80px;font-family:var(--serif);font-size:clamp(1.3rem,2.8vw,3rem);font-style:italic}.strip-star{color:var(--rose);font-size:1.5rem;font-style:normal}.intro-card{margin:0 6vw 120px;padding:72px 7vw;background:var(--cream);color:#461c2a;border-radius:55px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;position:relative}.letter-heading h2{font-family:var(--serif);font-size:clamp(5rem,8vw,8.8rem);line-height:.8;letter-spacing:-.06em;margin-top:35px;position:relative;z-index:1}.letter-heading h2 em{display:inline-block;margin-left:1.1em;color:#7d2341}.mini-portrait{width:55%;aspect-ratio:1;margin-top:5px;margin-left:3%;border:7px solid white;border-radius:35%;overflow:hidden;transform:rotate(-8deg);box-shadow:0 12px 30px #40101d17}.mini-portrait img{object-position:55% 37%;transform:scale(1.03)}.handwritten{display:block;font-family:var(--serif);font-style:italic;font-size:1.85rem;line-height:1.15}.letter-heading .handwritten{transform:rotate(-5deg);margin-top:24px;margin-left:6%}.intro-copy{padding-top:20px}.intro-copy .letter-opening{font-family:var(--serif);font-size:2.625rem;line-height:1.1;margin-bottom:25px;letter-spacing:-.035em}.intro-copy p+p{margin-top:20px}.signature{font-family:var(--serif);font-size:2.3rem;font-style:italic;margin-top:29px}.text-link{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid currentColor;padding-bottom:9px;margin-top:25px;font-size:.9375rem;transition:gap .25s}.text-link:hover{gap:24px}
.moments{padding:0 8vw 105px}.moments-heading{text-align:center;margin-bottom:62px}.moments-heading .eyebrow{color:var(--rose)}.moments-heading h2{font-family:var(--serif);font-size:clamp(3.3rem,5.7vw,6.2rem);line-height:1;letter-spacing:-.045em;margin-top:22px}.moments-heading h2 em{color:var(--rose)}.moment-pair{display:grid;grid-template-columns:1.05fr .8fr;align-items:start;gap:8vw}.photo-card{display:block;width:100%;text-align:left;padding:0;background:transparent}.photo-frame{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--panel);border-radius:35px}.photo-card img{transition:transform .75s cubic-bezier(.2,.6,.2,1)}.photo-card:hover img{transform:scale(1.035)}.photo-card .expand{position:absolute;right:19px;bottom:19px;display:grid;place-items:center;width:44px;height:44px;background:#270d17ad;backdrop-filter:blur(12px);border:1px solid #ffffff55;border-radius:50%;transition:background .25s}.photo-card:hover .expand{background:var(--wine)}.photo-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding:0 10px}.photo-name{font-size:1rem}.photo-number{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.moment-pair .photo-card:first-child{transform:rotate(-3deg)}.moment-pair .photo-card:first-child .photo-frame{aspect-ratio:1242/1460}.moment-pair .photo-card:last-child{margin-top:120px;transform:rotate(4deg)}.moment-pair .photo-card:last-child .photo-frame{border-radius:50%;aspect-ratio:3/4.4}.moment-pair .photo-card:last-child .expand{right:calc(50% - 22px);bottom:17px}.moment-pair .photo-card:last-child .photo-caption{padding:0 9%}.album-invitation{margin-top:85px;text-align:center}.album-invitation p{font-family:var(--serif);font-size:2rem;line-height:1.2;margin-bottom:25px}
.site-footer{margin:0 4vw;padding:28px 2vw 135px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:2.25rem;font-style:italic;color:var(--cream)}.site-footer p,.site-footer a:last-child{font-size:.8125rem}.dock{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:6px;padding:7px;border:1px solid #f5e8db33;background:#240b16e6;backdrop-filter:blur(22px);border-radius:80px;box-shadow:0 8px 35px #12070b80}.dock a{display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 28px;border-radius:60px;min-height:48px;font-size:.875rem;color:var(--cream);transition:background .25s}.dock a[aria-current=page]{background:#f5e8db;color:#431426}.dock a:hover:not([aria-current=page]){background:#542339}.dock svg{width:18px;height:18px}
.gallery-head{padding:150px 7vw 65px;text-align:center;background:radial-gradient(ellipse at 50% 0,#651a34 0,transparent 72%)}.album-count{display:inline-block;border:1px solid #e2a7b54d;border-radius:60px;padding:11px 19px;font-size:.8125rem;color:var(--rose);transform:rotate(-4deg);margin-bottom:30px}.gallery-head h1{font-family:var(--serif);font-size:clamp(5rem,10.5vw,11rem);line-height:.86;letter-spacing:-.055em}.gallery-head h1 em{color:var(--rose)}.gallery-head p{margin-top:30px;color:var(--muted)}.gallery-hint{display:inline-flex;align-items:center;gap:10px;margin-top:23px;font-size:.8125rem;color:var(--muted)}.gallery-hint svg{width:16px;height:16px}.gallery-grid{padding:30px 7vw 120px;display:grid;grid-template-columns:repeat(12,1fr);gap:75px 4vw;align-items:start}.gallery-grid .photo-card:nth-child(1){grid-column:span 7;transform:rotate(-2deg)}.gallery-grid .photo-card:nth-child(1) .photo-frame{aspect-ratio:1/1.06;border-radius:42px 42px 42px 150px}.gallery-grid .photo-card:nth-child(1) img{object-position:50% 24%}.gallery-grid .photo-card:nth-child(2){grid-column:span 5;margin-top:90px;transform:rotate(4deg)}.gallery-grid .photo-card:nth-child(2) .photo-frame{border-radius:50%;aspect-ratio:3/4}.gallery-grid .photo-card:nth-child(2) .expand{right:calc(50% - 22px)}.gallery-grid .photo-card:nth-child(3){grid-column:span 4;transform:rotate(3deg)}.gallery-grid .photo-card:nth-child(3) .photo-frame{border-radius:150px 150px 35px 35px}.gallery-grid .photo-card:nth-child(4){grid-column:span 4;margin-top:110px;transform:rotate(-4deg)}.gallery-grid .photo-card:nth-child(4) .photo-frame{border-radius:50%;aspect-ratio:1}.gallery-grid .photo-card:nth-child(4) img{object-position:50% 25%}.gallery-grid .photo-card:nth-child(4) .expand{right:calc(50% - 22px);bottom:12px}.gallery-grid .photo-card:nth-child(5){grid-column:span 4;margin-top:30px;transform:rotate(2deg)}.gallery-grid .photo-card:nth-child(5) .photo-frame{border-radius:35px;aspect-ratio:3/4}.gallery-end{margin:0 6vw 85px;padding:45px 6vw;border-radius:100px;background:#4b1329;display:flex;align-items:center;justify-content:space-between;gap:30px}.gallery-end .handwritten{font-size:2.5rem;max-width:400px}
.lightbox{border:0;margin:auto;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#180a12fa;color:var(--cream);overflow:hidden}.lightbox::backdrop{background:#180a12}.lightbox[open]{display:grid;grid-template-rows:auto 1fr auto;animation:fade-in .22s ease-out}.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:20px 26px}.lightbox-title{font-family:var(--serif);font-size:1.7rem;font-style:italic}.icon-button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#391326;transition:background .3s}.icon-button:hover{background:var(--wine)}.lightbox-stage{display:grid;place-items:center;min-height:0;padding:5px 85px;position:relative}.lightbox-stage img{object-fit:contain;min-height:0;max-height:100%;width:100%;height:100%}.lightbox-stage .prev,.lightbox-stage .next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-stage .prev{left:23px}.lightbox-stage .next{right:23px}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 30px calc(20px + env(safe-area-inset-bottom,0px));gap:20px}.lightbox-bottom p{font-size:.875rem;color:var(--muted)}.lightbox-counter{font-size:.875rem;letter-spacing:.1em}.lightbox.is-loading .lightbox-image{opacity:.35}.lightbox-image{transition:opacity .16s}.js .reveal{opacity:0;translate:0 28px;transition:opacity .8s,translate .8s}.js .reveal.visible{opacity:1;translate:0 0}body:has(.lightbox[open]){overflow:hidden}
@keyframes enter{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@supports(view-transition-name:none){@view-transition{navigation:auto}::view-transition-old(root){animation:fade-in .18s ease reverse}::view-transition-new(root){animation:fade-in .3s ease}}
.telegram-icon{width:21px;height:21px;flex-shrink:0}.dock a[aria-current=page]{background:#542339;color:var(--cream)}.dock a.telegram-cta{background:var(--cream);color:#431426}.dock a.telegram-cta:hover{background:#e9bec8;color:#431426}.footer-telegram{display:inline-flex;align-items:center;gap:8px;font-size:.875rem}.footer-telegram svg{width:18px;height:18px}.album-invitation .intro-link{margin:20px auto 0}.gallery-end-actions{display:flex;flex-direction:column;align-items:center;gap:18px}.gallery-end-actions .text-link{margin-top:0}.header-gallery.telegram-cta{padding:9px 15px;border-radius:40px;background:#6e1730;color:var(--cream)}
@media(min-width:1600px){.hero,.intro-card,.moments,.gallery-grid,.gallery-end{max-width:1500px;margin-left:auto;margin-right:auto}.hero{padding-left:95px;padding-right:95px}.portrait-composition{max-width:510px}.hero h1{font-size:9rem}}
@media(max-width:1050px){.hero{padding:150px 7vw 65px;gap:3vw;min-height:720px}.hero h1{font-size:8.7vw}.hero-intro{font-size:1.0625rem}.photo-sticker{font-size:1.2rem;left:-9%;padding:13px 18px}.intro-card{padding:60px 6vw;gap:6vw}.intro-copy{padding-top:0}.letter-heading h2{font-size:6rem}.personality-strip{margin-bottom:75px}.gallery-grid{gap:55px 4vw}.gallery-grid .photo-card:nth-child(4){margin-top:65px}.gallery-end .handwritten{font-size:2rem}.gallery-end{border-radius:50px}}
@media(max-width:700px){.site-header{inset:15px 5vw auto;padding:11px 20px}.wordmark{font-size:1.8rem}.header-note{display:none}.header-gallery{font-size:.8125rem;gap:8px}.hero{padding:115px 7vw 36px;display:flex;flex-direction:column;gap:40px;min-height:0;background:radial-gradient(ellipse at 100% 65%,#58152c 0,transparent 75%)}.hero-copy{align-self:stretch;text-align:center;padding:0}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.11em;margin-bottom:22px}.hero h1{font-size:clamp(4.5rem,19vw,7.8rem);line-height:.87}.hero-intro{margin-top:22px;font-size:1rem;line-height:1.55}.hero-intro br{display:none}.hero-copy .pill-link{margin-top:24px;font-size:.875rem;padding:17px 23px}.intro-link{margin:13px auto 0;font-size:.8125rem}.portrait-composition{width:89%;max-width:440px;padding:0 9% 28px 0;margin-left:3%;margin-top:0}.portrait-composition:before{inset:-9px 6% 49px -8px}.oval-photo{aspect-ratio:3/4}.photo-sticker{font-size:1.125rem;padding:12px 18px;top:13%;left:-8%}.circle-photo{width:39%;right:-8%;bottom:5px;padding:4px}.composition-caption{left:0;bottom:-6px;font-size:.75rem;letter-spacing:.03em;max-width:58%}.personality-strip{gap:3vw;margin:28px 5vw 65px;padding:19px 3vw;font-size:clamp(1.05rem,4.5vw,1.4rem)}.strip-star{font-size:.9rem}.intro-card{margin:0 5vw 75px;padding:36px 8vw 42px;border-radius:38px;display:block}.letter-heading{position:relative;min-height:260px;margin-bottom:35px}.letter-heading h2{font-size:5.5rem;margin-top:29px;position:relative;width:55%}.letter-heading h2 em{margin-left:.6em}.mini-portrait{position:absolute;right:-1%;top:62px;margin:0;width:43%;border-width:5px;border-radius:32%}.letter-heading .handwritten{font-size:1.5rem;margin:24px 0 0;position:relative;z-index:2;max-width:100%}.intro-copy .letter-opening{font-size:2.1rem;margin-bottom:20px}.intro-copy p{font-size:1rem}.intro-copy p+p{margin-top:17px}.signature{font-size:2.1rem;margin-top:23px}.intro-copy .text-link{font-size:.875rem;margin-top:22px}.moments{padding:0 7vw 72px}.moments-heading{margin-bottom:40px}.moments-heading h2{font-size:clamp(2.6rem,10.7vw,4rem);margin-top:19px;line-height:1.03}.moments-heading .eyebrow{font-size:.75rem;letter-spacing:.12em}.moment-pair{display:block}.moment-pair .photo-card:first-child{width:94%;margin-left:2%;transform:rotate(-3deg)}.moment-pair .photo-card:first-child .photo-frame{border-radius:30px}.moment-pair .photo-card:last-child{width:83%;margin-top:48px;margin-left:auto;transform:rotate(3deg)}.photo-caption{padding:0 6px;margin-top:14px}.photo-name{font-size:.9375rem}.album-invitation{margin-top:65px}.album-invitation p{font-size:1.7rem;margin-bottom:22px}.pill-link{padding:17px 23px;font-size:.875rem}.site-footer{margin:0 6vw;padding:23px 0 135px;flex-wrap:wrap;gap:15px}.footer-brand{font-size:2rem}.site-footer p{width:100%;order:3;line-height:1.5}.dock{bottom:calc(14px + env(safe-area-inset-bottom,0px));width:min(290px,88vw);padding:6px}.dock a{flex:1;padding:14px 15px;gap:8px}.gallery-head{padding:125px 7vw 38px}.album-count{font-size:.75rem;padding:10px 16px;margin-bottom:28px}.gallery-head h1{font-size:clamp(4.6rem,20vw,7.7rem)}.gallery-head p{margin-top:25px;font-size:1rem}.gallery-hint{margin-top:18px;font-size:.75rem;gap:7px}.gallery-grid{display:block;padding:12px 7vw 65px}.gallery-grid .photo-card:nth-child(n){margin:0 0 48px;width:100%;transform:rotate(-2deg)}.gallery-grid .photo-card:nth-child(1) .photo-frame{border-radius:30px 30px 30px 95px;aspect-ratio:3/3.7}.gallery-grid .photo-card:nth-child(2){width:88%;margin-left:auto;transform:rotate(4deg)}.gallery-grid .photo-card:nth-child(3){width:94%;transform:rotate(-3deg)}.gallery-grid .photo-card:nth-child(3) .photo-frame{border-radius:150px 150px 28px 28px}.gallery-grid .photo-card:nth-child(4){width:83%;margin-left:auto;transform:rotate(3deg)}.gallery-grid .photo-card:nth-child(5){width:92%;margin-bottom:0;transform:rotate(-3deg)}.gallery-end{margin:0 6vw 60px;padding:35px 8vw;border-radius:40px;flex-direction:column;gap:24px;text-align:center}.gallery-end .handwritten{font-size:2rem}.lightbox-top{padding:12px 16px}.lightbox-stage{padding:0 0 62px}.lightbox-stage .prev,.lightbox-stage .next{top:auto;bottom:0;transform:none}.lightbox-stage .prev{left:calc(50% - 58px)}.lightbox-stage .next{right:calc(50% - 58px)}.lightbox-bottom{padding:15px 20px calc(20px + env(safe-area-inset-bottom,0px))}.lightbox-bottom p{max-width:70%;font-size:.8125rem}}

/* Full-screen opening and extended home page. */
.hero.hero-fullscreen{position:relative;isolation:isolate;display:block;width:100%;max-width:none;height:100svh;min-height:780px;margin:0;padding:0;overflow:hidden;border-radius:0 0 54px 54px;background:#240b16}
.hero-backdrop{position:absolute;inset:0;z-index:-2}.hero-backdrop img{object-position:50% 12%;width:100%;height:100%}
.hero-fullscreen:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#16060c85,transparent 68%),linear-gradient(0deg,#210713eb,transparent 58%),linear-gradient(180deg,#180b145e,transparent 22%)}
.hero-fullscreen .hero-copy{position:absolute;left:6vw;bottom:120px;width:88vw;max-width:none;padding:0;text-align:left}
.hero-fullscreen .hero-copy .eyebrow{color:var(--cream);margin-bottom:25px;text-shadow:0 2px 18px #0005}
.hero-fullscreen h1{font-size:clamp(7rem,16vw,18rem);line-height:.88;letter-spacing:-.065em;color:var(--cream)}.hero-fullscreen h1 span{color:#efb2c5}
.hero-fullscreen .hero-intro{margin-top:22px;font-size:1.1875rem;color:var(--cream);text-shadow:0 2px 15px #0006}.hero-fullscreen .hero-copy .pill-link{margin-top:25px}
.hero-baseline{position:absolute;bottom:38px;left:6vw;right:6vw;display:flex;justify-content:space-between;align-items:center;color:var(--cream)}.scroll-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.875rem}.scroll-link svg{width:17px;height:17px}
.chapter-nav{display:flex;justify-content:center;gap:4vw;flex-wrap:wrap;margin:0 6vw;padding:38px 0 75px}.chapter-nav a{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--muted);font-size:.875rem}.chapter-nav a:hover{color:var(--cream)}.chapter-nav span{font-size:.75rem;color:#e2a7b5;letter-spacing:.04em}
.section-heading{margin-bottom:48px}.section-heading .eyebrow{color:var(--rose)}.section-heading h2{font-family:var(--serif);font-size:clamp(3rem,5.3vw,6rem);line-height:1.03;letter-spacing:-.045em;margin-top:20px}.section-heading h2 em{color:var(--rose)}
.values-section{padding:0 7vw 130px;max-width:1660px;margin:auto}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-card{padding:35px 31px 40px;border:1px solid var(--line);border-radius:35px;background:#33101e;min-height:285px}.value-card:nth-child(2){background:#57172e}.value-card:nth-child(3){background:#3f1325}.value-number{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #e2a7b555;border-radius:50%;color:var(--rose);font-size:.8125rem;margin-bottom:34px}.value-card h3{font-family:var(--serif);font-size:2.5rem;line-height:1.1;letter-spacing:-.025em;margin-bottom:18px}.value-card p{font-size:1rem;line-height:1.7;color:#ddc6cf}
.portrait-story{margin:0 6vw 135px;display:grid;grid-template-columns:1.12fr .88fr;gap:7vw;align-items:center}.portrait-story-image{width:100%;position:relative;aspect-ratio:4/5;padding:0;overflow:hidden;border-radius:38px 170px 38px 38px;background:var(--panel)}.portrait-story-image img{object-position:50% 24%;transition:transform .8s}.portrait-story-image:hover img{transform:scale(1.035)}.story-expand{position:absolute;bottom:24px;left:24px;display:inline-flex;align-items:center;gap:11px;padding:14px 18px;border:1px solid #ffffff45;border-radius:50px;background:#2a0f1bba;backdrop-filter:blur(12px);font-size:.875rem}.story-expand svg{width:18px;height:18px}
.portrait-story-copy .eyebrow{color:var(--rose)}.portrait-story-copy h2{font-family:var(--serif);font-size:clamp(3.5rem,6vw,7rem);line-height:.95;letter-spacing:-.045em;margin:30px 0}.portrait-story-copy h2 em{color:var(--rose)}.portrait-story-copy p:not(.eyebrow){max-width:340px;color:var(--muted)}.portrait-story-copy .handwritten{font-size:2rem;margin-top:55px;transform:rotate(-5deg);color:var(--rose)}
.album-invitation .album-note{font-family:var(--sans);font-size:.875rem;color:var(--muted);margin:20px 0 0}
.questions-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:25px 8vw 135px}.questions-heading .eyebrow{color:var(--rose)}.questions-heading h2{font-family:var(--serif);font-size:clamp(3.7rem,6.4vw,7rem);line-height:.94;letter-spacing:-.045em;margin:25px 0}.questions-heading h2 em{color:var(--rose)}.questions-heading>p:last-child{color:var(--muted);max-width:300px}
.questions-list details{border-bottom:1px solid var(--line);padding:0 0 4px}.questions-list details:first-child{border-top:1px solid var(--line)}.questions-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 2px;cursor:pointer;list-style:none;font-size:1.0625rem;line-height:1.5}.questions-list summary::-webkit-details-marker{display:none}.questions-list summary:after{content:'+';display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:50%;font-size:1.2rem;font-weight:400;color:var(--rose)}.questions-list details[open] summary:after{content:'−'}.questions-list summary:focus-visible{outline:2px solid var(--cream);outline-offset:5px;border-radius:8px}.questions-list .answer{padding:0 35px 26px 2px;color:var(--muted)}.questions-list .answer p{font-size:1rem;line-height:1.75}.questions-list .answer strong{font-weight:400;color:var(--cream)}.questions-list .text-link{margin-top:17px;color:var(--cream);font-size:.875rem}
.contact-finale{margin:0 5vw 85px;padding:80px 7vw 85px;border:1px solid #dd78932e;border-radius:65px;background:radial-gradient(ellipse at 70% 100%,#862641,transparent 68%),#56182c;text-align:center;position:relative;overflow:hidden}.contact-finale .eyebrow{color:#e5bfc9}.contact-finale h2{font-family:var(--serif);font-size:clamp(5rem,10vw,11rem);line-height:.86;letter-spacing:-.06em;margin:32px 0}.contact-finale h2 em{color:#efbccb}.contact-finale>p:not(.eyebrow){color:#ebcdd7}.contact-finale .pill-link{margin-top:29px}.contact-handle{display:block;margin-top:21px;font-size:.875rem;color:#e5bfc9}
@media(min-width:1600px){.portrait-story,.questions-section,.contact-finale{max-width:1500px;margin-left:auto;margin-right:auto}}
@media(max-width:1050px){.hero.hero-fullscreen{min-height:740px}.hero-fullscreen h1{font-size:17vw}.values-grid{gap:16px}.value-card{padding:27px 23px 32px}.value-card h3{font-size:2.1rem}.portrait-story{gap:5vw}.portrait-story-copy h2{font-size:5.7vw}.portrait-story-copy .handwritten{font-size:1.6rem;margin-top:32px}.questions-section{gap:6vw}}
@media(max-width:700px){.hero.hero-fullscreen{height:100svh;min-height:760px;border-radius:0 0 34px 34px}.hero-backdrop img{object-position:64% 20%}.hero-fullscreen:before{background:linear-gradient(0deg,#200b16f5 0%,#200b1699 28%,transparent 67%),linear-gradient(180deg,#180a145c,transparent 24%)}.hero-fullscreen .hero-copy{left:6vw;bottom:166px;width:88vw;text-align:left}.hero-fullscreen .hero-copy .eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:19px}.hero-fullscreen h1{font-size:23vw;line-height:.91;letter-spacing:-.065em}.hero-fullscreen .hero-intro{font-size:1rem;line-height:1.65;margin-top:18px;max-width:275px}.hero-fullscreen .hero-copy .pill-link{margin-top:24px}.hero-baseline{left:6vw;right:6vw;bottom:104px;gap:20px}.hero-baseline .small-label{font-size:.75rem;letter-spacing:.08em}.scroll-link{font-size:.8125rem;gap:8px}.chapter-nav{display:grid;grid-template-columns:1fr 1.3fr;gap:4px 12px;margin:0 7vw;padding:28px 0 50px}.chapter-nav a{font-size:.8125rem;gap:8px}.chapter-nav span{font-size:.75rem}.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(2.7rem,10vw,4rem);margin-top:18px;line-height:1.04}.values-section{padding:0 7vw 80px}.values-grid{grid-template-columns:1fr;gap:16px}.value-card{padding:27px 27px 31px;min-height:0;border-radius:30px}.value-number{width:35px;height:35px;margin-bottom:23px;font-size:.75rem}.value-card h3{font-size:2.2rem;margin-bottom:14px}.value-card p{font-size:1rem}.portrait-story{margin:0 5vw 80px;grid-template-columns:1fr;gap:38px}.portrait-story-image{aspect-ratio:4/5;border-radius:30px 100px 30px 30px}.story-expand{bottom:17px;left:17px;padding:12px 16px;font-size:.8125rem}.portrait-story-copy{padding:0 3vw}.portrait-story-copy .eyebrow{font-size:.75rem}.portrait-story-copy h2{font-size:clamp(3.5rem,14vw,5.4rem);margin:24px 0}.portrait-story-copy h2 em br{display:none}.portrait-story-copy p:not(.eyebrow){font-size:1rem;max-width:none}.portrait-story-copy .handwritten{font-size:1.7rem;margin-top:37px}.questions-section{grid-template-columns:1fr;padding:10px 7vw 80px;gap:34px}.questions-heading h2{font-size:4rem;line-height:.94;margin:23px 0}.questions-heading>p:last-child{font-size:1rem;max-width:310px}.questions-list summary{font-size:1rem;padding:22px 0;gap:15px}.questions-list summary:after{width:28px;height:28px;flex-basis:28px;font-size:1.15rem}.questions-list .answer{padding:0 15px 22px 0}.questions-list .answer p{font-size:1rem}.contact-finale{margin:0 5vw 65px;padding:54px 8vw 57px;border-radius:40px}.contact-finale .eyebrow{font-size:.75rem;letter-spacing:.11em}.contact-finale h2{font-size:clamp(4.5rem,19vw,7.4rem);margin:30px 0 25px}.contact-finale>p:not(.eyebrow){font-size:1rem}.contact-finale .pill-link{font-size:.875rem;padding:17px 22px;margin-top:25px}.contact-handle{font-size:.8125rem;margin-top:18px}}

/* Direct contact and Frankfurt location across both routes. */
.header-gallery.telegram-cta{padding:9px 15px;border-radius:40px;background:var(--cream);color:#431426}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:25px}
.contact-actions a{max-width:100%;min-height:48px}
.contact-actions .pill-link,.contact-actions .text-link{margin-top:0}
.contact-actions .pill-link{border:1px solid transparent}
.contact-actions .pill-link:not(.telegram-cta){background:transparent;color:inherit;border-color:currentColor}
.contact-actions .pill-link:not(.telegram-cta):hover{background:#e2a7b51a}
.hero-actions{align-items:center}
.secondary-actions{display:flex;align-items:center;gap:22px}
.secondary-actions .text-link{gap:9px;font-size:.875rem;color:var(--cream);border-bottom-color:#f5e8db70;padding-bottom:0}
.footer-contact.telegram-cta{padding:0 16px;border-radius:30px;background:var(--cream);color:#431426}
.hero-fullscreen .hero-copy .contact-actions .pill-link,.contact-finale .contact-actions .pill-link{margin-top:0}
.contact-actions .phone-cta span{white-space:nowrap}
.contact-finale .contact-actions,.gallery-end-actions .contact-actions{justify-content:center}
.gallery-end-actions .contact-actions{margin-top:0}
.gallery-end>div:first-child{min-width:0;flex:1}
.gallery-end-actions{flex:1.4;min-width:0}
.gallery-location{font-size:1rem;color:var(--muted);margin-top:18px}
.gallery-head p.gallery-location{margin-top:16px}
.site-footer{flex-wrap:wrap;gap:26px}
.footer-identity{display:flex;flex-direction:column;gap:10px}
.site-footer .footer-identity p{font-size:.875rem;line-height:1.6;width:auto;order:initial}
.site-footer .contact-actions{margin-top:0;gap:10px 22px}
.footer-contact{display:inline-flex;align-items:center;gap:9px;font-size:.875rem}
.site-footer .footer-contact:last-child{font-size:.875rem}
.footer-contact:hover{color:var(--cream)}
.dock{width:max-content;max-width:94vw}
.dock a{padding:15px 22px}
.dock a.whatsapp-cta{background:transparent;color:var(--cream)}
.dock a.whatsapp-cta:hover{background:#542339;color:var(--cream)}
.dock a.telegram-cta{background:var(--cream);color:#431426}
.dock a.telegram-cta:hover{background:#e9bec8;color:#431426}
@media(max-width:700px){
  .dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:min(420px,94vw);padding:6px;border-radius:32px}
  .dock a{min-width:0;min-height:62px;flex-direction:column;gap:7px;padding:10px 2px;font-size:.875rem;line-height:1.15;border-radius:25px;text-align:center}
  .dock svg{width:20px;height:20px}
  .contact-actions{gap:10px 16px;margin-top:22px}
  .hero-fullscreen .hero-copy .contact-actions{gap:10px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-fullscreen .hero-copy .contact-actions .pill-link{padding:16px 20px;gap:10px;min-height:52px;font-size:.875rem}
  .contact-finale .contact-actions{flex-direction:column;gap:12px}
  .contact-finale .contact-actions .pill-link{width:100%;max-width:310px}
  .site-footer .contact-actions{width:100%;gap:6px 18px}
  .site-footer{padding-bottom:calc(135px + env(safe-area-inset-bottom,0px))}
  .gallery-end-actions{width:100%}
  .gallery-end-actions .contact-actions{flex-direction:column;width:100%}
  .gallery-end-actions .pill-link{width:100%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1;translate:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Additional gallery photographs retain their complete supplied framing. */
.gallery-grid .photo-added{grid-column:span 6;transform:rotate(-1deg)}
.gallery-grid .photo-added:nth-child(2n+1){transform:rotate(1deg)}
.gallery-grid .photo-added .photo-frame{aspect-ratio:var(--photo-ratio);border-radius:32px}
@media(max-width:700px){.gallery-grid .photo-card:nth-child(5){margin-bottom:48px}.gallery-grid .photo-added:nth-child(n){width:100%;margin:0 0 48px;transform:none}.gallery-grid .photo-added:last-child{margin-bottom:0}.gallery-grid .photo-added .photo-frame{border-radius:24px}}

/* Photos and videos share the same album and full-screen viewer. */
.new-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:90px;align-items:start}
.new-photo-pair .photo-frame{aspect-ratio:var(--photo-ratio);border-radius:35px}
.new-photo-pair .photo-card:last-child{margin-top:65px}
.video-moments{margin-top:100px}
.video-moments .section-heading h3{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.5rem);line-height:1.05;letter-spacing:-.03em;margin-top:20px}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.video-card .photo-frame{aspect-ratio:var(--photo-ratio);border-radius:30px}
.video-duration{position:absolute;top:16px;left:16px;padding:8px 12px;background:#210b16d9;border:1px solid #ffffff38;border-radius:24px;color:var(--cream);font-size:.875rem}
.video-card .expand{width:54px;height:54px;right:20px;bottom:20px;background:#f5e8dbe8;color:#431426}
.video-card:hover .expand{background:#fff3e8}
.video-card .expand svg{width:22px;height:22px;margin-left:3px}
.gallery-grid .video-card:nth-child(n){grid-column:span 4;transform:none;margin-top:0}
.lightbox-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
.lightbox-video{width:100%;height:100%;max-height:100%;min-height:0;max-width:100%;object-fit:contain;background:#0f070b;border-radius:8px}
.lightbox-image[hidden],.lightbox-video[hidden]{display:none!important}
@media(max-width:700px){
  .new-photo-pair{grid-template-columns:1fr;gap:42px;margin-top:58px}
  .new-photo-pair .photo-card:last-child{margin-top:0}
  .new-photo-pair .photo-frame,.video-card .photo-frame{border-radius:24px}
  .video-moments{margin-top:66px}
  .video-grid{grid-template-columns:1fr;gap:40px}
  .video-grid .photo-card{max-width:440px;margin-inline:auto}
  .gallery-hint{max-width:100%;font-size:.875rem;line-height:1.6}
  .gallery-hint svg{flex-shrink:0}
}
