/* ============================================================
   Добрі руки — сайт центру дитячої реабілітації (Вінниця)
   Дизайн-токени взято з брендбуку (brandbook.css).
   Шрифти: Fraunces (заголовки/цитати), Manrope (інтерфейс/тіло).
   ============================================================ */

:root{
  --bg:#F1EEE6;            /* молоко */
  --bg-warm:#E8E3D6;
  --paper:#F7F4ED;
  --ink:#16191C;
  --ink-soft:#2E333A;
  --ink-mute:#6B6F75;
  --rule:rgba(22,25,28,0.14);
  --rule-soft:rgba(22,25,28,0.07);

  /* Палітра з логотипу */
  --blue-deep:#2F5A7A;    /* «Море» */
  --blue-sky:#6FA3B8;     /* «Небо» */
  --green-sage:#7E8F71;
  --terracotta:#C97E5A;
  --sand:#E8C9A8;
  --cream:#F1EEE6;

  /* Зональні кольори (система навігації центру) */
  --z-motor:#2F5A7A;      /* моторна */
  --z-sensory:#7E8F71;    /* сенсорна */
  --z-medical:#C97E5A;    /* медична */
  --z-consult:#6FA3B8;    /* консультативна */
  --z-admin:#E8C9A8;      /* адмін */

  --serif:'Fraunces','Times New Roman',serif;
  --sans:'Manrope',system-ui,sans-serif;
  --logo:'Montserrat','Manrope',system-ui,sans-serif;

  --header-h:76px;
  --maxw:1280px;
  --gutter:clamp(20px,5vw,80px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{
  background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body{overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}

/* Тонке паперове зерно фону, як у брендбуку */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:radial-gradient(rgba(0,0,0,0.022) 1px,transparent 1px);
  background-size:3px 3px;mix-blend-mode:multiply;opacity:0.55;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);width:100%}

/* ——— Доступність ——— */
.skip-link{
  position:absolute;left:12px;top:-60px;z-index:200;
  background:var(--ink);color:#fff;padding:12px 20px;border-radius:6px;
  font-weight:600;font-size:14px;transition:top .18s ease;
}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--blue-deep);outline-offset:3px;border-radius:2px}

/* ============================================================
   ХЕДЕР
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(241,238,230,0.86);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--rule-soft);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:var(--header-h);
}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand .brand-mark{width:40px;height:40px;flex-shrink:0;object-fit:contain}
.brand .brand-name{
  font-family:var(--logo);font-weight:800;font-size:20px;letter-spacing:-0.01em;
  line-height:1;color:var(--ink);
}
.brand .brand-name em{font-style:normal;font-weight:800;color:inherit}

.main-nav ul{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}
.main-nav a{
  font-size:14px;font-weight:500;color:var(--ink-soft);letter-spacing:0.01em;
  padding:6px 0;position:relative;transition:color .16s ease;
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;
  background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
.main-nav a:hover{color:var(--ink)}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1)}

.header-cta{display:flex;align-items:center;gap:14px;flex-shrink:0}

/* Кнопки */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:0.01em;
  padding:13px 26px;border-radius:999px;border:1.5px solid transparent;
  transition:transform .14s ease,background .18s ease,color .18s ease,border-color .18s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--blue-deep);color:#F5F1EA}
.btn-primary:hover{background:#264a66}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(22,25,28,0.03)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--paper)}
.btn-lg{padding:16px 34px;font-size:16px}
.btn .arrow{transition:transform .18s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* Бургер + мобільне меню */
.nav-toggle{
  display:none;width:46px;height:46px;border:1px solid var(--rule);border-radius:10px;
  background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .22s ease,opacity .18s ease}
.mobile-menu{
  position:fixed;inset:0;z-index:150;background:var(--bg);
  display:flex;flex-direction:column;padding:24px var(--gutter) 40px;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);visibility:hidden;
}
.mobile-menu.open{transform:translateX(0);visibility:visible}
.mobile-menu .mm-top{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.mm-close{width:46px;height:46px;border:1px solid var(--rule);border-radius:10px;background:transparent;font-size:26px;line-height:1;color:var(--ink)}
.mobile-menu nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.mobile-menu nav a{
  font-family:var(--serif);font-weight:400;font-size:clamp(30px,8vw,46px);letter-spacing:-0.02em;
  padding:14px 0;border-bottom:1px solid var(--rule-soft);font-variation-settings:"opsz" 60;
  display:flex;align-items:baseline;gap:16px;
}
.mobile-menu nav a .mm-num{font-size:13px;font-family:var(--sans);color:var(--ink-mute);font-weight:600;letter-spacing:0.1em}
.mobile-menu .mm-foot{margin-top:24px}
.mobile-menu .btn{width:100%}

/* ============================================================
   ТИПОГРАФІКА / СЕКЦІЇ
   ============================================================ */
section{position:relative;z-index:2}
.section{padding:clamp(64px,9vw,120px) 0}
.section-tight{padding:clamp(48px,6vw,80px) 0}

.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:11px;
  letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-mute);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--terracotta)}

h1,h2,h3{font-family:var(--serif)}
.display{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(44px,7vw,104px);line-height:0.96;letter-spacing:-0.035em;
  font-variation-settings:"opsz" 144;
}
.display em{font-style:italic}
.h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,4.6vw,68px);line-height:1.02;letter-spacing:-0.025em;
  font-variation-settings:"opsz" 144;
}
.h2 em{font-style:italic;font-weight:300;color:var(--ink-soft)}
.h3{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(21px,2.1vw,30px);line-height:1.15;letter-spacing:-0.015em;
  font-variation-settings:"opsz" 36;
}
.h3 em{font-style:italic;font-weight:300;color:var(--ink-soft)}
.lead{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(20px,2.3vw,30px);line-height:1.4;color:var(--ink-soft);
  font-variation-settings:"opsz" 36;
}
.body{font-size:16px;line-height:1.75;color:var(--ink-soft);max-width:62ch}
.muted{color:var(--ink-mute)}

