/* Layout: повноекранний hero з фото; текст ліворуч, прозора шапка з круглим логотипом, що "звисає" вниз.
   Десктоп 1920, бокові відступи у vw. Один світлий настрій (фото), тому тема — фіксована. */
:root{
  --hibiscus:#D42A22;        /* червоний гібіскус — головний акцент (з логотипу) */
  --hibiscus-deep:#A91D17;
  --leaf:#1E4A2C;            /* глибокий листяний зелений */
  --cream:#FBF6EC;           /* теплий кремовий фон */
  --ink:#1D2A20;             /* текст на світлому */
  --sun:#F3D27A;             /* сонячне золото для курсиву */
  --sky:#2F7FC1; --wheat:#F2C230; /* жовто-блакитні мікро-акценти */
  --on-photo:#FFFDF8;

  --f-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --f-body:"Manrope","Segoe UI",Roboto,Arial,sans-serif;

  --gutter:5vw;              /* бокові відступи сайту */
  --header-h:clamp(64px,4.6vw,92px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--f-body);font-size:clamp(15px,.9vw,18px);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
img{max-width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ================= ШАПКА ================= */
.site-header{
  position:fixed;left:0;right:0;top:0;z-index:50;
  padding:calc(env(safe-area-inset-top,0px) + 1.4vw) var(--gutter) 0;
  transition:padding .5s ease;
}
.header-inner{display:flex;align-items:center;gap:2vw;position:relative}
.logo{
  flex:none;display:block;width:clamp(84px,8.2vw,168px);aspect-ratio:1;border-radius:50%;
  background:#fff;box-shadow:0 10px 40px rgba(20,30,15,.28),0 0 0 4px rgba(255,255,255,.55);
  overflow:hidden;align-self:flex-start;margin-top:-.4vw;
  transition:width .5s cubic-bezier(.2,.7,.2,1),margin .5s ease,box-shadow .5s ease;
}
.logo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02)}

.bar{
  flex:1;min-width:0;display:flex;align-items:center;gap:1.6vw;
  height:var(--header-h);padding:0 .7vw 0 2.2vw;border-radius:999px;
  background:rgba(255,253,248,.18);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  border:1px solid rgba(255,255,255,.35);
  transition:background .5s ease,border-color .5s ease,box-shadow .5s ease,height .5s ease;
}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,40px);margin-right:auto}
.nav>a,.nav .has-sub>button{
  position:relative;padding:.4em 0;color:var(--on-photo);font-weight:600;font-size:clamp(14px,.86vw,17px);
  background:none;border:0;letter-spacing:.01em;white-space:nowrap;transition:color .3s;
  text-shadow:0 1px 12px rgba(0,0,0,.25);
}
.nav>a::after,.nav .has-sub>button::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;
  background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
}
.nav>a:hover::after,.nav .has-sub:hover>button::after,.nav>a[aria-current]::after{transform:scaleX(1)}
.has-sub{position:relative}
.has-sub>button{display:flex;align-items:center;gap:.35em}
.has-sub>button svg{width:.7em;height:.7em;transition:transform .3s}
.has-sub:hover>button svg,.has-sub:focus-within>button svg{transform:rotate(180deg)}
.sub{
  position:absolute;top:calc(100% + 18px);left:-24px;min-width:340px;padding:12px;
  background:var(--cream);border-radius:20px;box-shadow:0 24px 60px rgba(20,30,15,.22);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s ease;
}
.sub::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;color:var(--ink);transition:background .25s}
.sub a:hover{background:#F1E8D6}
.sub i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--c)}
.sub b{display:block;font-family:var(--f-display);font-size:1.3em;font-weight:700;line-height:1.1}
.sub small{display:block;color:#6B6A5E;font-size:.82em;line-height:1.35}

.socials{display:flex;gap:.5vw}
.socials a{
  width:clamp(36px,2.25vw,44px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;
  color:var(--on-photo);border:1px solid rgba(255,255,255,.45);transition:background .3s,color .3s,border-color .3s,transform .3s;
}
.socials a:hover{background:var(--on-photo);color:var(--leaf);transform:translateY(-2px)}
.socials svg{width:44%;height:44%}

.btn{
  display:inline-flex;align-items:center;gap:.8em;white-space:nowrap;
  height:clamp(46px,3.1vw,62px);padding:0 1.7em;border-radius:999px;border:0;
  font-weight:700;font-size:clamp(13px,.78vw,15px);letter-spacing:.08em;text-transform:uppercase;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),translate .5s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .35s,color .35s;
}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn .arr{transition:transform .35s}
.btn:hover .arr{transform:translateX(4px)}
.btn-red{background:var(--hibiscus);color:#fff;box-shadow:0 10px 30px rgba(212,42,34,.38)}
.btn-red:hover{background:var(--hibiscus-deep);transform:translateY(-2px);box-shadow:0 16px 40px rgba(212,42,34,.45)}
.btn-ghost{background:rgba(20,30,15,.18);color:var(--on-photo);border:1.5px solid rgba(255,255,255,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-ghost:hover{background:var(--on-photo);color:var(--leaf);transform:translateY(-2px)}
.header-cta{height:calc(var(--header-h) - 16px)}

.burger{display:none;margin-left:auto;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:var(--on-photo);place-items:center}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:.3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}

/* стан при скролі */
.site-header.scrolled{padding-top:calc(env(safe-area-inset-top,0px) + 10px)}
.site-header.scrolled .logo{width:clamp(60px,4.4vw,84px);margin-top:0;box-shadow:0 6px 20px rgba(20,30,15,.18),0 0 0 3px #fff}
.site-header.scrolled .bar{background:rgba(251,246,236,.94);border-color:rgba(30,74,44,.1);box-shadow:0 14px 40px rgba(20,30,15,.12)}
.site-header.scrolled .nav>a,.site-header.scrolled .nav .has-sub>button{color:var(--ink);text-shadow:none}
.site-header.scrolled .nav>a::after,.site-header.scrolled .has-sub>button::after{background:var(--hibiscus)}
.site-header.scrolled .socials a{color:var(--leaf);border-color:rgba(30,74,44,.25)}
.site-header.scrolled .socials a:hover{background:var(--leaf);color:#fff}
.site-header.scrolled .burger{color:var(--ink);border-color:rgba(30,74,44,.25)}

/* ================= HERO ================= */
.hero{
  position:relative;isolation:isolate;overflow:hidden;color:var(--on-photo);
  min-height:max(720px,min(100vh,1080px));
  display:grid;grid-template-rows:1fr auto;
  padding:calc(var(--header-h) + 9vw) var(--gutter) 0;
}
.hero-bg{position:absolute;inset:-3%;z-index:-3;overflow:hidden;background:#3a3a20;
  transform:translate3d(calc(var(--mx,0)*-18px),calc(var(--my,0)*-12px),0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
#petals{transform:translate3d(calc(var(--mx,0)*28px),calc(var(--my,0)*18px),0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.6)}
.facts .fact-txt,.scroll{text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero-bg img{
  width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block;
  will-change:transform;
  animation:kenburns 26s ease-in-out infinite alternate;
}
@keyframes kenburns{from{transform:scale(1.12) translate3d(1.5%,0,0)}to{transform:scale(1.02) translate3d(-1%,-1%,0)}}
/* затемнення для читабельності тексту ліворуч і знизу */
.hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(ellipse 48% 52% at 22% 52%,rgba(8,14,6,.55) 0%,rgba(8,14,6,0) 100%),
    linear-gradient(90deg,rgba(8,14,6,.9) 0%,rgba(8,14,6,.78) 26%,rgba(8,14,6,.5) 44%,rgba(8,14,6,.12) 64%,rgba(8,14,6,0) 78%),
    linear-gradient(0deg,rgba(6,10,5,.92) 0%,rgba(6,10,5,.55) 16%,rgba(6,10,5,0) 36%),
    linear-gradient(180deg,rgba(6,10,5,.55) 0%,rgba(6,10,5,0) 22%);
}
/* світловий відблиск, що повільно "дихає" у правій частині кадру */
.hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;
  width:60vw;aspect-ratio:1;right:-12vw;top:-22vw;border-radius:50%;
  background:radial-gradient(circle,rgba(255,214,140,.32) 0%,rgba(255,190,110,.12) 35%,rgba(255,190,110,0) 65%);
  animation:breathe 9s ease-in-out infinite alternate;
  transform:translate3d(calc(var(--mx,0)*-30px),calc(var(--my,0)*-20px),0)}
@keyframes breathe{from{opacity:.5}to{opacity:.9}}
#petals{position:absolute;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}

.hero-content{align-self:center;max-width:min(56vw,1080px);padding-bottom:3vw}
.eyebrow{display:flex;align-items:center;gap:1.1em;margin:0 0 1.4vw;
  font-size:clamp(12px,.82vw,16px);font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,253,248,.92)}
.eyebrow svg{width:clamp(36px,2.6vw,54px);height:auto;color:var(--sun);flex:none}
.eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--sun);display:inline-block}

h1{margin:0;font-family:var(--f-display);font-weight:700;line-height:.86;letter-spacing:-.015em;text-wrap:balance;
  font-size:clamp(52px,7.3vw,148px);text-shadow:0 2px 6px rgba(0,0,0,.25),0 6px 50px rgba(0,0,0,.45)}
h1 .l1{display:block}
h1 .l2{display:inline-flex;align-items:flex-end;gap:.18em;font-style:italic;font-weight:600;
  padding-right:.08em;margin-top:.04em}
h1 .l2 .gold{
  background-image:linear-gradient(100deg,#F3D27A 0%,#E3A94A 22%,#F7DC94 34%,#FFF6D8 40%,#F7DC94 46%,#E3A94A 60%,#F3D27A 80%,#E3A94A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;
  filter:drop-shadow(0 4px 24px rgba(0,0,0,.25));
}
h1 .sprig{width:.62em;height:auto;color:var(--sun);opacity:.9;margin-bottom:.12em}
.word{display:inline-block;animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
/* заголовок: слова "виростають" з-під маски */
h1 .word{animation:unveil 1.3s cubic-bezier(.16,.8,.2,1) both}
@keyframes unveil{
  from{clip-path:inset(-10% -12% 100% -12%);transform:translateY(.45em) rotate(1.5deg)}
  to{clip-path:inset(-10% -12% -30% -12%);transform:none}}
/* золотий відблиск, що пробігає по слову "гібіскусів" */
h1 .l2 .gold{background-size:260% 100%;background-position:100% 0;
  animation:unveil 1.3s cubic-bezier(.16,.8,.2,1) both,shimmer 7s ease-in-out infinite}
@keyframes shimmer{0%,55%{background-position:100% 0}85%,100%{background-position:0 0}}
@keyframes rise{from{opacity:0;transform:translateY(.35em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

.lead{margin:2vw 0 0;padding-left:1.4em;border-left:2px solid var(--sun);
  font-family:var(--f-display);font-size:clamp(20px,1.6vw,32px);line-height:1.3;font-weight:600;max-width:28em;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
  animation:rise 1.1s .7s cubic-bezier(.2,.7,.2,1) both}
.actions{display:flex;flex-wrap:wrap;gap:1vw 1.2vw;margin-top:2.4vw;animation:rise 1.1s .9s cubic-bezier(.2,.7,.2,1) both}

/* відео-кнопка праворуч */
.play{position:absolute;right:var(--gutter);top:50%;transform:translateY(-10%);
  display:flex;align-items:center;gap:1.1vw;color:var(--on-photo);text-align:left;
  padding:.6vw 2vw .6vw .6vw;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  background:rgba(8,14,6,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  animation:rise 1.1s 1.1s cubic-bezier(.2,.7,.2,1) both}
.play-circle{position:relative;width:clamp(64px,5.4vw,108px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,253,248,.2);border:1.5px solid rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .4s,background .4s}
.play-circle::before,.play-circle::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);animation:pulse 2.8s ease-out infinite}
.play-circle::after{animation-delay:1.4s}
@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(1.6);opacity:0}}
.play-circle svg{width:28%;height:28%;margin-left:6%}
.play:hover .play-circle{transform:scale(1.06);background:var(--hibiscus);border-color:var(--hibiscus)}
.play-text{font-size:clamp(12px,.75vw,15px);letter-spacing:.24em;text-transform:uppercase;font-weight:600;line-height:1.7}
.play-text b{display:block;font-family:var(--f-display);text-transform:none;letter-spacing:0;font-size:1.9em;font-weight:600;font-style:italic;line-height:1.05}

/* смуга фактів */
.facts{
  display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));align-items:center;gap:0;
  border-top:1px solid rgba(255,255,255,.28);padding:1.6vw 0 1.8vw;
  animation:rise 1.1s 1.2s cubic-bezier(.2,.7,.2,1) both;
}
.scroll{display:flex;align-items:center;gap:1em;padding-right:3vw;font-size:clamp(11px,.66vw,13px);letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:rgba(255,253,248,.85)}
.mouse{width:24px;height:38px;border-radius:14px;border:1.5px solid rgba(255,255,255,.8);position:relative;flex:none}
.mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--sun);animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
.fact{display:flex;align-items:center;gap:1vw;padding:0 2vw;border-left:1px solid rgba(255,255,255,.22);min-width:0}
.fact-num{font-family:var(--f-display);font-weight:700;font-size:clamp(34px,2.9vw,58px);line-height:1;color:var(--sun);font-variant-numeric:tabular-nums;flex:none}
.fact-ico{width:clamp(34px,2.6vw,52px);height:auto;color:var(--sun);flex:none}
.fact-txt{font-size:clamp(13px,.82vw,16px);line-height:1.35;color:rgba(255,253,248,.92);min-width:0}
.fact-txt b{display:block;color:#fff;font-weight:700}
.ua{display:inline-block;width:1.1em;height:.75em;border-radius:2px;vertical-align:-.05em;margin-left:.3em;
  background:linear-gradient(var(--sky) 50%,var(--wheat) 50%)}

/* ================= ПРО ПРОСТІР ================= */
.about{position:relative;background:var(--cream);padding:9vw var(--gutter) 0;overflow:hidden}
/* тонкий ботанічний орнамент на фоні */
.about::before{content:"";position:absolute;left:-6vw;top:4vw;width:34vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(212,42,34,.07) 0%,rgba(212,42,34,0) 65%);pointer-events:none}
.about-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:6vw;align-items:center}

.label{display:inline-flex;align-items:center;gap:.9em;margin:0 0 1.6vw;font-size:clamp(12px,.78vw,15px);font-weight:700;
  letter-spacing:.34em;text-transform:uppercase;color:var(--hibiscus)}
.label::before{content:"";width:3.2vw;min-width:32px;height:1.5px;background:currentColor}

.about h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);
  font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
/* слово, що змінюється: пам'яттю → любов'ю → вдячністю → надією → незламністю */
.rotator{position:relative;display:inline-grid;vertical-align:bottom;font-style:italic;color:var(--hibiscus);
  overflow:hidden;padding:0 .08em .12em 0;margin-bottom:-.12em}
.rotator span{grid-area:1/1;transition:transform .9s cubic-bezier(.7,0,.2,1),opacity .9s,filter .9s;white-space:nowrap}
.rotator span:not(.on){transform:translateY(105%);opacity:0;filter:blur(4px)}
.rotator span.out{transform:translateY(-105%);opacity:0;filter:blur(4px)}
.rotator::after{content:"";position:absolute;left:0;right:.1em;bottom:.06em;height:.06em;border-radius:1em;
  background:linear-gradient(90deg,var(--hibiscus),rgba(212,42,34,.15));transform-origin:left;animation:underline 3.2s ease-in-out infinite}
@keyframes underline{0%{transform:scaleX(0)}25%,80%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}

.about-text{margin-top:2.4vw;display:grid;gap:1.1em;max-width:40em;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.7}
.about-text p{margin:0}
.about-text strong{color:var(--ink);font-weight:700}

