
:root{
  --cream:#faf3ea; --cream-2:#f2e6d5; --violet:#3d1b5e; --violet-mid:#5a2a86;
  --ink:#2c1444; --body:#4a3866; --gold:#c9a860; --bronze:#8a6a3a; --lilac:#c9bcdb;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Poppins',system-ui,sans-serif;
  --pad:6vw; --max:1300px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--violet);text-decoration:none}
a:hover{color:#6a2f9e}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--violet);color:var(--cream);padding:12px 18px;z-index:100}
.skip:focus{left:12px;top:12px;color:var(--cream)}

/* nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px var(--pad);background:rgba(250,243,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(61,27,94,.1)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand img{width:70px;height:70px;object-fit:contain}
.brand>span{display:block}
.brand .wm{display:block;white-space:nowrap;font-family:var(--serif);font-size:27px;line-height:1;letter-spacing:.1em;font-weight:600;color:var(--violet)}
.brand .sub{display:block;font-size:12.5px;letter-spacing:.04em;color:var(--bronze);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:26px;font-size:15px}
.nav-links a{color:var(--ink)}
.nav-links a[aria-current="page"]{color:var(--violet);font-weight:500;box-shadow:inset 0 -2px 0 var(--gold)}
.nav-toggle{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 30px;border-radius:999px;
  font-family:var(--sans);font-size:15px;font-weight:500;border:none;cursor:pointer;white-space:nowrap;text-align:center;background:var(--violet);color:var(--cream)}
.btn:hover{background:var(--violet-mid);color:var(--cream)}
.btn-sm{min-height:44px;padding:10px 22px;font-size:14px}
.btn-ghost{background:none;border:1.5px solid var(--violet);color:var(--violet)}
.btn-ghost:hover{background:rgba(61,27,94,.06);color:var(--violet)}
.btn-gold{background:var(--gold);color:var(--ink);font-weight:600}
.btn-gold:hover{background:#dab979;color:var(--ink)}

/* layout */
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.narrow{max-width:800px}
.sec{padding:96px 0}
.sec-tint{background:var(--cream-2)}
.sec-deep{background:var(--ink);color:#f2e9da}
.eyebrow{color:var(--bronze);font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin:0 0 16px}
h1{font-family:var(--serif);font-size:clamp(38px,5vw,64px);line-height:1.05;font-weight:500;margin:0 0 22px}
h2{font-family:var(--serif);font-size:clamp(30px,3.5vw,42px);line-height:1.15;font-weight:500;margin:0 0 20px}
h3{font-family:var(--serif);font-size:23px;font-weight:600;margin:0 0 10px}
.lead{font-size:18px;line-height:1.7;color:var(--body);max-width:56ch}
.sec p,.sec li{font-size:17px;line-height:1.8;color:var(--body)}
.sec-deep p,.sec-deep li{color:var(--lilac)}
.sec-deep h2,.sec-deep h3{color:#f2e9da}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-wide{grid-template-columns:1.1fr .9fr}
.split img{width:100%;max-width:440px;margin:0 auto;justify-self:center;aspect-ratio:3/4;object-fit:cover;object-position:center 18%;border-radius:24px;box-shadow:0 24px 48px rgba(44,20,68,.16)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:26px}
.card{background:var(--cream);border-radius:20px;padding:36px 30px;box-shadow:0 12px 32px rgba(61,27,94,.07);display:flex;flex-direction:column;gap:14px}
.sec-tint .card{background:var(--cream)}
.card .glyph{font-size:26px;color:var(--violet)}
.card p{margin:0;flex:1;font-size:16px}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-top:1px solid rgba(61,27,94,.14);padding-top:14px;margin-top:4px}
.price{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink)}
.meta{font-size:14px;color:var(--bronze);font-weight:500}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;padding-top:14px;border-top:2px solid rgba(61,27,94,.18)}
.steps li::before{content:"0" counter(s);display:block;font-family:var(--serif);font-size:26px;color:var(--gold);margin-bottom:6px}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:26px}
.ticks li::before{content:"✧";position:absolute;left:0;color:var(--gold)}
.cols2{columns:2;column-gap:40px}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.chips li{background:rgba(61,27,94,.07);border-radius:999px;padding:9px 18px;font-size:15px;color:var(--body)}
.note{background:var(--cream-2);border-radius:18px;padding:28px 30px}
.sec-tint .note{background:var(--cream)}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
blockquote{margin:0;background:var(--cream-2);border-radius:20px;padding:30px 28px}
.sec-tint blockquote{background:var(--cream)}
blockquote p{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.55;color:var(--ink);margin:0 0 14px}
blockquote cite{font-style:normal;font-size:14px;color:var(--bronze);font-weight:500}
.cta-band{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* faq */
details{border-bottom:1px solid rgba(61,27,94,.15)}
details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;
  padding:22px 4px;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink)}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-family:var(--sans);font-size:22px;color:var(--violet);flex:none}