.section-head{display:flex;flex-direction:column;gap:18px;max-width:760px}
.section-head .h2{margin-top:4px}

/* ============================================================
   ГЕРОЙ
   ============================================================ */
.hero{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(48px,7vw,96px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-copy{max-width:620px}
.hero-copy .display{margin-top:22px}
.hero-copy .hero-sub{margin-top:26px;max-width:46ch;font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--ink-soft)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-trust{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center}
.hero-trust .item{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-mute);font-weight:500}
.hero-trust .item .d{width:7px;height:7px;border-radius:50%}

.hero-figure{
  position:relative;border-radius:14px;
  aspect-ratio:1/1;overflow:hidden;
  box-shadow:0 30px 60px -34px rgba(22,25,28,0.45);
}
.hero-figure img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-figure .tag{
  position:absolute;left:18px;top:18px;z-index:3;
  font-family:var(--sans);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(22,25,28,0.55);font-weight:600;
}

/* ============================================================
   ТРИ ПЕРЕКОНАННЯ
   ============================================================ */
.beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(40px,5vw,60px)}
.belief{background:var(--bg);padding:clamp(28px,3vw,40px) clamp(24px,2.5vw,34px);position:relative;display:flex;flex-direction:column}
.belief .b-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:15px;color:var(--ink-mute)}
.belief .b-dot{position:absolute;top:clamp(28px,3vw,40px);right:clamp(24px,2.5vw,34px);width:12px;height:12px;border-radius:50%}
.belief h3{margin-top:18px;font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.3vw,30px);line-height:1.12;letter-spacing:-0.015em;font-variation-settings:"opsz" 36}
.belief h3 em{font-style:italic;font-weight:300;color:var(--ink-soft)}
.belief p{margin-top:14px;font-size:14.5px;line-height:1.62;color:var(--ink-soft);max-width:34ch}

/* ============================================================
   П'ЯТЬ ЗОН
   ============================================================ */
.zones-section{background:var(--bg-warm)}
.zones{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:clamp(40px,5vw,56px)}
.zone{
  position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:30px;
  min-height:300px;padding:26px 24px;border-radius:12px;color:#fff;overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.zone:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(22,25,28,0.5)}
.zone.motor{background:var(--z-motor)}
.zone.sensory{background:var(--z-sensory)}
.zone.medical{background:var(--z-medical)}
.zone.consult{background:var(--z-consult)}
.zone.admin{background:var(--z-admin);color:var(--ink)}
.zone .z-no{font-family:var(--serif);font-style:italic;font-weight:300;font-size:16px;opacity:0.8}
.zone .z-name{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.7vw,24px);line-height:1.12;font-variation-settings:"opsz" 36}
.zone .z-desc{font-size:13px;line-height:1.5;opacity:0.92;margin-top:8px}
.zone .z-go{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;opacity:0.9}
.zone .z-top{display:flex;flex-direction:column}

/* ============================================================
   ЛУЇ
   ============================================================ */
.lui-section{}
.lui-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center}
.lui-figure{
  position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1;
  box-shadow:0 30px 60px -36px rgba(47,90,122,0.55);
}
.lui-figure img{width:100%;height:100%;object-fit:cover}
.lui-copy .h2{margin-top:16px}
.lui-copy .body{margin-top:22px}
.lui-copy .btn{margin-top:30px}

/* ============================================================
   МАРШРУТ ПЕРШОГО ДНЯ
   ============================================================ */
.route-section{background:var(--blue-deep);color:var(--bg)}
.route-section .eyebrow{color:rgba(255,255,255,0.7)}
.route-section .eyebrow::before{background:var(--sand)}
.route-section .h2{color:#fff}
.route-section .h2 em{color:var(--sand)}
.route-section .section-head .body{color:rgba(255,255,255,0.82)}
/* моторна смуга — того ж синього, що фон; робимо світлішою, щоб було видно */
.route-section .route-step.motor .rs-bar{background:var(--blue-sky)}
.route-steps{display:grid;grid-template-columns:repeat(6,1fr);margin-top:clamp(44px,5vw,64px);border-top:1px solid rgba(255,255,255,0.16)}
.route-step{padding:26px 18px 10px;position:relative;display:flex;flex-direction:column;gap:12px;border-right:1px solid rgba(255,255,255,0.1)}
.route-step:last-child{border-right:none}
.route-step .rs-bar{position:absolute;top:-1px;left:0;width:46px;height:3px}
.route-step.motor .rs-bar{background:var(--z-motor)}
.route-step.admin .rs-bar{background:var(--z-admin)}
.route-step.medical .rs-bar{background:var(--z-medical)}
.route-step.sensory .rs-bar{background:var(--z-sensory)}
.route-step.consult .rs-bar{background:var(--z-consult)}
.route-step .rs-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:30px;color:rgba(255,255,255,0.45);line-height:1;font-variation-settings:"opsz" 60}
.route-step .rs-ttl{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.18;color:#fff;font-variation-settings:"opsz" 24}
.route-step .rs-desc{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,0.6)}
.route-foot{margin-top:clamp(40px,4vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between}
.route-foot .lui-mini{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,0.7);font-family:var(--serif);font-style:italic;font-size:17px}
.route-foot .lui-mini img{width:54px;height:54px;border-radius:50%;background:var(--blue-sky);object-fit:cover;object-position:top}

