:root {
  --midnight:#24364B;
  --midnight-2:#172b41;
  --apricot:#E2A27F;
  --apricot-deep:#C97951;
  --sage:#A4B39B;
  --sage-deep:#71846C;
  --bronze:#B88A5A;
  --cream:#F5EFE6;
  --white:#FFFCF8;
  --ink:#263A4F;
  --muted:#647079;
  --border:rgba(36,54,75,.11);
  --shadow:0 14px 40px rgba(65,58,46,.08);
  --radius:22px;
  --serif:"Fraunces",Georgia,serif;
  --sans:"DM Sans",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--apricot-deep);outline-offset:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:min(100% - 36px,1120px);margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:12px;z-index:20;padding:10px 14px;background:#fff}
.skip-link:focus{top:8px}
.section-padding{padding-block:64px}
.section-kicker,.small-label,.section-label,.eyebrow{letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:var(--sage-deep);font-size:.71rem;line-height:1.4}
.section-kicker{margin:0 0 12px}
.section-title{font:500 clamp(2rem,5vw,3.8rem)/1.15 var(--serif);letter-spacing:-.045em;color:var(--midnight);margin:0 0 20px}
.section-title em, .hero h1 em, .message-section h2 em, .closing-section h2 em{font-weight:400;color:var(--apricot-deep)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;border:0;border-radius:100px;background:var(--apricot);color:var(--midnight-2);font-weight:700;padding:13px 23px;line-height:1.25;box-shadow:0 8px 19px rgba(201,121,81,.13);transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}
.button:hover{background:#E7B093;transform:translateY(-2px);box-shadow:0 12px 22px rgba(201,121,81,.18)}
.button-large{min-height:54px;padding:16px 28px;font-size:1.04rem}
.button-small{font-size:.84rem;padding:12px 18px}
.button span{font-size:1.25em;line-height:1;font-weight:400}
.site-header{position:relative;z-index:10;background:var(--cream)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:89px;gap:20px}
.brand{display:block;width:clamp(196px,58vw,260px);flex-shrink:0}
.brand img{display:block;width:100%;height:auto;object-fit:contain}
.desktop-nav,.desktop-cta{display:none}
.nav-toggle{border:0;background:transparent;display:grid;gap:6px;padding:10px;justify-items:end}
.nav-toggle span{display:block;width:28px;height:2px;border-radius:8px;background:var(--midnight)}
.nav-toggle span:last-child{width:18px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){width:28px;transform:translateY(-8px) rotate(-45deg)}
.mobile-nav{display:grid;gap:4px;border-top:1px solid var(--border);padding:16px 22px 24px;background:var(--cream);box-shadow:0 12px 25px rgba(40,50,60,.09)}
.mobile-nav a:not(.button){padding:11px 8px;text-decoration:none;font-weight:600}
.mobile-nav .button{margin-top:9px}
/* Mobile-first rolling landscape */
.hero{position:relative;overflow:hidden;padding:50px 0 135px;background:radial-gradient(ellipse 85% 55% at 89% 41%,rgba(244,208,184,.4),transparent 73%),linear-gradient(#F5EFE6,#FCF6EE)}
.hero-copy{position:relative;z-index:2;text-align:center;max-width:810px}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--midnight);margin:0 0 22px;font-size:.63rem;letter-spacing:.2em}
.eyebrow span{display:block;width:19px;height:1px;background:var(--sage-deep)}
.hero h1{font:500 clamp(3.15rem,12vw,6.8rem)/1.02 var(--serif);letter-spacing:-.068em;color:var(--midnight);margin:0 auto 25px;max-width:820px;text-wrap:balance}
.hero h1 em{display:block;font-style:italic;color:var(--midnight)}
.hero-description{max-width:620px;margin:0 auto 29px;color:#3f4d59;font-size:1.02rem;line-height:1.7;text-wrap:pretty}
.hero-assurance{color:#61716c;font-size:.8rem;margin:15px auto 0}
.rolling-hills{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:145px;z-index:1}
/* Demo */
.listen-section{padding-top:8px;padding-bottom:52px}
.section-label{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.66rem;letter-spacing:.13em;text-align:center;margin:0 0 19px;color:#758675}
.section-label .line{display:block;width:25px;height:1px;background:#9AAA96;flex:none}
.demo-card{background:var(--white);box-shadow:0 16px 50px rgba(64,55,48,.1);border:1px solid rgba(188,160,132,.2);border-radius:26px;padding:16px;display:grid;gap:19px}
.demo-art{height:190px;border-radius:16px;overflow:hidden;background:#F4DEB9}
.demo-art svg{width:100%;height:100%}
.demo-body{padding:0 7px 9px}
.demo-body .small-label{margin:0 0 9px;color:var(--bronze);font-size:.67rem}
.demo-body h2{font:500 clamp(1.65rem,5vw,2.55rem)/1.15 var(--serif);letter-spacing:-.038em;color:var(--midnight);margin:0 0 12px}
.demo-body>p:not(.small-label){font-size:.9rem;color:#58646b;line-height:1.6;margin:0 0 16px}
.audio-player{display:flex;align-items:center;gap:16px;margin-top:15px}
.play-button{border:0;width:53px;height:53px;border-radius:50%;flex-shrink:0;background:var(--midnight);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.play-button:hover{background:var(--apricot-deep);transform:scale(1.04)}
.play-button svg{width:20px;height:20px}
.audio-details{min-width:0;flex:1}
.audio-progress{width:100%;height:7px;cursor:pointer;margin:0;accent-color:var(--sage-deep)}
.audio-times{display:flex;justify-content:space-between;color:#7c8386;font-size:.75rem;font-variant-numeric:tabular-nums}
.demo-body p.demo-note{margin:12px 0 0;font-size:.72rem;color:#83908a}
/* Benefits */
.benefits-section{padding:22px 0 68px}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;text-align:center}
.benefit{padding:0 4px;position:relative}
.benefit:not(:last-child)::after{content:"";height:55%;width:1px;background:rgba(184,138,90,.23);position:absolute;right:0;top:23%}
.benefit-icon{font:400 2.1rem/1 Georgia,serif;height:44px;display:grid;place-items:center}
.benefit-icon.apricot{color:var(--apricot-deep)}
.benefit-icon.sage{color:var(--sage-deep)}
.benefit-icon.bronze{color:var(--bronze)}
.benefit h3{font-size:clamp(.75rem,2.8vw,.98rem);font-weight:600;line-height:1.3;color:var(--midnight);margin:8px auto 0}
/* Steps */
.how-section{background:#F9F6F0;border-block:1px solid rgba(164,179,155,.18)}
.narrow-center{max-width:730px;text-align:center}
.section-intro{color:#607078;font-size:1rem;line-height:1.72;margin:0 auto 30px;max-width:640px}
.step-grid{display:grid;gap:13px}
.step-card{padding:26px 25px 27px;border:1px solid var(--border);border-radius:22px;background:#FFFCF8;box-shadow:0 8px 24px rgba(60,55,49,.035)}
.step-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.step-number{font:500 1.45rem var(--serif);color:var(--sage-deep)}
.step-symbol{width:44px;height:44px;border-radius:50%;background:#F6E8D8;color:var(--bronze);font-size:1.5rem;display:grid;place-items:center}
.step-card h3{font:500 1.55rem/1.25 var(--serif);color:var(--midnight);letter-spacing:-.035em;margin:0 0 11px}
.step-card p{font-size:.9rem;line-height:1.62;color:#68737a;margin:0}
/* Product / types */
.song-section{text-align:center}
.song-grid{display:grid;gap:15px;margin-top:30px;text-align:left}
.song-card{background:#FFFCF8;border-radius:22px;padding:26px 24px 24px;border:1px solid var(--border);box-shadow:0 9px 23px rgba(40,60,55,.035);display:flex;flex-direction:column;align-items:flex-start}
.song-icon{width:55px;height:55px;border-radius:18px;background:#F8E8DE;display:grid;place-items:center;color:var(--apricot-deep);font:400 2.4rem/1 Georgia,serif;margin-bottom:21px}
.song-icon.sage-icon{background:#E8EDE4;color:var(--sage-deep)}
.song-icon.bronze-icon{background:#F4EADF;color:var(--bronze)}
.song-card h3{font:500 1.45rem/1.25 var(--serif);letter-spacing:-.025em;color:var(--midnight);margin:0 0 10px}
.song-card p{margin:0 0 18px;color:#6a7176;font-size:.89rem;line-height:1.62;flex:1}
.song-card a{text-decoration:none;color:var(--midnight);font-size:.82rem;font-weight:700;border-bottom:1px solid var(--apricot);padding-bottom:5px}
.song-card a:hover{color:var(--apricot-deep)}
.coming-soon{background:#F3F1E9}
.soon-tag{display:inline-block;border:1px solid rgba(184,138,90,.4);border-radius:50px;padding:4px 12px;color:#8d6c47;font-size:.74rem;font-weight:600}
/* StoryBrand thoughtful messaging */
.message-section{background:linear-gradient(145deg,#DEE5D9 0%,#EEF0E9 55%,#F4EADD 100%);text-align:center}
.message-inner{max-width:820px}
.message-section h2{font:500 clamp(2rem,5.2vw,3.8rem)/1.18 var(--serif);letter-spacing:-.045em;color:var(--midnight);margin:0 0 19px}
.message-section h2 em{color:#7C8D77}
.message-section p:last-child{color:#52615d;max-width:690px;margin:auto;font-size:1rem;line-height:1.75}
/* FAQ */
.faq-section{background:#FCF9F4}
.faq-inner{display:grid;gap:20px}
.faq-list{border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border);padding:16px 0}
.faq-list summary{cursor:pointer;list-style:none;font-size:.96rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--midnight)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-size:1.6rem;font-weight:400;color:var(--bronze)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:12px 0 3px;color:#68747c;font-size:.89rem;line-height:1.7}
/* Closing */
.closing-section{position:relative;overflow:hidden;padding:66px 0 74px;background:radial-gradient(ellipse at 80% 25%,rgba(226,162,127,.25),transparent 65%),linear-gradient(90deg,#EAD9C8,#F6EDE1)}
.closing-section::before{content:"";position:absolute;left:0;right:0;bottom:-18px;height:90px;background:#A4B39B;clip-path:ellipse(68% 60% at 58% 100%);opacity:.5}
.closing-content{position:relative;z-index:1;text-align:center}
.little-heart{font-size:2.3rem;color:var(--apricot-deep);line-height:1}
.closing-section h2{font:500 clamp(2.4rem,6.2vw,4.3rem)/1.15 var(--serif);color:var(--midnight);letter-spacing:-.045em;margin:5px 0 12px}
.closing-section p{color:#4c5e69;margin:0 0 24px}
/* Footer */
.site-footer{background:#F7F1E9;padding:36px 0 20px}
.footer-top{display:flex;flex-direction:column;align-items:center;gap:25px}
.footer-logo{display:block;max-width:245px}
.footer-logo img{width:100%;height:auto}
.footer-links{display:flex;gap:18px 24px;flex-wrap:wrap;justify-content:center}
.footer-links a{font-size:.8rem;font-weight:600;color:#4F5C68;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid var(--border);margin-top:28px;padding-top:17px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#8b8a83;font-size:.7rem}
/* Form preview page */
.form-page{min-height:60vh;padding:36px 0 85px}
.form-shell{max-width:760px;margin-inline:auto}
.form-header{text-align:center;max-width:620px;margin:0 auto 30px}
.form-header h1{font:500 clamp(2.4rem,8vw,4rem)/1.1 var(--serif);letter-spacing:-.045em;color:var(--midnight);margin:8px 0 15px}
.form-header p{color:var(--muted);margin:0}
.preview-note{border-radius:13px;background:#E9EEE5;border:1px solid rgba(110,137,109,.27);padding:13px 16px;margin-bottom:20px;font-size:.83rem;color:#465E47}
.form-card{background:var(--white);border-radius:24px;padding:24px 19px;box-shadow:var(--shadow);border:1px solid var(--border)}
.form-progress{display:flex;gap:7px;margin-bottom:26px}
.form-progress span{height:5px;flex:1;border-radius:99px;background:#E4DED5}
.form-progress span.active{background:var(--sage-deep)}
.form-step h2{font:500 1.8rem var(--serif);margin:0 0 6px;color:var(--midnight)}
.form-step>p{margin:0 0 22px;font-size:.86rem;color:var(--muted)}
.form-field{margin:0 0 20px}
.form-field label,.form-field legend{display:block;font-weight:700;font-size:.88rem;margin-bottom:9px;color:var(--midnight)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 14px;border:1px solid #D4CEC3;border-radius:12px;background:#fff;font:inherit;color:var(--ink);font-size:.95rem}
.form-field textarea{resize:vertical;min-height:105px}
.form-field small{display:block;color:#718078;margin-top:5px;font-size:.76rem}
.form-buttons{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}
.secondary-button{background:transparent;border:1px solid #BCC6B7;border-radius:99px;padding:12px 18px;color:var(--midnight)}
.form-success{background:#EDF1E8;border-radius:14px;padding:20px;color:#425B47}
.back-link{display:inline-flex;margin:0 0 18px;color:var(--sage-deep);font-size:.84rem;text-decoration:none;font-weight:700}
@media(min-width:560px){
  .container{width:min(100% - 60px,1120px)}
  .hero{padding-top:78px;padding-bottom:170px}
  .rolling-hills{height:190px}
  .demo-card{grid-template-columns:210px minmax(0,1fr);align-items:stretch;padding:18px;gap:23px}
  .demo-art{height:100%;min-height:210px}
  .demo-body{padding:9px 8px 8px 0}
  .step-grid,.song-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step-card:last-child,.song-card:last-child{grid-column:1/-1}
  .form-card{padding:33px}
}
@media(min-width:850px){
  .section-padding{padding-block:94px}
  .header-inner{min-height:108px}
  .brand{width:240px}
  .nav-toggle,.mobile-nav{display:none!important}
  .desktop-nav{display:flex;gap:26px;margin-left:auto;align-items:center}
  .desktop-nav a{text-decoration:none;font-size:.84rem;font-weight:600;color:var(--midnight)}
  .desktop-nav a:hover{color:var(--apricot-deep)}
  .desktop-cta{display:inline-flex}
  .hero{padding-top:94px;padding-bottom:205px}
  .hero-description{font-size:1.16rem}
  .rolling-hills{height:234px}
  .listen-section{padding-top:0}
  .demo-card{max-width:930px;margin-inline:auto;grid-template-columns:255px minmax(0,1fr);gap:31px;padding:21px}
  .demo-art{min-height:240px}
  .demo-body{padding:15px 13px 15px 0}
  .benefits-section{padding:0 0 108px}
  .benefit-icon{font-size:2.7rem;height:60px}
  .benefit h3{font-size:1.04rem}
  .step-grid,.song-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .step-card:last-child,.song-card:last-child{grid-column:auto}
  .step-card{padding:30px}
  .song-card{padding:30px 27px}
  .faq-inner{grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
  .footer-top{flex-direction:row;justify-content:space-between}
  .footer-bottom{flex-direction:row;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .button,.play-button{transition:none}
}
