/* ============================================================
   KITA TABACHKA THERAPY — Soft Sage & Ivory
   Single shared stylesheet. Static HTML/CSS, no JS dependency.
   All signature components (flip cards, tools carousel, reflection
   panel, editorial blocks) are pure CSS.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500;1,6..72,600&family=Mulish:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

/* ---------- TOKENS ---------- */
:root {
  /* neutrals */
  --ivory:#F3EFE6; --sand:#EBE2CF; --white:#FFFFFF;
  --indigo:#232A4D; --indigo-soft:#2E376180; --slate:#6E655B; --hairline:#E6DCCB;
  /* accents */
  --sage:#AECEC0; --teal:#4E8E8B; --teal-ink:#3F7B78;
  --blush:#DBB1A2; --soft-rose:#F0D5CB; --apricot:#EFB780;
  --soft-peach:#F7DEC3; --soft-sky:#CFE0E8; --soft-gold:#EFC964;
  --tint-butter:#F4E3B0; --tint-blush:#F3D9CF; --tint-mint:#D6E8D6; --tint-sage:#CFE0D2; --tint-sky:#CFE0E8; --tint-lavender:#E2DCEF; --tint-peach:#F7DEC3;
  --band-soft-sage:#E7F0EA; --band-soft-peach:#F7DEC3; --band-soft-blush:#F3D9CF; --band-soft-mist:#EAF0EB;
  /* type */
  --font-display:'Newsreader',Georgia,'Times New Roman',serif;
  --font-body:'Mulish',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --fs-h1:clamp(2.2rem,4.4vw,3.7rem); --fs-h2:clamp(1.55rem,3vw,2.5rem);
  --fs-h3:1.3rem; --fs-body:1.06rem; --fs-eyebrow:0.72rem; --fs-caption:0.85rem; --fs-button:0.8rem;
  --lh-h1:1.08; --lh-h2:1.14; --lh-body:1.75;
  --ls-eyebrow:0.18em; --ls-button:0.08em;
  /* layout */
  --container-max:1180px; --container-pad:clamp(1.25rem,4vw,2rem);
  --section-pad-y:clamp(4rem,8vw,7rem); --gap:1.5rem; --gap-lg:2.5rem;
  --radius-sm:14px; --radius-md:20px; --radius-lg:30px; --radius-xl:46px; --radius-pill:999px;
  --shadow-card:0 14px 40px rgba(120,95,70,.10);
  --shadow-card-hover:0 26px 60px rgba(120,95,70,.16);
  --shadow-soft:0 8px 24px rgba(120,95,70,.07);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --dur-base:320ms; --dur-slow:600ms; --lift:-4px;
}

/* ---------- BASE ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--ivory);color:var(--indigo);
  font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-medium);color:var(--indigo);margin:0 0 .5em;text-wrap:balance;line-height:var(--lh-h2);letter-spacing:.005em;}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:-.01em;}
h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-h3);line-height:1.3;}
p{margin:0 0 1em;text-wrap:pretty;}
a{color:var(--teal-ink);text-decoration-color:color-mix(in srgb,var(--teal) 40%,transparent);text-underline-offset:2px;}
a:hover{color:var(--teal);}
em,.accent{font-style:italic;color:var(--teal);}
img{max-width:100%;display:block;}
strong{font-weight:var(--fw-bold);}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--indigo);color:var(--ivory);padding:.75rem 1.25rem;z-index:200;border-radius:0 0 var(--radius-sm) 0;}
.skip-link:focus{left:0;}

/* ---------- LAYOUT ---------- */
.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);}
.container--narrow{max-width:780px;}
.container--mid{max-width:960px;}
section{padding-block:var(--section-pad-y);}
.band-ivory{background:var(--ivory);} .band-sand{background:var(--sand);}
.band-sage{background:var(--band-soft-sage);} .band-peach{background:var(--band-soft-peach);}
.band-rose{background:var(--band-soft-blush);} .band-sky{background:var(--band-soft-mist);}
.band-indigo{background:var(--indigo);color:var(--ivory);}
.band-indigo h1,.band-indigo h2,.band-indigo h3{color:var(--ivory);}
.band-indigo a{color:var(--soft-gold);}
.eyebrow{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-eyebrow);
  text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--teal);margin:0 0 1rem;display:block;}