/* ============================================================
   КОМАНДА (тизер)
   ============================================================ */
.team-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:clamp(40px,4vw,56px)}
.member{display:flex;flex-direction:column}
.member .photo{
  aspect-ratio:3/3.6;border-radius:12px;overflow:hidden;position:relative;
  display:flex;align-items:flex-end;justify-content:center;
}
.member .photo.a{background:linear-gradient(150deg,var(--blue-sky),var(--blue-deep))}
.member .photo.b{background:linear-gradient(150deg,var(--sand),var(--terracotta))}
.member .photo.c{background:linear-gradient(150deg,var(--green-sage),#5d6e51)}
.member .photo.d{background:linear-gradient(150deg,var(--blue-sky),#4d7e94)}
.member .photo .ph-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.7);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;text-align:center;padding:16px}
/* тепле повідомлення «команда скоро» — читабельний варіант, не капсом */
.member .photo .ph-soon{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(16px,1.5vw,19px);letter-spacing:0;text-transform:none;line-height:1.35;color:#fff;padding:24px;font-variation-settings:"opsz" 36}
.member .m-name{font-family:var(--serif);font-weight:500;font-size:21px;margin-top:16px;line-height:1.1;font-variation-settings:"opsz" 36}
.member .m-role{font-size:13px;color:var(--terracotta);font-weight:600;letter-spacing:0.04em;margin-top:6px}
.member .m-bio{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin-top:10px}

/* ============================================================
   ЗАПИС + КАРТА
   ============================================================ */
.cta-section{background:var(--bg-warm)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:stretch}
.cta-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:clamp(32px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.cta-card .h2{font-size:clamp(30px,3.6vw,52px)}
.cta-card .body{margin-top:20px}
.cta-card .hero-actions{margin-top:30px}
.contact-list{margin-top:30px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--rule)}
.contact-list .ci{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule-soft);align-items:baseline}
.contact-list .ci .k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}
.contact-list .ci .v{font-size:15.5px;color:var(--ink);font-weight:500}
.contact-list .ci .v a:hover{color:var(--blue-deep)}
.map-card{border-radius:14px;overflow:hidden;border:1px solid var(--rule);min-height:380px;position:relative;background:var(--bg)}
.map-card iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(0.2) contrast(0.96)}

/* ============================================================
   ФУТЕР
   ============================================================ */
.site-footer{background:var(--blue-deep);color:rgba(255,255,255,0.75);padding:clamp(64px,7vw,96px) 0 36px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.footer-brand .brand-name{color:#fff}
.footer-brand .brand-name em{color:#fff}
.footer-slogan{font-family:var(--serif);font-weight:300;font-style:italic;font-size:19px;line-height:1.4;color:rgba(255,255,255,0.82);margin-top:24px;max-width:34ch;font-variation-settings:"opsz" 36}
.footer-col h4{font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(255,255,255,0.62);margin-bottom:18px}
.footer-col ul{display:flex;flex-direction:column;gap:11px}
.footer-col a,.footer-col .fi{font-size:14.5px;color:rgba(255,255,255,0.72);transition:color .16s ease}
.footer-col a:hover{color:#fff}
.footer-col .fi{display:block}
.footer-bottom{margin-top:clamp(48px,5vw,72px);padding-top:26px;border-top:1px solid rgba(255,255,255,0.2);display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center;font-size:12.5px;color:rgba(255,255,255,0.62)}
.footer-bottom .fb-meta{display:flex;flex-wrap:wrap;gap:8px 22px}

/* ============================================================
   COOKIE-БАНЕР
   ============================================================ */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:130;max-width:640px;margin:0 auto;
  background:var(--ink);color:#fff;border-radius:14px;padding:20px 22px;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;
  box-shadow:0 24px 50px -20px rgba(0,0,0,0.5);transform:translateY(140%);transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,0.82);flex:1;min-width:240px}
.cookie-banner a{text-decoration:underline;color:#fff}
.cookie-banner .ck-actions{display:flex;gap:10px}
.cookie-banner .btn{padding:10px 20px;font-size:14px}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1080px){
  .zones{grid-template-columns:repeat(3,1fr)}
  .zones .zone:nth-child(4),.zones .zone:nth-child(5){grid-column:span 1}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .route-steps{grid-template-columns:repeat(3,1fr);border-top:none}
  .route-step{border:1px solid rgba(255,255,255,0.12);border-radius:8px;margin-top:14px}
  .route-step .rs-bar{border-radius:8px 8px 0 0}
}
@media (max-width:900px){
  .main-nav,.header-cta .btn{display:none}
  .nav-toggle{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-figure{max-width:440px;margin:0 auto;width:100%}
  .lui-grid{grid-template-columns:1fr;gap:32px}
  .lui-figure{max-width:420px}
  .beliefs{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:560px){
  .zones{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .route-steps{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .contact-list .ci{grid-template-columns:1fr;gap:2px}
  .hero-actions .btn{flex:1}
}

/* ——— prefers-reduced-motion: вимикає анімації глобально ——— */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
}

/* ——— Поява секцій при скролі ——— */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ============================================================
   ВНУТРІШНІ СТОРІНКИ — спільний хедер сторінки
   ============================================================ */
.page-hero{padding:clamp(48px,7vw,96px) 0 clamp(32px,4vw,56px)}
.page-hero .display{margin-top:20px;max-width:16ch}
.page-hero .page-lead{margin-top:26px;max-width:54ch;font-size:clamp(18px,1.8vw,22px);line-height:1.55;color:var(--ink-soft)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--ink-mute);margin-bottom:6px}
.breadcrumbs a:hover{color:var(--ink)}
.breadcrumbs .sep{opacity:0.5}

/* ============================================================
   PRO-CENTR — текстова сторінка
   ============================================================ */
.prose-section{padding:clamp(40px,5vw,72px) 0}
.manifesto-block{
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:clamp(48px,7vw,96px) 0;
}
.manifesto{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(30px,5vw,66px);line-height:1.12;letter-spacing:-0.025em;
  font-variation-settings:"opsz" 96;max-width:18ch;
}
.manifesto em{font-style:italic}
.manifesto .a-blue{color:var(--blue-deep);font-style:italic}
.manifesto .a-green{color:var(--green-sage);font-style:italic}
.manifesto .a-terra{color:var(--terracotta);font-style:italic}
.manifesto .a-sky{color:var(--blue-sky);font-style:italic}
.manifesto-cap{
  margin-top:36px;font-family:var(--sans);font-size:11px;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--ink-mute);font-weight:500;line-height:1.85;max-width:40ch;
}

.text-two-col{display:grid;grid-template-columns:1fr 2fr;gap:clamp(40px,6vw,110px);align-items:start}
.text-two-col .label{
  font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ink-mute);padding-top:8px;border-top:2px solid var(--ink);max-width:220px;
}
.text-two-col .copy p{margin-bottom:18px;font-size:16.5px;line-height:1.78;color:var(--ink-soft);max-width:60ch}
.text-two-col .copy p.lead-p{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(21px,2.3vw,30px);line-height:1.4;color:var(--ink);
  font-variation-settings:"opsz" 36;margin-bottom:28px;max-width:26ch;
}
.text-two-col .copy strong{color:var(--ink);font-weight:600}

.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px)}
.mv-grid .mv .body-serif{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(19px,2.1vw,26px);line-height:1.36;margin-top:14px;color:var(--ink);
  font-variation-settings:"opsz" 36;
}

