/* ==========================================================================
   EDITORIAL PSYCHOLOGY — design tokens + Header/Hero (Этап 1)
   Namespaced with "eph-" so it never collides with the legacy .header/.block1
   rules already living in main.css. Scoped to the homepage only (loaded
   from tpl/layouts/main.tpl only when $document.Tree.id eq '1').
   ========================================================================== */

:root{
  --eph-ivory:#F6F1EA;
  --eph-ivory-deep:#EEE7DB;
  --eph-charcoal:#201E1C;
  --eph-charcoal-soft:rgba(32,30,28,.72);
  --eph-teal:#1F6F78;
  --eph-teal-deep:#154D53;
  --eph-teal-tint:#D9E9EA;
  --eph-amaranth:#AB274F;
  --eph-amaranth-tint:#F1DCE2;
  --eph-amaranth-bright:#D1889E;
  --eph-teal-bright:#7FB7BC;
  --eph-stone:#7C8684;
  --eph-border:rgba(32,30,28,.13);

  --eph-font-serif:'Alegreya','Noto Serif',Georgia,serif;
  --eph-font-sans:'Manrope','Helvetica Neue',Arial,sans-serif;

  --eph-container-max:1360px;
  --eph-gutter:clamp(20px,5vw,64px);

  --eph-header-h:104px;
  --eph-header-h-scrolled:72px;

  --eph-ease:cubic-bezier(.22,.61,.36,1);
}

.eph-header, .eph-header *,
.eph-mobile-nav, .eph-mobile-nav *,
.eph-hero, .eph-hero *{
  box-sizing:border-box;
}

.eph-container{
  max-width:var(--eph-container-max);
  margin-inline:auto;
  padding-inline:var(--eph-gutter);
  width:100%;
}

/* ---------- Header ---------- */
.eph-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:600;
  height:var(--eph-header-h);
  display:flex;
  align-items:center;
  background:transparent;
  border-top:2px solid var(--eph-teal);
  border-bottom:1px solid transparent;
  font-family:var(--eph-font-sans);
  transition:height .45s var(--eph-ease),background-color .45s var(--eph-ease),
             border-color .45s var(--eph-ease),box-shadow .45s var(--eph-ease);
}
.eph-header.is-scrolled{
  height:var(--eph-header-h-scrolled);
  background:rgba(246,241,234,.9);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom-color:var(--eph-border);
  box-shadow:0 1px 0 rgba(32,30,28,.03);
}
.eph-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(16px,3vw,40px);
}
.eph-logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.eph-logo-img{
  height:auto;
  width:330px;
  object-fit:contain;
  transition:width .45s var(--eph-ease);
}
.eph-header.is-scrolled .eph-logo-img{width:190px;}

.eph-nav{
  display:flex;
  gap:clamp(18px,2.6vw,44px);
  list-style:none;
  margin:0;padding:0;
  flex:1;
  justify-content:center;
}
.eph-nav a{
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  text-decoration:none;
  padding-bottom:5px;
  position:relative;
  color:var(--eph-charcoal);
}
.eph-nav a::after{
  content:'';
  position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--eph-teal);
  transition:right .35s var(--eph-ease);
}
.eph-nav a:hover::after{right:0;}

.eph-header-actions{display:flex;align-items:center;gap:16px;}

.eph-social{
  width:18px;height:18px;
  display:inline-flex;
  opacity:.75;
  transition:opacity .3s var(--eph-ease);
}
.eph-social:hover{opacity:1;}
.eph-social img{width:100%;height:100%;object-fit:contain;}

.eph-cta-header{
  font-size:.82rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  border:1px solid var(--eph-teal);
  color:var(--eph-teal);
  padding:.7em 1.5em;
  white-space:nowrap;
  transition:background-color .3s var(--eph-ease),color .3s var(--eph-ease);
}
.eph-cta-header:hover{background:var(--eph-teal);color:var(--eph-ivory);}

.eph-menu-toggle{
  display:none;
  width:34px;height:34px;
  background:none;border:none;
  cursor:pointer;
  position:relative;
  flex-shrink:0;
  padding:0;
}
.eph-menu-toggle span{
  position:absolute;left:5px;right:5px;height:1px;
  background:var(--eph-charcoal);
  transition:transform .3s var(--eph-ease);
}
.eph-menu-toggle span:first-child{top:13px;}
.eph-menu-toggle span:last-child{top:21px;}
.eph-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg);}
.eph-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg);}