.band-indigo .eyebrow{color:var(--sage);}
.section-head{max-width:720px;margin-bottom:clamp(2rem,4vw,3.25rem);}
.section-head.center{margin-inline:auto;text-align:center;}
.lede{font-size:1.15rem;color:var(--slate);}
.band-indigo .lede{color:color-mix(in srgb,var(--ivory) 82%,transparent);}
.band-indigo .num-list p{color:color-mix(in srgb,var(--ivory) 80%,transparent);}
.band-indigo .num-list strong{color:var(--ivory);}
/* soft curved wave dividers where a colour band meets cream */
main>section[class*="band-"]:not(.band-ivory){position:relative;margin-top:clamp(20px,3vw,38px);}
main>section[class*="band-"]:not(.band-ivory)::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(20px,3vw,38px);transform:translateY(-99%);background-color:inherit;pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 L0 24 C 360 -4 1080 -4 1440 24 L1440 40 Z' fill='%23000'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 L0 24 C 360 -4 1080 -4 1440 24 L1440 40 Z' fill='%23000'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-body);
  font-weight:var(--fw-bold);font-size:var(--fs-button);text-transform:uppercase;
  letter-spacing:var(--ls-button);text-decoration:none;border-radius:var(--radius-pill);
  padding:.95em 1.7em;border:1.5px solid transparent;cursor:pointer;
  transition:background var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),
    transform var(--dur-base) var(--ease-soft),box-shadow var(--dur-base) var(--ease-soft),border-color var(--dur-base);}
.btn:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-card-hover);}
.btn:active{transform:translateY(-1px);}
.btn--primary{background:var(--indigo);color:var(--ivory);}
.btn--primary:hover{background:var(--teal);color:var(--white);}
.btn--clay,.btn--sage{background:var(--sage);color:var(--indigo);}
.btn--clay:hover,.btn--sage:hover{background:var(--teal);color:var(--white);}
.btn--outline{background:transparent;border-color:var(--indigo);color:var(--indigo);}
.btn--outline:hover{background:var(--indigo);color:var(--ivory);}
.btn--on-dark{background:var(--ivory);color:var(--indigo);}
.btn--on-dark:hover{background:var(--sage);color:var(--indigo);}
.btn--ghost-dark{background:transparent;border-color:color-mix(in srgb,var(--ivory) 45%,transparent);color:var(--ivory);}
.btn--ghost-dark:hover{background:color-mix(in srgb,var(--ivory) 14%,transparent);}
.btn--sm{padding:.7em 1.2em;font-size:.72rem;}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.arrow-link{font-weight:var(--fw-bold);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;
  text-decoration:none;display:inline-flex;align-items:center;gap:.4em;color:var(--teal-ink);}
.arrow-link::after{content:"\2192";transition:transform var(--dur-base) var(--ease-soft);}
.arrow-link:hover::after{transform:translateX(4px);}

/* ---------- BADGE ---------- */
.badge{display:inline-block;font-family:var(--font-body);font-weight:var(--fw-bold);
  font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;padding:.4em .8em;
  border-radius:var(--radius-pill);background:var(--apricot);color:var(--indigo);}
.badge--gold{background:var(--soft-gold);}
.badge--sage{background:var(--sage);}
.badge--outline{background:transparent;border:1.5px solid currentColor;color:var(--teal-ink);}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--ivory) 92%,transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;
  transition:box-shadow var(--dur-base),border-color var(--dur-base);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding-block:1rem;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--indigo);}
.brand__mark{width:44px;height:44px;flex:none;}
.brand__name{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:1.26rem;line-height:1.05;letter-spacing:.01em;}
.brand__name span{display:block;font-family:var(--font-body);font-weight:var(--fw-bold);
  font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-top:2px;}
.primary-nav{display:flex;align-items:center;gap:.3rem;}
.primary-nav a,.nav-trigger{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:.92rem;
  color:var(--indigo);text-decoration:none;padding:.55rem .7rem;border-radius:var(--radius-sm);
  background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.3em;transition:color var(--dur-base);}
.primary-nav a:hover,.nav-trigger:hover{color:var(--teal);}
.has-menu{position:relative;}
.has-menu>.nav-trigger::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--dur-base);}
.submenu{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:300px;background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-md);
  box-shadow:var(--shadow-card-hover);padding:.6rem;opacity:0;visibility:hidden;
  transition:opacity var(--dur-base) var(--ease-soft),transform var(--dur-base) var(--ease-soft),visibility var(--dur-base);
  display:grid;gap:1px;}
