@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--cream:#fffaf4;--paper:#f8f0e8;--plum:#5c2940;--rose:#a86c79;--sage:#788675;--ink:#3c3437;--gold:#c39c65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 'DM Sans',Arial,sans-serif}a{color:var(--plum)}img{max-width:100%;height:auto}h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.25}h1{font-size:clamp(2.5rem,5vw,4.7rem);margin:.6rem 0}h2{font-size:clamp(2rem,3.4vw,3.2rem);color:var(--plum);margin:.3rem 0 1rem}h3{font-size:1.5rem;color:var(--plum)}p{margin:.6rem 0 1.1rem}header{background:rgba(255,250,244,.97);position:sticky;top:0;z-index:5;box-shadow:0 2px 12px #46253b12}nav{max-width:1180px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:2rem;color:var(--plum);text-decoration:none;white-space:nowrap}.links{display:flex;flex-wrap:wrap;gap:9px 20px}.links a{text-decoration:none;font-size:.85rem;font-weight:600}.links a:hover,.links a[aria-current]{color:var(--rose);text-decoration:underline;text-underline-offset:7px}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:12px;top:12px;z-index:20;background:white;padding:10px}.hero{min-height:410px;padding:95px 24px 85px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(125deg,#f3dfd8,#fff5e7 48%,#ded7cc);color:var(--plum)}.hero-photo{background:linear-gradient(120deg,#44273fce,#9a6678a1),linear-gradient(140deg,#4b5360,#bf9585 45%,#e4c7a0);color:#fff}.hero h1{max-width:900px}.hero p{max-width:720px}.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--rose)}.hero .eyebrow{color:inherit}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:16px 0}.btn{display:inline-block;background:var(--plum);color:white!important;border:1px solid var(--plum);padding:13px 26px;text-decoration:none;border-radius:3px;font:600 .93rem 'DM Sans',sans-serif;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#773950}.btn.light{background:#fff8ef;color:var(--plum)!important;border-color:#fff8ef}.hero-note{font-size:.88rem}.values-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 34px;padding:23px;background:#f4e8e1;color:var(--plum);font-size:.88rem}.section{max-width:1120px;margin:auto;padding:78px 28px}.section.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.portrait{width:100%;max-height:620px;object-fit:cover;border-radius:45% 45% 5px 5px;box-shadow:14px 14px 0 #e8d9d1}.section.center,.centered{text-align:center}.grid,.reviews,.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:30px 0}.tile,.review,.step{background:#fff;border:1px solid #e8d8d4;padding:26px;box-shadow:0 5px 22px #5c294009}.band{background:#f1e4e0;padding:65px 28px;text-align:center}.band>*{max-width:950px;margin-left:auto;margin-right:auto}.quote{font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;font-style:italic;color:var(--plum)}.price{font-family:'Playfair Display',Georgia,serif;color:var(--plum);font-size:2rem}.botanical{color:var(--sage)}.form{max-width:760px;margin:24px auto;text-align:left}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form label{display:block;font-weight:600;margin:14px 0 5px}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;border:1px solid #d7c4c6;border-radius:4px;background:#fff;padding:12px;font:inherit}.form textarea{min-height:145px}.notice{font-size:.85rem;background:#f4ece5;padding:12px;border-left:3px solid var(--gold)}.footer{background:var(--plum);color:#f8eae6;text-align:center;padding:50px 24px;font-size:.9rem}.footer a{color:#fff}.footer p{margin:.4rem 0}.footer .brand{font-size:2rem}@media(max-width:780px){nav{flex-direction:column;padding:14px}.links{justify-content:center;gap:7px 14px}.links a{font-size:.8rem}.section{padding:50px 20px}.section.split{grid-template-columns:1fr;gap:30px}.hero{padding:75px 18px}.fields{grid-template-columns:1fr}.portrait{max-width:460px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}