.initiator{display:flex;align-items:center;gap:1.4vw;margin-top:2.6vw;padding:1.1vw 2vw 1.1vw 1.1vw;
  background:#fff;border-radius:999px;width:fit-content;max-width:100%;box-shadow:0 18px 50px rgba(30,74,44,.10)}
.avatar{flex:none;width:clamp(56px,4.2vw,84px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%,#F06A5E,var(--hibiscus-deep));color:#fff;
  font-family:var(--f-display);font-size:clamp(22px,1.6vw,32px);font-weight:700;font-style:italic}
.initiator small{display:block;font-size:clamp(11px,.7vw,14px);letter-spacing:.2em;text-transform:uppercase;color:#7C7A6B;font-weight:600}
.initiator b{display:block;font-family:var(--f-display);font-size:clamp(22px,1.55vw,30px);font-weight:700;color:var(--leaf);line-height:1.15}

.about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2vw 2.4vw;margin-top:2.6vw}
.link-arrow{display:inline-flex;align-items:center;gap:.7em;font-weight:700;color:var(--leaf);border-bottom:1.5px solid rgba(30,74,44,.3);padding-bottom:.25em;transition:gap .3s,border-color .3s}
.link-arrow:hover{gap:1.1em;border-color:var(--leaf)}
.link-arrow svg{width:1.1em;height:1.1em}
.streets{display:flex;align-items:center;gap:.7em;color:#5d6356;font-size:.95em}
.streets svg{width:1.3em;height:1.3em;color:var(--hibiscus);flex:none}

/* колаж реальних фото */
.collage{position:relative;height:clamp(520px,44vw,860px)}
.ph{position:absolute;overflow:hidden;border-radius:clamp(18px,1.6vw,32px);box-shadow:0 30px 70px rgba(25,40,20,.22);background:#cfd8c4}
.ph img{width:100%;height:118%;object-fit:cover;display:block;will-change:transform;transform:translate3d(0,-8%,0) scale(1.02)}
/* пауза важких анімацій, коли блок поза екраном */
.offscreen *,.offscreen::before,.offscreen::after{animation-play-state:paused!important}
/* у компактній шапці фон майже суцільний — розмиття не потрібне, воно гальмує скрол */
.site-header.scrolled .bar{backdrop-filter:none;-webkit-backdrop-filter:none}
.ph-a{left:0;top:6%;width:44%;height:84%;border-radius:999px 999px clamp(18px,1.6vw,32px) clamp(18px,1.6vw,32px)} /* арка, як вхід до простору */
.ph-b{right:0;top:0;width:50%;height:52%}
.ph-c{right:8%;bottom:0;width:38%;height:40%}
.ph figcaption{position:absolute;left:1vw;bottom:1vw;padding:.45em 1em;border-radius:999px;background:rgba(251,246,236,.92);
  color:var(--leaf);font-size:clamp(11px,.68vw,13px);font-weight:700;letter-spacing:.06em}

/* обертова печатка "Книга рекордів" */
.stamp{position:absolute;left:36%;bottom:4%;width:clamp(120px,9.5vw,190px);aspect-ratio:1;border-radius:50%;
  background:var(--leaf);color:var(--sun);display:grid;place-items:center;box-shadow:0 20px 50px rgba(30,74,44,.35);z-index:2}
.stamp svg.ring{position:absolute;inset:6%;width:88%;height:88%;animation:spin 22s linear infinite}
.stamp text{font-family:var(--f-body);font-size:10.4px;font-weight:700;letter-spacing:2.6px;fill:currentColor;text-transform:uppercase}
.stamp .core{width:36%;color:var(--sun)}
@keyframes spin{to{transform:rotate(360deg)}}

/* біжучий рядок цінностей */
.values{margin:8vw calc(var(--gutter)*-1) 0;padding:2vw 0;border-top:1px solid rgba(30,74,44,.12);overflow:hidden;white-space:nowrap;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.values-track{display:inline-flex;align-items:center;gap:3vw;animation:marquee 46s linear infinite}
.values span{font-family:var(--f-display);font-size:clamp(34px,3.6vw,72px);font-weight:600;color:var(--leaf);line-height:1.1}
.values span:nth-child(4n+2){font-style:italic;color:var(--hibiscus)}
.values span:nth-child(4n){font-style:italic;color:transparent;-webkit-text-stroke:1.2px var(--leaf)}
.values i{flex:none;width:clamp(26px,2vw,40px);height:clamp(26px,2vw,40px);color:var(--hibiscus)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ================= 4 ПРОСТОРИ ПАМ'ЯТІ ================= */
.places{position:relative;background:#12291A;color:var(--on-photo);padding:8vw var(--gutter) 8vw;overflow:hidden}
.places::before{content:"";position:absolute;right:-10vw;top:-14vw;width:46vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(243,210,122,.10) 0%,rgba(243,210,122,0) 65%);pointer-events:none}
.places-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4vw;align-items:end;margin-bottom:3.6vw}
.places .label{color:var(--sun)}
.places h2{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.places h2 em{color:var(--sun);font-weight:600}
.places-intro{margin:0;max-width:34em;color:rgba(255,253,248,.72);font-size:clamp(16px,1.02vw,20px);line-height:1.7}

/* гармошка: активна картка розширюється, решта стискаються */
.acc{display:flex;gap:1vw;height:clamp(560px,42vw,820px)}
.acc-item{--c:#8FC48A;position:relative;flex:1 1 0;min-width:0;border-radius:clamp(20px,1.8vw,36px);overflow:hidden;cursor:pointer;
  transition:flex-grow 1s cubic-bezier(.7,0,.2,1);isolation:isolate;outline-offset:4px}
.acc-item.active{flex-grow:3.6;cursor:default}
.acc-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  filter:saturate(.15) brightness(.55);transform:scale(1.12);transition:filter 1.1s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
/* "розквітання": неактивні — приглушені, активна — у повному кольорі */
.acc-item.active img{filter:saturate(1.05) brightness(.9);transform:scale(1)}
.acc-item:not(.active):hover img{filter:saturate(.5) brightness(.65)}
.acc-item::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,rgba(6,14,8,.95) 0%,rgba(6,14,8,.8) 30%,rgba(6,14,8,.45) 55%,rgba(6,14,8,.05) 82%)}
.acc-body{text-shadow:0 2px 16px rgba(0,0,0,.45)}
.acc-item::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c);transform:scaleX(.25);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1)}
.acc-item.active::after{transform:scaleX(1)}

/* згорнутий стан: вертикальна назва */
.acc-spine{position:absolute;left:0;right:0;bottom:2vw;display:flex;flex-direction:column;align-items:center;gap:1.2vw;transition:opacity .4s}
.acc-spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-display);font-weight:600;
  font-size:clamp(22px,1.7vw,34px);white-space:nowrap;letter-spacing:.01em}
.acc-ico{width:clamp(30px,2.2vw,44px);height:clamp(30px,2.2vw,44px);color:var(--c);flex:none}
.acc-item.active .acc-spine{opacity:0;pointer-events:none}