.has-menu:hover .submenu,.has-menu:focus-within .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.submenu a{font-size:.88rem;font-weight:var(--fw-medium);padding:.6rem .8rem;border-radius:var(--radius-sm);white-space:nowrap;}
.submenu a:hover{background:var(--ivory);}
.header-cta{flex:none;}
.header-contacts{display:flex;align-items:center;gap:.1rem;order:2;}
.hicon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--indigo);text-decoration:none;transition:background var(--dur-base),color var(--dur-base);}
.hicon:hover{background:color-mix(in srgb,var(--sage) 45%,transparent);color:var(--teal);}
.hicon svg{width:20px;height:20px;}
@media(max-width:480px){.hicon{width:34px;height:34px;}.hicon svg{width:18px;height:18px;}}
.nav-toggle,.nav-check{display:none;}
@media(max-width:1024px){
  .site-header__inner{flex-wrap:wrap;}
  .nav-toggle{display:inline-flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;order:3;}
  .nav-toggle span{width:26px;height:2px;background:var(--indigo);border-radius:2px;transition:transform var(--dur-base),opacity var(--dur-base);}
  .header-cta{order:2;margin-left:auto;}
  .primary-nav{order:4;flex-direction:column;align-items:stretch;width:100%;gap:0;
    max-height:0;overflow:hidden;transition:max-height var(--dur-slow) var(--ease-soft);}
  .nav-check:checked~.primary-nav{max-height:2000px;padding-top:.5rem;}
  .nav-check:checked~.nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-check:checked~.nav-toggle span:nth-child(2){opacity:0;}
  .nav-check:checked~.nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .primary-nav a,.nav-trigger{padding:.85rem .4rem;border-bottom:1px solid var(--hairline);border-radius:0;width:100%;justify-content:space-between;}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;
    min-width:0;padding:.2rem 0 .6rem 1rem;background:transparent;}
  .submenu a{border-bottom:1px solid var(--hairline);white-space:normal;font-size:.9rem;line-height:1.35;}
  .has-menu>.nav-trigger::after{display:none;}
}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,5vw,4.5rem) var(--section-pad-y);
  background:linear-gradient(168deg,#E7F0EA 0%,#F3EFE6 52%,#F8EAD9 100%);}
.hero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.hero__content{max-width:560px;}
.hero h1{margin-bottom:1.1rem;}
.hero__body{font-size:1.12rem;color:var(--slate);}
.hero__body p{margin-bottom:.9rem;}
.hero__figure{position:relative;}
.hero__figure::before{content:"";position:absolute;inset:7% -5% -7% 5%;background:var(--tint-sage);
  border-radius:clamp(26px,4vw,46px);z-index:0;}
.framed{position:relative;z-index:1;border-radius:clamp(26px,4vw,46px);overflow:hidden;
  border:8px solid var(--white);box-shadow:0 18px 48px rgba(120,95,70,.14);}
.framed img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:860px){
  .hero__grid{grid-template-columns:1fr;}
  .hero__figure{max-width:520px;margin-inline:auto;}
}
/* full-bleed magazine-cover hero (homepage) */
.hero--cover{padding:0;overflow:hidden;background:none;}
.hero__cover-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:stretch;min-height:clamp(500px,70vh,750px);}
.hero__col{display:flex;align-items:center;
  background:linear-gradient(165deg,#E7F0EA 0%,#F3EFE6 56%,#F8EAD9 100%);
  padding-block:clamp(2.5rem,6vw,4.5rem);
  padding-left:max(var(--container-pad),calc((100vw - var(--container-max))/2));
  padding-right:clamp(1.5rem,4vw,3.5rem);}
.hero__col .hero__content{max-width:560px;}
.hero__cover-media{position:relative;background:var(--sand);}
.hero__cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 32%;
  border-bottom-left-radius:clamp(40px,6vw,90px);}
@media(max-width:860px){
  .hero__cover-grid{grid-template-columns:1fr;min-height:0;}
  .hero__cover-media{height:clamp(440px,116vw,580px);order:-1;}
  .hero__cover-img{position:static;object-position:60% 20%;border-bottom-left-radius:0;border-radius:0 0 clamp(22px,7vw,38px) clamp(22px,7vw,38px);}
  .hero__col{padding:clamp(2rem,7vw,3rem) var(--container-pad);}
}

/* ---------- TRUST STRIP ---------- */
.trust-strip{background:var(--band-soft-sage);color:var(--indigo);}
.trust-strip ul{list-style:none;margin:0;padding-block:1.15rem;display:flex;flex-wrap:wrap;
  justify-content:center;gap:.6rem 2rem;font-size:.85rem;font-weight:var(--fw-semibold);letter-spacing:.02em;}
.trust-strip li{display:flex;align-items:center;gap:.6rem;color:color-mix(in srgb,var(--indigo) 82%,transparent);}
.trust-strip li:not(:first-child)::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);}

