/* ============================================================
   محمد عسلي — أخصائي نفسي مختص ومعالج نفسي
   Design system: boutique, calm, warm sage & ivory palette
   ============================================================ */

:root{
  --ink: #24352C;
  --ink-soft: #4B5A50;
  --sage-900: #2F4A3C;
  --sage-800: #375749;
  --sage-700: #43695A;
  --sage-500: #6E8E76;
  --sage-300: #9CAE7C;
  --sage-100: #E4E9DC;
  --sand-500: #C7A96B;
  --sand-300: #E4CFA0;
  --ivory: #FAF6EC;
  --ivory-deep: #F3EDDD;
  --paper: #FFFFFF;
  --line: #E4DDC8;
  --line-soft: #ECE6D5;
  --shadow-sm: 0 1px 2px rgba(36,53,44,.06), 0 1px 1px rgba(36,53,44,.04);
  --shadow-md: 0 10px 30px -12px rgba(36,53,44,.22);
  --shadow-lg: 0 24px 60px -20px rgba(36,53,44,.3);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 26px;
  --radius-pill: 999px;
  --maxw: 1180px;
  --maxw-narrow: 780px;
  --font-ar: "IBM Plex Sans Arabic","Noto Sans Arabic","Segoe UI",Tahoma,sans-serif;
  --font-he: "Heebo","Segoe UI",Arial,sans-serif;
  --ease: cubic-bezier(.4,0,.2,1);
  /* type scale — mobile-first; bumped at --bp-desktop via clamp() */
  --fs-hero: clamp(1.65rem, 5.6vw, 2.25rem);
  --fs-h1: clamp(1.45rem, 4.6vw, 1.9rem);
  --fs-h2: clamp(1.25rem, 3.4vw, 1.6rem);
  --fs-h3: 1.05rem;
  --fs-lead: 1rem;
  --lh-heading: 1.28;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--font-ar);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html[lang="he"] body{ font-family:var(--font-he); line-height:1.7; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-weight:700; color:var(--sage-900); line-height:1.25; }
p{ margin:0; }
button{ font:inherit; }

/* focus visibility everywhere */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible{
  outline:3px solid var(--sand-500);
  outline-offset:3px;
  border-radius:6px;
}

.skip-link{
  position:absolute; inset-inline-end:1rem; top:-60px; background:var(--sage-900); color:#fff;
  padding:.75rem 1.25rem; border-radius:var(--radius-sm); z-index:200; transition:top .2s var(--ease);
}
.skip-link:focus{ top:1rem; }

.container{ max-width:var(--maxw); margin-inline:auto; padding-inline:24px; }
.container.narrow{ max-width:var(--maxw-narrow); }

.eyebrow{
  display:inline-flex; align-items:center; gap:.5em;
  font-size:.8rem; font-weight:700; letter-spacing:.02em;
  color:var(--sage-700); text-transform:uppercase;
  margin-bottom:.9rem;
}
.eyebrow::before{ content:""; width:20px; height:2px; background:var(--sand-500); border-radius:2px; }
.eyebrow.light{ color:var(--sand-300); }
.eyebrow.light::before{ background:var(--sand-300); }

.hebrew-term{ direction:rtl; color:var(--ink-soft); font-size:.95rem; margin-top:.35rem; }

