/* =====================================================
   ESE page stylesheet
   - Does NOT override global header / base styles
   - Scoped to body.ese-page
   ===================================================== */

:root{
  --ese-bg:#F4EDEA;
  --ese-text:#1F1F1F;
  --ese-muted:rgba(31,31,31,.65);
  --ese-line:rgba(31,31,31,.12);
  --ese-radius:18px;
  --ese-max:980px;
}

/* Scope base to ESE page only */
.ese-page{
  margin:0;
  background:var(--ese-bg);
  color:var(--ese-text);
}

/* Utility container */
.ese-shell{
  width:min(var(--ese-max), 92%);
  margin-inline:auto;
}

/* ==============================
   HERO
================================= */

.ese-hero{
  position:relative;
  min-height:72vh;          /* was 75vh */
  display:grid;
  place-items:center;
  text-align:center;
  overflow:hidden;
}

/* If header overlaps visually, uncomment:
.ese-hero{ padding-top: 22px; }
*/

.ese-hero__bg{
  position:absolute;
  inset:0;
  /* Safer as absolute path (recommended) */
  background:url("../assets/img/hero_ese.png") center/cover no-repeat;
  transform:scale(1.02); /* subtle cinematic feel */
}

.ese-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to bottom,
      rgba(247,246,242,.12),
      rgba(247,246,242,.72)
    );
}

.ese-hero__inner{
  position:relative;
  color:#ffffff;
}

.ese-hero__title{
  font-family:"Times New Roman", serif;
  font-size:clamp(60px,10vw,100px);
  margin:0;
  letter-spacing:.05em;
}

.ese-hero__subtitle{
  margin:10px 0 0;
  font-size:18px;
  letter-spacing:.12em;
  opacity:.9;
}

.ese-hero__lead{
  margin-top:18px;
  font-size:16px;
  line-height:1.9;
  opacity:.92;
}

/* Gentle readability boost (keeps the air) */
.ese-hero__title,
.ese-hero__subtitle,
.ese-hero__lead{
  text-shadow: 0 18px 48px rgba(0,0,0,.18);
}

/* ==============================
   CONTENT
================================= */

.ese-section{
  padding:80px 0;
}

.ese-prose{
  background:#ffffff;
  padding:clamp(24px,4vw,48px);
  border-radius:var(--ese-radius);
  border:1px solid var(--ese-line);
  box-shadow:0 20px 40px rgba(0,0,0,.05);
}

/* Headings */
.ese-prose h2{
  margin:40px 0 14px;
  font-size:20px;
  letter-spacing:.02em;
}

.ese-prose h2:first-child{
  margin-top:0;
}

/* Paragraphs */
.ese-prose p{
  margin:18px 0;
  line-height:2;
  color:rgba(31,31,31,.86);
}

/* Lists */
.ese-prose ul{
  margin:18px 0;
  padding-left:20px;
  line-height:2;
  color:rgba(31,31,31,.86);
}

/* Card block */
.ese-card{
  background:rgba(247,246,242,.6);
  padding:20px;
  border-radius:14px;
  border:1px solid var(--ese-line);
  margin:28px 0;
}

/* Links inside prose */
.ese-prose a{
  color:inherit;
  text-underline-offset:.18em;
}

/* ==============================
   FOOTER
================================= */

.ese-footer{
  padding:30px 0;
  text-align:center;
  color:var(--ese-muted);
}

/* ==============================
   Responsive
================================= */

@media (max-width:720px){

  .ese-hero{
    min-height:64vh;       /* was 66vh */
  }

  .ese-hero__subtitle{
    font-size:16px;
  }

  .ese-hero__lead{
    font-size:15px;
  }

  .ese-section{
    padding:60px 0;
  }

}