/* розгорнутий стан: опис */
.acc-body{position:absolute;left:0;bottom:0;width:min(100%,46vw);padding:3vw 3.2vw;display:grid;gap:1.1vw;
  opacity:0;transform:translateY(30px);transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.acc-item.active .acc-body{opacity:1;transform:none;transition-delay:.45s;pointer-events:auto}
.acc-tag{display:flex;align-items:center;gap:.8em;font-size:clamp(12px,.74vw,14px);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--c)}
.acc-tag .acc-ico{width:1.8em;height:1.8em}
.acc-body h3{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(34px,3.2vw,64px);line-height:.98}
.acc-body p{margin:0;max-width:36em;color:rgba(255,253,248,.84);font-size:clamp(15px,.95vw,18px);line-height:1.65}
.acc-body blockquote{margin:0;padding-left:1em;border-left:2px solid var(--c);font-family:var(--f-display);font-style:italic;font-weight:600;
  font-size:clamp(20px,1.5vw,30px);line-height:1.25;color:#fff}
.acc-body .btn{justify-self:start;margin-top:.6vw;background:var(--on-photo);color:#12291A}
.acc-body .btn:hover{background:var(--c);color:#12291A;transform:translateY(-2px)}

@media (max-width:1024px){
  .places{padding:80px var(--gutter)}
  .places-head{grid-template-columns:1fr;gap:20px;margin-bottom:36px}
  .acc{flex-direction:column;height:auto;gap:16px}
  .acc-item,.acc-item.active{flex:none;height:clamp(440px,110vw,560px);cursor:default}
  .acc-item img{filter:saturate(1) brightness(.85);transform:none}
  .acc-spine{display:none}
  .acc-body{opacity:1;transform:none;width:100%;padding:28px 24px;gap:12px;pointer-events:auto}
  .acc-item::after{transform:scaleX(1)}
  .acc-body .btn{margin-top:6px}
}

/* ================= КНИГА ПАМ'ЯТІ ================= */
.memory{position:relative;background:#F4EDE0;padding:8vw var(--gutter);overflow:hidden}
.memory-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4vw;align-items:end;margin-bottom:3.4vw}
.memory h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.memory h2 em{color:var(--hibiscus)}
.memory-side{display:grid;gap:1.4vw}
.memory-side p{margin:0;font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(20px,1.5vw,30px);line-height:1.3;color:#3E4A3F}
.memory-count{display:flex;align-items:baseline;gap:.8vw;color:#5d6356;font-size:clamp(14px,.9vw,17px)}
.memory-count b{font-family:var(--f-display);font-size:clamp(44px,3.6vw,72px);line-height:1;color:var(--hibiscus);font-variant-numeric:tabular-nums}

.heroes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4vw}
.hero-card{position:relative;display:grid;grid-template-columns:clamp(110px,8.6vw,170px) minmax(0,1fr);gap:1.4vw;align-items:stretch;
  padding:1vw;background:#FFFDF8;border-radius:clamp(18px,1.4vw,28px);color:var(--ink);
  box-shadow:0 1px 0 rgba(30,74,44,.06);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.hero-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(30,40,20,.14)}
/* місце під фото: чорно-біле, при наведенні теплішає. Поки фото немає — гібіскус-заглушка */
.portrait{position:relative;border-radius:clamp(12px,1vw,20px);overflow:hidden;aspect-ratio:4/5;align-self:start;
  background:linear-gradient(160deg,#2A3F2F,#14261A);display:grid;place-items:center}
.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .8s}
.hero-card:hover .portrait img{filter:grayscale(0)}
.portrait .ph-flower{width:52%;color:rgba(243,210,122,.55);transition:color .8s,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero-card:hover .ph-flower{color:var(--sun);transform:rotate(18deg) scale(1.08)}
.portrait::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 110%,rgba(255,180,90,.45),transparent 60%);opacity:0;transition:opacity .8s}
.hero-card:hover .portrait::after{opacity:1}

.hc-info{display:flex;flex-direction:column;min-width:0;padding:.3vw .4vw .3vw 0}
.hc-name{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(22px,1.55vw,30px);line-height:1.05;color:var(--leaf)}
.hc-name span{display:block;font-weight:500;font-size:.78em;color:#4c5a4d}
.hc-years{margin:.5em 0 0;font-size:clamp(13px,.8vw,15px);color:#6b6a5e;font-variant-numeric:tabular-nums}
.hc-years b{color:var(--ink);font-weight:700}
.hc-place{margin:.15em 0 0;font-size:clamp(13px,.8vw,15px);color:#6b6a5e}
.plant{margin-top:auto;display:flex;align-items:center;gap:.7em;padding:.7em .9em;border-radius:14px;background:#EEF3E9;color:var(--leaf);
  font-size:clamp(13px,.8vw,15px);line-height:1.3}
.plant svg{width:1.6em;height:1.6em;flex:none;color:#3C7A4A}
.plant b{font-family:var(--f-display);font-size:1.25em;font-style:italic;font-weight:700}
.plant small{display:block;color:#6b7a68;font-size:.86em}
/* свічка, що жевріє при наведенні */
.flame{position:absolute;right:1.2vw;top:1.1vw;width:14px;height:22px;opacity:.25;transition:opacity .5s}
.flame::before{content:"";position:absolute;left:3px;bottom:0;width:8px;height:12px;border-radius:2px;background:#E9DFC9}
.flame::after{content:"";position:absolute;left:3px;top:0;width:8px;height:11px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  background:radial-gradient(circle at 50% 70%,#FFF3B0,#F6A43A 60%,#E2552B);transform-origin:50% 100%}
.hero-card:hover .flame{opacity:1}
.hero-card:hover .flame::after{animation:flicker 1.6s ease-in-out infinite}
@keyframes flicker{0%,100%{transform:scale(1) rotate(-2deg)}25%{transform:scale(1.08,.94) rotate(2deg)}50%{transform:scale(.95,1.06) rotate(-1deg)}75%{transform:scale(1.04,.97) rotate(1.5deg)}}

.memory-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6vw;margin-top:3vw;padding-top:2.4vw;border-top:1px solid rgba(30,74,44,.14)}
.memory-foot p{margin:0;max-width:44em;color:#4c5a4d;font-size:clamp(15px,.95vw,18px)}
.memory-foot .acts{display:flex;flex-wrap:wrap;gap:1vw}
.btn-green{background:var(--leaf);color:#fff}
.btn-green:hover{background:#163A22;transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--leaf);border:1.5px solid rgba(30,74,44,.4)}
.btn-line:hover{border-color:var(--leaf);background:var(--leaf);color:#fff}

@media (max-width:1400px){.heroes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1024px){
  .memory{padding:80px var(--gutter)}
  .memory-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
  .memory-side{gap:14px}
  .heroes{gap:14px}
  .hero-card{gap:16px;padding:12px}
  .flame{right:16px;top:14px}
  .memory-foot{margin-top:32px;padding-top:24px}
}
@media (max-width:700px){.heroes{grid-template-columns:1fr}}

/* ================= ПІДТРИМКА ТА ВІДНОВЛЕННЯ ================= */
.care{position:relative;background:#E7EDE2;padding:8vw var(--gutter)}
.care-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4vw;align-items:end;margin-bottom:3vw}
.care h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.care h2 em{color:var(--hibiscus)}
.care-intro{margin:0;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.7;max-width:36em}

/* для кого простір */
.who{display:flex;flex-wrap:wrap;align-items:center;gap:.7vw;margin-bottom:5vw}
.who-label{margin-right:.8vw;font-size:clamp(12px,.74vw,14px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#5d6356}
.chip{display:inline-flex;align-items:center;gap:.6em;padding:.75em 1.3em;border-radius:999px;background:#fff;color:var(--leaf);
  font-weight:600;font-size:clamp(14px,.86vw,17px);box-shadow:0 1px 0 rgba(30,74,44,.08);transition:transform .3s,background .3s,color .3s}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hibiscus)}
.chip:hover{transform:translateY(-3px);background:var(--leaf);color:#fff}

/* скролітелінг: фото ліворуч закріплене, кроки праворуч */
.care-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:6vw;align-items:start}
.care-media{position:sticky;top:calc(var(--header-h) + 3vw);height:min(74vh,820px);border-radius:clamp(22px,2vw,40px);overflow:hidden;background:#cfd8c4;
  box-shadow:0 40px 90px rgba(25,40,20,.2)}
.care-media img{position:absolute;inset:0;will-change:clip-path,transform;width:100%;height:100%;object-fit:cover;
  clip-path:inset(100% 0 0 0);transform:scale(1.15);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),transform 1.8s cubic-bezier(.2,.7,.2,1)}
.care-media img.on{clip-path:inset(0 0 0 0);transform:scale(1);z-index:1}
.care-media img.was{clip-path:inset(0 0 0 0);transform:scale(1.05)}
.care-cap{position:absolute;left:1.6vw;bottom:1.6vw;z-index:3;display:flex;align-items:center;gap:.8em;padding:.6em 1.2em .6em .7em;border-radius:999px;
  background:rgba(251,246,236,.92);color:var(--leaf);font-weight:700;font-size:clamp(13px,.8vw,15px);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.care-cap i{width:2em;height:2em;border-radius:50%;background:var(--hibiscus);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.85em}
.care-progress{position:absolute;right:1.6vw;top:1.6vw;z-index:3;display:grid;gap:8px}
.care-progress span{width:4px;height:28px;border-radius:4px;background:rgba(255,255,255,.45);transition:background .4s,height .4s}
.care-progress span.on{background:#fff;height:44px}

.steps{display:grid}
.step{min-height:min(62vh,640px);display:flex;flex-direction:column;justify-content:center;gap:1.2vw;padding:2vw 0;
  opacity:.28;transition:opacity .6s ease}
.step.on{opacity:1}
.step-ico{width:clamp(54px,4vw,80px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--hibiscus);
  box-shadow:0 14px 40px rgba(30,74,44,.12);transition:background .5s,color .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.step.on .step-ico{background:var(--hibiscus);color:#fff;transform:rotate(-8deg) scale(1.05)}
.step-ico svg{width:46%;height:46%}
.step h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(32px,2.8vw,56px);line-height:1}
.step p{margin:0;max-width:30em;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.7}
.step ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5em}
.step li{padding:.4em .9em;border-radius:999px;border:1px solid rgba(30,74,44,.22);color:var(--leaf);font-size:clamp(13px,.8vw,15px);font-weight:600}
.step-img{display:none}

.care-quote{margin:4vw 0 0;padding-top:3vw;border-top:1px solid rgba(30,74,44,.16);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2vw}
.care-quote p{margin:0;font-family:var(--f-display);font-style:italic;font-weight:600;color:var(--leaf);font-size:clamp(24px,2vw,40px);line-height:1.2;max-width:26em}

@media (max-width:1024px){
  .care{padding:80px var(--gutter)}
  .care-head{grid-template-columns:1fr;gap:20px;margin-bottom:28px}
  .who{gap:8px;margin-bottom:40px}
  .who-label{width:100%;margin-bottom:4px}
  .care-body{grid-template-columns:1fr}
  .care-media{display:none}
  .step{min-height:0;opacity:1;gap:14px;padding:0 0 48px}
  .step-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;margin-bottom:6px}
  .care-quote{margin-top:8px;padding-top:28px}
}

/* ================= НОВИНИ ТА ПОДІЇ ================= */
.news{background:var(--cream);padding:8vw var(--gutter)}
.news-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2vw 4vw;margin-bottom:3vw}
.news h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em}
.news h2 em{color:var(--hibiscus)}
/* фільтр за локаціями */
.tabs{display:flex;flex-wrap:wrap;gap:.5vw;padding:.4vw;border-radius:999px;background:#F1E8D6}
.tab{display:inline-flex;align-items:center;gap:.55em;padding:.75em 1.25em;border:0;border-radius:999px;background:transparent;color:#4c5a4d;
  font-weight:600;font-size:clamp(13px,.8vw,15px);transition:background .3s,color .3s,box-shadow .3s}
.tab i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--hibiscus))}
.tab:hover{color:var(--leaf)}
.tab[aria-pressed="true"]{background:#fff;color:var(--leaf);box-shadow:0 6px 18px rgba(30,74,44,.12)}

.news-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;gap:1.6vw;align-items:start}
.post{--c:#EBC170;display:grid;grid-template-columns:clamp(130px,9vw,180px) minmax(0,1fr);gap:1.4vw;align-items:center;color:var(--ink);
  padding:.9vw;border-radius:clamp(18px,1.4vw,28px);background:#fff;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.post:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(30,40,20,.12)}
.post-img{position:relative;overflow:hidden;border-radius:clamp(12px,1vw,20px);aspect-ratio:1}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.post:hover .post-img img{transform:scale(1.08)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5em 1em;font-size:clamp(12px,.74vw,14px);color:#6b6a5e;font-variant-numeric:tabular-nums}
.post-loc{display:inline-flex;align-items:center;gap:.5em;font-weight:700;color:var(--leaf)}
.post-loc::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.post h3{margin:.45em 0 0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(20px,1.4vw,28px);line-height:1.12;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .5s;display:inline}
.post:hover h3{background-size:100% 1.5px}
.post p{margin:.6em 0 0;color:#4c5a4d;font-size:clamp(14px,.86vw,16px);line-height:1.6}
.post .ex{display:inline-block;margin-left:.3em;padding:.1em .6em;border-radius:6px;background:#F1E8D6;color:#8a7a55;font-size:.85em;font-weight:700}

/* головна (перша) новина — велика */
.post.feat{grid-row:1/span 4;grid-template-columns:1fr;align-items:start;padding:0;background:transparent;gap:0}
.post.feat:hover{box-shadow:none}
.post.feat .post-img{aspect-ratio:16/11;border-radius:clamp(20px,1.8vw,36px)}
.post.feat .post-txt{padding:1.6vw .4vw 0}
.post.feat h3{font-size:clamp(28px,2.4vw,48px);line-height:1.05}
.post.feat p{font-size:clamp(15px,1vw,19px);max-width:40em}
.date{position:absolute;left:1vw;top:1vw;display:none;min-width:4.6em;padding:.6em .8em;border-radius:16px;background:rgba(251,246,236,.95);text-align:center;
  color:var(--leaf);font-size:clamp(12px,.74vw,14px);line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.date b{display:block;font-family:var(--f-display);font-size:2.6em;letter-spacing:0;line-height:.95;color:var(--hibiscus)}
.post.feat .date{display:block}
.post.hide{display:none}
.post:not(.feat) p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:clamp(13px,.8vw,15px)}
.post.pop{animation:pop .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes pop{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.news-empty{grid-column:1/-1;padding:3vw;border-radius:24px;background:#F1E8D6;color:#4c5a4d;text-align:center}
.news-foot{margin-top:2.6vw;display:flex;justify-content:flex-end}

@media (max-width:1024px){
  .news{padding:80px var(--gutter)}
  .news-head{margin-bottom:28px}
  .tabs{border-radius:20px;padding:6px;gap:4px}
  .news-grid{grid-template-columns:1fr;gap:14px}
  .post.feat{grid-row:auto}
  .post.feat .post-txt{padding:16px 4px 8px}
  .post{grid-template-columns:110px minmax(0,1fr);gap:14px;padding:10px}
  .post.feat{grid-template-columns:1fr}
  .date{left:12px;top:12px}
  .news-foot{margin-top:24px;justify-content:flex-start}
}

/* ================= БАНЕР «ЗАМОВИТИ РОСЛИНУ» ================= */
.order{background:var(--cream);padding:0 var(--gutter) 8vw}
.order-panel{position:relative;overflow:hidden;isolation:isolate;border-radius:clamp(26px,2.6vw,52px);color:#fff;
  background:radial-gradient(120% 140% at 85% 30%,#2F6A3F 0%,#1E4A2C 40%,#0F2416 100%);
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3vw;align-items:center;
  padding:5vw 5vw 5vw 5vw;min-height:clamp(560px,40vw,780px)}
/* фактура: тонкі прожилки пелюсток */
.order-panel::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;
  background:repeating-radial-gradient(circle at 78% 46%,transparent 0 22px,rgba(255,255,255,.6) 23px 24px)}
.order-panel::after{content:"";position:absolute;left:-10%;bottom:-40%;width:60%;aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(243,210,122,.16),transparent 65%)}
.order .label{color:var(--sun)}
.order h2{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(44px,4.8vw,96px);line-height:.95;letter-spacing:-.01em;text-wrap:balance}
.order h2 em{color:var(--sun)}
.order-lead{margin:1.6vw 0 0;max-width:34em;color:rgba(255,255,255,.88);font-size:clamp(16px,1.08vw,21px);line-height:1.65}
.order-steps{list-style:none;margin:2.6vw 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vw;counter-reset:s}
.order-steps li{counter-increment:s;display:grid;gap:.6em;padding:1.2vw;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  font-size:clamp(14px,.86vw,16px);line-height:1.45;color:rgba(255,255,255,.9)}
.order-steps li::before{content:counter(s);width:2.3em;height:2.3em;border-radius:50%;display:grid;place-items:center;
  background:var(--sun);color:#1E4A2C;font-family:var(--f-display);font-weight:700;font-size:1.15em}
.order-steps b{color:#fff;font-size:1.06em}
.order-actions{display:flex;flex-wrap:wrap;gap:1vw 1.2vw;margin-top:2.6vw}
.btn-white{background:var(--hibiscus);color:#fff;box-shadow:0 14px 34px rgba(212,42,34,.4)}
.btn-white:hover{background:var(--hibiscus-deep);transform:translateY(-2px)}
.btn-glass{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.btn-glass:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}

/* квітка, що розкривається при скролі (--b від 0 до 1 ставить JS) */
.bloom{position:relative;justify-self:center;width:min(100%,34vw);aspect-ratio:1;--b:0}
.bloom svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.petal{transform-origin:200px 200px;transform:rotate(calc(var(--r) + (1 - var(--b)) * -50deg)) scale(calc(.18 + var(--b) * .82))}
.stamen{transform-origin:200px 200px;transform:rotate(-18deg) scale(calc(.3 + var(--b) * .7));opacity:calc(var(--b) * 1.4 - .2)}
.bloom-halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(240,96,110,.35),transparent 62%);opacity:var(--b);z-index:-1}
/* табличка з іменем рослини — як справжні таблички в алеї */
.tag{position:absolute;right:-1vw;bottom:8%;display:grid;gap:.15em;padding:1em 1.3em;border-radius:16px;background:#FBF6EC;color:var(--leaf);
  box-shadow:0 20px 50px rgba(0,0,0,.35);transform:rotate(-4deg) translateY(calc((1 - var(--b)) * 40px));opacity:calc(var(--b) * 2 - .8);min-width:13em}
.tag small{font-size:clamp(11px,.66vw,13px);letter-spacing:.18em;text-transform:uppercase;color:#7C7A6B;font-weight:700}
.tag b{font-family:var(--f-display);font-size:clamp(22px,1.6vw,32px);line-height:1.05}
.tag b i{color:var(--hibiscus)}
.tag span{font-size:clamp(12px,.74vw,14px);color:#5d6356}

@media (max-width:1024px){
  .order{padding:0 var(--gutter) 80px}
  .order-panel{grid-template-columns:1fr;padding:48px 24px;gap:24px}
  .bloom{width:min(100%,420px);order:-1}
  .tag{right:0}
  .order-lead,.order-steps,.order-actions{margin-top:22px}
  .order-steps{grid-template-columns:1fr;gap:10px}
  .order-steps li{grid-template-columns:auto 1fr;align-items:center;padding:14px}
}

/* ================= ЛЮДИ ПРОСТОРУ ================= */
.people{background:var(--cream);padding:0 var(--gutter) 8vw}
.people-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4vw;align-items:end;margin-bottom:3.6vw}
.people h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.people h2 em{color:var(--hibiscus)}
.people-intro{margin:0;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.7;max-width:36em}

/* засновниця */
.founder{display:grid;grid-template-columns:clamp(260px,23vw,440px) minmax(0,1fr);gap:5vw;align-items:center;
  padding:3vw;border-radius:clamp(26px,2.6vw,52px);background:#F1E8D6;position:relative;overflow:hidden}
.founder::after{content:"";position:absolute;right:-6vw;bottom:-10vw;width:30vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(212,42,34,.10),transparent 65%);pointer-events:none}
.founder-photo{position:relative;aspect-ratio:4/5;border-radius:999px 999px clamp(22px,2vw,40px) clamp(22px,2vw,40px);overflow:hidden;
  background:linear-gradient(170deg,#2A4F35,#12291A);display:grid;place-items:center;box-shadow:0 30px 70px rgba(25,40,20,.25)}
.founder-photo img{width:100%;height:100%;object-fit:cover}
.founder-photo .ph-note{display:grid;justify-items:center;gap:1vw;color:rgba(243,210,122,.8);text-align:center;font-size:clamp(12px,.74vw,14px);letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.founder-photo .ph-note svg{width:30%;min-width:70px}
.founder-badge{position:absolute;left:50%;bottom:6%;translate:-50% 0;white-space:nowrap;padding:.7em 1.4em;border-radius:999px;background:var(--hibiscus);color:#fff;
  font-size:clamp(12px,.74vw,14px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 12px 30px rgba(212,42,34,.4)}
.founder-txt{position:relative;z-index:1;display:grid;gap:1.4vw}
.founder-role{font-size:clamp(12px,.78vw,15px);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--hibiscus)}
.founder-name{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(40px,3.8vw,76px);line-height:.95}
.founder-quote{margin:0;position:relative;padding-left:clamp(44px,3.6vw,72px);font-family:var(--f-display);font-style:italic;font-weight:600;color:var(--ink);
  font-size:clamp(22px,1.75vw,36px);line-height:1.3;max-width:24em}
.founder-quote::before{content:"“";position:absolute;left:0;top:-.18em;font-size:3.4em;line-height:1;color:var(--hibiscus);font-style:normal}
.founder-bio{margin:0;color:#4c5a4d;font-size:clamp(15px,.98vw,19px);line-height:1.7;max-width:38em}
.founder-facts{display:flex;flex-wrap:wrap;gap:.6vw}
.founder-facts span{padding:.55em 1.1em;border-radius:999px;background:#FBF6EC;color:var(--leaf);font-weight:600;font-size:clamp(13px,.8vw,15px)}

/* хто допомагає */
.helpers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4vw;margin-top:1.4vw}
.helper{display:flex;flex-direction:column;gap:1vw;padding:2vw;border-radius:clamp(20px,1.8vw,36px);background:#fff;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.helper:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(30,40,20,.12)}
.helper h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(26px,1.9vw,38px);line-height:1.05}
.helper p{margin:0;color:#4c5a4d;font-size:clamp(14px,.9vw,17px);line-height:1.65}
.helper .link-arrow{margin-top:auto;align-self:flex-start}
.avatars{display:flex;padding-left:12px}
.avatars span{width:clamp(48px,3.4vw,66px);aspect-ratio:1;border-radius:50%;margin-left:-12px;border:3px solid #fff;display:grid;place-items:center;
  background:var(--bg);color:#fff;font-weight:700;font-size:clamp(13px,.8vw,15px);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.helper:hover .avatars span{transform:translateX(calc(var(--i) * 6px))}
.avatars span svg{width:55%;opacity:.85}
.logos{display:grid;grid-template-columns:repeat(3,1fr);gap:.6vw}
.logos span{aspect-ratio:2/1;border-radius:12px;border:1.5px dashed rgba(30,74,44,.25);display:grid;place-items:center;color:#8a8f80;font-size:clamp(11px,.7vw,13px);font-weight:600}
.hearts{display:flex;align-items:center;gap:.6vw;color:var(--hibiscus)}
.hearts svg{width:clamp(34px,2.4vw,48px);height:auto}
.hearts b{font-family:var(--f-display);font-size:clamp(20px,1.4vw,28px);color:var(--leaf);font-style:italic}

.people-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.6vw;margin-top:2.6vw}
.people-foot p{margin:0;font-family:var(--f-display);font-style:italic;font-weight:600;color:var(--leaf);font-size:clamp(22px,1.6vw,32px)}
.people-foot .acts{display:flex;flex-wrap:wrap;gap:1vw}

@media (max-width:1024px){
  .people{padding:0 var(--gutter) 80px}
  .people-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
  .founder{grid-template-columns:1fr;padding:20px;gap:24px}
  .founder-photo{max-width:420px;width:100%;justify-self:center}
  .founder-txt{gap:16px}
  .helpers{grid-template-columns:1fr;gap:14px;margin-top:14px}
  .helper{padding:24px;gap:14px}
  .people-foot{margin-top:28px}
}

/* ================= ПІДТРИМАТИ ПРОСТІР ================= */
.support{background:#F4EDE0;padding:8vw var(--gutter)}
.support-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4vw;align-items:end;margin-bottom:3.6vw}
.support h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.support h2 em{color:var(--hibiscus)}
.support-intro{margin:0;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.7;max-width:36em}
.support-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.4vw}

/* картка донату */
.donate{position:relative;overflow:hidden;isolation:isolate;border-radius:clamp(26px,2.4vw,48px);color:#fff;padding:3vw;
  display:flex;flex-direction:column;gap:1.4vw;min-height:clamp(560px,40vw,760px)}
.donate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 2s cubic-bezier(.2,.7,.2,1)}
.donate:hover>img{transform:scale(1.04)}
.donate::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,22,12,.55) 0%,rgba(10,22,12,.78) 45%,rgba(10,22,12,.94) 100%)}
.donate-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:.6em;padding:.55em 1.1em;border-radius:999px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);font-size:clamp(12px,.74vw,14px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.donate h3{margin:auto 0 0;font-family:var(--f-display);font-weight:700;font-size:clamp(36px,3.2vw,64px);line-height:.98}
.donate h3 em{color:var(--sun)}
.donate p{margin:0;max-width:34em;color:rgba(255,255,255,.85);font-size:clamp(15px,.98vw,19px);line-height:1.6}
.uses{display:flex;flex-wrap:wrap;gap:.5em}
.uses span{display:inline-flex;align-items:center;gap:.5em;padding:.45em .95em;border-radius:999px;background:rgba(243,210,122,.16);color:#FBE7B4;font-weight:600;font-size:clamp(13px,.8vw,15px)}
.uses span::before{content:"✿";color:var(--sun);font-size:.9em}
.donate-actions{display:flex;flex-wrap:wrap;gap:1vw;align-items:center}
.btn-mono{background:#fff;color:#111}
.btn-mono:hover{background:var(--sun);transform:translateY(-2px)}
.btn-mono .cat{width:1.4em;height:1.4em;border-radius:50%;background:#111;display:grid;place-items:center;color:#fff;font-size:.8em}
/* реквізити з копіюванням */
.req{display:grid;gap:.6vw}
.req-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1em;padding:.8em .8em .8em 1.2em;border-radius:16px;background:rgba(255,255,255,.08)}
.req-row small{display:block;font-size:clamp(11px,.66vw,13px);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700}
.req-row code{display:block;font-family:var(--f-body);font-size:clamp(14px,.9vw,17px);font-weight:600;color:#fff;letter-spacing:.03em;overflow-wrap:anywhere;user-select:all}
.copy{display:inline-flex;align-items:center;gap:.45em;padding:.6em 1em;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;
  font-size:clamp(12px,.74vw,14px);font-weight:700;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.copy:hover{background:#fff;color:var(--leaf)}
.copy.done{background:var(--sun);border-color:var(--sun);color:var(--leaf)}
.copy svg{width:1.1em;height:1.1em}

/* інші способи допомогти */
.ways{display:grid;gap:1.4vw}
.way{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.4vw;padding:1.8vw 2vw;border-radius:clamp(20px,1.8vw,36px);background:#FFFDF8;
  color:var(--ink);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,background .5s}
.way:hover{transform:translateX(8px);box-shadow:0 22px 50px rgba(30,40,20,.1);background:#fff}
.way-ico{width:clamp(56px,4.2vw,84px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:#fff;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.way:hover .way-ico{transform:rotate(-10deg) scale(1.06)}
.way-ico svg{width:46%;height:46%}
.way h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(24px,1.75vw,34px);line-height:1.05}
.way p{margin:.35em 0 0;color:#4c5a4d;font-size:clamp(14px,.88vw,17px);line-height:1.55}
.way-go{width:clamp(44px,3vw,56px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(30,74,44,.25);color:var(--leaf);transition:background .3s,color .3s,border-color .3s}
.way:hover .way-go{background:var(--leaf);color:#fff;border-color:var(--leaf)}
.way-go svg{width:40%;height:40%}

@media (max-width:1024px){
  .support{padding:80px var(--gutter)}
  .support-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
  .support-grid{grid-template-columns:1fr;gap:14px}
  .donate{padding:28px 20px;gap:16px;min-height:0}
  .donate h3{margin-top:60px}
  .req{gap:8px}
  .ways{gap:14px}
  .way{padding:20px;gap:16px}
}
@media (max-width:560px){
  .way{grid-template-columns:auto minmax(0,1fr)}
  .way-go{display:none}
  .req-row{grid-template-columns:1fr}
  .copy{justify-self:start}
}

/* ================= ЯК НАС ЗНАЙТИ ================= */
.find{background:var(--cream);padding:8vw var(--gutter)}
.find-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4vw;align-items:stretch}
.find h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;letter-spacing:-.01em}
.find h2 em{color:var(--hibiscus)}
.find-info{display:flex;flex-direction:column;gap:1.6vw}
.find-list{display:grid;gap:1px;background:rgba(30,74,44,.12);border-radius:24px;overflow:hidden;margin-top:1vw}
.find-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2vw;align-items:center;padding:1.3vw 1.5vw;background:#FFFDF8}
.find-item .ico{width:clamp(42px,2.8vw,54px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#EEF3E9;color:var(--leaf)}
.find-item .ico svg{width:46%;height:46%}
.find-item small{display:block;font-size:clamp(11px,.68vw,13px);letter-spacing:.18em;text-transform:uppercase;color:#7C7A6B;font-weight:700}
.find-item b{display:block;font-size:clamp(16px,1.02vw,20px);color:var(--ink);font-weight:600;line-height:1.4}
.find-item a{color:var(--ink)}
.find-item a:hover{color:var(--hibiscus)}
.find-actions{display:flex;flex-wrap:wrap;gap:1vw}

/* схема-карта (у WP замінити на iframe Google Maps) */
.map{position:relative;border-radius:clamp(26px,2.4vw,48px);overflow:hidden;background:#E3EAD9;aspect-ratio:4/3;align-self:center;width:100%;box-shadow:0 30px 70px rgba(25,40,20,.14)}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map .street{fill:none;stroke:#fff;stroke-linecap:round}
.map .lbl{font-family:var(--f-body);font-weight:700;font-size:15px;fill:#4c5a4d;letter-spacing:.5px}
.map .river-lbl{font-family:var(--f-display);font-style:italic;font-size:22px;fill:#4D8FC9}
.pin{position:absolute;left:58.75%;top:44.7%;translate:-50% -100%;display:grid;justify-items:center;gap:6px;z-index:2}
.pin-card{padding:.75em 1.1em;border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(25,40,20,.2);text-align:center;white-space:nowrap}
.pin-card b{display:block;font-family:var(--f-display);font-size:clamp(18px,1.25vw,24px);color:var(--leaf);line-height:1.1}
.pin-card span{font-size:clamp(12px,.72vw,14px);color:#6b6a5e}
.pin-dot{position:relative;width:22px;height:22px;border-radius:50%;background:var(--hibiscus);border:4px solid #fff;box-shadow:0 6px 16px rgba(212,42,34,.5)}
.pin-dot::before,.pin-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--hibiscus);animation:pulse 2.6s ease-out infinite}
.pin-dot::after{animation-delay:1.3s}
.map-note{position:absolute;left:1.4vw;bottom:1.4vw;z-index:2;padding:.5em 1em;border-radius:999px;background:rgba(255,255,255,.85);color:#6b6a5e;font-size:12px;font-weight:600}
.map-btn{position:absolute;right:1.4vw;bottom:1.4vw;z-index:2}

/* ================= ФУТЕР (компактний) ================= */
.footer{background:#0F2416;color:rgba(255,253,248,.8);padding:3.4vw var(--gutter) 1.6vw;font-size:clamp(14px,.86vw,16px)}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2vw;padding-bottom:2vw;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-brand{display:flex;align-items:center;gap:1vw;color:#fff}
.foot-brand img{flex:none;width:clamp(56px,3.8vw,72px);height:clamp(56px,3.8vw,72px);border-radius:50%;background:#fff;object-fit:cover}
.foot-brand b{display:block;font-family:var(--f-display);font-size:clamp(20px,1.4vw,26px);font-weight:700;line-height:1.05}
.foot-brand>span>span{display:block;font-size:.88em;color:rgba(255,253,248,.6)}
.foot-nav{display:flex;flex-wrap:wrap;gap:.6em 1.8vw}
.foot-nav a{color:rgba(255,253,248,.85);font-weight:600;transition:color .3s}
.foot-nav a:hover{color:var(--sun)}
.foot-contact{display:flex;align-items:center;gap:1.2vw}
.foot-contact .phones{display:grid;text-align:right;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.foot-contact .phones a:hover{color:var(--sun)}
.footer .socials{display:flex}
.footer .socials a{color:#fff;border-color:rgba(255,255,255,.3)}
.footer .socials a:hover{background:var(--sun);color:#0F2416;border-color:var(--sun)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6em 2vw;padding-top:1.4vw;font-size:.88em;color:rgba(255,253,248,.55)}
.foot-bottom a{color:rgba(255,253,248,.8);border-bottom:1px solid rgba(255,253,248,.25)}
.foot-bottom a:hover{color:var(--sun);border-color:var(--sun)}
.foot-bottom .heart{color:var(--hibiscus)}

@media (max-width:1024px){
  .find{padding:80px var(--gutter)}
  .find-grid{grid-template-columns:1fr;gap:28px}
  .find-info{gap:18px}
  .find-item{padding:14px 16px;gap:14px}
  .map-note{left:12px;bottom:12px}
  .map-btn{right:12px;top:12px;bottom:auto}
  .footer{padding:32px var(--gutter) 20px;text-align:center}
  .foot-top{flex-direction:column;gap:18px;padding-bottom:20px}
  .foot-brand{flex-direction:column;gap:10px}
  .foot-nav{justify-content:center;gap:8px 18px;font-size:14px}
  .foot-contact{flex-direction:column;gap:12px}
  .foot-contact .phones{text-align:center}
  .footer .socials{display:flex;gap:10px}
  .foot-bottom{flex-direction:column;align-items:center;padding-top:16px;gap:6px}
}

/* поява при скролі */
.reveal{transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.js .reveal:not(.in){opacity:0;transform:translateY(40px)}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}

@media (max-width:1024px){
  .about{padding-top:80px}
  .about-grid{grid-template-columns:1fr;gap:56px}
  .collage{height:clamp(420px,110vw,640px)}
  .label{margin-bottom:16px}
  .about-text,.initiator,.about-actions{margin-top:24px}
  .initiator{padding:12px 22px 12px 12px;gap:14px}
  .values{margin-top:72px;padding:18px 0}
}
@media (max-width:560px){
  .ph-a{width:52%;height:78%}
  .ph-b{width:44%;height:46%}
  .ph-c{width:44%;height:38%;right:0}
  .stamp{left:auto;right:30%;bottom:-2%;width:110px}
  .ph figcaption{display:none}
  .initiator{border-radius:24px}
}

/* ===== відео-модалка ===== */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(10,14,8,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-box{width:min(1100px,100%);aspect-ratio:16/9;border-radius:20px;background:#121a10;color:#e9e4d6;display:grid;place-items:center;text-align:center;padding:24px;position:relative}
.modal-box p{margin:0;font-family:var(--f-display);font-size:clamp(22px,2vw,36px)}
.modal-box small{display:block;margin-top:.6em;font-family:var(--f-body);font-size:14px;opacity:.7}
.modal-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font-size:22px;line-height:1}

/* ===== мобільне меню ===== */
.drawer{position:fixed;inset:0;z-index:90;background:var(--cream);color:var(--ink);padding:calc(env(safe-area-inset-top,0px) + 100px) 24px 32px;display:flex;flex-direction:column;gap:6px;overflow:auto}
.drawer a.m{font-family:var(--f-display);font-size:30px;font-weight:700;padding:6px 0;border-bottom:1px solid rgba(30,74,44,.12)}
.drawer .loc{font-size:16px;padding:4px 0 4px 16px;color:#4b5446;display:flex;align-items:center;gap:10px}
.drawer .loc i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.drawer .btn{margin-top:20px;justify-content:center}
.drawer .socials{margin-top:16px}
.drawer .socials a{color:var(--leaf);border-color:rgba(30,74,44,.3)}
body.menu-open{overflow:hidden}
body.menu-open .burger span{background:transparent}
body.menu-open .burger span::before{top:0;transform:rotate(45deg)}
body.menu-open .burger span::after{top:0;transform:rotate(-45deg)}
body.menu-open .site-header .burger{color:var(--ink);border-color:rgba(30,74,44,.3)}

/* ================= АДАПТИВ ================= */
@media (max-width:1280px){
  .socials{display:none}
  .hero-content{max-width:64vw}
}
@media (max-width:1024px){
  :root{--gutter:24px}
  .nav,.header-cta{display:none}
  .burger{display:grid}
  .bar{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
  .site-header.scrolled .bar{padding:0 8px 0 16px}
  .hero{padding-top:170px}
  .hero-content{max-width:100%}
  .play{position:static;transform:none;margin-top:28px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}
  .scroll{display:none}
  .fact{padding:0 16px}
  .fact:nth-child(odd){border-left:0;padding-left:0}
}
@media (max-width:560px){
  :root{--gutter:16px}
  .hero{padding-top:150px;min-height:100svh}
  .logo{width:84px}
  .eyebrow{letter-spacing:.24em;font-size:11px}
  h1{font-size:clamp(44px,13vw,64px)}
  .lead{font-size:20px}
  .actions .btn{width:100%;justify-content:center}
  .facts{grid-template-columns:1fr 1fr;padding:22px 0 26px}
  .fact{flex-direction:column;align-items:flex-start;gap:6px}
  .hero::before{background:linear-gradient(180deg,rgba(10,16,8,.55) 0%,rgba(10,16,8,.5) 45%,rgba(10,16,8,.82) 100%)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  #petals{display:none}
}

/* =====================================================================
   СТОРІНКА ЛОКАЦІЇ (шаблон для 4 локацій)
   Колір локації задається на <body>: --lc (світлий, для темного фону)
   та --ld (темніший, для світлого фону)
   ===================================================================== */
:root{--lc:#EBC170;--ld:#A9781C}
.hero-card.pop{animation:pop .7s cubic-bezier(.2,.7,.2,1) both}

/* ---- перший екран локації ---- */
.loc-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--on-photo);
  min-height:max(680px,min(94vh,1040px));display:flex;flex-direction:column;justify-content:flex-end;
  padding:calc(var(--header-h) + 8vw) var(--gutter) 4vw}
.loc-hero-bg{position:absolute;inset:0;z-index:-3}
.loc-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;animation:kenburns 30s ease-in-out infinite alternate;will-change:transform}
.loc-hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(90deg,rgba(6,12,8,.85) 0%,rgba(6,12,8,.55) 45%,rgba(6,12,8,.15) 75%),
             linear-gradient(0deg,rgba(6,12,8,.9) 0%,rgba(6,12,8,0) 55%),
             linear-gradient(180deg,rgba(6,12,8,.5) 0%,rgba(6,12,8,0) 25%)}
.loc-hero #petals{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.6em;margin:0 0 2vw;font-size:clamp(13px,.8vw,15px);color:rgba(255,253,248,.7)}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{opacity:.5}
.crumbs b{color:var(--lc);font-weight:600}
.loc-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:4vw;align-items:end}
.loc-tag{display:inline-flex;align-items:center;gap:.8em;margin:0 0 1.2vw;font-size:clamp(12px,.8vw,15px);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--lc)}
.loc-tag svg{width:2em;height:2em}
.loc-hero h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(52px,7vw,140px);line-height:.88;letter-spacing:-.015em;text-wrap:balance;
  text-shadow:0 4px 40px rgba(0,0,0,.4)}
.loc-hero h1 em{font-weight:600;color:var(--lc)}
.loc-lead{margin:2vw 0 0;padding-left:1.2em;border-left:2px solid var(--lc);max-width:30em;font-family:var(--f-display);font-style:italic;font-weight:600;
  font-size:clamp(20px,1.6vw,32px);line-height:1.3;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.loc-hero .actions{animation:none}
.btn-loc{background:var(--lc);color:#1D2A20}
.btn-loc:hover{background:#fff;transform:translateY(-2px)}
.loc-stats{display:grid;gap:1px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.loc-stats div{display:flex;align-items:center;gap:1.2vw;padding:1.2vw 1.6vw;background:rgba(10,18,12,.45)}
.loc-stats b{font-family:var(--f-display);font-size:clamp(34px,2.8vw,56px);line-height:1;color:var(--lc);font-variant-numeric:tabular-nums;min-width:1.6em}
.loc-stats span{font-size:clamp(13px,.82vw,16px);line-height:1.4;color:rgba(255,253,248,.85)}

/* ---- про локацію ---- */
.loc-intro{background:var(--cream);padding:8vw var(--gutter)}
.loc-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:start}
.loc-intro .label{color:var(--ld)}
.loc-big{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(34px,3.2vw,64px);line-height:1.08;text-wrap:balance}
.loc-big em{color:var(--ld)}
.loc-text{display:grid;gap:1.1em;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.75}
.loc-text p{margin:0}
.loc-text .drop::first-letter{float:left;font-family:var(--f-display);font-weight:700;font-size:4.2em;line-height:.8;margin:.08em .12em 0 0;color:var(--ld)}
.loc-held{margin-top:1.4vw;padding:1.6vw;border-radius:24px;background:#F1E8D6}
.loc-held h3{margin:0 0 .9em;font-size:clamp(12px,.74vw,14px);letter-spacing:.24em;text-transform:uppercase;color:#6b6a5e;font-weight:700}
.loc-held ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5em}
.loc-held li{display:inline-flex;align-items:center;gap:.55em;padding:.6em 1.1em;border-radius:999px;background:#FFFDF8;color:var(--leaf);font-weight:600;font-size:clamp(14px,.86vw,16px)}
.loc-held li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ld)}

/* ---- Герої локації ---- */
.loc-heroes{background:#F4EDE0;padding:8vw var(--gutter)}
.loc-heroes .memory-head{margin-bottom:2.4vw}
.finder{display:flex;flex-wrap:wrap;align-items:center;gap:1vw;margin-bottom:2vw}
.search{position:relative;flex:1 1 320px;max-width:520px}
.search input{width:100%;height:clamp(50px,3.2vw,62px);padding:0 1.2em 0 3.2em;border-radius:999px;border:1.5px solid rgba(30,74,44,.18);background:#FFFDF8;
  font:inherit;font-size:clamp(15px,.95vw,18px);color:var(--ink);transition:border-color .3s,box-shadow .3s}
.search input:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(30,74,44,.1)}
.search svg{position:absolute;left:1.2em;top:50%;translate:0 -50%;width:1.2em;height:1.2em;color:#6b6a5e}
.chips{display:flex;flex-wrap:wrap;gap:.5em}
.fchip{padding:.65em 1.1em;border-radius:999px;border:1.5px solid rgba(30,74,44,.18);background:transparent;color:#4c5a4d;font-weight:600;font-size:clamp(13px,.8vw,15px);transition:.3s}
.fchip:hover{border-color:var(--leaf);color:var(--leaf)}
.fchip[aria-pressed="true"]{background:var(--leaf);border-color:var(--leaf);color:#fff}
.found{margin-left:auto;color:#6b6a5e;font-size:clamp(13px,.8vw,15px);font-variant-numeric:tabular-nums}
.found b{color:var(--leaf)}
a.hero-card{color:var(--ink)}
.hero-card .hc-call{color:var(--ld)}
.more-wrap{display:flex;justify-content:center;margin-top:2.4vw}
.empty-note{grid-column:1/-1;padding:3vw;border-radius:24px;background:#FFFDF8;text-align:center;color:#4c5a4d}

/* ---- галерея ---- */
.loc-gallery{background:var(--cream);padding:8vw var(--gutter)}
.gal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2vw;margin-bottom:2.6vw}
.gal-head h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98}
.gal-head h2 em{color:var(--ld)}
.gal-head p{margin:0;max-width:30em;color:#4c5a4d}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(160px,13vw,260px);gap:1vw}
.gal button{position:relative;padding:0;border:0;border-radius:clamp(16px,1.4vw,28px);overflow:hidden;background:#cfd8c4;cursor:zoom-in}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s}
.gal button:hover img{transform:scale(1.06)}
.gal button::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%);opacity:0;transition:opacity .5s}
.gal button:hover::after{opacity:1}
.gal .g1{grid-column:span 2;grid-row:span 2}
.gal .g2{grid-row:span 2}
.gal .g5{grid-column:span 2}
.lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(6,10,6,.92)}
.lightbox img{max-width:min(1400px,100%);max-height:86vh;border-radius:16px;object-fit:contain}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:22px;display:grid;place-items:center}
.lb-btn:hover{background:#fff;color:#111}
.lb-close{top:20px;right:20px}.lb-prev{left:20px;top:50%;translate:0 -50%}.lb-next{right:20px;top:50%;translate:0 -50%}
.lb-count{position:absolute;bottom:20px;left:50%;translate:-50% 0;color:rgba(255,255,255,.7);font-size:14px;font-variant-numeric:tabular-nums}

/* ---- новини локації ---- */
.loc-news{background:#E7EDE2;padding:8vw var(--gutter)}
.loc-news .news-head{margin-bottom:2.4vw}
.loc-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4vw}
.loc-news .post{grid-template-columns:1fr;align-items:start;padding:0;background:transparent;gap:0}
.loc-news .post:hover{box-shadow:none}
.loc-news .post .post-img{aspect-ratio:4/3;border-radius:clamp(18px,1.6vw,32px)}
.loc-news .post .date{display:block}
.loc-news .post .post-txt{padding:1.2vw .3vw 0}
.loc-news .post p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---- інші локації ---- */
.loc-others{background:#12291A;color:var(--on-photo);padding:7vw var(--gutter)}
.loc-others h2{margin:0 0 2.4vw;font-family:var(--f-display);font-weight:600;font-size:clamp(36px,3.4vw,68px);line-height:1}
.loc-others h2 em{color:var(--sun)}
.others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vw}
.other{--c:#8FC48A;position:relative;isolation:isolate;overflow:hidden;border-radius:clamp(20px,1.8vw,36px);aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.8vw;color:#fff}
.other img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.4) brightness(.6);transition:filter .8s,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.other:hover img{filter:saturate(1.05) brightness(.8);transform:scale(1.06)}
.other::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,14,8,.9),transparent 60%)}
.other::after{content:"";position:absolute;left:0;top:0;height:4px;width:30%;background:var(--c);transition:width .8s cubic-bezier(.7,0,.2,1)}
.other:hover::after{width:100%}
.other small{color:var(--c);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(11px,.7vw,13px)}
.other b{display:flex;justify-content:space-between;align-items:flex-end;gap:1em;font-family:var(--f-display);font-size:clamp(26px,2vw,40px);line-height:1.05;margin-top:.3em}
.other b svg{flex:none;width:1em;height:1em;transition:transform .4s}
.other:hover b svg{transform:translateX(6px)}

@media (max-width:1024px){
  .loc-hero{padding:150px var(--gutter) 40px;min-height:auto}
  .loc-hero-grid{grid-template-columns:1fr;gap:28px}
  .crumbs{margin-bottom:20px}
  .loc-tag{margin-bottom:12px}
  .loc-lead{margin-top:18px}
  .loc-stats div{padding:14px 18px;gap:14px}
  .loc-intro,.loc-heroes,.loc-gallery,.loc-news{padding:72px var(--gutter)}
  .loc-intro-grid{grid-template-columns:1fr;gap:28px}
  .loc-held{padding:18px;margin-top:18px}
  .finder{gap:12px;margin-bottom:20px}
  .found{margin-left:0;width:100%}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw;gap:10px}
  .gal .g1{grid-column:span 2;grid-row:span 1}
  .gal .g2{grid-row:span 1}
  .loc-news-grid{grid-template-columns:1fr;gap:28px}
  .loc-news .post .post-txt{padding:14px 4px 0}
  .loc-others{padding:64px var(--gutter)}
  .others{grid-template-columns:1fr;gap:12px}
  .other{padding:20px;aspect-ratio:16/10}
  .more-wrap{margin-top:24px}
}

/* =====================================================================
   КНИГА ПАМ'ЯТІ (усі Герої) та СТОРІНКА ГЕРОЯ
   ===================================================================== */
.page-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--on-photo);background:#0E1F14;
  padding:calc(var(--header-h) + 8vw) var(--gutter) 5vw}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:radial-gradient(60% 80% at 80% 20%,rgba(243,210,122,.14),transparent 60%),radial-gradient(50% 60% at 10% 100%,rgba(212,42,34,.12),transparent 60%)}
.page-hero #petals{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.page-hero h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(52px,7vw,140px);line-height:.88;letter-spacing:-.015em}
.page-hero h1 em{color:var(--sun);font-weight:600}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4vw;align-items:end}
.ph-lead{margin:1.8vw 0 0;max-width:34em;font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(20px,1.6vw,32px);line-height:1.3;color:rgba(255,253,248,.92)}
.page-hero .crumbs b{color:var(--sun)}
.page-hero .loc-stats b{color:var(--sun)}

/* алфавітний покажчик */
.letters{display:flex;flex-wrap:wrap;gap:.35vw;margin:0 0 1.6vw}
.letters button{min-width:clamp(34px,2.2vw,44px);height:clamp(34px,2.2vw,44px);padding:0 .5em;border-radius:10px;border:0;background:transparent;
  color:#4c5a4d;font-family:var(--f-display);font-weight:700;font-size:clamp(17px,1.15vw,22px);transition:.25s}
.letters button:hover:not(:disabled){background:#FFFDF8;color:var(--leaf)}
.letters button[aria-pressed="true"]{background:var(--leaf);color:#fff}
.letters button:disabled{opacity:.25;cursor:default}
.sortsel{height:clamp(46px,3vw,58px);padding:0 2.6em 0 1.2em;border-radius:999px;border:1.5px solid rgba(30,74,44,.18);background:#FFFDF8;font:inherit;font-weight:600;color:var(--leaf);
  appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231E4A2C' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1.1em center;background-size:.75em}

/* ---- сторінка Героя ---- */
.hp{position:relative;isolation:isolate;overflow:hidden;background:#0E1F14;color:var(--on-photo);padding:calc(var(--header-h) + 6vw) var(--gutter) 6vw}
.hp::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(55% 70% at 25% 45%,rgba(243,190,110,.16),transparent 65%)}
.hp #petals{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.hp-grid{display:grid;grid-template-columns:clamp(280px,26vw,500px) minmax(0,1fr);gap:5vw;align-items:center}
.hp-photo{position:relative;aspect-ratio:4/5;border-radius:999px 999px clamp(22px,2vw,40px) clamp(22px,2vw,40px);overflow:hidden;
  background:linear-gradient(170deg,#2A4F35,#12291A);display:grid;place-items:center;box-shadow:0 40px 90px rgba(0,0,0,.45),0 0 0 1px rgba(243,210,122,.18)}
.hp-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.hp-photo .ph-flower{width:34%;color:rgba(243,210,122,.6)}
.hp-photo small{position:absolute;bottom:8%;left:0;right:0;text-align:center;color:rgba(243,210,122,.6);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.hp-ribbon{position:absolute;top:17%;right:14%;width:14%;aspect-ratio:1/1.6;background:linear-gradient(90deg,var(--sky) 50%,var(--wheat) 50%);
  clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);opacity:.9}
.hp-name{margin:.2em 0 0;font-family:var(--f-display);font-weight:700;font-size:clamp(56px,6.4vw,128px);line-height:.88;letter-spacing:-.015em}
.hp-name span{display:block;font-weight:500;font-size:.5em;line-height:1.1;color:rgba(255,253,248,.85);margin-top:.15em}
.hp-call{display:inline-block;margin-top:.4em;font-family:var(--f-display);font-style:italic;font-weight:600;color:var(--sun);font-size:clamp(26px,2.2vw,44px)}
.hp-dates{display:flex;flex-wrap:wrap;align-items:center;gap:.6em 1.4em;margin:1.6vw 0 0;font-size:clamp(16px,1.1vw,22px);color:rgba(255,253,248,.85);font-variant-numeric:tabular-nums}
.hp-dates b{font-family:var(--f-display);font-size:1.5em;color:#fff;font-weight:700}
.hp-dates .sep{width:3vw;min-width:28px;height:1px;background:rgba(255,253,248,.4)}
.hp-place{display:inline-flex;align-items:center;gap:.5em;margin-top:.8vw;color:rgba(255,253,248,.75);font-size:clamp(15px,.95vw,18px)}
.hp-place svg{width:1.2em;height:1.2em;color:var(--sun)}
.hp-plant{display:flex;flex-wrap:wrap;align-items:center;gap:1.4vw;margin-top:2.4vw;padding:1.4vw 1.8vw;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);max-width:46em}
.hp-plant .pi{width:clamp(54px,3.8vw,74px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:#BFE3B4;flex:none}
.hp-plant .pi svg{width:50%;height:50%}
.hp-plant small{display:block;font-size:clamp(11px,.7vw,13px);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,253,248,.6);font-weight:700}
.hp-plant b{display:block;font-family:var(--f-display);font-size:clamp(24px,1.8vw,36px);line-height:1.1}
.hp-plant b i{color:var(--sun)}
.hp-plant span.meta{color:rgba(255,253,248,.7);font-size:clamp(13px,.85vw,16px)}
.hp-actions{display:flex;flex-wrap:wrap;gap:1vw;margin-top:2.4vw;align-items:center}
/* запалити свічку */
.candle-btn{display:inline-flex;align-items:center;gap:.9em;height:clamp(50px,3.2vw,64px);padding:0 1.6em 0 .6em;border-radius:999px;border:1.5px solid rgba(243,210,122,.5);
  background:rgba(243,210,122,.08);color:var(--sun);font-weight:700;font-size:clamp(13px,.8vw,15px);letter-spacing:.08em;text-transform:uppercase;transition:.4s}
.candle-btn:hover{background:rgba(243,210,122,.16)}
.candle-btn .cnd{position:relative;width:clamp(38px,2.4vw,48px);aspect-ratio:1;border-radius:50%;background:rgba(0,0,0,.25);display:grid;place-items:end center;padding-bottom:22%}
.candle-btn .cnd::before{content:"";width:22%;height:42%;border-radius:2px;background:#EFE6D2}
.candle-btn .cnd::after{content:"";position:absolute;left:50%;top:14%;width:20%;height:30%;translate:-50% 0;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  background:radial-gradient(circle at 50% 70%,#FFF3B0,#F6A43A 60%,#E2552B);transform-origin:50% 100%;transform:scale(0);transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.candle-btn.lit{background:var(--sun);color:#1D2A20;border-color:var(--sun)}
.candle-btn.lit .cnd::after{transform:scale(1);animation:flicker 1.6s ease-in-out infinite .5s}
.candle-btn.lit .cnd{box-shadow:0 0 30px rgba(255,190,90,.6)}
.share{display:inline-flex;align-items:center;gap:.5em;background:none;border:0;color:rgba(255,253,248,.75);font-weight:600;padding:.6em .4em}
.share:hover{color:#fff}
.share svg{width:1.2em;height:1.2em}

.hp-body{background:var(--cream);padding:7vw var(--gutter)}
.hp-body-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:5vw;align-items:start}
.story h2,.where h2,.kin h2{margin:0 0 1.2vw;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(34px,3vw,60px);line-height:1}
.story h2 em,.kin h2 em{color:var(--hibiscus)}
.story-empty{padding:2.4vw;border-radius:28px;border:1.5px dashed rgba(30,74,44,.25);background:#FFFDF8;display:grid;gap:1em;color:#4c5a4d;font-size:clamp(16px,1.02vw,20px);line-height:1.7}
.story-empty p{margin:0}
.story-empty .btn{justify-self:start}
.facts-list{margin:2vw 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);border-top:1px solid rgba(30,74,44,.14)}
.facts-list dt,.facts-list dd{margin:0;padding:1em 0;border-bottom:1px solid rgba(30,74,44,.14);font-size:clamp(15px,.95vw,18px)}
.facts-list dt{color:#7C7A6B;padding-right:2vw;font-weight:600}
.facts-list dd{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.where-card{position:relative;overflow:hidden;border-radius:28px;aspect-ratio:4/3.4;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8vw;isolation:isolate}
.where-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.where-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,14,8,.9),transparent 60%)}
.where-card small{color:var(--sun);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(11px,.7vw,13px)}
.where-card b{font-family:var(--f-display);font-size:clamp(28px,2.2vw,44px);line-height:1.05;margin:.2em 0 .6em}
.where-card .btn{align-self:flex-start}
.kin{background:#F4EDE0;padding:7vw var(--gutter)}
.kin-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2vw;margin-bottom:2.4vw}
.kin-head h2{margin:0}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1.4vw;margin-top:2.4vw}
.pager a{display:flex;flex-direction:column;gap:.3em;padding:1.6vw 2vw;border-radius:24px;background:#FFFDF8;color:var(--leaf);transition:transform .4s,box-shadow .4s}
.pager a:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(30,40,20,.1)}
.pager a:last-child{text-align:right}
.pager small{color:#7C7A6B;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:clamp(11px,.7vw,13px)}
.pager b{font-family:var(--f-display);font-size:clamp(22px,1.6vw,32px);line-height:1.1}

@media (max-width:1024px){
  .page-hero{padding:150px var(--gutter) 48px}
  .ph-grid{grid-template-columns:1fr;gap:28px}
  .ph-lead{margin-top:16px}
  .letters{gap:4px;margin-bottom:16px}
  .hp{padding:140px var(--gutter) 56px}
  .hp-grid{grid-template-columns:1fr;gap:32px}
  .hp-photo{max-width:260px;width:100%;justify-self:center}
  .hp-dates{margin-top:16px}
  .hp-plant{padding:16px;gap:14px;margin-top:22px}
  .hp-actions{gap:10px;margin-top:22px}
  .hp-body,.kin{padding:64px var(--gutter)}
  .hp-body-grid{grid-template-columns:1fr;gap:48px}
  .story-empty{padding:20px}
  .where-card{padding:20px}
  .pager{gap:10px}
  .pager a{padding:16px}
}

.page-hero + .loc-heroes{padding-top:4vw}

/* =====================================================================
   СТОРІНКА «ЗАМОВИТИ РОСЛИНУ»
   ===================================================================== */
.oh{position:relative;overflow:hidden;background:var(--cream);padding:calc(var(--header-h) + 7vw) var(--gutter) 5vw}
.oh::before{content:"";position:absolute;right:-8vw;top:-8vw;width:56vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,96,110,.16),transparent 62%);pointer-events:none}
.oh .crumbs{color:#6b6a5e}.oh .crumbs b{color:var(--hibiscus)}.oh .crumbs a:hover{color:var(--leaf)}
.oh-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3vw;align-items:center}
.oh h1{text-shadow:none;margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(52px,6.4vw,128px);line-height:.9;letter-spacing:-.015em}
.oh h1 em{color:var(--hibiscus);font-weight:600}
.oh-lead{margin:1.8vw 0 0;max-width:34em;color:#3E4A3F;font-size:clamp(17px,1.15vw,22px);line-height:1.65}
.oh .order-steps li{background:#fff;border-color:rgba(30,74,44,.1);color:#4c5a4d}
.oh .order-steps b{color:var(--leaf)}
.oh .order-steps li::before{background:var(--hibiscus);color:#fff}
.oh .bloom svg{filter:drop-shadow(0 30px 50px rgba(120,20,30,.25))}
.oh .tag{box-shadow:0 20px 50px rgba(30,40,20,.18)}

/* каталог рослин */
.plants{background:#F4EDE0;padding:7vw var(--gutter)}
.plants-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2vw;margin-bottom:2.6vw}
.plants-head h2,.form-sec h2,.faq h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.2vw,84px);line-height:.98}
.plants-head h2 em,.form-sec h2 em,.faq h2 em{color:var(--hibiscus)}
.plants-head p{margin:0;max-width:30em;color:#4c5a4d}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2vw}
.pcard{position:relative;display:flex;flex-direction:column;gap:.8vw;padding:1.6vw;border-radius:clamp(20px,1.6vw,32px);background:#FFFDF8;border:2px solid transparent;
  text-align:left;color:var(--ink);cursor:pointer;font:inherit;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .3s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(30,40,20,.12)}
.pcard[aria-pressed="true"]{border-color:var(--hibiscus);box-shadow:0 24px 54px rgba(212,42,34,.16)}
.pcard .pic{width:clamp(64px,4.6vw,92px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--fg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pic{transform:rotate(-12deg) scale(1.06)}
.pcard .pic svg{width:56%;height:56%}
.pcard h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(24px,1.7vw,34px);line-height:1}
.pcard p{margin:0;color:#4c5a4d;font-size:clamp(14px,.86vw,16px);line-height:1.55}
.pcard .when{margin-top:auto;display:flex;flex-wrap:wrap;gap:.4em}
.pcard .when span{padding:.3em .8em;border-radius:999px;background:#EEF3E9;color:var(--leaf);font-size:clamp(12px,.72vw,14px);font-weight:600}
.pcard .tick{position:absolute;right:1.2vw;top:1.2vw;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--hibiscus);color:#fff;
  transform:scale(0);transition:transform .4s cubic-bezier(.2,1.6,.4,1)}
.pcard[aria-pressed="true"] .tick{transform:scale(1)}
.pcard .tick svg{width:55%;height:55%}

/* форма заявки */
.form-sec{background:var(--cream);padding:7vw var(--gutter)}
.form-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:4vw;align-items:start;margin-top:2.6vw}
.oform{display:grid;gap:2.2vw}
.fs{margin:0;padding:0;border:0;display:grid;gap:1vw;min-width:0}
.fs legend{display:flex;align-items:center;gap:.8em;padding:0;margin-bottom:1vw;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(24px,1.7vw,34px)}
.fs legend i{width:1.6em;height:1.6em;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:#fff;font-style:normal;font-size:.62em;font-family:var(--f-body)}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8vw}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt span{display:flex;flex-direction:column;gap:.3em;height:100%;padding:1.1vw 1.2vw;border-radius:18px;border:1.5px solid rgba(30,74,44,.16);background:#FFFDF8;transition:.3s}
.opt b{color:var(--leaf);font-size:clamp(15px,.95vw,18px)}
.opt small{color:#6b6a5e;font-size:clamp(13px,.78vw,15px);line-height:1.45}
.opt input:checked+span{border-color:var(--c,var(--hibiscus));background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--c,var(--hibiscus)) 22%,transparent)}
.opt input:focus-visible+span{outline:2px solid var(--leaf);outline-offset:2px}
.opt .dot{width:10px;height:10px;border-radius:50%;background:var(--c)}
.opts.loc4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1vw}
.fld{display:grid;gap:.45em;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:clamp(13px,.8vw,15px);font-weight:700;color:#4c5a4d}
.fld input,.fld select,.fld textarea{width:100%;min-height:clamp(50px,3.2vw,60px);padding:.8em 1.1em;border-radius:16px;border:1.5px solid rgba(30,74,44,.18);background:#FFFDF8;
  font:inherit;font-size:clamp(15px,.95vw,18px);color:var(--ink);transition:border-color .3s,box-shadow .3s}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(30,74,44,.1)}
.fld .hint{font-size:clamp(12px,.72vw,14px);color:#7C7A6B}
.fld input[aria-invalid="true"]{border-color:var(--hibiscus);box-shadow:0 0 0 4px rgba(212,42,34,.1)}
.err{color:var(--hibiscus);font-size:clamp(12px,.74vw,14px);font-weight:600}
.hero-fields{display:grid;gap:1vw;padding:1.4vw;border-radius:22px;background:#F1E8D6}
.hero-fields[hidden]{display:none}
.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.2vw}
.submit-row small{color:#6b6a5e;max-width:32em}
.done{display:grid;gap:1em;justify-items:start;padding:2.6vw;border-radius:28px;background:var(--leaf);color:#fff}
.done h3{margin:0;font-family:var(--f-display);font-size:clamp(32px,2.6vw,52px);line-height:1}
.done h3 em{color:var(--sun)}
.done p{margin:0;color:rgba(255,255,255,.85);max-width:34em}

/* жива табличка-попередній перегляд */
.preview{position:sticky;top:calc(var(--header-h) + 3vw);display:grid;gap:1.2vw}
.preview-label{font-size:clamp(12px,.74vw,14px);letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:#7C7A6B}
.plaque{position:relative;padding:2.2vw 2vw 2vw;border-radius:22px;background:#FFFDF8;box-shadow:0 30px 70px rgba(30,40,20,.16);transform:rotate(-1.5deg);transition:transform .5s}
.plaque:hover{transform:rotate(0)}
.plaque::before{content:"";position:absolute;left:50%;bottom:-70px;width:8px;height:70px;translate:-50% 0;background:linear-gradient(90deg,#2a2a2a,#555,#2a2a2a);border-radius:2px;z-index:-1}
.plaque-loc{display:inline-flex;align-items:center;gap:.5em;font-size:clamp(11px,.7vw,13px);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#6b6a5e}
.plaque-loc i{width:9px;height:9px;border-radius:50%;background:var(--pc,#C79A3B)}
.plaque-plant{margin:.6em 0 0;font-family:var(--f-display);font-size:clamp(28px,2.1vw,42px);font-weight:700;color:var(--leaf);line-height:1.05}
.plaque-plant i{color:var(--hibiscus)}
.plaque-for{margin:.6em 0 0;color:#3E4A3F;font-size:clamp(14px,.9vw,17px);line-height:1.5;min-height:1.5em}
.plaque-for b{color:var(--ink)}
.plaque-year{margin:.8em 0 0;padding-top:.8em;border-top:1px dashed rgba(30,74,44,.2);display:flex;justify-content:space-between;color:#7C7A6B;font-size:clamp(12px,.74vw,14px)}
.preview-note{margin:3.6vw 0 0;color:#6b6a5e;font-size:clamp(13px,.8vw,15px)}

/* часті питання */
.faq{background:#E7EDE2;padding:7vw var(--gutter)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;align-items:start}
.faq-list{display:grid;gap:.8vw}
.faq details{border-radius:20px;background:#FFFDF8;overflow:hidden}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:1.3vw 1.6vw;cursor:pointer;list-style:none;
  font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(20px,1.4vw,28px);line-height:1.15}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:1.4em;height:1.4em;border-radius:50%;display:grid;place-items:center;background:#EEF3E9;font-family:var(--f-body);font-size:.85em;transition:transform .4s,background .3s,color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--leaf);color:#fff}
.faq details p{margin:0;padding:0 1.6vw 1.4vw;color:#4c5a4d;font-size:clamp(15px,.95vw,18px);line-height:1.7;max-width:46em}

@media (max-width:1024px){
  .oh{padding:140px var(--gutter) 56px}
  .oh-grid{grid-template-columns:1fr;gap:20px}
  .oh .bloom{order:-1;width:min(100%,340px)}
  .plants,.form-sec,.faq{padding:64px var(--gutter)}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pcard{padding:18px;gap:10px}
  .pcard .tick{right:14px;top:14px}
  .form-grid{grid-template-columns:1fr;gap:40px;margin-top:28px}
  .preview{position:static;order:-1;gap:12px}
  .plaque{padding:22px}
  .preview-note{margin-top:60px}
  .oform{gap:28px}
  .fs{gap:12px}.fs legend{margin-bottom:10px}
  .opts,.opts.loc4{grid-template-columns:1fr 1fr;gap:10px}
  .opt span{padding:14px}
  .fields{grid-template-columns:1fr;gap:12px}
  .hero-fields{padding:16px;gap:12px}
  .done{padding:24px}
  .faq-grid{grid-template-columns:1fr;gap:24px}
  .faq-list{gap:10px}
  .faq summary{padding:16px 18px}
  .faq details p{padding:0 18px 16px}
}
@media (max-width:560px){
  .pgrid{grid-template-columns:1fr}
  .opts{grid-template-columns:1fr}
}
.fld input,.fld select{height:clamp(50px,3.2vw,60px);min-height:0;padding-top:0;padding-bottom:0}

/* месенджери (сторінка замовлення) */
.msgs{display:grid;gap:.8vw;padding:1.6vw;border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(30,40,20,.1)}
.msgs h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(22px,1.5vw,30px);line-height:1.1}
.msgs p{margin:0;color:#6b6a5e;font-size:clamp(13px,.8vw,15px)}
.msg-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6vw}
.msg{display:flex;align-items:center;justify-content:center;gap:.5em;height:clamp(48px,3vw,58px);border-radius:14px;color:#fff;font-weight:700;font-size:clamp(13px,.8vw,15px);
  background:var(--mc);transition:transform .3s,filter .3s,box-shadow .3s}
.msg:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 12px 26px color-mix(in srgb,var(--mc) 40%,transparent)}
.msg svg{width:1.4em;height:1.4em;flex:none}
.msg-phone{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4em;padding-top:.6vw;border-top:1px dashed rgba(30,74,44,.2);font-weight:700;color:var(--leaf);font-variant-numeric:tabular-nums}
.msg-phone a:hover{color:var(--hibiscus)}
.oh-msg{display:flex;flex-wrap:wrap;align-items:center;gap:.6vw 1vw;margin-top:1.6vw;color:#6b6a5e;font-size:clamp(14px,.86vw,16px)}
.oh-msg .msg{height:auto;padding:.6em 1.1em;border-radius:999px}
@media (max-width:1024px){
  .msgs{padding:18px;gap:12px}
  .msg-row{gap:8px}
  .oh-msg{gap:8px 10px;margin-top:18px}
}

/* міні-табличка для телефону: завжди видно, що буде написано */
.mini-plaque{display:none}
@media (max-width:1024px){
  .mini-plaque{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;
    border-radius:20px;background:#FFFDF8;box-shadow:0 18px 50px rgba(20,30,15,.28),0 0 0 1px rgba(30,74,44,.08);
    transform:translateY(calc(100% + 30px));transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .mini-plaque.show{transform:none}
  .mini-plaque button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;cursor:pointer}
  .mini-plaque .mp-dot{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pc,#C79A3B);color:#fff}
  .mini-plaque .mp-dot svg{width:55%;height:55%}
  .mini-plaque .mp-txt{flex:1;min-width:0}
  .mini-plaque small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7C7A6B;font-weight:700}
  .mini-plaque .mp-txt b{display:block;font-family:var(--f-display);font-size:21px;line-height:1.15;color:var(--leaf);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mini-plaque .mp-txt b i{color:var(--hibiscus)}
  .mini-plaque .mp-for{display:block;font-size:13px;color:#4c5a4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mini-plaque .mp-arrow{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#EEF3E9;color:var(--leaf);transition:transform .3s}
  .mini-plaque.open .mp-arrow{transform:rotate(180deg)}
  .mini-plaque .mp-full{display:none;padding:0 14px 14px}
  .mini-plaque.open .mp-full{display:block}
  .mini-plaque .mp-full .plaque{transform:none;box-shadow:none;border:1px solid rgba(30,74,44,.12);padding:16px}
  .mini-plaque .mp-full .plaque::before{display:none}
  .mini-plaque.flash{animation:mpflash .6s ease}
  @keyframes mpflash{0%{box-shadow:0 18px 50px rgba(20,30,15,.28),0 0 0 0 rgba(212,42,34,.5)}100%{box-shadow:0 18px 50px rgba(20,30,15,.28),0 0 0 10px rgba(212,42,34,0)}}
  .form-sec{padding-bottom:120px}
}

/* ---- локації: картка-цитата в першому екрані, блок присвяти, велика цитата ---- */
.loc-quote-card{padding:2vw 2.2vw;border-radius:24px;background:rgba(10,18,12,.45);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.loc-quote-card small{display:block;font-size:clamp(11px,.7vw,13px);letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--lc)}
.loc-quote-card p{margin:.6em 0 0;font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(22px,1.7vw,34px);line-height:1.25}
.loc-feature{background:#F4EDE0;padding:8vw var(--gutter)}
.loc-feature .label{color:var(--ld)}
.lf-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4vw;align-items:end;margin-bottom:3vw}
.lf-head h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.4vw,88px);line-height:.98;text-wrap:balance}
.lf-head h2 em{color:var(--ld)}
.lf-head p{margin:0;color:#3E4A3F;font-size:clamp(16px,1.02vw,20px);line-height:1.7;max-width:34em}
.fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vw}
.fgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.fcard{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.9vw;padding:2vw;border-radius:clamp(20px,1.8vw,36px);background:#FFFDF8;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.fcard::after{content:"";position:absolute;left:0;top:0;height:4px;width:28%;background:var(--ld);transition:width .7s cubic-bezier(.7,0,.2,1)}
.fcard:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(30,40,20,.12)}
.fcard:hover::after{width:100%}
.fcard .fi{width:clamp(54px,3.8vw,74px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--lc) 30%,#fff);color:var(--ld);
  transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.fcard:hover .fi{transform:rotate(-10deg) scale(1.06)}
.fcard .fi svg{width:48%;height:48%}
.fcard h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(26px,1.9vw,38px);line-height:1.05}
.fcard p{margin:0;color:#4c5a4d;font-size:clamp(14px,.9vw,17px);line-height:1.65}
.fcard.empty{border:1.5px dashed color-mix(in srgb,var(--ld) 45%,transparent);background:transparent}
.fcard.empty .btn{align-self:flex-start;margin-top:auto}
.big-quote{position:relative;overflow:hidden;isolation:isolate;background:var(--ld);color:#fff;padding:7vw var(--gutter);text-align:center}
.big-quote::before{content:"“";position:absolute;left:50%;top:-.12em;translate:-50% 0;font-family:var(--f-display);font-size:clamp(220px,22vw,440px);line-height:1;color:rgba(255,255,255,.1);z-index:-1}
.big-quote p{margin:0 auto;max-width:22em;font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(32px,3.6vw,72px);line-height:1.12;text-wrap:balance}
.big-quote small{display:block;margin-top:1.6vw;font-size:clamp(12px,.78vw,15px);letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.75)}
@media (max-width:1024px){
  .loc-quote-card{padding:18px}
  .loc-feature{padding:72px var(--gutter)}
  .lf-head{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  .fgrid,.fgrid.four{grid-template-columns:1fr 1fr;gap:12px}
  .fcard{padding:20px;gap:12px}
  .fcard.empty{grid-column:1/-1}
  .big-quote{padding:72px var(--gutter)}
  .big-quote small{margin-top:16px}
}
@media (max-width:560px){.fgrid,.fgrid.four{grid-template-columns:1fr}}

/* =====================================================================
   НОВИНИ: список і окрема новина
   ===================================================================== */
.nh{background:var(--cream);padding:calc(var(--header-h) + 5vw) var(--gutter) 2vw}
.nh .crumbs{color:#6b6a5e}.nh .crumbs b{color:var(--hibiscus)}.nh .crumbs a:hover{color:var(--leaf)}
.nh-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2vw 4vw}
.nh h1{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(52px,6.4vw,128px);line-height:.9;letter-spacing:-.015em;text-shadow:none}
.nh h1 em{color:var(--hibiscus);font-weight:600}
.nh-tools{display:flex;flex-wrap:wrap;align-items:center;gap:1vw;margin-top:2.4vw}
.nh-tools .search{flex:0 1 380px}
.news-wrap{background:var(--cream);padding:2vw var(--gutter) 7vw}
/* головна новина */
.feat-post{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:3vw;align-items:center;margin-bottom:3vw;color:var(--ink)}
.feat-post .post-img{aspect-ratio:16/10;border-radius:clamp(22px,2vw,40px)}
.feat-post .date{display:block}
.feat-post h2{margin:.5em 0 0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(34px,3vw,60px);line-height:1.02;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .6s;display:inline}
.feat-post:hover h2{background-size:100% 2px}
.feat-post p{margin:1.2em 0 0;color:#4c5a4d;font-size:clamp(16px,1.05vw,20px);line-height:1.7;max-width:34em}
.feat-post .more{margin-top:1.6vw}
.news-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw 1.6vw}
.news-list .post{grid-template-columns:1fr;align-items:start;padding:0;background:transparent;gap:0}
.news-list .post:hover{box-shadow:none}
.news-list .post .post-img{aspect-ratio:4/3;border-radius:clamp(18px,1.6vw,32px)}
.news-list .post .date{display:block}
.news-list .post .post-txt{padding:1.2vw .3vw 0}
.news-list .post p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pages{display:flex;justify-content:center;align-items:center;gap:.5vw;margin-top:3.6vw}
.pages button{min-width:clamp(44px,3vw,56px);height:clamp(44px,3vw,56px);padding:0 1em;border-radius:999px;border:1.5px solid rgba(30,74,44,.18);background:transparent;
  color:var(--leaf);font-weight:700;font-variant-numeric:tabular-nums;transition:.3s}
.pages button:hover:not(:disabled){border-color:var(--leaf)}
.pages button[aria-current="page"]{background:var(--leaf);border-color:var(--leaf);color:#fff}
.pages button:disabled{opacity:.35;cursor:default}
.subscribe{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2vw;align-items:center;margin-top:5vw;padding:2.6vw 3vw;border-radius:clamp(24px,2.2vw,44px);
  background:var(--leaf);color:#fff}
.subscribe h3{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(28px,2.4vw,48px);line-height:1.05}
.subscribe h3 em{color:var(--sun)}
.subscribe p{margin:.6em 0 0;color:rgba(255,255,255,.8)}
.subscribe .socials{display:flex;gap:.8vw}
.subscribe .socials a{width:clamp(52px,3.4vw,64px);color:#fff;border-color:rgba(255,255,255,.35)}
.subscribe .socials a:hover{background:var(--sun);color:var(--leaf);border-color:var(--sun)}

/* окрема новина */
.art-hero{background:var(--cream);padding:calc(var(--header-h) + 5vw) var(--gutter) 0}
.art-hero .crumbs{color:#6b6a5e}.art-hero .crumbs b{color:var(--hibiscus)}.art-hero .crumbs a:hover{color:var(--leaf)}
.art-head{max-width:min(1200px,100%)}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6em 1.4em;font-size:clamp(14px,.86vw,16px);color:#6b6a5e}
.art-meta .post-loc{font-size:1em}
.art-head h1{margin:.4em 0 0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(44px,4.8vw,96px);line-height:.98;letter-spacing:-.01em;text-wrap:balance;text-shadow:none}
.art-head h1 em{color:var(--hibiscus)}
.art-lead{margin:1.4vw 0 0;max-width:40em;font-family:var(--f-display);font-style:italic;font-weight:600;color:#3E4A3F;font-size:clamp(22px,1.6vw,32px);line-height:1.35}
.art-cover{position:relative;margin-top:3vw;border-radius:clamp(24px,2.4vw,48px);overflow:hidden;aspect-ratio:21/9;background:#cfd8c4}
.art-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.art-cover figcaption{position:absolute;left:1.4vw;bottom:1.4vw;padding:.5em 1em;border-radius:999px;background:rgba(251,246,236,.9);color:#4c5a4d;font-size:clamp(12px,.74vw,14px)}
.art-wrap{background:var(--cream);padding:4vw var(--gutter) 7vw}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,440px);gap:6vw;align-items:start}
.art-text{max-width:44em;color:#2E3A30;font-size:clamp(17px,1.12vw,21px);line-height:1.8}
.art-text p{margin:0 0 1.2em}
.art-text>p:first-child::first-letter{float:left;font-family:var(--f-display);font-weight:700;font-size:4.4em;line-height:.8;margin:.06em .12em 0 0;color:var(--hibiscus)}
.art-text h2{margin:1.6em 0 .6em;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(28px,2vw,40px);line-height:1.1}
.art-text a:not(.art-hero-card){color:var(--hibiscus);border-bottom:1px solid currentColor}
.pull{margin:1.8em 0;padding:1.4em 0 1.4em 1.4em;border-left:3px solid var(--hibiscus);font-family:var(--f-display);font-style:italic;font-weight:600;color:var(--leaf);
  font-size:clamp(26px,1.9vw,38px);line-height:1.25}
.art-hero-card{display:flex;align-items:center;gap:1.2vw;margin:2em 0;padding:1.2vw;border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(30,40,20,.08);color:var(--ink);transition:transform .4s,box-shadow .4s}
.art-hero-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(30,40,20,.12)}
.art-hero-card .portrait{width:clamp(80px,6vw,110px);flex:none}
.art-hero-card small{display:block;font-size:clamp(11px,.7vw,13px);letter-spacing:.18em;text-transform:uppercase;color:#7C7A6B;font-weight:700}
.art-hero-card b{display:block;font-family:var(--f-display);font-size:clamp(24px,1.7vw,32px);color:var(--leaf);line-height:1.1}
.art-hero-card span.y{color:#6b6a5e;font-size:clamp(14px,.86vw,16px)}
.art-gal{display:grid;grid-template-columns:1fr 1fr;gap:1vw;margin:2em 0}
.art-gal button{padding:0;border:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;background:#cfd8c4}
.art-gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.art-gal button:hover img{transform:scale(1.05)}
.art-share{display:flex;flex-wrap:wrap;align-items:center;gap:1vw;margin-top:2.4em;padding-top:1.6em;border-top:1px solid rgba(30,74,44,.14);color:#6b6a5e;font-weight:600}
.art-share .share{color:var(--leaf);padding:.7em 1.2em;border-radius:999px;border:1.5px solid rgba(30,74,44,.2)}
.art-share .share:hover{background:var(--leaf);color:#fff}
.art-side{position:sticky;top:calc(var(--header-h) + 3vw);display:grid;gap:1.6vw}
.side-card{padding:1.6vw;border-radius:24px;background:#F4EDE0}
.side-card h3{margin:0 0 1em;font-size:clamp(12px,.74vw,14px);letter-spacing:.22em;text-transform:uppercase;color:#6b6a5e;font-weight:700}
.side-news{display:grid;gap:1.2vw}
.side-news a{display:grid;grid-template-columns:clamp(70px,5vw,96px) minmax(0,1fr);gap:1vw;align-items:center;color:var(--ink)}
.side-news img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}
.side-news time{font-size:clamp(12px,.72vw,14px);color:#7C7A6B}
.side-news b{display:block;font-family:var(--f-display);font-size:clamp(18px,1.15vw,22px);color:var(--leaf);line-height:1.15;transition:color .3s}
.side-news a:hover b{color:var(--hibiscus)}
.art-side .where-card{aspect-ratio:4/3.6}

@media (max-width:1024px){
  .nh{padding:130px var(--gutter) 16px}
  .nh-tools{gap:12px;margin-top:20px}
  .nh-tools .search{flex:1 1 100%}
  .news-wrap{padding:16px var(--gutter) 64px}
  .feat-post{grid-template-columns:1fr;gap:18px;margin-bottom:36px}
  .feat-post .more{margin-top:18px}
  .news-list{grid-template-columns:1fr;gap:32px}
  .news-list .post .post-txt{padding:14px 4px 0}
  .pages{gap:6px;margin-top:36px}
  .subscribe{grid-template-columns:1fr;padding:24px;gap:18px;margin-top:56px}
  .subscribe .socials{gap:10px}
  .art-hero{padding:130px var(--gutter) 0}
  .art-lead{margin-top:14px}
  .art-cover{aspect-ratio:4/3;margin-top:24px}
  .art-cover figcaption{left:12px;bottom:12px}
  .art-wrap{padding:36px var(--gutter) 64px}
  .art-grid{grid-template-columns:1fr;gap:48px}
  .art-hero-card{padding:12px;gap:14px}
  .art-gal{gap:10px}
  .art-share{gap:10px}
  .art-side{position:static;gap:16px}
  .side-card{padding:18px}
  .side-news{gap:14px}
  .side-news a{gap:12px}
}
@media (min-width:1025px) and (max-width:1400px){.news-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.feat-post.pop{animation:pop .7s cubic-bezier(.2,.7,.2,1) both}
@media (max-width:1024px){
  .nh .tabs{flex-wrap:nowrap;overflow-x:auto;border-radius:999px;max-width:100%;scrollbar-width:none}
  .nh .tabs::-webkit-scrollbar{display:none}
  .nh .tab{flex:none;white-space:nowrap}
}

/* =====================================================================
   УЧАСНИКИ
   ===================================================================== */
.team-intro{background:var(--cream);padding:0 var(--gutter) 6vw}
.team-intro .founder{margin-top:0}
.founder-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vw;margin-top:1.4vw}
.fs-step{padding:1.6vw;border-radius:24px;background:#FFFDF8;display:grid;gap:.6vw;align-content:start}
.fs-step small{font-size:clamp(11px,.7vw,13px);letter-spacing:.2em;text-transform:uppercase;color:var(--hibiscus);font-weight:700}
.fs-step h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(22px,1.6vw,32px);line-height:1.1}
.fs-step p{margin:0;color:#4c5a4d;font-size:clamp(14px,.9vw,17px);line-height:1.6}

.crew{background:#F4EDE0;padding:7vw var(--gutter)}
.crew-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2vw;margin-bottom:2.4vw}
.crew-head h2,.partners h2,.thanks h2,.join-team h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.2vw,84px);line-height:.98}
.crew-head h2 em,.partners h2 em,.thanks h2 em,.join-team h2 em{color:var(--hibiscus)}
.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4vw}
.person{display:grid;gap:.9vw;color:var(--ink)}
.person .ph{position:relative;aspect-ratio:4/5;border-radius:clamp(20px,1.8vw,36px);overflow:hidden;background:linear-gradient(170deg,var(--bg1),var(--bg2));display:grid;place-items:center}
.person .ph span.ini{font-family:var(--f-display);font-style:italic;font-weight:700;color:rgba(255,255,255,.9);font-size:clamp(48px,4.4vw,88px);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.person:hover .ph span.ini{transform:scale(1.1) rotate(-4deg)}
.person .ph small{position:absolute;left:0;right:0;bottom:6%;text-align:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700}
.person .role{position:absolute;left:1vw;top:1vw;padding:.4em .9em;border-radius:999px;background:rgba(251,246,236,.92);color:var(--leaf);font-size:clamp(11px,.7vw,13px);font-weight:700}
.person h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(22px,1.55vw,30px);line-height:1.05}
.person p{margin:0;color:#4c5a4d;font-size:clamp(14px,.86vw,16px);line-height:1.55}

.partners{background:var(--cream);padding:7vw var(--gutter)}
.p-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2vw;margin-top:2.4vw}
.partner{display:grid;gap:1vw;padding:1.6vw;border-radius:24px;background:#FFFDF8;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.partner:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(30,40,20,.1)}
.partner .lg{aspect-ratio:2/1;border-radius:16px;border:1.5px dashed rgba(30,74,44,.22);display:grid;place-items:center;color:#8a8f80;font-weight:600;font-size:clamp(12px,.74vw,14px)}
.partner b{font-family:var(--f-display);font-size:clamp(20px,1.35vw,26px);color:var(--leaf);line-height:1.1}
.partner span{color:#6b6a5e;font-size:clamp(13px,.8vw,15px)}
.help-kinds{display:flex;flex-wrap:wrap;gap:.5em;margin-top:1.6vw}
.help-kinds span{padding:.5em 1.1em;border-radius:999px;background:#EEF3E9;color:var(--leaf);font-weight:600;font-size:clamp(13px,.8vw,15px)}

.thanks{background:#12291A;color:var(--on-photo);padding:7vw var(--gutter);overflow:hidden}
.thanks h2{color:#fff}.thanks h2 em{color:var(--sun)}
.thanks .label{color:var(--sun)}
.thanks-intro{margin:1.2vw 0 3vw;max-width:40em;color:rgba(255,253,248,.75);font-size:clamp(16px,1.02vw,20px);line-height:1.7}
.names{display:flex;flex-wrap:wrap;gap:.8vw 2vw;font-family:var(--f-display);font-size:clamp(24px,2vw,40px);line-height:1.2}
.names span{color:rgba(255,253,248,.35);transition:color .5s}
.names span.lit{color:#fff}
.names span:nth-child(3n+1).lit{color:var(--sun)}
.names i{font-style:normal;color:var(--hibiscus)}
.thanks-note{margin-top:2.4vw;color:rgba(255,253,248,.5);font-size:clamp(13px,.8vw,15px)}

.join-team{background:var(--cream);padding:7vw var(--gutter)}
.jt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;align-items:start}
.jt-list{display:grid;gap:1px;margin-top:2vw;border-radius:24px;overflow:hidden;background:rgba(30,74,44,.12)}
.jt-list div{display:grid;grid-template-columns:auto 1fr;gap:1.2vw;align-items:center;padding:1.2vw 1.4vw;background:#FFFDF8}
.jt-list b{font-family:var(--f-display);font-size:clamp(28px,2vw,40px);color:var(--hibiscus);line-height:1;min-width:1.2em}
.jt-list span{color:#3E4A3F;font-size:clamp(15px,.95vw,18px)}
.jt-list span strong{display:block;color:var(--leaf);font-size:1.05em}
.jt-form{padding:2.4vw;border-radius:28px;background:#F4EDE0;display:grid;gap:1.2vw}
.jt-form h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(28px,2vw,40px)}
.jt-form .opts{grid-template-columns:repeat(2,minmax(0,1fr))}
.jt-form .opt input[type=checkbox]{position:absolute;opacity:0;inset:0}
.jt-form .msg-row{margin-top:.4vw}

@media (max-width:1024px){
  .team-intro{padding:0 var(--gutter) 56px}
  .founder-story{grid-template-columns:1fr;gap:10px;margin-top:12px}
  .fs-step{padding:18px;gap:8px}
  .crew,.partners,.thanks,.join-team{padding:64px var(--gutter)}
  .crew-head{margin-bottom:24px}
  .people-grid{grid-template-columns:1fr 1fr;gap:14px}
  .person{gap:10px}
  .person .role{left:10px;top:10px}
  .p-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  .partner{padding:14px;gap:10px}
  .help-kinds{margin-top:18px}
  .thanks-intro{margin:12px 0 28px}
  .names{gap:6px 16px}
  .jt-grid{grid-template-columns:1fr;gap:32px}
  .jt-list{margin-top:20px}.jt-list div{padding:14px 16px;gap:14px}
  .jt-form{padding:20px;gap:14px}
}
.person .ph .ini-f{width:clamp(70px,5.6vw,110px);height:auto;color:rgba(255,255,255,.55)}

/* =====================================================================
   ПРО ПРОСТІР
   ===================================================================== */
.ab-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--on-photo);min-height:max(640px,min(86vh,960px));display:flex;flex-direction:column;justify-content:flex-end;
  padding:calc(var(--header-h) + 8vw) var(--gutter) 4vw}
.ab-hero .loc-hero-bg img{object-position:50% 60%}
.ab-hero h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(52px,7vw,140px);line-height:.88;letter-spacing:-.015em;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.ab-hero h1 em{color:var(--sun);font-weight:600}
.ab-hero .crumbs b{color:var(--sun)}

/* маніфест "Місце, де..." */
.manifest{background:var(--cream);padding:8vw var(--gutter)}
.mf-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;align-items:start}
.mf-side{position:sticky;top:calc(var(--header-h) + 4vw)}
.mf-side h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.2vw,84px);line-height:.98}
.mf-side h2 em{color:var(--hibiscus)}
.mf-side p{margin:1.4vw 0 0;color:#4c5a4d;font-size:clamp(16px,1.02vw,20px);line-height:1.7;max-width:30em}
.mf-list{display:grid}
.mf-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.6vw;align-items:baseline;padding:2vw 0;border-bottom:1px solid rgba(30,74,44,.14);
  opacity:.3;transition:opacity .7s ease}
.mf-line.on{opacity:1}
.mf-line i{font-style:normal;font-family:var(--f-display);font-size:clamp(18px,1.2vw,24px);color:var(--hibiscus);font-weight:700}
.mf-line p{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(28px,2.6vw,52px);line-height:1.12}
.mf-line p em{color:var(--hibiscus)}
.mf-final{margin-top:3vw;padding:2.4vw;border-radius:28px;background:var(--leaf);color:#fff;font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(26px,2.2vw,44px);line-height:1.2}
.mf-final em{color:var(--sun)}

/* Книга рекордів */
.record{background:#12291A;color:var(--on-photo);padding:8vw var(--gutter);overflow:hidden}
.rec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;align-items:center}
.record .label{color:var(--sun)}
.record h2{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(40px,4.4vw,88px);line-height:.98}
.record h2 em{color:var(--sun)}
.record p{margin:1.4vw 0 0;color:rgba(255,253,248,.78);font-size:clamp(16px,1.02vw,20px);line-height:1.7;max-width:34em}
.rec-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:2.4vw;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.12)}
.rec-facts div{padding:1.3vw 1.5vw;background:#12291A}
.rec-facts small{display:block;font-size:clamp(11px,.7vw,13px);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,253,248,.55);font-weight:700}
.rec-facts b{display:block;margin-top:.3em;font-family:var(--f-display);font-size:clamp(24px,1.8vw,36px);color:var(--sun);line-height:1.1}
.diploma{position:relative;justify-self:center;width:min(100%,32vw);aspect-ratio:3/4;padding:3vw 2.6vw;border-radius:8px;background:#FBF6EC;color:var(--leaf);text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vw;transform:rotate(-3deg);box-shadow:0 40px 90px rgba(0,0,0,.5);
  outline:2px solid #C9A24A;outline-offset:-14px;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.diploma:hover{transform:rotate(0) scale(1.02)}
.diploma::after{content:"";position:absolute;inset:22px;border:1px solid rgba(201,162,74,.6);pointer-events:none}
.diploma .seal{width:clamp(80px,6vw,120px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#F3D27A,#B8862C);color:#5A3E0E;
  box-shadow:0 6px 18px rgba(120,80,20,.35)}
.diploma .seal svg{width:55%;height:55%}
.diploma small{font-size:clamp(11px,.7vw,13px);letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:#8a6a28}
.diploma b{font-family:var(--f-display);font-size:clamp(28px,2.4vw,48px);line-height:1}
.diploma span{font-family:var(--f-display);font-style:italic;font-size:clamp(18px,1.3vw,26px);color:#3E4A3F}
.diploma .ph-note{margin-top:1vw;font-size:12px;color:#8a8f80;font-family:var(--f-body);font-style:normal}

/* хронологія */
.timeline{background:#F4EDE0;padding:8vw var(--gutter)}
.tl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2vw;margin-bottom:3vw}
.tl-head h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.2vw,84px);line-height:.98}
.tl-head h2 em{color:var(--hibiscus)}
.tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4vw}
.tl::before{content:"";position:absolute;left:0;right:0;top:clamp(26px,1.8vw,34px);height:2px;background:rgba(30,74,44,.16)}
.tl::after{content:"";position:absolute;left:0;top:clamp(26px,1.8vw,34px);height:2px;width:var(--tlp,0%);background:var(--hibiscus);transition:width 2s cubic-bezier(.2,.7,.2,1)}
.tl-item{position:relative;display:grid;gap:.8vw;align-content:start}
.tl-dot{position:relative;z-index:1;width:clamp(52px,3.6vw,68px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#FFFDF8;border:2px solid rgba(30,74,44,.18);color:var(--leaf);
  transition:background .5s,border-color .5s,color .5s}
.tl-item.on .tl-dot{background:var(--hibiscus);border-color:var(--hibiscus);color:#fff}
.tl-dot svg{width:44%;height:44%}
.tl-item small{font-size:clamp(12px,.74vw,14px);letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--hibiscus);margin-top:.6vw}
.tl-item h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(24px,1.8vw,36px);line-height:1.05}
.tl-item p{margin:0;color:#4c5a4d;font-size:clamp(14px,.9vw,17px);line-height:1.6}
.tl-note{margin-top:2.4vw;color:#7C7A6B;font-size:clamp(13px,.8vw,15px)}

/* велика галерея */
.ab-gal{background:var(--cream);padding:8vw var(--gutter)}
.ab-gal .gal{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(140px,11vw,220px)}
.ab-gal .gal button:nth-child(1){grid-column:span 3;grid-row:span 2}
.ab-gal .gal button:nth-child(2){grid-column:span 3}
.ab-gal .gal button:nth-child(n+4){grid-column:span 2;grid-row:span 1}
.ab-gal .gal button:nth-child(2),.ab-gal .gal button:nth-child(3){grid-column:span 3;grid-row:span 1}

.ab-cta{background:var(--cream);padding:0 var(--gutter) 8vw}
.ab-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4vw}
.cta-card{position:relative;overflow:hidden;isolation:isolate;border-radius:clamp(24px,2.4vw,48px);padding:3vw;min-height:clamp(320px,24vw,460px);display:flex;flex-direction:column;justify-content:flex-end;gap:1vw;color:#fff}
.cta-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.cta-card:hover img{transform:scale(1.05)}
.cta-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,14,8,.9),rgba(6,14,8,.2) 70%)}
.cta-card h3{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(32px,2.8vw,56px);line-height:1}
.cta-card h3 em{color:var(--sun)}
.cta-card p{margin:0;max-width:30em;color:rgba(255,255,255,.85)}
.cta-card .btn{align-self:flex-start;margin-top:.6vw}

@media (max-width:1024px){
  .ab-hero{padding:150px var(--gutter) 40px;min-height:560px}
  .manifest,.record,.timeline,.ab-gal{padding:72px var(--gutter)}
  .mf-grid{grid-template-columns:1fr;gap:28px}
  .mf-side{position:static}
  .mf-side p{margin-top:14px}
  .mf-line{padding:18px 0;gap:14px;opacity:1}
  .mf-final{margin-top:28px;padding:22px}
  .rec-grid{grid-template-columns:1fr;gap:48px}
  .record p{margin-top:14px}
  .rec-facts{margin-top:24px}.rec-facts div{padding:14px 16px}
  .diploma{width:min(100%,320px);padding:36px 28px;gap:10px}
  .tl-head{margin-bottom:28px}
  .tl{grid-template-columns:1fr;gap:24px;padding-left:0}
  .tl::before,.tl::after{display:none}
  .tl-item{grid-template-columns:auto 1fr;gap:4px 16px}
  .tl-item .tl-dot{grid-row:span 3}
  .tl-item small{margin-top:4px}
  .ab-gal .gal{grid-template-columns:1fr 1fr;grid-auto-rows:42vw}
  .ab-gal .gal button:nth-child(n){grid-column:span 1;grid-row:span 1}
  .ab-gal .gal button:nth-child(1){grid-column:span 2}
  .ab-cta{padding:0 var(--gutter) 72px}
  .ab-cta-grid{grid-template-columns:1fr;gap:12px}
  .cta-card{padding:24px;min-height:300px;gap:10px}
}
.ab-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,12,8,.82) 0%,rgba(6,12,8,.55) 45%,rgba(6,12,8,.1) 75%),linear-gradient(0deg,rgba(6,12,8,.85) 0%,rgba(6,12,8,0) 55%),linear-gradient(180deg,rgba(6,12,8,.45) 0%,rgba(6,12,8,0) 25%)}
.ab-hero #petals{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.ab-hero .loc-hero-bg{position:absolute;inset:0;z-index:-3}
.ab-hero .loc-hero-bg img{width:100%;height:100%;object-fit:cover;animation:kenburns 30s ease-in-out infinite alternate}

/* =====================================================================
   КОНТАКТИ
   ===================================================================== */
.ct-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2vw;margin-top:3vw}
.ct-card{display:flex;flex-direction:column;gap:.8vw;padding:1.8vw;border-radius:clamp(20px,1.8vw,36px);background:#FFFDF8;color:var(--ink);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.ct-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(30,40,20,.1)}
.ct-card .ico{width:clamp(52px,3.6vw,70px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--bg,#EEF3E9);color:var(--fg,var(--leaf))}
.ct-card .ico svg{width:46%;height:46%}
.ct-card small{font-size:clamp(11px,.7vw,13px);letter-spacing:.2em;text-transform:uppercase;color:#7C7A6B;font-weight:700}
.ct-card b{font-family:var(--f-display);font-size:clamp(22px,1.6vw,32px);color:var(--leaf);line-height:1.15}
.ct-card a.big{font-family:var(--f-display);font-size:clamp(24px,1.7vw,34px);font-weight:700;color:var(--leaf);font-variant-numeric:tabular-nums;line-height:1.2}
.ct-card a.big:hover{color:var(--hibiscus)}
.ct-card p{margin:0;color:#4c5a4d;font-size:clamp(14px,.86vw,16px);line-height:1.55}
.ct-card .copy-num{margin-top:auto;align-self:flex-start}
.copy-num{display:inline-flex;cursor:pointer;font-family:var(--f-body);align-items:center;gap:.45em;padding:.55em 1em;border-radius:999px;border:1.5px solid rgba(30,74,44,.2);background:transparent;color:var(--leaf);font-weight:700;font-size:clamp(12px,.74vw,14px);transition:.3s}
.copy-num:hover{background:var(--leaf);color:#fff;border-color:var(--leaf)}
.copy-num.done{background:var(--sun);border-color:var(--sun);color:var(--leaf)}
.ct-card .msg-row{grid-template-columns:1fr;gap:.5vw;margin-top:auto}
.ct-card .socials{display:flex;gap:.5vw;margin-top:auto}
.ct-card .socials a{color:var(--leaf);border-color:rgba(30,74,44,.25)}
.ct-card .socials a:hover{background:var(--leaf);color:#fff}

.ct-main{background:#F4EDE0;padding:7vw var(--gutter)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;align-items:start}
.ct-main h2,.visit h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(40px,4.2vw,84px);line-height:.98}
.ct-main h2 em,.visit h2 em{color:var(--hibiscus)}
.ct-form{display:grid;gap:1.2vw;margin-top:2vw}
.ct-topics{display:flex;flex-wrap:wrap;gap:.5em}
.ct-topics label{position:relative;cursor:pointer}
.ct-topics input{position:absolute;opacity:0;inset:0;cursor:pointer}
.ct-topics span{display:inline-block;padding:.65em 1.15em;border-radius:999px;border:1.5px solid rgba(30,74,44,.18);background:#FFFDF8;color:#4c5a4d;font-weight:600;font-size:clamp(13px,.82vw,15px);transition:.3s}
.ct-topics input:checked+span{background:var(--leaf);border-color:var(--leaf);color:#fff}
.ct-topics input:focus-visible+span{outline:2px solid var(--leaf);outline-offset:2px}

.visit{background:var(--cream);padding:7vw var(--gutter)}
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vw;margin-top:2.6vw}
.vcard{display:grid;gap:.8vw;align-content:start;padding:1.8vw;border-radius:24px;background:#FFFDF8}
.vcard .num{font-family:var(--f-display);font-size:clamp(40px,3vw,60px);line-height:1;color:var(--hibiscus);font-weight:700}
.vcard h3{margin:0;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(24px,1.7vw,34px);line-height:1.05}
.vcard p{margin:0;color:#4c5a4d;font-size:clamp(14px,.9vw,17px);line-height:1.6}
.vcard ul{margin:0;padding:0;list-style:none;display:grid;gap:.5em}
.vcard li{display:flex;gap:.6em;color:#3E4A3F;font-size:clamp(14px,.9vw,17px);line-height:1.5}
.vcard li::before{content:"✿";color:var(--hibiscus);flex:none}

@media (max-width:1024px){
  .ct-cards{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
  .ct-card{padding:18px;gap:10px}
  .ct-card .msg-row{gap:8px}
  .ct-main,.visit{padding:64px var(--gutter)}
  .ct-grid{grid-template-columns:1fr;gap:36px}
  .ct-form{gap:14px;margin-top:20px}
  .vgrid{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .vcard{padding:20px;gap:10px}
}
@media (max-width:560px){.ct-cards{grid-template-columns:1fr}}
.ct-card a.big{font-family:var(--f-body);font-weight:700;font-size:clamp(20px,1.35vw,26px);letter-spacing:.01em}

/* реквізити (контакти) */
.reqs{background:#F4EDE0;padding:0 var(--gutter) 7vw}
.reqs-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4vw;align-items:start;padding:3vw;border-radius:clamp(24px,2.4vw,48px);background:#FFFDF8}
.reqs-box h2{margin:0;font-family:var(--f-display);font-weight:600;color:var(--leaf);font-size:clamp(36px,3.4vw,68px);line-height:1}
.reqs-box h2 em{color:var(--hibiscus)}
.reqs-box p{margin:1.2vw 0 0;color:#4c5a4d;font-size:clamp(15px,.95vw,18px);line-height:1.65;max-width:30em}
.rq-list{display:grid;gap:1px;border-radius:20px;overflow:hidden;background:rgba(30,74,44,.12)}
.rq{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.2vw;padding:1.1vw 1.4vw;background:#FFFDF8}
.rq small{display:block;font-size:clamp(11px,.68vw,13px);letter-spacing:.18em;text-transform:uppercase;color:#7C7A6B;font-weight:700}
.rq code{display:block;margin-top:.2em;font-family:var(--f-body);font-size:clamp(15px,1vw,19px);font-weight:700;color:var(--ink);letter-spacing:.02em;overflow-wrap:anywhere;user-select:all;font-variant-numeric:tabular-nums}
.rq .copy-num{margin:0}
.rq-mono{display:flex;flex-wrap:wrap;align-items:center;gap:1vw;margin-top:1.6vw}
.rq-mono .btn-mono{border:1.5px solid rgba(30,74,44,.2)}
@media (max-width:1024px){
  .reqs{padding:0 var(--gutter) 64px}
  .reqs-box{grid-template-columns:1fr;gap:24px;padding:22px}
  .reqs-box p{margin-top:12px}
  .rq{grid-template-columns:1fr;gap:8px;padding:14px 16px}
  .rq .copy-num{justify-self:start}
  .rq-mono{margin-top:16px;gap:10px}
}
/* мобільне меню: шапка з кнопкою закриття поверх меню */
body.menu-open .site-header{z-index:95}
body.menu-open .site-header .bar{background:transparent;border-color:transparent;box-shadow:none}
.drawer{z-index:90}

.drawer-contacts{display:grid;gap:4px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(30,74,44,.12)}
.drawer-contacts a{font-weight:700;font-size:20px;color:var(--leaf);font-variant-numeric:tabular-nums}
.drawer .msg-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.drawer .msg{height:48px;border-radius:14px;font-size:14px}
.drawer .btn{margin-top:16px}
.news{background:#E7EDE2}
.drawer>*{flex-shrink:0}.drawer .btn{min-height:52px}

/* =====================================================================
   ПОПАП-ФОРМИ (спільні для всіх сторінок, розмітку додає popup.js)
   ===================================================================== */
.pp{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}
.pp[hidden]{display:none}
.pp-back{position:absolute;inset:0;background:rgba(8,16,10,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.pp.open .pp-back{opacity:1}
.pp-box{position:relative;width:min(980px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  border-radius:clamp(22px,2vw,36px);overflow:hidden;background:var(--cream);box-shadow:0 40px 120px rgba(0,0,0,.4);
  opacity:0;transform:translateY(24px) scale(.97);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.pp.open .pp-box{opacity:1;transform:none}
.pp-side{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:32px;color:#fff;min-height:100%}
.pp-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pp-side::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,14,8,.92),rgba(6,14,8,.25) 75%)}
.pp-side small{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--sun)}
.pp-side b{font-family:var(--f-display);font-size:clamp(26px,2vw,36px);line-height:1.1;font-weight:600}
.pp-side .pp-perks{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.pp-side .pp-perks li{display:flex;gap:10px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.88)}
.pp-side .pp-perks li::before{content:"✿";color:var(--sun);flex:none}
.pp-main{position:relative;overflow-y:auto;padding:36px 36px 32px;display:grid;gap:18px;align-content:start}
.pp-close{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(30,74,44,.18);background:#FFFDF8;color:var(--leaf);
  display:grid;place-items:center;font-size:22px;line-height:1;transition:.3s}
.pp-close:hover{background:var(--leaf);color:#fff;transform:rotate(90deg)}
.pp-main h2{margin:0;padding-right:44px;font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(30px,2.4vw,44px);line-height:1.02}
.pp-main h2 em{color:var(--hibiscus)}
.pp-lead{margin:0;color:#4c5a4d;font-size:15px;line-height:1.55}
.pp-form{display:grid;gap:14px}
.pp-form .fields{gap:12px}
.pp-form .fld label{font-size:13px}
.pp-form .fld input,.pp-form .fld select{height:52px}
.pp-form .fld textarea{min-height:96px}
/* чипи вибору */
.pp-chips{display:flex;flex-wrap:wrap;gap:6px}
.pp-chips label{position:relative;cursor:pointer}
.pp-chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pp-chips span{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1.5px solid rgba(30,74,44,.18);background:#FFFDF8;color:#4c5a4d;font-weight:600;font-size:14px;transition:.25s}
.pp-chips span i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--hibiscus))}
.pp-chips input:checked+span{background:var(--leaf);border-color:var(--leaf);color:#fff}
.pp-chips input:focus-visible+span{outline:2px solid var(--leaf);outline-offset:2px}
.pp-cap{font-size:13px;font-weight:700;color:#4c5a4d;margin-bottom:-6px}
/* як зв'язатися */
.pp-how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pp-how label{position:relative;cursor:pointer}
.pp-how input{position:absolute;opacity:0;inset:0}
.pp-how span{display:grid;justify-items:center;gap:4px;padding:10px 4px;border-radius:14px;border:1.5px solid rgba(30,74,44,.16);background:#FFFDF8;font-size:12px;font-weight:700;color:#4c5a4d;transition:.25s}
.pp-how svg{width:22px;height:22px;color:var(--mc)}
.pp-how input:checked+span{border-color:var(--mc);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--mc) 20%,transparent);color:var(--ink)}
.pp-how input:focus-visible+span{outline:2px solid var(--leaf);outline-offset:2px}
.pp-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}
.pp-submit .btn{flex:1 1 auto;justify-content:center}
.pp-note{font-size:12px;color:#7C7A6B;line-height:1.5}
.pp-alt{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px dashed rgba(30,74,44,.18);font-size:13px;color:#6b6a5e}
.pp-alt a{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mc);color:#fff;transition:transform .25s}
.pp-alt a:hover{transform:translateY(-2px)}
.pp-alt a svg{width:20px;height:20px}
.pp-alt .ph{margin-left:auto;font-weight:700;color:var(--leaf);font-variant-numeric:tabular-nums}
/* успіх */
.pp-done{display:grid;justify-items:center;text-align:center;gap:14px;padding:30px 10px}
.pp-done .ok{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:#fff;animation:pop .6s cubic-bezier(.2,1.6,.4,1) both}
.pp-done .ok svg{width:42px;height:42px}
.pp-done h3{margin:0;font-family:var(--f-display);font-size:clamp(30px,2.4vw,44px);color:var(--leaf);line-height:1.05}
.pp-done h3 em{color:var(--hibiscus)}
.pp-done p{margin:0;color:#4c5a4d;max-width:26em;line-height:1.6}
body.pp-lock{overflow:hidden}

/* плаваюча кнопка "Задати питання" */
.fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:10px;
  height:60px;padding:0 22px 0 8px;border:0;border-radius:999px;background:var(--leaf);color:#fff;font-weight:700;font-size:14px;box-shadow:0 16px 40px rgba(20,40,25,.35);
  transform:translateY(120px);transition:transform .5s cubic-bezier(.2,.8,.2,1),background .3s}
.fab.show{transform:none}
.fab:hover{background:#163A22}
.fab .fi{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--hibiscus)}
.fab .fi::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--hibiscus);animation:pulse 2.4s ease-out infinite}
.fab svg{width:22px;height:22px}
body.pp-lock .fab,body.menu-open .fab{transform:translateY(120px)}

@media (max-width:760px){
  .pp{padding:0;place-items:end stretch}
  .pp-box{grid-template-columns:1fr;max-height:92vh;border-radius:26px 26px 0 0;transform:translateY(100%)}
  .pp.open .pp-box{transform:none}
  .pp-side{display:none}
  .pp-main{padding:26px 18px calc(22px + env(safe-area-inset-bottom,0px))}
  .pp-main::before{content:"";position:absolute;top:8px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:5px;background:rgba(30,74,44,.2)}
  .pp-close{top:12px;right:12px;width:40px;height:40px}
  .pp-form .fields{grid-template-columns:1fr}
  .fab{height:56px;padding:0 8px;gap:0}
  .fab .lbl{display:none}
  .fab .fi{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){.pp-box,.pp-back{transition:none}}

/* =====================================================================
   404 та ПОЛІТИКА КОНФІДЕНЦІЙНОСТІ
   ===================================================================== */
.e404{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;
  padding:calc(var(--header-h) + 6vw) var(--gutter) 6vw;background:#0E1F14;color:var(--on-photo)}
.e404::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(50% 60% at 50% 40%,rgba(212,42,34,.18),transparent 70%),radial-gradient(40% 50% at 20% 90%,rgba(243,210,122,.10),transparent 70%)}
.e404 #petals{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.e404-in{display:grid;justify-items:center;gap:1.4vw;max-width:46em}
.e404-num{display:flex;align-items:center;gap:.06em;font-family:var(--f-display);font-weight:700;font-size:clamp(120px,16vw,300px);line-height:.85;color:#fff}
.e404-num .zero{width:.78em;aspect-ratio:1;display:grid;place-items:center;animation:spin 30s linear infinite}
.e404-num .zero svg{width:100%;height:100%}
.e404 h1{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(34px,3.4vw,64px);line-height:1.05}
.e404 h1 em{color:var(--sun)}
.e404 p{margin:0;color:rgba(255,253,248,.75);font-size:clamp(16px,1.05vw,20px);line-height:1.65}
.e404-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1vw;margin-top:1vw}
.e404-quick{display:flex;flex-wrap:wrap;justify-content:center;gap:.5em 1.4em;margin-top:1.4vw;font-size:clamp(14px,.86vw,16px)}
.e404-quick a{color:rgba(255,253,248,.75);border-bottom:1px solid rgba(255,253,248,.25)}
.e404-quick a:hover{color:var(--sun);border-color:var(--sun)}

.legal{background:var(--cream);padding:2vw var(--gutter) 7vw}
.legal-grid{display:grid;grid-template-columns:clamp(220px,18vw,320px) minmax(0,1fr);gap:5vw;align-items:start}
.toc{position:sticky;top:calc(var(--header-h) + 3vw);display:grid;gap:.3em;padding:1.4vw;border-radius:22px;background:#F4EDE0}
.toc b{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#7C7A6B;margin-bottom:.6em}
.toc a{padding:.45em .7em;border-radius:10px;color:#4c5a4d;font-weight:600;font-size:clamp(14px,.84vw,16px);transition:.25s}
.toc a:hover,.toc a.on{background:#FFFDF8;color:var(--leaf)}
.legal-text{max-width:46em;color:#2E3A30;font-size:clamp(16px,1.02vw,19px);line-height:1.75}
.legal-text .upd{display:inline-block;margin-bottom:1.6em;padding:.4em 1em;border-radius:999px;background:#EEF3E9;color:var(--leaf);font-size:.85em;font-weight:700}
.legal-text h2{margin:1.8em 0 .5em;scroll-margin-top:calc(var(--header-h) + 30px);font-family:var(--f-display);font-weight:700;color:var(--leaf);font-size:clamp(26px,1.9vw,38px);line-height:1.1}
.legal-text h2:first-of-type{margin-top:0}
.legal-text p{margin:0 0 1em}
.legal-text ul{margin:0 0 1em;padding-left:1.2em}
.legal-text li{margin-bottom:.4em}
.legal-text li::marker{color:var(--hibiscus)}
.legal-text a{color:var(--hibiscus);border-bottom:1px solid currentColor}
.legal-note{margin-top:2em;padding:1.2em 1.4em;border-radius:18px;border:1.5px dashed rgba(212,42,34,.35);color:#6b4a3e;font-size:.9em}
@media (max-width:1024px){
  .e404-in{gap:16px}.e404-links{gap:10px;margin-top:8px}.e404-quick{margin-top:14px}
  .legal{padding:16px var(--gutter) 64px}
  .legal-grid{grid-template-columns:1fr;gap:24px}
  .toc{position:static;padding:16px}
}
.nh h1,.art-head h1,.hp-name,.page-hero h1,.loc-hero h1{overflow-wrap:break-word;hyphens:auto}
@media (max-width:560px){.nh h1{font-size:clamp(36px,10.5vw,52px)}}
