:root{--ink:#173b73;--paper:#fffdf6;--cream:#fff7e9;--coral:#f85b46;--yellow:#f6c95c;--sky:#b8ddec;--peach:#ffd4bd;--muted:#485372;--line:#d5d8df;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{margin:0;color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.55}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;z-index:30;padding:12px;background:var(--paper)}.skip:focus{top:8px}.header{height:88px;max-width:1220px;padding:10px 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand{display:block;line-height:0}.brand img{display:block}.motion-toggle{background:transparent;color:var(--ink);font-size:11px;min-height:44px;padding:10px 0 10px 15px;display:flex;align-items:center;gap:9px}.motion-toggle span{display:grid;place-items:center;width:27px;height:27px;border:1px solid currentColor;border-radius:50%;font-size:12px}.app-shell{position:relative;isolation:isolate;min-height:calc(100svh - 88px);--scene-color:var(--cream)}.scene{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none;background:var(--scene-color);transition:background 450ms var(--ease)}.scene-shape{position:absolute;transition:transform 600ms var(--ease),background 450ms,opacity 450ms}.scene-orbit{width:440px;height:440px;border-radius:50%;background:var(--coral);right:-310px;top:19%;transform:rotate(-25deg)}.scene-loop{width:500px;height:220px;border:42px solid var(--yellow);border-radius:50%;left:-370px;bottom:2%;transform:rotate(35deg)}.scene-star{width:220px;height:220px;line-height:1;color:var(--yellow);right:2%;bottom:-110px;transform:rotate(10deg)}.scene-star svg{width:100%;height:100%;display:block}.app-shell[data-view=landing] .scene-shape{opacity:0}.app-shell[data-scene="1"],.app-shell[data-scene="4"],.app-shell[data-scene="6"]{--scene-color:var(--ink)}.app-shell[data-scene="2"],.app-shell[data-scene="5"]{--scene-color:var(--coral)}.app-shell[data-scene="3"]{--scene-color:var(--sky)}.app-shell[data-view=landing]{--scene-color:var(--cream)}.app-shell[data-scene="1"] .scene-loop,.app-shell[data-scene="5"] .scene-loop{border-color:var(--coral);transform:translateY(-180px) rotate(-40deg)}.app-shell[data-scene="2"] .scene-orbit,.app-shell[data-scene="5"] .scene-orbit{background:var(--sky);transform:translateY(190px) rotate(40deg)}.app-shell[data-scene="3"] .scene-star{transform:translate(-130px,-80px) rotate(-15deg)}.app-shell[data-scene="4"] .scene-orbit{transform:translate(-110px,230px);background:var(--coral)}.app-shell[data-scene="6"] .scene-star{color:var(--coral);transform:translate(-30px,-80px) rotate(40deg)}body:has(.app-shell[data-view=form]) .header{height:68px}body:has(.app-shell[data-view=form][data-scene="1"]) .header,body:has(.app-shell[data-view=form][data-scene="4"]) .header,body:has(.app-shell[data-view=form][data-scene="6"]) .header{background:var(--cream);border-radius:0 0 20px 20px}
/* One graphic language: words, an elastic ribbon and a warm, imperfect sun. */
.hero{overflow:clip;max-width:1180px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;column-gap:24px;padding:38px 24px 64px;position:relative}.hero-heading{position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.08em;line-height:1.3;margin:0 0 22px}.hero h1{font-family:'Arial Black',var(--font);font-weight:900;font-size:clamp(72px,7.8vw,106px);line-height:.99;letter-spacing:-.065em;margin:0}.hero h1>span{display:block;width:fit-content;animation:headline-in 520ms var(--ease) backwards}.hero h1>span:nth-child(2){animation-delay:80ms}.hero h1>span:nth-child(3){animation-delay:160ms}.song-line{position:relative;isolation:isolate;transform:rotate(-3deg);margin:10px 0 0 1px;padding:0 8px 7px 0;white-space:nowrap}.song-line:before{content:'';position:absolute;z-index:-1;inset:-2px -9px -3px -9px;background:var(--coral);clip-path:polygon(1% 4%,98% 0,100% 90%,3% 100%,0 12%)}.hero-action{grid-column:1;grid-row:2;margin-top:31px;max-width:410px}.intro{font-size:18px;line-height:1.45;letter-spacing:-.02em;margin:0 0 21px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:12px 18px 12px 23px;border:2px solid var(--ink);border-radius:15px;background:var(--ink);color:var(--paper);font-weight:700;font-size:16px;letter-spacing:-.02em;transition:transform 150ms,box-shadow 150ms}.primary>span[aria-hidden]{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--yellow);color:var(--ink);font:23px/1 Arial,sans-serif;flex-shrink:0}.primary:active{transform:translateY(2px)}.hero .primary{width:100%;box-shadow:4px 5px 0 #173b7324}.hero-note{font-size:12px;line-height:1.5;margin:13px 0 0;max-width:380px}.orbit-art{grid-column:2;grid-row:1/3;position:relative;align-self:center;aspect-ratio:1/1.05;width:100%;min-width:0;margin-top:-40px}.orbit-path{position:absolute;inset:6% -7% 0;width:114%;height:87%;color:var(--ink);overflow:visible}.ribbon-path{stroke-dasharray:1;stroke-dashoffset:0;animation:draw-ribbon 900ms 220ms var(--ease) backwards}.word-capsule{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:clamp(21px,2.4vw,31px);font-weight:800;letter-spacing:-.055em;padding:16px 23px;border:2px solid var(--ink);border-radius:18px;box-shadow:5px 6px 0 var(--ink);white-space:nowrap;animation:capsule-in 420ms 350ms var(--ease) backwards,drift 6s 800ms ease-in-out 2;--angle:-8deg;transform:rotate(var(--angle))}.capsule-name{left:2%;top:17%;background:var(--peach);--angle:-9deg}.capsule-memory{right:-1%;top:43%;background:var(--sky);--angle:6deg;animation-delay:450ms,1200ms}.capsule-song{left:5%;bottom:9%;background:var(--coral);--angle:-5deg;animation-delay:550ms,1500ms}.capsule-heart{font:38px/.6 Arial,sans-serif}.capsule-song>span{font:34px/1 Arial,sans-serif}.orbit-sun{position:absolute;right:5%;top:6%;width:100px;height:100px;color:var(--coral);animation:sun-sway 10s ease-in-out 1}.art-spark{position:absolute;left:0;bottom:6%;font-size:65px;transform:translateX(-45px);line-height:1}.orbit-label{position:absolute;right:0;bottom:0;font-size:10px;letter-spacing:.12em;font-weight:750;transform:rotate(-4deg)}
.how-it-works{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;max-width:1180px;padding:75px 50px 90px;margin:0 auto;background:var(--peach);border-radius:45px 45px 0 0}.story-postcard{align-self:center;position:relative;border:8px solid var(--ink);border-radius:80px 16px 18px 18px;background:var(--ink);overflow:hidden;transform:rotate(-4deg);max-width:380px}.story-postcard img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover}.story-postcard>span{display:block;color:var(--paper);font-size:13px;font-weight:700;padding:10px 5px 3px;text-align:center}.how-copy h2{font-family:'Arial Black',var(--font);font-size:48px;line-height:1.06;letter-spacing:-.05em;margin:0 0 35px}.how-copy h2 span{font-weight:800}.how-copy ol{list-style:none;margin:0;padding:0;display:grid;gap:25px}.how-copy li{display:flex;gap:19px}.how-copy li>span{font-size:12px;font-weight:800;padding-top:3px}.how-copy h3{font-size:17px;margin:0 0 4px;letter-spacing:-.02em}.how-copy li p{font-size:14px;line-height:1.5;margin:0;max-width:300px}
/* A quiet, solid surface inside an expressive scene. No ornament covers a field. */
.studio{max-width:720px;margin:12px auto 0;padding:0 0 46px;position:relative}.studio-form{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:28px;padding:28px 38px 27px;box-shadow:8px 9px 0 #173b7333;min-width:0}.studio-rail{display:none}.wizard-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:8px}.step-meta{display:flex;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.4;font-weight:600}.stage-status{font-size:10px;color:var(--muted);font-weight:400;margin-left:7px}.text-button{min-height:44px;background:none;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.wizard-top .text-button{text-decoration:none;font-size:12px;flex-shrink:0}.wizard-top .text-button span{margin-left:5px}.progress{height:4px;background:#dce0e6;position:relative;overflow:hidden;margin:0 0 25px}.progress:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(to right,transparent 0 calc(100% / 7 - 4px),var(--paper) calc(100% / 7 - 4px) calc(100% / 7));pointer-events:none}.progress>div{height:100%;background:var(--ink);transition:width 300ms var(--ease)}.studio h1{font-size:37px;font-weight:800;letter-spacing:-.045em;line-height:1.07;margin:0 0 12px;outline:none;max-width:24ch}.step-desc{font-size:16px;line-height:1.5;margin:0 0 22px;color:var(--muted)}.step-kicker{display:none}.field{margin:21px 0}.field label,legend{display:block;font-size:15px;font-weight:650;line-height:1.4;margin-bottom:8px}.optional{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}.field input,.field textarea{display:block;width:100%;min-height:54px;padding:13px 15px;border:1.5px solid #b4bdcd;border-radius:12px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;transition:border-color 140ms,box-shadow 140ms}.field input::placeholder,.field textarea::placeholder{color:#68738a;opacity:1}.field input:focus,.field textarea:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:3px}.field textarea{min-height:150px;resize:vertical}.field [aria-invalid=true]{border-color:#a52d22}.hint{display:block;font-size:13px;line-height:1.55;font-weight:400;color:var(--muted);margin:8px 0}.choices{padding:0;border:0;min-width:0;margin:22px 0}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{position:relative;display:flex;align-items:center;gap:10px;min-height:61px;padding:13px 14px;border:1.5px solid #b4bdcd;border-radius:12px;background:#fff;font-size:14px;line-height:1.35;cursor:pointer;transition:transform 140ms,background 140ms,border-color 140ms}.option input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink);margin:0}.option-icon{display:flex;width:23px;flex-shrink:0;color:var(--ink)}.option-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.option:has(input:checked){background:var(--yellow);border-color:var(--ink);box-shadow:inset 0 0 0 .5px var(--ink)}.option:focus-within{outline:2px solid var(--ink);outline-offset:3px}.option:active{transform:translateY(1px)}.choice-check{font-size:13px;font-weight:800;margin-left:auto;opacity:0}.option:has(input:checked) .choice-check{opacity:1}.age-choices .option{min-height:56px}.age-choices .option:last-child{grid-column:1/-1}.privacy-note{font-size:13px;line-height:1.6;color:var(--muted);margin:18px 0 0}.character-count{display:block;text-align:right;font-size:12px;color:var(--muted);margin-top:7px}.inspiration,.contact-note{border-left:3px solid var(--sky);padding-left:15px}.inspiration>span{display:none}.inspiration p,.contact-note{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;margin-top:22px;border-top:1px solid var(--line)}.wizard-actions .primary{min-width:230px;margin-left:auto}.secondary{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 16px;color:var(--ink);background:transparent;border:1px solid #b4bdcd;border-radius:12px;font-size:14px;font-weight:650}.wizard-actions .secondary{border:0;padding-left:0;gap:7px}.wizard-top .text-button,.review-card button{display:inline-flex;align-items:center;gap:6px}.choice-check svg{width:14px;height:14px}.success-mark svg{width:26px;height:26px}.review-card button svg{width:15px;height:15px}.wizard-top .text-button svg{width:15px;height:15px}.error{padding:14px 16px;background:#fce9e3;color:#8e2b22;border-left:3px solid #b9382f;border-radius:0 10px 10px 0;font-size:14px;line-height:1.5;margin:20px 0 0;scroll-margin-bottom:30px}
.brief-intro{padding:20px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:5px}.brief-badge{font-size:10px;color:var(--muted);letter-spacing:.08em;font-weight:600}.brief-intro p{font-size:17px;line-height:1.6;margin:10px 0 0}.review-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.review-card h3{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:0 0 7px}.review-card p{font-size:15px;line-height:1.65;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-card>div{min-width:0}.review-card button{background:transparent;color:var(--ink);font-size:12px;font-weight:600;min-height:44px;padding:6px 0 6px 10px;flex-shrink:0}.review-card button>span{margin-left:5px}.consent-panel{padding:23px 22px 20px;margin-top:30px;border:1px solid #d8dcd8;background:#f8f6ee;border-radius:12px}.consent-panel h2{font-size:17px;letter-spacing:-.02em;font-weight:600;margin:0 0 13px}.consent-panel>p{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 18px}.consent-panel>p:last-child{margin-bottom:0}.consent-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;margin:20px 0;cursor:pointer;scroll-margin-bottom:130px}.consent-check input{height:20px;width:20px;flex-shrink:0;margin:2px 0 0;accent-color:var(--ink)}.consent-check:focus-within{outline:2px solid var(--ink);outline-offset:5px;border-radius:2px}#draft-download{margin-top:13px;font-size:13px;text-align:left;color:var(--muted)}.export-status{font-size:13px;line-height:1.55;min-height:20px;color:var(--muted);margin:8px 0}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.success{padding-top:32px}.success-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid #d3dcd3;border-radius:50%;color:#52654c;background:#f0f3ea;font-family:var(--font);font-size:24px;margin:0 0 25px}.success>p{font-size:16px;line-height:1.65;color:var(--muted)}.success>p strong{color:var(--ink)}.status-card{display:flex;gap:12px;padding:20px;border:1px solid #d8dfd4;background:#f1f4ec;border-radius:12px;margin:28px 0}.status-dot{width:7px;height:7px;flex-shrink:0;background:#5c7351;border-radius:50%;margin-top:8px}.status-card strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.status-card p{font-size:13px;color:var(--muted);line-height:1.65;margin:9px 0 0}.export-main{width:100%}.export-options{display:flex;gap:26px;justify-content:center;margin-top:10px}.export-options button{font-size:12px;color:var(--muted)}.success .privacy-note{font-size:13px;margin:22px 0}.success .secondary{margin-top:5px}.reset{margin-top:10px;font-size:13px}#manual-copy label{font-size:13px}#copy-text{width:100%;min-height:200px;border:1px solid var(--line);border-radius:10px;font-size:13px;padding:14px;color:var(--ink);background:#fff}
/* Seven functional illustrations: identity, celebration, rhythm, memory, letter, connection, dossier. */
.stage-art{height:66px;position:relative;margin:-6px 0 15px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink)}.stage-art svg{width:180px;height:66px;flex-shrink:0;overflow:visible}.stage-caption{font-size:9px;line-height:1.5;letter-spacing:.1em;font-weight:800;max-width:150px;text-align:right}.stage-art-0 svg{width:150px}.name-ticket{position:absolute;left:47px;top:21px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 12px;border:1.5px solid var(--ink);border-radius:7px;background:var(--paper);font-size:15px;font-weight:750;transform:rotate(-3deg)}.stage-art-0 .stage-caption{max-width:125px}.ticket-updated{animation:ticket-turn 320ms var(--ease)}.occasion-choices .option:last-child{grid-column:1/-1}.occasion-choices .option{border-radius:6px 17px 17px 6px;min-height:64px}.occasion-choices .option:has(input:checked) .option-icon{animation:selection-accent 240ms var(--ease)}.music-choices .option{border-radius:18px;min-height:73px;align-items:flex-start;padding-top:17px;padding-bottom:17px}.music-choices .option-icon{background:var(--sky);border-radius:50%;padding:4px;width:29px}.music-choices .option-icon svg{width:21px;height:21px}.music-choices .option:has(input:checked){background:var(--sky)}.rhythm-band{transform-origin:center;transition:transform 360ms var(--ease)}.stage-art-2[data-pose="1"] .band-one{transform:translateY(-4px) rotate(-3deg)}.stage-art-2[data-pose="2"] .band-two{transform:translateY(4px) scaleY(.8)}.stage-art-2[data-pose="3"] .rhythm-band{transform:rotate(-8deg)}.stage-art-2[data-pose="4"] .band-one{transform:scaleX(.85)}.stage-art-2[data-pose="5"] .band-three{transform:translateY(6px) rotate(5deg)}.stage-art-2[data-pose="6"] .band-two{transform:rotate(9deg)}.stage-art-1[data-pose="2"] svg{transform:rotate(4deg)}.stage-art-1[data-pose="3"] svg{transform:rotate(-4deg)}.stage-art-1[data-pose="4"] svg{transform:translateX(5px)}.stage-art-1[data-pose="5"] svg{transform:translateY(-3px)}.stage-art-1 svg{transition:transform 240ms var(--ease)}.detail-field textarea{min-height:180px;border-radius:6px 18px 18px 18px;border-color:var(--ink)}.detail-field{position:relative}.detail-field:before{content:'';position:absolute;right:0;top:0;width:22px;height:22px;background:var(--coral);clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}.studio-form:has(#detail:focus) .memory-trace{stroke-dasharray:1;animation:draw-ribbon 400ms var(--ease)}.message-field textarea{min-height:160px;border-color:var(--ink);border-radius:18px 18px 6px 18px}.message-field label{display:flex;gap:10px;align-items:center}.letter-card{transition:transform 250ms var(--ease)}.stage-art-4[data-written=true] .letter-card{transform:translateY(-5px)}.stage-art-5 .connection-trace{stroke-dasharray:1;animation:draw-ribbon 600ms var(--ease)}.app-shell[data-scene="1"]{--scene-color:var(--peach)}.app-shell[data-scene="2"],.app-shell[data-scene="5"]{--scene-color:var(--ink)}.app-shell[data-scene="4"]{--scene-color:var(--peach)}.app-shell[data-scene="3"]{--scene-color:var(--sky)}.app-shell[data-view=landing]{--scene-color:var(--cream)}body:has(.app-shell[data-view=form][data-scene="2"]) .header,body:has(.app-shell[data-view=form][data-scene="5"]) .header{background:var(--cream);border-radius:0 0 20px 20px}#step-content[data-step="5"] .field{padding-left:13px;border-left:3px solid var(--sky)}#step-content[data-step="5"] .contact-note{border:0;background:#eeecf6;padding:12px 14px;border-radius:10px}#step-content[data-step="6"] .stage-art{height:44px;margin-bottom:10px}#step-content[data-step="6"] .stage-art svg{height:48px}#step-content[data-step="6"] .review-card{border:1px solid #d4d8e0;border-radius:13px;background:#fff;padding:15px;margin:9px 0}#step-content[data-step="6"] .review-card button{min-width:44px}#step-content[data-step="6"] .brief-intro{border:0;border-radius:13px;background:var(--sky);padding:17px;margin:20px 0 14px}#step-content[data-step="6"] .consent-panel{border:2px solid var(--ink);background:var(--paper)}@keyframes ticket-turn{50%{transform:rotate(0deg) translateY(-2px)}}@keyframes selection-accent{50%{transform:scale(1.15) rotate(-8deg)}}
footer{max-width:1180px;margin:auto;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;background:var(--peach);color:var(--ink);font-size:11px}body:has(.app-shell[data-view=form]) footer{background:var(--paper);max-width:720px;border-radius:18px 18px 0 0}.footer-brand{white-space:nowrap}.footer-brand span{font-size:17px;margin-left:8px}.step-enter{animation:step-arrive 280ms var(--ease) both}.scene-opening .studio-form{animation:panel-arrive 550ms var(--ease) both}.scene-opening:before{content:'';position:fixed;z-index:8;pointer-events:none;width:150vmax;height:150vmax;left:50%;top:50%;border-radius:50%;background:var(--yellow);animation:scene-wipe 600ms var(--ease) both}.motion-paused.scene-opening:before{display:none}
@keyframes headline-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes draw-ribbon{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes capsule-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -5px;rotate:1.5deg}}@keyframes sun-sway{0%,100%{rotate:0deg}50%{rotate:12deg}}@keyframes step-arrive{from{opacity:0;transform:translateY(calc(12px * var(--direction,1)))}to{opacity:1;transform:none}}@keyframes panel-arrive{0%,20%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:none}}@keyframes scene-wipe{0%{transform:translate(-50%,-50%) scale(0);opacity:.85}55%{transform:translate(-50%,-50%) scale(1);opacity:.85}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@media(hover:hover){.primary:hover{transform:translateY(-2px);box-shadow:4px 5px 0 #173b7329}.option:hover{border-color:var(--ink)}.text-button:hover{color:#b9382f}.secondary:hover{background:#eef0f5}}
@media(max-width:900px){.hero{column-gap:12px;padding-top:30px}.hero h1{font-size:clamp(63px,8vw,78px)}.word-capsule{font-size:21px;padding:14px 17px}.orbit-sun{width:75px;height:75px}.art-spark{font-size:40px;transform:translateX(-20px)}.how-it-works{gap:45px;padding:55px 30px}.how-copy h2{font-size:38px}.studio{margin:12px 24px 0;max-width:none}}
@media(max-width:650px){.header{height:64px;padding:4px 20px}.motion-toggle{font-size:10px;gap:6px}.motion-toggle span{width:25px;height:25px}.app-shell{min-height:calc(100svh - 64px)}.hero{display:flex;flex-direction:column;padding:18px 20px 30px;gap:0}.eyebrow{font-size:10px;letter-spacing:.065em;margin:0 0 15px;line-height:14px}.hero h1{font-size:clamp(51px,14.3vw,72px);line-height:.98;letter-spacing:-.065em}.song-line{margin-top:7px;padding:0 3px 4px}.song-line:before{inset:-1px -7px -2px -6px}.orbit-art{height:135px;min-height:135px;aspect-ratio:auto;margin:16px 0 0;width:100%;align-self:auto}.orbit-path{inset:-12% -5% 0;width:110%;height:140%;overflow:visible}.word-capsule{font-size:18px;letter-spacing:-.045em;border-width:1.5px;padding:8px 12px;border-radius:12px;box-shadow:3px 4px 0 var(--ink);gap:9px}.capsule-name{left:2%;top:18%;--angle:-7deg}.capsule-memory{right:1%;top:29%;--angle:5deg}.capsule-song{left:29%;bottom:2%;--angle:-4deg}.capsule-heart{font-size:25px}.capsule-song>span{font-size:23px}.orbit-sun{width:47px;height:47px;right:7%;top:-6%}.art-spark{left:8%;bottom:0;font-size:31px;transform:none}.orbit-label{display:none}.hero-action{margin-top:15px;max-width:none}.intro{font-size:16px;line-height:1.45;margin:0 0 16px}.primary{min-height:54px;font-size:16px;padding:10px 15px 10px 18px;border-radius:13px}.hero-note{font-size:11px;line-height:1.5;margin-top:10px}.hero-note br{display:none}.how-it-works{display:flex;flex-direction:column;gap:35px;margin:0 12px;border-radius:27px 27px 0 0;padding:35px 24px 40px}.story-postcard{order:2;max-width:290px;width:88%;border-width:6px;border-radius:60px 13px 15px 15px}.how-copy h2{font-size:36px;line-height:1.04;margin-bottom:25px}.how-copy ol{gap:20px}.how-copy h3{font-size:16px}.how-copy li p{font-size:13px}.how-copy .eyebrow{font-size:9px;margin-bottom:13px}.scene-orbit{width:230px;height:230px;right:-150px;top:12%}.scene-loop{width:300px;height:150px;border-width:25px;left:-240px}.scene-star{width:150px;height:150px;right:-55px;bottom:4%}.studio{margin:8px 12px 0;padding:0 0 24px}.studio-form{padding:14px 20px 20px;border-radius:24px;border-width:1.5px;box-shadow:4px 5px 0 #173b7326}.wizard-top{min-height:36px;margin-bottom:6px;gap:8px}.step-meta{font-size:10px;gap:5px;flex-wrap:wrap;line-height:1.2}.stage-status{font-size:9px;margin-left:1px}.wizard-top .text-button{min-height:36px;font-size:11px;padding:6px 0}.progress{height:3px;margin-bottom:20px}.studio h1{font-size:31px;line-height:1.07;letter-spacing:-.05em;margin-bottom:10px}.step-desc{font-size:15px;line-height:1.5;margin-bottom:19px}.field{margin:20px 0}.field label,legend{font-size:14px;margin-bottom:8px}.field input,.field textarea{min-height:52px;padding:12px 13px;font-size:16px}.choices{margin:20px 0}.options{gap:10px}.option{padding:12px 10px;min-height:57px;font-size:13px;gap:7px}.option input{width:16px;height:16px}.option-icon{width:19px}.option-icon svg{width:19px;height:19px}.choice-check{position:absolute;top:4px;right:6px;font-size:9px}.age-choices .option{font-size:12px;min-height:56px}.age-choices .choice-check{display:none}.privacy-note{font-size:12px;line-height:1.6;margin-top:17px}.wizard-actions{position:static;margin-top:20px;padding-top:17px;gap:12px}.wizard-actions .primary{min-width:0;flex:1;margin-left:0;min-height:52px;font-size:14px;padding:10px 12px}.wizard-actions .secondary{font-size:12px;padding-right:6px;min-height:52px}.wizard-actions .primary>span[aria-hidden]{width:27px;height:27px;font-size:21px}.consent-panel{padding:18px 14px;margin-top:23px}.consent-panel>p,.consent-check{font-size:13px}.review-card{gap:10px;padding:17px 0}.review-card p{font-size:14px}.review-card button{font-size:12px}.brief-intro p{font-size:16px}.success{padding-top:14px}.success>p{font-size:15px}.export-options{gap:16px;flex-wrap:wrap}.status-card{padding:15px}.error{font-size:13px}.secondary{font-size:13px}.text-button{font-size:12px}.inspiration p,.contact-note{font-size:12px}.hint{font-size:12px}footer{padding:20px;font-size:9px;margin:0 12px;gap:13px}body:has(.app-shell[data-view=form]) footer{margin:0 12px}.footer-brand span{margin-left:5px}}
@media(max-width:650px){.stage-art{height:45px;margin:-6px 0 12px;gap:9px}.stage-art svg{width:123px;height:45px}.stage-art-0 svg{width:103px}.stage-caption{font-size:7px;letter-spacing:.06em;max-width:110px}.stage-art-0 .stage-caption{display:none}.name-ticket{left:34px;top:10px;font-size:13px;max-width:calc(100% - 40px);padding:5px 10px}.occasion-choices .option{min-height:58px}.music-choices .option{min-height:70px;padding:13px 10px;gap:6px;flex-wrap:wrap;align-items:center}.music-choices .option input{flex-shrink:0}.music-choices .option-icon{width:23px;padding:3px}.music-choices .option-icon svg{width:17px;height:17px}.music-choices .option>span:not([class]){width:calc(100% - 26px);margin-left:23px}.music-choices .option-icon+span:not([class]){width:100%;margin-left:0}.detail-field textarea{min-height:170px}.message-field textarea{min-height:150px}#step-content[data-step="5"] .field{padding-left:10px}#step-content[data-step="6"] .stage-art{height:35px}#step-content[data-step="6"] .stage-art svg{height:40px}.stage-art-6 .stage-caption{font-size:8px}}
@media(max-width:374px){.header{padding-left:16px;padding-right:16px}.hero{padding-left:16px;padding-right:16px}.hero h1{font-size:clamp(46px,14.8vw,55px)}.eyebrow{font-size:9px;letter-spacing:.045em}.orbit-art{height:128px;min-height:128px}.word-capsule{font-size:16px;padding:8px 10px}.studio-form{padding:13px 17px 18px}.studio h1{font-size:29px}.stage-status{display:none}.age-choices .option{font-size:11px;padding:11px 8px;gap:5px}.option{font-size:12px}.option-icon{display:none}.hero-note{font-size:11px}.how-copy h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene-opening:before{display:none}.motion-toggle{display:none!important}}