/* ---------- FLIP CARDS (signature) ---------- */
.flip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap);}
.flip{perspective:1400px;border-radius:var(--radius-lg);outline-offset:4px;}
.flip__inner{position:relative;width:100%;min-height:230px;transform-style:preserve-3d;
  transition:transform var(--dur-slow) var(--ease-soft);}
.flip:hover .flip__inner,.flip:focus-visible .flip__inner,.flip:focus-within .flip__inner{transform:rotateY(180deg);}
.flip__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:var(--radius-lg);padding:1.8rem;display:flex;flex-direction:column;justify-content:space-between;
  border:1px solid var(--hairline);box-shadow:var(--shadow-card);}
.flip__front{background:var(--white);}
.flip__front.tint-sage{background:var(--tint-mint);border-color:transparent;}
.flip__front.tint-peach{background:var(--tint-peach);border-color:transparent;}
.flip__front.tint-rose{background:var(--tint-blush);border-color:transparent;}
.flip__front.tint-sky{background:var(--tint-sky);border-color:transparent;}
.flip__back{background:var(--indigo);color:var(--ivory);transform:rotateY(180deg);border-color:transparent;}
.flip__back h3,.flip__back p{color:var(--ivory);}
.flip__tag{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:.64rem;
  text-transform:uppercase;letter-spacing:.16em;color:var(--teal-ink);}
.flip__back .flip__tag{color:var(--sage);}
.flip__q{font-family:var(--font-display);font-size:1.32rem;line-height:1.25;margin:.6rem 0 0;color:var(--indigo);}
.flip__a{font-size:.98rem;line-height:1.6;margin:.5rem 0 0;color:color-mix(in srgb,var(--ivory) 90%,transparent);}
.flip__held{margin-top:auto;padding-top:1rem;}
.flip__held a{display:inline-flex;align-items:center;gap:.35em;font-weight:var(--fw-bold);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--sage);text-decoration:none;}
.flip__held a::after{content:"\2192";}
.flip__hint{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:auto;padding-top:1rem;}
.flip__front.tint-sage .flip__hint,.flip__front.tint-peach .flip__hint,
.flip__front.tint-rose .flip__hint,.flip__front.tint-sky .flip__hint{color:color-mix(in srgb,var(--indigo) 65%,transparent);}

/* ---------- SERVICE SELECTOR CARDS ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--gap);}
.svc-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--radius-lg);padding:1.9rem;text-decoration:none;color:var(--indigo);box-shadow:var(--shadow-card);
  transition:transform var(--dur-base) var(--ease-soft),box-shadow var(--dur-base) var(--ease-soft);}
.svc-card:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-card-hover);color:var(--indigo);}
.svc-card.tint-sage{background:var(--sage);border-color:transparent;}
.svc-card.tint-peach{background:var(--soft-peach);border-color:transparent;}
.svc-card.tint-rose{background:var(--soft-rose);border-color:transparent;}
.svc-card.tint-sky{background:var(--soft-sky);border-color:transparent;}
.svc-card.tint-sand{background:var(--sand);border-color:transparent;}
.svc-card__icon{width:48px;height:48px;color:var(--teal);margin-bottom:1.1rem;padding:11px;
  background:color-mix(in srgb,#fff 60%,transparent);border-radius:50%;}
.svc-card h3{margin-bottom:.5rem;}
.svc-card p{font-size:.95rem;color:var(--slate);margin-bottom:1.2rem;}
.svc-card .arrow-link{margin-top:auto;}
/* pastel variety: each card a different soft tint */
.card-grid>.svc-card{border-color:transparent;}
.card-grid>.svc-card:nth-child(6n+1){background:var(--tint-butter);}
.card-grid>.svc-card:nth-child(6n+2){background:var(--tint-blush);}
.card-grid>.svc-card:nth-child(6n+3){background:var(--tint-mint);}
.card-grid>.svc-card:nth-child(6n+4){background:var(--tint-sky);}
.card-grid>.svc-card:nth-child(6n+5){background:var(--tint-lavender);}
.card-grid>.svc-card:nth-child(6n+6){background:var(--tint-peach);}

