:root {
  --mw-ivory: #F8F5F0;
  --mw-ivory-2: #FCFAF7;
  --mw-sand: #DED3C3;
  --mw-sand-light: #EEE6DC;
  --mw-gold: #C79B55;
  --mw-gold-dark: #94703A;
  --mw-ink: #282522;
  --mw-muted: #6F6861;
  --mw-white: #FFFFFF;
  --mw-border: rgba(148,112,58,.24);
  --mw-shadow: 0 24px 60px rgba(68,54,40,.10);
  --mw-radius: 2px;
  --mw-container: min(1180px, calc(100% - 40px));
  --mw-serif: "Cormorant Garamond", Georgia, serif;
  --mw-sans: "Montserrat", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--mw-ivory);
  color: var(--mw-ink);
  font-family: var(--mw-sans);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.admin-bar .site-header { top: 32px; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; }
::selection { background: var(--mw-sand); color: var(--mw-ink); }

.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 99999;
  padding: 12px 18px;
  background: var(--mw-ink);
  color: white;
  transition: top .2s ease;
}
.skip-link:focus { top:16px; }

.mw-container { width: var(--mw-container); margin-inline:auto; }
.mw-section { padding: 108px 0; }
.mw-section--soft { background: var(--mw-ivory-2); }
.mw-section--sand { background: linear-gradient(135deg, #E8DDD0, #F5EFE7); }
.mw-section--dark { background: var(--mw-ink); color: var(--mw-white); }
.mw-kicker {
  margin: 0 0 14px;
  color: var(--mw-gold-dark);
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.mw-title {
  margin: 0;
  font-family: var(--mw-serif);
  font-weight: 500;
  font-size: clamp(2.55rem, 5.4vw, 5.15rem);
  line-height: .98;
  letter-spacing: -.035em;
}
.mw-title em { color: var(--mw-gold-dark); font-weight: 500; }
.mw-section-title {
  margin: 0 0 22px;
  font-family: var(--mw-serif);
  font-size: clamp(2.25rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.025em;
}
.mw-lead { font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: var(--mw-muted); max-width: 650px; }
.mw-center { text-align:center; }
.mw-center .mw-lead { margin-inline:auto; }
.mw-rule { width: 54px; height:1px; background:var(--mw-gold); margin: 25px 0; }
.mw-center .mw-rule { margin-inline:auto; }

.mw-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding: 13px 25px;
  border:1px solid var(--mw-gold);
  background:var(--mw-gold);
  color:#fff;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  box-shadow:0 8px 22px rgba(148,112,58,.14);
}
.mw-button:hover { transform:translateY(-2px); background:var(--mw-gold-dark); border-color:var(--mw-gold-dark); }
.mw-button--ghost { background:transparent; color:var(--mw-ink); box-shadow:none; }
.mw-button--ghost:hover { background:var(--mw-gold); color:#fff; }
.mw-button--light { background:var(--mw-white); border-color:var(--mw-white); color:var(--mw-ink); }
.mw-button--light:hover { color:var(--mw-white); }
.mw-button:focus-visible, .site-nav a:focus-visible, .mw-icon-link:focus-visible {
  outline:3px solid rgba(199,155,85,.35);
  outline-offset:4px;
}

/* Header */
.site-header {
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(248,245,240,.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(148,112,58,.12);
}
.header-inner {
  width:var(--mw-container);
  min-height:86px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  gap:24px;
}
.site-brand { display:flex; align-items:center; gap:12px; }
.site-brand .custom-logo { max-height:68px; width:auto; }
.mw-brandmark { display:flex; align-items:center; gap:12px; }
.mw-brandmark svg { width:58px; height:58px; flex:none; }
.mw-brand-copy { display:flex; flex-direction:column; line-height:1.1; }
.mw-brand-name { font-size:.87rem; letter-spacing:.22em; text-transform:uppercase; }
.mw-brand-sub { margin-top:5px; color:var(--mw-muted); font-size:.57rem; letter-spacing:.13em; text-transform:uppercase; }
.site-nav { justify-self:center; }
.site-nav ul { display:flex; align-items:center; gap:27px; list-style:none; margin:0; padding:0; }
.site-nav a { font-size:.67rem; font-weight:600; letter-spacing:.10em; text-transform:uppercase; }
.site-nav a:hover { color:var(--mw-gold-dark); }
.header-cta { white-space:nowrap; }
.menu-toggle {
  display:none;
  width:46px;
  height:46px;
  border:1px solid var(--mw-border);
  background:transparent;
  color:var(--mw-ink);
}
.menu-toggle span, .menu-toggle::before, .menu-toggle::after {
  content:"";
  display:block;
  width:20px;
  height:1px;
  background:currentColor;
  margin:5px auto;
  transition:transform .2s ease, opacity .2s ease;
}
.menu-toggle.is-open span { opacity:0; }
.menu-toggle.is-open::before { transform:translateY(6px) rotate(45deg); }
.menu-toggle.is-open::after { transform:translateY(-6px) rotate(-45deg); }

/* Hero */
.mw-hero { min-height:calc(100vh - 86px); display:flex; align-items:stretch; background:var(--mw-ivory); }
.mw-hero-grid {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);
}
.mw-hero-copy {
  padding:clamp(70px,8vw,130px) max(40px, calc((100vw - 1180px)/2 + 20px));
  padding-right:clamp(42px,6vw,100px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mw-hero-copy .mw-lead { margin:0 0 34px; max-width:590px; }
.mw-hero-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.mw-hero-note { margin-top:36px; display:flex; flex-wrap:wrap; gap:18px; color:var(--mw-muted); font-size:.78rem; }
.mw-hero-note span { display:inline-flex; align-items:center; gap:8px; }
.mw-hero-note span::before { content:""; width:19px; height:1px; background:var(--mw-gold); }
.mw-hero-media { position:relative; min-height:640px; overflow:hidden; background:var(--mw-sand); }
.mw-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.mw-hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(248,245,240,.12),transparent 30%),linear-gradient(0deg,rgba(40,37,34,.14),transparent 50%); }
.mw-floating-card {
  position:absolute;
  z-index:2;
  right:clamp(18px,4vw,58px);
  bottom:clamp(18px,4vw,58px);
  max-width:270px;
  padding:24px 26px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  box-shadow:var(--mw-shadow);
}
.mw-floating-card strong { display:block; font-family:var(--mw-serif); font-size:1.45rem; font-weight:500; line-height:1.1; }
.mw-floating-card span { display:block; margin-top:8px; color:var(--mw-muted); font-size:.76rem; }

/* Trust bar */
.mw-trustbar { background:var(--mw-white); border-block:1px solid rgba(148,112,58,.12); }
.mw-trustbar-inner { width:var(--mw-container); margin-inline:auto; display:grid; grid-template-columns:repeat(4,1fr); }
.mw-trust-item { padding:28px 22px; text-align:center; border-right:1px solid rgba(148,112,58,.12); }
.mw-trust-item:last-child { border-right:0; }
.mw-trust-item strong { display:block; font-family:var(--mw-serif); font-size:1.25rem; font-weight:500; }
.mw-trust-item span { display:block; color:var(--mw-muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }

/* Benefits */
.mw-benefits { margin-top:58px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--mw-border); border:1px solid var(--mw-border); }
.mw-benefit { background:var(--mw-ivory-2); padding:36px 28px; min-height:245px; }
.mw-icon { width:46px; height:46px; margin-bottom:24px; color:var(--mw-gold-dark); }
.mw-benefit h3 { margin:0 0 13px; font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; }
.mw-benefit p { margin:0; color:var(--mw-muted); font-size:.9rem; }

/* Rituals */
.mw-ritual-grid { margin-top:58px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.mw-ritual-card { background:var(--mw-white); border:1px solid rgba(148,112,58,.14); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.mw-ritual-card:hover { transform:translateY(-6px); box-shadow:var(--mw-shadow); }
.mw-ritual-image { aspect-ratio:4/3; overflow:hidden; background:var(--mw-sand-light); }
.mw-ritual-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.mw-ritual-card:hover .mw-ritual-image img { transform:scale(1.04); }
.mw-ritual-body { padding:28px 28px 30px; }
.mw-ritual-index { color:var(--mw-gold-dark); font-size:.67rem; letter-spacing:.16em; text-transform:uppercase; }
.mw-ritual-body h3 { margin:8px 0 10px; font-family:var(--mw-serif); font-size:1.8rem; font-weight:500; line-height:1; }
.mw-ritual-body p { margin:0; color:var(--mw-muted); font-size:.89rem; }
.mw-ritual-meta { margin-top:19px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; border-top:1px solid rgba(148,112,58,.14); font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; color:var(--mw-gold-dark); }

/* Feature split */
.mw-split { display:grid; grid-template-columns:1fr 1fr; min-height:620px; }
.mw-split-media { min-height:520px; overflow:hidden; }
.mw-split-media img { width:100%; height:100%; object-fit:cover; }
.mw-split-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(55px,7vw,105px); }
.mw-split-copy p { color:var(--mw-muted); }
.mw-checklist { list-style:none; margin:28px 0 34px; padding:0; display:grid; gap:14px; }
.mw-checklist li { display:flex; gap:13px; align-items:flex-start; }
.mw-checklist li::before { content:"✦"; color:var(--mw-gold-dark); font-size:.85rem; margin-top:2px; }

/* About */
.mw-about-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(45px,8vw,110px); align-items:center; }
.mw-about-media { position:relative; min-height:560px; background:var(--mw-sand-light); overflow:hidden; }
.mw-about-media img { width:100%; height:100%; object-fit:cover; }
.mw-about-media::before { content:""; position:absolute; z-index:1; inset:25px; border:1px solid rgba(199,155,85,.58); pointer-events:none; }
.mw-about-badge {
  position:absolute;
  z-index:2;
  left:-28px;
  bottom:45px;
  width:180px;
  padding:28px 22px;
  background:var(--mw-white);
  border:1px solid var(--mw-border);
  box-shadow:var(--mw-shadow);
  text-align:center;
}
.mw-about-badge strong { display:block; font-family:var(--mw-serif); font-size:2rem; font-weight:500; color:var(--mw-gold-dark); }
.mw-about-badge span { font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; color:var(--mw-muted); }
.mw-about-copy p { color:var(--mw-muted); }
.mw-credentials { margin-top:32px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.mw-credential { padding:17px 18px; border-left:1px solid var(--mw-gold); background:rgba(255,255,255,.45); }
.mw-credential strong { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.mw-credential span { color:var(--mw-muted); font-size:.82rem; }

/* Process */
.mw-process { margin-top:55px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.mw-step { position:relative; padding:31px 28px; border-top:1px solid var(--mw-gold); background:rgba(255,255,255,.35); }
.mw-step-number { font-family:var(--mw-serif); color:var(--mw-gold-dark); font-size:2rem; }
.mw-step h3 { margin:8px 0 10px; font-family:var(--mw-serif); font-size:1.45rem; font-weight:500; }
.mw-step p { margin:0; color:var(--mw-muted); font-size:.86rem; }

/* CTA */
.mw-cta { padding:92px 0; background:linear-gradient(120deg,#D8C5AD,#F6EFE7); }
.mw-cta-inner { width:var(--mw-container); margin-inline:auto; display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; }
.mw-cta h2 { margin:0; font-family:var(--mw-serif); font-size:clamp(2.4rem,5vw,4.8rem); font-weight:500; line-height:1; }
.mw-cta p { margin:18px 0 0; color:var(--mw-muted); }

/* FAQ */
.mw-faq { margin-top:48px; border-top:1px solid var(--mw-border); }
.mw-faq details { border-bottom:1px solid var(--mw-border); }
.mw-faq summary { list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative; font-family:var(--mw-serif); font-size:1.45rem; }
.mw-faq summary::-webkit-details-marker { display:none; }
.mw-faq summary::after { content:"+"; position:absolute; right:8px; top:18px; color:var(--mw-gold-dark); font-family:var(--mw-sans); font-size:1.2rem; }
.mw-faq details[open] summary::after { content:"−"; }
.mw-faq-answer { padding:0 0 24px; color:var(--mw-muted); max-width:850px; }

/* Contact */
.mw-contact-grid { display:grid; grid-template-columns:.84fr 1.16fr; gap:70px; align-items:start; }
.mw-contact-list { margin-top:32px; display:grid; gap:18px; }
.mw-contact-row { display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:start; }
.mw-contact-row svg { width:22px; height:22px; color:var(--mw-gold-dark); margin-top:3px; }
.mw-contact-row strong { display:block; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.mw-contact-row span, .mw-contact-row a { color:var(--mw-muted); }
.mw-contact-card { padding:48px; background:var(--mw-white); border:1px solid var(--mw-border); box-shadow:var(--mw-shadow); }
.mw-contact-card h3 { margin:0 0 12px; font-family:var(--mw-serif); font-size:2.2rem; font-weight:500; }
.mw-contact-card p { color:var(--mw-muted); }
.mw-contact-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:28px; }
.mw-disclaimer { margin-top:22px; color:var(--mw-muted); font-size:.72rem; }

/* Footer */
.site-footer { background:var(--mw-ink); color:rgba(255,255,255,.82); padding:76px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.35fr .8fr .8fr; gap:70px; }
.footer-brand .mw-brandmark { color:white; }
.footer-brand .mw-brandmark svg { color:var(--mw-gold); }
.footer-brand p { max-width:420px; color:rgba(255,255,255,.58); font-size:.86rem; }
.footer-heading { margin:0 0 18px; color:var(--mw-gold); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; }
.footer-links { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.footer-links a { color:rgba(255,255,255,.66); font-size:.84rem; }
.footer-links a:hover { color:white; }
.footer-bottom { margin-top:58px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.46); font-size:.7rem; }
.mw-social { display:flex; gap:10px; margin-top:23px; }
.mw-icon-link { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); }
.mw-icon-link:hover { border-color:var(--mw-gold); color:var(--mw-gold); }
.mw-icon-link svg { width:17px; height:17px; }

/* Content pages */
.mw-page-hero { padding:120px 0 70px; background:linear-gradient(135deg,var(--mw-ivory),var(--mw-sand-light)); }
.mw-page-hero h1 { margin:0; font-family:var(--mw-serif); font-size:clamp(3rem,6vw,5.5rem); font-weight:500; }
.mw-content { width:min(820px,calc(100% - 40px)); margin:0 auto; padding:80px 0 110px; }
.mw-content h2,.mw-content h3 { font-family:var(--mw-serif); font-weight:500; }
.mw-content a { color:var(--mw-gold-dark); text-decoration:underline; text-underline-offset:3px; }
.mw-content img { border:1px solid var(--mw-border); }

/* Admin bar / WP */
.alignwide { width:min(1180px,calc(100vw - 40px)); margin-left:50%; transform:translateX(-50%); }
.alignfull { width:100vw; margin-left:50%; transform:translateX(-50%); }

@media (max-width: 1100px) {
  .header-inner { grid-template-columns:1fr auto; }
  .site-nav { position:fixed; inset:86px 0 auto 0; display:none; background:var(--mw-ivory); border-bottom:1px solid var(--mw-border); padding:28px 20px; }
  .site-nav.is-open { display:block; }
  .site-nav ul { flex-direction:column; align-items:flex-start; gap:19px; width:var(--mw-container); margin-inline:auto; }
  .menu-toggle { display:block; }
  .header-cta { display:none; }
  .mw-hero-grid { grid-template-columns:1fr 1fr; }
  .mw-benefits { grid-template-columns:repeat(2,1fr); }
  .mw-ritual-grid { grid-template-columns:repeat(2,1fr); }
  .mw-process { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 820px) {
  body.admin-bar .site-header { top:46px; }
  .header-inner { min-height:76px; }
  .site-nav { inset:76px 0 auto 0; }
  .mw-brand-sub { display:none; }
  .mw-hero { min-height:auto; }
  .mw-hero-grid { grid-template-columns:1fr; }
  .mw-hero-copy { padding:74px 25px 58px; }
  .mw-hero-media { min-height:520px; }
  .mw-trustbar-inner { grid-template-columns:repeat(2,1fr); }
  .mw-trust-item:nth-child(2) { border-right:0; }
  .mw-trust-item:nth-child(-n+2) { border-bottom:1px solid rgba(148,112,58,.12); }
  .mw-section { padding:82px 0; }
  .mw-split { grid-template-columns:1fr; }
  .mw-split-copy { padding:68px 25px; }
  .mw-about-grid { grid-template-columns:1fr; }
  .mw-about-media { min-height:470px; }
  .mw-about-badge { left:18px; bottom:18px; }
  .mw-cta-inner { grid-template-columns:1fr; }
  .mw-contact-grid { grid-template-columns:1fr; gap:42px; }
  .footer-grid { grid-template-columns:1fr; gap:38px; }
}

@media (max-width: 600px) {
  :root { --mw-container: min(100% - 28px, 1180px); }
  .mw-brandmark svg { width:50px; height:50px; }
  .mw-brand-name { font-size:.76rem; }
  .mw-title { font-size:3.25rem; }
  .mw-hero-actions { align-items:stretch; flex-direction:column; }
  .mw-button { width:100%; }
  .mw-hero-media { min-height:420px; }
  .mw-floating-card { left:16px; right:16px; bottom:16px; max-width:none; }
  .mw-benefits,.mw-ritual-grid,.mw-process,.mw-credentials { grid-template-columns:1fr; }
  .mw-benefit { min-height:auto; }
  .mw-trust-item { padding:23px 10px; }
  .mw-cta { padding:70px 0; }
  .mw-contact-card { padding:32px 24px; }
  .mw-contact-actions { flex-direction:column; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
