/* SONG MAKER: purple, luminous gold, and generous editorial spacing. */
:root{--ink:#512080;--cream:#fffdfb;--gold:#ffe34d;--plum:#7b43ae;--soft:#eee5f5;--muted:#62516f}
body{font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
.top{background:radial-gradient(ellipse at 85% 20%,#7538a8 0,transparent 56%),linear-gradient(135deg,#512080,#43206a);position:relative}
.nav{max-width:1200px;padding:42px 56px 30px;border-bottom:1px solid #ffffff24}
.brand{gap:22px;font-size:clamp(1.65rem,4.5vw,3.45rem);letter-spacing:.035em}
.brand-logo{width:100px;height:100px;border:1px solid #ffdf6570;box-shadow:0 8px 32px #26064060}
.hero{max-width:1200px;min-height:640px;padding:94px 56px 110px;gap:64px;grid-template-columns:1.2fr 1fr}
.eyebrow{font-size:.88rem;letter-spacing:.16em}
.hero h1{font-size:clamp(2.5rem,4.1vw,3.45rem);line-height:1.15;font-weight:400;letter-spacing:-.035em;margin:24px 0 30px}
.headline-line{white-space:normal}
.hero p{color:#f4eafc;font-size:1.2rem;line-height:1.75;max-width:490px}
.actions{gap:16px;margin-top:38px}
.button{padding:16px 27px;min-height:58px;font-size:1rem;line-height:1.5;transition:background .18s,box-shadow .18s,transform .18s}
.button.primary{box-shadow:0 6px 20px #35114b18}
.button.primary:hover{background:#fff083;box-shadow:0 8px 26px #35114b28;transform:translateY(-2px)}
.button.secondary{border-color:#dcc4ec80;background:#ffffff06}
.button.secondary:hover{background:#ffffff12}
a:focus-visible,button:focus-visible{outline:3px solid #ae70d5;outline-offset:5px}
.audio-evolution{padding:18px;background:#ffffff08;border:1px solid #e7b96c50;border-radius:26px;box-shadow:0 24px 60px #23053830}
.audio-evolution img{border-radius:14px;box-shadow:none;border:0}
.format-labels{font-size:.8rem;letter-spacing:0;margin-top:17px;gap:5px}
.audio-caption{font-size:.88rem;line-height:1.55;color:#eddef6;margin:14px 5px 4px}
section{padding:110px 56px;scroll-margin-top:28px}
.wrap{max-width:1100px}
.intro h2,.demos h2,.packages h2,.process h2,.order h2,.closing h2{font-size:clamp(2rem,3.5vw,3.1rem);font-weight:400;line-height:1.2;letter-spacing:-.025em}
.intro{padding-top:104px;padding-bottom:96px}
.intro h2{margin-bottom:30px}
.intro p{font-size:1.15rem;line-height:1.9;max-width:790px}
.occasions{gap:0;margin-top:52px;border-top:1px solid #e2d3ed;border-bottom:1px solid #e2d3ed}
.occasion{background:transparent;border:0;border-right:1px solid #e2d3ed;border-radius:0;padding:26px 12px;font-size:1rem;font-weight:600}
.occasion:last-child{border-right:0}.occasion b{font-size:2rem;margin:0 0 6px;color:var(--plum)}
.demos{background:#f3edf8;border-top:1px solid #e8daef;border-bottom:1px solid #e8daef}
.demos-head{max-width:750px}.demos-head p{font-size:1.05rem;margin-top:22px;line-height:1.8}
.demo-grid{gap:26px;margin-top:48px}
.demo-card{position:relative;padding:34px;border-radius:20px;border:1px solid #e2d4eb;box-shadow:0 8px 28px #43176807;border-top:3px solid #bd96d3}
.demo-type{font-size:.8rem;letter-spacing:.15em;font-weight:800}
.demo-card h3{font-size:1.8rem;font-weight:400;margin-top:14px;margin-bottom:10px}
.demo-card p{font-size:1rem;min-height:30px;margin-bottom:24px}
.demo-card audio{border-radius:28px}
.packages{background:var(--cream)}.packages h2{text-align:center}
.cards{gap:28px;margin-top:48px;align-items:stretch}
.card{display:flex;flex-direction:column;padding:42px;border:1px solid #dac6e5;border-radius:22px;box-shadow:0 12px 36px #51208008}
.card.featured{border:2px solid #c39b38;background:linear-gradient(155deg,#fffefa,#fff9e2)}
.card h3{font-size:2rem;font-weight:400}.price{font-family:Georgia,serif;font-weight:400;font-size:3.3rem;line-height:1.2;margin:22px 0 24px}
.card ul{padding:22px 0 22px 21px;margin:0;border-top:1px solid #e9deee;flex:1}
.card li{padding-left:5px;margin:11px 0;font-size:1rem}.card li::marker{color:var(--plum)}
.card .note{font-size:.95rem;line-height:1.7;margin:20px 0 26px}.card .button{text-align:center;align-self:stretch}
.process{background:linear-gradient(125deg,#643193,#7b43ae);color:#fff}
.process h2{margin-bottom:52px}.steps{gap:32px}.step{border-top:1px solid #ffffff40;padding-top:25px}
.step span{height:48px;width:48px;font-size:1.1rem;box-shadow:0 6px 14px #30114220}
.step h3{font-family:Georgia,serif;font-weight:400;font-size:1.4rem;line-height:1.3;margin-top:24px}
.step p{color:#f0e5f8;font-size:1rem;line-height:1.8;margin-top:14px}
.order{background:#f8f4fb}.order-head{max-width:810px;margin-bottom:48px}.order-head p{font-size:1.1rem;line-height:1.8}
.preview-note{font-size:.94rem;line-height:1.65;font-weight:400;border:0;border-left:3px solid #b692c9;background:#eee5f5;text-align:left;border-radius:0 12px 12px 0;padding:18px 24px}
.order-form{max-width:940px;padding:48px;border:1px solid #dfd0e9;border-radius:24px;box-shadow:0 18px 60px #45126907}
.form-section{margin-bottom:38px;padding-bottom:34px;border-bottom:1px solid #ede4f2}.form-section legend{font-size:1.65rem;font-weight:400;margin-bottom:24px}
.form-grid{gap:24px}.field{gap:9px}.field label,.group-label{font-size:1rem;font-weight:600}
.field input,.field select,.field textarea{border-color:#cdbdd9;padding:14px 16px;border-radius:9px;background:#fefcff;font-size:1rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #b888d630;border-color:#8b50b0}
.package-choice{padding:20px;border-color:#d9c8e5;line-height:1.6}.package-choice:has(input:checked){border-color:var(--plum);background:#f4ecfa;box-shadow:0 0 0 1px var(--plum)}
.package-choice small{font-size:.88rem}.checkline{font-size:1rem;line-height:1.8;margin-bottom:18px}
.form-action .button{min-width:280px;padding:18px 30px}
.closing{background:var(--cream);padding-top:94px;padding-bottom:90px}.closing p{font-size:1.08rem;line-height:1.8}.closing .credit{font-size:.92rem;line-height:1.8;margin-top:52px;padding-top:28px;max-width:780px}
footer{padding:30px 36px;background:#43206a;color:#e9dced;line-height:1.7}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:64px;gap:48px}.hero h1{font-size:clamp(2.5rem,6vw,3.6rem)}.hero p{max-width:660px}.audio-evolution{max-width:600px;width:100%;margin:0 auto}.steps{grid-template-columns:repeat(2,1fr)}.card{padding:32px}}
@media(max-width:600px){.nav{padding:26px 24px}.brand{gap:12px;font-size:clamp(1.5rem,5.5vw,2.1rem)}.brand-logo{width:60px;height:60px}.hero{padding:58px 24px 72px}.hero h1{font-size:clamp(2.25rem,8vw,3rem)}.hero p{font-size:1.08rem}section{padding:74px 24px}.intro,.closing{padding-top:74px;padding-bottom:74px}.eyebrow{font-size:.8rem;letter-spacing:.1em}.occasions{grid-template-columns:repeat(2,1fr)}.occasion:nth-child(2){border-right:0}.occasion:nth-child(-n+2){border-bottom:1px solid #e2d3ed}.cards,.demo-grid{grid-template-columns:1fr}.demo-card,.card{padding:28px}.order-form{padding:28px 20px}.form-grid,.package-options{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:30px}.form-action .button{min-width:0;width:100%}.format-labels{font-size:.75rem}.closing .credit{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button.primary:hover{transform:none}}
/* The visual direction: an illustrated evening, an editorial music collection. */
.top{background:#512080;overflow:hidden}
.nav{position:relative;z-index:3;max-width:1320px;border:0;padding:32px 56px 20px}
.brand-logo{width:84px;height:84px}.brand{font-size:clamp(1.7rem,3.8vw,3.1rem)}
.hero{position:relative;isolation:isolate;max-width:1440px;min-height:740px;padding:94px 76px 140px;display:block}
.hero-backdrop{position:absolute;inset:-142px 0 0;z-index:-2;background:url('memory-evening-dad.png') center right/cover no-repeat}
.hero:before{content:"";position:absolute;inset:-142px 0 0;z-index:-1;background:linear-gradient(90deg,#512080 0%,#512080f5 20%,#512080ba 43%,#51208012 72%),linear-gradient(0deg,#512080 0%,transparent 35%)}
.hero-copy{position:relative;z-index:1;max-width:650px}
.hero h1{font-size:clamp(3.15rem,5.1vw,4.75rem);line-height:1.08;max-width:680px;letter-spacing:-.035em;text-wrap:balance;margin-top:28px;margin-bottom:32px}
.hero h1 .headline-line:last-child{color:#ffe34d;font-style:italic}
.hero p{font-size:1.2rem;color:#fff5ff;max-width:420px}.hero .eyebrow{font-size:.88rem;letter-spacing:.18em}
.hero-art{display:none}.hero .actions{margin-top:38px}.hero .button{padding:17px 28px}
.intro{background:#fffdfb;text-align:left;padding-top:96px;padding-bottom:90px}
.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.intro h2{font-size:clamp(2.1rem,3.6vw,3.3rem);text-align:center;margin-bottom:32px}
.intro p{font-size:1.1rem;line-height:1.85}
.intro .audio-evolution{padding:14px;background:#512080;border-radius:20px;transform:rotate(2deg);box-shadow:0 22px 50px #51208018;max-width:500px}
.intro .audio-caption{color:#f6ebff}.intro .format-labels{color:#ffe34d}
.occasions{text-align:center;margin-top:70px}
.demos{background:#4b2372;color:#fff;border:0;position:relative;padding-top:100px;padding-bottom:108px}
.demos-head{max-width:750px}.demos h2{font-size:clamp(2.5rem,4vw,3.8rem)}.demos-head p{color:#e6d6f2}
.demo-grid{grid-template-columns:repeat(2,1fr);gap:30px;margin-top:52px}
.demo-card{padding:42px 34px 26px;overflow:hidden;min-height:292px;color:var(--ink);border:1px solid #ffffff20;border-radius:14px;box-shadow:0 16px 36px #1b08222a;background:#f8f0ff;display:flex;flex-direction:column}
.demo-card.track-2{background:#fff4db}.demo-card.track-3{background:#efdffb}.demo-card.track-4{background:#f1ebdf}
.demo-card .track-number{position:absolute;right:24px;top:0;font-family:Georgia,serif;font-size:6.5rem;font-weight:400;line-height:1.2;color:#5120800c;pointer-events:none}
.demo-type{color:#75438a;letter-spacing:.16em;font-size:.82rem;position:relative}
.demo-card h3{font-size:2.15rem;line-height:1.18;margin:22px 0 12px;position:relative;max-width:350px;min-height:2.4em}
.demo-card p{color:#695273;font-size:1rem;margin-bottom:26px;position:relative;flex:1}
.demo-card audio{margin-top:auto;position:relative;box-shadow:0 3px 15px #3b13550a}
.packages{padding-top:100px;padding-bottom:108px}.packages h2{font-size:clamp(2.5rem,4vw,3.8rem)}
.card{border-radius:14px;border-top:6px solid #8b56ac}.card.featured{border:1px solid #d7bd75;border-top:6px solid #e4bb38;background:#fffbef}
.card h3{font-size:2.15rem}.price{font-size:3.9rem;letter-spacing:-.045em}.card .button{border-radius:12px}
.process{background:#f0e6f8;color:#512080;padding-top:90px;padding-bottom:100px}.process h2{text-align:center;font-size:clamp(2.5rem,4vw,3.8rem)}
.step{border-top:1px solid #b69bc9}.step span{background:#512080;color:#ffe34d;width:54px;height:54px;font-family:Georgia,serif;font-weight:400;font-size:1.4rem}
.step p{color:#695273}.step h3{font-size:1.65rem}
.order{background:#fffdfb}.order h2{font-size:clamp(2.5rem,4vw,3.8rem)}
.order-form{border-radius:14px;border:1px solid #d9c7e7;border-top:6px solid #512080;box-shadow:0 20px 60px #51208009}
.closing{background:linear-gradient(110deg,#512080,#723e9e);color:white;padding-top:86px;padding-bottom:80px}.closing h2{font-size:clamp(2.5rem,4vw,3.8rem);color:#ffe34d}.closing p,.closing .credit{color:#f4e7ff}.closing .credit{border-color:#ffffff25}
footer{background:#392052}
@media(min-width:1500px){.hero-backdrop{background-position:center right}.hero:before{background:linear-gradient(90deg,#512080 0%,#512080ed 20%,#512080ac 40%,#51208000 70%),linear-gradient(0deg,#512080,transparent 35%)}}
@media(max-width:1000px){.hero{padding:75px 48px 130px;min-height:690px}.hero h1{max-width:570px;font-size:3.9rem}.hero:before{background:linear-gradient(90deg,#512080fa,#512080b0 55%,#51208035),linear-gradient(0deg,#512080,transparent 40%)}.intro-layout{gap:40px}}
@media(max-width:700px){.nav{padding:26px 24px 18px}.brand-logo{width:62px;height:62px}.brand{font-size:clamp(1.6rem,5.6vw,2.4rem)}.hero{padding:52px 24px 310px;min-height:820px}.hero h1{font-size:clamp(2.8rem,9vw,4rem)}.hero p{font-size:1.08rem;max-width:410px}.hero-backdrop{inset:0;background-size:auto 78%;background-position:70% bottom;background-color:#512080}.hero:before{inset:0;background:linear-gradient(180deg,#512080 0%,#512080ef 39%,#51208050 66%,#51208020 86%,#512080 100%)}.hero .actions{gap:12px}.hero .button{width:auto;flex:1;text-align:center;padding:15px 17px;white-space:nowrap;font-size:.94rem}.intro-layout{grid-template-columns:1fr;gap:40px}.intro .audio-evolution{transform:none;margin:0 auto;max-width:450px}.occasions{margin-top:48px}.demo-grid{grid-template-columns:1fr}.demo-card h3{min-height:0;font-size:2rem}.demo-card{min-height:265px;padding:34px 26px 24px}.demos,.packages,.process{padding-top:74px;padding-bottom:78px}.price{font-size:3.5rem}.closing{padding:74px 24px}.intro h2{text-align:center}}
/* Give the headline and every family face their own unobstructed space. */
.hero{max-width:1600px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px;align-items:center;padding:54px 56px 90px;min-height:0}
.hero:before{display:none}.hero-copy{max-width:none}.hero h1{font-size:clamp(2.5rem,3.5vw,3.75rem);line-height:1.13}.hero p{max-width:430px}
.hero-art{display:block;margin:0;min-width:0;align-self:center;overflow:hidden;border-radius:18px;border:1px solid #d6b26455;box-shadow:0 22px 65px #2a0a4b35}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain}
.hero .actions{gap:12px}.hero .button{padding:15px 22px;font-size:.95rem;white-space:nowrap}
@media(max-width:1100px){.hero{grid-template-columns:1fr;gap:38px;padding:48px 48px 74px}.hero-copy{max-width:780px}.hero h1{font-size:clamp(2.8rem,5vw,4rem);max-width:780px}.hero p{max-width:620px}.hero-art{width:100%;max-width:1000px;margin:auto}}
@media(max-width:600px){.hero{padding:38px 24px 60px;min-height:0;gap:30px}.hero h1{font-size:clamp(2.5rem,8vw,3.4rem)}.hero-art{border-radius:12px}.hero .actions{flex-wrap:wrap}.hero .button{white-space:normal;min-width:140px}.hero p{font-size:1.08rem}}
/* Original dancing pose, family at opposite edges, words in the clear center. */
.hero{display:block;position:relative;max-width:1800px;padding:0 24px 60px;isolation:isolate}
.hero-art{position:relative;width:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;overflow:visible}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 24%,#34124f9e 32%,#34124f9e 58%,transparent 65%);pointer-events:none}
.hero-copy{position:absolute;z-index:2;left:28%;top:10%;width:33%;max-width:560px;text-align:center}
.hero h1{font-size:clamp(2.25rem,3.3vw,3.65rem);line-height:1.1;margin:20px 0 23px;text-shadow:0 3px 16px #240a3b80}
.hero p{max-width:450px;margin:0 auto;font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.65;color:#fff5ff;text-shadow:0 2px 12px #21092a}
.hero .eyebrow{font-size:clamp(.75rem,1vw,.9rem);letter-spacing:.12em;text-shadow:0 2px 8px #21092a}
.hero .actions{justify-content:center;margin-top:26px;gap:10px}.hero .button{padding:13px 20px;font-size:.92rem;min-height:50px}.hero .secondary{background:#51208070}
@media(max-width:1199px){.hero{padding:32px 24px 56px}.hero-copy{position:relative;left:auto;top:auto;width:100%;max-width:760px;margin:0 auto 34px}.hero h1{font-size:clamp(2.5rem,4.6vw,3.7rem)}.hero p{max-width:600px;font-size:1.08rem}.hero-art:after{display:none}.hero-art{border-radius:12px;overflow:hidden}.hero .eyebrow{font-size:.82rem}}
@media(max-width:600px){.hero{padding:30px 18px 45px}.hero h1{font-size:clamp(2.45rem,8vw,3.25rem)}.hero-copy{margin-bottom:30px}.hero .actions{margin-top:24px}.hero .button{flex:0 1 auto;min-width:140px}.hero-art{border-radius:8px}}

/* Keep the invitations low in the garden, apart from the headline. */
.hero .hero-actions{position:absolute;z-index:3;left:27%;width:28%;bottom:105px;margin:0;justify-content:center;flex-wrap:wrap}
.hero-copy{left:26%;width:29%;top:9%}
.hero-art:after{background:linear-gradient(90deg,transparent 24%,#34124f85 31%,#34124f85 56%,transparent 62%)}
@media(max-width:1199px){.hero-copy{left:auto;top:auto;width:100%}.hero .hero-actions{position:relative;left:auto;bottom:auto;width:100%;margin:28px auto 0}.hero-art:after{display:none}}
/* Restore the first Home page's purple atmosphere over the approved scene. */
.hero-art:after{background:linear-gradient(90deg,#51208030 0%,#51208055 23%,#512080db 32%,#512080c7 47%,#51208099 61%,#51208055 77%,#51208012 100%),linear-gradient(0deg,#512080 0%,#5120808c 12%,transparent 45%);display:block}
@media(max-width:1199px){.hero-art:after{display:block;background:linear-gradient(90deg,#51208025,#51208050 45%,#51208045 66%,#51208012),linear-gradient(0deg,#512080 0%,#51208085 12%,transparent 45%)}}
/* A small balance adjustment; keep the same atmosphere, four percent lighter. */
.hero-art:after{opacity:.96}
@media(min-width:1200px){.hero{padding-right:12px}}
@media(max-width:600px){.hero{padding-left:18px;padding-right:18px}.hero .hero-actions{gap:12px}.hero .hero-actions .button{min-height:50px}}
/* Trim only the right of the scene: match the hand and gown edge clearances. */
.hero-art{aspect-ratio:1650 / 887;overflow:hidden}
.hero-art img{width:107.5151515%;max-width:none;height:auto;object-fit:contain}
@media(min-width:1200px){.hero{padding-right:24px}}

/* Golden brand notes above the four occasions. */
.occasion-logo{display:block;width:64px;height:64px;object-fit:contain;margin:0 auto 12px}

.brand-logo,.occasion-logo{border-radius:50%}
.occasion-demo-link{display:block;width:64px;height:64px;margin:0 auto 12px;border-radius:50%;transition:transform .2s}
.occasion-demo-link .occasion-logo{margin:0}
.occasion-demo-link:hover{transform:scale(1.08)}
.occasion-demo-link:focus-visible{outline:3px solid var(--plum);outline-offset:5px}
.demo-card[id]{scroll-margin-top:30px}

/* Branded package heading and a warm, inviting song questionnaire. */
.package-heading{position:relative;min-height:80px;display:flex;align-items:center;justify-content:center;padding:0 106px}
.package-heading h2{margin:0}
.section-circle-logo{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 8px 24px #51208025}
.package-heading>.section-circle-logo{position:absolute;right:0;top:0}
.order{background:radial-gradient(ellipse at 95% 10%,#fff0aa50,transparent 35%),radial-gradient(ellipse at 0% 65%,#a866d725,transparent 45%),#f5effa}
.order-head{max-width:940px;padding:36px 40px;border-radius:24px;background:linear-gradient(125deg,#512080,#7440a3);color:#fff;box-shadow:0 18px 45px #51208015;margin-bottom:30px;position:relative;overflow:hidden;border-bottom:3px solid #e8c851}
.order-title-row{display:flex;align-items:center;gap:24px;margin-bottom:22px}
.order-title-row .eyebrow{color:#ffe34d;font-size:.76rem;letter-spacing:.16em;margin-bottom:10px}
.order-title-row h2{color:#fff;margin:0}
.order-head>p{color:#f5eafa;margin-bottom:20px}
.order .preview-note{background:#ffffff0d;color:#fff4cf;border-left:3px solid #ffe34d;border-radius:0 10px 10px 0;padding:14px 18px;font-size:.95rem}
.order-form{max-width:940px;background:#fffdfb;padding:40px;box-shadow:0 20px 60px #51208012;border-color:#dfcfea}
.order .form-section{background:linear-gradient(145deg,#faf6fd,#fffdfb);border:1px solid #e8ddef;border-radius:18px;padding:28px;margin-bottom:28px}
.order .form-section legend{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;padding:0 12px;margin-left:-4px;color:#512080;background:#fffdfb}
.order .field input,.order .field select,.order .field textarea{background:#fff;border-color:#d5c1e2;box-shadow:0 2px 6px #51208004}
.order .package-choice{border-radius:12px;background:#fff}
.order .package-choice:has(input:checked){background:#fff9e1;border-color:#b99335;box-shadow:0 0 0 1px #b99335}
.order .form-action{padding-top:8px;text-align:center}
.order .form-action .button{border-radius:999px;min-width:310px;box-shadow:0 8px 22px #51208018}
@media(max-width:600px){.package-heading{justify-content:flex-start;padding:0 76px 0 0;min-height:60px}.package-heading h2{text-align:left;font-size:2rem}.package-heading>.section-circle-logo{width:60px;height:60px}.order-head{padding:26px 22px}.order-title-row{gap:16px;align-items:flex-start}.order-title-row>.section-circle-logo{width:56px;height:56px}.order-title-row h2{font-size:1.9rem}.order-title-row .eyebrow{font-size:.65rem;letter-spacing:.09em}.order-form{padding:22px 16px}.order .form-section{padding:20px 16px}.order .form-section legend{font-size:1.3rem}.order .form-action .button{min-width:0;width:100%}}

/* Quiet, clearly visible invitation in the purple mist. */
.hero-scroll-cue{position:absolute;z-index:3;left:27%;width:28%;bottom:105px;text-align:center;color:#f8e9ff;font-size:1.1rem;font-weight:600;letter-spacing:.1em;line-height:1.5;text-shadow:0 2px 14px #2d104b,0 0 24px #512080;pointer-events:none}
.hero-scroll-cue .scroll-arrow{display:block;margin-top:9px;font-size:1.6rem;line-height:1;color:#ecd2ff}
@media(max-width:1199px){.hero-scroll-cue{position:relative;left:auto;bottom:auto;width:100%;margin:28px auto 0}}
@media(max-width:600px){.hero-scroll-cue{font-size:1rem;letter-spacing:.09em;margin-top:24px}}

/* A softer invitation at the lower edge of the dance floor. */
.hero-scroll-cue{left:50%;transform:translateX(-50%);width:auto;white-space:nowrap;bottom:70px;color:#c2a9d0;font-weight:400;font-size:1rem;letter-spacing:.07em;text-shadow:0 1px 7px #36114f80}
.hero-scroll-cue .scroll-arrow{color:inherit;font-size:1.3rem;margin-top:6px}
@media(max-width:1199px){.hero-scroll-cue{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin:12px auto 0}}
@media(max-width:600px){.hero-scroll-cue{font-size:.95rem;margin-top:10px}}

/* Approved Prime Home Page artwork includes its finished purple mist. */
.hero-art{aspect-ratio:2048 / 1100}
.hero-art img{width:100%;max-width:100%;height:auto;object-fit:contain}
.hero-art:after{display:none}

/* Dancing scenes stay within the existing demo cards. */
.demo-card{background-color:#35104f;background-image:linear-gradient(90deg,#230f30e0 0%,#301641a3 38%,#3016411f 65%,#3016410a 100%),var(--demo-scene);background-size:cover;background-position:72% center;color:#fff4d5}
.demo-card.track-1{--demo-scene:url('demo-birthday-v4.jpg')}
.demo-card.track-2{--demo-scene:url('demo-wedding-v2.jpg');background-color:#35104f;background-image:linear-gradient(90deg,#230f30e0 0%,#301641a3 38%,#3016411f 65%,#3016410a 100%),var(--demo-scene)}
.demo-card.track-3{--demo-scene:url('demo-anniversary-v6.jpg');background-color:#35104f;background-image:linear-gradient(90deg,#230f30e0 0%,#301641a3 38%,#3016411f 65%,#3016410a 100%),var(--demo-scene)}
.demo-card.track-4{--demo-scene:url('demo-family-v2.jpg');background-color:#35104f;background-image:linear-gradient(90deg,#230f30e0 0%,#301641a3 38%,#3016411f 65%,#3016410a 100%),var(--demo-scene)}
.demo-card .track-number{display:none}
.demo-card .demo-type{color:#ffe16b;text-shadow:0 1px 5px #230838}
.demo-card h3{color:#fff4d5;max-width:62%;text-shadow:0 2px 6px #230838}
.demo-card p{color:#fff1de;max-width:62%;text-shadow:0 1px 5px #230838}
.demo-card audio{width:100%}
@media(max-width:700px){.demo-card{background-position:72% center}.demo-card h3,.demo-card p{max-width:65%}}

/* Keep every scene scaled to its card after the per-track backgrounds. */
.demo-card.track-1,.demo-card.track-2,.demo-card.track-3,.demo-card.track-4{background-size:cover;background-position:72% center;background-repeat:no-repeat}

/* Let the lavender scenes breathe against the site's warm off-white. */
.demos{background:var(--cream);color:var(--ink)}
.demos-head h2{color:var(--ink)}
.demos-head p{color:var(--muted)}

/* Warm cream matched to the approved package screenshot. */
:root{--cream:#fffaee}
body,.intro,.demos,.packages,.process,.order,.card,.card.featured,.order-form,.order .form-section,.order .form-section legend{background:var(--cream)}

/* Keep the birthday cake visible at the right edge. */
.demo-card.track-1{background-position:right center}

/* Mirror the Birthday scene while keeping the labels and player upright. */
.demo-card.track-1{position:relative;isolation:isolate;overflow:hidden;background-image:none}
.demo-card.track-1::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(270deg,#230f30e0 0%,#301641a3 38%,#3016411f 65%,#3016410a 100%),var(--demo-scene);background-size:cover;background-position:right center;background-repeat:no-repeat;transform:scaleX(-1)}

/* Place the mirrored family at the right edge, keeping Mom clear of the title. */
.demo-card.track-1::before{left:auto;right:0;top:0;bottom:0;height:100%;width:auto;aspect-ratio:2 / 1;background-image:var(--demo-scene);background-size:100% 100%;background-position:center;transform:translateX(38%) scaleX(-1)}
.demo-card.track-1::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#35104f 0%,#35104fe6 22%,#35104f70 42%,#35104f00 61%)}
.demo-card.track-1 h3,.demo-card.track-1 p{max-width:44%}
@media(max-width:700px){.demo-card.track-1 h3{font-size:1.75rem}.demo-card.track-1 h3,.demo-card.track-1 p{max-width:45%}}

/* Approved everyday demo artwork: show the complete image without tint or cropping. */
.demo-card.track-3,.demo-card.track-4{background-image:none;background-color:#35104f;padding:0 24px 24px;overflow:hidden}
.everyday-demo-art{display:block;width:calc(100% + 48px);max-width:none;height:auto;margin:0 -24px 24px;aspect-ratio:16 / 9;object-fit:contain}
.demo-card.track-3 h3,.demo-card.track-4 h3{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.demo-card.track-3 p,.demo-card.track-4 p{max-width:100%}

/* Revised page sequence and package explanations. */
.hero-scroll-cue{pointer-events:auto;text-decoration:none;padding:10px 20px}
.hero-scroll-cue:hover,.hero-scroll-cue:focus-visible{color:#fff;text-decoration:underline}
.hero h1{white-space:normal;max-width:760px;line-height:1.15}
.about-question{display:block;font-size:.62em;margin-bottom:18px}
.package-explanation{margin-top:48px;padding-top:32px;border-top:1px solid #ffffff50}
.package-explanation>h3{font:32px/1.2 Georgia,serif;margin:0 0 26px}
.package-explanation-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.package-explanation h4{color:var(--gold);font:25px/1.3 Georgia,serif;margin:0 0 12px}
.package-explanation p{color:#f2eaf8;margin:0}
.page-next{text-align:center;margin-top:42px}.page-next a{color:inherit;text-underline-offset:5px;font-weight:600}
.demos-head .demo-footnote{font-size:.84rem;margin-top:10px}
.demo-card.track-1 h3,.demo-card.track-2 h3{font-family:"Snell Roundhand","Apple Chancery","Segoe Script","URW Chancery L",cursive;font-style:italic;font-size:2.1rem;font-weight:500;line-height:1.2;max-width:75%}
.trial-option{font-size:.94rem}.trial-payment-note{font-size:.82rem;color:var(--muted)}
@media(max-width:700px){.package-explanation-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(2rem,7vw,3rem)}}

/* Clear navigation and comfortable reading on each page. */
.hero h1{font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.2}
.hero .hero-scroll-cue{position:relative;grid-column:1 / -1;display:block;left:auto;bottom:auto;transform:none;width:100%;text-align:center;margin:20px auto 0;white-space:normal}
.page-next{display:block;width:100%;text-align:center;margin:38px auto 0}
.process{color:var(--ink)}.process .step p{color:var(--muted)}
.process .package-explanation{border-top-color:#51208040;color:var(--ink)}
.process .package-explanation>h3,.process .package-explanation h4{color:var(--ink)}
.process .package-explanation p{color:#51435d;font-size:1.06rem;line-height:1.7}
.demo-card.track-1 h3,.demo-card.track-2 h3{font-family:Georgia,serif;font-style:normal;font-size:1.95rem;font-weight:500;max-width:62%}
.demo-card.track-1 h3{max-width:46%}
.demo-title-accent{font-family:"Snell Roundhand","Apple Chancery","Segoe Script","URW Chancery L",cursive;font-style:italic;font-size:1.22em;line-height:1.1}
.packages .price{text-align:right;font-variant-numeric:tabular-nums}
.package-select{display:block;text-align:center;margin-top:22px}
@media(max-width:700px){.hero h1{font-size:clamp(1.9rem,6vw,2.5rem)}.demo-card.track-1 h3,.demo-card.track-2 h3{font-size:1.75rem}}

/* About and process now form one continuous page. */
.intro .combined-process{padding:0;margin-top:38px;text-align:left;background:transparent}
.intro .combined-process h2{font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:24px;text-align:left}
.intro .combined-process .steps{gap:24px}
.intro .combined-process .step{border-top-color:#51208030;padding-top:16px}
.intro .combined-process .step p{font-size:.96rem;line-height:1.6}
.intro .combined-process .package-explanation{margin-top:30px;padding-top:24px}
.intro .combined-process .package-explanation>h3{font-size:1.7rem;margin-bottom:20px}
.intro .combined-process .package-explanation h4{font-size:1.35rem}
.intro .combined-process .package-explanation p{font-size:1rem;line-height:1.6}
.packages .cards{align-items:start}
.packages .card ul{flex:0;padding-top:18px;padding-bottom:14px}
.packages .card .note{margin:16px 0 18px}

/* Each page has its own visible frame; long content grows inside it. */
body{padding:20px;background:#f0e6f4}
header.top,main>section{max-width:1440px;margin:0 auto 28px;border:2px solid #b99a65;border-radius:18px;box-shadow:0 8px 24px #5120800d}
main>section{height:auto;max-height:none;overflow:visible;padding:52px 38px}
header.top{border-color:#d5b75e}
.order .package-explanation{color:var(--ink);margin-top:24px;padding-top:24px;border-top:1px solid #d4c4df;text-align:left}
.order .package-explanation>h3{color:var(--ink);font:26px/1.3 Georgia,serif;margin-bottom:20px}
.order .package-explanation h4{color:var(--ink);font:22px/1.3 Georgia,serif}
.order .package-explanation p{color:#51435d;font-size:1rem;line-height:1.65}
.demos .demo-grid{gap:20px;margin-top:24px}
.demos .demos-head h2{font-size:clamp(2rem,3vw,2.8rem)}
.demos .demos-head p{margin-top:10px}
.demos .demo-card{min-height:235px}
.demos .everyday-demo-art{max-height:170px;object-fit:contain;margin-bottom:14px}
.demos .demo-card h3{margin-top:12px;margin-bottom:8px;min-height:0}
.demos .demo-card p{margin-bottom:14px;min-height:0}
.demos .page-next{margin-top:24px}
@media(min-width:1250px){.demos .demo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.demos .demo-card{padding:24px 16px 18px}.demos .demo-card.track-3,.demos .demo-card.track-4{padding:0 16px 18px}.demos .everyday-demo-art{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}.demos .demo-card.track-1 h3,.demos .demo-card.track-2 h3{font-size:1.45rem;max-width:100%}.demos .demo-card p{font-size:.86rem;max-width:100%}}
@media(max-width:700px){body{padding:10px}header.top,main>section{border-radius:12px;margin-bottom:18px}main>section{padding:36px 18px}.order .package-explanation-grid{grid-template-columns:1fr}.demos .demo-grid{grid-template-columns:1fr}.demos .everyday-demo-art{max-height:none}}

/* Final typography and questionnaire introduction. */
.page-next a,.hero-scroll-cue{font-weight:400;font-style:normal}
.demo-title-accent{font-family:"Bodoni Old Style","Bodoni 72 Oldstyle","Bodoni 72",Didot,Georgia,serif;font-style:normal;font-weight:400;font-size:1.12em}
.order-head>p{font-weight:400;line-height:1.7;text-align:left}
.order .package-explanation>h3{text-align:center}

.forward-link{font:inherit;font-weight:400;color:inherit;border:0;background:none;text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:8px}

.demo-title-accent{font-style:italic}

.page-next a,.hero-scroll-cue,.hero-scroll-cue:hover,.hero-scroll-cue:focus-visible{text-decoration:none}
.link-words{text-decoration:underline;text-underline-offset:5px}