/* ---------- ALTERNATING IMAGE+TEXT ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split--reverse .split__media{order:2;}
.split__media{position:relative;}
.split__media::before{content:"";position:absolute;inset:6% -4% -6% 5%;border-radius:clamp(22px,3vw,42px);z-index:0;}
.split__media.blob-sage::before{background:var(--tint-sage);}
.split__media.blob-peach::before{background:var(--soft-peach);}
.split__media.blob-sky::before{background:var(--tint-sky);}
.split__media.blob-rose::before{background:var(--tint-blush);}
.split__content{max-width:560px;}
.pullquote-inline{font-family:var(--font-display);font-style:italic;font-size:1.5rem;line-height:1.35;
  color:var(--teal);border-left:4px solid var(--sage);padding-left:1.2rem;margin:1.5rem 0;}
@media(max-width:860px){
  .split{grid-template-columns:1fr;}
  .split--reverse .split__media{order:0;}
  .split__media{max-width:520px;margin-inline:auto;}
}

/* dog gallery */
.dogs-media{display:grid;grid-template-columns:1fr;gap:1rem;}

/* ---------- HOW IT WORKS / step chips ---------- */
.steps{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;}
.step-chip{display:inline-flex;align-items:center;gap:.6em;background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--radius-pill);padding:.7rem 1.2rem;font-weight:var(--fw-semibold);font-size:.9rem;box-shadow:var(--shadow-soft);}
.step-chip span{width:24px;height:24px;border-radius:50%;background:var(--sage);color:var(--indigo);
  display:grid;place-items:center;font-size:.78rem;font-weight:var(--fw-bold);font-family:var(--font-body);}
.band-indigo .step-chip{background:color-mix(in srgb,var(--ivory) 8%,transparent);border-color:color-mix(in srgb,var(--sage) 40%,transparent);color:var(--ivory);}

/* numbered list */
.num-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.4rem;}
.num-list li{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;}
.num-list .n{font-family:var(--font-display);font-size:1.5rem;color:var(--teal);line-height:1;font-weight:var(--fw-semibold);min-width:1.6em;}
.num-list strong{display:block;margin-bottom:.2rem;}
.num-list p{margin:0;color:var(--slate);font-size:.97rem;}

/* ---------- STRUGGLE LIST ---------- */
.struggle-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.6rem;}
.struggle-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:1.02rem;color:var(--indigo);
  background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:1.05rem 1.3rem;box-shadow:var(--shadow-soft);}
.struggle-list li:nth-child(6n+1){background:var(--tint-mint);border-color:transparent;}
.struggle-list li:nth-child(6n+2){background:var(--tint-blush);border-color:transparent;}
.struggle-list li:nth-child(6n+3){background:var(--tint-butter);border-color:transparent;}
.struggle-list li:nth-child(6n+4){background:var(--tint-sky);border-color:transparent;}
.struggle-list li:nth-child(6n+5){background:var(--tint-sage);border-color:transparent;}
.struggle-list li:nth-child(6n+6){background:var(--tint-lavender);border-color:transparent;}
.struggle-list svg{color:var(--teal);flex:none;margin-top:3px;}
@media(max-width:680px){.struggle-list{grid-template-columns:1fr;}}

/* ---------- REFLECTION PANEL (signature) ---------- */
.reflection{background:var(--indigo);color:var(--ivory);border-radius:var(--radius-lg);
  padding:clamp(2.2rem,5vw,3.6rem);}
.reflection__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin:2rem 0;}
.reflection__card{background:color-mix(in srgb,var(--ivory) 7%,transparent);
  border:1px solid color-mix(in srgb,var(--sage) 35%,transparent);border-radius:var(--radius-md);padding:1.7rem;}
.reflection__role{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--sage);margin-bottom:.6rem;}
.reflection__card p{color:color-mix(in srgb,var(--ivory) 88%,transparent);margin:0;font-size:.98rem;}
.reflection__caveat{font-size:.95rem;color:color-mix(in srgb,var(--ivory) 75%,transparent);font-style:italic;margin-bottom:1.5rem;}
@media(max-width:680px){.reflection__pair{grid-template-columns:1fr;}}

/* ---------- TOOLS CAROUSEL (signature) ---------- */
.tools{background:var(--sand);overflow:hidden;}
.tools__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem;}
.tools__head .section-head{margin-bottom:0;}
.marquee{position:relative;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.marquee__track{display:flex;gap:var(--gap);width:max-content;animation:drift 56s linear infinite;}
.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused;}
@keyframes drift{from{transform:translateX(0);}to{transform:translateX(calc(-50% - var(--gap)/2));}}
.product{width:280px;flex:none;background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;
  transition:transform var(--dur-base) var(--ease-soft),box-shadow var(--dur-base) var(--ease-soft);}