/* Шість цінностей */
.values-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(36px,4vw,52px)}
.value-cell{background:var(--bg);padding:clamp(26px,3vw,36px) clamp(22px,2.5vw,30px);position:relative;display:flex;flex-direction:column;min-height:230px}
.value-cell .vc-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:15px;color:var(--ink-mute)}
.value-cell .vc-dot{position:absolute;top:clamp(26px,3vw,36px);right:clamp(22px,2.5vw,30px);width:12px;height:12px;border-radius:50%}
.value-cell h3{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:clamp(21px,2vw,27px);line-height:1.12;letter-spacing:-0.01em;font-variation-settings:"opsz" 36}
.value-cell h3 em{font-style:italic;font-weight:300;color:var(--ink-soft)}
.value-cell p{margin-top:13px;font-size:14px;line-height:1.6;color:var(--ink-soft);max-width:32ch}

/* Тиха секція-цитата на «Небо» */
.quote-sky{background:var(--blue-sky);color:#fff;padding:clamp(64px,9vw,120px) 0}
.quote-sky .q-eyebrow{color:rgba(255,255,255,0.75)}
.quote-sky .q-eyebrow::before{background:#fff}
.quote-sky blockquote{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(28px,4vw,56px);line-height:1.18;letter-spacing:-0.02em;color:#fff;
  font-variation-settings:"opsz" 96;max-width:20ch;margin-top:24px;
}
.quote-sky .q-cap{margin-top:32px;font-size:14px;color:rgba(255,255,255,0.85);max-width:54ch;line-height:1.6}

/* ============================================================
   NAPRYAMY — огляд + кабінети
   ============================================================ */
.zone-filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(36px,4vw,52px)}
.zf-btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:10px 18px;border-radius:999px;border:1.5px solid var(--rule);
  background:transparent;font-size:14px;font-weight:600;color:var(--ink-soft);
  transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.zf-btn .d{width:10px;height:10px;border-radius:50%}
.zf-btn:hover{border-color:var(--ink)}
.zf-btn[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

.cab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:clamp(28px,3vw,40px)}
.cab{
  background:var(--paper);border:1px solid var(--rule);border-radius:12px;
  padding:24px;display:flex;flex-direction:column;gap:14px;min-height:240px;position:relative;
  transition:transform .18s ease,box-shadow .18s ease,opacity .25s ease;
}
.cab::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:12px 12px 0 0}
.cab:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(22,25,28,0.4)}
.cab.is-hidden{display:none}
.cab .cab-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cab .cab-icon svg{width:32px;height:32px}
.cab .cab-name{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.12;font-variation-settings:"opsz" 36}
.cab .cab-desc{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}
.cab .cab-meta{margin-top:auto;font-family:var(--sans);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}
.cab.motor::before{background:var(--z-motor)} .cab.motor .cab-icon{background:#E1EAF1;color:var(--z-motor)}
.cab.sensory::before{background:var(--z-sensory)} .cab.sensory .cab-icon{background:#E4EBE0;color:var(--z-sensory)}
.cab.medical::before{background:var(--z-medical)} .cab.medical .cab-icon{background:#F4E1D5;color:var(--z-medical)}
.cab.consult::before{background:var(--z-consult)} .cab.consult .cab-icon{background:#E4EEF3;color:var(--z-consult)}
.cab.admin::before{background:var(--z-admin)} .cab.admin .cab-icon{background:#F5EADA;color:#9A7A58}

/* Розкладка зон-огляду (5 рядків-смуг) */
.zone-rows{margin-top:clamp(36px,4vw,52px);border-top:1px solid var(--rule)}
.zone-row{
  display:grid;grid-template-columns:60px 1fr auto;gap:clamp(20px,3vw,48px);align-items:center;
  padding:clamp(22px,2.6vw,32px) 0;border-bottom:1px solid var(--rule-soft);position:relative;
}
.zone-row .zr-no{font-family:var(--serif);font-style:italic;font-weight:300;font-size:34px;color:var(--ink-mute);font-variation-settings:"opsz" 60}
.zone-row .zr-body h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,30px);line-height:1.1;font-variation-settings:"opsz" 36}
.zone-row .zr-body h3 em{font-style:italic;font-weight:300;color:var(--ink-soft)}
.zone-row .zr-body p{margin-top:8px;font-size:14.5px;line-height:1.6;color:var(--ink-soft);max-width:60ch}
.zone-row .zr-chip{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap}
.zone-row .zr-chip .d{width:12px;height:12px;border-radius:50%}

/* ============================================================
   ZAPYSATYS — форма
   ============================================================ */
.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
.form-aside .h3{margin-top:18px}
.form-aside .body{margin-top:18px}
.form-aside .assure{margin-top:34px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--rule)}
.form-aside .assure .ai{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule-soft);align-items:start}
.form-aside .assure .ai .ck{color:var(--green-sage);font-size:18px;line-height:1.4}
.form-aside .assure .ai p{font-size:14.5px;line-height:1.55;color:var(--ink-soft)}
.form-aside .assure .ai strong{color:var(--ink);font-weight:600}

.booking-form{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:clamp(28px,3.5vw,44px)}
.field{margin-bottom:22px}
.field > label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px}
.field .req{color:var(--terracotta)}
.field .hint{font-weight:400;color:var(--ink-mute);font-size:12.5px}
.field input[type=text],.field input[type=tel],.field select,.field textarea{
  width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);
  background:#fff;border:1.5px solid var(--rule);border-radius:10px;padding:13px 15px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.field textarea{min-height:110px;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-deep);box-shadow:0 0 0 3px rgba(47,90,122,0.15)}