/* ---------- buttons ---------- */
.button{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--sage-900); color:#fff; border:1px solid var(--sage-900);
  padding:.85rem 1.6rem; border-radius:var(--radius-pill);
  font-weight:700; font-size:.98rem; transition:transform .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease);
  box-shadow:var(--shadow-sm);
  min-height:48px;
}
.button:hover{ background:var(--sage-700); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.button-outline{ background:transparent; color:var(--sage-900); border-color:var(--sage-900); box-shadow:none; }
.button-outline:hover{ background:var(--sage-900); color:#fff; }
.button-light{ background:var(--sand-500); border-color:var(--sand-500); color:var(--sage-900); }
.button-light:hover{ background:var(--sand-300); }
.button-small{ padding:.6rem 1.15rem; font-size:.88rem; min-height:40px; }
.text-link{ display:inline-flex; align-items:center; gap:.4rem; font-weight:700; color:var(--sage-800); border-bottom:2px solid var(--sand-500); padding-bottom:2px; }
.text-link:hover{ color:var(--sage-900); }
.text-link.light-link{ color:#fff; border-color:rgba(255,255,255,.5); }

/* ============================================================
   Header
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(250,246,236,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.header-inner{ display:flex; align-items:center; gap:1.25rem; padding-block:.85rem; }
.brand{ display:flex; align-items:center; gap:.7rem; margin-inline-end:auto; }
.brand-mark{ width:50px; height:50px; flex:none; }
.brand-mark svg{ width:100%; height:100%; }
.brand-copy{ display:flex; flex-direction:column; line-height:1.25; }
.brand-copy strong{ font-size:1.02rem; color:var(--sage-900); }
.brand-copy small{ font-size:.74rem; color:var(--ink-soft); }

.desktop-nav{ display:none; }
@media (min-width: 960px){
  .desktop-nav{ display:flex; align-items:center; gap:1.6rem; margin-inline-end:auto; font-size:.94rem; font-weight:600; color:var(--ink-soft); }
  .desktop-nav > a, .nav-drop > button{ padding:.4rem .1rem; border-bottom:2px solid transparent; transition:color .15s, border-color .15s; }
  .desktop-nav > a:hover, .nav-drop > button:hover{ color:var(--sage-900); border-color:var(--sand-500); }
}
.nav-drop{ position:relative; }
.nav-drop > button{ display:flex; align-items:center; gap:.3rem; background:none; border:none; color:inherit; cursor:pointer; font:inherit; }
.nav-drop > button::after{ content:"⌄"; font-size:.8em; transition:transform .2s var(--ease); }
.nav-drop.open > button::after{ transform:rotate(180deg); }
.nav-drop-panel{
  position:absolute; top:calc(100% + 14px); inset-inline-start:-1rem; min-width:240px;
  background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); padding:.6rem; display:none; flex-direction:column; gap:.15rem;
}
.nav-drop.open .nav-drop-panel{ display:flex; }
.nav-drop-panel a{ padding:.65rem .85rem; border-radius:var(--radius-sm); font-weight:600; color:var(--ink); display:flex; flex-direction:column; gap:.1rem; }
.nav-drop-panel a:hover{ background:var(--ivory-deep); }
.nav-drop-panel a small{ color:var(--ink-soft); font-weight:500; font-size:.78rem; }

.header-cta{ display:none; }
@media (min-width:960px){ .header-cta{ display:inline-flex; } }

.lang-switch{ display:flex; align-items:center; border:1px solid var(--line); border-radius:var(--radius-pill); overflow:hidden; font-size:.82rem; font-weight:700; }
.lang-switch a{ padding:.45rem .8rem; color:var(--ink-soft); }
.lang-switch a[aria-current="true"]{ background:var(--sage-900); color:#fff; }

.mobile-toggle{ display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--paper); }
@media (min-width:960px){ .mobile-toggle{ display:none; } }
.mobile-toggle span{ display:block; width:20px; height:2px; background:var(--sage-900); position:relative; }
.mobile-toggle span::before,.mobile-toggle span::after{ content:""; position:absolute; inset-inline-start:0; width:20px; height:2px; background:var(--sage-900); }
.mobile-toggle span::before{ top:-6px; } .mobile-toggle span::after{ top:6px; }

.mobile-nav{
  display:none; position:fixed; inset:0; z-index:150; background:var(--ivory);
  padding:1.1rem 1.3rem 2rem; overflow-y:auto;
}
.mobile-nav.open{ display:block; }
.mobile-nav-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.6rem; }
.mobile-nav a{ display:block; padding:.95rem .2rem; font-size:1.08rem; font-weight:700; color:var(--sage-900); border-bottom:1px solid var(--line-soft); }
.mobile-nav .mobile-sub a{ font-size:.98rem; font-weight:600; color:var(--ink-soft); padding-inline-start:1rem; }
.mobile-nav .button{ margin-top:1.4rem; width:100%; justify-content:center; }
.mobile-close{ width:44px; height:44px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--paper); font-size:1.3rem; }

/* ============================================================
   Hero
   ============================================================ */
.hero{ position:relative; overflow:hidden; padding-block:3.4rem 3rem; }
@media (min-width:760px){ .hero{ padding-block:4.5rem 3.5rem; } }
.hero-grain{ position:absolute; inset:0; background:radial-gradient(circle at 15% 20%, var(--sage-100), transparent 55%), radial-gradient(circle at 85% 75%, var(--sand-300), transparent 45%); opacity:.55; pointer-events:none; }
.hero-grid{ position:relative; display:grid; gap:2.6rem; align-items:center; }
@media (min-width:960px){ .hero-grid{ grid-template-columns:1.05fr .95fr; gap:3.5rem; } }
.hero-name{ font-size:1.05rem; font-weight:700; color:var(--sage-700); margin:.2rem 0 .6rem; }
.hero h1{ font-size:var(--fs-hero); line-height:var(--lh-heading); letter-spacing:-.01em; margin-bottom:.8rem; }
.hero-role{ font-size:1.05rem; font-weight:700; color:var(--sage-800); }
.hero-hebrew{ margin-top:.15rem; margin-bottom:1.1rem; }
.hero .lead{ font-size:1.05rem; color:var(--ink-soft); max-width:46ch; margin-bottom:1.6rem; }
.actions{ display:flex; flex-wrap:wrap; align-items:center; gap:1.3rem; margin-bottom:1.6rem; }
.hero-tags{ display:flex; flex-wrap:wrap; gap:.6rem; }
.hero-tags span{ background:var(--paper); border:1px solid var(--line); padding:.4rem .9rem; border-radius:var(--radius-pill); font-size:.82rem; font-weight:700; color:var(--sage-800); }

.visual-wrap{ position:relative; }
.visual-arch{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/5; box-shadow:var(--shadow-lg); background:var(--sage-100); }
.visual-arch img{ width:100%; height:100%; object-fit:cover; }
.visual-arch blockquote{
  position:absolute; inset-inline:0; bottom:0; margin:0; padding:1.4rem 1.5rem 1.3rem;
  background:linear-gradient(0deg, rgba(36,53,44,.82), transparent 90%);
  color:#fff; font-size:1rem; font-weight:600;
}
.visual-note{ display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; font-size:.85rem; color:var(--ink-soft); }
.visual-note strong{ color:var(--sage-900); }

.trust-strip{ background:var(--sage-900); color:var(--sand-300); padding-block:.95rem; }
.trust-grid{ display:flex; flex-wrap:wrap; gap:.9rem 2rem; justify-content:center; font-size:.84rem; font-weight:700; letter-spacing:.01em; }

/* ============================================================
   Generic section layout
   ============================================================ */
.section{ padding-block:4.6rem; }
@media (min-width:760px){ .section{ padding-block:5rem; } }
.white-section{ background:var(--paper); }
.soft-section{ background:var(--ivory-deep); }
.section-heading{ display:flex; flex-direction:column; gap:1.1rem; margin-bottom:3rem; max-width:75ch; }
.section-heading h2{ font-size:var(--fs-h2); line-height:var(--lh-heading); color:var(--sage-900); }
.section-heading p{ color:var(--ink-soft); font-size:1.05rem; line-height:1.75; }
.compact-heading{ margin-bottom:2rem; }
.center-action{ display:flex; justify-content:center; margin-top:2.6rem; }
.center-action-group{ gap:1.2rem; flex-wrap:wrap; }

.prose p{ margin-bottom:1.2rem; color:var(--ink-soft); font-size:1.04rem; line-height:1.8; }
.prose h3{ font-size:1.2rem; margin:1.9rem 0 .95rem; color:var(--sage-900); font-weight:700; }
.prose .opening-paragraph{ font-size:1.15rem; color:var(--ink); font-weight:600; line-height:1.8; }
.prose-large p{ font-size:1.1rem; line-height:1.8; }
.legal-prose{ max-width:75ch; }
.legal-prose h2{ font-size:1.2rem; color:var(--sage-900); margin:2.4rem 0 .9rem; font-weight:700; }
.legal-prose h2:first-child{ margin-top:0; }
.legal-prose p{ color:var(--ink-soft); margin-bottom:1.1rem; line-height:1.8; }
.legal-prose ul{ margin:.8rem 0 1.3rem; display:flex; flex-direction:column; gap:.65rem; }
.legal-prose li{ color:var(--ink-soft); padding-inline-start:1.3rem; position:relative; }
.legal-prose li::before{ content:"–"; position:absolute; inset-inline-start:0; color:var(--sage-500); font-weight:600; }
.clean-list li{ position:relative; padding-inline-start:1.6rem; margin-bottom:.9rem; color:var(--ink-soft); line-height:1.7; }
.clean-list li::before{ content:"—"; position:absolute; inset-inline-start:0; color:var(--sand-500); font-weight:700; }

.content-grid{ display:grid; gap:2.4rem; }
@media (min-width:900px){ .content-grid{ grid-template-columns:.85fr 1.6fr; gap:4rem; } }
.intro-grid{ display:grid; gap:1.6rem; }
@media (min-width:800px){ .intro-grid{ grid-template-columns:.85fr 1.6fr; gap:3.4rem; align-items:start; } }
.intro-title h2{ font-size:1.35rem; margin-top:.4rem; }
.sticky-title{ position:relative; }
@media (min-width:900px){ .sticky-title{ position:sticky; top:110px; align-self:start; } }
.sticky-title h2{ font-size:1.35rem; margin-top:.4rem; }
.sticky-title.light-title h2, .sticky-title.light-title .eyebrow{ color:#fff; }

.quote-card{ background:var(--ivory-deep); border-radius:var(--radius-md); padding:1.6rem 1.8rem; border-inline-start:4px solid var(--sand-500); margin-bottom:1.6rem; }
.quote-card p{ margin:0; font-size:1.08rem; font-weight:600; color:var(--sage-900); }

.notice{ background:var(--sage-100); border-radius:var(--radius-sm); padding:1rem 1.2rem; font-size:.95rem; color:var(--sage-900); margin-top:1.2rem; }

/* ============================================================
   Home: services
   ============================================================ */
.service-showcase{ display:flex; flex-direction:column; gap:1.4rem; }
.service-feature{
  display:grid; gap:1.5rem; align-items:center;
  background:var(--ivory-deep); border:1px solid var(--line-soft); border-radius:var(--radius-lg);
  padding:1.9rem 1.6rem; box-shadow:var(--shadow-sm);
  transition:background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.service-feature:hover{ background:var(--paper); box-shadow:var(--shadow-md); border-color:var(--sage-300); }
@media (min-width:760px){ .service-feature{ grid-template-columns:1fr auto; padding:2.4rem 2.6rem; gap:2.8rem; } .service-feature-reverse{ grid-template-columns:auto 1fr; } .service-feature-reverse .service-feature-copy{ order:2; } .service-feature-reverse .service-artwork{ order:1; } }
.service-number{ display:inline-block; font-size:.8rem; font-weight:800; color:var(--sage-700); margin-bottom:.6rem; letter-spacing:.06em; }
.service-feature h3{ font-size:1.35rem; margin-bottom:.2rem; color:var(--sage-900); font-weight:700; }
.service-hebrew{ display:block; font-size:.88rem; color:var(--ink-soft); margin-bottom:.85rem; font-weight:500; }
.service-feature p{ color:var(--ink-soft); margin-bottom:1rem; max-width:55ch; line-height:1.75; }
.card-arrow{ font-weight:700; color:var(--sage-800); }
.service-artwork{ width:88px; height:88px; flex:none; justify-self:start; }
@media (min-width:760px){ .service-artwork{ justify-self:center; } }
.service-artwork svg{ width:100%; height:100%; }

/* ============================================================
   Approach cards
   ============================================================ */
.approach-card-grid{ display:grid; gap:1.6rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.approach-card{
  padding:1.9rem 1.6rem; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm); transition:box-shadow .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
}
.approach-card:hover{ background:var(--ivory-deep); box-shadow:var(--shadow-md); border-color:var(--sage-300); }
.approach-card-art{ width:76px; height:76px; margin-bottom:1.3rem; }
.approach-card-art svg{ width:100%; height:100%; }
.approach-card h3{ font-size:1.12rem; margin-bottom:.3rem; color:var(--sage-900); font-weight:700; }
.approach-card span{ display:block; font-size:.82rem; color:var(--ink-soft); margin-bottom:.85rem; font-weight:500; }
.approach-card p{ color:var(--ink-soft); font-size:.96rem; margin-bottom:1rem; line-height:1.7; }
.approach-card strong{ color:var(--sage-800); font-size:.9rem; display:inline-flex; align-items:center; gap:.3rem; }

/* focus topics section */
.focus-section{ background:var(--sage-900); color:#EDE7D6; padding-block:3.6rem; }
.focus-grid{ display:grid; gap:2.4rem; align-items:center; }
@media (min-width:900px){ .focus-grid{ grid-template-columns:.5fr 1fr; } }
.focus-art{ position:relative; height:220px; }
.focus-circle{ position:absolute; inset:10% ; border:2px solid rgba(228,207,160,.35); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.focus-circle span{ width:16px; height:16px; border-radius:50%; background:var(--sand-500); }
.focus-leaf{ position:absolute; width:60px; height:60px; border-radius:50%; background:rgba(156,174,124,.25); }
.focus-leaf-one{ top:0; inset-inline-start:0; } .focus-leaf-two{ bottom:0; inset-inline-end:10%; }
.focus-copy h2{ color:#fff; font-size:var(--fs-h2); line-height:var(--lh-heading); margin-bottom:1.2rem; }
.topic-list{ display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.6rem; }
.topic-list span{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); padding:.45rem .9rem; border-radius:var(--radius-pill); font-size:.85rem; }
.focus-section .button-outline{ color:#fff; border-color:rgba(255,255,255,.5); }
.focus-section .button-outline:hover{ background:#fff; color:var(--sage-900); }

/* home articles */
.home-article-grid{ display:grid; gap:1.3rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.home-article-card{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.5rem; }
.home-article-card:hover{ border-color:var(--sage-300); }
.home-article-category{ display:inline-block; font-size:.74rem; font-weight:800; color:var(--sand-500); text-transform:uppercase; margin-bottom:.6rem; }
.home-article-card h3{ font-size:1.05rem; margin-bottom:.15rem; }
.home-article-card small{ display:block; color:var(--ink-soft); margin-bottom:.6rem; }
.home-article-card p{ color:var(--ink-soft); font-size:.92rem; margin-bottom:.8rem; }
.home-article-card strong{ color:var(--sage-800); font-size:.88rem; }

/* process */
.process-section{ background:var(--ivory-deep); padding-block:3.6rem; }
.process-grid{ display:grid; gap:2.4rem; }
@media (min-width:900px){ .process-grid{ grid-template-columns:1fr 1fr; align-items:center; } }
.process-grid h2{ font-size:var(--fs-h2); line-height:var(--lh-heading); margin-bottom:.8rem; }
.process-grid > div > p{ color:var(--ink-soft); margin-bottom:1.4rem; max-width:44ch; }
.process-grid ol{ display:flex; flex-direction:column; gap:1.1rem; }
.process-grid ol li{ display:flex; gap:1rem; align-items:flex-start; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.1rem 1.3rem; }
.process-grid ol span{ font-weight:800; color:var(--sand-500); font-size:1.1rem; }
.process-grid ol strong{ display:block; color:var(--sage-900); margin-bottom:.15rem; }
.process-grid ol small{ color:var(--ink-soft); }

/* ============================================================
   Page hero (interior pages)
   ============================================================ */
.page-hero{ position:relative; overflow:hidden; background:var(--sage-900); color:#fff; padding-block:3.8rem 3.4rem; }
@media (min-width:760px){ .page-hero{ padding-block:4.8rem 4rem; } }
.page-hero-compact{ padding-block:2.4rem; }
.page-hero-orb{ position:absolute; border-radius:50%; filter:blur(2px); opacity:.35; }
.orb-one{ width:340px; height:340px; background:var(--sage-700); top:-140px; inset-inline-end:-100px; }
.orb-two{ width:220px; height:220px; background:var(--sand-500); bottom:-100px; inset-inline-start:-60px; opacity:.25; }
.page-hero-inner{ position:relative; max-width:760px; }
.page-hero h1{ color:#fff; font-size:var(--fs-h1); line-height:var(--lh-heading); margin-bottom:.8rem; letter-spacing:-.01em; }
.page-hero .hebrew-term{ color:var(--sand-300); margin-top:.3rem; }
.page-lead{ color:#E4E9DC; font-size:1.05rem; margin:1.2rem 0 0; max-width:60ch; line-height:1.75; }

/* symptom / assessment grids */
.symptom-grid, .assessment-map{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin:1.6rem 0; }
.symptom-grid div, .assessment-map article{ background:var(--ivory-deep); border-radius:var(--radius-sm); padding:1.1rem 1.2rem; }
.symptom-grid strong{ display:block; color:var(--sage-900); margin-bottom:.3rem; }
.symptom-grid span{ color:var(--ink-soft); font-size:.92rem; }
.assessment-map span{ font-weight:800; color:var(--sand-500); font-size:.85rem; }
.assessment-map h3{ font-size:1rem; margin:.4rem 0 .3rem; }
.assessment-map p{ color:var(--ink-soft); font-size:.9rem; margin:0; }

.therapy-approach-grid{ display:grid; gap:2rem 1.4rem; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.therapy-approach-card{ text-align:center; transition:opacity .2s var(--ease); }
.therapy-approach-card:hover{ opacity:.7; }
.therapy-approach-card div{ width:76px; height:76px; margin:0 auto .8rem; }
.therapy-approach-card svg{ width:100%; height:100%; }
.therapy-approach-card h3{ font-size:1rem; }
.therapy-approach-card span{ display:block; font-size:.78rem; color:var(--ink-soft); margin-top:.2rem; }
.reverse-accent .sticky-title{ order:2; }
@media(min-width:900px){ .reverse-accent{ grid-template-columns:1.6fr .85fr; } .reverse-accent .sticky-title{ order:2; } .reverse-accent .prose{ order:1; } }
.inline-links{ margin:1rem 0; }
.inline-cta{ margin-top:1.4rem; }

/* moxo */
.moxo-section{ background:var(--sage-900); color:#fff; padding-block:3.6rem; }
.moxo-grid{ display:grid; gap:2.4rem; align-items:center; }
@media (min-width:900px){ .moxo-grid{ grid-template-columns:.7fr 1.3fr; } }
.moxo-visual{ display:flex; justify-content:center; }
.moxo-screen{ position:relative; width:220px; height:220px; border-radius:var(--radius-lg); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.moxo-target{ font-size:2.4rem; color:var(--sand-300); }
.moxo-dot{ position:absolute; width:10px; height:10px; border-radius:50%; background:var(--sand-500); }
.moxo-dot-one{ top:20px; inset-inline-start:26px; } .moxo-dot-two{ bottom:30px; inset-inline-end:24px; } .moxo-dot-three{ top:40%; inset-inline-end:20px; }
.moxo-lines{ position:absolute; inset:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; opacity:.25; }
.moxo-lines i{ background:rgba(255,255,255,.3); border-radius:4px; }
.moxo-copy h2{ color:#fff; font-size:var(--fs-h2); line-height:var(--lh-heading); margin:.3rem 0 .1rem; }
.moxo-copy .opening-paragraph{ color:#fff; font-weight:600; }
.moxo-copy p{ color:#E4E9DC; margin-bottom:1rem; }
.moxo-actions{ display:flex; gap:1.2rem; flex-wrap:wrap; align-items:center; margin-top:1rem; }
.moxo-actions .button-outline{ color:#fff; border-color:rgba(255,255,255,.5); }
.moxo-actions .button-outline:hover{ background:#fff; color:var(--sage-900); }
.moxo-actions .text-link{ color:#fff; }

.assessment-steps ol{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.assessment-steps ol li{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.3rem; }
.assessment-steps ol span{ display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center; background:var(--sage-900); color:#fff; border-radius:50%; font-weight:800; margin-bottom:.6rem; }
.assessment-steps strong{ display:block; margin-bottom:.3rem; color:var(--sage-900); }
.assessment-steps p{ color:var(--ink-soft); font-size:.92rem; margin:0; }

/* ============================================================
   About page
   ============================================================ */
.about-profile-grid{ display:grid; gap:2.4rem; align-items:start; }
@media (min-width:860px){ .about-profile-grid{ grid-template-columns:.75fr 1.25fr; } }
.about-photo-card{ position:relative; aspect-ratio:4/5; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.about-photo-card img{ width:100%; height:100%; object-fit:cover; }
.about-profile-copy h2{ font-size:var(--fs-h2); line-height:var(--lh-heading); margin:.3rem 0 1rem; }

.credentials-list-section{ background:var(--ivory-deep); }

.workplaces-section{ background:var(--sage-900); color:#fff; }
.workplaces-section .workplaces-copy p{ color:#E4E9DC; }
.workplaces-section .workplaces-copy .opening-paragraph{ color:#fff; }
.workplace-tags{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.workplace-tags span{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); padding:.45rem .9rem; border-radius:var(--radius-pill); font-size:.84rem; }

.three-columns{ display:grid; gap:1.3rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-bottom:1rem; }
.three-columns article{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.4rem; }
.three-columns span{ font-weight:800; color:var(--sand-500); }
.three-columns h3{ font-size:1.05rem; margin:.4rem 0; }
.three-columns p{ color:var(--ink-soft); font-size:.92rem; margin:0; }

/* ============================================================
   Approaches detail
   ============================================================ */
.approaches-intro{ background:var(--ivory-deep); padding-block:2.6rem; }
.approaches-intro-grid{ max-width:820px; }
.approaches-intro h2{ font-size:clamp(1.3rem,1.6vw + 1rem,1.7rem); margin-bottom:.9rem; }
.approaches-intro p{ color:var(--ink-soft); }

.approaches-list{ display:flex; flex-direction:column; gap:3rem; }
.approach-detail{ display:grid; gap:2rem; align-items:start; padding-bottom:2.6rem; border-bottom:1px solid var(--line-soft); }
.approach-detail:last-child{ border-bottom:none; }
@media (min-width:860px){ .approach-detail{ grid-template-columns:.32fr .68fr; } .approach-detail-reverse{ grid-template-columns:.68fr .32fr; } .approach-detail-reverse .approach-art{ order:2; } }
.approach-art{ width:96px; height:96px; }
.approach-art svg{ width:100%; height:100%; }
.approach-number{ font-weight:800; color:var(--sand-500); }
.approach-copy h2{ font-size:1.4rem; margin:.3rem 0 .1rem; }
.approach-lead{ font-weight:600; color:var(--sage-800); margin:1rem 0; font-size:1.05rem; }
.approach-copy p{ color:var(--ink-soft); margin-bottom:1rem; }
.approach-suitable{ background:var(--ivory-deep); border-radius:var(--radius-sm); padding:1.1rem 1.3rem; margin:1.2rem 0; }
.approach-suitable strong{ color:var(--sage-900); display:block; margin-bottom:.5rem; }
.approach-suitable li{ position:relative; padding-inline-start:1.3rem; color:var(--ink-soft); margin-bottom:.4rem; font-size:.94rem; }
.approach-suitable li::before{ content:"•"; position:absolute; inset-inline-start:0; color:var(--sand-500); }
.source-link{ display:inline-flex; gap:.4rem; font-size:.85rem; color:var(--sage-800); border-bottom:1px solid var(--line); padding-bottom:2px; }

.approach-choice-section{ background:var(--sage-900); color:#fff; padding-block:3.4rem; }
.approach-choice-grid{ display:grid; gap:1.6rem; }
@media (min-width:900px){ .approach-choice-grid{ grid-template-columns:1fr 1fr; align-items:center; } }
.approach-choice-grid h2{ color:#fff; font-size:var(--fs-h2); line-height:var(--lh-heading); margin-top:.4rem; }
.approach-choice-grid p{ color:#E4E9DC; margin-bottom:1.3rem; }

/* ============================================================
   Knowledge / articles
   ============================================================ */
.knowledge-card-grid{ display:grid; gap:1.6rem 2.4rem; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.knowledge-card{
  padding:1.8rem 1.5rem; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md);
  display:flex; flex-direction:column; gap:.5rem; box-shadow:var(--shadow-sm);
  transition:background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.knowledge-card:hover{ background:var(--ivory-deep); box-shadow:var(--shadow-md); border-color:var(--sage-300); }
.knowledge-card h3{ font-size:1.1rem; margin:.1rem 0; color:var(--sage-900); font-weight:700; }
.knowledge-card small{ display:block; color:var(--ink-soft); font-size:.84rem; font-weight:500; }
.knowledge-card p{ color:var(--ink-soft); font-size:.95rem; margin:.3rem 0; flex:1; line-height:1.7; }
.knowledge-card-meta{ display:flex; justify-content:space-between; align-items:center; font-size:.82rem; color:var(--ink-soft); margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--line); }
.knowledge-card-meta strong{ color:var(--sage-800); font-weight:700; }

/* article page */
.article-hero{ background:var(--sage-900); color:#fff; padding-block:3.4rem 2.8rem; }
@media (min-width:760px){ .article-hero{ padding-block:4.4rem 3.6rem; } }
.article-back{ display:inline-flex; gap:.4rem; color:var(--sand-300); font-weight:700; margin-bottom:1.6rem; font-size:.92rem; }
.article-meta-line{ display:flex; flex-wrap:wrap; gap:1.1rem; font-size:.84rem; color:var(--sand-300); margin-bottom:1.2rem; font-weight:700; letter-spacing:.02em; }
.article-hero h1{ color:#fff; font-size:clamp(1.7rem,2.4vw + 0.9rem,2.35rem); line-height:1.2; margin-bottom:.8rem; }
.article-title-he{ color:var(--sand-300); margin-top:.45rem; }
.article-intro{ color:#E4E9DC; margin-top:1.3rem; max-width:72ch; font-size:1.06rem; line-height:1.78; }

.article-layout{ display:grid; gap:3rem; padding-block:3.2rem; }
@media (min-width:960px){ .article-layout{ grid-template-columns:.7fr 2.3fr; gap:3.4rem; } }
.article-toc{ position:relative; align-self:start; background:var(--ivory-deep); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.8rem; box-shadow:var(--shadow-sm); }
@media (min-width:960px){ .article-toc{ position:sticky; top:110px; } }
.article-toc > span{ font-weight:800; color:var(--sage-900); font-size:.9rem; display:block; margin-bottom:1rem; text-transform:uppercase; letter-spacing:.02em; }
.article-toc ol{ display:flex; flex-direction:column; gap:.7rem; margin-bottom:1.6rem; }
.article-toc a{ font-size:.91rem; color:var(--ink-soft); display:block; padding:.35rem .4rem; transition:color .15s var(--ease); }
.article-toc a:hover{ color:var(--sage-900); }
.article-toc a.button{ color:#fff; font-size:.98rem; padding:.75rem 1.2rem; margin-top:.4rem; }
.article-toc a.button:hover{ color:#fff; }

.article-section{ margin-bottom:3rem; scroll-margin-top:110px; }
.article-section-number{ font-weight:800; color:var(--sand-500); font-size:.9rem; text-transform:uppercase; letter-spacing:.02em; }
.article-section h2{ font-size:1.35rem; margin:.5rem 0 1.1rem; color:var(--sage-900); font-weight:700; }
.article-section p{ color:var(--ink-soft); margin-bottom:1.1rem; line-height:1.8; }
.article-section ul{ display:flex; flex-direction:column; gap:.7rem; margin:0 0 1.2rem; }
.article-section ul li{ position:relative; padding-inline-start:1.5rem; color:var(--ink-soft); }
.article-section ul li::before{ content:"—"; position:absolute; inset-inline-start:0; color:var(--sand-500); font-weight:700; }
.deep-insight{ background:var(--ivory-deep); border-inline-start:4px solid var(--sand-500); border-radius:var(--radius-md); padding:1.4rem 1.5rem; margin:1.8rem 0; box-shadow:var(--shadow-sm); }
.deep-insight strong{ display:block; color:var(--sage-900); margin-bottom:.5rem; font-size:.96rem; font-weight:700; }
.deep-insight p{ margin:0; color:var(--ink-soft); line-height:1.75; }

.article-sources{ margin-top:3.2rem; padding-top:2.4rem; border-top:1px solid var(--line-soft); }
.article-sources h2{ font-size:1.2rem; margin-bottom:1.4rem; color:var(--sage-900); font-weight:700; }
.article-sources ul{ display:flex; flex-direction:column; gap:.85rem; }
.article-sources a{ font-size:.93rem; color:var(--sage-800); border-bottom:1px solid var(--sand-500); padding-bottom:2px; display:inline-flex; gap:.35rem; transition:color .15s var(--ease); }
.article-sources a:hover{ color:var(--sage-900); }

.article-note{ margin-top:2.4rem; background:var(--sage-100); border-radius:var(--radius-md); padding:1.4rem 1.6rem; box-shadow:var(--shadow-sm); }
.article-note strong{ display:block; color:var(--sage-900); margin-bottom:.5rem; font-size:.98rem; font-weight:700; }
.article-note p{ margin:0; color:var(--ink-soft); font-size:.95rem; line-height:1.7; }

.article-next{ background:var(--ivory-deep); padding-block:2.8rem; border-top:1px solid var(--line-soft); }
.article-next-inner{ display:flex; flex-wrap:wrap; gap:1.6rem; justify-content:space-between; align-items:center; }
.article-next-inner span{ color:var(--ink-soft); font-size:.9rem; font-weight:500; }
.article-next-inner h2{ font-size:1.4rem; color:var(--sage-900); }

/* ============================================================
   Lectures / Instagram gallery
   ============================================================ */
.lecture-grid{ display:grid; gap:1.6rem; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.lecture-grid article{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.6rem; box-shadow:var(--shadow-sm);
  transition:background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.lecture-grid article:hover{ background:var(--ivory-deep); box-shadow:var(--shadow-md); border-color:var(--sage-300); }
.lecture-grid span{ font-weight:800; color:var(--sand-500); font-size:.84rem; text-transform:uppercase; letter-spacing:.03em; }
.lecture-grid h3{ font-size:1.08rem; margin:.5rem 0 .5rem; color:var(--sage-900); font-weight:700; }
.lecture-grid p{ color:var(--ink-soft); font-size:.95rem; margin:0; line-height:1.7; }

.fieldwork-section{ background:var(--paper); }
.instagram-gallery{ display:grid; gap:1.3rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.instagram-gallery-compact{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.instagram-card{ position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:4/5; background:linear-gradient(150deg, var(--sage-300), var(--sage-800)); box-shadow:var(--shadow-sm); }
.instagram-card-art{ position:absolute; inset:0; opacity:.5; }
.instagram-card-overlay{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:1.2rem; background:linear-gradient(0deg, rgba(36,53,44,.85), transparent 65%); color:#fff; }
.instagram-kicker{ font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; font-weight:800; color:var(--sand-300); margin-bottom:.4rem; }
.instagram-card-overlay h3{ color:#fff; font-size:1rem; margin-bottom:.2rem; }
.instagram-card-overlay p{ color:#E4E9DC; font-size:.85rem; margin-bottom:.6rem; }
.instagram-placeholder-badge{ position:absolute; top:.9rem; inset-inline-end:.9rem; background:rgba(255,255,255,.16); color:#fff; font-size:.7rem; font-weight:700; padding:.3rem .7rem; border-radius:var(--radius-pill); border:1px solid rgba(255,255,255,.3); }
.instagram-privacy-note{ grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; background:var(--ivory-deep); border-radius:var(--radius-sm); padding:1rem 1.3rem; font-size:.9rem; color:var(--ink-soft); }
.instagram-privacy-note a{ font-weight:700; color:var(--sage-800); }

.lecture-cta-section{ background:var(--sage-900); color:#fff; padding-block:3.6rem; }
.lecture-cta{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.8rem; }
.lecture-cta h2{ color:#fff; font-size:1.65rem; margin:.4rem 0; line-height:1.3; font-weight:700; }
.lecture-cta p{ color:#E4E9DC; max-width:45ch; font-size:1.05rem; line-height:1.75; }

/* ============================================================
   Contact page
   ============================================================ */
.contact-grid{ display:grid; gap:1.6rem; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.contact-card{ display:flex; flex-direction:column; gap:.6rem; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:1.6rem 1.5rem; box-shadow:var(--shadow-sm);
  transition:background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.contact-card-action:hover{ background:var(--ivory-deep); box-shadow:var(--shadow-md); border-color:var(--sage-300); }
.contact-label{ font-size:.77rem; font-weight:800; text-transform:uppercase; color:var(--sand-500); letter-spacing:.04em; }
.contact-card strong{ font-size:1.08rem; color:var(--sage-900); font-weight:700; }
.contact-card small{ color:var(--ink-soft); font-size:.88rem; }
.contact-card-static{ background:var(--paper); border:1px solid var(--line-soft); }
.before-contact-card{ max-width:70ch; background:var(--ivory-deep); border-radius:var(--radius-lg); padding:2.2rem 2.4rem; border:1px solid var(--line-soft); }
.before-contact-card h2{ font-size:1.3rem; margin-bottom:1.3rem; }
.before-contact-card .clean-list{ margin-bottom:1.6rem; }
.before-contact-card .actions{ display:flex; gap:1rem; flex-wrap:wrap; }

.contact-panel{ background:var(--sage-900); color:#fff; border-radius:var(--radius-lg); padding:2rem 1.9rem; }
.contact-panel h2{ color:#fff; font-size:1.25rem; margin-bottom:1rem; }
.contact-panel ul{ display:flex; flex-direction:column; gap:.8rem; margin-bottom:1.6rem; }
.contact-panel li{ position:relative; padding-inline-start:1.3rem; color:#E4E9DC; font-size:.92rem; }
.contact-panel li::before{ content:"–"; position:absolute; inset-inline-start:0; color:var(--sand-300); }
.contact-panel-actions{ display:flex; flex-direction:column; gap:.9rem; align-items:flex-start; }
.contact-panel .button-light{ width:100%; justify-content:center; }

/* ============================================================
   Footer
   ============================================================ */
.site-footer{ background:var(--sage-900); color:#EDE7D6; padding-top:3.4rem; }
.footer-grid{ display:grid; gap:2.2rem; padding-bottom:2.4rem; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-grid-wide{ grid-template-columns:1fr; }
@media (min-width:760px){ .footer-grid-wide{ grid-template-columns:1.3fr 1fr 1fr 1fr; } }
.footer-intro{ display:flex; flex-direction:column; gap:.5rem; }
.footer-mark{ width:46px; height:46px; margin-bottom:.4rem; }
.footer-mark svg{ width:100%; height:100%; }
.footer-intro h2{ color:#fff; font-size:1.2rem; }
.footer-intro p{ color:var(--sand-300); font-weight:700; font-size:.92rem; }
.footer-intro small{ color:#B9C4B4; }
.site-footer h3{ color:#fff; font-size:.9rem; margin-bottom:1rem; }
.site-footer a{ display:block; color:#D7DECB; font-size:.9rem; margin-bottom:.7rem; }
.site-footer a:hover{ color:#fff; }
.site-footer p{ color:#B9C4B4; font-size:.85rem; margin-top:.4rem; }
.footer-bottom{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:space-between; padding-block:1.4rem; font-size:.8rem; color:#AAB6A4; }
.footer-bottom a{ display:inline; color:#AAB6A4; margin:0; }
.footer-bottom a:hover{ color:#fff; }

/* floating whatsapp */
.floating-contact{
  position:fixed; bottom:22px; inset-inline-end:22px; z-index:120;
  display:flex; align-items:center; justify-content:center; gap:.5rem; background:#25D366; color:#fff;
  padding:.85rem 1.15rem; border-radius:var(--radius-pill); box-shadow:var(--shadow-lg); font-weight:700; font-size:.9rem;
  transition:background .18s var(--ease), transform .18s var(--ease);
}
.floating-contact svg{ width:24px; height:24px; flex:none; }
.floating-contact:hover{ background:#1EBE5A; transform:translateY(-1px); }
.floating-contact:focus-visible{ outline:3px solid var(--sage-900); outline-offset:3px; }

/* not found */
.not-found{ min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center; padding-block:4rem; }
.not-found span{ font-size:.92rem; font-weight:800; color:var(--sand-500); letter-spacing:.04em; text-transform:uppercase; }
.not-found h1{ font-size:clamp(2.2rem,4vw,2.8rem); margin:.8rem 0 1.2rem; color:var(--sage-900); }
.not-found p{ color:var(--ink-soft); margin-bottom:2rem; font-size:1.05rem; max-width:48ch; }

/* legal / narrow prose pages */
.prose-long h2{ font-size:1.25rem; margin:2rem 0 .9rem; color:var(--sage-900); font-weight:700; }
.prose-long h2:first-child{ margin-top:0; }
.prose-long p{ color:var(--ink-soft); margin-bottom:1.1rem; line-height:1.8; }

/* language landing (root) */
.lang-landing{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--ivory); padding:2rem; }
.lang-landing-inner{ text-align:center; }
.lang-landing-inner .brand-mark{ display:block; width:60px; height:60px; margin:0 auto 1.8rem; }
.lang-landing-links{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.lang-landing-link{
  display:inline-block; padding:.85rem 2.2rem; border-radius:var(--radius-pill); border:1px solid var(--sage-900);
  color:var(--sage-900); font-weight:700; font-size:1.02rem; transition:background .2s var(--ease), color .2s var(--ease);
}
.lang-landing-link:hover{ background:var(--sage-900); color:#fff; }

/* print */
@media print{ .site-header,.site-footer,.floating-contact,.mobile-nav{ display:none !important; } }

/* ============================================================
   Final refinements: contact icons + GEFEN programmes
   ============================================================ */
.contact-card-icon{
  width:2.65rem;
  height:2.65rem;
  display:grid;
  place-items:center;
  color:var(--sage-800);
  background:var(--sage-100);
  border-radius:50%;
  margin-bottom:.55rem;
}
.contact-card-icon svg{ width:1.35rem; height:1.35rem; }
.contact-card-primary{ background:var(--sage-900); }
.contact-card-primary .contact-card-icon{ color:#fff; background:rgba(255,255,255,.16); }
.contact-card h3{ margin:.2rem 0 .15rem; font-size:1.05rem; }
.contact-card p{ margin:0; color:var(--ink-soft); }
.contact-card-primary p,.contact-card-primary h3{ color:#fff; }

.gefen-section{ background:var(--sage-800); color:#fff; padding-block:3.6rem; }
.gefen-card{ display:grid; gap:2rem; align-items:center; }
.gefen-card h2{ color:#fff; margin:.5rem 0 .8rem; font-size:clamp(1.45rem,2.4vw,2.05rem); }
.gefen-card p{ color:#E3E9DF; max-width:68ch; margin:0; line-height:1.85; }
.gefen-codes{ background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-md); padding:1.3rem 1.4rem; }
.gefen-codes>span{ display:block; font-size:.78rem; color:var(--sand-300); font-weight:700; margin-bottom:.7rem; }
.gefen-codes>div{ display:flex; gap:.7rem; flex-wrap:wrap; }
.gefen-codes strong{ display:inline-flex; align-items:center; justify-content:center; min-width:7rem; padding:.75rem 1rem; border-radius:var(--radius-pill); background:var(--paper); color:var(--sage-900); font-size:1.15rem; letter-spacing:.04em; }
@media (min-width:820px){ .gefen-card{ grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr); } }

/* ============================================================
   V10 — about page: profile first, quiet highlights, mobile polish
   Direction 5: White background with strong dark text contrast
   ============================================================ */
.about-hero{
  position:relative;
  overflow:hidden;
  background:var(--paper);
  color:var(--ink);
  padding-block:3rem;
}
.about-hero-orb{
  position:absolute;
  width:32rem;
  height:32rem;
  border-radius:50%;
  inset-inline-end:-14rem;
  top:-17rem;
  background:radial-gradient(circle, rgba(199,169,107,.12), transparent 66%);
  pointer-events:none;
}
.about-hero-grid{
  position:relative;
  display:grid;
  gap:2rem;
  align-items:center;
}
.about-hero-name{
  color:var(--sage-900);
  font-size:var(--fs-hero);
  line-height:var(--lh-heading);
  margin-bottom:.3rem;
  font-weight:700;
}
.about-hero-role{
  color:var(--sage-800);
  font-weight:700;
  font-size:1.05rem;
  margin-bottom:.9rem;
}
.about-hero-tagline{
  color:var(--sage-900);
  font-size:1.1rem;
  font-weight:600;
  max-width:32ch;
  margin-bottom:.7rem;
}
.about-hero-lead{
  color:var(--ink-soft);
  font-size:1.02rem;
  max-width:62ch;
  line-height:1.8;
}
.about-facts{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.25rem;
}
.about-facts span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:.38rem .78rem;
  border-radius:var(--radius-pill);
  color:var(--sage-900);
  background:var(--ivory-deep);
  border:1px solid var(--line);
  font-size:.82rem;
  font-weight:700;
}
.about-hero-actions{ margin-top:1.45rem; margin-bottom:0; }
.about-identity-card{
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--ivory-deep);
  border:1px solid var(--line-soft);
  box-shadow:var(--shadow-md);
}
.about-identity-photo{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--sage-100);
}
.about-identity-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}
.about-identity-copy{
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding:1.15rem 1.25rem 1.3rem;
}
.about-identity-copy strong{ color:var(--sage-900); font-size:1.1rem; font-weight:700; }
.about-identity-copy span{ color:var(--sage-800); font-weight:700; font-size:.9rem; }
.about-identity-copy small{ color:var(--ink-soft); line-height:1.55; margin-top:.3rem; }

.about-intro-grid{
  display:grid;
  gap:2rem;
  align-items:start;
}
.about-intro-symbol{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  padding:14px;
  color:var(--sage-700);
  background:var(--sage-100);
  border-radius:34% 66% 55% 45% / 44% 35% 65% 56%;
}
.about-intro-symbol svg{ width:100%; height:100%; }

.credentials-list{ display:flex; flex-direction:column; }
.credential-row{
  display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:start;
  padding-block:1.5rem; border-block-end:1px solid var(--line);
}
.credentials-list .credential-row:last-child{ border-block-end:none; }
.credential-row-head{ display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-bottom:.3rem; }
.credential-row-head h3{ font-size:1.05rem; margin:0; }
.credential-row-copy p{ color:var(--ink-soft); font-size:.94rem; margin:0; max-width:56ch; }
.credential-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  flex:none;
  border-radius:50%;
  color:var(--sage-800);
  background:var(--sage-100);
}
.credential-icon svg{ width:26px; height:26px; }
.section-icon{
  width:44px; height:44px; display:grid; place-items:center; flex:none;
  border-radius:50%; color:var(--sage-800); background:var(--sage-100); margin-bottom:.9rem;
}
.section-icon svg{ width:24px; height:24px; }
.credential-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:.2rem .65rem;
  border-radius:var(--radius-pill);
  background:#F2E5C4;
  color:var(--sage-900);
  font-size:.74rem;
  font-weight:800;
  white-space:nowrap;
}


.about-credentials-early{
  border-top:1px solid var(--line);
}

@media (min-width:880px){
  .about-hero{ padding-block:4rem; }
  .about-hero-grid{ grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:4rem; }
  .about-intro-grid{ grid-template-columns:130px minmax(0,1fr); gap:3.2rem; }
  .about-intro-symbol{ position:sticky; top:110px; width:112px; height:112px; }
}

@media (max-width:759px){
  .text-link{ padding-block:.55rem; margin-block:-.55rem; }
  .footer-bottom{ gap:1rem 1.4rem; }
  .footer-bottom a{ display:inline-block; padding-block:.4rem; }
  .container{ padding-inline:18px; }
  .header-inner{ gap:.65rem; }
  .brand-copy small{ display:none; }
  .brand-mark{ width:44px; height:44px; }
  .lang-switch a{ padding:.42rem .64rem; }
  .hero{ padding-block:2.5rem 2.4rem; }
  .hero-grid{ gap:2rem; }
  .hero .lead{ font-size:.98rem; }
  .visual-note{ align-items:center; flex-wrap:wrap; }
  .section{ padding-block:3.2rem; }
  .about-hero{ padding-block:2.2rem; }
  .about-hero-grid{ gap:1.5rem; }
  .about-identity-card{ max-width:420px; }
  .about-hero-lead{ font-size:.96rem; }
  .about-facts{ gap:.45rem; }
  .about-facts span{ font-size:.77rem; }
  .about-intro-symbol{ width:72px; height:72px; padding:11px; }
  .credential-row{ padding-block:1.2rem; }
  .floating-contact{
    width:56px; height:56px; padding:0; bottom:calc(16px + env(safe-area-inset-bottom, 0px));
    inset-inline-end:calc(16px + env(safe-area-inset-end, 0px));
  }
  .floating-contact svg{ width:28px; height:28px; }
  .floating-contact span{ display:none; }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-card{ padding:1.15rem; }
}
.visual-location{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:var(--sage-900);
  font-weight:700;
}
.visual-location:hover{ color:var(--sage-700); }
.visual-location-icon{ width:1.05rem; height:1.05rem; display:inline-flex; }
.visual-location-icon svg{ width:100%; height:100%; }


/* ============================================================
   Forms hub — V19
   ============================================================ */
.forms-hero .page-hero-inner{ max-width:780px; }
.forms-shell{ max-width:900px; display:grid; gap:1.35rem; }
.form-feature-card{
  display:grid;
  gap:1.45rem;
  align-items:start;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1.35rem;
  box-shadow:var(--shadow-md);
}
.form-feature-icon{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:var(--ivory);
  border:1px solid var(--line-soft);
}
.form-feature-icon svg{ width:82px; height:82px; }
.form-feature-copy h2{ font-size:var(--fs-h2); margin:.7rem 0 .65rem; }
.form-card-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.form-status,.form-external-label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.25rem .75rem;
  border-radius:var(--radius-pill);
  font-size:.78rem;
  font-weight:700;
}
.form-status{ background:var(--sage-100); color:var(--sage-900); }
.form-external-label{ background:var(--ivory-deep); color:var(--ink-soft); border:1px solid var(--line-soft); }
.form-card-note{ margin-top:.75rem; color:var(--ink-soft); }
.form-open-button{ margin-top:1.15rem; }
.forms-info-grid{ display:grid; gap:1.5rem; align-items:start; }
.forms-clean-list{ margin-top:1.25rem; }
.future-forms-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1.35rem;
  box-shadow:var(--shadow-sm);
}
.future-forms-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--sage-100);
  color:var(--sage-900);
  font-size:1.45rem;
  font-weight:500;
  margin-bottom:.9rem;
}
.future-forms-card h3{ margin-bottom:.45rem; }
.future-forms-card p{ color:var(--ink-soft); }
.assessment-final-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }
@media (min-width:720px){
  .form-feature-card{ grid-template-columns:120px minmax(0,1fr); gap:2rem; padding:2rem; }
  .form-feature-icon{ width:112px; height:112px; }
  .form-feature-icon svg{ width:96px; height:96px; }
  .forms-info-grid{ grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:2.5rem; }
}
@media (max-width:480px){
  .form-feature-card{ padding:1.1rem; }
  .form-open-button{ width:100%; justify-content:center; }
  .form-card-meta{ gap:.4rem; }
}

/* ============================================================
   Direction 5: Article Content (Narrow Reading Width)
   ============================================================ */
.article-content{
  max-width:var(--maxw-narrow);
  margin:0 auto;
  padding:2rem;
}

.article-content h1{
  color:var(--sage-900);
  font-size:var(--fs-h1);
  margin-bottom:1rem;
}

.article-content h2{
  color:var(--sage-900);
  font-size:var(--fs-h2);
  margin-top:2rem;
  margin-bottom:1rem;
}

.article-content p{
  color:var(--ink);
  line-height:1.85;
  margin-bottom:1.2rem;
}

.article-toc{
  background:var(--ivory);
  border-inline-start:3px solid var(--sand-500);
  padding:1.5rem;
  border-radius:var(--radius-md);
  margin-bottom:2rem;
}

.article-toc h3{
  color:var(--sage-900);
  margin-bottom:0.8rem;
  font-size:1rem;
}

.article-toc ul{
  list-style:none;
  padding:0;
  margin:0;
}

.article-toc li{
  margin-bottom:0.5rem;
}

.article-toc a{
  color:var(--sand-500);
  text-decoration:none;
  transition:color 0.2s var(--ease);
}

.article-toc a:hover{
  color:var(--sage-900);
}

/* ============================================================
   Direction 5: Legal & Accessibility Content (Narrow Reading Width)
   ============================================================ */
.legal-content{
  max-width:var(--maxw-narrow);
  margin:0 auto;
  padding:2rem;
}

.legal-content h1{
  color:var(--sage-900);
  font-size:var(--fs-h1);
  margin-bottom:1.5rem;
}

.legal-content h2{
  color:var(--sage-900);
  font-size:var(--fs-h2);
  margin-top:2rem;
  margin-bottom:1rem;
}

.legal-content p{
  color:var(--ink);
  line-height:1.85;
  margin-bottom:1.2rem;
}

.legal-content ul,
.legal-content ol{
  color:var(--ink);
  line-height:1.85;
  margin-bottom:1.2rem;
}

.legal-content li{
  margin-bottom:0.6rem;
}

@media (min-width:768px){
  .article-content{ padding:3rem 2rem; }
  .legal-content{ padding:3rem 2rem; }
}