.eph-mobile-nav{
  position:fixed;inset:0;
  background:var(--eph-ivory);
  z-index:590;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 var(--eph-gutter);
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s var(--eph-ease),transform .35s var(--eph-ease);
  font-family:var(--eph-font-sans);
}
.eph-mobile-nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto;}
.eph-mobile-nav nav{display:flex;flex-direction:column;gap:22px;}
.eph-mobile-nav a{
  font-family:var(--eph-font-serif);
  font-size:2.1rem;
  text-decoration:none;
  color:var(--eph-charcoal);
  border-bottom:1px solid var(--eph-border);
  padding-bottom:14px;
}
.eph-mobile-nav .eph-mobile-cta{
  font-family:var(--eph-font-sans);
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--eph-teal);
  border-bottom:none;
  margin-top:4px;
}

/* ---------- Hero ---------- */
.eph-hero{
  background:var(--eph-ivory);
  color:var(--eph-charcoal);
  font-family:var(--eph-font-sans);
  padding-top:var(--eph-header-h);
  line-height:1.4;
}
.eph-hero-grid{
  display:grid;
  grid-template-columns:6fr 6fr;
  align-items:center;
  gap:clamp(28px,4.5vw,72px);
  min-height:calc(100vh - var(--eph-header-h));
  padding-block:clamp(28px,5vh,56px);
}

.eph-hero-eyebrow{
  display:flex;
  align-items:baseline;
  gap:.6em;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--eph-charcoal-soft);
  margin:0;
  animation:eph-fade-up .9s var(--eph-ease) .08s both;
}
.eph-hero-eyebrow .eph-num{
  font-family:var(--eph-font-serif);
  font-style:italic;
  color:var(--eph-amaranth);
  letter-spacing:0;
  font-size:1.15rem;
  font-weight:600;
}

.eph-hero-heading{
  font-family:var(--eph-font-serif);
  font-weight:600;
  font-size:clamp(2rem,1.3rem + 2.8vw,3.4rem);
  line-height:1.1;
  letter-spacing:-.01em;
  margin-block:.5em .48em;
  text-wrap:balance;
  max-width:19ch;
  color:var(--eph-charcoal);
  animation:eph-fade-up .9s var(--eph-ease) .2s both;
}
.eph-hero-heading-accent{
  font-style:italic;
  color:var(--eph-amaranth);
}

.eph-hero-desc{
  font-size:1.05rem;
  line-height:1.65;
  color:var(--eph-charcoal-soft);
  max-width:52ch;
  margin-bottom:1.6em;
  animation:eph-fade-up .9s var(--eph-ease) .32s both;
}
.eph-hero-desc p{margin:0 0 .85em;}
.eph-hero-desc p:last-child{margin-bottom:0;}

.eph-hero-cta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:clamp(20px,3vw,36px);
  margin-bottom:2.2em;
  animation:eph-fade-up .9s var(--eph-ease) .44s both;
}

.eph-btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  text-decoration:none;
  font-size:.92rem;
  letter-spacing:.02em;
  font-family:var(--eph-font-sans);
  cursor:pointer;
}
.eph-arrow{display:inline-flex;align-items:center;flex-shrink:0;}
.eph-arrow-line{
  display:inline-block;
  width:6px;height:1px;
  background:currentColor;
  transition:width .3s var(--eph-ease);
}
.eph-arrow-head{width:7px;height:11px;flex-shrink:0;}
.eph-btn:hover .eph-arrow-line{width:18px;}

.eph-btn-primary{
  background:var(--eph-teal);
  color:var(--eph-ivory);
  padding:1em 1.9em;
  border:1px solid var(--eph-teal);
  transition:background-color .3s var(--eph-ease),border-color .3s var(--eph-ease),transform .3s var(--eph-ease);
}
.eph-btn-primary:hover{background:var(--eph-amaranth);border-color:var(--eph-amaranth);color:var(--eph-ivory);transform:translateY(-2px);}

.eph-btn-secondary{
  color:var(--eph-teal);
  padding-bottom:2px;
  transition:color .3s var(--eph-ease);
}
.eph-btn-secondary:hover{color:var(--eph-amaranth);}