.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(201,126,90,0.15)}
.field .err{display:none;margin-top:7px;font-size:13px;color:#A8492A;font-weight:500}
.field.invalid .err{display:block}
/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.consent{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;margin:8px 0 24px}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--blue-deep);flex-shrink:0}
.consent label{font-size:14px;line-height:1.55;color:var(--ink-soft)}
.consent a{color:var(--blue-deep);text-decoration:underline}
.consent.invalid label{color:#A8492A}

.form-submit{width:100%}
.form-note{margin-top:16px;font-size:12.5px;color:var(--ink-mute);text-align:center;line-height:1.5}

.form-success{
  display:none;background:var(--paper);border:1px solid var(--rule);border-radius:14px;
  padding:clamp(36px,5vw,56px);text-align:center;
}
.form-success.show{display:block}
.form-success .fs-mark{width:64px;height:64px;border-radius:50%;background:var(--green-sage);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 24px}
.form-success h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.1}
.form-success p{margin-top:16px;font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:44ch;margin-left:auto;margin-right:auto}

/* ============================================================
   MARSHRUT — вертикальний таймлайн першого дня
   ============================================================ */
.journey-v{margin-top:clamp(40px,5vw,64px);max-width:900px}
.jstep{
  display:grid;grid-template-columns:64px 1fr auto;gap:clamp(20px,3vw,36px);
  padding-bottom:clamp(28px,3.5vw,44px);position:relative;
}
.j-illus{
  align-self:center;width:clamp(88px,10vw,124px);aspect-ratio:1;border-radius:16px;overflow:hidden;
  flex-shrink:0;box-shadow:0 14px 28px -16px rgba(22,25,28,0.45);
}
.j-illus img{width:100%;height:100%;object-fit:cover;display:block}
.jstep:last-child{padding-bottom:0}
.jstep .j-rail{display:flex;flex-direction:column;align-items:center}
.jstep .j-num{
  width:54px;height:54px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:var(--serif);font-weight:500;font-size:23px;font-variation-settings:"opsz" 36;
  box-shadow:0 8px 18px -8px rgba(22,25,28,0.5);z-index:2;
}
.jstep .j-line{width:2px;flex:1;margin-top:8px;border-radius:2px;background:var(--rule)}
.jstep:last-child .j-line{display:none}
.jstep.motor .j-num{background:var(--z-motor)} .jstep.motor .j-line{background:var(--z-motor)}
.jstep.sensory .j-num{background:var(--z-sensory)} .jstep.sensory .j-line{background:var(--z-sensory)}
.jstep.medical .j-num{background:var(--z-medical)} .jstep.medical .j-line{background:var(--z-medical)}
.jstep.consult .j-num{background:var(--z-consult)} .jstep.consult .j-line{background:var(--z-consult)}
.jstep.admin .j-num{background:var(--z-admin);color:var(--ink)} .jstep.admin .j-line{background:var(--z-admin)}
.jstep .j-body{padding-top:6px}
.jstep .j-zone{font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}
.jstep .j-ttl{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.1;margin-top:6px;letter-spacing:-0.015em;font-variation-settings:"opsz" 36}
.jstep .j-desc{font-size:15.5px;line-height:1.7;color:var(--ink-soft);margin-top:10px;max-width:52ch}
.jstep .j-lui{
  margin-top:18px;display:inline-flex;align-items:center;gap:14px;
  background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:8px 18px 8px 8px;
  font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft);
}
.jstep .j-lui img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}
@media (max-width:600px){
  .jstep{grid-template-columns:44px 1fr 70px;gap:14px}
  .jstep .j-num{width:44px;height:44px;font-size:19px}
  .j-illus{width:70px;border-radius:12px}
  .jstep .j-ttl{font-size:20px}
  .jstep .j-desc{font-size:14px}
}
@media (max-width:400px){
  .jstep{grid-template-columns:40px 1fr}
  .j-illus{display:none}
}

