:root{--forest:#173d32;--forest-2:#0d2a23;--moss:#547a46;--mint:#b8d99f;--cream:#f8f1df;--paper:#fffaf0;--amber:#f1ac3c;--coral:#e87352;--ink:#17352d;--muted:#647169;--line:rgba(23,61,50,.16);--shadow:0 24px 65px rgba(13,42,35,.16);--display:'Rubik',sans-serif;--body:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);overflow-x:hidden}body.locked{overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}img{display:block;max-width:100%}a{color:inherit}.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.12;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}
.intro-gate{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 42%,#3b7659 0,var(--forest) 43%,var(--forest-2) 100%);display:grid;place-content:center;text-align:center;color:#fff;transition:opacity .8s,visibility .8s;overflow:hidden}.intro-gate.open{opacity:0;visibility:hidden}.intro-gate:before,.intro-gate:after{content:"";position:absolute;width:48vw;height:65vh;background:radial-gradient(ellipse,rgba(184,217,159,.24),transparent 65%);filter:blur(15px)}.intro-gate:before{left:-20vw;top:-15vh;transform:rotate(25deg)}.intro-gate:after{right:-20vw;bottom:-20vh}.gate-kicker,.gate-hint{position:relative;z-index:2;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:800}.gate-hint{opacity:.6;margin-top:20px}.egg{position:relative;z-index:2;width:190px;height:245px;margin:22px auto 0;border:0;background:transparent;filter:drop-shadow(0 30px 22px rgba(0,0,0,.25));cursor:pointer;transition:transform .25s}.egg:hover{transform:translateY(-7px) rotate(-2deg)}.egg-top,.egg-bottom{position:absolute;inset:0;background:linear-gradient(135deg,#fff9dc,#f3d99a);clip-path:polygon(50% 0,72% 6%,88% 23%,97% 49%,93% 66%,79% 86%,58% 99%,38% 98%,16% 84%,4% 62%,7% 37%,23% 14%)}.egg b{position:absolute;left:50%;bottom:60px;transform:translateX(-50%);z-index:4;text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;color:var(--forest)}.spot{position:absolute;z-index:3;border-radius:50%;background:var(--moss);opacity:.7}.s1{width:27px;height:19px;left:38px;top:86px;transform:rotate(25deg)}.s2{width:23px;height:31px;right:39px;top:53px;transform:rotate(-25deg)}.s3{width:33px;height:25px;right:48px;bottom:45px}.s4{width:17px;height:14px;left:63px;top:34px}.egg.crack .egg-top{animation:eggTop .75s ease forwards}.egg.crack .egg-bottom{animation:eggBottom .75s ease forwards}.egg.crack .spot,.egg.crack b{opacity:0}@keyframes eggTop{to{transform:translate(-45px,-55px) rotate(-28deg);opacity:0}}@keyframes eggBottom{to{transform:translate(45px,55px) rotate(25deg);opacity:0}}
.nav{position:fixed;z-index:80;top:14px;left:50%;transform:translateX(-50%);width:min(92%,720px);padding:7px 8px 7px 12px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,240,.82);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(13,42,35,.14)}.nav a{text-decoration:none}.nav-brand{font-family:var(--display);font-size:1.15rem}.nav-brand span{display:inline-grid;place-items:center;width:25px;height:25px;background:var(--amber);border-radius:50%;font-size:.74rem;margin-left:2px}.nav div{display:flex;gap:3px}.nav div a{padding:9px 11px;border-radius:99px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.nav div a:hover{background:#fff}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest)}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:scale(1.03);animation:heroIn 1.6s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,35,27,.08) 15%,rgba(7,35,27,.02) 44%,rgba(7,35,27,.86) 95%)}.hero-copy{position:relative;z-index:2;width:min(900px,100%);margin:0 auto;padding:120px 24px 13vh;text-align:center;color:#fff}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.2em;font-size:.69rem;font-weight:800;color:var(--coral)}.hero .eyebrow{color:#fff3c6}.hero h1{font:900 clamp(4.7rem,17vw,10rem)/.72 var(--display);letter-spacing:-.075em;text-transform:uppercase;margin:16px 0 26px;text-shadow:0 8px 35px rgba(8,35,28,.42)}.hero h1 span{font-size:.47em;letter-spacing:.01em;color:#ffe7a7}.hero-lead{font-size:clamp(1rem,2.5vw,1.28rem);font-weight:700;margin:0 auto 26px;max-width:500px}.hero-wave{position:absolute;z-index:3;bottom:-1px;left:-2%;width:104%;height:58px;background:var(--cream);clip-path:ellipse(55% 43% at 50% 100%)}.roar{position:absolute;z-index:5;right:max(18px,5vw);top:18%;border:0;background:var(--amber);width:72px;height:72px;border-radius:50%;box-shadow:0 10px 0 #b96b26;transform:rotate(9deg);font:900 1.7rem var(--display)}.roar b{position:absolute;left:50%;top:-28px;transform:translateX(-50%) scale(0);white-space:nowrap;background:#fff;color:var(--forest);padding:8px 11px;border-radius:12px;font:800 .65rem var(--body);transition:.25s}.roar.pop b{transform:translateX(-50%) scale(1)}@keyframes heroIn{from{transform:scale(1.14);filter:blur(5px)}to{transform:scale(1.03);filter:none}}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border:0;border-radius:999px;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:.73rem;background:var(--forest);color:#fff;box-shadow:0 8px 0 #0b2c24;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 11px 0 #0b2c24}.button:active{transform:translateY(5px);box-shadow:0 3px 0 #0b2c24}.button-light{background:#fff;color:var(--forest);box-shadow:0 8px 0 #d6bd82}.button-ghost{background:transparent;color:var(--forest);border:2px solid var(--forest);box-shadow:none}.section{padding:clamp(78px,10vw,130px) 22px;position:relative}.shell{width:min(1120px,100%);margin:auto}.narrow{width:min(780px,100%)}.section h2{font:900 clamp(2.5rem,7vw,5rem)/.94 var(--display);letter-spacing:-.055em;margin:10px 0 24px}.section-head{text-align:center;margin-bottom:52px}.section-head>p:last-child{color:var(--muted)}.big-copy{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.75;color:var(--muted);max-width:680px;margin:auto}.welcome{text-align:center}.date-scene{position:relative;width:min(680px,100%);min-height:390px;margin:54px auto 0;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:22px 28px 0;border-radius:34px;background:#f5ecd7;box-shadow:0 26px 70px rgba(23,61,50,.12);overflow:hidden;isolation:isolate}.date-scene:before{content:"";position:absolute;z-index:-1;width:320px;height:320px;left:-130px;top:-125px;border:75px solid rgba(184,217,159,.28);border-radius:50%}.date-scene:after{content:"";position:absolute;z-index:-1;width:260px;height:260px;right:-110px;bottom:-145px;background:rgba(241,172,60,.2);border-radius:46% 54% 63% 37%}.date-card{align-self:center;text-align:center;padding:24px 4px 34px;position:relative;z-index:3}.date-card>p{margin:0 0 15px;text-transform:uppercase;letter-spacing:.2em;color:var(--moss);font-size:.62rem;font-weight:900}.date-card>small{display:block;margin-top:18px;color:var(--muted);font-size:.7rem;font-weight:700}.date-stamp{width:220px;height:220px;border:2px solid rgba(23,61,50,.2);border-radius:50%;display:flex;flex-direction:column;justify-content:center;margin:0 auto;transform:rotate(-4deg);background:rgba(255,250,240,.7);box-shadow:inset 0 0 0 9px rgba(255,250,240,.8),inset 0 0 0 11px rgba(23,61,50,.08),0 14px 30px rgba(23,61,50,.08)}.date-stamp strong{font:900 5.6rem/.82 var(--display);color:var(--coral);text-shadow:3px 4px 0 rgba(241,172,60,.24)}.date-stamp span{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;font-weight:800;margin:7px}.dino-hello{position:relative;align-self:end;height:360px;display:flex;align-items:flex-end;justify-content:center}.dino-portrait{position:relative;width:300px;height:350px;overflow:hidden;border-radius:28px;filter:drop-shadow(0 18px 18px rgba(23,61,50,.12))}.dino-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.dino-wave-arm{z-index:2;clip-path:polygon(6% 30%,45% 30%,45% 59%,5% 59%);transform-origin:38% 53%;animation:pawWave .72s ease-in-out infinite alternate}.hello-bubble{position:absolute;z-index:5;right:0;top:13px;padding:13px 17px;background:#fff;color:var(--forest);border-radius:18px 18px 18px 4px;font:800 .72rem/1.35 var(--body);transform:rotate(4deg);box-shadow:0 10px 25px rgba(23,61,50,.1)}.date-spark{position:absolute;color:var(--amber);font-size:1.5rem;animation:sparkle 1.8s ease-in-out infinite}.spark-one{left:4%;bottom:22%}.spark-two{right:4%;top:33%;animation-delay:.55s}.date-leaf{position:absolute;width:64px;height:92px;background:var(--moss);opacity:.7;border-radius:100% 0 100% 0;z-index:-1}.leaf-one{left:-17px;bottom:-11px;transform:rotate(25deg)}.leaf-two{right:-8px;top:-16px;transform:rotate(210deg);background:var(--mint)}@keyframes pawWave{0%,18%{transform:rotate(-1deg)}82%,100%{transform:rotate(5deg)}}@keyframes sparkle{0%,100%{transform:scale(.75) rotate(0);opacity:.35}50%{transform:scale(1.18) rotate(35deg);opacity:1}}
.countdown-section{background:var(--forest);color:#fff;text-align:center;overflow:hidden}.countdown-section:after{content:"";position:absolute;width:500px;height:500px;border:100px solid rgba(184,217,159,.08);border-radius:50%;right:-260px;top:-270px}.light{color:var(--mint)}.countdown{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:clamp(6px,2.8vw,32px);margin-top:42px}.countdown>div{min-width:75px}.countdown strong{display:block;font:900 clamp(2.2rem,8vw,5rem)/1 var(--display);color:#ffe3a3}.countdown span{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;opacity:.7}.countdown i{font-style:normal;font-size:2rem;opacity:.4}
.details{background:#e8e3ca}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.paper-card{position:relative;min-height:310px;padding:32px;background:var(--paper);border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end}.paper-card:before{content:"";position:absolute;width:80px;height:24px;top:-10px;left:50%;transform:translateX(-50%) rotate(-3deg);background:rgba(241,172,60,.48);backdrop-filter:blur(2px)}.paper-card.feature{background:var(--amber);transform:translateY(-18px) rotate(1deg)}.paper-card p{margin:0;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.paper-card h3{font:800 clamp(1.55rem,3vw,2.35rem)/1.08 var(--display);margin:10px 0 16px}.paper-card small{color:var(--muted);font-weight:600}.card-no{position:absolute;top:30px;right:28px;font:900 2.6rem var(--display);opacity:.1}.tilt-left{transform:rotate(-1.5deg)}.tilt-right{transform:rotate(1.8deg)}.actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:52px}
.plan{background:var(--paper)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:89px;top:20px;bottom:20px;border-left:2px dashed rgba(23,61,50,.18)}.timeline article{display:grid;grid-template-columns:90px 1fr;gap:36px;padding:20px 0}.timeline time{position:relative;z-index:2;align-self:start;background:var(--coral);color:#fff;border:6px solid var(--paper);width:80px;height:80px;border-radius:50%;display:grid;place-items:center;font-weight:900;box-shadow:0 0 0 2px rgba(23,61,50,.12)}.timeline h3{font:800 1.35rem var(--display);margin:8px 0}.timeline p{margin:0;color:var(--muted);line-height:1.65}
.media-split{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(40px,8vw,95px);align-items:center}.media-split.reverse{grid-template-columns:.92fr 1.08fr}.reverse .media{order:2}.media{position:relative}.media img{width:100%;border-radius:25px;box-shadow:var(--shadow);transform:rotate(-1.3deg)}.reverse .media img{transform:rotate(1.3deg)}.tape{position:absolute;width:105px;height:30px;left:50%;top:-13px;transform:translateX(-50%) rotate(3deg);background:rgba(244,216,142,.76)}.copy>p:not(.section-label){color:var(--muted);line-height:1.7}.wish-chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 18px}.wish-chips button{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:12px 16px;font-weight:700;cursor:pointer;transition:.2s}.wish-chips button span{margin-right:5px}.wish-chips button:hover,.wish-chips button.picked{transform:translateY(-5px) rotate(-2deg);background:#fff1bd;border-color:var(--amber)}.wish-note{font-size:.76rem}.parents{background:var(--forest);color:#fff}.parents .copy>p{color:rgba(255,255,255,.7)}.parent-list{display:grid;gap:20px}.parent-list article{display:grid;grid-template-columns:45px 1fr;gap:15px;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}.parent-list article>span{display:grid;place-items:center;width:38px;height:38px;background:var(--amber);color:var(--forest);border-radius:50%;font-weight:900;font-size:.72rem}.parent-list h3{margin:2px 0 6px;font:800 1rem var(--display)}.parent-list p{margin:0;color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.6}.parent-list a{font-weight:800;color:#fff}
.rsvp{background:#e8e3ca}.rsvp-form{background:var(--paper);padding:clamp(24px,6vw,55px);border-radius:28px;box-shadow:var(--shadow);display:grid;gap:24px}.rsvp-form>label,.rsvp-form legend{display:grid;gap:9px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.rsvp-form input,.rsvp-form textarea,.rsvp-form select{width:100%;border:1px solid var(--line);background:#fffdf7;border-radius:13px;padding:15px;color:var(--ink);outline:none;text-transform:none;letter-spacing:0;font-weight:500}.rsvp-form input:focus,.rsvp-form textarea:focus,.rsvp-form select:focus{border-color:var(--moss);box-shadow:0 0 0 4px rgba(84,122,70,.12)}fieldset{border:0;padding:0;margin:0}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-row input{position:absolute;opacity:0;width:1px}.choice-row span{display:block;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fffdf7;text-align:center;text-transform:none;letter-spacing:0;cursor:pointer}.choice-row input:checked+span{background:var(--mint);border-color:var(--moss);box-shadow:inset 0 0 0 2px var(--moss)}.submit{width:100%;font-size:.8rem}.form-status{text-align:center;margin:0;min-height:22px;font-size:.86rem;font-weight:700}.hp{position:absolute!important;left:-9999px}.rsvp-form.success{animation:formSuccess .6s ease}@keyframes formSuccess{50%{transform:scale(1.015);box-shadow:0 30px 80px rgba(84,122,70,.28)}}
footer{background:var(--forest-2);color:#fff;text-align:center;padding:70px 20px 90px}footer p{opacity:.7;margin:10px}footer strong{display:block;font:900 clamp(3.6rem,11vw,7rem)/1 var(--display);color:#ffe3a3}footer small{display:block;margin-top:15px;letter-spacing:.22em}.footer-dino{font-size:3rem;animation:dinoBob 2.3s ease-in-out infinite}@keyframes dinoBob{50%{transform:translateY(-8px) rotate(4deg)}}.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}.confetti{position:fixed;inset:0;z-index:2000;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-20px;width:10px;height:16px;border-radius:3px;animation:fall 1.7s linear forwards}@keyframes fall{to{transform:translate(var(--drift),105vh) rotate(720deg);opacity:.2}}
@media(max-width:760px){.nav div a:nth-child(2){display:none}.hero-copy{padding-bottom:15vh}.hero h1{font-size:clamp(4.3rem,20vw,7rem)}.roar{top:15%;right:18px;width:62px;height:62px}.date-scene{grid-template-columns:1fr;min-height:610px;padding:18px 10px 0}.date-card{padding-bottom:0}.date-stamp{width:205px;height:205px}.date-stamp strong{font-size:5.15rem}.dino-hello{height:300px;margin-top:-8px}.dino-portrait{width:255px;height:290px}.hello-bubble{right:6%;top:18px}.detail-grid{grid-template-columns:1fr}.paper-card,.paper-card.feature,.tilt-left,.tilt-right{min-height:240px;transform:rotate(0)}.media-split,.media-split.reverse{grid-template-columns:1fr}.reverse .media{order:0}.media{max-width:590px;margin:auto}.countdown{gap:5px}.countdown>div{min-width:61px}.countdown i{font-size:1.15rem}.choice-row{grid-template-columns:1fr}.timeline:before{left:35px}.timeline article{grid-template-columns:70px 1fr;gap:18px}.timeline time{width:68px;height:68px;font-size:.83rem}.section{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.intro-gate .egg-real{width:230px;height:288px;margin-top:16px;filter:drop-shadow(0 28px 22px rgba(0,0,0,.3));overflow:visible}.intro-gate .egg-real:hover{transform:translateY(-5px) scale(1.015)}.egg-piece{position:absolute;inset:0;display:block;will-change:transform,opacity}.egg-piece img{width:100%;height:100%;object-fit:cover;display:block}.egg-piece-top{clip-path:polygon(0 0,100% 0,100% 48%,86% 51%,71% 47%,56% 53%,41% 48%,26% 54%,0 49%)}.egg-piece-bottom{clip-path:polygon(0 49%,26% 54%,41% 48%,56% 53%,71% 47%,86% 51%,100% 48%,100% 100%,0 100%)}.egg-fracture{position:absolute;z-index:5;left:18%;top:46%;width:64%;height:11%;opacity:0;background:#4b3722;clip-path:polygon(0 44%,20% 38%,34% 51%,49% 29%,64% 50%,83% 35%,100% 43%,100% 57%,83% 50%,64% 64%,49% 43%,34% 65%,20% 52%,0 58%);filter:drop-shadow(0 2px 1px rgba(255,245,205,.55))}.intro-gate .egg-label{position:absolute;z-index:7;left:50%;bottom:60px;transform:translateX(-50%);padding:10px 16px;border-radius:99px;background:rgba(255,250,240,.9);color:var(--forest);box-shadow:0 7px 20px rgba(0,0,0,.14);font-size:.68rem;white-space:nowrap}.egg-real.crack{pointer-events:none;transform:none}.egg-real.crack .egg-fracture{animation:fractureFlash .32s ease both}.egg-real.crack .egg-piece-top{animation:shellTop .9s .2s cubic-bezier(.25,.75,.25,1) forwards}.egg-real.crack .egg-piece-bottom{animation:shellBottom .9s .2s cubic-bezier(.25,.75,.25,1) forwards}.egg-real.crack .egg-label{animation:labelAway .18s ease forwards}@keyframes fractureFlash{0%{opacity:0;transform:scaleX(.1)}45%,100%{opacity:1;transform:scaleX(1)}}@keyframes shellTop{0%{transform:none;opacity:1}45%{transform:translate(-10px,-20px) rotate(-6deg);opacity:1}100%{transform:translate(-88px,-125px) rotate(-38deg);opacity:0}}@keyframes shellBottom{0%{transform:none;opacity:1}45%{transform:translate(10px,15px) rotate(4deg);opacity:1}100%{transform:translate(92px,115px) rotate(34deg);opacity:0}}@keyframes labelAway{to{opacity:0;transform:translateX(-50%) scale(.7)}}
.intro-gate .egg-piece img{transform:scale(1.45);object-position:50% 51%}.intro-gate .egg-piece-top{clip-path:polygon(50% 0,69% 4%,85% 15%,96% 31%,100% 48%,86% 51%,71% 47%,56% 53%,41% 48%,26% 54%,0 49%,3% 32%,14% 15%,31% 4%)}.intro-gate .egg-piece-bottom{clip-path:polygon(0 49%,26% 54%,41% 48%,56% 53%,71% 47%,86% 51%,100% 48%,98% 68%,88% 84%,72% 95%,53% 100%,33% 96%,16% 84%,5% 68%)}
.intro-gate .egg-real{filter:none}.egg-real.crack .egg-fracture{animation:fractureFlash .22s ease both,fractureAway .18s .32s ease forwards}@keyframes fractureAway{to{opacity:0}}

/* Playful generated characters for the details and schedule sections */
.detail-scene{position:relative}.detail-scene .detail-grid{position:relative}.card-dino{position:absolute;z-index:1;top:18px;left:22px;width:126px;height:126px;object-fit:contain;pointer-events:none}.card-dino-tall{top:12px;width:114px;height:142px}.paper-card>h3,.paper-card>small{position:relative;z-index:2}.paper-card>p{position:absolute;z-index:2;top:78px;right:28px;text-align:right}.paper-card>.card-no{position:absolute;z-index:2;top:24px;right:28px}.plan-shell{max-width:1180px}.plan-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(220px,300px);gap:clamp(30px,5vw,72px);align-items:center}.plan-dino{align-self:center}.plan-dino img{display:block;width:100%;height:auto}.timeline time{animation:timePulse 4.8s ease-in-out infinite;transform-origin:center}.timeline article:nth-child(2) time{animation-delay:1.2s}.timeline article:nth-child(3) time{animation-delay:2.4s}.timeline article:nth-child(4) time{animation-delay:3.6s}@keyframes timePulse{0%,18%,100%{transform:scale(1);box-shadow:0 0 0 2px rgba(23,61,50,.12)}8%{transform:scale(1.09) rotate(-3deg);box-shadow:0 0 0 8px rgba(238,111,78,.16)}}
@media(max-width:900px){.plan-layout{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.card-dino{width:108px;height:108px}.card-dino-tall{height:126px}}
@media(max-width:760px){.paper-card,.paper-card.feature,.tilt-left,.tilt-right{min-height:280px}.card-dino{width:112px;height:112px}.card-dino-tall{height:130px}.plan-layout{grid-template-columns:1fr}.plan-dino{order:-1;width:min(230px,68vw);margin:-28px auto 10px}.plan-dino img{width:100%}}

/* Schedule layout matched to the supplied reference */
.plan{background:radial-gradient(circle at 85% 35%,rgba(255,224,162,.32),transparent 28%),var(--paper)}.plan-layout{grid-template-columns:minmax(0,720px) minmax(250px,330px);gap:clamp(32px,5vw,72px)}.timeline{display:grid;gap:12px}.timeline:before{left:104px;top:46px;bottom:46px;border-left:2px dashed rgba(238,111,78,.44)}.timeline article{position:relative;grid-template-columns:88px minmax(0,1fr);gap:28px;padding:0}.timeline article:before{content:"";position:absolute;z-index:1;left:78px;top:50%;width:32px;border-top:2px dashed rgba(238,111,78,.52)}.timeline article:after{content:"";position:absolute;z-index:2;left:99px;top:calc(50% - 5px);width:10px;height:10px;border:3px solid var(--coral);border-radius:50%;background:var(--paper)}.timeline time{align-self:center;width:80px;height:80px;border:7px solid #fff7e8;box-shadow:0 7px 18px rgba(70,45,22,.14),0 0 0 2px rgba(238,111,78,.16)}.timeline time:before,.timeline time:after{content:"";position:absolute;left:-19px;width:12px;border-top:2px solid var(--coral);transform-origin:right}.timeline time:before{top:19px;transform:rotate(58deg)}.timeline time:after{top:34px;transform:rotate(15deg)}.timeline-card{position:relative;min-height:94px;padding:13px 42px 13px 14px;border:1px solid rgba(23,61,50,.05);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 9px 25px rgba(91,64,26,.1);display:grid;grid-template-columns:68px minmax(0,1fr);gap:18px;align-items:center;overflow:hidden}.timeline-card:after{content:"";position:absolute;right:13px;top:18px;width:22px;height:58px;opacity:.42;background:radial-gradient(circle,var(--amber) 2px,transparent 2.6px) 0 0/10px 10px}.timeline-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff1d9;overflow:hidden}.timeline-icon img{width:82%;height:82%;object-fit:contain}.timeline article:first-child .timeline-icon img{width:95%;height:95%}.timeline h3{margin:0 0 7px;font-size:1.28rem}.timeline p{font-size:.84rem;line-height:1.45}.plan-dino{position:relative;align-self:end}.plan-dino:after{content:"";position:absolute;inset:8% -9% 4%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(241,172,60,.18),transparent 66%)}
@media(max-width:900px){.plan-layout{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.timeline article{grid-template-columns:80px minmax(0,1fr);gap:22px}.timeline:before{left:92px}.timeline article:before{left:70px;width:28px}.timeline article:after{left:87px}.timeline-card{padding-right:30px;grid-template-columns:58px minmax(0,1fr);gap:13px}.timeline-icon{width:54px;height:54px}}
@media(max-width:760px){.plan-layout{grid-template-columns:1fr}.plan-dino{order:-1;width:min(210px,62vw);margin:-30px auto 14px}.timeline{gap:10px}.timeline article{grid-template-columns:64px minmax(0,1fr);gap:14px}.timeline:before{left:70px;top:38px;bottom:38px}.timeline article:before{left:60px;width:15px}.timeline article:after{left:65px;top:calc(50% - 4px);width:8px;height:8px;border-width:2px}.timeline time{width:62px;height:62px;border-width:5px;font-size:.76rem}.timeline time:before,.timeline time:after{display:none}.timeline-card{min-height:82px;padding:10px 22px 10px 10px;grid-template-columns:48px minmax(0,1fr);gap:10px;border-radius:15px}.timeline-icon{width:46px;height:46px}.timeline h3{font-size:1rem;margin-bottom:4px}.timeline p{font-size:.75rem}.timeline-card:after{right:6px}}

.wishlist-guide{margin:24px 0 4px;padding:22px;border:1px solid rgba(23,61,50,.09);border-radius:20px;background:rgba(255,255,255,.58)}.wishlist-guide h3{margin:0 0 16px;font:800 1.05rem var(--display)}.wishlist-guide ol{display:grid;gap:13px;margin:0;padding:0;list-style:none}.wishlist-guide li{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start}.wishlist-guide li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--coral);color:#fff;font-size:.72rem;font-weight:900}.wishlist-guide p{margin:2px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}.wishlist-guide strong{color:var(--forest)}

.card-dino-badge{position:absolute;z-index:1;top:18px;left:20px;width:132px;height:132px;border:6px solid rgba(255,255,255,.64);border-radius:50%;display:grid;place-items:end center;overflow:hidden;box-shadow:inset 0 -10px 20px rgba(23,61,50,.08)}.card-dino-badge:after{content:"";position:absolute;left:14%;right:14%;bottom:9px;height:5px;border-radius:50%;background:rgba(23,61,50,.09)}.badge-date{background:#ffe8c2}.badge-time{background:#dceecf}.badge-place{background:#dcefe9}.card-dino-badge .card-dino{position:relative;z-index:1;top:auto;left:auto;width:116%;height:116%;object-fit:contain;transform:translateY(15px)}.card-dino-badge .card-dino-tall{width:108%;height:124%;transform:translateY(18px)}
@media(max-width:900px){.card-dino-badge{width:116px;height:116px}.card-dino-badge .card-dino{width:116%;height:116%}.card-dino-badge .card-dino-tall{height:124%}}
@media(max-width:760px){.card-dino-badge{width:120px;height:120px}.card-dino-badge .card-dino{width:116%;height:116%}.card-dino-badge .card-dino-tall{height:124%}}

.plan-dino{position:relative;isolation:isolate;width:100%;aspect-ratio:4/5;padding:0;border:0;background:transparent;color:var(--forest);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-dino img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.plan-dino .dino-layer{z-index:1}.plan-dino .balloon-layer{z-index:2;transform-origin:29% 23%;animation:balloonIdle 3.2s ease-in-out infinite}.balloon-hint{position:absolute;z-index:4;right:0;bottom:2%;padding:8px 12px;border:1px solid rgba(23,61,50,.1);border-radius:99px;background:rgba(255,255,255,.82);box-shadow:0 5px 15px rgba(23,61,50,.08);font-size:.67rem;font-weight:800;letter-spacing:.02em;transition:opacity .25s,transform .25s}.plan-dino:hover .balloon-hint,.plan-dino:focus-visible .balloon-hint{transform:translateY(-3px);background:#fff}.plan-dino:focus-visible{outline:3px solid var(--coral);outline-offset:7px;border-radius:32px}.plan-dino.balloon-fly .balloon-layer{animation:balloonRelease 2.3s cubic-bezier(.18,.68,.25,1) forwards}.plan-dino.balloon-fly .balloon-hint{opacity:0;transform:translateY(8px)}@keyframes balloonIdle{0%,100%{transform:translate(0,0) rotate(-1deg)}50%{transform:translate(4px,-7px) rotate(2deg)}}@keyframes balloonRelease{0%{transform:translate(0,0) rotate(0);opacity:1}26%{transform:translate(12px,-52px) rotate(5deg);opacity:1}58%{transform:translate(-15px,-155px) rotate(-5deg);opacity:1}100%{transform:translate(28px,-390px) rotate(9deg);opacity:0}}
@media(max-width:760px){.plan-dino{width:min(230px,68vw);aspect-ratio:4/5}.balloon-hint{right:-12px;bottom:0;font-size:.62rem}}