.eph-hero-meta{
  display:flex;
  align-items:center;
  gap:.6em;
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--eph-stone);
  margin:0;
  animation:eph-fade-up .9s var(--eph-ease) .54s both;
}
.eph-hero-meta::before{
  content:'';
  width:6px;height:6px;
  border-radius:50%;
  background:var(--eph-amaranth);
  flex-shrink:0;
}

.eph-hero-media{
  position:relative;
  height:100%;
  animation:eph-fade-up 1.05s var(--eph-ease) .3s both;
}
.eph-hero-photo-frame{
  position:relative;
  width:100%;
  aspect-ratio:2/3;
}
.eph-hero-photo-frame::before{
  content:'';
  position:absolute;
  inset:22px -18px -18px 22px;
  border:1px solid var(--eph-teal);
  z-index:0;
}
.eph-hero-photo-frame img{
  position:relative;
  z-index:1;
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 18%;
  filter:saturate(1.03) contrast(1.02);
  margin:0;
}
.eph-hero-vertical-caption{
  position:absolute;
  left:-14px;
  bottom:22px;
  transform-origin:left bottom;
  transform:rotate(-90deg);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--eph-charcoal-soft);
  white-space:nowrap;
}

@keyframes eph-fade-up{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}

@media (prefers-reduced-motion:reduce){
  .eph-hero-eyebrow,.eph-hero-heading,.eph-hero-desc,
  .eph-hero-cta-row,.eph-hero-meta,.eph-hero-media{
    animation:none !important;opacity:1 !important;transform:none !important;
  }
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .eph-hero-grid{grid-template-columns:1fr;gap:44px;min-height:0;padding-top:44px;}
  .eph-hero-heading{max-width:none;font-size:clamp(1.8rem,1.2rem + 2.6vw,2.5rem);}
  .eph-hero-photo-frame{max-height:70vh;aspect-ratio:4/5;}
  .eph-hero-vertical-caption{display:none;}
}

@media (max-width:820px){
  :root{--eph-header-h:76px;--eph-header-h-scrolled:64px;}
  .eph-nav,.eph-cta-header{display:none;}
  .eph-menu-toggle{display:block;}
  .eph-logo-img{width:180px;}
  .eph-header.is-scrolled .eph-logo-img{width:150px;}
  .eph-hero-heading{font-size:clamp(1.7rem,1.3rem + 3vw,2.15rem);}
  .eph-hero-desc{font-size:1rem;}
  .eph-hero-photo-frame{aspect-ratio:3/4;max-height:none;}
  .eph-hero-photo-frame::before{inset:14px -12px -12px 14px;}
}

@media (max-width:480px){
  .eph-hero-cta-row{flex-direction:column;align-items:flex-start;gap:16px;}
  .eph-btn-primary{width:100%;justify-content:center;}
}

/* ==========================================================================
   Section 02 — Statement + Directions
   ========================================================================== */

.eph-eyebrow{
  display:flex;
  align-items:baseline;
  gap:.6em;
  font-family:var(--eph-font-sans);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--eph-charcoal-soft);
  margin:0 0 1.6em;
}
.eph-eyebrow .eph-num{
  font-family:var(--eph-font-serif);
  font-style:italic;
  color:var(--eph-amaranth);
  letter-spacing:0;
  font-size:1.15rem;
  font-weight:600;
}

/* ---- Statement ---- */
.eph-statement{
  background:var(--eph-teal);
  padding-block:clamp(64px,13vw,148px);
}
.eph-statement-label{
  display:flex;
  align-items:center;
  gap:.9em;
  font-family:var(--eph-font-sans);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(246,241,234,.65);
  margin:0 0 1.8em;
}
.eph-statement-label::before{
  content:'';
  width:44px;height:2px;
  background:var(--eph-amaranth);
}
.eph-statement-text{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-weight:500;
  color:var(--eph-ivory);
  font-size:clamp(2rem,.9rem + 5.4vw,5.4rem);
  line-height:1.16;
  letter-spacing:-.005em;
  max-width:100%;
  margin:0;
  text-wrap:balance;
}
.eph-statement-accent{
  color:var(--eph-ivory);
  text-decoration:underline;
  text-decoration-color:var(--eph-amaranth);
  text-decoration-thickness:.09em;
  text-underline-offset:.14em;
}

