/* Ma Divination — homepage layer for the Alterna child theme. */
:root {
    --md-ink: #341f27;
    --md-wine: #9b2f2d;
    --md-wine-deep: #6e2028;
    --md-paper: #f7eee6;
    --md-paper-deep: #ead8cb;
    --md-gold: #c89445;
    --md-line: rgba(52, 31, 39, .16);
    --md-sans: 'DM Sans', Arial, sans-serif;
    --md-serif: 'Playfair Display', Georgia, serif;
    --md-mono: 'DM Mono', Consolas, monospace;
}

html { scroll-behavior: smooth; }
body.ma-divination-front-page { min-width: 320px; overflow-x: hidden; background: var(--md-paper); }
body.ma-divination-front-page .wrapper,
body.ma-divination-front-page .content-wrap { width: 100%; max-width: none; margin: 0; padding: 0; background: transparent; }
body.ma-divination-front-page .header-wrap,
body.ma-divination-front-page .page-header-wrap { display: none !important; }
body.ma-divination-front-page .footer-wrap { display: none !important; }
body.ma-divination-front-page #wpadminbar { z-index: 99999; }
body.ma-divination-front-page button:focus-visible,
body.ma-divination-front-page a:focus-visible,
body.ma-divination-front-page input:focus-visible { outline: 2px solid var(--md-gold); outline-offset: 4px; }

.md-homepage { color: var(--md-ink); font-family: var(--md-sans); background: var(--md-paper); }
.md-homepage *,
.md-homepage *::before,
.md-homepage *::after { box-sizing: border-box; }
.md-homepage a { text-decoration: none; }
.md-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.md-display { font-family: var(--md-serif); font-weight: 500; }
.md-eyebrow { color: var(--md-wine); font: 500 .72rem/1.2 var(--md-mono); letter-spacing: .16em; text-transform: uppercase; }