/* ============================================================
   KONTAKTY
   ============================================================ */
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:stretch}
.contacts-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:clamp(28px,3.5vw,44px);display:flex;flex-direction:column}
.contacts-card .cc-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.contacts-card .cc-item{display:grid;grid-template-columns:46px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--rule-soft);align-items:start}
.contacts-card .cc-item:last-child{border-bottom:none}
.contacts-card .cc-ic{width:46px;height:46px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--blue-deep)}
.contacts-card .cc-ic svg{width:22px;height:22px}
.contacts-card .cc-k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}
.contacts-card .cc-v{font-size:17px;color:var(--ink);font-weight:500;margin-top:4px;line-height:1.4}
.contacts-card .cc-v a:hover{color:var(--blue-deep)}
.contacts-card .cc-v .sub{display:block;font-size:13.5px;color:var(--ink-mute);font-weight:400;margin-top:3px}
.contacts-map{border-radius:14px;overflow:hidden;border:1px solid var(--rule);min-height:420px;position:relative}
.contacts-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block;filter:grayscale(0.2) contrast(0.96)}

.howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(36px,4vw,52px)}
.howto{background:var(--bg);border:1px solid var(--rule);border-radius:12px;padding:28px 26px;position:relative}
.howto::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:12px 12px 0 0;background:var(--z-admin)}
.howto .h-ic{width:48px;height:48px;border-radius:12px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--terracotta);margin-bottom:16px}
.howto .h-ic svg{width:24px;height:24px}
.howto h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.1;font-variation-settings:"opsz" 36}
.howto p{font-size:14.5px;line-height:1.62;color:var(--ink-soft);margin-top:10px}
.howto a{color:var(--blue-deep);font-weight:600}

.requisites{background:var(--bg-warm);border-radius:14px;padding:clamp(28px,3.5vw,44px);margin-top:clamp(36px,4vw,52px);display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,56px)}
.requisites .r-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px}
.requisites .r-item .r-k{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}
.requisites .r-item .r-v{font-size:15.5px;color:var(--ink);margin-top:5px;font-variant-numeric:tabular-nums}

/* ============================================================
   КОМАНДА — повна сторінка
   ============================================================ */
.photo-note{
  margin-top:clamp(40px,5vw,64px);background:var(--paper);border:1px solid var(--rule);border-radius:14px;
  padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,40px);align-items:center;
}
.photo-note .pn-ic{width:54px;height:54px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--green-sage)}
.photo-note .pn-ic svg{width:26px;height:26px}
.photo-note p{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:70ch}
.photo-note strong{color:var(--ink);font-weight:600}
.team-grid-full{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:clamp(40px,4vw,56px)}

/* ============================================================
   ЛУЇ — сторінка маскота
   ============================================================ */
.lui-hero{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center;margin-top:clamp(16px,2vw,24px)}
.lui-hero .lh-figure{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1/1;box-shadow:0 30px 60px -36px rgba(47,90,122,0.55)}
.lui-hero .lh-figure img{width:100%;height:100%;object-fit:cover}
.lui-float{animation:luiFloat 5.5s ease-in-out infinite}
@keyframes luiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.lui-float{animation:none}}
.lui-hero .lead{margin-top:0}
.lui-hero .body{margin-top:22px}

/* Біографія — 8 клітинок */
.bio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--rule);margin-top:clamp(36px,4vw,52px)}
.bio-cell{padding:26px 24px;border-right:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.bio-cell:nth-child(4n){border-right:none}
.bio-cell:nth-child(n+5){}
.bio-grid .bio-cell:nth-last-child(-n+4){border-bottom:none}
.bio-cell .lbl{font-family:var(--sans);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-mute);font-weight:600;margin-bottom:14px}
.bio-cell .v{font-family:var(--serif);font-size:21px;line-height:1.25;font-variation-settings:"opsz" 36}
.bio-cell .v em{font-style:italic;font-weight:300;color:var(--ink-soft)}

/* Галерея поз/настроїв */
.lui-poses{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(36px,4vw,52px)}
.pose-card{display:flex;flex-direction:column;gap:0;background:var(--paper);border:1px solid var(--rule);border-radius:14px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.pose-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(22,25,28,0.4)}
.pose-card .pc-img{aspect-ratio:1/1;overflow:hidden}
.pose-card .pc-img img{width:100%;height:100%;object-fit:cover}
.pose-card .pc-body{padding:20px 22px}
.pose-card .pc-name{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.1;font-variation-settings:"opsz" 36}
.pose-card .pc-desc{font-size:13.5px;line-height:1.55;color:var(--ink-mute);margin-top:7px;font-style:italic;font-family:var(--serif);font-variation-settings:"opsz" 18}

/* ЛУЇ у терапії — 6 ролей */
.lui-roles{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--ink);margin-top:clamp(36px,4vw,52px)}
.lui-role{padding:26px 30px;border-bottom:1px solid var(--rule-soft);display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start}
.lui-role:nth-child(odd){border-right:1px solid var(--rule-soft)}
.lui-role .lr-num{font-family:var(--serif);font-weight:300;font-style:italic;font-size:34px;line-height:1;color:var(--ink-mute);font-variation-settings:"opsz" 144}
.lui-role h3{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.2;margin-bottom:7px;font-variation-settings:"opsz" 36}
.lui-role h3 em{font-style:italic;font-weight:300;color:var(--ink-soft)}
.lui-role p{font-size:14px;line-height:1.62;color:var(--ink-soft)}