/* ---- Directions ---- */
.eph-directions{
  background:var(--eph-ivory);
  padding-block:clamp(64px,10vw,120px);
  font-family:var(--eph-font-sans);
  color:var(--eph-charcoal);
  border-top:1px solid var(--eph-border);
}
.eph-directions-focus{
  max-width:62ch;
  font-size:1.05rem;
  line-height:1.65;
  color:var(--eph-charcoal-soft);
  margin-bottom:clamp(36px,5vw,64px);
}
.eph-directions-focus p{margin:0 0 .8em;}
.eph-directions-focus p:last-child{margin-bottom:0;}
.eph-directions-focus span{
  font-family:var(--eph-font-serif);
  font-style:italic;
  color:var(--eph-teal);
}

.eph-methods-grid{
  list-style:none;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--eph-border);
  border-left:1px solid var(--eph-border);
}
.eph-method{
  position:relative;
  border-right:1px solid var(--eph-border);
  border-bottom:1px solid var(--eph-border);
  padding:2.1rem 1.9rem 2.3rem;
  display:flex;
  flex-direction:column;
  gap:1.4rem;
  transition:background-color .35s var(--eph-ease);
}
.eph-method:hover{background:var(--eph-teal-tint);}
.eph-method-index{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:.9rem;
  color:var(--eph-amaranth);
  position:absolute;
  top:1.6rem;
  right:1.9rem;
}
.eph-method-icon{
  width:38px;height:38px;
  color:var(--eph-teal);
  transition:transform .4s var(--eph-ease);
}
.eph-method:hover .eph-method-icon{transform:translateY(-2px);}
.eph-method-title{
  font-size:1.02rem;
  line-height:1.4;
  letter-spacing:.005em;
}
.eph-method-title em{
  font-style:normal;
  color:var(--eph-stone);
  font-size:.92em;
}

@media (max-width:900px){
  .eph-methods-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .eph-methods-grid{grid-template-columns:1fr;}
  .eph-statement-text{max-width:none;}
}

/* ==========================================================================
   Section 03 — Путь психолога (timeline)
   ========================================================================== */

.eph-path{
  background:var(--eph-ivory-deep);
  padding-block:clamp(64px,10vw,120px);
  font-family:var(--eph-font-sans);
  color:var(--eph-charcoal);
  border-top:1px solid var(--eph-border);
}
.eph-path-grid{
  display:grid;
  grid-template-columns:0.8fr 1.2fr;
  gap:clamp(32px,5vw,80px);
  align-items:start;
}
.eph-path-intro{
  position:sticky;
  top:calc(var(--eph-header-h) + 32px);
}
.eph-path-heading{
  font-family:var(--eph-font-serif);
  font-weight:600;
  font-size:clamp(1.9rem,1.4rem + 2vw,2.7rem);
  line-height:1.15;
  margin:0 0 .55em;
  text-wrap:balance;
}
.eph-path-lead{
  font-size:1.05rem;
  line-height:1.6;
  color:var(--eph-charcoal-soft);
  max-width:38ch;
  margin:0 0 2rem;
}
.eph-path-photo-frame{
  position:relative;
  max-width:320px;
  aspect-ratio:3/4;
  margin-bottom:2rem;
}
.eph-path-photo-frame::before{
  content:'';
  position:absolute;
  inset:16px -14px -14px 16px;
  border:1px solid var(--eph-teal);
  z-index:0;
}
.eph-path-photo-frame img{
  position:relative;z-index:1;
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 20%;
  margin:0;
}
.eph-path-personal{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:1.05rem;
  line-height:1.55;
  color:var(--eph-charcoal-soft);
  max-width:36ch;
  margin:0;
}

.eph-timeline{
  list-style:none;
  margin:0;padding:0;
  position:relative;
}
.eph-timeline::before{
  content:'';
  position:absolute;
  left:calc(64px + 12px);
  top:8px;bottom:8px;
  width:1px;
  background:var(--eph-border);
}
.eph-t-item{
  display:grid;
  grid-template-columns:64px 24px 1fr;
  column-gap:18px;
  padding-block:1.25rem;
  position:relative;
}
.eph-t-item:first-child{padding-top:0;}
.eph-t-year{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:1.05rem;
  color:var(--eph-teal);
  text-align:right;
  padding-top:.1em;
  white-space:nowrap;
}
.eph-t-node{position:relative;display:flex;justify-content:center;padding-top:.4em;}
.eph-t-node::before{
  content:'';
  width:9px;height:9px;
  border-radius:50%;
  background:var(--eph-teal);
  border:3px solid var(--eph-ivory-deep);
  position:relative;z-index:1;
}
.eph-t-item--now .eph-t-node::before{background:var(--eph-amaranth);}
.eph-t-item--now .eph-t-year{color:var(--eph-amaranth);}
.eph-t-body p{
  margin:0;
  font-size:1rem;
  line-height:1.6;
  color:var(--eph-charcoal-soft);
}
.eph-t-item--now .eph-t-body p{color:var(--eph-charcoal);}

