/*
Theme Name: West End Montessori
Theme URI: https://www.westendmontessori.com/
Author: ThatWorx Web Services
Description: Custom presentation theme for West End Montessori School.
Version: 0.5.0
Text Domain: wems
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
*/

:root {
  --wems-forest: #214d3d;
  --wems-forest-dark: #173a2e;
  --wems-terracotta: #b95635;
  --wems-cream: #f7f1e8;
  --wems-warm-white: #fffdf9;
  --wems-sage: #dce5dc;
  --wems-ink: #24312b;
  --wems-muted: #68736d;
  --wems-border: #e8ddd0;
  --wems-shadow: 0 18px 50px rgba(33, 77, 61, .10);
  --wems-radius: 22px;
  --wems-max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--wems-ink);
  background: var(--wems-warm-white);
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--wems-terracotta); }

.wems-wrap {
  width: min(calc(100% - 40px), var(--wems-max));
  margin-inline: auto;
}
.wems-eyebrow {
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .78rem;
  font-weight: 700;
  color: var(--wems-forest);
}
h1,h2,h3 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.08;
  color: var(--wems-forest-dark);
  margin: 0 0 .7em;
  font-weight: 500;
}
h1 { font-size: clamp(2.7rem, 6vw, 5.7rem); }
h2 { font-size: clamp(2.1rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
p { margin: 0 0 1.25rem; }

.wems-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 48px;
  padding: 0 1.3rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: var(--wems-terracotta);
  color: #fff;
  font-weight: 700;
  font-size: .88rem;
  letter-spacing: .03em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wems-button:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(185,86,53,.25); }
.wems-button--outline { background: transparent; color: var(--wems-forest-dark); border-color: #b9b0a5; }
.wems-button--outline:hover { background: #fff; color: var(--wems-forest-dark); }

.wems-utility {
  background: var(--wems-cream);
  font-size: .78rem;
}
.wems-utility .wems-wrap {
  display: flex;
  justify-content: flex-end;
  gap: 1.35rem;
  min-height: 31px;
  align-items: center;
}
.wems-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,253,249,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(232,221,208,.75);
}
.wems-header__inner {
  min-height: 86px;
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  gap: 2rem;
}
.wems-brand { display: flex; gap: .8rem; align-items: center; }
.wems-brand__mark {
  width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--wems-sage); color: var(--wems-forest);
  font-family: Georgia,serif; font-size: 1.55rem;
}
.wems-brand__name { font-family: Georgia,serif; letter-spacing: .08em; color: var(--wems-forest-dark); font-size: 1.1rem; }
.wems-brand__tag { font-size: .66rem; color: var(--wems-muted); }
.wems-menu { display: flex; justify-content: center; gap: clamp(.8rem,2vw,1.7rem); align-items: center; }
.wems-menu a { font-size: .9rem; }
.wems-menu-toggle { display:none; border:0; background:none; font-size:1.4rem; color:var(--wems-forest-dark); }

.wems-hero {
  position: relative;
  overflow: hidden;
  min-height: 610px;
  background:
    radial-gradient(circle at 20% 35%, rgba(255,255,255,.98), rgba(255,253,249,.72) 37%, rgba(255,253,249,0) 58%),
    linear-gradient(120deg, var(--wems-cream) 0%, #f3e9dd 54%, #d5c4ad 100%);
}
.wems-hero:after {
  content:"";
  position:absolute; inset:0 0 0 48%;
  background:
    linear-gradient(90deg, rgba(255,253,249,.35), rgba(255,253,249,0) 24%),
    url("assets/images/hero-homepage.jpg") center/cover no-repeat;
  z-index:0;
}
.wems-hero__inner { position:relative; z-index:1; min-height:610px; display:flex; align-items:center; }
.wems-hero__copy { width:min(570px,52%); padding: 70px 0; }
.wems-hero__copy p { max-width: 480px; font-size: 1.05rem; }
.wems-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin:1.7rem 0 2.2rem; }
.wems-accreditation-row { display:flex; gap:1.1rem; flex-wrap:wrap; }
.wems-accreditation-pill {
  background:#fff; border:1px solid var(--wems-border); border-radius:12px;
  padding:.65rem .85rem; min-width:110px; box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.wems-accreditation-pill strong { display:block; color:var(--wems-forest-dark); font-family:Georgia,serif; }
.wems-accreditation-pill span { display:block; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--wems-muted); }

.wems-values { background:#fff; border-block:1px solid var(--wems-border); }
.wems-values__grid { display:grid; grid-template-columns:repeat(5,1fr); }
.wems-value { text-align:center; padding:2rem 1rem; position:relative; }
.wems-value:not(:last-child):after { content:""; position:absolute; right:0; top:28%; height:44%; width:1px; background:var(--wems-border); }
.wems-value__icon { font-size:1.65rem; margin-bottom:.55rem; }
.wems-value strong { display:block; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--wems-forest); }
.wems-value span { display:block; font-size:.78rem; color:var(--wems-muted); }

.wems-section { padding: clamp(70px,8vw,110px) 0; }
.wems-section--cream { background:var(--wems-cream); }
.wems-section__head { text-align:center; max-width:720px; margin:0 auto 2.5rem; }
.wems-section__head p { color:var(--wems-muted); }

.wems-programs { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.wems-card {
  background:#fff; border:1px solid var(--wems-border); border-radius:var(--wems-radius);
  overflow:hidden; box-shadow:var(--wems-shadow);
}
.wems-card__visual { aspect-ratio: 4 / 2.7; background:linear-gradient(135deg,#d8dfd4,#e8d5bd); display:grid; place-items:center; color:var(--wems-forest); font-family:Georgia,serif; font-size:1.15rem; }
.wems-card__body { padding:1.5rem; }
.wems-card__meta { color:var(--wems-terracotta); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.wems-link { color:var(--wems-terracotta); font-weight:700; font-size:.85rem; }

.wems-story { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,90px); align-items:center; }
.wems-story__visual {
  min-height:460px; border-radius: 48% 48% 20px 20px;
  background:url("assets/images/program-early-childhood.jpg") center/cover no-repeat, var(--wems-sage);
  box-shadow:var(--wems-shadow);
}
.wems-statrow { display:flex; gap:2rem; flex-wrap:wrap; margin:1.6rem 0; }
.wems-stat strong { display:block; color:var(--wems-forest-dark); }
.wems-stat span { color:var(--wems-muted); font-size:.8rem; }

.wems-testimonial {
  display:grid; grid-template-columns:1.1fr .9fr; min-height:310px;
  background:linear-gradient(90deg,#f0f1e8,#fff);
}
.wems-testimonial__quote { padding:clamp(35px,6vw,80px); display:flex; flex-direction:column; justify-content:center; }
.wems-testimonial blockquote { margin:0; font-family:Georgia,serif; font-size:clamp(1.25rem,2.4vw,2rem); line-height:1.45; color:var(--wems-forest-dark); }
.wems-testimonial__visual { background:url("assets/images/montessori-toddler-work.jpg") center/cover no-repeat, #dccdbb; }

.wems-cta { background:var(--wems-forest-dark); color:#fff; padding:55px 0; }
.wems-cta h2 { color:#fff; font-size:clamp(2rem,3vw,3rem); }
.wems-cta__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2rem; align-items:center; }
.wems-contact-bit { border-left:1px solid rgba(255,255,255,.22); padding-left:1.5rem; }
.wems-contact-bit small { display:block; opacity:.7; text-transform:uppercase; letter-spacing:.08em; }

.wems-footer { background:#102b22; color:rgba(255,255,255,.85); padding:55px 0 22px; }
.wems-footer__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2.5rem; }
.wems-footer h3 { color:#fff; font-size:1.15rem; }
.wems-footer a { display:block; margin:.45rem 0; font-size:.9rem; }
.wems-footer__bottom { margin-top:2.5rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.14); font-size:.78rem; opacity:.7; }

.wems-page-hero { background:var(--wems-cream); padding:75px 0; }
.wems-content { width:min(calc(100% - 40px),850px); margin:0 auto; padding:65px 0 90px; }
.wems-content > *:first-child { margin-top:0; }

.wems-form { display:grid; gap:1rem; }
.wems-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.wems-form label { font-weight:700; font-size:.86rem; }
.wems-form input,.wems-form select,.wems-form textarea {
  width:100%; margin-top:.35rem; border:1px solid #cfc5b8; border-radius:8px;
  min-height:48px; padding:.7rem .8rem; font:inherit; background:#fff;
}
.wems-form textarea { min-height:150px; resize:vertical; }
.wems-alert { padding:1rem; border-radius:8px; margin-bottom:1rem; background:#eef5ee; border:1px solid #cfddcf; }

@media (max-width: 980px) {
  .wems-header__inner { grid-template-columns:1fr auto; min-height:74px; }
  .wems-menu-toggle { display:block; }
  .wems-menu { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:1.2rem 20px 1.5rem; flex-direction:column; align-items:flex-start; border-bottom:1px solid var(--wems-border); }
  .wems-menu.is-open { display:flex; }
  .wems-header__cta { display:none; }
  .wems-hero:after { inset:42% 0 0 0; opacity:.75; }
  .wems-hero__copy { width:100%; padding:55px 0 315px; }
  .wems-values__grid { grid-template-columns:repeat(2,1fr); }
  .wems-value:after { display:none; }
  .wems-programs { grid-template-columns:1fr; }
  .wems-story { grid-template-columns:1fr; }
  .wems-testimonial { grid-template-columns:1fr; }
  .wems-testimonial__visual { min-height:280px; }
  .wems-cta__grid,.wems-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  .wems-wrap { width:min(calc(100% - 28px), var(--wems-max)); }
  .wems-utility { display:none; }
  .wems-brand__tag { display:none; }
  .wems-brand__name { font-size:.98rem; }
  .wems-brand__mark { width:42px;height:42px; }
  .wems-hero__copy { padding-top:40px; }
  .wems-values__grid { grid-template-columns:1fr; }
  .wems-form__row { grid-template-columns:1fr; }
  .wems-cta__grid,.wems-footer__grid { grid-template-columns:1fr; }
  .wems-contact-bit { border-left:0; border-top:1px solid rgba(255,255,255,.22); padding:1rem 0 0; }
}


/* v0.2.0 — authorized WEMS image library */
.wems-accreditation-row--logos {
  align-items: center;
  gap: 1.35rem;
}
.wems-accreditation-logo {
  height: 42px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  filter: saturate(.92);
}
.wems-accreditation-logo--ams { max-width: 190px; }
.wems-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wems-card__visual--image {
  display: block;
  overflow: hidden;
}
.wems-source-note {
  font-size: .72rem;
  color: var(--wems-muted);
}


/* === WEMS v0.3.0 Homepage Upgrade === */
.wems-hero{background:linear-gradient(110deg,#fbf7f1,#f4e9dc);min-height:auto}
.wems-hero:after{display:none}
.wems-hero__inner{width:100%;max-width:none;display:grid;grid-template-columns:46% 54%;min-height:650px}
.wems-hero__copy{width:100%;max-width:620px;padding:85px 50px 75px max(5vw,calc((100vw - var(--wems-max))/2));align-self:center}
.wems-hero__copy h1{font-size:clamp(3rem,5vw,5.25rem);letter-spacing:-.03em}
.wems-hero__copy p{color:#47564e}
.wems-hero__media{position:relative;min-height:650px;overflow:hidden}
.wems-hero__media>img{width:100%;height:100%;object-fit:cover}
.wems-hero__media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(247,241,232,.78),transparent 18%)}
.wems-hero__badge{position:absolute;right:28px;bottom:28px;z-index:2;background:rgba(255,253,249,.94);padding:15px 18px;border-radius:14px;box-shadow:var(--wems-shadow)}
.wems-hero__badge strong{display:block;font-family:Georgia,serif;color:var(--wems-forest-dark)}
.wems-hero__badge span{display:block;font-size:.75rem;color:var(--wems-muted)}
.wems-accreditation-row--logos{padding-top:1.15rem;border-top:1px solid rgba(33,77,61,.15)}
.wems-values__grid{width:min(calc(100% - 36px),1260px);margin:auto}
.wems-value__icon{width:42px;height:42px;margin:0 auto .65rem;border:1px solid #bccabd;border-radius:50%;display:grid;place-items:center;font-size:1.05rem}
.wems-card{border:0;border-radius:18px;box-shadow:0 16px 42px rgba(33,77,61,.09);transition:.22s ease}
.wems-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(33,77,61,.14)}
.wems-card__visual{aspect-ratio:1.45/1}
.wems-card__body{padding:1.6rem 1.65rem 1.8rem}
.wems-philosophy{background:var(--wems-forest-dark);color:rgba(255,255,255,.88)}
.wems-philosophy__grid{display:grid;grid-template-columns:1fr 1fr}
.wems-philosophy__copy{padding:clamp(60px,7vw,90px)}
.wems-philosophy__copy h2{color:#fff}
.wems-philosophy__copy .wems-eyebrow{color:#d7b68d}
.wems-philosophy__points{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.5rem;margin:1.5rem 0 2rem}
.wems-philosophy__point{border-top:1px solid rgba(255,255,255,.18);padding-top:.75rem;font-size:.88rem}
.wems-philosophy__media{min-height:500px}
.wems-philosophy__media img{width:100%;height:100%;object-fit:cover}
.wems-story__visual{min-height:520px;position:relative}
.wems-story__visual:after{content:"Serving Richmond families since 1997";position:absolute;right:-20px;bottom:28px;background:var(--wems-terracotta);color:#fff;padding:13px 16px;border-radius:8px;font-size:.75rem;font-weight:700}
.wems-admissions{padding:68px 0;background:#fff}
.wems-admissions__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;background:var(--wems-cream);border:1px solid var(--wems-border);border-radius:20px;padding:clamp(30px,5vw,54px)}
.wems-admissions__inner h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:.35rem}
.wems-admissions__inner p{margin:0;color:var(--wems-muted)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e1a477;outline-offset:3px}
@media(max-width:980px){
 .wems-hero__inner{grid-template-columns:1fr}
 .wems-hero__copy{max-width:none;padding:55px 28px 40px}
 .wems-hero__media{min-height:440px}
 .wems-philosophy__grid{grid-template-columns:1fr}
 .wems-philosophy__media{min-height:380px}
 .wems-admissions__inner{grid-template-columns:1fr}
 .wems-story__visual:after{right:18px}
}
@media(max-width:620px){
 .wems-hero__copy{padding:40px 20px 32px}
 .wems-hero__copy h1{font-size:clamp(2.5rem,12vw,3.5rem)}
 .wems-hero__media{min-height:350px}
 .wems-hero__badge{left:14px;right:14px;bottom:14px}
 .wems-philosophy__points{grid-template-columns:1fr}
 .wems-story__visual{min-height:390px}
 .wems-story__visual:after{left:16px;right:auto;bottom:16px}
}


/* === WEMS v0.4.0 live-render refinement === */
body{font-size:16px}
.wems-header__inner{grid-template-columns:310px 1fr auto;min-height:98px}
.wems-brand__mark{width:54px;height:54px}
.wems-brand__name{font-size:1.28rem;letter-spacing:.105em}
.wems-brand__tag{font-size:.7rem;margin-top:.15rem}
.wems-menu{gap:clamp(.95rem,1.7vw,1.65rem)}
.wems-menu a{font-size:.94rem}
.wems-hero__inner{grid-template-columns:48% 52%;min-height:625px}
.wems-hero__copy{max-width:680px;padding-top:72px;padding-bottom:66px}
.wems-hero__copy h1{font-size:clamp(2.85rem,4.35vw,4.65rem);max-width:650px}
.wems-hero__copy p{font-size:1.04rem;line-height:1.75}
.wems-hero__media{min-height:625px}
.wems-accreditation-label{display:block;margin-top:1.3rem;margin-bottom:.55rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--wems-muted)}
.wems-accreditation-row--logos{margin-top:0;padding-top:0;border-top:0}
.wems-accreditation-logo{height:45px}
.wems-accreditation-logo--ams{max-width:205px}
.wems-values__grid{max-width:1280px}
.wems-value{padding:2rem 1.2rem}
.wems-value__icon{width:48px;height:48px;font-size:1.15rem}
.wems-value strong{font-size:.76rem}
.wems-value span{font-size:.83rem;max-width:190px;margin:.25rem auto 0}
.wems-section__head p{font-size:1rem}
.wems-programs{gap:1.7rem}
.wems-card__visual{aspect-ratio:1.42/1}
.wems-card__body{min-height:230px;display:flex;flex-direction:column}
.wems-card__body h3{font-size:1.65rem}
.wems-card__body p{font-size:.96rem}
.wems-card__body .wems-link{margin-top:auto}
.wems-programs-more{text-align:center;margin-top:2.2rem}
.wems-philosophy__copy{padding-left:max(7vw,70px);padding-right:max(6vw,60px)}
.wems-philosophy__copy p{font-size:1rem;line-height:1.75}
.wems-philosophy__point{font-size:.92rem;line-height:1.55}
.wems-story__visual{background-image:url("assets/images/hero-homepage.jpg");background-position:center}
.wems-story p{font-size:1rem}
.wems-community-message{display:grid;grid-template-columns:1.08fr .92fr;min-height:360px;background:#edf1e8}
.wems-community-message__copy{padding:clamp(45px,6vw,82px);display:flex;flex-direction:column;justify-content:center}
.wems-community-message__copy h2{font-size:clamp(2rem,3vw,3.1rem)}
.wems-community-message__copy p{font-size:1.05rem;max-width:650px;color:#48564e}
.wems-community-message__media{background:url("assets/images/montessori-toddler-work.jpg") center/cover no-repeat}
.wems-admissions__inner{box-shadow:0 12px 35px rgba(33,77,61,.06)}
.wems-admissions__inner p{font-size:.98rem}
.wems-cta p{font-size:.96rem}
.wems-footer{font-size:.95rem}
.wems-footer a{font-size:.94rem}
.wems-footer__bottom{font-size:.8rem}
@media(max-width:1100px){
 .wems-header__inner{grid-template-columns:270px 1fr auto}
 .wems-brand__name{font-size:1.1rem}
}
@media(max-width:980px){
 .wems-header__inner{grid-template-columns:1fr auto}
 .wems-hero__inner{grid-template-columns:1fr}
 .wems-hero__copy{padding:55px 28px 42px}
 .wems-community-message{grid-template-columns:1fr}
 .wems-community-message__media{min-height:330px}
}
@media(max-width:620px){
 body{font-size:16px}
 .wems-brand__mark{width:46px;height:46px}
 .wems-brand__name{font-size:1rem}
 .wems-hero__copy h1{font-size:clamp(2.55rem,11vw,3.4rem)}
 .wems-value span{font-size:.9rem}
 .wems-card__body{min-height:0}
}


/* =========================================================
   WEMS v0.5.0 — Brand-forward full-bleed hero
   ========================================================= */
:root{
  --wems-forest:#315a48;
  --wems-forest-dark:#234638;
  --wems-sage:#d9e2d4;
  --wems-sage-light:#edf2e9;
  --wems-terracotta:#b65d3d;
  --wems-terracotta-dark:#98472f;
  --wems-gold:#b99668;
  --wems-cream:#f6f0e5;
  --wems-warm-white:#fffdf8;
  --wems-ink:#2d3832;
  --wems-muted:#66726b;
}
body{background:var(--wems-warm-white)}
.wems-header{background:rgba(255,253,248,.97)}
.wems-header__inner{min-height:94px}
.wems-brand__mark{border-color:#a8bba9;color:var(--wems-forest)}
.wems-button{background:var(--wems-terracotta)}
.wems-button:hover{background:var(--wems-terracotta-dark)}
.wems-button--outline{background:transparent;color:var(--wems-forest-dark);border-color:#b9b5a8}

/* Full-photo hero */
.wems-hero--photo{
  min-height:690px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#304b3e;
}
.wems-hero--photo:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(22,55,42,.90) 0%,rgba(27,61,47,.74) 33%,rgba(28,61,47,.30) 59%,rgba(28,61,47,.08) 78%),
    linear-gradient(0deg,rgba(16,41,31,.22),rgba(16,41,31,.04) 45%);
  z-index:1;
}
.wems-hero--photo .wems-hero__photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.wems-hero--photo .wems-wrap{
  position:relative;
  z-index:2;
  width:min(calc(100% - 56px),var(--wems-max));
}
.wems-hero--photo .wems-hero__content{
  max-width:670px;
  padding:90px 0 95px;
  color:#fff;
}
.wems-hero--photo .wems-eyebrow{color:#e5c89f}
.wems-hero--photo h1{
  color:#fff;
  font-size:clamp(3.4rem,5.7vw,6.2rem);
  max-width:660px;
  margin:.28em 0 .3em;
  letter-spacing:-.035em;
  text-shadow:0 3px 24px rgba(0,0,0,.16);
}
.wems-hero--photo .wems-hero__lead{
  max-width:525px;
  font-size:1.08rem;
  line-height:1.75;
  color:rgba(255,255,255,.92);
}
.wems-hero--photo .wems-button--outline{
  color:#fff;
  border-color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.07);
}
.wems-hero--photo .wems-button--outline:hover{
  background:#fff;
  color:var(--wems-forest-dark);
}
.wems-hero__caption{
  position:absolute;
  z-index:2;
  right:max(28px,calc((100vw - var(--wems-max))/2));
  bottom:24px;
  color:rgba(255,255,255,.82);
  font-size:.7rem;
  letter-spacing:.05em;
}

/* Accreditation ribbon */
.wems-credential-ribbon{
  background:var(--wems-cream);
  border-bottom:1px solid #e5d9c8;
}
.wems-credential-ribbon__inner{
  min-height:118px;
  display:grid;
  grid-template-columns:1.1fr 1.6fr;
  align-items:center;
  gap:3rem;
}
.wems-credential-ribbon__copy strong{
  display:block;
  color:var(--wems-forest-dark);
  font-family:Georgia,serif;
  font-size:1.35rem;
  font-weight:500;
}
.wems-credential-ribbon__copy span{
  display:block;
  color:var(--wems-muted);
  font-size:.82rem;
  margin-top:.15rem;
}
.wems-credential-ribbon__logos{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:2.2rem;
}
.wems-credential-ribbon__logos img{
  height:52px;
  width:auto;
  max-width:190px;
  object-fit:contain;
  mix-blend-mode:multiply;
}

/* Softer site rhythm */
.wems-values{background:#fff}
.wems-values__grid{grid-template-columns:repeat(5,1fr)}
.wems-value{padding:2.15rem 1.15rem}
.wems-section{padding:clamp(78px,8vw,118px) 0}
.wems-section--cream{background:#f7f1e7}
.wems-section__head{margin-bottom:3rem}
.wems-section__head h2{font-size:clamp(2.35rem,4vw,3.7rem)}
.wems-programs .wems-card:nth-child(2){transform:translateY(18px)}
.wems-programs .wems-card:nth-child(2):hover{transform:translateY(13px)}
.wems-philosophy{background:#315847}
.wems-philosophy__copy .wems-eyebrow{color:#e1c49a}
.wems-story__visual{background-image:url("assets/images/early-practical-life.jpg")}
.wems-community-message{background:#eef2e8}
.wems-admissions__inner{background:#f3eadc;border-color:#e3d5c3}
.wems-cta{background:#294e3e}
.wems-footer{background:#18372b}

/* subtle organic decoration */
.wems-section--cream{position:relative;overflow:hidden}
.wems-section--cream:before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-90px;top:-80px;
  border:1px solid rgba(49,90,72,.10);
  border-radius:50%;
  box-shadow:0 0 0 36px rgba(49,90,72,.025),0 0 0 72px rgba(49,90,72,.02);
}

@media(max-width:980px){
  .wems-hero--photo{min-height:620px}
  .wems-hero--photo:before{
    background:linear-gradient(90deg,rgba(22,55,42,.88),rgba(27,61,47,.55) 68%,rgba(27,61,47,.22));
  }
  .wems-credential-ribbon__inner{grid-template-columns:1fr;gap:1rem;padding:26px 0}
  .wems-credential-ribbon__logos{justify-content:flex-start;flex-wrap:wrap;gap:1.4rem}
  .wems-programs .wems-card:nth-child(2){transform:none}
  .wems-programs .wems-card:nth-child(2):hover{transform:translateY(-5px)}
}
@media(max-width:620px){
  .wems-hero--photo{
    min-height:610px;
    align-items:flex-end;
  }
  .wems-hero--photo:before{
    background:
      linear-gradient(0deg,rgba(20,51,39,.96) 0%,rgba(20,51,39,.76) 46%,rgba(20,51,39,.18) 78%),
      linear-gradient(90deg,rgba(20,51,39,.35),rgba(20,51,39,.08));
  }
  .wems-hero--photo .wems-hero__photo{object-position:58% center}
  .wems-hero--photo .wems-wrap{width:min(calc(100% - 32px),var(--wems-max))}
  .wems-hero--photo .wems-hero__content{padding:240px 0 42px}
  .wems-hero--photo h1{font-size:clamp(2.75rem,13vw,4rem)}
  .wems-hero--photo .wems-hero__lead{font-size:.98rem}
  .wems-hero__caption{display:none}
  .wems-credential-ribbon__logos img{height:40px;max-width:145px}
  .wems-values__grid{grid-template-columns:1fr}
}