/* Історія на «Небо» з ілюстрацією */
.lui-story{background:var(--blue-sky);color:#fff}
.lui-story .ls-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,5vw,72px);align-items:center}
.lui-story .ls-eyebrow{color:rgba(255,255,255,0.78)}
.lui-story .ls-eyebrow::before{background:#fff}
.lui-story h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,48px);line-height:1.12;color:#fff;margin-top:18px}
.lui-story h2 em{font-style:italic;font-weight:300}
.lui-story p{font-family:var(--serif);font-weight:300;font-size:clamp(17px,1.8vw,20px);line-height:1.55;margin-top:18px;color:rgba(255,255,255,0.95);font-variation-settings:"opsz" 36;max-width:46ch}
.lui-story .ls-figure{border-radius:16px;overflow:hidden;aspect-ratio:1/1;box-shadow:0 26px 50px -30px rgba(0,0,0,0.5)}
.lui-story .ls-figure img{width:100%;height:100%;object-fit:cover}

/* Підлітковий режим — делікатна нотатка */
.teen-note{
  border:1px dashed var(--rule);border-radius:14px;padding:clamp(28px,3.5vw,44px);
  margin-top:clamp(36px,4vw,52px);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,36px);align-items:center;
}
.teen-note .tn-ic{width:54px;height:54px;border-radius:50%;background:var(--bg-warm);display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}
.teen-note .tn-ic svg{width:26px;height:26px}
.teen-note h3{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.15;font-variation-settings:"opsz" 36}
.teen-note p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin-top:8px;max-width:62ch}

/* ============================================================
   ДЛЯ БАТЬКІВ — FAQ-акордеон, інструкції
   ============================================================ */
.faq{margin-top:clamp(36px,4vw,52px);border-top:2px solid var(--ink);max-width:860px}
.faq-item{border-bottom:1px solid var(--rule-soft)}
.faq-q{
  width:100%;background:transparent;border:0;text-align:left;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:24px 4px;font-family:var(--serif);font-weight:500;
  font-size:clamp(19px,2vw,25px);line-height:1.25;color:var(--ink);
  letter-spacing:-0.01em;font-variation-settings:"opsz" 36;
}
.faq-q .faq-ic{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--rule);
  display:flex;align-items:center;justify-content:center;position:relative;transition:border-color .18s ease,background .18s ease;
}
.faq-q .faq-ic::before,.faq-q .faq-ic::after{content:"";position:absolute;background:var(--ink);border-radius:2px;transition:transform .22s ease,background .18s ease}
.faq-q .faq-ic::before{width:13px;height:1.8px}
.faq-q .faq-ic::after{width:1.8px;height:13px}
.faq-q:hover .faq-ic{border-color:var(--ink)}
.faq-q[aria-expanded="true"] .faq-ic{background:var(--blue-deep);border-color:var(--blue-deep)}
.faq-q[aria-expanded="true"] .faq-ic::before,.faq-q[aria-expanded="true"] .faq-ic::after{background:#fff}
.faq-q[aria-expanded="true"] .faq-ic::after{transform:scaleY(0)}
.faq-a{overflow:hidden;max-height:0;transition:max-height .3s ease}
.faq-a-inner{padding:0 4px 26px;font-size:16px;line-height:1.72;color:var(--ink-soft);max-width:64ch}
@media (prefers-reduced-motion:reduce){.faq-a{transition:none}}

/* Прості кроки для родичів */
.steps-simple{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(36px,4vw,52px)}
.s-step{background:var(--bg);border:1px solid var(--rule);border-radius:12px;padding:28px 26px}
.s-step .s-no{font-family:var(--serif);font-style:italic;font-weight:300;font-size:34px;color:var(--terracotta);line-height:1;font-variation-settings:"opsz" 60}
.s-step h3{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.15;margin-top:14px;font-variation-settings:"opsz" 36}
.s-step p{font-size:14.5px;line-height:1.62;color:var(--ink-soft);margin-top:10px}

/* ============================================================
   ПАРТНЕРАМ І ДОНОРАМ — два входи
   ============================================================ */
.entries{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(32px,4vw,48px)}
.entry{
  position:relative;border-radius:16px;padding:clamp(32px,4vw,48px);color:#fff;overflow:hidden;
  display:flex;flex-direction:column;gap:18px;min-height:300px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.entry:hover{transform:translateY(-4px);box-shadow:0 28px 50px -28px rgba(22,25,28,0.55)}
.entry.doc{background:var(--blue-deep)}
.entry.donor{background:var(--terracotta)}
.entry .e-eyebrow{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:700;opacity:0.85}
.entry h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,40px);line-height:1.08;color:#fff}
.entry h2 em{font-style:italic;font-weight:300}
.entry p{font-size:15.5px;line-height:1.62;color:rgba(255,255,255,0.9);max-width:40ch}
.entry .e-go{margin-top:auto;display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px}

.partner-block{padding:clamp(48px,6vw,88px) 0;border-bottom:1px solid var(--rule-soft)}
.partner-block .pb-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,40px);align-items:center}
.partner-block .pb-tag{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.partner-block.doc .pb-tag{background:var(--blue-deep)}
.partner-block.donor .pb-tag{background:var(--terracotta)}
.partner-block .pb-tag svg{width:28px;height:28px}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(32px,4vw,48px)}
.stat{background:var(--bg);padding:clamp(26px,3vw,38px) clamp(22px,2.5vw,30px)}
.stat .s-val{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-0.02em;color:var(--ink);font-variation-settings:"opsz" 144}
.stat .s-lbl{font-size:14px;color:var(--ink-soft);line-height:1.5;margin-top:12px;max-width:26ch}

