@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}*{box-sizing:border-box}html{background:#fff8f7;min-width:320px}body{color:#493a40;background:radial-gradient(circle at 72% 8%,#ffdadc52,#0000 26rem),linear-gradient(118deg,#fff8f6 0%,snow 48%,#fff5f3 100%);min-width:320px;min-height:100vh;margin:0;font-family:DM Sans,Arial,sans-serif}button,input,textarea{font:inherit}button:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #d9688847}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.birthday-shell{isolation:isolate;flex-direction:column;min-height:100vh;padding:26px clamp(18px,4vw,54px) 20px;display:flex;position:relative;overflow-x:clip}.page-aurora{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 12% 10%,#40e8ac45,#0000 31%),radial-gradient(circle at 85% 13%,#ab67e742,#0000 32%),radial-gradient(circle at 47% 63%,#19636b52,#0000 45%),linear-gradient(156deg,#081a2d 0%,#0d253d 43%,#18384d 100%);transition:opacity 6.8s cubic-bezier(.2,.62,.24,1);position:fixed;inset:0;overflow:hidden;box-shadow:inset 0 0 180px #030b1973}.aurora-page .page-aurora{opacity:1}.page-aurora:after{content:"";opacity:.88;background-image:radial-gradient(circle at 8% 18%,#ffffff9e 0 1px,#0000 1.6px),radial-gradient(circle at 26% 9%,#ffffff75 0 1px,#0000 1.5px),radial-gradient(circle at 71% 14%,#ffffff8c 0 1px,#0000 1.6px),radial-gradient(circle at 89% 31%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 48% 22%,#ffffff7a 0 1px,#0000 1.7px),radial-gradient(circle at 57% 7%,#ffffff96 0 1px,#0000 1.6px);position:absolute;inset:0}.page-aurora span{filter:blur(28px);animation:15s ease-in-out infinite alternate page-aurora-drift;display:block;position:absolute}.page-aurora span:first-child{border-top:84px solid #48e7acab;border-radius:52% 48% 0 0;width:78%;height:320px;top:-44px;left:-8%}.page-aurora span:nth-child(2){border-top:70px solid #aa69e694;border-radius:51% 49% 0 0;width:79%;height:302px;animation-delay:-6s;top:54px;right:-12%}.page-aurora span:nth-child(3){border-top:54px solid #46d3c069;border-radius:55% 45% 0 0;width:82%;height:250px;animation-delay:-9s;top:178px;left:9%}.page-shooting-star{filter:drop-shadow(0 0 8px #d1fff4d1);opacity:0;background:linear-gradient(90deg,#0000,#bcf0ea52,#fff);border-radius:999px;width:clamp(125px,17vw,230px);height:2px;display:block;position:absolute;top:15%;right:-16%;transform:rotate(-27deg)}.page-shooting-star:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;right:-2px;transform:translateY(-50%);box-shadow:0 0 8px #fff,0 0 19px #8beed8eb}.aurora-page .page-shooting-star{animation:3.4s cubic-bezier(.16,.58,.26,1) 2.6s both page-shooting-star}.birthday-shell>.topbar,.birthday-shell>.stage,.birthday-shell>footer{z-index:1;position:relative}.aurora-page .brand{color:#d8f2e9;background:#ffffff17;border-color:#d0f5ea38}.aurora-page .step{background:#ebfaf738}.aurora-page .step.active{background:#7bcfb3}.aurora-page .step-label,.aurora-page footer{color:#d4e6e5}.aurora-page .detail-panel{background:#fdfcfbba;border-color:#cbf0e78a;transition:background 5.6s,border-color 5.6s,box-shadow 5.6s;box-shadow:0 27px 76px #030f1c57,0 0 76px #4dd4b317}.gate-shell{isolation:isolate;place-items:center;min-height:100vh;padding:22px;display:grid;position:relative;overflow-x:clip}.access-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#fffdfce6;border:1px solid #fffffff2;border-radius:clamp(28px,5vw,38px);width:min(475px,100%);padding:clamp(32px,7vw,48px);box-shadow:0 24px 70px #8f586421}.access-icon{color:#ce6686;background:#ffe8ed;border-radius:23px;place-items:center;width:68px;height:68px;margin:0 auto 23px;display:grid}.access-card h1{color:#3d3035;margin:22px 0 14px;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,6vw,2.55rem);line-height:1.18}.access-card>p:not(.verification-error){color:#74656b;margin:0 0 26px;line-height:1.7}.access-card .development-note{color:#75658c;background:#f5f1ff;border-radius:13px;margin:-10px 0 22px;padding:12px 14px;font-size:14px;line-height:1.55}.development-note strong{color:#6c4daa}.access-input{text-align:left;margin-bottom:18px}.access-card .verification-error{text-align:left;background:#fff0f3;border-radius:12px;margin:0 0 18px;padding:11px 13px}.unlock-stage{background:radial-gradient(circle at 50% 44%,#ffe5eba3,#0000 26rem),0 0}.unlock-glow-left{animation:1.8s ease-out forwards unlock-glow}.unlock-glow-right{animation:1.8s ease-out 60ms forwards unlock-glow}.unlock-card{text-align:center;background:#fffdfcf2;border:1px solid #fffffffa;border-radius:clamp(30px,6vw,42px);flex-direction:column;justify-content:center;align-items:center;width:min(455px,100%);min-height:420px;padding:clamp(36px,8vw,53px);display:flex;box-shadow:0 30px 90px #c2607e2e,0 0 72px #ffd7e36b}.unlock-burst{place-items:center;width:164px;height:164px;margin-bottom:21px;display:grid;position:relative}.unlocked-icon{color:#ce6686;background:linear-gradient(145deg,#ffe7ef,#fff3f6);border-radius:31px;place-items:center;width:92px;height:92px;display:grid;box-shadow:0 15px 31px #cf63852e,inset 0 0 0 1px #ffffffe6}.unlock-ray{--ray-angle:0deg;opacity:0;background:#edaf61;border-radius:999px;width:5px;height:24px;animation:.65s ease-out .2s forwards ray-pop;position:absolute}.ray-one{top:8px;left:80px}.ray-two{--ray-angle:48deg;background:#df83a1;top:28px;right:25px}.ray-three{--ray-angle:50deg;background:#c18de1;bottom:26px;left:24px}.ray-four{--ray-angle:-48deg;background:#e37f9e;top:31px;left:24px}.unlock-dot{opacity:0;background:#e788a4;border-radius:50%;width:9px;height:9px;animation:.7s ease-out .28s forwards dot-pop;position:absolute}.dot-one{top:42px;right:10px}.dot-two{background:#d5a35e;bottom:30px;right:26px}.dot-three{background:#b78de2;bottom:40px;left:9px}.dot-four{width:7px;height:7px;top:57px;left:12px}.unlock-eyebrow{color:#c56483;letter-spacing:.24em;text-transform:uppercase;margin-bottom:15px;font-size:12px;font-weight:700}.unlock-card h1{color:#392d32;margin:0 0 12px;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.25rem,7vw,2.9rem);line-height:1.14}.unlock-card p{color:#806c75;margin:0;font-size:16px}.glow{z-index:-1;filter:blur(4px);pointer-events:none;border-radius:999px;position:absolute}.glow-one{background:radial-gradient(circle,#ffb4c85c,#0000 67%);width:min(48vw,560px);height:min(48vw,560px);top:9%;left:-14%}.glow-two{background:radial-gradient(circle,#cdbaff4f,#0000 67%);width:min(55vw,640px);height:min(55vw,640px);bottom:-20%;right:-16%}.floating{z-index:-1;color:#e889a8;place-items:center;animation:5s ease-in-out infinite drift;display:grid;position:absolute}.floating-heart{top:18%;left:clamp(18px,7vw,88px)}.floating-star{color:#b597ea;animation-delay:-1.8s;bottom:20%;right:clamp(22px,8vw,98px)}.topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;width:min(1080px,100%);min-height:48px;margin:0 auto;display:grid}.brand{color:#9e4e67;background:#ffffff94;border:1px solid #ffffffdb;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:11px 17px;font-family:DM Sans,Arial,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.steps{gap:7px;display:flex}.step{background:#eadfe3;border-radius:99px;width:28px;height:6px;transition:background .3s,width .3s}.step.active{background:#dd7899}.step-label{color:#8b7078;justify-self:end;font-size:14px;font-weight:600}.stage{width:min(1080px,100%);margin:clamp(24px,4vw,40px) auto;padding:34px 0 28px}.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdfcd1;border:1px solid #fffffff2;border-radius:clamp(28px,4vw,42px);width:min(920px,100%);min-height:585px;margin:auto;box-shadow:0 24px 70px #8f58641f}.hero-panel{grid-template-columns:minmax(350px,1fr) minmax(285px,.8fr);align-items:center;gap:clamp(36px,6vw,76px);padding:clamp(42px,6vw,70px);display:grid}.eyebrow{color:#c35f7f;letter-spacing:.1em;text-transform:uppercase;background:#fff0f4;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:12px;font-weight:700;display:inline-flex}.mini-date{color:#a98f96;letter-spacing:.18em;text-transform:uppercase;margin:38px 0 14px;font-size:14px}.hero-copy h1{color:#392d32;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(3.6rem,7vw,5rem);font-weight:700;line-height:.98}.hero-copy h1 span{color:#d96386;font-style:italic;display:block}.lead{color:#706169;max-width:470px;margin:25px 0 36px;font-size:17px;line-height:1.75}.primary-button,.secondary-button{min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex}.primary-button{color:#fff;background:#d96888;box-shadow:0 14px 24px #d65b7e40}.primary-button:not(:disabled):hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.secondary-button{color:#66565b;background:#fff;border:1px solid #eedde2}.sound-prompt-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3a303542;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.sound-prompt{text-align:center;background:#fffdfc;border:1px solid #fffffff2;border-radius:30px;width:min(475px,100%);padding:clamp(29px,6vw,39px);box-shadow:0 29px 75px #5a424b2e}.sound-prompt-icon{color:#4d9675;background:#e6f5ec;border-radius:21px;place-items:center;width:65px;height:65px;margin:0 auto 20px;display:grid}.sound-prompt h2{color:#44363c;margin:18px 0 11px;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.7rem,5vw,2.1rem)}.sound-prompt p{color:#76666d;margin:0 0 29px;line-height:1.65}.sound-prompt-actions{justify-content:center;gap:11px;display:flex}.gift-scene{background:linear-gradient(150deg,#fff4f0,#fff9f6);border-radius:200px 200px 28px 28px;place-items:center;height:420px;display:grid;position:relative}.cake-card{color:#da7892;background:#fff;border-radius:110px 110px 24px 24px;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:215px;height:260px;display:flex;position:relative;box-shadow:0 18px 42px #da789226}.cake-card p{color:#9f7d86;letter-spacing:.18em;text-transform:uppercase;margin:14px 0 0;font-family:DM Sans,Arial,sans-serif;font-size:13px}.cake-card strong{color:#493940;font-family:Playfair Display,Georgia,serif;font-size:27px}.ribbon{color:#cf6888;background:#fbdde6;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:absolute;bottom:70px;right:47px}.ribbon svg{width:23px}.confetti{border-radius:99px;width:9px;height:45px;position:absolute}.confetti-one{background:#edb155;top:82px;left:61px;transform:rotate(-24deg)}.confetti-two{background:#ca8ee9;top:58px;right:65px;transform:rotate(28deg)}.letter-panel{text-align:center;flex-direction:column;align-items:center;width:min(650px,100%);min-height:570px;padding:clamp(38px,6vw,60px);display:flex}.envelope{color:#d56687;background:#ffe9ed;border-radius:22px;place-items:center;width:64px;height:64px;margin-bottom:25px;display:grid}.letter-panel h2,.module-heading h2,.detail-panel h2,.thanks h2{color:#3d3035;margin:24px 0 18px;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.1rem,4vw,2.7rem);line-height:1.14}.letter-panel p:not(.letter-signature){color:#74656b;max-width:480px;margin:0;font-size:17px;line-height:1.9}.letter-signature{color:#d36888;margin:29px 0 auto;font-family:Playfair Display,Georgia,serif;font-size:21px;font-style:italic}.navigation{justify-content:space-between;gap:16px;width:100%;margin-top:35px;display:flex}.selection-panel,.detail-panel,.final-panel{padding:clamp(30px,5vw,50px)}.module-heading{text-align:center}.module-heading p{color:#75666c;margin:0 auto 30px;font-size:16px}.choice-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.choice-card{text-align:left;color:#43363d;cursor:pointer;min-height:204px;font:inherit;border:2px solid #0000;border-radius:25px;flex-direction:column;align-items:flex-start;padding:24px 20px;transition:transform .18s,border-color .18s;display:flex;position:relative}.choice-card:hover,.choice-card.selected{transform:translateY(-3px)}.choice-card.rose{background:#fff1f5}.choice-card.sage{background:#f1fff9}.choice-card.lavender{background:#f5f1ff}.choice-card.selected{border-color:#dc7697}.choice-icon{color:#cf6383;background:#ffe0e9;border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:17px;display:grid}.choice-card.sage .choice-icon,.choice-icon.sage{color:#4d9675;background:#d7eee1}.choice-card.lavender .choice-icon,.choice-icon.lavender{color:#8664cc;background:#e9e1ff}.choice-card strong{margin-bottom:8px;font-size:18px}.choice-card>span:not(.choice-icon,.checked){color:#75676c;font-size:14px;line-height:1.55}.checked{color:#fff;background:#d96888;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:18px;right:18px}.selection-panel .navigation{margin-top:34px}.chosen{background:#fff5f7;border-radius:20px;align-items:center;gap:14px;padding:12px 18px 12px 12px;display:inline-flex}.chosen .choice-icon{margin:0}.chosen span:not(.choice-icon){color:#9d8089;margin-bottom:3px;font-size:12px;display:block}.chosen strong{color:#47383e;display:block}.detail-panel h2{margin:31px 0 9px}.supporting{color:#75666c;max-width:630px;margin:0 0 31px;line-height:1.7}.extras-grid{grid-template-columns:repeat(2,minmax(210px,1fr));gap:13px;display:grid}.dinner-question{color:#9a6677;margin:-13px 0 25px;line-height:1.65}.dinner-plan-grid{grid-template-columns:repeat(2,minmax(210px,1fr));gap:14px;display:grid}.dinner-plan{color:#4b3c42;text-align:left;min-height:142px;font:inherit;cursor:pointer;background:#fff;border:1px solid #efe2e4;border-radius:21px;grid-template-rows:auto 1fr;grid-template-columns:45px 1fr;align-items:center;gap:7px 14px;padding:20px;transition:border-color .18s,background .18s,transform .18s;display:grid;position:relative}.dinner-plan:hover,.dinner-plan.selected{transform:translateY(-2px)}.dinner-plan.selected{background:#fff1f5;border-color:#d96888}.dinner-icon{color:#d26887;background:#ffe8ed;border-radius:14px;grid-row:1/span 2;place-items:center;width:45px;height:45px;display:grid}.dinner-plan strong{padding-right:24px;font-size:17px}.dinner-plan>span:not(.dinner-icon,.checked){color:#74656c;font-size:14px;line-height:1.45}.keepsake-note{color:#8669a6;margin:-13px 0 25px;line-height:1.65}.keepsake-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.keepsake-card{color:#493d52;text-align:left;min-height:190px;font:inherit;cursor:pointer;background:#faf8ff;border:1px solid #e8def2;border-radius:22px;flex-direction:column;align-items:flex-start;gap:9px;padding:20px 17px;transition:transform .18s,border-color .18s,background .18s;display:flex;position:relative}.keepsake-card:hover,.keepsake-card.selected{transform:translateY(-2px)}.keepsake-card.selected{background:#f4efff;border-color:#9e76dd}.keepsake-icon{color:#8965c9;background:#eae1ff;border-radius:14px;place-items:center;width:45px;height:45px;margin-bottom:4px;display:grid}.keepsake-card strong{padding-right:21px;font-size:16px}.keepsake-card>span:not(.keepsake-icon,.checked){color:#756a81;font-size:13px;line-height:1.48}.keepsake-card .checked{background:#9170ce}.journey{margin-top:27px}.journey h2{margin:16px 0 9px}.journey-badge{color:#4d8e72;background:#e6f5ec;border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.journey-intro{color:#75666c;max-width:620px;margin:0 0 22px;line-height:1.68}.journey-cinematic{background:linear-gradient(165deg,#edf9fa,#f6f8f1);border:1px solid #e3ebe7;border-radius:29px;min-height:580px;position:relative;overflow:hidden}.journey-prelude-shell{position:relative}.journey-skip-button{z-index:8;color:#49595bc4;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff57;border:1px solid #ffffff75;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;transition:background .22s,color .22s,transform .22s;position:absolute;bottom:17px;right:18px}.journey-skip-button:hover{color:#4f6060;background:#ffffffb0;transform:translateY(-1px)}.journey-skip-button:focus-visible{outline-offset:2px;outline:2px solid #d26c8b}.skip-prompt-icon{color:#d26c8b;background:#fff0f4}.flag-overlay{z-index:5;perspective:900px;background:linear-gradient(165deg,#edf9fa,#f6f8f1);align-content:center;place-items:center;gap:38px;display:grid;position:absolute;inset:0}.flag-overlay:after{content:"";filter:blur(16px);background:#2d3e571f;border-radius:50%;width:290px;height:29px;transform:translateY(-43px)}.flag-hero{transform-style:preserve-3d}.norway-flag{aspect-ratio:22/16;background:#e84b58;border-radius:18px;width:clamp(238px,42vw,350px);position:relative;overflow:hidden;box-shadow:0 23px 44px #53484d2e}.norway-flag span{display:block;position:absolute}.flag-white-horizontal{background:#fff;height:18%;top:41%;left:0;right:0}.flag-white-vertical{background:#fff;width:13%;top:0;bottom:0;left:30%}.flag-blue-horizontal{background:#113b73;height:10%;top:45%;left:0;right:0}.flag-blue-vertical{background:#113b73;width:7%;top:0;bottom:0;left:33%}.flag-overlay p{color:#536c67;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(20px,3vw,26px)}.road-scene{perspective:700px;background:radial-gradient(circle at 50% 22%,#ffeed1b8,#0000 18%),linear-gradient(#e2f5fa 0 38%,#cfe4dc 38% 100%)}.road-sky{position:absolute;inset:0 0 42%;overflow:hidden}.road-mountain{clip-path:polygon(0 100%,37% 22%,53% 58%,66% 35%,100% 100%);background:#c3ddd6;width:62%;height:47%;position:absolute;bottom:-2px}.road-mountain.left{left:-7%}.road-mountain.right{background:#b7d6cf;right:-7%;transform:scaleX(-1)}.pov-road{clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);transform-origin:top;background:linear-gradient(90deg,#203c62,#16406c 48%,#203c62);width:min(69%,500px);position:absolute;top:35%;bottom:-4px;left:50%;transform:translate(-50%)}.pov-road:before,.pov-road:after{content:"";position:absolute;inset:0}.pov-road:before{clip-path:polygon(46.5% 0,47% 0,4% 100%,0 100%,47% 0,53% 0,100% 100%,96% 100%,53.5% 0);opacity:.95;background:#fff}.pov-road span{clip-path:polygon(49.7% 0,50.3% 0,54% 100%,46% 100%);background:repeating-linear-gradient(#0000 0 12%,#ffffffdb 12% 18%,#0000 18% 32%);animation:1.25s linear infinite road-lines;position:absolute;inset:0}.road-horizon{color:#7b9d97;letter-spacing:.26em;font-size:12px;font-weight:700;position:absolute;top:29%;left:50%;transform:translate(-50%)}.fjord-scene .pov-road{opacity:.24;transition:opacity 2.5s}.fjord-scene .road-horizon{opacity:0;transition:opacity 1.2s}.fjord-arrival{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fjord-night{background:radial-gradient(circle at 50% 30%,#436f8b26,#0000 25%),linear-gradient(#182842e6 0%,#264158db 47%,#304b53ad 100%);position:absolute;inset:0}.aurora-curtain{z-index:1;filter:blur(2px);height:155px;position:absolute;top:26px;left:0;right:0}.aurora-curtain span{filter:blur(13px);border-radius:50%;display:block;position:absolute;transform:rotate(-7deg)}.aurora-curtain span:first-child{border-top:18px solid #6bedc4cc;border-radius:50% 44% 0 0;width:70%;height:65px;top:22px;left:9%}.aurora-curtain span:last-child{border-top:16px solid #a378de94;width:64%;height:55px;top:54px;right:4%}.fjord-cliff{z-index:2;transform-origin:bottom;background:linear-gradient(155deg,#304756,#152635);height:66%;position:absolute;bottom:-12px}.fjord-cliff.left{clip-path:polygon(0 100%,0 39%,18% 28%,37% 35%,57% 8%,72% 22%,100% 48%,89% 100%);width:44%;left:-5%}.fjord-cliff.right{clip-path:polygon(11% 100%,0 49%,17% 37%,37% 11%,55% 27%,72% 19%,100% 36%,100% 100%);width:47%;right:-5%}.fjord-cliff:after{content:"";background:linear-gradient(145deg,#ffffff26,#0000 28%);position:absolute;inset:0}.fjord-water{z-index:2;clip-path:polygon(42% 0,59% 0,100% 100%,0 100%);background:linear-gradient(#537b8f85,#19374aeb),repeating-linear-gradient(170deg,#bee6e12e 0 2px,#0000 2px 21px);height:53%;position:absolute;bottom:-8px;left:28%;right:29%}.snowfall{z-index:4;position:absolute;inset:0}.snowfall span{background:#fff;border-radius:50%;width:5px;height:5px;position:absolute;top:0;box-shadow:0 0 8px #ffffffa6}.fjord-caption{z-index:5;color:#f2f8f9;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#10213757;border:1px solid #ffffff40;border-radius:15px;padding:12px 15px;position:absolute;top:37px;left:31px}.fjord-caption span{color:#abdccb;letter-spacing:.17em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.fjord-caption strong{font-family:Playfair Display,Georgia,serif;font-size:clamp(18px,3vw,23px);font-weight:500}.returning-flag{z-index:4;justify-content:center;display:flex;position:absolute;top:23px;left:0;right:0}.pov-passage{z-index:2;will-change:opacity, transform;align-items:flex-end;gap:13px;display:flex;position:absolute;top:39%}.pov-passage.left{left:clamp(20px,6vw,52px)}.pov-passage.right{flex-direction:row-reverse;right:clamp(20px,6vw,52px)}.pov-sign{color:#415752;background:#ffffffeb;border-radius:14px;min-width:145px;padding:12px 15px;font-size:17px;font-weight:700;box-shadow:0 13px 32px #48605e21}.pov-sign small{color:#91a7a1;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:10px;display:block}.pov-sign strong{display:block}.pov-sign span{color:#839b95;margin-top:3px;font-size:11px;font-weight:500;display:block}.roadside-object{filter:drop-shadow(0 8px 8px #314e4524);flex:none;width:99px;height:100px;position:relative}.roadside-object i{display:block;position:absolute}.scenery-gate i:first-child{background:#eadabf;border-radius:3px 3px 1px 1px;width:73px;height:12px;top:26px;left:12px}.scenery-gate i:nth-child(2),.scenery-gate i:nth-child(3){background:linear-gradient(90deg,#f5ead7,#dfcbac);width:10px;height:46px;top:38px}.scenery-gate i:nth-child(2){left:24px;box-shadow:22px 0 #ead9bd,43px 0 #e0cdb0}.scenery-gate i:nth-child(3){border-radius:4px;width:68px;height:5px;top:84px;left:15px}.scenery-gate i:nth-child(4){background:#d2ad83;border-radius:8px 8px 2px 2px;width:24px;height:9px;top:18px;left:39px}.scenery-houses i{border-radius:3px 3px 1px 1px;width:24px;bottom:11px}.scenery-houses i:nth-child(-n+3):before{content:"";border-bottom:10px solid;border-left:12px solid #0000;border-right:12px solid #0000;position:absolute;top:-10px;left:0}.scenery-houses i:first-child{color:#c97968;background:#e79779;height:48px;left:8px}.scenery-houses i:nth-child(2){color:#d4b56d;background:#efd68f;height:63px;left:37px}.scenery-houses i:nth-child(3){color:#79aaa9;background:#9ec8c7;height:42px;left:66px}.scenery-houses i:nth-child(4){background:#a6d5d5;border-radius:50%;height:5px;bottom:3px;left:3px;right:3px}.scenery-tower i:first-child{background:#a6d7da;border-radius:50%;height:9px;bottom:10px;left:5px;right:4px;box-shadow:0 8px #a6d7da70}.scenery-tower i:nth-child(2){background:#dfaa91;border-radius:5px 5px 2px 2px;width:26px;height:42px;bottom:19px;left:37px}.scenery-tower i:nth-child(3){clip-path:polygon(50% 0,100% 100%,0 100%);background:#d48d78;width:16px;height:27px;bottom:60px;left:42px}.scenery-tower i:nth-child(4){background:#fff2d9;border-radius:50%;width:5px;height:5px;bottom:34px;left:45px;box-shadow:10px 0 #fff2d9,0 10px #fff2d9,10px 10px #fff2d9}.scenery-lake i:first-child{background:linear-gradient(#9ed6da,#78bdc5);border-radius:54% 46% 48% 52%;height:23px;bottom:8px;left:0;right:1px}.scenery-lake i:nth-child(2),.scenery-lake i:nth-child(3){clip-path:polygon(50% 0,100% 82%,68% 82%,68% 100%,32% 100%,32% 82%,0 82%);background:#508c74;bottom:27px}.scenery-lake i:nth-child(2){width:30px;height:62px;left:10px}.scenery-lake i:nth-child(3){background:#71a58c;width:26px;height:50px;left:39px}.scenery-lake i:nth-child(4){background:#f5fcfab8;border-radius:999px;width:27px;height:3px;bottom:14px;right:12px;box-shadow:-16px 8px #f5fcfa85}.scenery-forest i:first-child,.scenery-forest i:nth-child(2){clip-path:polygon(50% 0,100% 82%,68% 82%,68% 100%,32% 100%,32% 82%,0 82%);background:#458672;bottom:9px}.scenery-forest i:first-child{width:39px;height:75px;left:3px}.scenery-forest i:nth-child(2){background:#6da18a;width:32px;height:63px;left:29px}.forest-deer{filter:drop-shadow(0 5px 4px #4a332821);background:#8e684c;width:43px;height:43px;display:block;position:absolute;bottom:15px;right:0;-webkit-mask:url("data:image/svg+xml,%3c!--%20tags:%20[animal,%20christmas,%20santa,%20forest,%20deer,%20creature,%20wildlife,%20nature,%20living,%20organism]%20category:%20Animals%20version:%20'1.98'%20unicode:%20'f4c5'%20--%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M3%203c0%202%201%203%204%203c2%200%203%201%203%203'%20/%3e%3cpath%20d='M21%203c0%202%20-1%203%20-4%203c-2%200%20-3%20.333%20-3%203'%20/%3e%3cpath%20d='M12%2018c-1%200%20-4%20-3%20-4%20-6c0%20-2%201.333%20-3%204%20-3s4%201%204%203c0%203%20-3%206%20-4%206'%20/%3e%3cpath%20d='M15.185%2014.889l.095%20-.18a4%204%200%201%201%20-6.56%200'%20/%3e%3cpath%20d='M17%203c0%201.333%20-.333%202.333%20-1%203'%20/%3e%3cpath%20d='M7%203c0%201.333%20.333%202.333%201%203'%20/%3e%3cpath%20d='M7%206c-2.667%20.667%20-4.333%201.667%20-5%203'%20/%3e%3cpath%20d='M17%206c2.667%20.667%204.333%201.667%205%203'%20/%3e%3cpath%20d='M8.5%2010l-1.5%20-1'%20/%3e%3cpath%20d='M15.5%2010l1.5%20-1'%20/%3e%3cpath%20d='M12%2015h.01'%20/%3e%3c/svg%3e") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3c!--%20tags:%20[animal,%20christmas,%20santa,%20forest,%20deer,%20creature,%20wildlife,%20nature,%20living,%20organism]%20category:%20Animals%20version:%20'1.98'%20unicode:%20'f4c5'%20--%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M3%203c0%202%201%203%204%203c2%200%203%201%203%203'%20/%3e%3cpath%20d='M21%203c0%202%20-1%203%20-4%203c-2%200%20-3%20.333%20-3%203'%20/%3e%3cpath%20d='M12%2018c-1%200%20-4%20-3%20-4%20-6c0%20-2%201.333%20-3%204%20-3s4%201%204%203c0%203%20-3%206%20-4%206'%20/%3e%3cpath%20d='M15.185%2014.889l.095%20-.18a4%204%200%201%201%20-6.56%200'%20/%3e%3cpath%20d='M17%203c0%201.333%20-.333%202.333%20-1%203'%20/%3e%3cpath%20d='M7%203c0%201.333%20.333%202.333%201%203'%20/%3e%3cpath%20d='M7%206c-2.667%20.667%20-4.333%201.667%20-5%203'%20/%3e%3cpath%20d='M17%206c2.667%20.667%204.333%201.667%205%203'%20/%3e%3cpath%20d='M8.5%2010l-1.5%20-1'%20/%3e%3cpath%20d='M15.5%2010l1.5%20-1'%20/%3e%3cpath%20d='M12%2015h.01'%20/%3e%3c/svg%3e") 50%/contain no-repeat}.scenery-aurora i:first-child,.scenery-aurora i:nth-child(2){border-top:6px solid #8fdbbd;border-radius:55% 45% 0 0;width:85px;height:36px;top:17px;left:4px;transform:rotate(-8deg)}.scenery-aurora i:nth-child(2){opacity:.72;border-color:#a88fcb;width:75px;top:28px;left:15px}.scenery-aurora i:nth-child(3){clip-path:polygon(0 100%,27% 35%,42% 66%,64% 13%,100% 100%);background:#8ba9aa;height:40px;bottom:12px;left:5px;right:5px}.scenery-aurora i:nth-child(4){background:#f0d09d;border-radius:3px 3px 0 0;width:22px;height:17px;bottom:12px;left:38px}.journey-map-stage{isolation:isolate;background:radial-gradient(circle at 48% -4%,#8bd0c329,#0000 44%),linear-gradient(166deg,#e9f7f6 0%,#edf7f3 48%,#f5f8ef 100%);border-radius:33px;padding:38px 18px 18px;transition:background 5.8s,box-shadow 5.8s;position:relative;overflow:hidden}.journey-map-stage.destination-glow{background:radial-gradient(circle at 48% -4%,#7dd6b726,#0000 44%),linear-gradient(166deg,#14283c 0%,#172d46 40%,#213d50 100%);box-shadow:0 22px 42px #08142238}.map-aurora-sky{z-index:0;pointer-events:none;opacity:0;transition:opacity 5.8s;position:absolute;inset:0;overflow:hidden}.destination-glow .map-aurora-sky{opacity:1}.map-aurora-sky:after{content:"";opacity:.24;background-image:radial-gradient(circle at 15% 19%,#fff 0 1px,#0000 1.6px),radial-gradient(circle at 80% 12%,#fff 0 1px,#0000 1.5px),radial-gradient(circle at 64% 33%,#fff 0 1px,#0000 1.5px),radial-gradient(circle at 31% 37%,#fff 0 1px,#0000 1.6px);background-size:173px 171px,211px 201px,229px 216px,189px 190px;position:absolute;inset:0}.map-aurora-sky span{filter:blur(24px);opacity:.6;animation:12s ease-in-out infinite alternate map-aurora-drift;display:block;position:absolute}.map-aurora-sky span:first-child{border-top:42px solid #5ae3b3ba;border-radius:53% 47% 0 0;width:78%;height:142px;top:-33px;left:-9%;transform:rotate(-8deg)}.map-aurora-sky span:nth-child(2){border-top:34px solid #9c77d49c;border-radius:54% 46% 0 0;width:76%;height:130px;animation-delay:-4s;top:41px;right:-12%;transform:rotate(8deg)}.map-aurora-sky span:nth-child(3){border-top:24px solid #52bfb659;border-radius:53% 47% 0 0;width:63%;height:98px;animation-delay:-8s;top:94px;left:16%;transform:rotate(-4deg)}.journey-flag-cap{z-index:3;width:fit-content;position:absolute;top:0;right:23px}.norway-flag.compact{border-radius:9px;width:91px;box-shadow:0 12px 25px #53484d26}.route-map{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 80% 13%,#fff7dc94,#0000 21%),radial-gradient(circle at 17% 78%,#dcf3f085,#0000 25%),linear-gradient(145deg,#edf9fae6 0%,#e7f5f1e0 52%,#f3f8efe8 100%);border:1px solid #def1ebb8;border-radius:29px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,0 20px 38px #05121e38}.route-map:before{content:"";background-image:linear-gradient(#69a29d0f 1px,#0000 1px),linear-gradient(90deg,#69a29d0f 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 75%);mask-image:radial-gradient(circle,#000 10%,#0000 75%)}.route-map-header{z-index:1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffffb8;border-radius:15px;padding:10px 14px;position:absolute;top:21px;left:23px;box-shadow:0 7px 22px #4e6d6714}.route-map-header span{color:#77978d;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:600;display:block}.route-map-header strong{color:#40534e;font-size:14px}.scandinavia-map{width:100%;height:auto;display:block;position:relative}.map-land{fill:url(#land-north);stroke:#d4e2d9;stroke-linejoin:round;stroke-width:2px}.map-land.denmark{fill:#f9f1e3}.map-land.norway{fill:#f4efe5}.map-land.sweden{fill:url(#land-north)}.map-land.finland{fill:#e6f1e7}.map-label,.map-country,.map-ocean{fill:#83aa9f;letter-spacing:.18em;font-size:11px;font-weight:600}.map-country{fill:#afbaaa;letter-spacing:.13em;font-size:9px}.map-ocean{fill:#a2c8c3;font-size:10px}.route-shadow{fill:none;stroke:#68898229;stroke-linecap:round;stroke-width:16px}.route-track{fill:none;stroke:#fff;stroke-dasharray:4 15;stroke-linecap:round;stroke-width:10px}.route-progress{fill:none;stroke:url(#route-color);stroke-dasharray:1;stroke-dashoffset:1px;stroke-linecap:round;stroke-width:5px;animation:32s linear forwards route-travel}.stop-pulse{fill:#ea91aa;opacity:.2;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite route-pulse}.stop-dot{fill:#db728e;stroke:#fff;stroke-width:3px}.stop text{fill:#4d5c58;font-size:13px;font-weight:700}.stop.destination .stop-dot{fill:#ac73bb}.stop.destination .stop-pulse{fill:#bb8bc9}.stop.short-stay .stop-dot{fill:#e7a076}.stop.short-stay .stop-pulse{fill:#efb78f}.stop .destination-note{fill:#80708b;letter-spacing:.04em;font-size:10px;font-weight:500}.route-car-image{filter:drop-shadow(0 8px 7px #655d5d38);transform-box:fill-box;transform-origin:50%;animation:1.35s ease-in-out infinite car-float}.route-moment{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffffe0;border:1px solid #ffffffd9;border-radius:17px;width:min(245px,100% - 36px);padding:14px 15px;position:absolute;bottom:20px;right:20px;box-shadow:0 13px 32px #4c6a651f}.route-moment span{color:#d26c8b;letter-spacing:.11em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:700;display:block}.route-moment strong{color:#425650;font-size:17px;display:block}.route-moment p{color:#70837e;margin:6px 0 0;font-size:12px;line-height:1.52}.route-stops{grid-template-columns:repeat(6,1fr);gap:9px;margin-top:13px;display:grid}.journey-map-actions{z-index:2;justify-content:flex-end;margin-top:13px;display:flex;position:relative}.journey-replay-button{color:#627c74;font:inherit;cursor:pointer;background:#ffffff9e;border:1px solid #d5e8e0f0;border-radius:999px;align-items:center;gap:7px;padding:9px 15px;font-size:12px;font-weight:700;transition:background .22s,border-color .22s,color .22s,transform .22s;display:inline-flex}.journey-replay-button:hover{color:#be607e;background:#fff5f7;border-color:#f0ccd7;transform:translateY(-1px)}.journey-replay-button:focus-visible{outline-offset:2px;outline:2px solid #d26c8b}.route-stops button{color:#7a8f87;min-height:55px;font:inherit;text-align:left;cursor:pointer;background:#f4fbf7;border:0;border-radius:15px;flex-direction:column;gap:2px;padding:10px 12px;font-size:12px;transition:background .24s,box-shadow .24s,transform .24s;display:flex;position:relative}.route-stops button:hover{transform:translateY(-2px);box-shadow:0 10px 19px #45635a1a}.route-stops button:focus-visible{outline-offset:2px;outline:2px solid #d26c8b}.route-stops strong{color:#4a5c55;font-size:13px}.route-stops button.current{color:#c76583;background:#fff0f4;box-shadow:inset 0 0 0 1px #f5d6df}.route-stops button.current strong{color:#b84f70}.route-stops button.selected{background:#fff8f3;box-shadow:inset 0 0 0 1px #f0d6cf,0 10px 22px #4a5e5817}.stop-open-icon{color:#d1899c;transition:transform .24s;position:absolute;bottom:10px;right:10px;transform:rotate(90deg)}.route-stops button.selected .stop-open-icon{transform:rotate(-90deg)}.stop-details{background:radial-gradient(circle at 94% 7%,#ffd9e252,#0000 30%),#ffffffb5;border:1px solid #e0efe8eb;border-radius:22px;margin-top:14px;padding:clamp(18px,3vw,23px);overflow:hidden;box-shadow:0 14px 31px #37524c12}.stop-details-copy>span{color:#cb6687;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700}.stop-details-copy h3{color:#425650;margin:5px 0 7px;font-family:Fraunces,Georgia,serif;font-size:clamp(20px,3vw,24px)}.stop-details-copy p{color:#667d76;max-width:620px;margin:0;line-height:1.6}.stop-detail-highlights{flex-wrap:wrap;gap:9px;margin-top:17px;display:flex}.stop-detail-highlights span{color:#526b63;background:#f3faf6;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:600;display:inline-flex}.stop-detail-highlights svg{color:#ce728e}.stop-detail-note{color:#8e6975;background:#fdf3f6;border-radius:14px;margin:17px 0 0;padding:12px 14px;font-size:12px;line-height:1.55}@keyframes road-lines{to{transform:translateY(32%)}}@keyframes map-aurora-drift{0%{opacity:.4;transform:translate(-14px)rotate(-7deg)scaleY(.92)}to{opacity:.76;transform:translate(18px)rotate(3deg)scaleY(1.12)}}@keyframes route-travel{0%,12%{stroke-dashoffset:1px}30%,36%{stroke-dashoffset:.753px}52%,57%{stroke-dashoffset:.41px}79%,85%{stroke-dashoffset:.203px}95%,to{stroke-dashoffset:0}}@keyframes route-pulse{0%{opacity:.34;transform:scale(.55)}80%,to{opacity:0;transform:scale(1.22)}}@keyframes car-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-3px)rotate(1deg)}}.extra{color:#615258;height:66px;font:inherit;cursor:pointer;background:#fff;border:1px solid #efe2e4;border-radius:18px;align-items:center;gap:13px;padding:0 19px;font-weight:600;transition:border-color .18s,background .18s;display:flex}.extra svg{color:#d16b89}.extra.selected{color:#49383f;background:#fff1f5;border-color:#d96888}.compact h2{margin:18px 0 25px}.summary{background:#fff1f5;border-radius:20px;margin-bottom:23px;padding:18px 22px}.summary strong{color:#3e3036;font-size:18px}.summary p{color:#b55875;margin:8px 0 0}.wish-form{gap:20px;display:grid}.wish-form label{color:#493940;gap:10px;font-weight:700;display:grid}.wish-form textarea{resize:none;color:#45383e;background:#fff;border:1px solid #ecdee2;border-radius:18px;outline:none;padding:15px 17px;font-weight:400;transition:border-color .15s,box-shadow .15s}.wish-form textarea:focus{border-color:#d96888;box-shadow:0 0 0 4px #d9688821}.submission-error{color:#b74361;background:#fff0f3;border-radius:13px;margin:0;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5}.wish-success{text-align:center;max-width:540px;margin:54px auto 20px}.wish-success-icon{color:#d96888;background:#ffe8ed;border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 23px;display:grid}.wish-success h2{color:#44353c;margin:0 0 14px;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,5vw,2.5rem)}.wish-success>p{color:#74646b;margin:0;font-size:16px;line-height:1.7}.wish-success .wish-change-note{color:#9c5870;background:#fff1f5;border-radius:16px;margin-top:23px;padding:15px 18px;font-size:14px;line-height:1.55}.locked-surprise{color:#766582;background:#faf7ff;border:1px solid #e7def1;border-radius:18px;align-items:center;gap:12px;min-height:76px;padding:16px 18px;font-weight:500;display:flex}.locked-surprise svg{color:#8965c9;flex:none}.birthdate-label{color:#66565d;gap:7px;font-size:13px;font-weight:700;display:grid}.birthdate-label input{color:#44363c;background:#fff;border:1px solid #ead7df;border-radius:13px;outline:none;height:49px;padding:0 14px}.birthdate-label input:focus{border-color:#d96888;box-shadow:0 0 0 4px #d9688821}.verification-error{color:#b74361;margin:11px 0 0;font-size:13px;font-weight:600;line-height:1.45}.full{width:100%}.back-link{color:#856c73;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:18px auto 0;display:flex}.thanks{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:470px;display:flex}.thank-icon{color:#d86889;background:#ffe9ee;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.thanks p{color:#73636a;max-width:430px;margin:0 0 30px;font-size:17px;line-height:1.7}footer{color:#9c848b;margin:0 auto;font-size:13px}@keyframes drift{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-12px)rotate(4deg)}}@keyframes ray-pop{0%{opacity:0;transform:rotate(var(--ray-angle)) scale(.2)}55%{opacity:1;transform:rotate(var(--ray-angle)) scale(1.17)}to{opacity:.78;transform:rotate(var(--ray-angle)) scale(1)}}@keyframes dot-pop{0%{opacity:0;transform:scale(0)translateY(8px)}60%{opacity:1;transform:scale(1.18)translateY(-3px)}to{opacity:.9;transform:scale(1)translateY(0)}}@keyframes unlock-glow{0%{opacity:.4;transform:scale(.82)}to{opacity:1;transform:scale(1.15)}}@keyframes page-aurora-drift{0%{transform:translate(-3%)rotate(-2deg)}to{transform:translate(4%,24px)rotate(3deg)}}@keyframes page-shooting-star{0%{opacity:0;transform:translate(0,0)rotate(-27deg)scaleX(.35)}12%{opacity:1;transform:translate(-10vw,6vh)rotate(-27deg)scaleX(1)}72%{opacity:1;transform:translate(-87vw,50vh)rotate(-27deg)scaleX(1)}to{opacity:0;transform:translate(-112vw,64vh)rotate(-27deg)scaleX(.58)}}@media (prefers-reduced-motion:reduce){.floating,.unlock-glow-left,.unlock-glow-right,.unlock-ray,.unlock-dot,.route-progress,.stop-pulse,.route-car-image,.pov-road span,.snowfall span,.map-aurora-sky span,.page-aurora span,.page-shooting-star{animation:none}.route-progress{stroke-dashoffset:0}}@media (width<=760px){.birthday-shell{padding:17px 15px 18px}.topbar{grid-template-columns:1fr auto}.step-label{display:none}.steps{justify-self:end}.step{width:19px}.stage{margin:20px auto;padding:23px 0}.panel{min-height:0}.hero-panel{flex-direction:column-reverse;gap:25px;padding:25px 22px 31px;display:flex}.gift-scene{border-radius:120px 120px 22px 22px;width:100%;height:238px}.cake-card{width:148px;height:178px}.cake-card svg{width:39px}.cake-card strong{font-size:22px}.cake-card p{margin-top:2px}.ribbon{width:46px;height:46px;bottom:25px;right:38px}.hero-copy h1{font-size:clamp(3rem,15vw,4rem)}.mini-date{margin-top:25px}.lead{margin:20px 0 27px}.letter-panel,.selection-panel,.detail-panel,.final-panel{padding:30px 20px}.choice-grid,.extras-grid,.dinner-plan-grid,.keepsake-grid{grid-template-columns:1fr}.choice-card{min-height:142px}.journey{margin-top:23px}.route-map{border-radius:23px}.journey-cinematic{border-radius:23px;min-height:455px}.norway-flag{width:min(244px,72vw)}.flag-overlay{gap:21px}.pov-road{width:86%}.pov-sign{min-width:113px;padding:10px 12px;font-size:15px}.pov-passage{gap:7px}.pov-passage.left{left:8px}.pov-passage.right{right:8px}.fjord-caption{padding:10px 12px;top:20px;left:17px}.fjord-water{left:23%;right:24%}.fjord-cliff.left{width:48%}.fjord-cliff.right{width:51%}.roadside-object{transform-origin:bottom;width:69px;height:79px;transform:scale(.78)}.journey-map-stage{border-radius:25px;padding:30px 8px 8px}.journey-flag-cap{right:13px}.norway-flag.compact{width:69px}.route-map-header{padding:8px 11px;top:13px;left:13px}.route-map-header strong{font-size:12px}.scandinavia-map{object-fit:cover;min-height:396px}.route-stops{grid-template-columns:repeat(2,1fr)}.route-moment{width:calc(100% - 24px);margin:-3px 12px 12px;padding:11px 12px;position:relative;bottom:auto;right:auto}.navigation .primary-button,.navigation .secondary-button{padding:0 17px}.sound-prompt{padding:28px 20px 22px}.sound-prompt-actions{flex-direction:column-reverse}.sound-prompt-actions .primary-button,.sound-prompt-actions .secondary-button{width:100%}.floating{display:none}}
