/**
 * index.css
 * ─────────────────────────────────────
 * Scope:    Client intake landing page with audit form and calendar booking
 * Brand:    Navy #1B2A4A · Peony #C2738A · Sage #4A7C6F · Amber #C4895A
 */

*{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#1B2A4A;--peony:#C2738A;--sage:#4A7C6F;--amber:#C4895A;--linen:#F5EFE6;--warm:#FDFAF6;--cream:#F7EEF1;--text:#1B2A4A;--text2:#7A6E65;--text3:#B0A49A;--border:#E8E0D5;--border2:#D5CABF}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--warm);color:var(--text);line-height:1.6}
.hero{background:var(--navy);min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;position:relative;overflow:hidden}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.hero-inner{max-width:680px;margin:0 auto;position:relative;z-index:1;text-align:center}
.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--peony);margin-bottom:1.5rem}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,7vw,70px);font-weight:500;color:#fff;line-height:1.05;margin-bottom:1.5rem}
.hero-title em{font-style:italic;color:var(--peony)}
.hero-body{font-size:16px;color:rgba(255,255,255,.6);line-height:1.8;max-width:500px;margin:0 auto 2.5rem;font-weight:300}
.hero-cta{display:inline-block;background:var(--peony);color:#fff;padding:.9rem 2.5rem;border-radius:99px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .2s}
.hero-cta:hover{opacity:.88}
.section{padding:5rem 2rem}
.section-inner{max-width:680px;margin:0 auto}
.section-eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--peony);margin-bottom:.75rem}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,40px);font-weight:500;color:var(--navy);line-height:1.15;margin-bottom:1.25rem}
.section-title em{font-style:italic}
.letter{background:var(--cream);border-radius:20px;padding:3rem;position:relative;overflow:hidden}
.letter::before{content:'';position:absolute;top:-40px;right:-40px;width:150px;height:150px;border-radius:50%;background:var(--peony);opacity:.07}
.letter-body{font-size:15px;color:var(--text);line-height:1.85;font-weight:300}
.letter-body p{margin-bottom:1.25rem}
.letter-sig{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--peony);margin-top:1.75rem}
.letter-sig-sub{font-size:11px;color:var(--text3);margin-top:3px}
.steps{display:flex;flex-direction:column;gap:0}
.step{display:flex;gap:1.5rem;align-items:flex-start;padding:1.5rem 0;border-bottom:1px solid var(--border)}
.step:last-child{border-bottom:none}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:18px;flex-shrink:0;margin-top:2px}
.step-title{font-size:15px;font-weight:500;color:var(--navy);margin-bottom:4px}
.step-desc{font-size:13px;color:var(--text2);line-height:1.6}
.audit-section{background:var(--linen);padding:5rem 2rem}
.audit-inner{max-width:680px;margin:0 auto}
.audit-card{background:#fff;border-radius:20px;border:1px solid var(--border);overflow:hidden}
.audit-hdr{background:var(--navy);padding:2rem 2.5rem;position:relative;overflow:hidden}
.audit-hdr::after{content:'';position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--peony);opacity:.12}
.audit-hdr-title{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;font-style:italic;position:relative;z-index:1}
.audit-hdr-sub{font-size:12px;color:rgba(255,255,255,.45);margin-top:4px;position:relative;z-index:1}
.audit-body{padding:2rem 2.5rem}
.q-group{margin-bottom:2rem}
.q-label{font-size:11px;font-weight:500;color:var(--peony);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.q{margin-bottom:1.5rem}
.q-text{font-size:14px;color:var(--text);margin-bottom:.5rem;line-height:1.5;font-weight:500}
.q-hint{font-size:11px;color:var(--text3);margin-bottom:.6rem;font-style:italic}
input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select{width:100%;padding:.75rem 1rem;border:1px solid var(--border2);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);background:#fff;outline:none;transition:border-color .15s;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--peony)}
textarea{min-height:90px}
.radio-group{display:flex;flex-direction:column;gap:8px}
.radio-opt{display:flex;align-items:center;gap:10px;cursor:pointer;padding:.6rem .9rem;border:1px solid var(--border);border-radius:10px;transition:border-color .15s}
.radio-opt:hover{border-color:var(--border2)}
.radio-opt input{accent-color:var(--peony);width:16px;height:16px;flex-shrink:0}
.radio-opt span{font-size:13px;color:var(--text)}
.check-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.check-opt{display:flex;align-items:center;gap:8px;cursor:pointer;padding:.6rem .9rem;border:1px solid var(--border);border-radius:10px;transition:border-color .15s}
.check-opt:hover{border-color:var(--border2)}
.check-opt input{accent-color:var(--peony);width:15px;height:15px;flex-shrink:0}
.check-opt span{font-size:12px;color:var(--text)}
.submit-row{margin-top:2rem;text-align:center}
.submit-btn{background:var(--peony);color:#fff;border:none;padding:1rem 3rem;border-radius:99px;font-size:15px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s}
.submit-btn:hover{opacity:.88}
.submit-btn:disabled{opacity:.6;cursor:not-allowed}
.success-msg{display:none;text-align:center;padding:2rem}
.success-icon{width:56px;height:56px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.success-title{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--navy);margin-bottom:.5rem}
.success-body{font-size:14px;color:var(--text2);line-height:1.7}
.calendar-section{padding:5rem 2rem;text-align:center}
.cal-inner{max-width:520px;margin:0 auto}
.cal-card{background:var(--cream);border-radius:20px;padding:3rem 2.5rem;border:1px solid var(--border)}
.cal-icon{width:56px;height:56px;border-radius:16px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.cal-title{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--navy);margin-bottom:.75rem}
.cal-body{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:2rem}
.cal-btn{display:inline-block;background:var(--navy);color:#fff;padding:.9rem 2.5rem;border-radius:99px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .2s}
.cal-btn:hover{opacity:.85}
footer{background:var(--navy);padding:2.5rem 2rem;text-align:center}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.15em;color:var(--peony);text-transform:uppercase;margin-bottom:.5rem}
.footer-sub{font-size:11px;color:rgba(255,255,255,.3)}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero-inner>*{animation:fadeUp .6s ease both}
.eyebrow{animation-delay:.05s}.hero-title{animation-delay:.1s}.hero-body{animation-delay:.2s}.hero-cta{animation-delay:.3s}
@media(max-width:600px){.check-group{grid-template-columns:1fr}.audit-body,.audit-hdr{padding:1.5rem}.letter{padding:2rem 1.5rem}}