@media (max-width:1080px){
  .eph-path-grid{grid-template-columns:1fr;}
  .eph-path-intro{position:static;display:flex;flex-direction:column;}
  .eph-path-photo-frame{max-width:260px;}
}

@media (max-width:560px){
  .eph-t-item{grid-template-columns:44px 18px 1fr;column-gap:12px;}
  .eph-timeline::before{left:calc(44px + 9px);}
  .eph-t-year{font-size:.88rem;}
}

/* ==========================================================================
   Section 04 — Мои проекты
   ========================================================================== */

.eph-projects{
  background:var(--eph-ivory-deep);
  padding-block:clamp(72px,11vw,136px);
  font-family:var(--eph-font-sans);
  color:var(--eph-charcoal);
  border-top:1px solid var(--eph-border);
}

.eph-projects .eph-eyebrow{margin-bottom:.6em;}
.eph-projects-lead{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:clamp(1.4rem,1.15rem + 1.1vw,2rem);
  line-height:1.4;
  max-width:32ch;
  color:var(--eph-charcoal);
  margin:0 0 clamp(40px,5vw,64px);
  text-wrap:balance;
}

.eph-projects-grid{
  list-style:none;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(28px,3vw,40px);
}

.eph-project{
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--eph-ivory);
  border-top:4px solid var(--eph-teal);
  padding:1.6rem 1.5rem 1.8rem;
  transition:border-color .35s var(--eph-ease),transform .35s var(--eph-ease);
}
.eph-project:hover{border-top-color:var(--eph-amaranth);transform:translateY(-4px);}

.eph-project-photo{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  margin:0 -1.5rem 1.5rem;
  background:var(--eph-ivory-deep);
}
.eph-project-photo img{
  width:100%;height:100%;
  object-fit:cover;
  margin:0;
  transition:transform .7s var(--eph-ease);
}
.eph-project:hover .eph-project-photo img{transform:scale(1.07);}

.eph-project-index{
  position:absolute;
  top:0;left:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding-inline:.5em;
  background:var(--eph-amaranth);
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-weight:600;
  font-size:1.05rem;
  color:var(--eph-ivory);
}

.eph-project-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.eph-project-title{
  font-family:var(--eph-font-serif);
  font-weight:600;
  font-size:1.36rem;
  line-height:1.25;
  margin:0 0 .7rem;
  text-wrap:balance;
  transition:color .35s var(--eph-ease);
}
.eph-project:hover .eph-project-title{color:var(--eph-teal);}
.eph-project-excerpt{
  font-size:.96rem;
  line-height:1.6;
  color:var(--eph-charcoal-soft);
  margin-bottom:1.4rem;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1;
}
.eph-project-excerpt p{margin:0 0 .5em;}
.eph-project-excerpt p:last-child{margin-bottom:0;}

.eph-project .eph-btn-secondary{align-self:flex-start;font-size:.94rem;}

@media (max-width:1080px){
  .eph-projects-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .eph-projects-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}
}

/* ==========================================================================
   Section 05 — Результаты (closing text + photo, mirrors the hero)
   ========================================================================== */

.eph-closing{
  background:var(--eph-ivory);
  padding-block:clamp(64px,10vw,120px);
  font-family:var(--eph-font-sans);
  color:var(--eph-charcoal);
  border-top:1px solid var(--eph-border);
}
.eph-closing-grid{
  display:grid;
  grid-template-columns:7fr 5fr;
  align-items:start;
  gap:clamp(32px,5vw,72px);
}

.eph-closing-media{position:relative;max-width:460px;}
.eph-closing-intro{margin-bottom:1.8rem;}
.eph-closing-intro p{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem);
  line-height:1.5;
  color:var(--eph-charcoal);
  margin:0 0 .5em;
}
.eph-closing-intro p:last-child{margin-bottom:0;}

