/* Energy Psychics Starter — editable WordPress pages, theme-independent styling */
:root {
  --ep-ivory:#F7F3EC; --ep-charcoal:#24211F; --ep-gold:#B89B62;
  --ep-rose:#B99A9A; --ep-white:#FFFFFF; --ep-cream:#EFE9DF;
  --ep-border:#E5DED3; --ep-muted:#6E6861;
}
body { color:var(--ep-charcoal); background:var(--ep-ivory); font-family:"Inter",sans-serif; font-size:16px; line-height:1.75; }
h1,h2,h3,h4,h5,h6,.wp-block-site-title { font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; line-height:1.12; letter-spacing:-.015em; color:var(--ep-charcoal); }
h1 { font-size:clamp(2.65rem,6vw,4.5rem); }
h2 { font-size:clamp(2rem,4vw,3rem); }
h3 { font-size:clamp(1.55rem,2.5vw,1.9rem); }
a { color:#71592E; text-underline-offset:3px; }
.wp-site-blocks { background:var(--ep-ivory); }
.wp-block-post-content, .entry-content { font-family:"Inter",sans-serif; }
.ep-hero { padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,4vw,3rem); background:var(--ep-ivory); }
.ep-hero-columns { max-width:1200px; margin-left:auto!important; margin-right:auto!important; gap:clamp(2rem,5vw,5rem)!important; }
.ep-hero-title { max-width:760px; margin-top:.35em; margin-bottom:.25em; font-size:clamp(3rem,6.4vw,5.15rem)!important; line-height:.99!important; }
.ep-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.16em; color:#806A43; }
.ep-lead { max-width:690px; font-size:clamp(1rem,1.5vw,1.15rem); color:#5C554E; line-height:1.8; }
.ep-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:1.5rem; }
.ep-button, .wp-block-button__link.ep-button, .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; background:var(--ep-charcoal); color:var(--ep-white)!important; border:1px solid var(--ep-charcoal); border-radius:5px; font:600 14px/1.3 "Inter",sans-serif; text-decoration:none!important; transition:transform .15s ease, background .15s ease; }
.ep-button:hover, .wp-block-button__link:hover { background:#403A34; transform:translateY(-1px); }
.ep-button--secondary, .wp-block-button__link.ep-button--secondary { background:transparent; color:var(--ep-charcoal)!important; border-color:#BEB3A3; }
.ep-button--secondary:hover, .wp-block-button__link.ep-button--secondary:hover { background:var(--ep-cream); }
.ep-art { position:relative; overflow:hidden; width:min(100%,440px); aspect-ratio:1/1.06; margin:0 auto; border-radius:48% 48% 44% 44%; background:radial-gradient(ellipse at 48% 42%,#FFFFFF 0%,#EFE6D9 38%,#E2D4C2 67%,#D8C6B2 100%); }
.ep-art:before { content:""; position:absolute; inset:10%; border:1px solid rgba(184,155,98,.75); border-radius:50%; transform:rotate(-22deg) scaleX(.78); }
.ep-art-moon { position:absolute; width:36%; aspect-ratio:1; top:23%; left:34%; border-radius:50%; background:#FAF7F0; box-shadow:0 0 60px rgba(255,255,255,.75); }
.ep-art-moon:after { content:""; position:absolute; width:90%; height:90%; left:23%; top:-7%; border-radius:50%; background:#E8DCCB; }
.ep-art-orbit { position:absolute; inset:22% 8%; border:1px solid rgba(184,155,98,.8); border-radius:50%; transform:rotate(42deg); }
.ep-art-orbit--two { inset:9% 28%; transform:rotate(-36deg); border-color:rgba(185,154,154,.85); }
.ep-art-star { position:absolute; color:#9B7D43; font-size:1.5rem; }
.ep-art-star--one { top:19%; right:20%; }
.ep-art-star--two { bottom:24%; left:20%; font-size:2rem; }
.ep-section { max-width:1140px; margin:0 auto!important; padding:clamp(3rem,6vw,5.5rem) clamp(1.25rem,3vw,2rem); }
.ep-intro { text-align:center; max-width:850px; }
.ep-intro p { max-width:720px; margin-left:auto; margin-right:auto; color:var(--ep-muted); }
.ep-services-heading { padding-bottom:1rem; }
.ep-cards { max-width:1140px; margin:0 auto 2rem!important; padding:0 clamp(1.25rem,3vw,2rem); gap:18px!important; }
.ep-card { height:100%; padding:clamp(1.35rem,3vw,2rem); background:rgba(255,255,255,.68); border:1px solid var(--ep-border); border-radius:8px; }
.ep-card h3 { margin-top:0; }
.ep-card p { color:#655E56; }
.ep-text-link { font-weight:600; color:#71592E; text-decoration:none; }
.ep-text-link:hover { text-decoration:underline; }
.ep-soft-section { max-width:none; padding-left:max(1.25rem,calc((100% - 1060px)/2)); padding-right:max(1.25rem,calc((100% - 1060px)/2)); background:var(--ep-cream); }
.ep-final-cta { text-align:center; max-width:900px; }
.ep-final-cta p { max-width:650px; margin-left:auto; margin-right:auto; }
.ep-page { max-width:850px; margin:0 auto!important; padding:clamp(3rem,7vw,6rem) clamp(1.25rem,3vw,2rem); }
.ep-page-title { margin-bottom:1rem; }
.ep-service-page .ep-cards { padding-left:0; padding-right:0; }
.ep-notice { padding:1rem 1.25rem; border-left:3px solid var(--ep-gold); background:var(--ep-cream); color:#5D554C; font-size:.95rem; }
.ep-page ul { padding-left:1.4rem; }
.ep-page li { margin-bottom:.4rem; }
.wp-block-separator { border-color:var(--ep-border); }
.wp-block-navigation a { font-family:"Inter",sans-serif; font-size:.9rem; }
footer, .wp-block-template-part { color:var(--ep-charcoal); }
@media (max-width:781px) {
  body { font-size:15px; }
  .ep-hero { padding-top:3rem; padding-bottom:3.5rem; }
  .ep-hero-columns { gap:1.5rem!important; }
  .ep-hero-title { font-size:clamp(2.65rem,12vw,3.5rem)!important; }
  .ep-art { max-width:320px; }
  .ep-section { padding-top:3rem; padding-bottom:3rem; }
  .ep-cards { gap:14px!important; }
  .ep-buttons { gap:9px; }
  .ep-button, .wp-block-button__link { padding:12px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; }
}

/* v1.0.1: collapse the unused hero wrapper when its columns are empty.
   This prevents a blank beige band if the hero artwork/content was removed in the editor. */
.wp-block-group.ep-hero:has(> .ep-hero-columns:empty) {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.wp-block-group.ep-hero > .ep-hero-columns:empty {
  display: none !important;
}

/* Keep the homepage introduction compact when the hero wrapper is absent. */
.ep-intro {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 3.25rem);
}

/* v1.0.2: keep the homepage canvas white and tighten the intro after the unused hero was removed. */
body.home,
body.home .wp-site-blocks {
  background: #FFFFFF !important;
}
body.home .ep-intro {
  padding-top: clamp(1.5rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}
