@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,650&family=Nunito+Sans:wght@400;600;700;800&display=swap');

:root { --plum:#351044; --plum-light:#642269; --cream:#fffaf3; --gold:#f2bd58; --coral:#df5b8a; --ink:#3a1747; --muted:#75627d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'Nunito Sans',sans-serif; }
a { color:inherit; }
img { max-width:100%; display:block; }
.skip-link { position:absolute; left:-999px; top:0; padding:10px 14px; color:white; background:var(--plum); }
.skip-link:focus { z-index:50; left:10px; top:10px; }
.seo-header { min-height:78px; display:flex; align-items:center; gap:30px; padding:10px max(24px,calc((100vw - 1120px)/2)); border-bottom:1px solid rgba(53,16,68,.12); background:rgba(255,250,243,.96); }
.seo-header img { width:66px; height:66px; border-radius:50%; object-fit:cover; box-shadow:0 8px 20px rgba(53,16,68,.14); }
.seo-header nav { display:flex; gap:22px; margin-left:auto; font-size:13px; font-weight:700; }
.seo-header nav a { text-decoration:none; }
.seo-header nav a:hover { color:#9b2c61; }
.seo-hero { position:relative; overflow:hidden; padding:100px max(24px,calc((100vw - 1120px)/2)) 90px; color:white; background:radial-gradient(circle at 82% 18%,rgba(242,189,88,.23),transparent 25rem),linear-gradient(140deg,#25092f,var(--plum-light)); }
.seo-hero::after { content:'✦'; position:absolute; right:4%; top:2%; color:rgba(255,255,255,.06); font-size:320px; }
.seo-hero-inner { position:relative; z-index:1; max-width:860px; }
.eyebrow { margin:0 0 16px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { font-family:'Fraunces',serif; }
h1 { max-width:850px; margin:0 0 24px; font-size:clamp(46px,7vw,82px); line-height:.98; letter-spacing:-.045em; }
.seo-hero p:not(.eyebrow) { max-width:720px; margin:0 0 32px; color:rgba(255,255,255,.76); font-size:18px; line-height:1.7; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 22px; border-radius:999px; font-size:13px; font-weight:800; text-decoration:none; }
.button-primary { color:var(--plum); background:var(--gold); box-shadow:0 14px 35px rgba(17,2,25,.22); }
.button-secondary { border:1px solid rgba(255,255,255,.28); color:white; }
.button-secondary-light { border-color:rgba(53,16,68,.18); color:var(--plum); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.breadcrumbs { padding:16px max(24px,calc((100vw - 1120px)/2)); color:var(--muted); font-size:12px; background:#f6ecdf; }
.breadcrumbs a { text-decoration:none; }
.section { padding:90px max(24px,calc((100vw - 1120px)/2)); }
.section-heading { max-width:780px; margin-bottom:48px; }
.section h2 { margin:0 0 18px; font-size:clamp(36px,5vw,60px); line-height:1.05; letter-spacing:-.035em; }
.section-heading > p,.copy p { color:var(--muted); line-height:1.75; }
.feature-grid,.process-grid,.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card,.process-card { padding:30px; border:1px solid rgba(53,16,68,.12); border-radius:24px; background:white; box-shadow:0 18px 45px rgba(53,16,68,.06); }
.feature-card span,.process-card span { color:#b46d12; font-size:11px; font-weight:800; letter-spacing:.12em; }
.feature-card h3,.process-card h3 { margin:18px 0 10px; font-size:25px; }
.feature-card p,.process-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.gallery { margin-top:46px; }
.gallery figure { margin:0; overflow:hidden; border-radius:24px; background:white; box-shadow:0 18px 45px rgba(53,16,68,.08); }
.gallery img { width:100%; height:390px; object-fit:cover; }
.gallery figcaption { padding:16px 18px; color:var(--muted); font-size:13px; }
.section-plum { color:white; background:radial-gradient(circle at 12% 82%,rgba(98,207,196,.13),transparent 24%),var(--plum); }
.section-plum .section-heading > p,.section-plum .process-card p { color:rgba(255,255,255,.67); }
.section-plum .process-card { border-color:rgba(242,189,88,.24); background:rgba(255,255,255,.055); box-shadow:none; }
.faq { max-width:900px; margin:auto; }
.faq details { border-bottom:1px solid rgba(53,16,68,.15); }
.faq summary { padding:22px 0; cursor:pointer; font-family:'Fraunces',serif; font-size:21px; font-weight:650; }
.faq details p { margin:0 0 24px; color:var(--muted); line-height:1.7; }
.cta { padding:75px max(24px,calc((100vw - 1000px)/2)); text-align:center; color:white; background:linear-gradient(135deg,#7f2c67,#50195d); }
.cta h2 { margin:0 0 18px; font-size:clamp(38px,5vw,60px); }
.cta p { max-width:660px; margin:0 auto 28px; color:rgba(255,255,255,.72); line-height:1.7; }
.seo-footer { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:40px max(24px,calc((100vw - 1120px)/2)); color:#dfd1e0; background:#210a2d; font-size:12px; }
.seo-footer img { width:68px; height:68px; border-radius:50%; object-fit:cover; box-shadow:0 8px 20px rgba(0,0,0,.18); }
.seo-footer nav { display:flex; flex-wrap:wrap; gap:16px; }
.seo-footer a { color:var(--gold); text-decoration:none; }
.privacy-copy { max-width:900px; }
.privacy-copy h2 { margin:42px 0 12px; font-size:clamp(28px,4vw,42px); }
.privacy-copy p { color:var(--muted); line-height:1.78; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
@media (max-width:760px) { .seo-header { align-items:flex-start; flex-direction:column; gap:8px; padding-block:16px; } .seo-header nav { margin:0; flex-wrap:wrap; } .seo-hero { padding-block:75px; } .feature-grid,.process-grid,.gallery { grid-template-columns:1fr; } .gallery img { height:360px; } .section { padding-block:70px; } .seo-footer { grid-template-columns:1fr; } }