.eph-closing-photo-frame{
  position:relative;
  aspect-ratio:4/3;
}
.eph-closing-photo-frame::before{
  content:'';
  position:absolute;
  inset:-18px 22px 22px -18px;
  border:1px solid var(--eph-teal);
  z-index:0;
}
.eph-closing-photo-frame img{
  position:relative;z-index:1;
  width:100%;height:100%;
  object-fit:cover;
  margin:0;
}

.eph-closing-stat{
  background:var(--eph-teal);
  color:var(--eph-ivory);
  padding:clamp(2rem,3vw,2.8rem) clamp(1.8rem,2.5vw,2.4rem);
  border-top:4px solid var(--eph-amaranth);
}
.eph-closing-stat .block-grey{background:none;border:none;padding:0;margin:0;}
.eph-closing-stat p{
  font-size:1rem;
  line-height:1.65;
  color:rgba(246,241,234,.88);
  margin:0 0 .6em;
}
.eph-closing-stat p:last-child{margin-bottom:0;}
.eph-closing-stat strong{
  display:block;
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-weight:600;
  font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);
  color:var(--eph-ivory);
  margin-bottom:.7rem;
}

@media (max-width:1080px){
  .eph-closing-grid{grid-template-columns:1fr;}
  .eph-closing-media{max-width:460px;margin-inline:auto;}
  .eph-closing-photo-frame::before{inset:-12px 16px 16px -12px;}
}

/* ==========================================================================
   Section 06 — Прошедшие мероприятия
   ========================================================================== */

.eph-events{
  background:var(--eph-ivory-deep);
  padding-block:clamp(64px,10vw,120px);
  font-family:var(--eph-font-sans);
  color:var(--eph-charcoal);
  border-top:1px solid var(--eph-border);
}
.eph-events-grid{
  list-style:none;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(28px,3.5vw,48px) clamp(32px,4vw,64px);
}
.eph-event{
  display:flex;
  flex-direction:column;
}
.eph-event-gallery-wrap{
  position:relative;
  margin-bottom:1.2rem;
}
.eph-event-gallery{
  display:flex;
  aspect-ratio:4/3;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  background:var(--eph-ivory-deep);
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.eph-event-gallery::-webkit-scrollbar{display:none;}
.eph-event-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
}
.eph-event-slide img{
  width:100%;height:100%;
  object-fit:cover;
  margin:0;
  display:block;
  cursor:zoom-in;
  transition:opacity .25s var(--eph-ease);
}
.eph-event-slide img:hover{opacity:.88;}
.eph-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:32px;height:32px;
  border:none;
  padding:0;
  background:rgba(246,241,234,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:2;
}
.eph-gallery-prev{left:8px;}
.eph-gallery-next{right:8px;}
.eph-gallery-nav svg{width:12px;height:9px;color:var(--eph-teal);transition:color .25s var(--eph-ease);}
.eph-gallery-nav:hover svg{color:var(--eph-amaranth);}
.eph-event-body{
  border-top:1px solid var(--eph-border);
  padding-top:1.1rem;
}
.eph-event-title{
  font-family:var(--eph-font-serif);
  font-weight:600;
  font-size:1.12rem;
  line-height:1.32;
  margin:0 0 .5rem;
  text-wrap:balance;
}
.eph-event-summary{
  font-size:.92rem;
  line-height:1.6;
  color:var(--eph-charcoal-soft);
  max-height:4.8em;
  overflow:hidden;
  position:relative;
  transition:max-height .45s var(--eph-ease),color .3s var(--eph-ease);
}
.eph-event-summary::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:1.6em;
  background:linear-gradient(to bottom, rgba(246,241,234,0), var(--eph-ivory));
  transition:opacity .3s var(--eph-ease);
}
.eph-event:hover .eph-event-summary{
  max-height:26em;
  color:var(--eph-charcoal);
}
.eph-event:hover .eph-event-summary::after{opacity:0;}
.eph-event-summary p{margin:0 0 .5em;}
.eph-event-summary p:last-child{margin-bottom:0;}

