:root {
  --bg:#fff8f0; --paper:#fffdf9; --ink:#38252a; --muted:#806c72;
  --rose:#dc4267; --rose2:#f0738f; --pink:#ffe1e7; --peach:#ffd8c2;
  --line:rgba(70,38,47,.12); --shadow:0 24px 70px rgba(104,54,68,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;overflow-x:hidden;color:var(--ink);background:linear-gradient(145deg,#fffaf3 0%,#fff4ed 48%,#fce7e9 100%);font-family:"DM Sans",sans-serif}
button,textarea{font:inherit} button{color:inherit}
.noise{position:fixed;z-index:10;inset:0;pointer-events:none;opacity:.18;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}
.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(35px);opacity:.42}.orb-one{width:34vw;height:34vw;right:-14vw;top:-15vw;background:#ffc8b9}.orb-two{width:30vw;height:30vw;left:-13vw;bottom:-13vw;background:#f8cbd7}.floating-heart{position:absolute;color:rgba(220,66,103,.11);font-size:clamp(3rem,8vw,7rem);animation:float 7s ease-in-out infinite}.floating-heart:nth-child(3){left:7%;top:27%;transform:rotate(-15deg)}.floating-heart:nth-child(4){right:8%;bottom:17%;animation-delay:-2s}.floating-heart:nth-child(5){left:52%;top:9%;font-size:2rem;animation-delay:-4s}

/* Morning opening */
.morning-screen{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:24px;overflow:auto;color:var(--ink);background:linear-gradient(160deg,#fffaf0,#ffe8dd 55%,#fbd2dc);transition:opacity .75s,visibility .75s}.morning-screen.dismissed{opacity:0;visibility:hidden;pointer-events:none}.sunrise{position:absolute;inset:0;overflow:hidden;pointer-events:none}.sunrise:before{content:"";position:absolute;width:min(760px,85vw);aspect-ratio:1;left:50%;top:-48%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#ffd982 0%,rgba(255,183,132,.42) 46%,transparent 70%)}.sunrise span{position:absolute;left:8%;top:12%;color:rgba(210,70,95,.12);font-size:5rem;animation:float 6s ease-in-out infinite}.morning-letter{position:relative;width:min(670px,100%);padding:clamp(30px,6vw,62px);border:1px solid rgba(255,255,255,.9);border-radius:32px;background:rgba(255,253,248,.78);backdrop-filter:blur(18px);box-shadow:0 35px 100px rgba(112,55,68,.18);text-align:center}.morning-date,.eyebrow{margin:0 0 15px;color:var(--rose);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.morning-letter h1{margin:0;color:var(--ink);font:600 clamp(3.2rem,9vw,6.3rem)/.9 "Playfair Display",serif;letter-spacing:-.05em}.morning-letter h1 em{color:var(--rose)}.morning-copy{max-width:510px;margin:26px auto;color:#775f67;line-height:1.7}.morning-copy strong{color:#4b3038}.morning-open,.primary{border:0;border-radius:999px;color:white;background:linear-gradient(135deg,var(--rose2),#c92f59);box-shadow:0 13px 28px rgba(201,47,89,.25);cursor:pointer;transition:transform .2s,box-shadow .2s}.morning-open{padding:16px 24px;font-weight:700}.morning-open:hover,.primary:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(201,47,89,.32)}

/* Navigation */
.topbar{position:fixed;z-index:30;top:14px;left:50%;width:min(1120px,calc(100% - 28px));min-height:66px;padding:10px 12px 10px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:rgba(255,252,247,.76);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(83,43,55,.09);transform:translateX(-50%)}.brand{font:600 1rem "Playfair Display",serif}.brand span{color:var(--rose);font-style:italic}.top-actions{display:flex;align-items:center;gap:8px}.nav-back{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:white;cursor:pointer;opacity:0;pointer-events:none;transition:.2s}.nav-back.visible{opacity:1;pointer-events:auto}.sound-toggle{border:0;background:transparent;color:var(--muted);font-size:.7rem;cursor:pointer}.sound-toggle.on{color:var(--rose)}.countdown-pill{min-width:185px;padding:8px 13px;display:flex;flex-direction:column;align-items:flex-start;border:0;border-radius:13px;color:white;background:linear-gradient(135deg,#df456b,#f47b8f);box-shadow:0 8px 20px rgba(208,55,91,.2);cursor:pointer}.countdown-label{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;opacity:.84}.countdown-pill strong{margin-top:2px;font-size:.82rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.progress-wrap{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.65rem;letter-spacing:.08em}.progress{width:68px;height:3px;overflow:hidden;border-radius:99px;background:#eadde0}.progress span{display:block;width:8%;height:100%;background:var(--rose);transition:width .5s}

/* Story foundation */
main{position:relative;z-index:2;min-height:100vh}.page{display:none;width:min(1120px,100%);min-height:100vh;margin:auto;padding:110px clamp(24px,6vw,76px) 54px;align-items:center;justify-content:center;animation:pageIn .55s cubic-bezier(.2,.8,.2,1)}.page.active{display:flex}.page:first-of-type{justify-content:space-between;gap:7vw}.hero-copy{width:min(570px,100%)}h1,h2{margin:0;font-family:"Playfair Display",serif;font-weight:600;line-height:1;letter-spacing:-.045em}h1{font-size:clamp(4.5rem,11vw,9rem)}h2{font-size:clamp(2.6rem,5.5vw,4.8rem)}.period{color:var(--rose)}.lede{max-width:530px;margin:26px 0;color:var(--muted);font-size:clamp(1rem,2vw,1.12rem);line-height:1.72}.tiny{margin-top:13px;color:#a48f95;font-size:.72rem}.primary,.secondary{padding:14px 21px}.primary span{margin-left:8px}.secondary{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.45);cursor:pointer;transition:.2s}.secondary:hover{border-color:var(--rose);color:var(--rose)}.hidden{opacity:0;pointer-events:none;transform:translateY(7px)}
.envelope{position:relative;flex:0 0 auto;width:clamp(250px,32vw,390px);aspect-ratio:1.35;overflow:hidden;border:0;border-radius:8px;background:#dd647d;box-shadow:0 28px 70px rgba(147,48,74,.24);cursor:pointer;transform:rotate(3deg);transition:.35s}.envelope:hover{transform:rotate(0) scale(1.025)}.envelope:before,.envelope:after{content:"";position:absolute;bottom:0;width:72%;height:100%;background:#d95773}.envelope:before{left:0;clip-path:polygon(0 25%,100% 100%,0 100%)}.envelope:after{right:0;clip-path:polygon(100% 25%,0 100%,100% 100%)}.flap{position:absolute;z-index:3;inset:0;background:#ed8495;clip-path:polygon(0 0,100% 0,50% 63%)}.letter{position:absolute;z-index:2;left:10%;right:10%;top:12%;height:76%;padding-top:28%;color:var(--ink);background:#fffdf8;font:1.1rem/1.5 "Playfair Display",serif;transition:.4s}.letter strong{font-size:1.4rem}.letter small{display:block;color:var(--rose)}.envelope:hover .letter{transform:translateY(-22%)}
.card{position:relative;width:min(780px,100%);padding:clamp(30px,6vw,64px);border:1px solid rgba(255,255,255,.94);border-radius:28px;background:rgba(255,253,249,.8);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.card h2{font-size:clamp(2.25rem,4.5vw,3.8rem);line-height:1.08}.card>p:not(.eyebrow){color:var(--muted);line-height:1.72}.signature{margin:22px 0;color:var(--rose);font:italic 1.35rem "Playfair Display",serif}.center-heading,.name-intro{text-align:center;margin-bottom:30px}.center-heading>p:last-child,.name-intro>p:last-child{color:var(--muted)}

/* Cards and choices */
.page[data-page="2"],.page[data-page="5"],.name-page,.open-when-page{flex-direction:column}.reasons{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.reason-card{min-height:225px;padding:25px;text-align:left;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.65);box-shadow:0 12px 30px rgba(100,52,65,.07);cursor:pointer;transition:.3s}.reason-card:hover{transform:translateY(-5px)}.reason-card.revealed{color:white;background:linear-gradient(145deg,#d64368,#9f274b)}.number{display:block;margin-bottom:65px;color:var(--rose);font-size:.68rem;letter-spacing:.15em}.front{font:1.6rem "Playfair Display",serif}.back{display:none;color:#ffe8ee;line-height:1.55}.revealed .front{display:none}.revealed .back{display:block}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 16px}.choices button{padding:17px;display:grid;grid-template-columns:30px 1fr;gap:2px 8px;text-align:left;border:1px solid var(--line);border-radius:15px;background:white;cursor:pointer;transition:.2s}.choices button small{grid-column:2;color:var(--muted)}.choices button:hover,.choices button.selected,.this-or-that button.selected,.future-grid button.selected{border-color:var(--rose);background:#fff0f3;transform:translateY(-2px)}.choice-result{min-height:26px;color:var(--rose)!important;font-weight:600}.this-or-that{display:grid;gap:10px;margin:24px 0 17px}.this-or-that>div{padding:9px;display:grid;grid-template-columns:1.05fr 1fr 1fr;align-items:center;gap:7px;border:1px solid var(--line);border-radius:15px;background:#fffaf7}.this-or-that>div>span{padding-left:7px;color:var(--muted);font-size:.8rem}.this-or-that button{min-height:46px;padding:8px;border:1px solid transparent;border-radius:11px;background:white;cursor:pointer}
.future-heading{margin-bottom:22px}.future-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:24px}.future-grid button{position:relative;min-height:255px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 12px 32px rgba(95,50,62,.07);cursor:pointer;transition:.25s}.future-grid button:after{content:"";position:absolute;width:130px;height:130px;right:-45px;top:-45px;border-radius:50%;background:var(--pink)}.future-grid button>span{position:absolute;z-index:2;left:22px;top:22px;font-size:3rem}.future-grid strong{margin-bottom:7px;font:1.3rem "Playfair Display",serif}.future-grid small{color:var(--muted);line-height:1.4}

/* Games and emotional chapters */
.heart-game-card,.unlock-card{text-align:center}.heart-arena{position:relative;height:min(330px,42vh);min-height:255px;margin:22px 0 10px;overflow:hidden;border:1px dashed rgba(220,66,103,.4);border-radius:22px;background:radial-gradient(circle,#fff 0,#fff1f2 100%)}.catch-heart{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border:0;border-radius:50%;color:white;background:var(--rose);box-shadow:0 10px 25px rgba(220,66,103,.32);font-size:1.3rem;cursor:pointer;animation:heartbeat 1s infinite;transition:left .18s,top .18s,transform .18s}.catch-heart.caught{transform:scale(1.6);opacity:.2}.heart-score{position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:99px;color:var(--rose);background:white;font-size:.72rem;font-weight:700}.hold-heart{position:relative;width:126px;height:126px;margin:22px auto;display:grid;place-items:center;overflow:hidden;border:0;border-radius:50%;color:white;background:var(--ink);box-shadow:0 17px 35px rgba(56,37,42,.2);cursor:pointer}.hold-heart span{position:relative;z-index:2;font-size:2.3rem;animation:heartbeat 1s infinite}.hold-heart i{position:absolute;left:0;bottom:0;width:100%;height:0;background:var(--rose)}.secret-message{max-height:0;opacity:0;overflow:hidden;transition:.6s}.secret-message.open{max-height:150px;opacity:1;margin:16px 0 22px}.secret-message small{display:block;margin-bottom:7px;color:var(--rose);font-size:.65rem;letter-spacing:.17em}.secret-message strong{font:1.35rem/1.4 "Playfair Display",serif}
.name-acrostic{width:min(980px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.name-acrostic button{min-height:145px;padding:17px;display:flex;align-items:center;gap:13px;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.68);cursor:pointer;transition:.25s}.name-acrostic b{flex:0 0 40px;color:var(--rose);font:3.2rem/.9 "Playfair Display",serif}.name-acrostic span{display:flex;flex-direction:column;opacity:0;transform:translateX(80px);transition:.35s}.name-acrostic small{margin-top:5px;color:var(--muted);line-height:1.35}.name-acrostic button.revealed{grid-column:span 2;background:#fff0f3;border-color:#eb8da3}.name-acrostic button.revealed span{opacity:1;transform:none}
.open-when-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.open-when-grid button{min-height:230px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(95,50,62,.06);cursor:pointer;transition:.3s}.open-when-grid button:hover{transform:translateY(-4px)}.mini-envelope{margin-bottom:auto;font-size:2.2rem}.open-when-grid strong{font:1.2rem "Playfair Display",serif}.open-when-grid small{display:none;margin-top:10px;color:#7e5360;line-height:1.5}.open-when-grid button.opened{grid-column:span 2;background:#ffecef;border-color:#e7839b}.open-when-grid button.opened small{display:block}.open-counter{margin:16px 0;color:var(--muted);font-size:.75rem}
.bouquet-page{justify-content:space-between;gap:7vw}.bouquet-copy{width:min(490px,100%)}.bouquet-copy>p:not(.eyebrow){color:var(--muted);line-height:1.65}.bouquet-reasons{min-height:56px;margin:22px 0;padding:14px 17px;border-left:2px solid var(--rose);background:rgba(255,255,255,.5);color:#6f4450;font:italic 1.02rem/1.5 "Playfair Display",serif}.flower-garden{position:relative;flex:0 0 min(420px,45vw);height:min(500px,61vh);min-height:380px;overflow:hidden;border:1px solid var(--line);border-radius:48% 48% 22px 22px;background:radial-gradient(circle at 50% 78%,rgba(101,160,105,.25),transparent 37%),linear-gradient(#fffaf5,#fde8e8);cursor:pointer}.garden-hint{position:absolute;z-index:4;inset:0;display:grid;place-content:center;color:var(--muted);font-size:.68rem;line-height:1.8;letter-spacing:.14em;text-transform:uppercase;transition:.3s}.stems{position:absolute;inset:0;pointer-events:none}.flower{position:absolute;z-index:2;bottom:42px;left:var(--x);width:4px;height:var(--h);border-radius:99px;background:linear-gradient(#72aa76,#376843);transform-origin:bottom;animation:growFlower .65s cubic-bezier(.2,.9,.3,1.2) both}.flower:before{content:attr(data-flower);position:absolute;left:50%;top:-25px;transform:translateX(-50%);font-size:var(--size)}.flower:after{content:"";position:absolute;left:2px;top:48%;width:23px;height:11px;border-radius:100% 0;background:#598d60;transform:rotate(-20deg)}

/* Proposal and yes */
.promise-card{overflow:hidden}.big-quote{position:absolute;z-index:-1;right:34px;top:0;color:var(--pink);font:9rem/1 "Playfair Display",serif}.promise-list{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0}.promise-list span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:.78rem}.proposal-page{flex-direction:column;text-align:center;overflow:hidden}.proposal-copy{max-width:760px}.proposal-copy h2{color:var(--rose);font-size:clamp(3.8rem,9vw,7.8rem)}.proposal-copy>p:last-child{max-width:590px;margin:22px auto;color:var(--muted);line-height:1.65}.proposal-actions{position:relative;width:min(520px,100%);min-height:140px;display:flex;align-items:center;justify-content:center;gap:17px}.yes-button,.no-button{border-radius:999px;cursor:pointer}.yes-button{position:relative;z-index:2;padding:17px 28px;border:0;color:white;background:linear-gradient(135deg,var(--rose2),#c92f59);box-shadow:0 15px 35px rgba(201,47,89,.28);font-size:1.05rem;font-weight:700;transition:.3s}.no-button{max-width:min(270px,72vw);padding:12px 20px;border:1px solid var(--line);background:white;color:var(--muted);line-height:1.2;touch-action:none;user-select:none;transition:left .12s,top .12s,transform .2s}.no-caption{min-height:18px;color:var(--muted);font-size:.73rem}
.promise-ceremony{flex-direction:column;padding-bottom:68px}.promise-ceremony-heading{max-width:700px;margin-bottom:25px;text-align:center}.promise-ceremony-heading h2{color:var(--rose);font-size:clamp(3rem,7vw,5.8rem)}.promise-ceremony-heading>p:last-child{color:var(--muted)}.ten-promises{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:25px}.ten-promises article{min-height:112px;padding:19px;display:grid;grid-template-columns:40px 1fr;gap:12px;opacity:0;transform:translateY(18px);border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.68);transition:.5s}.ten-promises article.shown{opacity:1;transform:none}.ten-promises article span{color:var(--rose);font-size:.63rem;letter-spacing:.12em}.ten-promises article p{margin:0;color:var(--muted);line-height:1.5}.ten-promises article strong{color:var(--ink)}
.finale{flex-direction:column;text-align:center}.finale h2{color:var(--rose);font-size:clamp(3.5rem,8vw,6.8rem)}.finale>p:not(.eyebrow):not(.final-note){font:italic 1.4rem "Playfair Display",serif}.final-heart{color:var(--rose);font-size:4.6rem;animation:heartbeat 1s infinite}.date-ticket{width:min(470px,100%);margin:20px 0;padding:20px;display:flex;flex-direction:column;gap:7px;border:1px dashed var(--rose);border-radius:17px;background:rgba(255,255,255,.6)}.date-ticket span,.our-story-receipt span{color:var(--rose);font-size:.58rem;letter-spacing:.17em}.date-ticket strong{font:1.3rem "Playfair Display",serif}.date-ticket small,.final-note{color:var(--muted)}.our-story-receipt{width:min(620px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:7px 0 20px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line)}.our-story-receipt div{padding:14px;display:flex;flex-direction:column;gap:6px;background:#fffaf7}.our-story-receipt strong{font:.93rem/1.35 "Playfair Display",serif}.final-note{max-width:540px;line-height:1.65}.reply-card{width:min(610px,100%);margin:7px 0 17px;padding:19px;text-align:left;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.65)}.reply-card label{display:block;margin-bottom:9px;font:1.05rem "Playfair Display",serif}.reply-card textarea,.planner-group textarea{width:100%;min-height:92px;padding:12px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);outline:none;resize:vertical}.reply-card textarea:focus,.planner-group textarea:focus{border-color:var(--rose)}.reply-card .primary{margin-top:9px;padding:11px 16px;font-size:.8rem}.reply-card p{min-height:17px;margin:8px 0 0;color:var(--rose);font-size:.73rem}.final-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:4px 0 11px}

/* Date planner */
.planner-overlay{position:fixed;z-index:100;inset:0;padding:18px;display:grid;place-items:center;opacity:0;pointer-events:none;background:rgba(55,31,38,.55);backdrop-filter:blur(8px);transition:.25s}.planner-overlay.open{opacity:1;pointer-events:auto}.planner-modal{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;padding:clamp(27px,5vw,46px);border:1px solid white;border-radius:27px;background:#fffaf5;box-shadow:0 35px 100px rgba(55,31,38,.3);transform:translateY(14px) scale(.98);transition:.25s}.planner-overlay.open .planner-modal{transform:none}.planner-modal h2{font-size:clamp(2.2rem,5vw,3.6rem)}.planner-close{position:absolute;right:17px;top:15px;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:white;cursor:pointer;font-size:1.3rem}.planner-intro{color:var(--muted);line-height:1.55}.planner-group{margin-top:20px}.planner-group>label{display:block;margin-bottom:8px;font-size:.74rem;font-weight:700}.planner-options{display:flex;flex-wrap:wrap;gap:7px}.planner-options button{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:white;cursor:pointer}.planner-options button.selected{color:var(--rose);border-color:var(--rose);background:#fff0f3}.planner-summary{margin:18px 0 13px;padding:13px;border-left:3px solid var(--rose);background:#ffedf1;color:var(--muted);font-size:.82rem;line-height:1.5}.planner-actions{display:flex;flex-wrap:wrap;gap:8px}body.modal-open{overflow:hidden}

#confetti{position:fixed;z-index:200;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-20px;width:10px;height:16px;animation:fall var(--duration) linear forwards}
@keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-20px) rotate(7deg)}}@keyframes heartbeat{50%{transform:scale(1.15)}}@keyframes fall{to{transform:translate3d(var(--drift),105vh,0) rotate(720deg)}}@keyframes growFlower{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1) rotate(var(--tilt))}}

@media(max-width:760px){
  .topbar{top:8px;width:calc(100% - 16px);min-height:62px;padding:8px 9px 8px 12px;border-radius:17px}.brand{font-size:.85rem}.top-actions{gap:5px}.sound-toggle span,.progress-wrap{display:none}.countdown-pill{min-width:151px;padding:7px 10px}.countdown-label{font-size:.46rem}.countdown-pill strong{font-size:.68rem}
  .page{padding:94px 20px 42px}.page:first-of-type{flex-direction:column;justify-content:center;gap:34px;text-align:center}.hero-copy{display:flex;flex-direction:column;align-items:center}.envelope{width:min(280px,78vw)}
  .reasons{grid-template-columns:1fr}.reason-card{min-height:135px}.number{margin-bottom:22px}.choices{grid-template-columns:1fr}.this-or-that>div{grid-template-columns:1fr 1fr}.this-or-that>div>span{grid-column:1/-1}.future-grid{grid-template-columns:1fr 1fr}.future-grid button{min-height:195px;padding:17px}.future-grid button>span{left:17px;top:17px}
  .name-acrostic{grid-template-columns:1fr 1fr}.name-acrostic button.revealed{grid-column:span 2}.open-when-grid{grid-template-columns:1fr 1fr}.open-when-grid button{min-height:175px}.open-when-grid button.opened{grid-column:span 2}.bouquet-page{flex-direction:column}.bouquet-copy{text-align:center}.flower-garden{flex-basis:auto;width:min(370px,100%);height:360px;min-height:360px}.ten-promises{grid-template-columns:1fr}.our-story-receipt{grid-template-columns:1fr}
}
@media(max-width:480px){
  .brand{display:none}.topbar{justify-content:flex-end}.countdown-pill{order:-1;margin-right:auto}.morning-screen{padding:12px}.morning-letter{padding:27px 19px;border-radius:23px}.morning-copy{margin:20px auto;font-size:.89rem}
  .future-grid,.open-when-grid{grid-template-columns:1fr}.future-grid button{min-height:145px}.future-grid button>span{font-size:2.2rem}.name-acrostic button{min-height:90px;padding:11px}.name-acrostic b{font-size:2.4rem}.name-acrostic button.revealed{min-height:135px}.open-when-grid button,.open-when-grid button.opened{grid-column:auto;min-height:130px}.card{padding:27px 20px;border-radius:22px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