.product:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-card-hover);}
.product__cover{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ivory);}
.product__cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-soft);}
.product:hover .product__cover img{transform:scale(1.05);}
.product__badge{position:absolute;top:.7rem;left:.7rem;}
.product__body{padding:1.2rem;display:flex;flex-direction:column;gap:.7rem;flex:1;}
.product__title{font-family:var(--font-display);font-size:1.05rem;line-height:1.3;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.product__title a{color:var(--indigo);text-decoration:none;}
.product__title a:hover{color:var(--teal);}
.product__price{display:flex;align-items:baseline;gap:.6rem;margin-top:auto;}
.product__now{font-weight:var(--fw-bold);font-size:1.15rem;color:var(--teal);}
.product__was{text-decoration:line-through;color:var(--slate);font-size:.9rem;}

/* ---------- EDITORIAL COMPONENTS (articles) ---------- */
.article-meta{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:var(--fw-bold);margin-top:1.2rem;}
.article-list{max-width:720px;margin:1.4rem auto;padding-left:0;list-style:none;display:grid;gap:.7rem;}
.article-list li{position:relative;padding-left:1.6rem;}
.article-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--sage);}
.article-body{max-width:720px;margin-inline:auto;}
.article-body>p{font-size:1.1rem;}
.article-body h2{margin-top:2.6rem;}
.article-body h3{margin-top:1.8rem;}
.pull-quote{font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.3;
  font-weight:var(--fw-medium);color:var(--indigo);border-left:5px solid var(--sage);
  padding:.3rem 0 .3rem 1.6rem;margin:2.2rem 0;}
.sec-num{font-family:var(--font-display);color:var(--teal);font-size:.95rem;font-weight:var(--fw-semibold);
  letter-spacing:.04em;display:block;margin-bottom:.3rem;}
.blockquote{position:relative;background:var(--soft-peach);border-radius:var(--radius-md);
  padding:2rem 2rem 2rem 3.4rem;margin:2rem 0;font-family:var(--font-display);font-style:italic;font-size:1.2rem;line-height:1.5;}
.blockquote::before{content:"\201C";position:absolute;left:1rem;top:.3rem;font-family:var(--font-display);
  font-size:4.5rem;color:color-mix(in srgb,var(--indigo) 18%,transparent);line-height:1;}
.blockquote--dark{background:var(--indigo);color:var(--ivory);}
.blockquote--dark::before{color:color-mix(in srgb,var(--sage) 45%,transparent);}
.callout{border:1.5px solid var(--hairline);border-radius:var(--radius-md);padding:1.5rem 1.7rem;margin:2rem 0;background:var(--white);}
.callout__label{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:.7rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--teal);margin-bottom:.5rem;display:block;}
.callout p:last-child{margin-bottom:0;}
.callout--clay{background:var(--soft-rose);border-color:var(--blush);}
.callout--sage{background:var(--sage);border-color:transparent;}
.figure{margin:2.2rem 0;}
.figure img{border-radius:var(--radius-md);border:2px solid var(--indigo);}
.figure figcaption{font-style:italic;font-size:.9rem;color:var(--slate);border-left:3px solid var(--sage);
  padding-left:.9rem;margin-top:.8rem;}
.break{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin:2.8rem 0;color:var(--teal);}
.break::before,.break::after{content:"";height:1px;width:min(120px,18vw);background:var(--hairline);}
.break span{font-size:1.4rem;letter-spacing:.3em;line-height:1;}

/* ---------- FAQ (native, no JS) ---------- */
.faq{display:grid;gap:.9rem;max-width:820px;}
.faq details{background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-md);
  padding:0 1.4rem;box-shadow:var(--shadow-soft);transition:box-shadow var(--dur-base);}
.faq details[open]{box-shadow:var(--shadow-card);}
.faq summary{list-style:none;cursor:pointer;padding:1.2rem 0;font-family:var(--font-display);font-size:1.12rem;
  font-weight:var(--fw-semibold);color:var(--indigo);display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--teal);
  border-bottom:2px solid var(--teal);transform:rotate(45deg);transition:transform var(--dur-base);}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq details>*:not(summary){margin-top:0;}
.faq details p{padding-bottom:1.3rem;margin:0;color:var(--slate);}

/* ---------- REVIEWS ---------- */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--gap);}
.review{background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-lg);
  padding:1.8rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1rem;}
.review__stars{color:var(--soft-gold);letter-spacing:.15em;font-size:1rem;}
.review p{font-family:var(--font-display);font-style:italic;font-size:1.08rem;line-height:1.5;color:var(--indigo);margin:0;}
.review__who{font-weight:var(--fw-bold);font-size:.85rem;color:var(--slate);margin-top:auto;}
.review__who span{display:block;font-weight:var(--fw-regular);text-transform:none;letter-spacing:0;}
.proof-slot{border:1.5px dashed var(--blush);border-radius:var(--radius-md);padding:1.5rem;background:var(--soft-rose);}
.proof-slot .callout__label{color:var(--teal-ink);}