@media (max-width:1080px){
  .eph-events-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .eph-events-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Section 07 — Отзывы
   ========================================================================== */

.eph-testimonials{
  background:var(--eph-ivory);
  padding-block:clamp(64px,10vw,120px);
  font-family:var(--eph-font-sans);
  color:var(--eph-charcoal);
  border-top:1px solid var(--eph-border);
}

.eph-testimonials-grid{
  display:grid;
  grid-template-columns:7fr 5fr;
  align-items:center;
  gap:clamp(32px,5vw,72px);
}
.eph-testimonials-wrap{max-width:560px;}

.eph-testimonials-media{position:relative;}
.eph-testimonials-photo-frame{
  position:relative;
  max-width:340px;
  margin-left:auto;
  aspect-ratio:2/3;
}
.eph-testimonials-photo-frame::before{
  content:'';
  position:absolute;
  inset:22px -18px -18px 22px;
  border:1px solid var(--eph-teal);
  z-index:0;
}
.eph-testimonials-photo-frame img{
  position:relative;z-index:1;
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 22%;
  margin:0;
}

@media (max-width:1080px){
  .eph-testimonials-grid{grid-template-columns:1fr;}
  .eph-testimonials-media{order:-1;}
  .eph-testimonials-photo-frame{margin-inline:auto;max-width:280px;}
  .eph-testimonials-wrap{max-width:100%;}
}

.eph-testimonials-track{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.eph-testimonials-track::-webkit-scrollbar{display:none;}

.eph-testimonial-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  padding-right:8px;
}

.eph-testimonial-quote{
  margin:0 0 1.8rem;
  padding:0;
  position:relative;
}
.eph-testimonial-quote::before{
  content:'“';
  display:block;
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:3.6rem;
  line-height:1;
  color:var(--eph-amaranth);
  margin-bottom:.1em;
}
.eph-testimonial-quote p{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:clamp(1.15rem,1rem + .6vw,1.5rem);
  line-height:1.6;
  color:var(--eph-charcoal);
  margin:0;
  text-wrap:balance;
}

.eph-testimonial-author{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--eph-stone);
  margin:0;
}
.eph-testimonial-author::before{content:'— ';}

.eph-testimonials-nav{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:2.2rem;
}
.eph-testimonial-nav-btn{
  width:40px;height:40px;
  border:1px solid var(--eph-border);
  background:transparent;
  color:var(--eph-teal);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  transition:border-color .3s var(--eph-ease),color .3s var(--eph-ease);
}
.eph-testimonial-nav-btn:hover{border-color:var(--eph-amaranth);color:var(--eph-amaranth);}
.eph-testimonial-nav-btn svg{width:14px;height:10px;}

.eph-testimonials-count{
  font-family:var(--eph-font-serif);
  font-style:italic;
  font-size:.92rem;
  color:var(--eph-stone);
  font-variant-numeric:tabular-nums;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.eph-footer{
  background:var(--eph-charcoal);
  color:var(--eph-ivory);
  font-family:var(--eph-font-sans);
  padding-block:clamp(56px,8vw,96px) clamp(28px,4vw,40px);
}
.eph-footer-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1.3fr 1fr;
  gap:clamp(28px,4vw,56px);
  padding-bottom:clamp(32px,5vw,52px);
  border-bottom:1px solid rgba(246,241,234,.15);
}
.eph-footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.3rem;
}
.eph-footer-logo{
  width:280px;height:auto;
  object-fit:contain;
  filter:invert(1);
}
.eph-footer .eph-social{width:20px;height:20px;opacity:.85;}
.eph-footer .eph-social:hover{opacity:1;}
.eph-footer-heading{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--eph-teal-bright);
  margin:0 0 1.1em;
}
.eph-footer-col p{
  margin:0 0 .6em;
  font-size:.92rem;
  line-height:1.55;
  color:rgba(246,241,234,.82);
}
.eph-footer-col a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(246,241,234,.28);
  transition:border-color .3s var(--eph-ease),color .3s var(--eph-ease);
}
.eph-footer-col a:hover{color:var(--eph-amaranth-bright);border-color:var(--eph-amaranth-bright);}
.eph-footer-pay{
  display:inline-block;
  margin-top:.5rem;
  background:var(--eph-ivory);
  padding:.5rem .8rem;
  line-height:0;
}
.eph-footer-pay img{height:22px;width:auto;display:block;}
.eph-footer-bottom{padding-top:1.5rem;}
.eph-footer-bottom p{
  margin:0;
  font-size:.82rem;
  color:rgba(246,241,234,.48);
}

