/*
Theme Name: Danusa Sweet 16 Invitation
Author: Custom Invitation Studio
Description: Een interactieve Sweet 16 uitnodiging met cinematic scroll, parallax, horizontale datumkaarten en een fotoreveal. Bevat instelbare evenementgegevens via de Customizer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: danusa-sweet-16
License: GPL-2.0-or-later
*/

:root{--dark:#210917;--darker:#130610;--wine:#3a0e29;--rose:#67253b;--gold:#e9c58d;--golddeep:#b98750;--paper:#f5edde;--ink:#4b172e;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--screen:100svh}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:0}
body{margin:0;min-width:300px;overflow-x:hidden;background:var(--dark);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
::selection{background:#e2bb7c;color:#310e23}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
#scrollbar{position:fixed;z-index:120;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#9e603b,#f9e4ae,#b8844b);box-shadow:0 0 10px #c49662}
#siteHead{position:fixed;z-index:99;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:19px clamp(20px,4vw,56px);pointer-events:none;transition:color .25s}
#siteHead .logo{pointer-events:auto;text-decoration:none;font:500 23px/1 var(--serif);letter-spacing:.045em;color:#f1d6ad;text-shadow:0 2px 18px #2109188c}
#siteHead .logo b{font-weight:400;color:#f9eee3}
#siteHead .folio{font:700 10px var(--sans);letter-spacing:.22em;color:#f1d6ad;text-shadow:0 2px 12px #21091890}
#siteHead.on-paper .logo,#siteHead.on-paper .logo b,#siteHead.on-paper .folio{color:#814e49;text-shadow:none}
#navDots{position:fixed;z-index:99;right:clamp(10px,2vw,29px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px}
.nav-dot{padding:7px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--gold);opacity:.56;transition:opacity .3s,transform .3s}
.nav-dot::after{content:"";width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg);transition:background .3s,box-shadow .3s,transform .3s}
.nav-dot.active{opacity:1;transform:scale(1.19)}.nav-dot.active::after{background:currentColor;box-shadow:0 0 13px #f3c386}
#navDots.on-paper .nav-dot{color:#824f4a}
.grain{pointer-events:none;position:absolute;inset:0;z-index:5;opacity:.18;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Cpath fill="%23fff" filter="url(%23n)" opacity=".20" d="M0 0h140v140H0z"/%3E%3C/svg%3E');mix-blend-mode:soft-light}
.chapter{position:relative;isolation:isolate}
.pin{position:sticky;top:0;width:100%;height:100vh;height:100svh;min-height:0;overflow:hidden;isolation:isolate}
.chapter-hero{height:185vh;height:185svh;background:var(--dark)}
.hero-pin{display:grid;place-items:center;background:radial-gradient(ellipse 80% 72% at 50% 42%,#5c2240 0%,#360f2a 48%,#1a0715 100%)}
.hero-pin::before{content:"";position:absolute;inset:0;opacity:.6;background:repeating-linear-gradient(90deg,transparent 0,transparent 110px,#f3ca8630 111px,transparent 112px);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);pointer-events:none}
.hero-velvet{position:absolute;inset:-1% auto -1%;width:25%;z-index:1;pointer-events:none;will-change:transform;background:repeating-linear-gradient(90deg,#1a0713 0,#340c22 13%,#4b1230 28%,#250719 40%,#360b24 55%,#17040f 75%);box-shadow:0 0 120px #0903078a}
.hero-velvet.left{left:-3%;border-radius:0 45% 45% 0/0 16% 16% 0}.hero-velvet.right{right:-3%;border-radius:45% 0 0 45%/16% 0 0 16%;transform:scaleX(-1)}
.hero-aura{position:absolute;z-index:0;width:min(88vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#b7743633 0%,#e1a65414 36%,transparent 68%);filter:blur(4px);pointer-events:none}
.hero-rings{position:absolute;z-index:1;width:min(79vw,510px);aspect-ratio:1;border:1px solid #f7d8a044;border-radius:50%;box-shadow:0 0 0 21px #edd1a006,0 0 0 22px #f4d9a02a,0 0 0 52px #edd1a006,0 0 0 53px #f4d9a017;will-change:transform}
.hero-rings::before,.hero-rings::after{content:'✧';position:absolute;color:#f5d39c;font:25px var(--serif)}.hero-rings::before{top:7%;left:14%}.hero-rings::after{bottom:13%;right:9%}
.hero-sparks{position:absolute;inset:0;z-index:1;pointer-events:none}.spark{position:absolute;width:var(--size);height:var(--size);left:var(--x);top:var(--y);border-radius:50%;background:#ffdda1;box-shadow:0 0 11px #f3c783;animation:sparkFloat var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay);opacity:var(--opacity)}
@keyframes sparkFloat{from{transform:translate3d(-4px,9px,0) scale(.4);opacity:.15}to{transform:translate3d(8px,-20px,0) scale(1.1);opacity:var(--opacity)}}
.hero-core{position:relative;z-index:3;text-align:center;width:100%;max-width:1000px;padding:80px 55px 64px;transform-style:preserve-3d;will-change:transform}
.kicker{font:700 10px/1.6 var(--sans);letter-spacing:.36em;text-transform:uppercase}
.hero-core .kicker{color:#f0c992;margin:0 0 clamp(15px,3vh,30px)}
.hero-number{font:italic 500 clamp(152px,30vh,295px)/.69 var(--serif);letter-spacing:-.08em;display:block;width:max-content;margin:0 auto .06em;padding-right:.06em;background:linear-gradient(116deg,#83502d 0%,#d6a266 21%,#ffe6b2 34%,#d69b5f 52%,#fbe1ae 72%,#a8713d 96%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 15px 19px #10020972);will-change:transform}
.hero-name{font:500 clamp(62px,11vw,128px)/.81 var(--serif);letter-spacing:-.06em;margin:24px 0 0;color:#fff7eb;white-space:nowrap}
.hero-sub{font:italic 500 clamp(31px,6vw,69px)/1 var(--serif);letter-spacing:-.04em;color:var(--gold);margin:10px 0 0}
.hero-line{height:1px;max-width:170px;margin:clamp(22px,4vh,34px) auto 21px;background:linear-gradient(90deg,transparent,#e8bb7a,transparent)}
.hero-caption{font:400 clamp(15px,2vw,19px)/1.4 var(--serif);font-style:italic;color:#f4dfcb;margin:0}
.hero-scroll{position:absolute;z-index:8;bottom:clamp(24px,4vh,42px);left:50%;transform:translateX(-50%);border:0;background:none;color:#eed2a4;display:flex;align-items:center;gap:10px;font:700 9px var(--sans);letter-spacing:.28em;white-space:nowrap;padding:10px}
.hero-scroll i{height:33px;width:1px;background:linear-gradient(transparent,#edc997,transparent);display:block;animation:verticalNudge 2s infinite}
@keyframes verticalNudge{50%{transform:translateY(8px)}}
.corner-index{position:absolute;bottom:27px;right:clamp(40px,6vw,90px);z-index:3;font:400 12px var(--serif);letter-spacing:.24em;color:#e7c39199}
.chapter-letter{height:165vh;height:165svh;color:var(--ink);background:var(--paper)}
.letter-pin{display:grid;place-items:center;background:radial-gradient(ellipse at 80% 14%,#fff8ec 0%,#f4e9d8 56%,#e9d6bc 100%)}
.letter-sun{position:absolute;z-index:0;top:-24%;right:-14%;width:min(86vw,790px);aspect-ratio:1;border-radius:50%;border:1px solid #b68d5d50;box-shadow:0 0 0 45px #c0925c08,0 0 0 46px #a47c4a30,0 0 0 100px #c0925c06,0 0 0 101px #a47c4a1c;will-change:transform}
.letter-sculpture{position:absolute;z-index:0;left:-16%;bottom:-37%;width:55vw;max-width:680px;aspect-ratio:1;border:1px solid #bd9c7144;border-radius:45% 55% 68% 32%;transform:rotate(-18deg);will-change:transform}
.letter-content{z-index:2;position:relative;text-align:center;width:100%;max-width:1100px;padding:90px 54px 60px}
.letter-content .kicker{color:#966c4a;margin:0 0 clamp(22px,4vh,42px)}
.letter-heading{font:italic 500 clamp(63px,12vw,157px)/.84 var(--serif);letter-spacing:-.07em;margin:0;color:#4e1730}
.letter-heading span{display:block;will-change:transform,opacity}
.letter-heading span:nth-child(2){color:#a77c51;padding-left:clamp(0px,7vw,100px)}
.letter-heading span:nth-child(3){padding-right:clamp(0px,5vw,65px)}
.letter-thread{width:210px;max-width:48vw;height:1px;background:#b9905d;margin:clamp(24px,5vh,45px) auto;transform-origin:center;will-change:transform}
.letter-message{font:400 clamp(18px,2.6vw,29px)/1.22 var(--serif);max-width:560px;margin:0 auto;color:#7a4c49;font-style:italic}
.letter-foil{position:absolute;bottom:7%;left:7%;font:500 12px var(--serif);letter-spacing:.2em;color:#976e5c80;transform:rotate(-90deg);transform-origin:top left}
.chapter-when{height:300vh;height:300svh;background:#1a0716}
.when-pin{background:radial-gradient(ellipse at 32% 25%,#54203a 0%,#270b1c 60%,#160711 100%)}
.when-giant{position:absolute;z-index:0;top:8%;right:-7%;font:italic 500 clamp(150px,28vw,490px)/1 var(--serif);letter-spacing:-.08em;color:#d59b6e12;pointer-events:none;white-space:nowrap;will-change:transform}
.when-eyebrow{position:absolute;z-index:2;top:clamp(95px,15vh,155px);left:clamp(30px,9vw,155px);color:#e9c58d}
.when-title{position:absolute;z-index:2;top:clamp(126px,19vh,202px);left:clamp(30px,9vw,155px);font:italic 500 clamp(49px,7.5vw,91px)/1 var(--serif);margin:0;letter-spacing:-.045em}
.when-viewport{position:absolute;top:48%;left:0;right:0;transform:translateY(-39%);height:clamp(250px,44vh,440px);overflow:hidden;z-index:2}
.when-track{display:flex;gap:clamp(12px,2vw,25px);height:100%;width:max-content;padding:0 clamp(22px,9vw,145px);will-change:transform;align-items:center}
.when-card{position:relative;flex:0 0 clamp(235px,52vw,560px);height:90%;overflow:hidden;border-radius:clamp(18px,3vw,32px);background:linear-gradient(128deg,#5d2440 0%,#3a132b 54%,#250b1d 100%);border:1px solid #c18c665c;box-shadow:0 18px 50px #10020c3d;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(22px,3vw,35px);transform-origin:center;will-change:transform}
.when-card::after{content:"";position:absolute;inset:10px;border:1px solid #efc48e24;border-radius:inherit;pointer-events:none}
.when-card.light-card{color:#521a30;background:linear-gradient(130deg,#fff5e6,#eddbbd)}
.when-card .micro{font:700 9px var(--sans);letter-spacing:.33em;text-transform:uppercase;color:#d8b081}
.when-card.light-card .micro{color:#98704b}
.card-word{font:italic 500 clamp(68px,11vw,137px)/.82 var(--serif);letter-spacing:-.055em;white-space:nowrap}
.card-day{font:500 clamp(210px,35vh,355px)/.68 var(--serif);letter-spacing:-.09em;text-align:center;color:#a86e46;margin:auto}
.card-month{font:500 clamp(64px,10vw,123px)/.8 var(--serif);letter-spacing:-.045em}
.card-year{font:500 clamp(55px,7vw,88px)/1 var(--serif);letter-spacing:.03em;color:#b17e5d}
.card-time{font:500 clamp(74px,12vw,155px)/.8 var(--serif);letter-spacing:-.065em}
.card-time small{display:block;font:italic 500 clamp(23px,2.7vw,35px)/1.2 var(--serif);color:#e0b991;letter-spacing:.01em;margin-top:22px}.when-card.light-card .card-time small{color:#966646}
.when-bottom{position:absolute;bottom:clamp(31px,6vh,63px);left:clamp(30px,9vw,155px);right:clamp(45px,9vw,155px);display:flex;align-items:center;gap:24px;color:#e5bf85;z-index:2}
.when-bottom span{font:700 9px var(--sans);letter-spacing:.26em;white-space:nowrap;text-transform:uppercase}
.when-trackline{position:relative;flex:1;height:1px;background:#efcc9040;overflow:hidden}
.when-trackline b{position:absolute;top:0;left:0;height:100%;width:0;background:#ecc58a}
.chapter-place{height:180vh;height:180svh;background:var(--paper);color:var(--ink)}
.place-pin{background:linear-gradient(122deg,#fbf5ea,#e9d8c1)}
.place-grid{position:absolute;inset:-20%;opacity:.4;background:linear-gradient(90deg,transparent 97%,#a67a5433 98%) 0 0/65px 65px,linear-gradient(0deg,transparent 97%,#a67a5433 98%) 0 0/65px 65px;mask-image:radial-gradient(ellipse,#000 25%,transparent 78%);will-change:transform}
.place-orbit{position:absolute;z-index:1;width:min(75vw,770px);aspect-ratio:1;right:-6%;top:50%;border-radius:50%;border:1px solid #aa805655;box-shadow:0 0 0 49px #ad845709,0 0 0 50px #ab7f543a,0 0 0 102px #ad845706,0 0 0 103px #ab7f5422;will-change:transform}
.place-orbit::before{content:"";position:absolute;inset:18%;border:1px dashed #ab805745;border-radius:50%}
.place-card{position:absolute;z-index:3;right:clamp(30px,10vw,190px);top:50%;width:clamp(180px,29vw,345px);aspect-ratio:1/1.1;background:linear-gradient(139deg,#5d263f,#2d0b20);border:1px solid #ddae7f;border-radius:46% 46% 16px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 28px 48px #48162934;will-change:transform}
.place-card::before{content:"";position:absolute;inset:10px;border:1px solid #d9aa7866;border-radius:45% 45% 11px 11px}
.place-card svg{width:58px;stroke:#f6d3a6;stroke-width:1.2;fill:none;filter:drop-shadow(0 5px 13px #f0c18b4d)}
.place-card span{font:italic 500 clamp(23px,3vw,34px) var(--serif);color:#f6dcaf;margin-top:20px}
.place-text{position:absolute;z-index:4;left:clamp(30px,10vw,160px);top:50%;width:min(44%,560px);transform:translateY(-50%)}
.place-text .kicker{color:#a1744d}.place-heading{font:italic 500 clamp(60px,8.5vw,121px)/.87 var(--serif);letter-spacing:-.06em;margin:23px 0 29px;color:#4e1830}
.place-address{font:500 clamp(22px,2.9vw,37px)/1.21 var(--serif);margin:0 0 30px;color:#714c47}
.place-address small{display:block;font-size:.73em;margin-top:6px;color:#8b6c5b}
.pill{display:inline-flex;gap:15px;align-items:center;justify-content:center;min-height:46px;padding:13px 24px;border:1px solid #b78b63;border-radius:50px;text-decoration:none;font:700 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;transition:transform .25s,box-shadow .25s,background .25s;white-space:nowrap}
.pill:hover{transform:translateY(-3px);box-shadow:0 14px 30px #10020c22}.pill-dark{color:#fff4df;background:#46172e;border-color:#46172e}.pill-light{color:#f9e6c5;background:#4d1934b0}
.chapter-memory{height:185vh;height:185svh;background:#170713}
.memory-pin{background:radial-gradient(ellipse at 69% 41%,#4f223a 0%,#250c1d 55%,#140611 100%)}
.memory-arcs{position:absolute;z-index:0;width:min(82vw,830px);aspect-ratio:1;top:50%;left:63%;border:1px solid #efc58c38;border-radius:50%;box-shadow:0 0 0 35px #e4ae6709,0 0 0 36px #efc58c2b,0 0 0 77px #e4ae6706,0 0 0 78px #efc58c15;will-change:transform}
.memory-photo-wrap{position:absolute;z-index:2;top:50%;left:67%;margin:0;width:clamp(245px,33vw,455px);height:min(66vh,575px);border-radius:48% 48% 8px 8px;background:#af7e60;overflow:hidden;border:2px solid #e0b884;box-shadow:0 24px 80px #090307a6;will-change:transform,clip-path}
.memory-photo-wrap::after{content:"";position:absolute;inset:11px;border:1px solid #fff0cb91;border-radius:48% 48% 6px 6px;pointer-events:none}
.memory-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;display:block}
.memory-text{position:absolute;z-index:4;top:50%;left:clamp(28px,10vw,160px);width:40%;will-change:transform,opacity}
.memory-text .kicker{color:#dcb785}
.memory-title{font:italic 500 clamp(58px,8.6vw,123px)/.87 var(--serif);letter-spacing:-.056em;margin:27px 0 26px;color:#fff3e5}
.memory-title em{color:#e7b979;font-style:italic}
.memory-caption{font:italic 500 clamp(20px,2.4vw,29px)/1.13 var(--serif);color:#d7b7a4;max-width:370px;margin:0}
.chapter-finale{min-height:100vh;min-height:100svh;padding:110px clamp(26px,5vw,70px) 48px;background:radial-gradient(ellipse at 50% 23%,#5b243f 0%,#310f25 48%,#170713 100%);display:flex;align-items:center;justify-content:center;position:relative;text-align:center}
.finale-pattern{position:absolute;inset:0;overflow:hidden;pointer-events:none}.finale-pattern::before{content:'✦';position:absolute;top:50%;left:50%;font:500 min(82vw,880px)/1 var(--serif);color:#e6b6750b;transform:translate(-50%,-50%) rotate(20deg)}
.finale-halo{position:absolute;top:13%;left:50%;transform:translateX(-50%);width:min(78vw,650px);aspect-ratio:1;border:1px solid #f1c99236;border-radius:50%;box-shadow:0 0 0 32px #d9ae6a09,0 0 0 33px #f1c99220;pointer-events:none}
.finale-content{position:relative;z-index:3;max-width:800px;width:100%}.finale-content .kicker{color:#f0c98c}
.finale-title{font:italic 500 clamp(69px,10.5vw,136px)/.85 var(--serif);letter-spacing:-.06em;margin:29px 0 28px}.finale-title span{display:block;color:#e9bb7c}
.finale-divider{width:185px;height:1px;background:linear-gradient(90deg,transparent,#eac58c,transparent);margin:31px auto}
#countdown{font:700 11px/1.8 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#eacda5;min-height:1.9em}
.finale-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:32px auto 18px}.finale-actions .pill{min-width:175px;background:linear-gradient(110deg,#ebc78d,#fbe0b2);color:#4e1930;border-color:transparent;box-shadow:0 7px 30px #10020b34}.finale-actions .pill.outline{color:#ffe8bb;background:transparent;border:1px solid #e0b9839c;box-shadow:none}
.finale-replay{font:600 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#d2ad7c;background:transparent;border:0;margin:8px auto 25px;padding:10px 20px}
.finale-foot{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#c59d7a9c;margin:27px 0 0}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:150;max-width:calc(100vw - 40px);color:#42192a;background:#fff2da;border:1px solid #bd9668;box-shadow:0 12px 30px #0004;border-radius:30px;padding:13px 21px;font:600 12px/1.4 var(--sans);text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){
 #siteHead{padding:21px 20px}#siteHead .logo{font-size:21px}#navDots{right:8px;gap:6px}.nav-dot{padding:6px}.nav-dot::after{width:5px;height:5px}
 .hero-pin::before{background-size:75px 100%}.hero-velvet{width:22%}.hero-rings{width:72vw}.hero-core{padding:60px 40px 65px}.hero-number{font-size:clamp(154px,29vh,220px)}.hero-name{font-size:clamp(65px,13.6vw,92px)}.hero-sub{font-size:clamp(36px,7.9vw,55px)}.hero-caption{max-width:265px;margin:auto}.hero-scroll{bottom:14px}.corner-index{display:none}
 .letter-content{padding:80px 38px 40px}.letter-heading{font-size:clamp(62px,14vw,104px)}.letter-heading span:nth-child(2){padding-left:5px}.letter-heading span:nth-child(3){padding-right:4px}.letter-message{font-size:clamp(20px,5.4vw,27px);max-width:330px}.letter-foil{font-size:10px;left:10%;bottom:5%}
 .when-eyebrow{top:14%;left:34px}.when-title{top:19%;left:30px;font-size:clamp(55px,11vw,76px)}.when-giant{font-size:55vw;right:-22%;top:6%}.when-viewport{height:41vh;top:50.5%}.when-track{padding:0 9vw;gap:13px}.when-card{flex-basis:78vw;border-radius:20px;padding:24px}.card-word{font-size:clamp(72px,16vw,115px)}.card-day{font-size:min(33vh,74vw)}.card-month{font-size:clamp(53px,12.8vw,85px)}.card-year{font-size:clamp(61px,13vw,83px)}.card-time{font-size:clamp(79px,18vw,118px)}.when-bottom{left:34px;right:42px;bottom:10%}.when-bottom span{font-size:8px;letter-spacing:.16em}
 .place-text{width:calc(100% - 75px);left:32px;top:clamp(110px,16%,160px);transform:none}.place-heading{font-size:clamp(68px,15vw,100px);margin:16px 0 13px}.place-address{font-size:clamp(23px,5vw,31px);margin-bottom:19px}.place-orbit{width:100vw;top:60%;right:-33%}.place-card{width:clamp(164px,42vw,260px);top:68%;right:12%;}.place-card svg{width:48px}.place-card span{font-size:22px;margin-top:13px}.place-text .pill{margin-top:2px}
 .memory-photo-wrap{width:min(63vw,315px);height:43vh;left:50%;top:clamp(368px,68%,580px)}.memory-text{top:clamp(106px,15%,150px);left:32px;width:calc(100% - 72px)}.memory-title{font-size:clamp(61px,13vw,93px);margin:15px 0 12px;max-width:500px}.memory-caption{font-size:clamp(18px,4.5vw,24px);max-width:340px}.memory-arcs{left:50%;top:64%;width:110vw}
 .chapter-finale{padding:95px 38px 40px}.finale-title{font-size:clamp(66px,13.8vw,103px)}.finale-halo{width:90vw;top:22%}.finale-actions{display:flex;flex-direction:column;align-items:stretch;max-width:270px;margin:29px auto 15px}.finale-actions .pill{width:100%;min-height:49px}.finale-foot{font-size:9px;line-height:1.7}
}
@media(max-height:670px){
 .hero-core{padding-top:58px;padding-bottom:40px}.hero-number{font-size:min(27vh,160px)}.hero-name{margin-top:9px;font-size:min(11vw,73px)}.hero-sub{font-size:min(7.5vw,40px)}.hero-line{margin:16px auto 12px}.hero-caption{font-size:15px}.hero-scroll{bottom:8px}.letter-heading{font-size:min(12vw,80px)}.letter-content .kicker{margin-bottom:15px}.letter-thread{margin:20px auto}.letter-message{font-size:20px}.when-eyebrow{top:12%}.when-title{top:17%}.when-viewport{height:43vh;top:54%}.when-bottom{bottom:7%}.place-text{top:14%}.place-heading{font-size:min(12vw,74px);margin:10px 0}.place-address{font-size:22px;margin-bottom:12px}.place-card{top:70%;width:min(35vw,175px)}.memory-text{top:15%}.memory-title{font-size:min(11vw,72px)}.memory-photo-wrap{top:64%;height:41vh}.finale-title{font-size:min(10vw,75px)}.finale-divider{margin:16px auto}.finale-actions{margin:15px auto}
}
@media(max-width:350px){.hero-core{padding-left:25px;padding-right:25px}.hero-name{font-size:60px}.place-heading{font-size:60px}.place-card{right:7%}.memory-title{font-size:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.spark,.hero-scroll i{animation:none!important}.hero-rings,.hero-core,.hero-number,.hero-velvet,.letter-sun,.letter-sculpture,.letter-heading span,.when-track,.when-card,.place-grid,.place-orbit,.place-card,.memory-arcs,.memory-photo-wrap,.memory-text{will-change:auto!important}}

/* WordPress can display the administration bar for logged-in visitors. */
html { scroll-padding-top: 0 !important; }
body.danusa-invitation { background: var(--dark); }
body.admin-bar #siteHead { top: 32px; }
@media (max-width: 782px) { body.admin-bar #siteHead { top: 46px; } }