/* ---------- FEES CARDS ---------- */
.fees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap);}
.fee-card{background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:2rem;
  box-shadow:var(--shadow-card);text-align:center;}
.fee-card.featured{background:var(--indigo);color:var(--ivory);}
.fee-card.featured h3{color:var(--ivory);}
.fee-card__price{font-family:var(--font-display);font-size:2.4rem;color:var(--teal);line-height:1;margin:.6rem 0;}
.fee-card.featured .fee-card__price{color:var(--sage);}
.fee-card__meta{font-size:.9rem;color:var(--slate);}
.fee-card.featured .fee-card__meta{color:color-mix(in srgb,var(--ivory) 75%,transparent);}

/* ---------- FORM ---------- */
.form-card{background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-lg);
  padding:clamp(1.6rem,4vw,2.6rem);box-shadow:var(--shadow-card);}
.field{margin-bottom:1.3rem;}
.field label{display:block;font-weight:var(--fw-bold);font-size:.85rem;margin-bottom:.45rem;color:var(--indigo);}
.field .req{color:var(--teal);}
.field input,.field select,.field textarea{width:100%;font-family:var(--font-body);font-size:1rem;
  padding:.85rem 1rem;border:1.5px solid var(--hairline);border-radius:var(--radius-sm);background:var(--ivory);
  color:var(--indigo);transition:border-color var(--dur-base),box-shadow var(--dur-base);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent);}
.field textarea{min-height:120px;resize:vertical;}
.field__hint{font-size:.82rem;color:var(--slate);margin-top:.4rem;}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;}
@media(max-width:600px){.field-2{grid-template-columns:1fr;}}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:var(--slate);}
.consent input{width:auto;margin-top:.25rem;flex:none;}
.safety-note{background:var(--soft-rose);border-radius:var(--radius-md);padding:1.2rem 1.4rem;font-size:.9rem;
  color:var(--indigo);border-left:4px solid var(--blush);}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{padding-block:1rem 0;}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;font-size:.82rem;color:var(--slate);}
.breadcrumb li{display:flex;gap:.5rem;align-items:center;}
.breadcrumb li:not(:last-child)::after{content:"/";color:var(--hairline);}
.breadcrumb a{color:var(--teal-ink);text-decoration:none;}

/* ---------- RELATED LINKS ---------- */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;}
.link-card{display:flex;flex-direction:column;gap:.3rem;background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--radius-md);padding:1.3rem 1.5rem;text-decoration:none;color:var(--indigo);
  box-shadow:var(--shadow-soft);transition:background var(--dur-base) var(--ease-soft),transform var(--dur-base) var(--ease-soft),box-shadow var(--dur-base);}
.link-card:hover{background:var(--indigo);transform:translateY(var(--lift));box-shadow:var(--shadow-card-hover);}
.link-card__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:var(--fw-bold);color:var(--teal);}
.link-card__name{font-family:var(--font-display);font-size:1.1rem;}
.link-card:hover .link-card__label{color:var(--sage);}
.link-card:hover .link-card__name,.link-card:hover{color:var(--ivory);}

/* ---------- FOOTER ---------- */
.cta-band{background:var(--indigo);color:var(--ivory);text-align:center;}
.cta-band .container{max-width:760px;}
.cta-band h2{color:var(--ivory);}
.cta-band p{color:color-mix(in srgb,var(--ivory) 82%,transparent);font-size:1.1rem;margin-bottom:1.8rem;}
.site-footer{background:#1B2140;color:color-mix(in srgb,var(--ivory) 85%,transparent);}
.site-footer .container{padding-block:clamp(3rem,6vw,4.5rem);}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2.2rem;}
.footer-brand__name{font-family:var(--font-display);color:var(--ivory);font-size:1.25rem;margin-bottom:.8rem;}
.footer-brand p{font-size:.9rem;line-height:1.7;color:color-mix(in srgb,var(--ivory) 72%,transparent);}
.footer-brand .trust-line{font-size:.78rem;color:var(--sage);font-weight:var(--fw-semibold);margin-top:1rem;}
.footer-contacts{display:flex;flex-direction:column;gap:.5rem;margin-top:1.1rem;font-size:.88rem;}
.footer-contacts a{display:inline-flex;align-items:center;gap:.55rem;color:color-mix(in srgb,var(--ivory) 86%,transparent);text-decoration:none;transition:color var(--dur-base);}
.footer-contacts a:hover{color:var(--sage);}
.footer-contacts svg{width:17px;height:17px;flex:none;color:var(--sage);}
.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;}
.contact-method{display:flex;align-items:center;gap:.9rem;background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:1.1rem 1.3rem;text-decoration:none;color:var(--indigo);box-shadow:var(--shadow-soft);transition:transform var(--dur-base),box-shadow var(--dur-base);}
.contact-method:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-card);color:var(--indigo);}
.contact-method svg{width:24px;height:24px;color:var(--teal);flex:none;}
.contact-method b{display:block;font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:var(--fw-bold);margin-bottom:.15rem;}
.contact-method span{font-size:.95rem;}
.footer-col h3{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:.74rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--sage);margin-bottom:1rem;}
.footer-col nav{display:grid;gap:.6rem;}
.footer-col a{color:color-mix(in srgb,var(--ivory) 80%,transparent);text-decoration:none;font-size:.88rem;
  transition:color var(--dur-base);}
