@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--navy:#243548;--navy2:#172737;--cream:#f8f3eb;--paper:#fffdf9;--coral:#c56c59;--gold:#c6a66b;--ink:#263746;--muted:#6c7378;--line:#e6ddd1;--shadow:0 20px 55px rgba(36,53,72,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{max-width:1200px;margin:auto;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:700;font-size:1.35rem;letter-spacing:-.04em;line-height:1.05}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-size:1.55rem}.brand small{display:block;font-size:.55rem;letter-spacing:.17em;font-weight:600;margin-top:7px}.nav-links{display:flex;align-items:center;gap:26px;font-size:.88rem}.nav-links>a:not(.button):hover,.text-link:hover{color:var(--coral)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--coral);border-radius:4px;background:var(--coral);color:white;padding:14px 22px;font:600 .94rem 'DM Sans',sans-serif;cursor:pointer;transition:.2s}.button:hover{background:#ad5948;border-color:#ad5948;transform:translateY(-1px)}.button-small{padding:11px 16px;font-size:.84rem}.button-outline{background:transparent;color:var(--navy);border-color:var(--line)}.button-outline:hover{color:#fff}.button-light{background:var(--cream);color:var(--navy);border-color:var(--cream)}.button-light:hover{background:white;color:var(--navy)}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--navy)}.hero{max-width:1200px;margin:auto;padding:54px 5% 72px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px}.hero-copy{padding:20px 0}.eyebrow{font-size:.7rem;letter-spacing:.19em;font-weight:700;color:var(--coral);margin:0 0 15px}.hero h1,.form-intro h1{font:500 clamp(3rem,5vw,5rem)/1.07 'Playfair Display',Georgia,serif;letter-spacing:-.045em;color:var(--navy);margin:0 0 24px}.hero h1 em,.section-wrap h2 em,.closing h2 em,.form-intro h1 em{color:var(--coral);font-weight:500}.lead{font-size:1.08rem;color:#5e6870;max-width:510px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:30px 0}.text-link{font-size:.9rem;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:3px}.trust-note{font-size:.78rem;color:var(--muted)}.heart{color:var(--coral);font-size:1.3rem;margin-right:7px}.hero-art{position:relative}.hero-art>img{width:100%;border-radius:46% 46% 5px 5px;box-shadow:var(--shadow)}.floating-note{position:absolute;bottom:22px;left:-25px;background:var(--paper);box-shadow:var(--shadow);padding:15px 19px;display:flex;gap:12px;align-items:center;border-radius:5px}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:.82rem}.floating-note small{font-size:.73rem;color:var(--muted)}.play-dot{background:var(--cream);color:var(--coral);border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.section-wrap{max-width:1100px;margin:auto;padding:85px 5%}.intro{text-align:center;background:var(--cream);max-width:none}.intro>*{max-width:800px;margin-left:auto;margin-right:auto}.section-wrap h2,.steps-section h2,.closing h2{font:500 clamp(2rem,3.5vw,3.2rem)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.035em;color:var(--navy);margin:0 0 20px}.section-lead{color:#697179;max-width:650px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:48px!important}.value-grid article{padding:20px}.line-icon{font-size:2.2rem;color:var(--coral)}h3{color:var(--navy);margin:12px 0 7px;font-size:1.06rem}p{margin-top:0}.value-grid p,.steps-grid p{font-size:.91rem;color:var(--muted);margin-bottom:0}.samples{padding-top:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.section-heading>p{max-width:340px;color:var(--muted);font-size:.9rem}.sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sample-card{border:1px solid var(--line);background:white;border-radius:5px;overflow:hidden}.sample-art{height:190px;display:grid;place-items:center;font:4rem 'Playfair Display',serif}.art-one{background:#e9d7cc;color:#a45e50}.art-two{background:#e5dfce;color:#85734c}.art-three{background:#dce3e4;color:#526e7a}.sample-info{padding:18px;display:flex;align-items:start;justify-content:space-between;gap:8px}.sample-info h3{margin:0 0 3px}.sample-info p{font-size:.78rem;color:var(--muted);margin:0}.sample-status{font-size:.68rem;color:#84745d;text-align:right}.steps-section{background:var(--navy);color:white;text-align:center;padding:80px 0}.steps-section .eyebrow{color:#e3bd8a}.steps-section h2{color:white}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:45px 0}.steps-grid article{padding:0 18px}.steps-grid article>span{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;color:#e3bd8a;font:1.1rem 'Playfair Display',serif}.steps-grid h3{color:white}.steps-grid p{color:#d4dce1}.occasions{text-align:center}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.occasion-grid a{border:1px solid var(--line);padding:25px 15px;display:flex;flex-direction:column;align-items:center;transition:.2s}.occasion-grid a:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:var(--shadow)}.occasion-grid span{font-size:2rem;color:var(--coral)}.occasion-grid strong{color:var(--navy);margin:10px 0 5px}.occasion-grid small{font-size:.78rem;color:var(--muted)}.quote-section{padding:70px 5%;background:#f0e7db;text-align:center}.quote-mark{font:5rem 'Playfair Display',serif;color:var(--coral);height:50px}.quote-section blockquote{font:italic 1.8rem 'Playfair Display',serif;color:var(--navy);margin:10px auto 15px}.quote-section p{font-size:.68rem;letter-spacing:.2em;color:var(--coral);font-weight:700;margin:0}.faq{max-width:850px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;color:var(--navy);font-weight:600}.faq details p{color:var(--muted);margin:12px 0 0}.closing{background:var(--navy);text-align:center;padding:78px 20px;color:white}.closing .eyebrow{color:#e3bd8a}.closing h2{color:white}.site-footer{background:var(--navy2);color:#d5dce1;text-align:center;padding:35px 5%}.brand-footer{justify-content:center;color:white}.brand-footer .brand-mark{background:#34495a}.site-footer p{font-size:.82rem;margin:18px 0}.site-footer>div{display:flex;justify-content:center;gap:22px;font-size:.78rem;margin:16px}.site-footer>small{font-size:.7rem;color:#aeb8c0}.form-page{max-width:780px;margin:25px auto 90px;padding:0 22px}.form-intro{text-align:center;max-width:620px;margin:0 auto 35px}.form-intro h1{font-size:clamp(2.5rem,6vw,4rem)}.form-intro p:not(.eyebrow){color:var(--muted)}#song-order-form{background:white;border:1px solid var(--line);border-radius:8px;padding:clamp(20px,5vw,42px);box-shadow:var(--shadow)}.progress{height:5px;background:#eee8df;border-radius:5px;overflow:hidden}.progress>div{height:100%;width:25%;background:var(--coral);transition:width .2s}.step-count{font-size:.75rem;color:var(--muted);margin:10px 0 25px}.form-step{display:none}.form-step.active{display:block}.form-step h2{font:500 2rem 'Playfair Display',serif;color:var(--navy);margin:0 0 5px}.form-hint{font-size:.9rem;color:var(--muted);margin-bottom:25px}.form-step label{display:block;font-size:.84rem;font-weight:600;color:var(--navy);margin:18px 0}.form-step label>span{color:var(--coral)}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #d9d2c9;border-radius:4px;background:#fffdfb;padding:12px 13px;color:var(--ink);font:400 .92rem 'DM Sans',sans-serif;min-height:46px}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{outline:2px solid #d8a99e;outline-offset:1px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5}.consent input{width:18px;min-width:18px;height:18px;min-height:18px;margin:2px 0}.notice{background:var(--cream);padding:16px 18px;border-left:3px solid var(--gold);font-size:.83rem;margin:22px 0}.notice p{margin:5px 0 0;color:#5d666d}.honeypot{position:absolute;left:-9999px}.form-controls{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.form-error{color:#a93226;font-size:.85rem;margin-top:12px}.result-page{max-width:620px;margin:10vh auto;padding:30px;text-align:center}.result-page h1{font:500 clamp(2.3rem,6vw,3.5rem) 'Playfair Display',serif;color:var(--navy)}.result-page p{color:var(--muted)}.result-icon{font-size:3rem;color:var(--coral)}.result-page .notice{text-align:left}.order-body .site-header{border-bottom:1px solid var(--line)}@media(max-width:850px){.nav-links{gap:14px}.nav-links>a:not(.button){display:none}.hero{gap:25px;padding-top:35px}.occasion-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.site-header{padding:15px 5%}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px 5%;box-shadow:var(--shadow);z-index:10}.nav-links.open{display:flex;flex-direction:column;align-items:stretch}.nav-links>a:not(.button){display:block}.hero{grid-template-columns:1fr;padding-top:25px;gap:25px}.hero-copy{padding:0}.hero h1{font-size:3.3rem}.hero-art{margin:0 8% 0 4%}.floating-note{left:-15px;bottom:12px}.section-wrap{padding:60px 5%}.value-grid,.sample-grid,.steps-grid{grid-template-columns:1fr;gap:18px}.value-grid article{padding:8px}.section-heading{display:block}.section-heading>p{margin-top:12px}.sample-art{height:155px}.steps-grid{margin:30px 0}.occasion-grid{gap:10px}.occasion-grid a{padding:20px 10px}.quote-section blockquote{font-size:1.4rem}.field-row{grid-template-columns:1fr;gap:0}.form-page{margin-top:18px;padding:0 12px}.form-intro h1{font-size:2.7rem}#song-order-form{padding:20px 16px}.form-controls .button{padding:12px 15px}.brand{font-size:1.2rem}.brand-mark{width:37px;height:37px}}
