@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&family=Caveat:wght@500;600;700&display=swap');

:root{--paper:#f8f5ed;--ink:#344b3b;--body:#566052;--muted:#75796a;--line:#d9dcce;--sage:#e8ebdd;--peach:#f2d6c1;--cream:#fffdf6;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Caveat','Segoe Print',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' 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' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b27648;outline-offset:5px}.wrap{max-width:1120px;margin-inline:auto;width:calc(100% - 96px)}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-family:var(--serif);font-size:25px;letter-spacing:-.6px}.mini-cat{font-family:serif;font-size:31px;margin-right:10px}.brand-dot{color:#bd8055}.header-right{display:flex;align-items:center;gap:20px}.edition,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.edition{font-size:9px;letter-spacing:1.8px}.motion-toggle{border:1px solid #d3d7c8;background:transparent;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;line-height:1;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding-block:65px 68px;min-height:650px}.hero .eyebrow{display:flex;gap:10px;align-items:center}.tiny-star{font-size:21px;color:#9b6748}h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,5.5vw,76px);letter-spacing:-2.5px;line-height:1.08;margin:21px 0 0}h1 em{font-weight:400;color:#7e8c68}h2,h3,p{margin-top:0}.handwritten{font-family:var(--hand);font-weight:500}.hero-aside{font-size:28px;transform:rotate(-3deg);margin:15px 0 27px 3px;color:#a06f4a}.intro{font-size:15px;line-height:1.85;color:var(--body);margin-bottom:27px}.button{border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:15px 24px;text-decoration:none;font-size:13px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;line-height:1.3;min-height:49px}.button:hover:not(:disabled){transform:translateY(-2px)}.primary{background:var(--ink);color:#fffdf3;box-shadow:0 4px 0 #273d3020}.primary:hover:not(:disabled){background:#46634c}.primary:disabled{background:#dce0d1;box-shadow:none;color:#626957;border-color:#c9cfbb}.secondary{background:transparent;border-color:#bfc6b3;color:var(--ink)}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;padding:10px;font-size:12px}.micro-note{font-size:10px;margin:12px 0 0;color:var(--muted)}.hero-art{height:450px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:10px}.hero-art:before{content:'';position:absolute;width:395px;height:357px;background:#e9ecde;border-radius:49% 51% 46% 54% / 55% 47% 53% 45%;top:65px;left:calc(50% - 198px);transform:rotate(-9deg)}.floating-note{position:absolute;right:1px;top:0;font-size:25px;line-height:1.1;transform:rotate(7deg);z-index:2;color:#65714f}.curved-arrow{position:absolute;width:90px;height:70px;right:17px;top:64px;fill:none;stroke:#899575;stroke-width:1.5;stroke-linecap:round;transform:rotate(15deg)}.scribble{position:absolute;z-index:3;font-family:Georgia,serif}.star-one{font-size:40px;left:15px;top:104px;transform:rotate(12deg);color:#ad8056}.star-two{font-size:24px;right:-5px;bottom:120px;color:#6c805a}.cat-scene{border:none;background:none;position:relative;width:390px;height:340px;margin-top:40px;padding:0;transform:rotate(-4deg);transition:transform .25s}.cat-scene:hover{transform:rotate(-2deg) translateY(-3px)}.scene-art{position:absolute;width:390px;height:310px;top:-39px;left:0;display:block}.scene-art svg{height:100%;width:100%;overflow:visible}.envelope{position:absolute;left:39px;right:27px;top:135px;height:174px;background:#efe1c5;border:2px solid #ab9978;box-shadow:6px 9px 0 #6d735019;border-radius:3px;display:flex;align-items:flex-start;flex-direction:column;padding:38px 30px 20px;overflow:hidden}.envelope:before{content:'';position:absolute;left:25px;top:-124px;width:268px;height:165px;border:1px solid #bfac89;transform:rotate(29deg) skew(-30deg);background:#f5e8cd}.envelope:after{content:'';position:absolute;right:-75px;bottom:-151px;width:270px;height:230px;border:1px solid #cbb795;transform:rotate(-37deg);pointer-events:none}.envelope-small{font-size:7px;font-weight:700;letter-spacing:2px;color:#796d55;z-index:1}.envelope-name{font:36px var(--hand);color:#4b5942;z-index:1}.envelope-bottom{font-size:8px;z-index:1;color:#7d745e;margin-top:10px}.stamp{position:absolute;right:20px;top:39px;width:38px;height:45px;border:1px dashed #778968;background:#d6ddc2;color:#6c7e5f;font:17px Georgia,serif;display:grid;place-content:center;line-height:1.05;transform:rotate(8deg)}.cat-caption{position:absolute;bottom:7px;text-align:center;font:18px var(--hand);color:#7d7f6c;transform:rotate(-3deg);min-height:29px}.sticker-note{position:absolute;bottom:62px;right:-6px;border:2px solid white;background:#e6bfa4;padding:9px 14px;border-radius:5px;transform:rotate(7deg);font-size:10px;box-shadow:2px 4px 0 #5d5b4112}.sticker-note span{padding-right:6px}.chapter-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:21px}.chapter-strip>.handwritten{font-size:24px;color:#7c806b}.chapter-strip>div{display:flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.3px}.strip-arrow{font-size:29px;color:#999e83;line-height:1}.strip-spark{font-size:28px;color:#97a282}.planner{padding-top:61px;padding-bottom:60px;scroll-margin-top:25px}.planner-topline{display:flex;justify-content:space-between;align-items:center}.page-number{font-size:10px;letter-spacing:2px;color:#888d78}.steps{display:flex;align-items:center;max-width:650px;margin-top:28px;margin-bottom:43px;gap:16px}.step{border:0;background:none;padding:0;display:flex;align-items:center;gap:9px;font-size:11px;white-space:nowrap;color:#777f6e}.step span{border:1px solid #bfc6b3;border-radius:50%;height:27px;width:27px;display:grid;place-items:center;font-size:9px}.step.current{color:var(--ink);font-weight:700}.step.current span{background:var(--ink);color:#fffdf6;border-color:var(--ink)}.step.done span{background:#e2e8d5}.step:disabled{color:#919784}.step-line{height:1px;background:#cfd5c3;flex:1;min-width:15px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;gap:20px}h2{font-family:var(--serif);font-size:42px;line-height:1.15;font-weight:400;letter-spacing:-.8px;margin-bottom:10px}.section-subtitle{font-size:13px;color:#737a67;line-height:1.7;margin-bottom:0}.section-aside{font-family:var(--hand);font-size:22px;line-height:1.2;color:#8c765e;transform:rotate(5deg);max-width:170px;margin:0 13px 7px 0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.option{position:relative;border:1px solid #d7ddcc;border-radius:13px;padding:24px;background:#fffdf780;display:flex;text-align:left;gap:22px;align-items:center;min-height:172px;width:100%;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s}.option:hover{border-color:#95a380;background:#fffef9;transform:translateY(-3px);box-shadow:0 6px 15px #39472b07}.option[aria-pressed=true]{border:2px solid #6d835b;padding:23px;background:#eef1e4;box-shadow:0 3px 0 #8a9b7217}.selection-dot{width:20px;height:20px;border:1px solid #bec7b0;background:#fffdf7;border-radius:50%;position:absolute;right:16px;top:15px;display:grid;place-items:center;font-size:11px}.option[aria-pressed=true] .selection-dot{background:#587047;color:white;border-color:#587047}.option-art{width:104px;height:112px;flex-shrink:0;display:grid;place-items:center}.option-art svg{width:100%;height:100%;overflow:visible}.option-info{padding-right:8px}.option-kicker{font-size:8px;letter-spacing:1.7px;font-weight:700;color:#8a765e;display:block;margin-bottom:6px;text-transform:uppercase}.option-title{font-family:var(--serif);font-size:23px;line-height:1.15;display:block;margin-bottom:7px;font-weight:400;letter-spacing:-.3px}.option-desc{display:block;font-size:11px;line-height:1.7;color:#6c7562}.option-location{display:block;font-size:9px;color:#66725c;margin-top:9px;line-height:1.5}.option-joke{font:16px var(--hand);color:#936e4e;display:block;margin-top:6px}.planner-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:27px}.selection-status{font-size:11px;color:#6f7864;margin:0}.selection-status strong{font-weight:600;color:var(--ink)}.actions-right{display:flex;gap:16px;align-items:center}.availability{font-size:10px;color:#7a806f;margin:19px 0 0;line-height:1.7;max-width:680px}.step-panel{animation:panel-in .35s ease-out}.review-layout{display:grid;grid-template-columns:1fr .7fr;gap:48px;align-items:center}.itinerary{background:#fffdf7;border:1px solid #d9ddcd;border-radius:12px;padding:31px}.ticket-eyebrow{font-size:9px;letter-spacing:2px;color:#78816c;display:block}.itinerary h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.2;margin:11px 0 24px}.itinerary-row{display:grid;grid-template-columns:30px 1fr auto;gap:15px;align-items:start;padding:19px 0;border-top:1px dashed #d5dccc}.itinerary-number{font-size:10px;background:#e9eddf;border-radius:50%;height:26px;display:grid;place-items:center}.itinerary-row h4{font-size:14px;font-weight:600;margin:0 0 3px;line-height:1.5}.itinerary-row p{font-size:11px;color:#727d65;margin:0}.itinerary-row .text-button{font-size:10px;padding:3px}.itinerary small{display:block;color:#7b836f;font-size:10px;margin-top:10px}.review-cat{max-width:250px;margin:auto;transform:rotate(3deg)}.review-cat svg{width:100%;display:block}.review-cat p{font:23px var(--hand);text-align:center;line-height:1.2;color:#8d7658;margin:0}.review-callout{font:24px var(--hand);color:#937658;margin:21px 0}.success-head{text-align:center;padding-top:0;margin-bottom:26px}.success-head .eyebrow{margin-bottom:10px;display:block}.success-head h2{font-size:55px}.success-layout{max-width:650px;margin:auto}.success-layout .itinerary{border-style:dashed;border-color:#a7b692;position:relative}.ticket-accepted{position:absolute;right:25px;top:26px;border:2px solid #8ca07a;border-radius:6px;color:#718664;font-size:10px;font-weight:700;letter-spacing:2px;padding:5px 10px;transform:rotate(10deg)}.success-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px}.success-note{text-align:center;color:#707964;font-size:10px;margin:12px 0}.copy-fallback{margin-top:20px}.copy-fallback label{display:block;font-size:12px;margin-bottom:8px}.copy-fallback textarea{width:100%;min-height:125px;resize:vertical;background:var(--cream);border:1px solid #c3cdb6;border-radius:6px;color:var(--ink);font:13px/1.7 var(--sans);padding:12px}.closing{border-top:1px solid var(--line);padding:39px 0 45px;text-align:center;position:relative}.closing p{font:26px/1.3 var(--serif);margin:12px 0 5px}.closing p em{color:#7a8968}.closing>.handwritten{font-size:23px;color:#9a7958}.little-cat{width:85px;height:68px;margin:auto}.little-cat svg{width:100%;height:100%}.site-footer{border-top:1px solid var(--line);padding:22px 0 25px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#7c836e}.site-footer span:last-child{letter-spacing:1.4px;font-size:8px;white-space:nowrap}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#334a3a;color:#fffdf6;border-radius:9px;padding:12px 21px;font-size:12px;box-shadow:0 4px 18px #23342025;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.confetti-layer{pointer-events:none;position:fixed;inset:0;z-index:10;overflow:hidden}.confetti-piece{position:absolute;top:-30px;width:9px;height:13px;background:var(--sage);animation:fall 2.8s ease-in forwards}.skip-link{position:absolute;top:-60px;left:20px;background:var(--ink);color:white;padding:10px 20px;z-index:30}.skip-link:focus{top:10px}.cat-tail{transform-origin:230px 230px;animation:tail-swish 4s ease-in-out infinite}.blink{transform-box:fill-box;transform-origin:center;animation:blink 7s infinite}.cat-breathe{transform-box:fill-box;transform-origin:bottom;animation:breathe 4.5s ease-in-out infinite}.cat-breathe:nth-child(2){animation-delay:-2s}.booped .scene-art{animation:boop .45s ease-in-out}.option:hover .card-paw{animation:paw-wave .7s ease-in-out;transform-origin:75px 70px}.paused *, .paused *:before,.paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}.paused .confetti-piece{display:none}
@keyframes blink{0%,41%,45%,100%{transform:scaleY(1)}43%{transform:scaleY(.09)}}@keyframes tail-swish{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes boop{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px) rotate(3deg)}}@keyframes paw-wave{0%,100%{transform:rotate(0)}40%{transform:rotate(-12deg)}70%{transform:rotate(8deg)}}@keyframes panel-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(580deg);opacity:0}}
@media(min-width:1450px){.hero{padding-block:85px 88px}.hero-art{transform:scale(1.06)}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:18px}.hero-art{transform:scale(.9);transform-origin:center}.hero-art:before{width:350px;left:calc(50% - 175px)}.hero h1{font-size:60px}.hero-aside{font-size:25px}.option{gap:14px;padding:20px}.option[aria-pressed=true]{padding:19px}.option-art{width:82px;height:100px}.option-title{font-size:22px}.option-info{padding-right:0}.section-aside{font-size:20px}.chapter-strip>.handwritten{font-size:21px}.chapter-strip>div{gap:15px;font-size:10px}.strip-spark{display:none}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:78px}.wordmark{font-size:22px}.mini-cat{font-size:27px;margin-right:6px}.edition{display:none}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:34px;gap:0;min-height:0}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center;font-size:8px;letter-spacing:1.8px}.hero h1{font-size:62px;letter-spacing:-2px}.hero-aside{font-size:26px;margin:16px 0 25px}.intro{font-size:14px;margin-bottom:25px}.hero-cta{font-size:12px;padding-inline:22px;gap:24px}.hero-art{width:100%;max-width:470px;margin:15px auto 0;height:410px;transform:scale(.9);transform-origin:center}.floating-note{top:0;right:0}.cat-scene{margin-top:24px}.cat-caption{bottom:-6px;font-size:17px;width:100%}.sticker-note{bottom:36px;right:-5px}.star-one{left:0;top:100px}.star-two{right:0;bottom:100px}.hero-art:before{top:47px;height:330px}.chapter-strip{display:flex;flex-direction:column;gap:6px;padding-block:15px}.chapter-strip>.handwritten{font-size:22px}.chapter-strip>div{font-size:10px;gap:20px}.planner{padding-block:40px}.planner-topline .eyebrow{font-size:8px;letter-spacing:1.5px}.page-number{font-size:8px}.steps{gap:10px;margin:23px 0 33px}.step{font-size:9px;gap:6px}.step span{width:24px;height:24px;font-size:8px}.step-line{min-width:5px}.section-heading{align-items:flex-start;gap:8px;margin-bottom:21px}h2{font-size:34px;letter-spacing:-.8px;max-width:300px}.section-subtitle{font-size:11px;max-width:270px}.section-aside{display:none}.cards{grid-template-columns:1fr;gap:12px}.option{min-height:152px;padding:20px;gap:21px}.option[aria-pressed=true]{padding:19px}.option-art{width:87px;height:104px}.option-title{font-size:23px}.option-kicker{font-size:7px;letter-spacing:1.5px}.option-desc{font-size:10px;line-height:1.7}.option-location{font-size:9px}.option-joke{font-size:16px}.selection-dot{right:14px;top:13px;width:18px;height:18px}.option-info{padding-right:7px}.planner-actions{flex-direction:column;align-items:stretch;gap:15px;margin-top:22px}.selection-status{font-size:10px;min-height:16px}.actions-right{justify-content:space-between;gap:8px}.actions-right .primary{flex:1}.actions-right .text-button{font-size:11px;padding:10px 12px 10px 0}.availability{font-size:9px;margin-top:15px}.review-layout{grid-template-columns:1fr;gap:20px}.review-cat{max-width:170px;display:none}.itinerary{padding:23px 19px}.itinerary h3{font-size:26px}.itinerary-row{gap:10px;grid-template-columns:26px 1fr auto}.itinerary-row h4{font-size:12px}.itinerary-row p{font-size:10px}.review-callout{font-size:23px;line-height:1.4}.success-head h2{font-size:45px;max-width:none}.success-head .section-subtitle{max-width:none}.ticket-accepted{right:17px;top:23px;font-size:8px;padding:4px 7px;letter-spacing:1px}.success-layout .itinerary h3{font-size:25px}.success-actions{gap:10px}.success-actions .button{padding:13px 16px;font-size:11px;gap:15px}.closing{padding-block:28px 35px}.closing p{font-size:24px}.closing>.handwritten{font-size:23px}.site-footer{flex-direction:column;text-align:center;gap:8px;font-size:8px;padding-block:19px}}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy,.hero-art{min-width:0}.cat-scene{flex-shrink:0}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:54px}.hero-art{transform:scale(.78);margin-block:-3px -25px}.option{gap:14px;padding:17px}.option[aria-pressed=true]{padding:16px}.option-art{width:74px}.option-title{font-size:21px}.step{font-size:8px;gap:4px}.steps{gap:7px}.hero .eyebrow{letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.confetti-piece{display:none}}

