/* "Sanctuary" look: a warmer, calmer layer over site.css.
   Deep emerald, warm sand, terracotta for actions and a little gold, with a serif display face
   (Fraunces) and a faint eight-point star pattern. Only applies when <body> has .hpt-look-sanctuary. */

@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('fonts/fraunces-var-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

body.hpt-look-sanctuary {
	--sx-emerald: #123A31;
	--sx-emerald-deep: #0B2822;
	--sx-emerald-mid: #1D6452;
	--sx-sage: #E5EFE8;
	--sx-sand: #FAF5EC;
	--sx-sand-deep: #F3EADB;
	--sx-terracotta: #B4472B;
	--sx-terracotta-deep: #933720;
	--sx-gold: #D6AE5C;
	--sx-gold-ink: #85570F;
	--sx-ink: #1C2A25;
	--sx-text: #44524C;
	--sx-line: #E8E0D1;
	--sx-dark-rgb: 18,58,49;
	--sx-deep-rgb: 11,40,34;
	--sx-accent-rgb: 180,71,43;
	--sx-gold-rgb: 214,174,92;
	--sx-accent-soft: #FBEDE6;
	--sx-gold-soft: #FBF1E4;
	--sx-header: rgba(255,252,246,.96);
	--sx-tint: #F1F5EF;
	--sx-muted: #5B6862;
	--sx-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23C99A3B' stroke-width='1'%3E%3Crect x='22' y='22' width='28' height='28'/%3E%3Crect x='22' y='22' width='28' height='28' transform='rotate(45 36 36)'/%3E%3Ccircle cx='36' cy='36' r='5'/%3E%3C/g%3E%3C/svg%3E");
	--sx-display: 'Fraunces', Georgia, 'Times New Roman', serif;
	background: var(--sx-sand);
}
/* ---------- Colour schemes ----------
   The variable names come from the first (emerald) scheme: --sx-emerald is "the dark brand colour",
   --sx-terracotta "the action colour", --sx-sage "the soft tint", --sx-sand "the page background". */

/* Midnight & Saffron: deep navy, ivory, burnt saffron and gold. Calm, trustworthy, a little regal. */
body.hpt-look-sanctuary.hpt-palette-midnight {
	--sx-emerald: #1B2A4A; --sx-emerald-deep: #111C33; --sx-emerald-mid: #2E4A7D;
	--sx-sage: #E7ECF5; --sx-sand: #FBF8F1; --sx-sand-deep: #F2ECDD;
	--sx-terracotta: #B9541C; --sx-terracotta-deep: #96420F;
	--sx-gold: #E3B04B; --sx-gold-ink: #8A5A00;
	--sx-ink: #1A2233; --sx-text: #465065; --sx-line: #E6E0D2; --sx-muted: #5A6375; --sx-tint: #F2F4F9;
	--sx-dark-rgb: 27,42,74; --sx-deep-rgb: 17,28,51; --sx-accent-rgb: 185,84,28; --sx-gold-rgb: 227,176,75;
	--sx-accent-soft: #FBEADF; --sx-gold-soft: #FCF3DF; --sx-header: rgba(251,248,241,.96);
}
/* Plum & Clay (light): soft orchid plum, blush ivory, clay and honey. Warm, gentle and personal. */
body.hpt-look-sanctuary.hpt-palette-plum {
	--sx-emerald: #7A4A75; --sx-emerald-deep: #5A3355; --sx-emerald-mid: #8F5A89;
	--sx-sage: #F6EEF4; --sx-sand: #FDFAF8; --sx-sand-deep: #F9F0EE;
	--sx-terracotta: #B4503A; --sx-terracotta-deep: #923F2C;
	--sx-gold: #F6D8A4; --sx-gold-ink: #8A5320;
	--sx-ink: #2E2230; --sx-text: #5A4A5A; --sx-line: #EFE4E1; --sx-muted: #6E5F70; --sx-tint: #FAF4F7;
	--sx-dark-rgb: 122,74,117; --sx-deep-rgb: 90,51,85; --sx-accent-rgb: 180,80,58; --sx-gold-rgb: 246,216,164;
	--sx-accent-soft: #FAEBE6; --sx-gold-soft: #FDF4E6; --sx-header: rgba(253,250,248,.96);
}
/* Berry & Red: the light plum's lightness turned to deep crimson, with a vivid red for buying actions. */
body.hpt-look-sanctuary.hpt-palette-berry {
	--sx-emerald: #9D3742; --sx-emerald-deep: #70282F; --sx-emerald-mid: #B44954;
	--sx-sage: #F8EEEF; --sx-sand: #FDFAF8; --sx-sand-deep: #FBF0F1;
	--sx-terracotta: #CE332D; --sx-terracotta-deep: #A92621;
	--sx-gold: #F6D8A4; --sx-gold-ink: #8A5320;
	--sx-ink: #362023; --sx-text: #5E4A4C; --sx-line: #F4E2E3; --sx-muted: #755F61; --sx-tint: #FBF4F5;
	--sx-dark-rgb: 157,55,66; --sx-deep-rgb: 112,40,47; --sx-accent-rgb: 206,51,45; --sx-gold-rgb: 246,216,164;
	--sx-accent-soft: #FBEBE9; --sx-gold-soft: #FDF4E6; --sx-header: rgba(253,250,248,.96);
}
/* Ocean & Coral: deep sea blue, clean stone, coral and sun. Fresh and clinical-friendly. */
body.hpt-look-sanctuary.hpt-palette-ocean {
	--sx-emerald: #0E3A56; --sx-emerald-deep: #082539; --sx-emerald-mid: #1D6A8A;
	--sx-sage: #E2EFF5; --sx-sand: #F9F7F2; --sx-sand-deep: #EFEDE5;
	--sx-terracotta: #C2452E; --sx-terracotta-deep: #9E3523;
	--sx-gold: #E2B354; --sx-gold-ink: #7E5A10;
	--sx-ink: #13262F; --sx-text: #3F525A; --sx-line: #E2E4DE; --sx-muted: #55676E; --sx-tint: #EFF5F7;
	--sx-dark-rgb: 14,58,86; --sx-deep-rgb: 8,37,57; --sx-accent-rgb: 194,69,46; --sx-gold-rgb: 226,179,84;
	--sx-accent-soft: #FBE7E2; --sx-gold-soft: #FCF3E0; --sx-header: rgba(249,247,242,.96);
}

body.hpt-look-sanctuary #page-container,
body.hpt-look-sanctuary #main-content { background: var(--sx-sand); }

body.hpt-look-sanctuary .hpl,
body.hpt-look-sanctuary .hpt-co-content,
body.hpt-look-sanctuary .hpt-acct-content {
	--hpl-dark: var(--sx-emerald);
	--hpl-darker: var(--sx-emerald-deep);
	--hpl-teal: var(--sx-emerald-mid);
	--hpl-teal-soft: var(--sx-sage);
	--hpl-accent: var(--sx-terracotta);
	--hpl-accent-hover: var(--sx-terracotta-deep);
	--hpl-cream: var(--sx-sand);
	--hpl-tint: var(--sx-tint);
	--hpl-ink: var(--sx-ink);
	--hpl-text: var(--sx-text);
	--hpl-muted: var(--sx-muted);
	--hpl-line: var(--sx-line);
}

/* ---------- Type ---------- */
body.hpt-look-sanctuary .hpl h1,
body.hpt-look-sanctuary .hpl h2,
body.hpt-look-sanctuary .hpl .hpl-h2,
body.hpt-look-sanctuary .hpt-prose h1,
body.hpt-look-sanctuary .hpt-prose h2 { font-family: var(--sx-display); font-weight: 600; letter-spacing: -0.01em; font-optical-sizing: auto; }
body.hpt-look-sanctuary .hpl h3,
body.hpt-look-sanctuary .hpt-prose h3 { font-family: var(--sx-display); font-weight: 600; letter-spacing: 0; }
body.hpt-look-sanctuary .hpl-hero h1,
body.hpt-look-sanctuary .hpl-condhero h1,
body.hpt-look-sanctuary .hpl-pagehead h1 { font-weight: 600; font-size: clamp(34px, 5.2vw, 56px); line-height: 1.08; }
body.hpt-look-sanctuary .hpl .hpl-h2 { font-size: clamp(30px, 3.6vw, 42px); line-height: 1.12; }
body.hpt-look-sanctuary .hpl .hpl-stat { font-family: var(--sx-display); font-weight: 600; font-size: 34px; color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl .hpl-eyebrow { color: var(--sx-gold-ink); letter-spacing: .12em; }
body.hpt-look-sanctuary .hpl .hpl-eyebrow-teal { color: var(--sx-gold-ink); }
body.hpt-look-sanctuary .hpl .hpl-pill { background: #fff; color: var(--sx-emerald); border: 1px solid var(--sx-line); box-shadow: 0 6px 18px rgba(var(--sx-dark-rgb),.06); padding: 7px 14px; }
body.hpt-look-sanctuary .hpl .hpl-pill::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--sx-terracotta); margin-right: 8px; vertical-align: 1px; }

/* ---------- Buttons ---------- */
body.hpt-look-sanctuary .hpl .hpl-btn { border-radius: 999px; padding: 0 26px; letter-spacing: .01em; transition: background .15s, color .15s, transform .15s, box-shadow .15s; }
body.hpt-look-sanctuary .hpl .hpl-btn:hover { transform: translateY(-1px); }
body.hpt-look-sanctuary .hpl .hpl-btn-accent { box-shadow: 0 10px 24px rgba(var(--sx-accent-rgb),.22); }
body.hpt-look-sanctuary .hpl .hpl-btn-white { color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl .hpl-btn-white:hover { background: var(--sx-sand-deep); }
body.hpt-look-sanctuary .hpl .hpl-btn-outline { background: transparent; border-width: 1.5px; }
body.hpt-look-sanctuary .hpl .hpl-search button,
body.hpt-look-sanctuary .hpl .hpl-search .hpl-btn { border-radius: 999px; }

/* ---------- Header (light and warm) and footer ---------- */
body.hpt-look-sanctuary .hpl-header { background: var(--sx-header); color: var(--sx-ink); box-shadow: 0 1px 0 var(--sx-line), 0 8px 24px rgba(var(--sx-dark-rgb),.05); -webkit-backdrop-filter: saturate(1.2) blur(8px); backdrop-filter: saturate(1.2) blur(8px); }
body.hpt-look-sanctuary .hpl .hpl-brand,
body.hpt-look-sanctuary .hpl .hpl-brand:hover { color: var(--sx-emerald); font-family: var(--sx-display); font-weight: 600; font-size: 23px; letter-spacing: -0.01em; }
body.hpt-look-sanctuary .hpl .hpl-menu a { color: var(--sx-text); }
body.hpt-look-sanctuary .hpl .hpl-menu a:hover,
body.hpt-look-sanctuary .hpl .hpl-menu .current-menu-item > a,
body.hpt-look-sanctuary .hpl .hpl-menu .current-menu-ancestor > a { color: var(--sx-emerald); background: var(--sx-sage); }
body.hpt-look-sanctuary .hpl .hpl-nav-login,
body.hpt-look-sanctuary .hpl .hpl-nav-login:hover { color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl .hpl-nav-user,
body.hpt-look-sanctuary .hpl .hpl-nav-user:hover { color: var(--sx-ink); }
body.hpt-look-sanctuary .hpl .hpl-nav-user:hover { background: var(--sx-sage); }
body.hpt-look-sanctuary .hpl .hpl-nav-user-sub { color: var(--sx-text); }
body.hpt-look-sanctuary .hpl .hpl-avatar { background: var(--sx-emerald); color: #fff; font-family: var(--sx-display); }
body.hpt-look-sanctuary .hpl-menu-btn { border-color: rgba(var(--sx-dark-rgb),.3); color: var(--sx-emerald); }
@media (max-width: 1080px) {
	body.hpt-look-sanctuary .hpl-nav { background: var(--sx-sand); border-top: 1px solid var(--sx-line); box-shadow: 0 18px 40px rgba(var(--sx-dark-rgb),.12); max-height: calc(100vh - 80px); overflow-y: auto; }
	body.hpt-look-sanctuary .hpl-menu .sub-menu { background: transparent; box-shadow: none; }
	body.hpt-look-sanctuary .hpl .hpl-menu a { border-bottom-color: var(--sx-line); }
	body.hpt-look-sanctuary .hpl .hpl-menu a:hover { background: transparent; }
	body.hpt-look-sanctuary .hpl .hpl-menu .sub-menu a { color: var(--sx-text); }
	body.hpt-look-sanctuary .hpl .hpl-menu .sub-menu a:hover { color: var(--sx-emerald); }
}
body.hpt-look-sanctuary .hpl-footer { background: var(--sx-emerald-deep) var(--sx-star) repeat; background-size: 72px; background-blend-mode: normal; position: relative; color: rgba(255,255,255,.78); }
body.hpt-look-sanctuary .hpl-footer::before { content: ""; position: absolute; inset: 0; background: rgba(var(--sx-deep-rgb),.93); pointer-events: none; }
body.hpt-look-sanctuary .hpl-footer > * { position: relative; }
body.hpt-look-sanctuary .hpl.hpl-footer .hpl-brand,
body.hpt-look-sanctuary .hpl.hpl-footer .hpl-brand:hover { color: #fff; }

/* ---------- Hero ---------- */
body.hpt-look-sanctuary .hpl-hero { position: relative; overflow: hidden; background: var(--sx-sand); padding: 72px 0 84px; }
body.hpt-look-sanctuary .hpl-hero::before { content: ""; position: absolute; inset: 0; background: var(--sx-star) repeat; background-size: 72px; opacity: .14; -webkit-mask-image: radial-gradient(ellipse at 85% 30%, #000 0%, transparent 70%); mask-image: radial-gradient(ellipse at 85% 30%, #000 0%, transparent 70%); pointer-events: none; }
body.hpt-look-sanctuary .hpl-hero > * { position: relative; }
body.hpt-look-sanctuary .hpl-hero h1 { color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl-search { border: 1px solid var(--sx-line); border-radius: 999px; padding: 6px 6px 6px 10px; box-shadow: 0 16px 40px rgba(var(--sx-dark-rgb),.10); }
body.hpt-look-sanctuary .hpl .hpl-chip { border-color: var(--sx-line); background: #fff; }
body.hpt-look-sanctuary .hpl .hpl-chip:hover { border-color: var(--sx-emerald-mid); color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl .hpl-chip.is-on { background: var(--sx-emerald); border-color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl-preview { position: relative; z-index: 1; border: 1px solid var(--sx-line); border-radius: 26px; box-shadow: 0 30px 70px rgba(var(--sx-dark-rgb),.16); }
/* An emerald arch, like a mihrab, standing behind the plan preview */
body.hpt-look-sanctuary .hpl-hero-side { position: relative; }
body.hpt-look-sanctuary .hpl-hero-side::before { content: ""; position: absolute; z-index: 0; top: -36px; right: -28px; width: 78%; height: 440px; border-radius: 260px 260px 28px 28px; background: var(--sx-emerald) var(--sx-star) repeat; background-size: 56px; box-shadow: inset 0 0 0 9999px rgba(var(--sx-dark-rgb),.86); }
body.hpt-look-sanctuary .hpl-hero-popular { position: relative; z-index: 1; }
body.hpt-look-sanctuary .hpl-preview-head { background: linear-gradient(0deg, #fff, var(--sx-sand)); }
body.hpt-look-sanctuary .hpl .hpl-preview-body img { background: var(--sx-sand); }
body.hpt-look-sanctuary .hpl .hpl-tag { background: var(--sx-sage); color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl-row-locked { background: var(--sx-gold-soft); border-color: var(--sx-gold); }

body.hpt-look-sanctuary .hpl-hero-faces span { font-family: var(--sx-display); background: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl-hero-faces span + span { background: var(--sx-terracotta); }

/* ---------- Bands and sections ---------- */
body.hpt-look-sanctuary .hpl-sunnahnext { background: var(--sx-emerald) var(--sx-star) repeat; background-size: 72px; position: relative; }
body.hpt-look-sanctuary .hpl-sunnahnext::before { content: ""; position: absolute; inset: 0; background: rgba(var(--sx-dark-rgb),.9); pointer-events: none; }
body.hpt-look-sanctuary .hpl-sunnahnext > * { position: relative; }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext .hpl-eyebrow { color: var(--sx-gold); }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext h2 span { color: var(--sx-gold); }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext-count { background: var(--sx-gold); color: var(--sx-emerald-deep); }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext-h { font-family: var(--sx-display); color: var(--sx-gold); }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext-month { font-family: var(--sx-display); font-size: 17px; }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext-tag.is-pref { border-color: rgba(var(--sx-gold-rgb),.7); color: var(--sx-gold); }

body.hpt-look-sanctuary .hpl-stats { background: #fff; border-bottom: 1px solid var(--sx-line); }
body.hpt-look-sanctuary .hpl-stats-in > div { padding-left: 18px; border-left: 2px solid var(--sx-gold); }

body.hpt-look-sanctuary .hpl-section { padding: 88px 0; }
body.hpt-look-sanctuary .hpl-tint { background: #fff; }
body.hpt-look-sanctuary .hpl-cream { background: var(--sx-sand-deep); }
body.hpt-look-sanctuary .hpl-card { background: #fff; border: 1px solid var(--sx-line); border-radius: 22px; transition: transform .15s, box-shadow .15s; }
body.hpt-look-sanctuary .hpl-card:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(var(--sx-dark-rgb),.08); }
body.hpt-look-sanctuary .hpl-card > .hpl-i { color: var(--sx-terracotta); background: var(--sx-accent-soft); border-radius: 14px; padding: 10px; width: 52px; height: 52px; }
body.hpt-look-sanctuary .hpl-tint .hpl-card-white { background: var(--sx-sand); }

/* Audience: two clear paths */
body.hpt-look-sanctuary .hpl-audience-card { border: 1px solid var(--sx-line); border-top: 0; border-radius: 26px; padding: 36px; background: #fff; box-shadow: 0 20px 50px rgba(var(--sx-dark-rgb),.08); position: relative; overflow: hidden; }
body.hpt-look-sanctuary .hpl-audience-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--sx-terracotta); }
body.hpt-look-sanctuary .hpl-audience-card.hpl-audience-pro { background: var(--sx-emerald) var(--sx-star) repeat; background-size: 72px; border-color: var(--sx-emerald); color: rgba(255,255,255,.85); }
body.hpt-look-sanctuary .hpl-audience-card.hpl-audience-pro::before { height: 100%; background: rgba(var(--sx-dark-rgb),.9); }
body.hpt-look-sanctuary .hpl-audience-card.hpl-audience-pro > * { position: relative; }
body.hpt-look-sanctuary .hpl .hpl-audience-card h3 { font-size: 28px; }
body.hpt-look-sanctuary .hpl .hpl-audience-pro h3 { color: #fff; }
body.hpt-look-sanctuary .hpl .hpl-audience-pro .hpl-eyebrow { color: var(--sx-gold); }
body.hpt-look-sanctuary .hpl .hpl-audience-pro .hpl-ticks .hpl-i { color: var(--sx-gold); }

/* Dark band: how therapists use it */
body.hpt-look-sanctuary .hpl-dark { background: var(--sx-emerald) var(--sx-star) repeat; background-size: 72px; position: relative; }
body.hpt-look-sanctuary .hpl-dark::before { content: ""; position: absolute; inset: 0; background: rgba(var(--sx-dark-rgb),.92); pointer-events: none; }
body.hpt-look-sanctuary .hpl-dark > * { position: relative; }
body.hpt-look-sanctuary .hpl-steps li { border-top-color: var(--sx-gold); }
body.hpt-look-sanctuary .hpl-steps span { font-family: var(--sx-display); font-size: 26px; color: var(--sx-gold); }
body.hpt-look-sanctuary .hpl-steps p { color: rgba(255,255,255,.78); }

/* Pricing */
body.hpt-look-sanctuary .hpl-price { border-color: var(--sx-line); border-radius: 26px; }
body.hpt-look-sanctuary .hpl-price-best { background: var(--sx-emerald); border-color: var(--sx-emerald); box-shadow: 0 26px 60px rgba(var(--sx-dark-rgb),.25); }
body.hpt-look-sanctuary .hpl .hpl-badge { background: var(--sx-gold); color: var(--sx-emerald-deep); }

/* Photo, story, consult, FAQ, final */
body.hpt-look-sanctuary .hpl .hpl-photo { border-radius: 200px 200px 26px 26px; height: 420px; box-shadow: 0 26px 60px rgba(var(--sx-dark-rgb),.14); }
body.hpt-look-sanctuary .hpl .hpl-story { font-family: var(--sx-display); font-weight: 500; font-size: 23px; line-height: 1.5; color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpl-sign { font-family: var(--sx-display); color: var(--sx-terracotta); font-size: 19px; }
body.hpt-look-sanctuary .hpl-consult { background: #fff; border-color: var(--sx-line); }
body.hpt-look-sanctuary .hpl .hpl-consult h2 { font-family: var(--sx-display); font-size: 30px; }
body.hpt-look-sanctuary .hpl-faq { background: #fff; border: 1px solid var(--sx-line); border-radius: 16px; }
body.hpt-look-sanctuary .hpl-final { background: var(--sx-terracotta); position: relative; overflow: hidden; }
body.hpt-look-sanctuary .hpl-final::before { content: ""; position: absolute; inset: 0; background: var(--sx-star) repeat; background-size: 72px; opacity: .18; pointer-events: none; }
body.hpt-look-sanctuary .hpl-final > * { position: relative; }
body.hpt-look-sanctuary .hpl .hpl-final h2 { font-family: var(--sx-display); font-size: clamp(30px, 3.8vw, 44px); }
body.hpt-look-sanctuary .hpl .hpl-final p { color: rgba(255,255,255,.88); }
body.hpt-look-sanctuary .hpl .hpl-final .hpl-btn-white { color: var(--sx-terracotta-deep); }
body.hpt-look-sanctuary .hpl-ctaband { background: var(--sx-emerald); }

/* ---------- Inner pages ---------- */
body.hpt-look-sanctuary .hpl-pagehead,
body.hpt-look-sanctuary .hpl-condhero,
body.hpt-look-sanctuary .hpl-bmhero,
body.hpt-look-sanctuary .hpl-arthero,
body.hpt-look-sanctuary .hpl-dashhero { background: var(--sx-sand-deep); position: relative; }
body.hpt-look-sanctuary .hpl-offer { border-radius: 24px; border-color: var(--sx-line); }
body.hpt-look-sanctuary .hpl-plancard,
body.hpt-look-sanctuary .hpl-postcard,
body.hpt-look-sanctuary .hpl .hpl-bmcard { border-radius: 20px; border-color: var(--sx-line); }
body.hpt-look-sanctuary .hpl-plancard:hover,
body.hpt-look-sanctuary .hpl-postcard:hover { box-shadow: 0 18px 40px rgba(var(--sx-dark-rgb),.10); }
body.hpt-look-sanctuary .hpt-prose { color: var(--sx-ink); }
body.hpt-look-sanctuary .hpt-prose h2, body.hpt-look-sanctuary .hpt-prose h3, body.hpt-look-sanctuary .hpt-prose h4 { color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpt-prose a { color: var(--sx-emerald-mid); }
body.hpt-look-sanctuary .hpt-prose blockquote,
body.hpt-look-sanctuary .hpl-artauthor { background: #fff; border-left-color: var(--sx-gold); }
body.hpt-look-sanctuary .hpt-prose .hpl-answer,
body.hpt-look-sanctuary .hpl .hpl-answer-hero { background: #fff; border-color: var(--sx-line); border-left-color: var(--sx-emerald-mid); }
body.hpt-look-sanctuary .hpt-prose .hpl-keypoints,
body.hpt-look-sanctuary .hpt-prose .wp-block-aioseo-table-of-contents,
body.hpt-look-sanctuary .hpt-prose .aioseo-table-of-contents,
body.hpt-look-sanctuary .hpt-prose .hpl-sources { background: #fff; border-color: var(--sx-line); }
body.hpt-look-sanctuary .hpt-prose .wp-block-table th { background: var(--sx-emerald); border-color: var(--sx-emerald); }
body.hpt-look-sanctuary .hpt-prose .hpl-cta-inline { background: var(--sx-emerald); }
body.hpt-look-sanctuary .hpt-prose .hpl-team-card,
body.hpt-look-sanctuary .hpt-prose .hpl-specialist { background: #fff; border-color: var(--sx-line); }
body.hpt-look-sanctuary .hpl-team-avatar,
body.hpt-look-sanctuary .hpl-specialist-avatar { background: var(--sx-emerald); font-family: var(--sx-display); }
body.hpt-look-sanctuary .hpt-prose .hpl-specialist .hpl-specialist-kicker,
body.hpt-look-sanctuary .hpt-prose .hpl-team-role { color: var(--sx-gold-ink); }
body.hpt-look-sanctuary .hpt-art-content .et_pb_button { background: var(--sx-emerald) !important; border-radius: 999px !important; }

@media (prefers-reduced-motion: reduce) {
	body.hpt-look-sanctuary .hpl .hpl-btn:hover,
	body.hpt-look-sanctuary .hpl-card:hover { transform: none; }
}
@media (max-width: 700px) {
	body.hpt-look-sanctuary .hpl-hero { padding: 48px 0 56px; }
	body.hpt-look-sanctuary .hpl-section { padding: 64px 0; }
	body.hpt-look-sanctuary .hpl .hpl-photo { height: 300px; border-radius: 140px 140px 22px 22px; }
	body.hpt-look-sanctuary .hpl-audience-card { padding: 26px; }
	body.hpt-look-sanctuary .hpl-search { border-radius: 18px; }
	body.hpt-look-sanctuary .hpl-hero-side::before { top: -18px; right: -12px; width: 88%; height: 300px; }
}

/* ---------- Readability fixes from the contrast scan ---------- */
/* Links inside the dark promo box in articles */
body.hpt-look-sanctuary .hpt-prose .hpl-cta-inline a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
/* Small light text on the red/dark bands: full white */
body.hpt-look-sanctuary .hpl .hpl-final p { color: #fff; }
body.hpt-look-sanctuary .hpl .hpl-sunnahnext-tag.is-pref { color: #fff; border-color: var(--sx-gold); }
/* Divi-built pages (thank you, checkout, account): links use the brand colour, not Divi's default blue */
body.hpt-look-sanctuary .hpt-builder a:not(.et_pb_button):not(.hpl-btn):not([class*="button"]),
body.hpt-look-sanctuary .crp_related a,
body.hpt-look-sanctuary .crp_related .crp_title { color: var(--sx-emerald-mid); }
/* ...except on dark panels, where links stay white */
body.hpt-look-sanctuary .hpt-builder .hpt-acct-aside a:not(.et_pb_button):not(.hpl-btn):not([class*="button"]),
body.hpt-look-sanctuary .hpt-builder .hpl-dashupsell a:not(.et_pb_button):not(.hpl-btn):not([class*="button"]),
body.hpt-look-sanctuary .hpt-builder .hpl-dark a:not(.et_pb_button):not(.hpl-btn):not([class*="button"]) { color: #fff; }
/* Divi-built pages (checkout, login, account, dashboard): headings in the display serif too */
body.hpt-look-sanctuary .hpt-builder h1,
body.hpt-look-sanctuary .hpt-builder h2,
body.hpt-look-sanctuary .hpt-builder .et_pb_text h1,
body.hpt-look-sanctuary .hpt-builder .et_pb_text h2,
body.hpt-look-sanctuary .hpt-co-content h1,
body.hpt-look-sanctuary .hpt-co-content h2,
body.hpt-look-sanctuary .hpt-acct-content h1,
body.hpt-look-sanctuary .hpt-acct-content h2 { font-family: var(--sx-display) !important; font-weight: 600 !important; letter-spacing: -0.01em; color: var(--sx-emerald) !important; }
/* ...but headings on dark panels stay white */
body.hpt-look-sanctuary .hpt-builder .hpt-acct-aside h2,
body.hpt-look-sanctuary .hpt-builder .hpt-acct-aside h3,
body.hpt-look-sanctuary .hpt-builder .hpl-dashupsell h2,
body.hpt-look-sanctuary .hpt-builder .hpl-dark h2 { color: #fff !important; }

/* Cookie banner (CookieYes sets inline colours): brand colours, with Accept and Reject equally prominent */
body.hpt-look-sanctuary .cky-consent-container .cky-policy,
body.hpt-look-sanctuary .cky-preference-center .cky-policy { color: var(--sx-emerald-mid) !important; text-decoration: underline !important; }
body.hpt-look-sanctuary .cky-btn.cky-btn-accept,
body.hpt-look-sanctuary .cky-btn.cky-btn-reject,
body.hpt-look-sanctuary .cky-btn.cky-btn-preferences { background-color: var(--sx-emerald) !important; border-color: var(--sx-emerald) !important; color: #fff !important; border-radius: 999px !important; }
body.hpt-look-sanctuary .cky-btn.cky-btn-customize { background-color: #fff !important; border-color: var(--sx-emerald) !important; color: var(--sx-emerald) !important; border-radius: 999px !important; }
/* Headings inside Divi text modules on article-style pages use the display serif too */
body.hpt-look-sanctuary .hpt-art-content .et_pb_text h1,
body.hpt-look-sanctuary .hpt-art-content .et_pb_text h2 { font-family: var(--sx-display) !important; font-weight: 600 !important; color: var(--sx-emerald) !important; letter-spacing: -0.01em; }

/* Header: the "Log out" button was a white ghost button made for the old dark header (invisible on the light one) */
body.hpt-look-sanctuary .hpl-header .hpl-btn-ghost { border-color: var(--sx-emerald); color: var(--sx-emerald); background: transparent; }
body.hpt-look-sanctuary .hpl-header .hpl-btn-ghost:hover { background: var(--sx-emerald); color: #fff; }

/* Old Divi content colours (teal typed into the page builder) */
body.hpt-look-sanctuary .hpt-art-content [style*="345b61" i],
body.hpt-look-sanctuary .hpt-art-content [style*="2e5b61" i],
body.hpt-look-sanctuary .hpt-builder [style*="345b61" i] { color: var(--sx-emerald) !important; }
body.hpt-look-sanctuary .hpt-co-content .et_pb_text :is(p, li, em, strong, b, span, td, label):not(button *):not(a *),
body.hpt-look-sanctuary .hpt-builder .et_pb_text :is(p, li, em, strong, b, span, td, label):not(button *):not(a *):not(.hpt-acct-aside *) { color: var(--sx-text) !important; }
body.hpt-look-sanctuary .hpt-builder .et_pb_button.et_pb_bg_layout_light,
body.hpt-look-sanctuary .hpt-acct-content .et_pb_button.et_pb_bg_layout_light,
body.hpt-look-sanctuary .hpt-co-content .et_pb_button.et_pb_bg_layout_light,
body.hpt-look-sanctuary .hpt-art-content .et_pb_button.et_pb_bg_layout_light { background-color: var(--sx-sage) !important; color: var(--sx-emerald) !important; border-color: var(--sx-emerald) !important; }

/* Divi buttons set with very specific !important rules (e.g. #page-container .et_pb_section .et_pb_button_0) */
body.hpt-look-sanctuary #page-container .et_pb_section .et_pb_button.et_pb_bg_layout_light,
body.hpt-look-sanctuary #page-container .et_pb_section .et_pb_button.et_pb_bg_layout_light:hover { background-color: var(--sx-sage) !important; color: var(--sx-emerald) !important; border-color: var(--sx-emerald) !important; }
