@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root { --zt-gold:#d2a66d; --zt-text:#333; --zt-muted:#696969; --zt-cream:#f8f3ec; }
html { scroll-behavior:smooth; }
body.elementor-page { color:var(--zt-text); font-family:Poppins,Arial,sans-serif; overflow-x:hidden; }
.elementor .zt-section, .elementor .zt-header { width:100%; }
.elementor .zt-section { padding:105px max(5vw,24px); text-align:center; }
.zt-section .elementor-widget-heading, .zt-section .elementor-widget-text-editor { margin:0; }
.zt-section .elementor-heading-title { font-family:Poppins,Arial,sans-serif; color:var(--zt-text)!important; }
.zt-section .zt-eyebrow .elementor-heading-title { color:var(--zt-gold)!important; font-size:12px; line-height:1.5; font-weight:600; text-transform:uppercase; letter-spacing:.1em; margin-bottom:16px; }
.zt-section .zt-section-title .elementor-heading-title { font-size:clamp(30px,3vw,42px); line-height:1.3; font-weight:600; letter-spacing:.02em; }
.zt-section .zt-copy, .zt-section .zt-lede { max-width:720px; margin:20px auto 0; color:var(--zt-muted); font-size:16px; line-height:1.9; letter-spacing:.02em; }
.zt-section .elementor-widget-text-editor p { margin:0; }
.zt-header { position:relative; z-index:20; background:#fff; }
.zt-header-inner { min-height:105px; max-width:1440px; margin:auto; padding:22px 5.5%; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.zt-brand img { width:128px; height:auto; display:block; }
.zt-nav { display:flex; gap:clamp(12px,2.1vw,32px); align-items:center; }
.zt-nav a, .zt-join { font-size:14px; font-weight:500; color:#6b6b6b; white-space:nowrap; }
.zt-nav a:hover, .zt-footer-nav a:hover { color:var(--zt-gold); }
.zt-join { background:#d4a366; color:white; padding:14px 22px; border-radius:999px; }
.zt-menu-toggle { display:none!important; border:0; background:transparent; font-size:26px; color:var(--zt-text); cursor:pointer; }
.elementor .zt-hero { min-height:700px; justify-content:center; align-items:flex-start; text-align:left; padding:120px max(5.5vw,24px); background:#fff url('/wp-content/uploads/ztherapy-landing/assets/hero-background.png') center/cover no-repeat; }
.zt-hero > .e-con-inner { max-width:1440px; }
.zt-hero .zt-hero-title { max-width:720px; }
.zt-hero .zt-hero-title .elementor-heading-title { font-size:clamp(42px,4.5vw,68px); font-weight:600; line-height:1.17; letter-spacing:-.03em; }
.zt-hero .zt-hero-title span { display:block; color:#a8793e; }
.zt-hero .zt-lede { margin:24px 0 28px; max-width:570px; }
.zt-store-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.zt-hero .zt-store-buttons { justify-content:flex-start; }
.zt-store-badge { display:inline-flex; align-items:center; gap:11px; padding:10px 22px; border-radius:999px; background:#282522; color:#fff; min-width:168px; font-size:18px; line-height:1.15; font-weight:600; cursor:pointer; text-decoration:none; }
.zt-store-badge:hover, .zt-store-badge:focus-visible { background:#3d352d; color:#fff; }
.zt-store-badge:focus-visible { outline:2px solid var(--zt-gold); outline-offset:4px; }
.zt-store-badge img { width:24px; max-height:29px; }
.zt-store-badge small { display:block; font-size:9px; font-weight:400; letter-spacing:.02em; }
.zt-ritual { background:#fff; }
.zt-ritual-image { margin:45px auto 0; max-width:740px; }
.zt-ritual-image img { width:100%; height:auto; }
.zt-ritual-tag { color:var(--zt-gold); font-size:13px; font-weight:500; letter-spacing:.06em; margin-top:28px!important; }
.zt-pillars { background:#fcfaf7; }
.zt-pillar-row { display:flex!important; flex-direction:row!important; justify-content:center; align-items:stretch; gap:22px; width:min(1100px,100%); margin:50px auto 0; }
.zt-pillar-card { flex:1; min-height:260px; justify-content:space-between!important; align-items:flex-start!important; text-align:left; padding:30px!important; border-radius:18px; background:#fff; box-shadow:0 8px 36px rgba(63,45,23,.06); }
.zt-pillar-card:nth-child(2) { background:#d5aa73; }
.zt-pillar-card .zt-card-label .elementor-heading-title { color:#b98950!important; font-size:14px; text-transform:uppercase; letter-spacing:.12em; }
.zt-pillar-card:nth-child(2) .zt-card-label .elementor-heading-title, .zt-pillar-card:nth-child(2) .zt-card-title .elementor-heading-title { color:#fff!important; }
.zt-pillar-card .zt-card-title .elementor-heading-title { font-size:clamp(20px,2vw,29px); line-height:1.3; font-weight:600; }
.zt-preview { background:linear-gradient(180deg,#fff,#fbf6ef); }
.zt-preview .zt-copy { max-width:720px; }
.zt-phone-row { display:flex!important; flex-direction:row!important; justify-content:center; align-items:flex-end; gap:34px; margin:54px auto 0; }
.zt-phone-row .zt-phone { width:min(290px,43vw); filter:drop-shadow(0 18px 24px rgba(0,0,0,.11)); }
.zt-phone img { max-height:560px; width:auto; margin:auto; }
.zt-features { background:#fff; }
.zt-feature-list { max-width:980px; width:100%; margin:42px auto 0; }
.zt-feature-card { display:flex!important; flex-direction:row!important; align-items:center; gap:28px; text-align:left; padding:25px 20px!important; border-bottom:1px solid #e9e1d8; }
.zt-feature-num .elementor-heading-title { color:var(--zt-gold)!important; font-size:22px; font-weight:600; min-width:40px; }
.zt-feature-title .elementor-heading-title { font-size:20px; font-weight:500; }
.zt-faq { background:#fcfaf7; }
.zt-faq-list { max-width:900px; width:100%; margin:42px auto 0; text-align:left; }
.zt-faq-item { background:#fff; border:1px solid #eee7df; border-radius:16px; margin-bottom:15px; padding:21px 26px; }
.zt-faq-item summary { cursor:pointer; list-style:none; font-weight:600; font-size:17px; display:flex; justify-content:space-between; gap:20px; }
.zt-faq-item summary::-webkit-details-marker { display:none; }
.zt-faq-item summary::after { content:'+'; color:var(--zt-gold); font-size:23px; line-height:1; }
.zt-faq-item[open] summary::after { content:'−'; }
.zt-faq-item p { color:var(--zt-muted); line-height:1.8; white-space:pre-line; margin:18px 0 0; }
.zt-faq-status { text-align:center; color:var(--zt-muted); }
.zt-support { background:#fff; }
.zt-support-form { max-width:780px; width:100%; margin:38px auto 0; text-align:left; }
.zt-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.zt-form-grid label { display:flex; flex-direction:column; gap:8px; color:var(--zt-text); font-size:14px; font-weight:500; }
.zt-form-grid .zt-full { grid-column:1/-1; }
.zt-form-grid input, .zt-form-grid textarea { border:1px solid #dedbd7; border-radius:9px; width:100%; padding:15px 17px; font:inherit; font-size:15px; background:#fff; color:#333; }
.zt-form-grid textarea { min-height:150px; resize:vertical; }
.zt-form-grid .zt-honeypot { position:absolute; left:-9999px; height:1px; overflow:hidden; }
.zt-form-note { font-size:12px; color:var(--zt-muted); line-height:1.7; margin:18px 0; }
.zt-form-note a { color:#a57136; text-decoration:underline; }
.zt-support-form button { border:0; background:var(--zt-gold); color:#fff; font:600 15px Poppins,Arial,sans-serif; border-radius:999px; padding:15px 35px; cursor:pointer; }
.zt-support-form button:disabled { opacity:.65; cursor:wait; }
.zt-form-status { min-height:24px; font-size:14px; color:#236638; }
.zt-form-status.zt-error { color:#a32d2d; }
.zt-cta { background:#f7efe4; }
.zt-cta .zt-store-buttons { margin-top:38px; }
.zt-footer { background:#26221e; color:#e0dbd5; padding-top:70px!important; padding-bottom:42px!important; }
.zt-footer .zt-disclaimer { max-width:1100px; margin:auto; font-size:12px; line-height:1.8; color:#c7bfb6; }
.zt-footer-logo { margin:45px auto 22px; max-width:150px; }
.zt-footer-copy { max-width:580px; margin:auto!important; font-size:14px; line-height:1.8; color:#d5cec5; }
.zt-footer-nav { border-top:1px solid #514a43; margin:48px auto 22px; padding-top:22px; display:flex; flex-wrap:wrap; gap:12px 26px; justify-content:center; }
.zt-footer-nav a, .zt-copyright { color:#c9c0b5; font-size:12px; }
.zt-footer-nav a:focus-visible, .zt-nav a:focus-visible, .zt-menu-toggle:focus-visible, .zt-support-form button:focus-visible { outline:2px solid var(--zt-gold); outline-offset:4px; }
@media(max-width:1120px) { .zt-nav { gap:12px; } .zt-nav a,.zt-join { font-size:12px; } .zt-header-inner { gap:15px; } }
@media(max-width:850px) {
  .zt-menu-toggle { display:block!important; order:3; }
  .zt-join { margin-left:auto; }
  .zt-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:15px 24px 24px; box-shadow:0 10px 20px #0002; flex-direction:column; align-items:flex-start; }
  .zt-nav.zt-open { display:flex; }
  .elementor .zt-hero { min-height:650px; background-position:60% center; }
  .zt-pillar-row { flex-direction:column!important; }
  .zt-pillar-card { min-height:200px; }
}
@media(max-width:600px) {
  .elementor .zt-section { padding:72px 22px; }
  .zt-header-inner { min-height:75px; padding:14px 22px; }
  .zt-brand img { width:100px; }
  .zt-join { display:none; }
  .elementor .zt-hero { min-height:660px; align-items:flex-start; padding-top:75px; background-position:65% center; }
  .zt-hero .zt-hero-title .elementor-heading-title { font-size:40px; }
  .zt-hero .zt-lede { max-width:310px; font-size:14px; }
  .zt-hero .zt-store-buttons { gap:8px; }
  .zt-store-badge { min-width:142px; padding:9px 12px; font-size:15px; }
  .zt-store-badge img { width:20px; }
  .zt-section .zt-section-title .elementor-heading-title { font-size:29px; }
  .zt-section .zt-copy { font-size:14px; }
  .zt-phone-row { gap:8px; }
  .zt-phone-row .zt-phone { width:48%; }
  .zt-feature-card { gap:14px; padding:20px 4px!important; }
  .zt-feature-title .elementor-heading-title { font-size:16px; }
  .zt-form-grid { grid-template-columns:1fr; }
}