.md-site-header { position: absolute; z-index: 20; top: 0; left: 0; right: 0; color: var(--md-paper); }
.md-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 82px; }
.md-wordmark { display: inline-flex; align-items: baseline; gap: 7px; color: var(--md-paper); font: 600 1.06rem var(--md-sans); letter-spacing: -.045em; }
.md-mark { color: #eb5345; font-family: var(--md-serif); font-size: 1.25rem; line-height: 0; }
.md-nav-links { display: none; align-items: center; gap: 26px; }
.md-nav-links a { color: rgba(247,238,230,.76); font-size: .86rem; transition: color .25s ease; }
.md-nav-links a:hover { color: var(--md-paper); }
.md-header-tools { display: flex; align-items: center; gap: 9px; }
.md-header-action,
.md-menu-toggle { color: var(--md-paper); border: 1px solid rgba(247,238,230,.3); background: rgba(247,238,230,.08); cursor: pointer; }
.md-header-action { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 9px 13px; font: 500 .78rem var(--md-mono); transition: background .25s ease, transform .25s ease; }
.md-header-action:hover { background: rgba(247,238,230,.16); transform: translateY(-2px); }
.md-menu-toggle { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; }
.md-menu-icon,
.md-menu-icon::before,
.md-menu-icon::after { display: block; width: 15px; height: 1px; background: currentColor; transition: transform .25s ease; }
.md-menu-icon { position: relative; }
.md-menu-icon::before,
.md-menu-icon::after { content: ""; position: absolute; left: 0; }
.md-menu-icon::before { top: -5px; }
.md-menu-icon::after { top: 5px; }
.md-menu-toggle[aria-expanded="true"] .md-menu-icon { background: transparent; }
.md-menu-toggle[aria-expanded="true"] .md-menu-icon::before { top: 0; transform: rotate(45deg); }
.md-menu-toggle[aria-expanded="true"] .md-menu-icon::after { top: 0; transform: rotate(-45deg); }

.md-hero { position: relative; min-height: 720px; overflow: hidden; color: var(--md-paper); background: radial-gradient(circle at 72% 30%, rgba(196,148,69,.22), transparent 20%), radial-gradient(circle at 9% 72%, rgba(155,47,45,.3), transparent 28%), linear-gradient(135deg, #321d27 0%, #471d28 48%, #721f29 100%); }
.md-hero::before { content: ""; position: absolute; inset: 0; opacity: .12; pointer-events: none; background-image: linear-gradient(rgba(247,238,230,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(247,238,230,.25) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to bottom, #000, transparent 72%); }
.md-hero-inner { position: relative; z-index: 2; display: grid; align-items: center; min-height: 720px; padding: 112px 0 70px; }
.md-hero-copy { max-width: 610px; }
.md-hero-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: #dbb268; }
.md-hero-kicker::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.md-hero h1 { max-width: 680px; margin: 0; color: var(--md-paper); font-size: clamp(4rem, 11.8vw, 8.6rem); letter-spacing: -.07em; line-height: .91; }
.md-hero h1 em { color: #dc5b4b; font-weight: 500; }
.md-hero-intro { max-width: 440px; margin: 26px 0 32px; color: rgba(247,238,230,.75); font-size: 1.08rem; line-height: 1.7; }
.md-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.md-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 0 19px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font: 600 .85rem var(--md-sans); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.md-button-primary { color: var(--md-paper); background: #b53a34; box-shadow: 0 9px 28px rgba(27,9,15,.24); }
.md-button-primary:hover { color: var(--md-paper); background: #c94a40; transform: translateY(-3px); }
.md-button-secondary { color: var(--md-paper); border-color: rgba(247,238,230,.34); background: transparent; }
.md-button-secondary:hover { color: var(--md-paper); border-color: var(--md-paper); background: rgba(247,238,230,.09); transform: translateY(-3px); }
.md-button-dark { color: var(--md-paper); background: var(--md-wine-deep); }
.md-button-dark:hover { color: var(--md-paper); background: var(--md-wine); transform: translateY(-3px); }
.md-hero-note { display: flex; align-items: center; gap: 9px; margin-top: 22px; color: rgba(247,238,230,.56); font-size: .79rem; }
.md-hero-note span { color: #d9a652; }
.md-orbital { position: absolute; right: -13%; top: 16%; width: min(620px, 73vw); aspect-ratio: 1; opacity: .82; }
.md-orbital::before,
.md-orbital::after { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(221,178,104,.42); border-radius: 50%; transform: rotate(29deg) skew(-6deg); }
.md-orbital::after { inset: 18%; border-color: rgba(247,238,230,.28); transform: rotate(-36deg) skew(9deg); }
.md-orbit-line { position: absolute; inset: 0; border: 1px solid rgba(221,178,104,.22); border-radius: 50%; transform: rotate(61deg) scaleY(.44); }
.md-moon { position: absolute; left: 37%; top: 33%; width: 27%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 32% 30%, #f7dfae, #d19b52 58%, #9e5538); box-shadow: 0 0 90px rgba(220,175,95,.3); }
.md-moon::after { content: ""; position: absolute; inset: 6px 22px 12px 11px; border-radius: 50%; background: rgba(110,32,40,.14); filter: blur(2px); }
.md-orbit-star { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #e8bd72; box-shadow: 0 0 14px #e8bd72; }
.md-star-one { left: 16%; top: 26%; }.md-star-two { right: 19%; top: 39%; width: 3px; height: 3px; }.md-star-three { left: 22%; bottom: 22%; width: 3px; height: 3px; }
.md-hero-side-note { position: absolute; right: 5%; bottom: 17%; z-index: 2; writing-mode: vertical-rl; color: rgba(247,238,230,.5); font: .62rem var(--md-mono); letter-spacing: .14em; text-transform: uppercase; }
.md-scroll-cue { position: absolute; left: 50%; bottom: 26px; z-index: 4; display: flex; flex-direction: column; align-items: center; gap: 8px; transform: translateX(-50%); color: rgba(247,238,230,.58); font-size: .7rem; }
.md-scroll-line { width: 1px; height: 38px; background: linear-gradient(var(--md-gold), transparent); }

.md-trust-strip { background: #eee0d5; border-bottom: 1px solid var(--md-line); }
.md-trust-inner { display: grid; gap: 0; padding: 18px 0; }
.md-trust-item { display: flex; align-items: center; gap: 10px; padding: 10px 0; color: #694f52; font-size: .82rem; }
.md-trust-item + .md-trust-item { border-top: 1px solid rgba(52,31,39,.12); }
.md-trust-item > span:first-child { color: var(--md-wine); flex: 0 0 auto; }

.md-ritual-section { padding: 100px 0 115px; background: var(--md-paper); }
.md-ritual-header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.md-section-title { max-width: 570px; margin: 10px 0 0; font-size: clamp(2.9rem, 6.5vw, 5.4rem); letter-spacing: -.065em; line-height: .98; }
.md-section-title em,
.md-phone-copy h2 em { color: var(--md-wine); font-weight: 500; }
.md-section-lede { max-width: 300px; color: #765f62; font-size: .98rem; line-height: 1.7; }
.md-ritual-grid { display: grid; gap: 14px; }
.md-ritual-card { position: relative; min-height: 285px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 25px; background: #f2e6dd; border: 1px solid rgba(52,31,39,.13); border-radius: 3px; transition: transform .3s ease, background .3s ease, box-shadow .3s ease; }
.md-ritual-card:hover { background: #f6ebe3; transform: translateY(-6px); box-shadow: 0 20px 40px rgba(92,55,53,.11); }
.md-ritual-card.md-featured { min-height: 330px; color: var(--md-paper); background: var(--md-wine); }
.md-ritual-card.md-featured:hover { background: #a93631; }
.md-ritual-card::after { content: ""; position: absolute; right: -42px; bottom: -42px; width: 165px; height: 165px; border: 1px solid currentColor; border-radius: 50%; opacity: .15; }
.md-card-top { display: flex; justify-content: space-between; align-items: start; }
.md-card-number { color: var(--md-wine); font: .78rem var(--md-mono); }
.md-featured .md-card-number { color: #f3bd80; }
.md-card-symbol { color: var(--md-wine); font-size: 1.25rem; }.md-featured .md-card-symbol { color: #f3bd80; }
.md-ritual-card h3 { max-width: 220px; margin: 24px 0 8px; font: 500 1.95rem/1 var(--md-serif); letter-spacing: -.04em; }
.md-ritual-card p { max-width: 240px; margin: 0; color: #765f62; font-size: .9rem; line-height: 1.6; }
.md-featured p { color: rgba(247,238,230,.75); }
.md-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: inherit; font: 500 .8rem var(--md-mono); }
.md-card-link:hover { color: inherit; }.md-card-link span { transition: transform .25s ease; }.md-card-link:hover span { transform: translateX(4px); }

.md-phone-section { position: relative; overflow: hidden; padding: 90px 0; color: var(--md-paper); background: #351e27; }
.md-phone-section::before { content: ""; position: absolute; width: 500px; height: 500px; left: -190px; top: -230px; border: 1px solid rgba(221,178,104,.22); border-radius: 50%; box-shadow: 0 0 0 28px rgba(221,178,104,.04), 0 0 0 58px rgba(221,178,104,.035); }
.md-phone-layout { position: relative; z-index: 1; display: grid; gap: 44px; align-items: center; }
.md-phone-copy { max-width: 560px; }.md-phone-copy .md-eyebrow { color: #d9a652; }
.md-phone-copy h2 { margin: 13px 0 20px; font-size: clamp(2.7rem, 7vw, 5.2rem); letter-spacing: -.07em; line-height: .94; }
.md-phone-copy h2 em { color: #db5a4c; }
.md-phone-copy p { max-width: 440px; color: rgba(247,238,230,.7); font-size: 1rem; line-height: 1.75; }
.md-phone-cta { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.md-phone-number { color: var(--md-paper); border-bottom: 1px solid rgba(247,238,230,.32); padding-bottom: 4px; font: 500 1.12rem var(--md-mono); }
.md-phone-number:hover { color: var(--md-paper); }
.md-availability { display: flex; align-items: center; gap: 8px; margin-top: 15px; color: rgba(247,238,230,.51); font-size: .8rem; }.md-availability i { width: 7px; height: 7px; border-radius: 50%; background: #75b884; }
.md-phone-card { padding: 27px; background: rgba(247,238,230,.07); border: 1px solid rgba(247,238,230,.18); border-radius: 4px; }
.md-phone-card-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid rgba(247,238,230,.14); }
.md-phone-card h3 { margin: 0; font: 500 1.75rem var(--md-serif); }.md-phone-price { color: #e3ba78; font: .82rem var(--md-mono); }
.md-phone-points { display: grid; gap: 14px; margin: 22px 0 26px; }.md-phone-points > div { display: flex; gap: 10px; color: rgba(247,238,230,.72); font-size: .86rem; line-height: 1.5; }.md-phone-points > div > span:first-child { color: #dcae68; flex: 0 0 auto; }

.md-how-section { padding: 105px 0; background: #efe1d7; }.md-how-layout { display: grid; gap: 46px; }.md-how-intro { max-width: 460px; }.md-how-intro p { max-width: 370px; margin-top: 22px; color: #765f62; line-height: 1.7; font-size: 1rem; }
.md-step-list { border-top: 1px solid var(--md-line); }.md-step { display: grid; grid-template-columns: 45px 1fr; gap: 16px; padding: 23px 0; border-bottom: 1px solid var(--md-line); }.md-step-no { color: var(--md-wine); padding-top: 4px; font: .78rem var(--md-mono); }.md-step h3 { margin: 0 0 6px; font: 500 1.45rem var(--md-serif); }.md-step p { margin: 0; color: #765f62; font-size: .9rem; line-height: 1.55; }

.md-quote-section { padding: 104px 0 112px; background: var(--md-paper); }.md-quote-inner { max-width: 910px; margin: 0 auto; text-align: center; }.md-quote-mark { color: var(--md-gold); font: 5rem/.5 var(--md-serif); }.md-quote { margin: 26px auto; font: italic 500 clamp(2rem, 4.5vw, 3.6rem)/1.08 var(--md-serif); letter-spacing: -.05em; }.md-quote-byline { color: #765f62; font-size: .82rem; }.md-responsibility { display: flex; align-items: start; gap: 10px; max-width: 580px; margin: 70px auto 0; padding-top: 17px; border-top: 1px solid var(--md-line); color: #765f62; text-align: left; font-size: .75rem; line-height: 1.6; }.md-responsibility > span:first-child { color: var(--md-wine); flex: 0 0 auto; margin-top: 2px; }

.md-discovery-section { padding: 67px 0; background: #c49371; color: var(--md-ink); }.md-discovery-layout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 26px; }.md-discovery-layout h2 { max-width: 540px; margin: 10px 0 0; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.06em; line-height: 1; }.md-discovery-layout p { max-width: 430px; margin: 14px 0 0; color: rgba(52,31,39,.72); font-size: .9rem; line-height: 1.6; }

.md-footer { padding: 45px 0 28px; color: rgba(247,238,230,.72); background: #291921; }.md-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 30px; padding-bottom: 44px; }.md-footer-blurb { max-width: 240px; margin: 13px 0 0; font-size: .82rem; line-height: 1.6; }.md-footer-links { display: flex; flex-wrap: wrap; gap: 18px 30px; align-items: start; }.md-footer-links a { color: rgba(247,238,230,.72); font-size: .8rem; }.md-footer-links a:hover { color: var(--md-paper); }.md-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 15px; padding-top: 18px; border-top: 1px solid rgba(247,238,230,.14); color: rgba(247,238,230,.42); font-size: .7rem; }

.md-reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }.md-reveal.is-visible { opacity: 1; transform: translateY(0); }.md-delay-1 { transition-delay: .1s; }.md-delay-2 { transition-delay: .18s; }.md-delay-3 { transition-delay: .26s; }

@media (min-width: 700px) {
    .md-nav-links { display: flex; }
    .md-menu-toggle { display: none; }
    .md-header-action { padding: 10px 15px; }
    .md-hero-inner { padding-top: 130px; }
    .md-trust-inner { grid-template-columns: repeat(3, 1fr); padding: 0; }
    .md-trust-item { padding: 18px 16px; }
    .md-trust-item + .md-trust-item { border-top: 0; border-left: 1px solid rgba(52,31,39,.12); }
    .md-ritual-grid { grid-template-columns: 1.05fr .95fr .95fr; align-items: end; }
    .md-ritual-card:nth-child(2) { min-height: 300px; }.md-ritual-card:nth-child(3) { min-height: 270px; }
    .md-phone-layout { grid-template-columns: 1.15fr .85fr; }.md-how-layout { grid-template-columns: .8fr 1.2fr; align-items: start; }.md-step { grid-template-columns: 64px 1fr; }
}

@media (max-width: 699px) {
    .md-container { width: min(100% - 32px, 1180px); }
    .md-hero { min-height: 780px; }.md-hero-inner { min-height: 780px; }.md-hero h1 { font-size: clamp(3.6rem, 15vw, 6rem); }.md-orbital { right: -36%; top: 46%; width: 500px; opacity: .6; }.md-hero-side-note { display: none; }
    .md-ritual-header { display: block; }.md-section-lede { margin-top: 18px; }.md-phone-cta { align-items: flex-start; flex-direction: column; gap: 18px; }
    .md-discovery-layout { align-items: flex-start; }
    .md-nav-links.is-open { display: flex; order: 3; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 11px 0 17px; }
    .md-nav-links.is-open a { width: 100%; padding: 13px 0; border-top: 1px solid rgba(247,238,230,.14); }
    .md-site-header:has(.md-nav-links.is-open) { position: fixed; background: #351e27; }
    .md-site-header:has(.md-nav-links.is-open) .md-header-inner { align-items: start; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
    .md-reveal { opacity: 1; transform: none; transition: none; }
    .md-button, .md-ritual-card { transition: none; }
}