.footer-col a:hover{color:var(--sage);}
.footer-micro{font-size:.8rem;color:color-mix(in srgb,var(--ivory) 60%,transparent);margin-top:1.2rem;line-height:1.6;}
.footer-legal{border-top:1px solid color-mix(in srgb,var(--ivory) 14%,transparent);}
.footer-legal .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;
  padding-block:1.4rem;font-size:.78rem;color:color-mix(in srgb,var(--ivory) 60%,transparent);}
.footer-legal a{color:color-mix(in srgb,var(--ivory) 70%,transparent);text-decoration:none;}
.footer-legal a:hover{color:var(--sage);}
.footer-legal .legal-links{display:flex;flex-wrap:wrap;gap:1rem;}
@media(max-width:920px){.footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ---------- SCROLL REVEAL (pure CSS, progressive) ---------- */
@media(prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .reveal{animation:reveal-fade linear both;animation-timeline:view();animation-range:entry 0% entry 38%;}
  }
}
@keyframes reveal-fade{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* ---------- UTILITIES ---------- */
.center{text-align:center;}
.mt-0{margin-top:0;} .mb-0{margin-bottom:0;}
.measure{max-width:680px;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* ---------- FLOATING WHATSAPP CHAT ---------- */
.chat-fab{position:fixed;right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:120;
  display:inline-flex;align-items:center;gap:.6rem;background:var(--indigo);color:var(--ivory);
  text-decoration:none;padding:.85rem 1.15rem;border-radius:var(--radius-pill);
  box-shadow:0 14px 36px rgba(35,42,77,.30);font-family:var(--font-body);font-weight:var(--fw-bold);
  font-size:.82rem;transition:transform var(--dur-base) var(--ease-soft),background var(--dur-base);}
.chat-fab:hover{transform:translateY(-3px);background:var(--teal);color:var(--white);}
.chat-fab svg{width:22px;height:22px;flex:none;}
.chat-fab__label{white-space:nowrap;}
@media(max-width:560px){.chat-fab__label{display:none;}.chat-fab{padding:.9rem;}}
@media print{.chat-fab,.kt-pop{display:none!important;}}

/* ---------- GENTLE BOOKING POPUPS ---------- */
.kt-pop{position:fixed;left:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:115;max-width:340px;
  background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius-lg);
  box-shadow:0 22px 60px rgba(35,42,77,.22);padding:1.6rem 1.5rem 1.4rem;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .5s var(--ease-soft),transform .5s var(--ease-soft);}
.kt-pop.is-open{opacity:1;transform:none;pointer-events:auto;}
.kt-pop--tint{background:var(--tint-sage);border-color:transparent;}
.kt-pop__eyebrow{font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;font-weight:var(--fw-bold);color:var(--teal);margin-bottom:.5rem;}
.kt-pop h3{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:1.22rem;margin:0 0 .5rem;line-height:1.25;color:var(--indigo);}
.kt-pop p{font-size:.92rem;color:var(--slate);margin:0 0 1.1rem;line-height:1.55;}
.kt-pop .btn{width:100%;justify-content:center;}
.kt-pop__close{position:absolute;top:.6rem;right:.6rem;width:30px;height:30px;border:none;
  background:color-mix(in srgb,var(--sand) 75%,transparent);border-radius:50%;cursor:pointer;
  color:var(--indigo);font-size:1.05rem;line-height:1;display:grid;place-items:center;transition:background var(--dur-base);}
.kt-pop__close:hover{background:var(--sand);}
@media(max-width:560px){.kt-pop{left:12px;right:12px;bottom:88px;max-width:none;}}

.hero__tagline{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.15rem,2.3vw,1.6rem);line-height:1.4;color:var(--teal);margin:.55rem 0 0;max-width:36ch;}
