@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#24211f;--muted:#746c68;--rose:#ad7663;--rose2:#d7a08c;--blush:#f8ece7;--blush2:#f2ded6;--cream:#fffaf8;--line:#ead6ce}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}
.header{height:86px;padding:10px 6%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(255,250,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(234,214,206,.7)}.brand img{width:92px;height:64px;object-fit:contain}.nav{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:700}.nav a:hover{color:var(--rose)}.nav-cta{border:1px solid var(--ink);padding:10px 17px;border-radius:99px}.menu-btn{display:none;border:0;background:none;font-size:27px}
.hero{min-height:calc(100vh - 86px);padding:70px 8%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;background:radial-gradient(circle at 75% 30%,#fff 0,#f8ece7 45%,#f1ddd5 100%)}.eyebrow{font-size:11px;letter-spacing:3.5px;font-weight:700;color:var(--rose);margin:0 0 14px}.hero h1{font:500 clamp(52px,7vw,88px)/1.05 "Playfair Display",serif;margin:0 0 25px}.hero h1 em,h2 em{font-style:italic;color:var(--rose)}.hero-text{font-size:19px;color:var(--muted);max-width:580px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 23px;border-radius:99px;border:1px solid transparent;font-weight:700;cursor:pointer}.primary{background:var(--ink);color:#fff}.secondary{border-color:var(--ink)}.light{background:#fff}.trust-row{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--muted)}.hero-visual{min-height:500px;display:flex;align-items:center;justify-content:center;position:relative}.hero-visual img{width:min(430px,90%);position:relative;z-index:2;box-shadow:0 25px 70px rgba(76,45,34,.1);border-radius:22px}.hero-blob{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:var(--blush2);border:1px solid var(--line)}.floating-note{position:absolute;z-index:3;bottom:45px;left:5%;padding:15px 19px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 35px rgba(60,40,30,.08);font-size:12px}.floating-note strong{font-size:13px}
.intro-strip{background:var(--ink);color:#fff;padding:18px 8%;display:flex;justify-content:space-between;align-items:center;gap:20px}.intro-strip div{display:flex;gap:15px;align-items:center}.intro-strip span{color:#d8cbc6;font-size:13px}.intro-strip a{color:#f0b8a4;font-weight:700;font-size:13px}
.section{padding:105px 8%}.heading{text-align:center;max-width:720px;margin:0 auto 50px}.heading h2,.about h2,.banner h2{font:500 clamp(38px,5vw,60px)/1.08 "Playfair Display",serif;margin:0 0 18px}.heading>p:last-child{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;margin:auto}.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:25px;padding:34px;overflow:hidden}.card.featured{background:var(--blush)}.number{font-size:12px;letter-spacing:2px;color:var(--rose);font-weight:700}.sparkle{position:absolute;right:25px;top:25px;font-size:26px;color:var(--rose)}.badge{display:inline-block;margin-top:18px;background:var(--rose);color:#fff;padding:5px 9px;border-radius:99px;font-size:9px;letter-spacing:1.4px;font-weight:700}.card h3{font:500 30px "Playfair Display",serif;margin:18px 0 10px}.card p{color:var(--muted)}.card ul{padding:0;margin:20px 0 25px;list-style:none;color:#514b48;font-size:13px}.card li{margin:7px 0}.card li:before{content:"✓";color:var(--rose);font-weight:700;margin-right:8px}.card a{font-size:13px;color:var(--rose);font-weight:700}
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:var(--blush)}.about-image{min-height:470px;border-radius:30px;background:#fff7f4;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative}.about-image img{width:75%;max-width:390px}.round-stamp{position:absolute;right:-15px;bottom:30px;background:var(--ink);color:#fff;padding:17px;border-radius:50%;width:115px;height:115px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9px;letter-spacing:1.5px;line-height:1.4}.about-copy p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:600px}.ticks{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.ticks span{padding:8px 12px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:700}
.pricing{background:#fff}.price-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}.price-card{border:1px solid var(--line);border-radius:25px;padding:35px;background:var(--cream)}.price-card.highlighted{background:var(--blush)}.price{font:500 55px "Playfair Display",serif}.price span{font:500 16px "DM Sans",sans-serif;color:var(--muted)}.price-card p:not(.eyebrow){color:var(--muted)}.fineprint{text-align:center;color:var(--muted);font-size:12px;max-width:760px;margin:25px auto 0}
.banner{margin:0 8% 105px;border-radius:30px;background:var(--ink);color:#fff;padding:55px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}.banner .eyebrow{color:#d7a08c}.banner h2{margin:0}
.reviews{background:var(--blush)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.review-grid blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px}.review-grid blockquote div{color:var(--rose);letter-spacing:3px}.review-grid p{font-family:"Playfair Display",serif;font-size:20px}.review-grid cite{font-size:12px;color:var(--muted);font-style:normal}
.faq{background:#fff}.faq-list{max-width:850px;margin:auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 5px}summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--rose);font-size:22px}details[open] summary:after{content:"−"}details p{color:var(--muted);max-width:700px;margin-bottom:0}
.contact{background:var(--blush)}.form{max-width:850px;margin:auto;background:#fff;padding:35px;border:1px solid var(--line);border-radius:27px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--rose)}.form-note{font-size:11px;color:var(--muted)}
.footer{padding:45px 8%;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center;color:var(--muted);font-size:12px}.footer img{width:80px;height:55px;object-fit:contain}.footer div span{display:block}.socials{display:flex;gap:15px}.socials a:hover{color:var(--rose)}
@media(max-width:850px){.header{height:72px}.brand img{width:75px;height:50px}.menu-btn{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 8%;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:50px}.hero-visual{min-height:390px;order:-1}.hero-visual img{width:min(330px,75%)}.floating-note{left:3%;bottom:15px}.cards,.review-grid,.price-grid,.about{grid-template-columns:1fr}.about{gap:40px}.about-image{min-height:370px}.banner{margin-left:5%;margin-right:5%;flex-direction:column;align-items:flex-start}.footer{grid-template-columns:1fr;text-align:center}.footer img{margin:auto}.socials{justify-content:center}.intro-strip{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}}

/* Pricing add-ons */
.addons { margin-top: 2rem; }
.addons h3 { margin-bottom: 1rem; }
.addon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.addon-grid > div { padding: 1.1rem; border: 1px solid rgba(0,0,0,.1); border-radius: 14px; background: rgba(255,255,255,.55); display: flex; flex-direction: column; gap: .35rem; }
.addon-grid span { font-weight: 700; }
@media (max-width: 700px) { .addon-grid { grid-template-columns: 1fr; } }