.reports{display:flex;flex-direction:column;gap:2px;margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--rule)}
.report{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--rule-soft);transition:background .16s ease}
.report:hover{background:var(--paper)}
.report .r-ic{width:42px;height:42px;border-radius:10px;background:var(--bg-warm);display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}
.report .r-ic svg{width:20px;height:20px}
.report .r-name{font-family:var(--serif);font-weight:500;font-size:18px;font-variation-settings:"opsz" 36}
.report .r-meta{font-size:12.5px;color:var(--ink-mute);margin-top:2px}
.report .r-dl{font-size:13px;font-weight:600;color:var(--blue-deep);letter-spacing:0.04em;white-space:nowrap}

.contact-strip{
  background:var(--paper);border:1px solid var(--rule);border-radius:14px;
  padding:clamp(26px,3vw,40px);margin-top:clamp(32px,4vw,48px);
  display:flex;flex-wrap:wrap;gap:20px 48px;align-items:center;justify-content:space-between;
}
.contact-strip .cs-k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}
.contact-strip .cs-v{font-family:var(--serif);font-size:clamp(18px,2vw,24px);margin-top:4px;font-variation-settings:"opsz" 36}
.contact-strip .cs-v a:hover{color:var(--blue-deep)}

/* ============================================================
   ЮРИДИЧНІ СТОРІНКИ — читабельний документ
   ============================================================ */
.legal{max-width:760px}
.draft-notice{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
  background:#FBEEE4;border:1px dashed var(--terracotta);border-radius:12px;
  padding:20px 22px;margin-bottom:clamp(36px,4vw,52px);
}
.draft-notice .dn-ic{width:36px;height:36px;border-radius:50%;background:var(--terracotta);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--serif);font-weight:600;font-size:20px}
.draft-notice p{font-size:14px;line-height:1.6;color:#7A3E22}
.draft-notice strong{color:#5E2E18;font-weight:700}
.legal-meta{font-size:13px;color:var(--ink-mute);margin-bottom:clamp(28px,3vw,40px);padding-bottom:18px;border-bottom:1px solid var(--rule)}
.legal-toc{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:24px 26px;margin-bottom:clamp(36px,4vw,52px)}
.legal-toc h2{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px}
.legal-toc ol{list-style:none;counter-reset:toc;columns:2;column-gap:40px}
.legal-toc li{counter-increment:toc;padding:6px 0;font-size:14.5px;break-inside:avoid}
.legal-toc li::before{content:counter(toc) ". ";color:var(--terracotta);font-family:var(--serif);font-style:italic}
.legal-toc a:hover{color:var(--blue-deep)}
.legal-section{padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid var(--rule-soft);counter-increment:legal;scroll-margin-top:100px}
.legal-section h2{
  font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.15;
  letter-spacing:-0.015em;font-variation-settings:"opsz" 36;display:flex;gap:14px;align-items:baseline;
}
.legal-section h2::before{content:counter(legal);font-family:var(--serif);font-style:italic;font-weight:300;font-size:0.7em;color:var(--ink-mute)}
.legal-section h3{font-family:var(--serif);font-weight:500;font-size:19px;margin-top:20px;font-variation-settings:"opsz" 24}
.legal-section p{font-size:16px;line-height:1.75;color:var(--ink-soft);margin-top:14px;max-width:66ch}
.legal-section ul{margin-top:14px;padding-left:0}
.legal-section ul li{position:relative;padding-left:26px;font-size:16px;line-height:1.7;color:var(--ink-soft);margin-bottom:10px;max-width:64ch}
.legal-section ul li::before{content:"";position:absolute;left:6px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--terracotta)}
.legal-section a{color:var(--blue-deep);text-decoration:underline}
.legal-body{counter-reset:legal}
.legal-ph{background:rgba(201,126,90,0.12);border-radius:3px;padding:1px 6px;color:#8A4A2A;font-weight:500;font-style:normal}

@media (max-width:640px){
  .legal-toc ol{columns:1}
}

@media (max-width:1080px){
  .cab-grid{grid-template-columns:repeat(3,1fr)}
  .howto-grid{grid-template-columns:1fr}
  .team-grid-full{grid-template-columns:repeat(2,1fr)}
  .entries{grid-template-columns:1fr}
  .steps-simple{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .lui-hero{grid-template-columns:1fr;gap:32px}
  .lui-hero .lh-figure{max-width:420px}
  .lui-story .ls-grid{grid-template-columns:1fr;gap:32px}
  .lui-story .ls-figure{max-width:420px;order:-1}
  .lui-poses{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .bio-grid{grid-template-columns:1fr 1fr}
  .bio-cell:nth-child(4n){border-right:1px solid var(--rule-soft)}
  .bio-cell:nth-child(2n){border-right:none}
  .lui-roles{grid-template-columns:1fr}
  .lui-role:nth-child(odd){border-right:none}
  .lui-poses{grid-template-columns:1fr}
  .team-grid-full{grid-template-columns:1fr 1fr}
  .photo-note,.teen-note{grid-template-columns:1fr}
}
@media (max-width:900px){
  .text-two-col{grid-template-columns:1fr;gap:24px}
  .mv-grid{grid-template-columns:1fr}
  .values-list{grid-template-columns:1fr 1fr}
  .cab-grid{grid-template-columns:repeat(2,1fr)}
  .form-layout{grid-template-columns:1fr;gap:36px}
  .zone-row{grid-template-columns:44px 1fr;gap:18px}
  .zone-row .zr-chip{grid-column:2}
  .contacts-grid{grid-template-columns:1fr}
  .requisites{grid-template-columns:1fr;gap:24px}
}
@media (max-width:560px){
  .values-list{grid-template-columns:1fr}
  .cab-grid{grid-template-columns:1fr}
}