details[open] summary::after{content:"−"}
details .ans{padding:0 4px 24px;margin:0;max-width:66ch}

/* forms */
form.inquiry{background:var(--cream-2);border-radius:20px;padding:36px}
.sec-tint form.inquiry{background:var(--cream)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#6b4f8a;font-weight:500}
.field .hint{text-transform:none;letter-spacing:0;color:var(--bronze)}
input,select,textarea{width:100%;min-height:48px;background:var(--cream);border:1px solid rgba(61,27,94,.2);border-radius:12px;
  padding:12px 15px;font-family:var(--sans);font-size:16px;color:var(--ink)}
textarea{min-height:130px;line-height:1.6;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(61,27,94,.2)}
form.inquiry .btn{margin-top:24px}
.form-foot{font-size:14.5px;color:#6b4f8a;margin:14px 0 0}

/* values strip */
.values{background:var(--violet);padding:30px var(--pad);display:flex;justify-content:center;gap:clamp(24px,6vw,90px);flex-wrap:wrap}
.values span{color:#f2e9da;font-family:var(--serif);font-size:23px}
.values span i{color:var(--gold);font-style:normal;margin-right:8px}

/* breadcrumb */
.crumbs{font-size:13.5px;color:var(--bronze);padding:22px var(--pad) 0;max-width:var(--max);margin:0 auto}
.crumbs a{color:var(--bronze);text-decoration:underline}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:64px 0 88px}
.hero img{width:100%;max-width:400px;justify-self:center;aspect-ratio:3/4;object-fit:cover;object-position:center 16%;border-radius:24px;box-shadow:0 24px 48px rgba(44,20,68,.2);margin:0 auto}
.page-head{padding:56px 0 8px;max-width:62ch}

/* footer */
footer{background:var(--ink);padding:60px var(--pad) 34px;color:#e5dcf2}
.foot-top{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;
  padding-bottom:36px;border-bottom:1px solid rgba(242,233,218,.15)}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-brand .chip{background:var(--cream);border-radius:12px;padding:6px;display:flex}
.foot-brand img{width:40px;height:40px;object-fit:contain}
.foot-brand>span{display:block}
.foot-brand .wm{display:block;white-space:nowrap;font-family:var(--serif);font-size:19px;letter-spacing:.06em;color:#f2e9da;font-weight:600}
.foot-brand .sub{display:block;font-size:13px;color:var(--lilac)}
.foot-cols{display:flex;gap:56px;flex-wrap:wrap}
.foot-cols h2{font-family:var(--sans);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#8a76ab;margin:0 0 14px;font-weight:500}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}
.foot-cols a{color:#e5dcf2}
.foot-cols a:hover{color:#fff}
.legal{max-width:var(--max);margin:0 auto;padding-top:22px;font-size:13px;color:#8a76ab}

@media (max-width:1040px){
  .nav{flex-wrap:wrap}
  .nav-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;
    border:1.5px solid var(--violet);background:none;color:var(--violet);font-family:var(--sans);font-size:14px;cursor:pointer}
  .nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:18px;padding:14px 0 6px}
  .nav-links.open{display:flex}
  .brand img{width:56px;height:56px}
  .brand .wm{font-size:22px}
  .hero,.split{grid-template-columns:1fr;gap:32px;padding-top:40px}
  .hero .hero-media,.split .media-first{order:-1}
  .sec{padding:64px 0}
  .cols2{columns:1}
  form.inquiry{padding:26px 20px}
}
@media (max-width:420px){
  .brand .sub{display:none}
  blockquote,.card{padding:24px 20px}
}