@media (max-width:900px){
  .eph-footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .eph-footer-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Scroll reveal — laconic, one-time fade-up as sections enter view
   ========================================================================== */

.eph-statement-label,.eph-statement-text,
.eph-method,.eph-path-intro,.eph-t-item,
.eph-project,.eph-closing-media,.eph-closing-text,
.eph-event{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s var(--eph-ease),transform .7s var(--eph-ease),
             background-color .35s var(--eph-ease);
}
.eph-statement-label.is-visible,.eph-statement-text.is-visible,
.eph-method.is-visible,.eph-path-intro.is-visible,.eph-t-item.is-visible,
.eph-project.is-visible,.eph-closing-media.is-visible,.eph-closing-text.is-visible,
.eph-event.is-visible{
  opacity:1;
  transform:none;
}

.eph-methods-grid .eph-method:nth-child(1){transition-delay:.02s;}
.eph-methods-grid .eph-method:nth-child(2){transition-delay:.08s;}
.eph-methods-grid .eph-method:nth-child(3){transition-delay:.14s;}
.eph-methods-grid .eph-method:nth-child(4){transition-delay:.02s;}
.eph-methods-grid .eph-method:nth-child(5){transition-delay:.08s;}
.eph-methods-grid .eph-method:nth-child(6){transition-delay:.14s;}

.eph-projects-grid .eph-project:nth-child(1){transition-delay:.02s;}
.eph-projects-grid .eph-project:nth-child(2){transition-delay:.08s;}
.eph-projects-grid .eph-project:nth-child(3){transition-delay:.14s;}
.eph-projects-grid .eph-project:nth-child(4){transition-delay:.02s;}
.eph-projects-grid .eph-project:nth-child(5){transition-delay:.08s;}

.eph-events-grid .eph-event:nth-child(1){transition-delay:.02s;}
.eph-events-grid .eph-event:nth-child(2){transition-delay:.08s;}
.eph-events-grid .eph-event:nth-child(3){transition-delay:.14s;}
.eph-events-grid .eph-event:nth-child(4){transition-delay:.02s;}
.eph-events-grid .eph-event:nth-child(5){transition-delay:.08s;}
.eph-events-grid .eph-event:nth-child(6){transition-delay:.14s;}

.eph-timeline .eph-t-item:nth-child(odd){transition-delay:.02s;}
.eph-timeline .eph-t-item:nth-child(even){transition-delay:.08s;}

.eph-statement-text{transition-delay:.1s;}

@media (prefers-reduced-motion:reduce){
  .eph-statement-label,.eph-statement-text,
  .eph-method,.eph-path-intro,.eph-t-item,
  .eph-project,.eph-closing-media,.eph-closing-text,
  .eph-event{
    opacity:1 !important;
    transform:none !important;
    transition:background-color .35s var(--eph-ease) !important;
  }
}

/* ==========================================================================
   Lightbox — click a past-event photo to enlarge it
   ========================================================================== */

.eph-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(20,19,17,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5vh 5vw;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s var(--eph-ease);
}
.eph-lightbox.is-open{opacity:1;visibility:visible;}
.eph-lightbox-img{
  max-width:90vw;
  max-height:90vh;
  width:auto;height:auto;
  object-fit:contain;
  margin:0;
  transform:scale(.96);
  transition:transform .3s var(--eph-ease);
}
.eph-lightbox.is-open .eph-lightbox-img{transform:scale(1);}
.eph-lightbox-close{
  position:absolute;
  top:24px;right:24px;
  width:40px;height:40px;
  border:none;
  background:rgba(246,241,234,.12);
  color:var(--eph-ivory);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background-color .25s var(--eph-ease),color .25s var(--eph-ease);
}
.eph-lightbox-close:hover{background:var(--eph-amaranth);color:var(--eph-ivory);}
.eph-lightbox-close svg{width:18px;height:18px;}

.eph-lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;height:48px;
  border:none;
  background:rgba(246,241,234,.12);
  color:var(--eph-ivory);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background-color .25s var(--eph-ease),color .25s var(--eph-ease);
}
.eph-lightbox-nav:hover{background:var(--eph-amaranth);}
.eph-lightbox-prev{left:16px;}
.eph-lightbox-next{right:16px;}
.eph-lightbox-nav svg{width:16px;height:12px;}

@media (max-width:640px){
  .eph-lightbox-nav{width:38px;height:38px;}
  .eph-lightbox-prev{left:8px;}
  .eph-lightbox-next{right:8px;}
}

@media (prefers-reduced-motion:reduce){
  .eph-lightbox,.eph-lightbox-img{transition:none;}
}