/* The invitation stays sealed until either envelope control is activated. */
[hidden]{display:none!important}
.hero-copy,.hero-art{min-width:0}
.hero .eyebrow{line-height:1.8;max-width:470px;align-items:flex-start}
.hero .tiny-star{flex-shrink:0;line-height:1.2;margin-top:3px}
.hero h1{font-size:clamp(48px,5.2vw,70px);max-width:520px}
.hero-aside{max-width:470px;font-size:25px;line-height:1.25;margin-bottom:30px}
.intro{max-width:420px}
.floating-note{max-width:240px;font-size:21px;line-height:1.16;top:-29px;right:0}
.curved-arrow{top:85px;right:3px;width:65px}
.cat-scene{perspective:900px}
.scene-art{z-index:2;transition:transform .65s cubic-bezier(.2,.7,.3,1)}
.envelope-back{position:absolute;left:39px;right:27px;top:135px;height:174px;background:#d6c09a;border:2px solid #ab9978;border-radius:3px;z-index:1}
.envelope{z-index:4;padding-top:65px;transition:transform .65s ease}
.envelope:before{display:none}
.stamp{top:83px}
.envelope-flap{position:absolute;left:39px;right:27px;top:135px;height:65px;background:#e3d0ac;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:center top;transform:rotateX(0deg);transition:transform .45s ease,z-index 0s .22s;z-index:5;pointer-events:none}
.envelope-letter{position:absolute;left:57px;right:45px;top:160px;height:150px;background:#fffaf0;border:1px solid #c9ba9b;border-radius:6px;padding:16px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 3px 9px #5a604a12;z-index:3;transform:translateY(0);transition:transform .6s cubic-bezier(.2,.7,.3,1) .15s}
.envelope-letter>span{font-size:8px;font-weight:600;letter-spacing:1.6px}
.envelope-letter strong{font:29px var(--hand);margin:4px 0 0}
.envelope-letter small{font-size:9px;margin-top:1px;color:#788167}
.cat-paws{position:absolute;left:129px;top:128px;width:170px;height:32px;z-index:6;pointer-events:none;transition:transform .65s cubic-bezier(.2,.7,.3,1)}
.cat-paws svg{width:100%;height:100%}
.opened .envelope-flap{transform:rotateX(180deg);z-index:1}
.opened .envelope-letter{transform:translateY(-90px)}
.opened .envelope{transform:translateY(25px)}
.opened .scene-art,.opened .cat-paws{transform:translateY(-52px)}
.opened.booped .scene-art{animation:opened-boop .45s ease-in-out}
.revealed{animation:panel-in .5s ease-out both}
.paused .revealed,.paused .step-panel,.paused .booped .scene-art{animation:none!important}
.paused .scene-art,.paused .envelope,.paused .envelope-letter,.paused .envelope-flap,.paused .cat-paws{transition:none}
@keyframes opened-boop{0%,100%{transform:translateY(-52px)}50%{transform:translateY(-63px) rotate(2deg)}}
@media(max-width:760px){.hero .eyebrow{max-width:390px;margin-inline:auto;font-size:8px;letter-spacing:1.1px}.hero h1{font-size:53px;max-width:430px;margin-inline:auto}.hero-aside{font-size:24px;max-width:390px;margin-inline:auto;margin-top:20px}.intro{margin-inline:auto;max-width:350px}.hero-art{margin-top:36px}.floating-note{font-size:20px;max-width:230px;right:1px}.curved-arrow{top:88px}.cat-caption{font-size:17px;line-height:1.2;max-width:360px}.option-joke{line-height:1.3}}
@media(max-width:380px){.hero h1{font-size:46px}.hero-aside{font-size:23px}.floating-note{font-size:19px;max-width:220px}.hero-art{margin-top:30px}}

/* Let the longer, personal copy breathe at every screen size. */
.hero h1{font-size:clamp(34px,3.6vw,48px);line-height:1.13;letter-spacing:-.8px}
.option-kicker{font-size:9px;line-height:1.6;letter-spacing:.8px;text-transform:none}
.review-actions{flex-direction:column;align-items:stretch;gap:23px}
.review-actions .selection-status{font-size:16px;font-weight:600;line-height:1.75;color:var(--ink);max-width:760px}
.review-actions .actions-right{justify-content:flex-end;flex-wrap:wrap;gap:20px}
.review-actions .text-button{white-space:normal;line-height:1.6;text-align:left}
.review-actions .playful-decline{border:1px solid #c8756b;background:#fae5e0;color:#8a382e;white-space:normal;line-height:1.5;text-align:center}
.review-actions .playful-decline:hover{background:#f5d6cf;border-color:#ad554b}
.itinerary h3{font-size:25px;line-height:1.25}
.success-layout .ticket-accepted{position:static;display:table;margin:0 0 20px auto}
.success-actions{flex-wrap:wrap;align-items:center}
.success-note{line-height:1.8}
.closing>p{max-width:680px;margin-inline:auto}
@media(max-width:760px){
  .hero h1{font-size:36px;max-width:430px}
  .option-kicker{font-size:8px;letter-spacing:.6px}
  .review-actions .actions-right{flex-direction:column;align-items:stretch;gap:18px}
  .review-actions .text-button{text-align:center}
  .itinerary h3{font-size:23px}
  .success-actions{flex-direction:column;align-items:stretch}
  .success-actions .text-button{padding:8px}
}
@media(max-width:380px){.hero h1{font-size:32px}}

/* Phone layouts: readable details and comfortable tap areas. */
@media(max-width:760px){
  .motion-toggle{width:44px;height:44px}
  .step{min-height:44px}
  .option-kicker{font-size:10px;letter-spacing:.45px;line-height:1.5;padding-right:12px}
  .option-desc{font-size:12px;line-height:1.65}
  .option-location{font-size:11px;line-height:1.55}
  .option-joke{font-size:18px;line-height:1.3}
  .option-info{min-width:0}
  .itinerary-row .text-button{min-width:44px;min-height:44px;padding:8px 4px;font-size:11px}
  .itinerary-row h4{font-size:14px}
  .itinerary-row p,.itinerary small,.selection-status{font-size:12px}
  .success-note{font-size:12px;line-height:1.7}
  .section-subtitle{font-size:13px}
  .success-actions .button,.review-actions .button{font-size:13px}
  .success-actions .text-button{min-height:44px;font-size:13px}
}
@media(max-width:430px){
  .option{gap:12px;padding:18px 16px}
  .option[aria-pressed=true]{padding:17px 15px}
  .option-art{width:64px;height:82px}
  .option-title{font-size:22px}
}
@media(max-width:340px){.hero-art{transform:scale(.7)}}
