/*
Theme Name: Sivaram
Theme URI: https://sivaram.madrascreatives.com/
Author: Madras Creatives
Description: Premium portfolio theme for T. R. Sivaram.
Version: 7.0.0
Text Domain: sivaram
*/


/* ==========================================================
   DESIGN SYSTEM
   ========================================================== */

:root{
  --green:#1d6845;
  --green-dark:#123d2a;
  --green-deep:#135438;
  --green-mid:#7fa987;
  --green-soft:#dfeedd;
  --green-pale:#eef5ea;

  --yellow:#efcc49;
  --yellow-hover:#dfb91e;
  --yellow-soft:#f5e59c;
  --yellow-pale:#fff5c9;

  --cream:#f7f3e9;
  --paper:#fffdf8;
  --white:#fff;

  --ink:#121813;
  --text:#404942;
  --muted:#737d76;

  --line:rgba(18,24,19,.14);
  --line-soft:rgba(18,24,19,.08);

  --heading:'Sora',sans-serif;
  --body:'Manrope',sans-serif;

  --container:1200px;

  --ease:cubic-bezier(.16,1,.3,1);
}


/* ==========================================================
   RESET
   ========================================================== */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:auto;
  scroll-padding-top:var(--site-sticky-offset, 100px);

  scrollbar-gutter:stable;
}

body{
  margin:0;

  background:var(--cream);
  color:var(--ink);

  font-family:var(--body);
  font-size:16px;
  line-height:1.65;

  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

main,
.premium-footer,
.site-offcanvas{
  overflow-x:clip;
}

img{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea,
select{
  font:inherit;
}

button{
  color:inherit;
}

h1,
h2,
h3,
h4,
h5,
h6{
  margin:0;

  color:var(--ink);

  font-family:var(--heading);
  font-weight:700;

  letter-spacing:-.045em;
}

p:last-child{
  margin-bottom:0;
}

::selection{
  background:var(--yellow);
  color:var(--ink);
}


/* ==========================================================
   CONTAINERS
   ========================================================== */

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl{
  width:100%;
  max-width:var(--container) !important;

  margin-inline:auto;

  --bs-gutter-x:2rem;
}

.site-header .container-fluid{
  width:100%;
  max-width:var(--container);

  margin-inline:auto;
}


/* ==========================================================
   GLOBAL TYPOGRAPHY
   ========================================================== */

.section-pad{
  padding-block:clamp(70px,7vw,104px);
}

.section-label,
.small-label{
  display:flex;
  align-items:center;
  gap:10px;

  margin:0;

  color:var(--green);

  font-size:.82rem;
  font-weight:700;

  line-height:1.45;

  white-space:nowrap;
}

.section-label{
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.small-label{
  letter-spacing:.01em;
}

.section-label::before{
  content:"";

  width:28px;
  height:1px;

  flex:0 0 28px;

  background:currentColor;
}

.section-title{
  max-width:16ch;

  font-size:clamp(2.25rem,1.5rem + 1.8vw,3.25rem);

  letter-spacing:-.055em;
  line-height:1.14;
}

.section-title:has(.section-title-line){
  max-width:none;
}

.section-title-line{
  display:block;
}

.title-line-rest{
  display:inline;
}

.section-description{
  max-width:36ch;

  color:var(--muted);

  font-size:.9rem;
  line-height:1.7;
}

.word-mask{
  display:inline-block;
  /* overflow:hidden; */

  padding-bottom:.055em;

  vertical-align:bottom;
}

.word-inner{
  display:inline-block;

  will-change:transform,opacity;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.btn,
.site-button{
  min-height:48px;

  padding:12px 21px;

  border:0;
  border-radius:100px;

  font-size:14px;
  font-weight:700;

  line-height:1.2;
}

.site-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:12px;

  background:var(--yellow);
  color:var(--ink);

  box-shadow:0 10px 24px rgba(18,24,19,.08);

  transition:
    background .3s ease,
    transform .3s var(--ease),
    box-shadow .3s ease;
}

.site-button:hover{
  background:var(--yellow-hover);
  color:var(--ink);

  transform:translateY(-2px);

  box-shadow:0 15px 30px rgba(18,24,19,.12);
}

.site-button span{
  transition:transform .3s var(--ease);
}

.site-button:hover span{
  transform:translate(2px,-2px);
}

.site-text-link{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  gap:11px;


  padding-bottom:5px;

  border-bottom:1px solid currentColor;

  font-size:13px;
  font-weight:700;
}

.site-text-link:hover{
  color:var(--green);
}


/* ==========================================================
   PROGRESS BAR
   ========================================================== */

.progress-bar{
  position:fixed;

  top:0;
  left:0;

  z-index:99999;

  width:100%;
  height:4px;

  transform:scaleX(0);
  transform-origin:left;

  background:var(--yellow);

  pointer-events:none;
}


/* ==========================================================
   HEADER
   ========================================================== */

.site-header{
  position:relative;

  z-index:1030;

  pointer-events:none;
}

.site-header-spacer{
  height:0;

  overflow:hidden;
}

.site-navbar{
  min-height:66px;

  padding:.5rem .85rem .5rem 1.1rem;

  border-radius:100px;

  pointer-events:auto;
}

.site-header.is-sticky{
  position:fixed;

  top:12px;
  inset-inline:0;

  width:auto;
  max-width:none;

  overflow:visible;

  transform:translate3d(0,0,0);
}

.site-header.is-sticky-animating{
  transition:transform .45s var(--ease);
}

.site-header.is-sticky .site-navbar{
  border:1px solid rgba(18,24,19,.1);

  background:rgba(255,253,248,.92);

  box-shadow:0 12px 35px rgba(18,24,19,.06);

  backdrop-filter:blur(16px);

  transform:translate3d(0,0,0);

  transition:
    transform .45s var(--ease),
    box-shadow .35s ease,
    border-color .35s ease;
}

.site-header.is-sticky.is-sticky-hidden .site-navbar{
  transform:translate3d(0,calc(-100% - 24px),0);
}

.site-header.is-sticky.is-scrolled .site-navbar{
  background:var(--cream);

  box-shadow:0 15px 42px rgba(18,24,19,.1);
}

.brand-dot{
  width:12px;
  height:12px;

  flex:0 0 12px;

  border-radius:50%;

  background:var(--green);

  box-shadow:0 0 0 5px var(--green-soft);
}

.brand-copy{
  display:flex;
  flex-direction:column;

  line-height:1;
}

.brand-copy strong{
  font-family:var(--heading);
}

.brand-copy small{
  margin-top:5px;

  color:var(--muted);

  font-size:.62rem;
  font-weight:600;

  letter-spacing:.01em;
}

.site-navbar .nav-link{
  position:relative;

  padding:.6rem .15rem;

  font-size:.8rem;
  font-weight:700;
}

.site-navbar .nav-link::after{
  content:"";

  position:absolute;

  right:0;
  bottom:3px;
  left:0;

  height:2px;

  transform:scaleX(0);
  transform-origin:right;

  background:var(--yellow);

  transition:transform .3s var(--ease);
}

.site-navbar .nav-link:hover{
  color:var(--green);
}

.site-navbar .nav-link:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

.site-navbar .nav-link.is-active,
.site-navbar .nav-link.is-active:hover{
  color:var(--green);
}

.site-navbar .nav-link.is-active::after{
  transform:scaleX(1);
  transform-origin:left;
}

.site-navbar .nav-contact-button{
  padding:.7rem 1.15rem;

  border-radius:100px;

  background:var(--yellow);
  color:var(--ink);

  transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}

.site-navbar .nav-contact-button::after{
  display:none;
}

.site-navbar .nav-contact-button:hover,.site-navbar .nav-contact-button.is-active:hover{
  background:var(--green);
  color:var(--white);
  transform:translateY(-1px);
}
.site-navbar .nav-contact-button.is-active{color:var(--ink);}

.menu-button{
  width:43px;
  height:43px;

  display:flex;
  flex-direction:column;

  align-items:center;
  justify-content:center;

  gap:6px;

  padding:0;

  border:0;
  border-radius:50%;

  background:var(--yellow);
}

.menu-button span{
  width:18px;
  height:2px;

  background:var(--ink);
}

.site-offcanvas{
  background:var(--green-soft);
}

.mobile-links{
  display:flex;
  flex-direction:column;
}

.mobile-links a{
  padding:14px 0;

  border-bottom:1px solid rgba(18,24,19,.15);

  font-family:var(--heading);
  font-size:clamp(1.6rem,1.3rem + 1.5vw,2.15rem);
  font-weight:700;
}

.mobile-links a.is-active{
  color:var(--green);
}


/* ==========================================================
   PRELOADER
   ========================================================== */

.home-preloader{
  position:fixed;
  inset:0;

  z-index:999999;

  display:none;
  place-items:center;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 78% 18%,
      rgba(239,204,73,.55),
      transparent 30%
    ),
    var(--green-soft);

  animation:
    sivaramPreloaderExit
    .72s
    2.58s
    cubic-bezier(.76,0,.24,1)
    forwards;
}

html.preloader-play .home-preloader{
  display:grid;
}

.preloader-stage{
  position:relative;

  width:min(950px,calc(100% - 40px));
  height:190px;

  display:grid;
  place-items:center;
}

.preloader-kicker{
  position:absolute;

  top:0;
  left:50%;

  transform:translateX(-50%);

  color:var(--green);

  font-size:.72rem;
  font-weight:700;

  letter-spacing:.04em;

  white-space:nowrap;
}

.preloader-words{
  position:relative;

  width:100%;
  height:130px;

  display:grid;
  place-items:center;
}

.preloader-word{
  position:absolute;

  opacity:0;

  font-family:var(--heading);
  font-size:clamp(2.4rem,7vw,7rem);
  font-weight:800;

  letter-spacing:-.065em;
}

.preloader-word:nth-child(1){
  animation:sivaramPreloaderWord .72s .08s var(--ease) both;
}

.preloader-word:nth-child(2){
  animation:sivaramPreloaderWord .72s .70s var(--ease) both;
}

.preloader-word:nth-child(3){
  animation:sivaramPreloaderWord .72s 1.32s var(--ease) both;
}

.preloader-final{
  position:absolute;

  opacity:0;

  font-family:var(--heading);
  font-size:clamp(2.8rem,8vw,7.5rem);
  font-weight:800;

  letter-spacing:-.065em;

  animation:sivaramPreloaderFinal .72s 1.95s var(--ease) both;
}

.preloader-orbit{
  position:absolute;

  border:1px solid rgba(29,104,69,.16);
  border-radius:50%;

  pointer-events:none;
}

.preloader-orbit-one{
  top:-22vw;
  left:-15vw;

  width:48vw;
  height:48vw;
}

.preloader-orbit-two{
  right:-12vw;
  bottom:-16vw;

  width:36vw;
  height:36vw;

  border-color:rgba(239,204,73,.72);
}

@keyframes sivaramPreloaderWord{

  0%{
    opacity:0;
    transform:translateY(55px);
  }

  18%{
    opacity:1;
  }

  48%{
    opacity:1;
    transform:translateY(0);
  }

  78%{
    opacity:1;
  }

  100%{
    opacity:0;
    transform:translateY(-45px);
  }

}

@keyframes sivaramPreloaderFinal{

  from{
    opacity:0;
    transform:translateY(20px) scale(.96);
  }

  to{
    opacity:1;
    transform:none;
  }

}

@keyframes sivaramPreloaderExit{

  to{
    transform:translateY(-100%);
  }

}


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

.hero-wrap{
  width:100%;
  margin-inline:auto;
}

/*
 * HERO / BOOTSTRAP CAROUSEL
 *
 * The slider has no forced viewport height.
 * The active picture/image establishes the carousel height.
 * Overlay elements use CSS Grid instead of absolute positioning.
 */
.hero-carousel{
  display:grid;

  width:100%;

  overflow:hidden;

  border-radius:30px;

  background:var(--green-soft);

  cursor:grab;

  user-select:none;

  touch-action:pan-y;
}

.hero-carousel.is-dragging{
  cursor:grabbing;
}

.hero-carousel.is-dragging .carousel-item.active{
  transition:none!important;
}

/*
 * Keep the Bootstrap inner wrapper in normal flow.
 * Its height is therefore the rendered height of the active image.
 */
.hero-carousel .carousel-inner{
  grid-area:1 / 1;

  width:100%;
}

/*
 * Bootstrap keeps inactive slides display:none.
 * Only visible/transitioning slides become grid containers so
 * their overlays can share the same image-sized grid area.
 */
.hero-carousel .carousel-item.active,
.hero-carousel .carousel-item-next,
.hero-carousel .carousel-item-prev{
  display:grid;

  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto;
}

.hero-carousel .carousel-item > *{
  grid-area:1 / 1;
}

/*
 * The picture and image remain in document flow.
 * No fixed height, min-height, inset or absolute positioning.
 */
.hero-media{
  display:block;

  width:100%;

  line-height:0;
}

.hero-media .hero-image,
.hero-image{
  display:block;

  width:100%;
  max-width:none;

  height:auto;

  -webkit-user-drag:none;

  pointer-events:none;
}

/*
 * Visual shade fills the image's grid cell without absolute positioning.
 */
.hero-shade{
  z-index:1;

  align-self:stretch;
  justify-self:stretch;

  min-width:0;

  background:
    linear-gradient(
      90deg,
      rgba(19,84,56,.2),
      rgba(19,84,56,.04) 48%,
      transparent 72%
    );

  pointer-events:none;
}

/*
 * Copy is currently commented in the template, but this keeps it
 * compatible with the natural-height/grid hero if enabled later.
 */
.hero-copy{
  z-index:3;

  align-self:end;
  justify-self:start;

  width:min(610px,calc(100% - 48px));

  margin:
    0
    0
    clamp(32px,6vw,68px)
    clamp(24px,5vw,72px);

  padding:clamp(24px,3.5vw,40px);

  border-radius:24px;

  background:rgba(255,253,248,.94);

  box-shadow:0 24px 56px rgba(18,24,19,.14);

  backdrop-filter:blur(12px);
}

.hero-heading{
  max-width:11ch;

  font-size:clamp(2.25rem,1.5rem + 1.8vw,3.25rem);

  letter-spacing:-.055em;
  line-height:1.14;
}

.hero-lead{
  max-width:50ch;

  color:var(--text);

  font-size:.92rem;
}

/*
 * Slide number is also grid-overlaid, not absolutely positioned.
 */
.hero-number{
  z-index:3;

  align-self:end;
  justify-self:end;

  margin:
    0
    clamp(24px,4vw,58px)
    clamp(24px,3vw,42px)
    0;

  color:rgba(255,253,248,.74);

  font-family:var(--heading);
  font-size:clamp(4rem,10vw,10rem);
  font-weight:800;

  letter-spacing:-.08em;

  pointer-events:none;
}

/*
 * Indicators occupy the same grid cell as the image.
 * Because the image controls the carousel height, these always sit
 * at the real bottom edge of the currently rendered hero image.
 */
.hero-carousel .hero-indicators{
  grid-area:1 / 1;

  position:static;

  z-index:8;

  align-self:end;
  justify-self:center;

  width:max-content;

  margin:
    0
    0
    clamp(14px,1.6vw,22px);

  pointer-events:auto;
}

.hero-indicators [data-bs-target]{
  width:9px;
  height:9px;

  margin-inline:4px;

  border:0;
  border-radius:100px;

  background:var(--paper);

  opacity:.65;
}

.hero-indicators .active{
  width:34px;

  opacity:1;
}


/* ==========================================================
   MANIFESTO
   ========================================================== */

.manifesto-strip{
  position:relative;
  overflow:hidden;
  padding:20px 0;
  background:var(--yellow);
}

.manifesto-viewport{
  width:100%;
  overflow:hidden;
}

.manifesto-track{
  display:flex;
  width:max-content;
  min-width:100%;
  align-items:center;
  gap:0;
  transform:translate3d(0,0,0);
  will-change:transform;
}

.manifesto-group{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:0;
  min-width:max-content;
}

.manifesto-item{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  white-space:nowrap;
  font-family:var(--heading);
  font-size:clamp(1.5rem,1.25rem + 1.15vw,2.35rem);
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1.05;
}

.manifesto-item > span{
  display:inline-block;
}

.manifesto-item b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 clamp(24px,3vw,40px);
  color:var(--green);
  font-size:.82em;
  line-height:1;
}

@media(max-width:767.98px){
  .manifesto-strip{
    padding:17px 0;
  }

  .manifesto-item{
    font-size:clamp(1.32rem,5.8vw,1.75rem);
  }

  .manifesto-item b{
    padding:0 20px;
  }
}


/* ==========================================================
   VENTURES
   ========================================================== */

.venture-section{
  padding:38px 0;

  border-bottom:1px solid var(--line);

  background:var(--paper);
}

.venture-inner{
  display:flex;
  flex-direction:column;

  align-items:center;

  gap:25px;
}

.venture-heading{
  margin:0;

  color:var(--green);

  font-size:.88rem;
  font-weight:700;

  letter-spacing:.02em;
}

.venture-logo-row{
  display:flex;
  flex-wrap:wrap;

  align-items:center;
  justify-content:center;

  gap:clamp(32px,6vw,82px);
}

.venture-logo{
  max-width:185px;
  /* max-height:58px; */

  object-fit:contain;
}


/* ==========================================================
   WHO I AM
   ========================================================== */

.identity-section{
  position:relative;

  overflow:hidden;

  background:var(--cream);
}

.identity-watermark{
  position:absolute;

  top:.02em;
  left:-.025em;

  color:rgba(29,104,69,.04);

  font-family:var(--heading);
  font-size:clamp(7rem,17vw,18rem);
  font-weight:800;

  letter-spacing:-.07em;

  pointer-events:none;
}

.identity-heading-block{
  position:relative;
  z-index:2;

  margin-bottom:clamp(42px,5vw,70px);
}

.identity-label{
  width:max-content;

  margin-bottom:20px;
}

.identity-title{
  max-width:min(32ch,100%);

  font-size:clamp(2.25rem,1.5rem + 1.8vw,3.25rem);

  letter-spacing:-.055em;
  line-height:1.14;
}

.identity-line{
  display:block;
}

.identity-line-offset{
  color:var(--green);
}

.identity-image{
  overflow:hidden;
}

.identity-image img{
  width:100%;

  aspect-ratio:4/4.3;

  object-fit:cover;

  border-radius:105px 22px 22px;
}

.identity-copy{
  max-width:600px;
}

.identity-copy p{
  color:var(--text);

  font-size:.92rem;
  line-height:1.72;
}

.vision-quote{
  margin:1.25rem 0 0;
  padding:clamp(22px,3vw,32px) clamp(22px,3vw,36px);
  border:0;
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 0%, rgba(239,204,73,.2), transparent 36%),
    linear-gradient(145deg, var(--green-dark), #123d2a);
  color:var(--paper);
  font-family:var(--heading);
  font-size:clamp(1.2rem,1rem + .55vw,1.55rem);
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.35;
}

.stat-box{
  min-height:130px;

  padding:20px;

  display:flex;
  flex-direction:column;

  justify-content:space-between;

  border:1px solid var(--line);
  border-radius:18px;

  background:var(--green-soft);
}

.stat-box strong{
  font-family:var(--heading);
  color:var(--green-dark);
  font-family:var(--heading);
  font-size:clamp(1.5rem,1.25rem + 1vw,2.05rem);
  font-weight:650;
  letter-spacing:-.06em;
}

.stat-box span{
  max-width:17ch;

  color:var(--text);

  font-size:.74rem;
  font-weight:700;

  letter-spacing:.01em;
  line-height:1.4;
}


/* ==========================================================
   WHAT I BELIEVE
   ========================================================== */

.belief-section{
  position:relative;
  overflow:hidden;
  padding-block:clamp(44px,4.2vw,68px);
  background:
    radial-gradient(
      ellipse 80% 60% at 100% 0%,
      rgba(29,104,69,.1) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 70% 50% at 0% 100%,
      rgba(239,204,73,.08) 0%,
      transparent 50%
    ),
    linear-gradient(
      180deg,
      var(--green-pale) 0%,
      var(--cream) 48%,
      var(--paper) 100%
    );
}

.belief-section-glow{
  position:absolute;
  top:-10%;
  right:-6%;
  z-index:0;
  width:min(480px,52vw);
  height:min(480px,52vw);
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(29,104,69,.12) 0%,
    rgba(29,104,69,0) 68%
  );
  filter:blur(12px);
  pointer-events:none;
}

.belief-section-accent{
  position:absolute;
  bottom:6%;
  left:-3%;
  z-index:0;
  width:min(340px,40vw);
  height:min(340px,40vw);
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(239,204,73,.1) 0%,
    rgba(239,204,73,0) 70%
  );
  filter:blur(12px);
  pointer-events:none;
}

.belief-section .container-xxl{
  position:relative;
  z-index:1;
}

.belief-heading-block{
  margin-bottom:clamp(16px,2vw,24px);
}

.belief-heading-block .section-label{
  margin-bottom:14px;
}

.belief-title{
  max-width:min(30ch,100%);
  font-size:clamp(2.15rem,1.48rem + 1.65vw,3.05rem);
  letter-spacing:-.055em;
  line-height:1.1;
}

.belief-title-line{
  display:block;
}

.belief-title-offset{
  color:var(--green);
}

.belief-intro{
  max-width:560px;
  margin:14px 0 0;
  color:var(--text);
  font-size:.92rem;
  line-height:1.68;
}

.belief-scroll-story{
  display:grid;
  gap:clamp(12px,1.5vw,18px);
}

.belief-step{
  min-height:0;
  display:flex;
}

.belief-story-panel{
  position:relative;
  width:100%;
  min-height:200px;
  padding:clamp(24px,2.4vw,32px) clamp(18px,2vw,24px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  overflow:hidden;
  border:1px solid rgba(18,24,19,.09);
  border-radius:20px;
  background:var(--paper);
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 16px 40px rgba(18,24,19,.06),
    0 4px 12px rgba(18,24,19,.035);
  text-align:center;
  transform-origin:center;
  transition:
    transform .35s var(--ease),
    box-shadow .35s var(--ease),
    border-color .35s ease;
}

.belief-step:nth-child(2) .belief-story-panel{
  background:linear-gradient(
    180deg,
    rgba(223,238,221,.55) 0%,
    var(--paper) 100%
  );
}

.belief-step:nth-child(3) .belief-story-panel{
  background:linear-gradient(
    180deg,
    rgba(255,245,201,.45) 0%,
    var(--paper) 100%
  );
}

@media(min-width:992px){
  .belief-scroll-story{
    grid-template-columns:repeat(3,1fr);
    align-items:stretch;
  }

  .belief-story-panel{
    min-height:220px;
  }

  .belief-story-panel:hover{
    transform:translateY(-4px);
    border-color:rgba(29,104,69,.16);
    box-shadow:
      0 1px 0 rgba(255,255,255,.8) inset,
      0 22px 48px rgba(18,24,19,.08),
      0 8px 18px rgba(18,24,19,.045);
  }
}

.belief-story-number{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  /* width:44px;
  height:44px; */
  /* border:2px solid rgba(29,104,69,.22); */
  border-radius:50%;
  background:var(--yellow);
  color:var(--green);
  font-size:1.5rem;
  line-height: normal;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 4px 14px rgba(239,204,73,.28);
}

.belief-story-panel p{
  position:relative;
  z-index:2;
  max-width:22ch;
  margin:0;
  font-family:var(--heading);
  font-size:clamp(1.12rem,1rem + .5vw,1.38rem);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.22;
  color:var(--ink);
}

.belief-story-panel strong{
  color:var(--green);
}

.belief-story-mark{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  color:rgba(29,104,69,.05);
  font-family:Georgia,serif;
  font-size:clamp(5rem,4rem + 4vw,7rem);
  line-height:1;
  pointer-events:none;
  transform:translate(-50%,-50%);
}

@media(max-width:991.98px){
  .belief-scroll-story{
    grid-template-columns:1fr;
  }
}

@media(max-width:767.98px){
  .belief-section{
    padding-block:44px;
  }

  .belief-heading-block{
    margin-bottom:16px;
  }

  .belief-intro{
    margin:12px 0 0;
  }

  .belief-scroll-story{
    gap:12px;
  }

  .belief-story-panel{
    min-height:0;
    padding:22px 18px;
    border-radius:18px;
  }

  .belief-story-panel p{
    max-width:28ch;
    font-size:1.18rem;
  }

  .belief-story-mark{
    font-size:4.5rem;
  }
}


/* ==========================================================
   JOURNEY
   ========================================================== */

.journey-section{
  background:var(--paper);
}

.journey-rail{
  top:115px;

  height:500px;

  display:flex;

  gap:22px;
}

.journey-line{
  position:relative;

  width:3px;

  overflow:visible;

  border-radius:20px;

  background:rgba(18,24,19,.1);
}

.journey-line-fill{
  position:absolute;
  inset:0;

  transform:scaleY(0);
  transform-origin:top;

  background:var(--green);
}

.journey-line-tip{
  position:absolute;
  top:calc(var(--journey-fill-progress, 0) * 100%);
  left:50%;
  z-index:2;
  width:14px;
  height:14px;
  margin-left:-7px;
  border-radius:50%;
  background:var(--yellow);
  /* box-shadow:0 0 0 5px var(--paper); */
  transform:translateY(-50%);
  pointer-events:none;
}

.journey-years{
  flex:1;

  display:flex;
  flex-direction:column;

  justify-content:space-between;
}

.journey-year{
  position:relative;

  min-height:44px;

  padding-left:16px;

  border:0;

  background:none;
  color:var(--muted);

  font-family:var(--heading);

  opacity:.37;

  transition:
    font-size .35s var(--ease),
    opacity .35s ease,
    color .35s ease,
    transform .35s var(--ease);
}

.journey-year-dot{
  position:absolute;

  top:50%;
  left:-28px;

  width:9px;
  height:9px;

  transform:translateY(-50%) scale(.35);

  border-radius:50%;

  background:var(--green);

  opacity:0;
}

.journey-year.active{
  color:var(--green);

  font-size:1.55rem;
  font-weight:700;

  opacity:1;

  transform:translateX(5px);
}

.journey-year.active .journey-year-dot{
  transform:translateY(-50%) scale(1);

  background:var(--yellow);

  opacity:1;
}

.journey-card{
  overflow:hidden;

  border:1px solid var(--line);
  border-radius:22px;

  background:var(--cream);

  box-shadow:0 13px 34px rgba(18,24,19,.04);
}

.journey-card:nth-child(even){
  background:var(--green-pale);
}

.journey-card:nth-child(3n){
  background:var(--yellow-pale);
}

.journey-media{
  height:100%;
  min-height:205px;

  overflow:hidden;
}

.journey-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.journey-copy{
  min-height:205px;

  padding:25px 30px;
}

.journey-card-year{
  display:block;

  margin-bottom:10px;

  color:var(--yellow);

  font-family:var(--heading);
  font-size:clamp(2rem,1.5rem + 1.3vw,2.75rem);
  font-weight:800;

  letter-spacing:-.07em;
}

.journey-copy h3{
  max-width:22ch;

  font-size:clamp(1.15rem,1rem + .55vw,1.55rem);
}

.journey-copy p{
  color:var(--muted);
  font-size:.9rem;
  line-height:normal;
}


/* ==========================================================
   PURPOSE
   ========================================================== */

.purpose-section{
  overflow:visible;

  background:var(--green-pale);
}

.purpose-card{
  position:sticky;

  top:80px;

  overflow:hidden;

  border:1px solid var(--line);
  border-radius:24px;

  box-shadow:0 18px 45px rgba(18,24,19,.065);

  opacity:1 !important;

  transform-origin:center top;

  will-change:transform,clip-path;
}

.purpose-card:nth-child(1){
  z-index:1;
}

.purpose-card:nth-child(2){
  z-index:2;
}

.purpose-card:nth-child(3){
  z-index:3;
}

.purpose-card:not(:last-child){
  margin-bottom:clamp(48px,10vh,120px);
}

.purpose-green{
  background:var(--green-soft);
}

.purpose-yellow{
  background:var(--yellow-soft);
}

.purpose-community{
  background:#dbeccc;
}

.purpose-image{
  width:100%;
  height:100%;

  overflow:hidden;
}

.purpose-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.purpose-copy{
  height:100%;

  padding:clamp(25px,3vw,35px);
}

.purpose-number{
  margin-bottom:22px;

  color:var(--green);

  font-size:1rem;
  font-weight:800;
}

.purpose-copy h3{
  font-size:clamp(1.55rem,1.3rem + 1vw,2.15rem);

  letter-spacing:-.04em;
}

.purpose-copy h4{
  margin-top:14px;

  font-family:var(--body);
  font-size:1rem;
  font-weight:800;
}

.purpose-copy p{
  max-width:36ch;
  line-height: normal;
  color:var(--text);

  font-size:.9rem;
}

.purpose-copy .site-button{
  width:max-content;
  max-width:100%;
}

@media(min-width:992px){

  .purpose-card{
    top:130px;

    height:clamp(350px,35vw,405px);
  }

}


/* ==========================================================
   VIDEO
   ========================================================== */

.video-section{
  background:var(--cream);
}

.video-card{
  position:relative;

  aspect-ratio:9/16;

  overflow:hidden;

  border:1px solid var(--line);
  border-radius:18px;

  background:var(--green-soft);

  box-shadow:0 10px 28px rgba(18,24,19,.045);

  will-change:transform,opacity;
}

.video-poster-button{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  padding:0;

  border:0;

  background:none;
}

.video-poster-button[hidden]{
  display:none !important;
}

.video-poster{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .6s var(--ease);
}

.video-card:hover .video-poster{
  transform:scale(1.025);
}

.video-center-play{
  position:absolute;

  top:50%;
  left:50%;

  width:56px;
  height:56px;

  transform:translate(-50%,-50%);

  display:grid;
  place-items:center;

  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;

  background:rgba(29,104,69,.92);
  color:#fff;

  box-shadow:0 12px 28px rgba(18,24,19,.2);
}

.video-center-play svg,
.video-control svg{
  width:22px;
  height:22px;

  fill:none;

  stroke:currentColor;
  stroke-width:1.9;

  stroke-linecap:round;
  stroke-linejoin:round;
}

.video-center-play svg path:first-child{
  fill:currentColor;

  stroke:none;
}

.video-player-stage{
  position:absolute;
  inset:0;

  background:var(--green-dark);
}

.video-player-stage[hidden]{
  display:none !important;
}

.video-player-host,
.video-player-host > div,
.video-player-host iframe{
  position:absolute;
  inset:0;

  width:100% !important;
  height:100% !important;
}

.video-player-host iframe{
  border:0;
}


/*
 * Only mute / unmute remains.
 * Bottom right.
 */

.video-controls{
  position:absolute;

  right:14px;
  bottom:14px;

  z-index:5;

  pointer-events:none;
}

.video-control{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  padding:0;

  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;

  background:rgba(18,61,42,.9);
  color:#fff;

  backdrop-filter:blur(10px);

  pointer-events:auto;
}

.video-control-muted{
  display:none;
}

.video-card[data-muted="true"] .video-control-volume{
  display:none;
}

.video-card[data-muted="true"] .video-control-muted{
  display:block;
}


/* ==========================================================
   KALAM
   ========================================================== */

.kalam-section{
  overflow:hidden;

  background:var(--yellow-pale);
}

.kalam-image{
  overflow:hidden;

  border-radius:82px 20px 20px;
}

.kalam-image img{
  width:100%;

  aspect-ratio:1;

  object-fit:cover;
}

.kalam-copy{
  max-width:650px;
}

.kalam-copy p{
  color:var(--text);

  font-size:.87rem;
}


/* ==========================================================
   PEOPLE
   Desktop: sticky stage + scroll-linked horizontal track.
   Mobile: stacked witness + editorial list (no pin).
   ========================================================== */

.people-section{
  position:relative;
  overflow:visible;
  background:var(--cream);
}

.people-heading-row{
  margin-bottom:clamp(22px,2.8vw,36px);
}

.people-title{
  max-width:none;
}

.people-intro{
  max-width:34ch;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.68;
}

.people-scroll-stage{
  --people-progress:0;
  position:relative;
}

.people-scroll-pin{
  position:relative;
}

.people-scroll-timeline{
  position:relative;
  /* max-width:920px; */
  margin:0 0 clamp(24px,2.8vw,36px);
}

.people-scroll-steps{
  display:flex;
  justify-content:space-between;
  margin:0 0 14px;
  padding:0;
  list-style:none;
  color:var(--muted);
  font-size:1rem;
  font-weight:800;
  letter-spacing:.04em;
}

.people-scroll-step.is-active{
  color:var(--ink);
}

.people-scroll-line{
  position:relative;
  height:2px;
  overflow:visible;
  border-radius:99px;
  background:rgba(18,24,19,.14);
}

.people-scroll-progress{
  position:absolute;
  inset:0 auto 0 0;
  width:100%;
  height:100%;
  background:var(--green);
  transform:scaleX(var(--people-progress, 0));
  transform-origin:left center;
}

.people-scroll-dot{
  position:absolute;
  top:50%;
  left:calc(var(--people-progress, 0) * 100%);
  width:14px;
  height:14px;
  margin-left:-7px;
  border-radius:50%;
  background:var(--yellow);
  /* box-shadow:0 0 0 5px var(--cream); */
  transform:translateY(-50%);
  pointer-events:none;
}

.people-scroll-viewport{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:8px 4px 12px;
}

.people-scroll-track{
  display:flex;
  align-items:stretch;
  gap:clamp(18px,2.4vw,28px);
  width:max-content;
  will-change:transform;
}

.people-scroll-card{
  flex:0 0 min(460px,38vw);
  overflow:hidden;
  border:1px solid rgba(18,24,19,.08);
  border-radius:20px;
  background:var(--white);
  box-shadow:0 16px 40px rgba(18,24,19,.06);
  transform-origin:center center;
}

.people-scroll-media{
  overflow:hidden;
  aspect-ratio:16/10;
  background:var(--green-soft);
}

.people-scroll-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.people-witness-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.people-witness{
  position:relative;
  width:100%;
}

.people-witness-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:18px;
  background:var(--green-soft);
}

.people-witness-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.025);
  transition:
    opacity .45s ease,
    transform .7s var(--ease);
}

.people-witness-image.is-active{
  opacity:1;
  transform:scale(1);
}

.people-editorial-item{
  position:relative;
  min-height:132px;
  padding:24px 26px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:20px;
  border-bottom:1px solid var(--line);
  background:transparent;
  transition:
    background .35s ease,
    border-color .35s ease,
    transform .45s var(--ease);
}

.people-editorial-item.is-witness-current{
  background:var(--green-pale);
  border-color:rgba(29,104,69,.22);
}

.people-editorial-wide{
  grid-column:1/-1;
}

.people-item-number{
  color:var(--yellow);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
}

.people-editorial-item p{
  max-width:30ch;
  margin:0;
  font-family:var(--heading);
  font-size:clamp(1.22rem,1.08rem + .55vw,1.58rem);
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1.16;
}

.people-editorial-item strong{
  color:var(--green);
}

@media(min-width:992px){
  .people-scroll-stage{
    height:calc(var(--people-count, 5) * 75vh);
  }

  .people-scroll-pin{
    position:sticky;
    top:var(--site-sticky-offset, 96px);
  }

  .people-witness{
    display:none;
  }

  .people-scroll-track .people-editorial-item{
    flex:0 0 min(460px,38vw);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding:0;
    gap:0;
    border:1px solid rgba(18,24,19,.08);
    border-radius:20px;
    background:var(--white);
    box-shadow:0 16px 40px rgba(18,24,19,.06);
  }

  .people-scroll-track .people-item-number{
    display:none;
  }

  .people-scroll-track .people-editorial-item p{
    max-width:none;
    padding:18px 20px 22px;
    font-family:var(--body);
  }

  .people-scroll-track .people-editorial-item strong{
    display:block;
    margin:0 0 6px;
    font-family:var(--heading);
    font-size:clamp(1.15rem,1rem + .55vw,1.45rem);
    font-weight:600;
    letter-spacing:-.04em;
    line-height:1.2;
  }

  .people-scroll-track .people-editorial-item.is-witness-current{
    background:var(--white);
    border-color:rgba(18,24,19,.08);
  }
}

@media(max-width:991.98px){
  .people-section,
  .people-scroll-stage,
  .people-scroll-pin,
  .people-witness-layout{
    overflow:visible;
  }

  .people-scroll-stage{
    height:auto;
  }

  .people-scroll-pin{
    position:relative;
    top:auto;
  }

  .people-scroll-timeline{
    display:none;
  }

  .people-witness-layout{
    display:block;
  }

  .people-witness{
    position:sticky;
    top:var(--site-sticky-offset, 86px);
    z-index:10;
    margin-bottom:18px;
    background:var(--cream);
  }

  .people-witness-frame{
    position:relative;
    width:100%;
    aspect-ratio:16/10;
    overflow:hidden;
    border-radius:18px;
  }

  .people-scroll-media{
    display:none;
  }

  .people-scroll-viewport{
    overflow:visible;
    padding:0;
  }

  .people-scroll-track{
    display:block;
    width:100%;
    transform:none!important;
    border-top:1px solid var(--line);
  }

  .people-scroll-track .people-scroll-card{
    flex:none;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transform:none!important;
  }

  .people-editorial-item,
  .people-editorial-wide{
    grid-column:auto;
    padding:18px 12px;
    grid-template-columns:36px 1fr;
    border-right:0;
    background:transparent;
  }

  .people-editorial-item.is-witness-current{
    border-radius:14px;
    background:var(--green-soft);
  }
}

@media(prefers-reduced-motion:reduce){
  .people-scroll-stage{
    height:auto;
  }

  .people-scroll-pin{
    position:relative;
    top:auto;
  }

  .people-scroll-viewport{
    overflow:visible;
  }

  .people-scroll-track{
    flex-wrap:wrap;
    width:100%;
    transform:none!important;
  }

  .people-scroll-card{
    flex:1 1 280px;
    transform:none!important;
  }
}


/* ==========================================================
   WHAT THEY TAUGHT ME
   Characters begin as a 1px outline and fill according to
   ScrollTrigger progress. JavaScript supplies the final fill
   colour for each line and reverses it on upward scroll.
   ========================================================== */

.people-reflection-section{
  overflow:hidden;
  background:var(--green-pale);
}

.people-reflection-shell{
  position:relative;
  padding:clamp(54px,7vw,92px) clamp(22px,6vw,80px);
  display:flex;
  flex-direction:column;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(29,104,69,.12);
  border:0;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(239,204,73,.22), transparent 42%),
    linear-gradient(160deg, var(--green-dark), #0e3324);
  color:var(--paper);
}

.people-reflection-shell:not(.is-quote-ready) .reflection-copy{
  /*
   * Fail open. JavaScript creates the character outline state
   * synchronously when available, but text must remain readable
   * if GSAP/CDN loading ever fails.
   */
  visibility:visible;
}

.people-reflection-shell .section-label{
  position:relative;
  z-index:2;
  margin-bottom:clamp(22px,3vw,32px);
  color:var(--yellow);
}

.reflection-mark{
  position:absolute;
  top:-.12em;
  left:50%;
  color:rgba(239,204,73,.16);
  font-family:Georgia,serif;
  font-size:clamp(10rem,22vw,20rem);
  line-height:.8;
  transform:translateX(-50%);
  pointer-events:none;
}

.reflection-copy{
  position:relative;
  z-index:2;
  width:min(50rem,100%);
  margin:0;
}

.water-line{
  margin:0 0 18px;
  color:rgba(255,253,248,.82);
  font-size:clamp(.98rem,.9rem + .35vw,1.2rem);
  line-height:1.62;
  text-align:center;
}

.water-line-feature{
  margin-top:28px;
  color:var(--paper);
  font-size:clamp(1.7rem,1.35rem + 1.2vw,2.4rem);
  font-weight:650;
  letter-spacing:-.055em;
  line-height:1.12;
}

.water-word{
  display:inline-block;
  white-space:nowrap;
}

.water-char{
  display:inline-block;
  color:transparent;
  -webkit-text-stroke:1px rgba(18,24,19,.42);
  paint-order:stroke fill;
  opacity:1;
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:color,-webkit-text-stroke-color;
}

@media(max-width:767.98px){
  .people-reflection-shell{
    padding:40px 20px;
    border-radius:20px;
  }

  .water-line-feature{
    line-height:1.16;
  }
}


/* ==========================================================
   AWARDS
   Homepage + /awards/ page share the same image proportions,
   restrained card widths and clean editorial spacing.
   ========================================================== */

.awards-section{
  background:var(--green-soft);
}

.awards-home-intro{
  position:sticky;
  top:120px;
}

.awards-home-description{
  max-width:34ch;
  margin:20px 0 24px;
  color:var(--text);
  font-size:.9rem;
  line-height:1.7;
}

.awards-grid{
  align-items:stretch;
}

.award-showcase-card,
.award-page-card{
  height:100%;
  overflow:hidden;
  border:1px solid rgba(18,24,19,.12);
  border-radius:20px;
  background:var(--paper);
  box-shadow:0 14px 36px rgba(18,24,19,.045);
}

.award-showcase-media,
.award-page-media{
  display:block;
  width:100%;
  max-width:520px;
  margin-inline:auto;
  aspect-ratio:1;
  overflow:hidden;
  background:#f3eee3;
}

.award-showcase-media img,
.award-page-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transition:transform .6s var(--ease);
}

.award-showcase-card:hover .award-showcase-media img,
.award-page-card:hover .award-page-media img{
  transform:scale(1.025);
}

.award-showcase-copy,
.award-page-copy{
  padding:20px 20px 22px;
}

.award-showcase-year,
.award-page-meta span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px;
  border:1px solid rgba(29,104,69,.16);
  border-radius:999px;
  color:var(--green);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
}

.award-showcase-copy h3,
.award-page-copy h2{
  margin-top:13px;
  font-size:clamp(1.2rem,1.05rem + .55vw,1.55rem);
  letter-spacing:-.04em;
  line-height:1.18;
}

.award-showcase-copy p,
.award-page-copy p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.65;
}

.awards-empty,
.awards-page-empty{
  padding:32px;
  border:1px dashed rgba(18,24,19,.18);
  border-radius:18px;
  background:rgba(255,253,248,.55);
  color:var(--muted);
}


/* Awards page */

.awards-page{
  background:var(--cream);
}

.awards-page-hero{
  padding:clamp(132px,13vw,176px) 0 clamp(52px,6vw,76px);
  background:var(--green-soft);
}

.awards-page .about-hero-copy--awards{
  width:min(560px,calc(100% - 48px));
  padding:clamp(22px,3vw,32px);
  border-radius:18px;
  background:rgba(255,253,248,.94);
  box-shadow:0 18px 48px rgba(8,32,22,.12);
}

.awards-page .awards-hero-heading{
  max-width:none;
  color:var(--ink);
  font-size:clamp(2.2rem,1.4rem + 2.2vw,3.75rem);
  letter-spacing:-.04em;
  line-height:1.05;
}

.awards-page .awards-hero-lead{
  max-width:46ch;
  color:var(--text);
}

.awards-page-title{
  max-width:13ch;
  font-size:clamp(2.7rem,2rem + 2.8vw,5rem);
  letter-spacing:-.065em;
  line-height:.98;
}

.awards-page-intro{
  max-width:34ch;
  color:var(--text);
  font-size:.95rem;
  line-height:1.7;
}

.awards-page-list{
  padding:clamp(58px,7vw,96px) 0;
}

.awards-page-group + .awards-page-group{
  margin-top:clamp(48px,6vw,80px);
}

.awards-page-group-title{
  margin:0 0 28px;
  font-size:clamp(1.35rem,1.1rem + .8vw,1.9rem);
  letter-spacing:-.04em;
}

.awards-page-grid{
  align-items:stretch;
}

.award-page-card{
  display:flex;
  flex-direction:column;
}

.award-page-media{
  max-width:none;
  aspect-ratio:auto;
  min-height:240px;
}

.award-page-copy{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:22px clamp(20px,2.5vw,28px) 26px;
}

.award-page-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-height:26px;
}

.award-page-copy p{
  margin-bottom:18px;
}

.award-page-copy .site-text-link{
  width:max-content;
  margin-top:auto;
}

.awards-pagination{
  margin-top:44px;
}

.awards-pagination .page-numbers{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
}

.awards-pagination .page-numbers a,
.awards-pagination .page-numbers span{
  min-width:42px;
  height:42px;
  padding:0 12px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper);
  font-size:.8rem;
  font-weight:700;
}

.awards-pagination .page-numbers .current,
.awards-pagination .page-numbers a:hover{
  border-color:var(--green);
  background:var(--green);
  color:var(--paper);
}

@media(max-width:991.98px){
  .awards-home-intro{
    position:relative;
    top:auto;
  }
}

@media(max-width:767.98px){
  .awards-page-hero{
    padding-top:116px;
  }

  .awards-page-title{
    font-size:clamp(2.35rem,10vw,3.35rem);
  }

  .award-showcase-card,
  .award-page-card{
    border-radius:17px;
  }

  .award-showcase-copy,
  .award-page-copy{
    padding:18px;
  }
}


/* ==========================================================
   GROUND WORKS
   ========================================================== */

.ground-section{
  background:var(--cream);
}

.ground-card{
  position:relative;

  width:100%;

  aspect-ratio:16/9;

  overflow:hidden;

  border-radius:20px;

  background:var(--green-soft);

  will-change:
    transform,
    opacity,
    clip-path;
}

.ground-card img{
  width:100%;
  height:100%;

  object-fit:cover;
}

.ground-copy{
  position:absolute;

  right:12px;
  bottom:12px;
  left:12px;

  padding:14px 16px;

  border-radius:14px;

  background:rgba(255,253,248,.94);

  backdrop-filter:blur(10px);
}

.ground-copy span{
  display:block;

  color:var(--green);

  font-size:.72rem;
  font-weight:700;

  letter-spacing:.02em;
}

.ground-copy h3{
  font-size:clamp(1rem,1.4vw,1.4rem);
}


/* ==========================================================
   BLOG
   ========================================================== */

.blog-section{
  background:var(--yellow-pale);
}

.blog-card{
  height:100%;

  overflow:hidden;

  border:1px solid var(--line);
  border-radius:20px;

  background:var(--paper);
}

.blog-image{
  display:block;

  overflow:hidden;
}

.blog-image img{
  width:100%;

  aspect-ratio:19/10;

  object-fit:cover;
}

.blog-copy{
  padding:20px;
}

.blog-date{
  display:block;

  margin-bottom:9px;

  color:var(--green);

  font-size:.72rem;
  font-weight:700;

  letter-spacing:.02em;
}

.blog-copy h3{
  font-size:clamp(1.1rem,1.4vw,1.4rem);
}

.blog-copy p{
  color:var(--muted);

  font-size:.8rem;
}


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

.premium-footer{
  background:var(--green-dark);
  color:#eef5ea;
}

.footer-main{
  padding:clamp(56px,6vw,80px) 0 clamp(28px,3vw,40px);
}

.footer-grid{
  --bs-gutter-y:2rem;
}

.footer-top-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(24px,3vw,40px);
  padding-bottom:clamp(36px,4vw,52px);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.footer-brand-col,
.footer-links-col,
.footer-impact-col,
.footer-social-col{
  position:relative;
  padding-right:clamp(12px,1.5vw,24px);
}

.footer-links-col,
.footer-impact-col,
.footer-social-col{
  border-left:1px solid rgba(255,255,255,.1);
  padding-left:clamp(16px,2vw,28px);
}

.footer-logo{
  display:inline-block;
  color:var(--yellow);
  font-family:var(--heading);
  font-size:clamp(2rem,1.5rem + 1.5vw,2.65rem);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1;
}

.footer-logo:hover{
  color:var(--yellow-hover);
}

.footer-tagline{
  display:block;
  margin-top:14px;
  color:#fff;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.55;
}

.footer-bio{
  max-width:28ch;
  margin:16px 0 0;
  color:rgba(238,245,234,.72);
  font-size:1rem;
  line-height:1.65;
}

.footer-title{
  margin:0 0 16px;
  color:var(--yellow);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.02em;
}

.footer-link-list{
  display:flex;
  flex-direction:column;
  gap:11px;
}

.footer-link-list a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  color:rgba(255,255,255,.82);
  font-size:.94rem;
  transition:color .25s ease;
}

.footer-link-list a .footer-link-icon{
  color:var(--yellow);
}

.footer-link-list a:hover{
  color:var(--yellow);
}

.footer-link-icon{
  display:block;
  width:14px;
  flex:0 0 14px;
  font-size:.72rem;
  line-height:1;
  text-align:center;
}

.footer-fa-badge,
.footer-icon-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:50%;
  background:#1d6845;
  color:#fff;
  font-size:1.05rem;
  line-height:1;
}

.footer-fa-badge--stat,
.footer-icon-badge--stat{
  width:44px;
  height:44px;
  flex:0 0 44px;
  background:transparent;
  border:2px solid #2a8a5c;
  color:#fff;
  font-size:.95rem;
}

.premium-footer--phosphor-icons .ph{
  display:inline-block;
  vertical-align:middle;
  line-height:1;
  speak:none;
}

.premium-footer--phosphor-icons .footer-link-icon.ph{
  font-size:.82rem;
}

.premium-footer--phosphor-icons .footer-contact-icon.ph{
  font-size:1.08rem;
}

.premium-footer--phosphor-icons .footer-socials .ph{
  font-size:1.2rem;
}

.premium-footer--phosphor-icons .footer-quote-mark.ph{
  font-size:1.35rem;
}

.premium-footer--phosphor-icons .footer-icon-badge .ph{
  font-size:1.35rem;
}

.premium-footer--phosphor-icons .footer-icon-badge--stat .ph{
  font-size:1.15rem;
}

.footer-impact-icon{
  display:block;
  width:48px;
  height:48px;
  flex:0 0 48px;
}

.footer-impact-list{
  display:flex;
  flex-direction:column;
}

.footer-impact-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.footer-impact-item--link{
  color:inherit;
  text-decoration:none;
  transition:opacity .2s ease;
}

.footer-impact-item--link:hover,
.footer-impact-item--link:focus-visible{
  opacity:.88;
  color:inherit;
  text-decoration:none;
}

.footer-impact-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.footer-impact-item:first-child{
  padding-top:0;
}

.footer-impact-item strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.01em;
}

.footer-impact-item span{
  display:flex;
  color:rgba(238,245,234,.58);
  font-size:.86rem;
  line-height:1.6;
}

.footer-socials{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
}

.footer-socials a{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(255,255,255,.04);
  color:#fff;
  transition:
    border-color .25s ease,
    background .25s ease,
    transform .25s var(--ease),
    color .25s ease;
}

.footer-socials a:hover{
  border-color:var(--yellow);
  background:rgba(239,204,73,.08);
  color:var(--yellow);
  transform:translateY(-2px);
}

.footer-socials a i{
  font-size:1rem;
  line-height:1;
}

.footer-quote{
  position:relative;
  margin:0;
  /* padding:clamp(22px,3vw,28px); */
  border:0;
  border-radius:20px;
  /* background:
    radial-gradient(circle at 88% 0%, rgba(239,204,73,.2), transparent 36%),
    linear-gradient(145deg, var(--green-dark), #123d2a); */
}

.footer-quote-mark{
  display:block;
  margin-bottom:10px;
  color:var(--yellow);
  font-size:clamp(1.75rem,2.5vw,2.25rem);
  line-height:1;
  opacity:1;
}

.footer-quote p{
  margin:0 0 10px;
  color:rgba(255,253,248,.88);
  font-family:var(--heading);
  font-size:clamp(1.05rem,1.4vw,1.25rem);
  font-style:normal;
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.4;
}

.footer-quote cite{
  color:var(--yellow);
  font-size:.88rem;
  font-style:normal;
  font-weight:700;
}

.footer-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,28px);
  padding:clamp(28px,3vw,36px) 0 0;
}

.footer-stat{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.footer-stat-icon{
  display:block;
  width:44px;
  height:44px;
  flex:0 0 44px;
}

.footer-stat strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.5;
}

.footer-stat span{
  display:flex;
  color:rgba(238,245,234,.56);
  font-size:.82rem;
  line-height:1.55;
}

.footer-contact-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.footer-contact-list a,
.footer-contact-list span{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.82);
  font-size:.94rem;
}

.footer-contact-list a:hover{
  color:var(--yellow);
}

.footer-contact-icon{
  display:block;
  width:1.15rem;
  flex:0 0 1.15rem;
  color:var(--yellow);
  font-size:1rem;
  line-height:1;
  text-align:center;
}

.footer-bottom-bar{
  position:relative;
  z-index:2;
  padding:18px 0 20px;
  border-top:1px solid rgba(255,255,255,.1);
  background:var(--ink);
  opacity:1;
  visibility:visible;
  transform:none;
}

.footer-bottom-inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px 20px;
  color:rgba(255,255,255,.42);
  font-size:.75rem;
}

.footer-bottom-inner > span:first-child{
  justify-self:start;
}

.footer-bottom-tagline{
  justify-self:end;
  text-align:right;
}

.footer-legal{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.footer-legal-sep{
  color:rgba(255,255,255,.18);
}

.footer-legal a{
  color:rgba(238,245,234,.5);
}

.footer-legal a:hover{
  color:var(--yellow);
}

@media(max-width:1199.98px){
  .footer-top-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-links-col{
    border-left:0;
    padding-left:0;
  }

  .footer-impact-col{
    border-left:1px solid rgba(255,255,255,.1);
  }

  .footer-social-col{
    grid-column:1/-1;
    border-left:0;
    padding-left:0;
    padding-right:0;
  }

  .footer-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:767.98px){
  .footer-main{
    padding:40px 0 20px;
  }

  .footer-top-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 14px;
    padding-bottom:24px;
  }

  .footer-brand-col{
    grid-column:1 / -1;
  }

  .footer-social-col{
    grid-column:1 / -1;
  }

  .footer-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 12px;
    padding-top:20px;
  }

  .footer-bottom-inner{
    grid-template-columns:1fr;
    gap:6px;
  }

  .footer-brand-col,
  .footer-links-col,
  .footer-impact-col,
  .footer-social-col{
    border-left:0;
    padding-left:0;
    padding-right:0;
  }

  .footer-logo{
    font-size:1.75rem;
  }

  .footer-tagline{
    margin-top:8px;
    font-size:.82rem;
  }

  .footer-bio{
    max-width:none;
    margin-top:10px;
    font-size:.9rem;
    line-height:1.55;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }

  .footer-title{
    margin-bottom:10px;
    font-size:.82rem;
  }

  .footer-link-list{
    gap:7px;
  }

  .footer-link-list a{
    font-size:.84rem;
    gap:6px;
  }

  .footer-link-icon{
    width:12px;
    flex:0 0 12px;
    font-size:.65rem;
  }

  .footer-impact-item{
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
    padding:10px 0;
  }

  .footer-impact-icon,
  .footer-impact-icon.footer-fa-badge{
    width:36px;
    height:36px;
    flex:0 0 36px;
    font-size:.9rem;
  }

  .footer-impact-item strong{
    margin-bottom:2px;
    font-size:.82rem;
  }

  .footer-impact-item span{
    font-size:.75rem;
    line-height:1.45;
  }

  .footer-contact-list{
    gap:10px;
  }

  .footer-contact-list a,
  .footer-contact-list span{
    font-size:.86rem;
    gap:10px;
  }

  .footer-socials{
    margin-bottom:0;
    margin-top:12px !important;
  }

  .footer-quote{
    display:none;
  }

  .footer-stat{
    gap:10px;
  }

  .footer-stat-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }

  .footer-fa-badge--stat{
    width:38px;
    height:38px;
    flex:0 0 38px;
    font-size:.85rem;
  }

  .footer-stat strong{
    font-size:.78rem;
  }

  .footer-stat span{
    font-size:.72rem;
    line-height:1.45;
  }

  .footer-bottom-bar{
    padding:14px 0 16px;
  }

  .footer-bottom-tagline{
    display:none;
  }

  .footer-bottom-inner > span,
  .footer-bottom-tagline,
  .footer-legal{
    justify-self:start;
    text-align:left;
  }
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:991.98px){

  .section-pad{
    padding-block:66px;
  }


  .purpose-card{
    top:80px;

    height:auto;
  }

  /* .purpose-image{
    aspect-ratio:16/9;
  } */

  .people-reflection-shell{
    padding:48px 28px;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767.98px){

  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl{
    --bs-gutter-x:1.35rem;
  }

  .section-pad{
    padding-block:56px;
  }

  .purpose-card{
    top:100px;

    border-radius:18px;
  }

  .section-label,
  .small-label{
    font-size:.76rem;

    white-space:normal;
  }

  .section-label{
    letter-spacing:.1em;
  }

  .small-label{
    letter-spacing:.01em;
  }

  .belief-heading-block .section-label{
    white-space:nowrap;
  }

  .title-line-rest{
    display:block;
  }


  .site-header.is-sticky{
    top:8px;
  }

  .site-header.is-sticky .container-fluid{
    padding-left:.5rem;
    padding-right:.5rem;
  }
  .venture-logo{
    max-height:58px;
  }


  .hero-carousel{
    border-radius:22px;
  }

  .hero-copy{
    width:calc(100% - 20px);

    margin:
      0
      10px
      16px;

    padding:20px 17px;
  }

  .hero-number{
    margin:
      0
      16px
      18px
      0;
  }

  .hero-carousel .hero-indicators{
    margin-bottom:12px;
  }


  .belief-intro{
    margin:18px 0 0;

    font-size:.81rem;
  }

  .belief-step{
    min-height:auto;

    margin-bottom:0;
  }

  .belief-story-panel{
    width:100%;
    min-height:0;

    padding:22px 18px;

    border-radius:18px;
  }

  .belief-story-panel p{
    max-width:100%;
  }


  .journey-rail{
    display:none !important;
  }

  .journey-media{
    /* aspect-ratio:4/3; */
    min-height:unset;
  }

  .journey-copy{
    min-height:0;

    padding:18px;
  }


  /* .purpose-image{
    aspect-ratio:4/3;
  } */

  .purpose-copy{
    padding:20px 18px;
  }

  .purpose-copy .site-button{
    width:100%;
  }


  .video-center-play{
    width:48px;
    height:48px;
  }

  .video-control{
    width:38px;
    height:38px;
  }

  .video-controls{
    right:10px;
    bottom:10px;
  }



  .people-reflection-shell{
    padding:40px 20px;

    border-radius:20px;
  }

  .water-line-feature{
    line-height:1.16;
  }


  .ground-card{
    aspect-ratio:4/3;
  }

}


/* ==========================================================
   VERY SMALL
   ========================================================== */


/* ==========================================================
   ADMIN BAR
   ========================================================== */

body.admin-bar .site-header.is-sticky{
  top:44px;
}

@media(max-width:782px){

  body.admin-bar .site-header.is-sticky{
    top:10px;
  }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media(prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }

  .home-preloader{
    display:none !important;
  }

  .manifesto-track{
    animation:none !important;
  }

  .people-reflection-shell .reflection-copy{
    visibility:visible !important;
  }

  .word-inner,
  .purpose-card{
    opacity:1 !important;

    transform:none !important;

    filter:none !important;

    clip-path:none !important;
  }

}

/* ==========================================================
   ABOUT PAGE — MOTION EXPERIENCE
   Bootstrap owns grid, spacing utilities and responsive columns.
   Custom CSS here is limited to art direction and motion surfaces.
   ========================================================== */

html.about-motion-pending .about-page [data-motion]{
  visibility:hidden;
}

html.about-motion-fallback .about-page [data-motion]{
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  filter:none!important;
}

.about-page{
  background:var(--cream);
  overflow-x:clip;
}

.about-page .section-pad{
  padding-block:clamp(56px,5.5vw,88px);
}

.about-page .container-xxl{
  max-width:1200px;
}

.about-motion-word,
.about-page .word-inner{
  display:inline-block;
  will-change:transform,opacity,color,-webkit-text-stroke;
}

.about-page [data-motion="words"]{
  overflow:visible;
}


/* Hero */

/* .about-hero-top{
  background:var(--paper);
} */

.about-hero-banner.hero-carousel{
  cursor:default;
  touch-action:auto;
  user-select:text;
}

.about-hero-top .hero-carousel .about-hero-banner-image,
.about-hero-top .hero-carousel .hero-image{
  transform-origin:center center;
  will-change:transform;
}

.about-hero-banner .about-hero-shade{
  background:
    linear-gradient(
      90deg,
      rgba(8,32,22,.92) 0%,
      rgba(12,52,38,.72) 32%,
      rgba(19,84,56,.22) 58%,
      transparent 78%
    );
}

@media (max-width:991.98px){
  .about-hero-banner .about-hero-shade{
    background: linear-gradient(30deg, rgba(8, 32, 22, .92) 0%, rgba(12, 52, 38, .72) 32%, transparent 50%);
  }
}

.about-hero-banner .about-hero-banner-image{
  width:100%;
  height:auto;
  object-position:right center;
}

.gallery-page .about-hero-banner .about-hero-banner-image,
.blog-page .about-hero-banner .about-hero-banner-image,
.contact-page .about-hero-banner .about-hero-banner-image,
.awards-page .about-hero-banner .about-hero-banner-image{
  object-position:center center;
}

.about-hero-banner .about-hero-copy{
  align-self:center;
  justify-self:start;

  width:min(520px,calc(100% - 48px));

  margin:
    clamp(32px,5vw,64px)
    auto
    clamp(32px,5vw,64px)
    clamp(24px,5vw,72px);

  padding:0;

  border-radius:0;

  background:transparent;
  box-shadow:none;

  backdrop-filter:none;

  text-align:left;
}

.about-hero-banner .section-label{
  color:var(--yellow);
}

.about-hero-kicker{
  color:rgba(255,253,248,.82);

  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.about-hero-banner .hero-heading{
  max-width:12ch;

  color:#fff;

  font-size:clamp(2.5rem,1.5rem + 2.4vw,4.25rem);
}

.about-hero-banner-lead{
  max-width:42ch;

  color:rgba(255,253,248,.78);

  font-size:clamp(.92rem,1.05vw,1.02rem);
  line-height:1.72;
}

.about-hero{
  background:
    radial-gradient(circle at 88% 8%,rgba(239,204,73,.24),transparent 26%),
    linear-gradient(180deg,var(--paper),var(--cream));
}

.about-display{
  max-width:12ch;
  font-size:clamp(3rem,6.1vw,6.8rem);
  letter-spacing:-.072em;
  line-height:.94;
  text-wrap:balance;
}

.about-hero-lead{
  max-width:36ch;
  margin-left:auto;
  color:var(--muted);
  font-size:clamp(.92rem,1.1vw,1.05rem);
  line-height:1.78;
}

.about-hero-media{
  border:1px solid var(--line);
  background:var(--green-dark);
  box-shadow:0 28px 80px rgba(18,24,19,.10);
}

.about-hero-media img{
  width:100%;
  height:auto;
  object-fit:cover;
  will-change:transform;
}

.about-fact{
  border:1px solid var(--line);
  background:rgba(255,253,248,.82);
  box-shadow:0 12px 34px rgba(18,24,19,.035);
}

.about-fact strong{
  display:block;
  margin-top:8px;
  font-family:var(--heading);
  font-size:clamp(1rem,1.4vw,1.25rem);
  letter-spacing:-.035em;
  line-height:1.22;
}


/* Journey — split column + timeline lines */

.about-journey{
  background:var(--cream);
}

.about-page .about-journey.section-pad{
  padding-block:clamp(40px,4.2vw,68px);
}

.about-journey-lines{
  border-top:1px solid var(--line);
}

.about-journey-line{
  display:grid;
  grid-template-columns:minmax(88px,7.5rem) minmax(0,1fr);
  column-gap:clamp(16px,2.5vw,28px);
  align-items:start;
  padding-block:clamp(16px,2vw,22px);
  border-bottom:1px solid var(--line);
}

.about-journey-line-meta{
  padding-top:2px;
  color:var(--green);
  font-family:var(--heading);
  font-size:clamp(1.1rem,1vw,1.5rem);
  font-weight:800;
  letter-spacing:.05em;
  line-height:1.35;
  text-transform:uppercase;
}

.about-journey-line-copy{
  max-width:58ch;
  color:var(--text);
  font-size:clamp(.92rem,1.02vw,1rem);
  line-height:1.72;
}

/* Board memberships — image cards */

.about-board{
  background:var(--paper);
}

.about-board-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2vw,22px);
  align-items:stretch;
}

.about-board-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(18,24,19,.08);
  box-shadow:0 12px 32px rgba(18,24,19,.05);
}

.about-board-card-media{
  position:relative;
  aspect-ratio:4/3;
  margin:0;
  background:var(--green-soft);
  overflow:hidden;
}

.about-board-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.about-board-card-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-height:100%;
  padding:1rem;
  text-align:center;
  color:var(--muted);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.about-board-card-body{
  flex:1;
  padding:clamp(18px,2vw,24px);
}

.about-board-card-role{
  display:block;
  margin-bottom:.55rem;
  color:var(--green);
  font-family:var(--heading);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.35;
  text-transform:uppercase;
}

.about-board-card-copy{
  color:var(--text);
  font-size:clamp(.88rem,.95vw,.95rem);
  line-height:1.58;
}

@media (max-width:991.98px){
  .about-board-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:575.98px){
  .about-board-grid{
    grid-template-columns:1fr;
  }
}

.about-lead-copy{
  max-width:54ch;
  color:var(--text);
  font-family:var(--heading);
  font-size:clamp(1.2rem,2.15vw,2rem);
  font-weight:560;
  letter-spacing:-.035em;
  line-height:1.35;
}

.about-soft-card{
  background:var(--green-pale)!important;
}


/* Vision */

.about-vision{
  background:var(--yellow-pale);
}

.about-vision-media{
  border:1px solid rgba(18,24,19,.08);
  background:var(--green-soft);
  box-shadow:0 26px 68px rgba(18,24,19,.07);
}

.about-vision-media img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  will-change:transform;
}

.about-copy-stack p{
  max-width:58ch;
  color:var(--text);
  line-height:1.78;
}


/* Beliefs */

.about-beliefs{
  background:var(--paper);
}

.about-belief-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--cream);
  transform-style:preserve-3d;
  box-shadow:0 12px 36px rgba(18,24,19,.035);
  transition:border-color .3s ease,box-shadow .3s ease;
  will-change:transform;
}

.about-beliefs .col:nth-child(2) .about-belief-card{
  background:var(--yellow-pale);
}

.about-beliefs .col:nth-child(3) .about-belief-card{
  background:var(--green-pale);
}

.about-belief-card:hover{
  border-color:rgba(29,104,69,.28);
  box-shadow:0 24px 58px rgba(18,24,19,.08);
}

.about-belief-index,
.about-belief-card h3,
.about-belief-card p{
  position:relative;
  z-index:2;
}

.about-belief-index{
  color:var(--green);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
}

.about-belief-card p{
  max-width:29ch;
  color:var(--text);
  line-height:1.7;
}

.about-belief-ghost{
  position:absolute;
  right:-.03em;
  bottom:-.25em;
  z-index:0;
  color:rgba(29,104,69,.055);
  font-family:var(--heading);
  font-size:13rem;
  font-weight:800;
  line-height:1;
  pointer-events:none;
}


/* Giving Back */

.about-giveback{
  background:var(--paper);
}

.about-page .about-giveback.section-pad{
  padding-block:clamp(40px,4vw,64px);
}

.about-giveback-quote-shell{
  position:relative;
  overflow:hidden;
  padding:clamp(36px,4.2vw,52px) clamp(20px,4vw,40px);
  border-radius:28px;
  background:
    radial-gradient(circle at 84% 16%,rgba(239,204,73,.18),transparent 28%),
    linear-gradient(135deg,var(--green-dark),#123d2a);
  color:var(--paper);
}

.about-giveback-quote-shell--center{
  text-align:center;
}

.about-giveback-quote-inner{
  position:relative;
  z-index:2;
  max-width:52rem;
  margin-inline:auto;
}

.about-giveback-quote-shell--center .section-label{
  justify-content:center;
}

.about-giveback-quote-shell::after{
  content:"";
  position:absolute;
  right:-10vw;
  bottom:-22vw;
  z-index:0;
  width:42vw;
  aspect-ratio:1;
  border:1px solid rgba(239,204,73,.14);
  border-radius:50%;
  pointer-events:none;
}

.about-giveback-mark{
  position:absolute;
  top:-.08em;
  left:50%;
  z-index:0;
  color:rgba(255,253,248,.08);
  font-family:Georgia,serif;
  font-size:clamp(5rem,12vw,9rem);
  line-height:.8;
  pointer-events:none;
  transform:translateX(-50%);
}

.about-giveback .section-label{
  position:relative;
  z-index:2;
  color:var(--yellow);
}

.about-giveback-quote{
  position:relative;
  z-index:2;
  max-width:none;
  margin:0;
  border:0;
  padding:0;
}

.about-giveback-quote-lead{
  max-width:24ch;
  margin-inline:auto;
  color:var(--paper);
  font-family:var(--heading);
  font-size:clamp(1.85rem,3.4vw,3.25rem);
  font-weight:650;
  letter-spacing:-.055em;
  line-height:1.08;
  text-wrap:balance;
}

.about-giveback-quote-lead .about-motion-word,
.about-giveback-quote-lead .word-inner{
  display:inline-block;
}

.about-giveback-quote-sub{
  max-width:62ch;
  margin-inline:auto;
  color:rgba(255,253,248,.78);
  font-size:clamp(.95rem,1.08vw,1.04rem);
  line-height:1.72;
}


/* Impact sticky visual story */

.about-impact{
  background:var(--cream);
}

.about-impact-stage{
  top:calc(var(--site-sticky-offset, 100px) + 10px);
  height:min(52vh,420px);
  max-height:min(52vh,420px);
  /* border:1px solid var(--line);
  background:var(--green-dark);
  box-shadow:0 26px 70px rgba(18,24,19,.09); */
}

.about-impact-visual{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  visibility:hidden;
  will-change:opacity,transform,clip-path;
}

.about-impact-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.about-impact-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(18,61,42,.62));
  pointer-events:none;
}

.about-impact-stage-meta{
  position:absolute;
  right:22px;
  bottom:20px;
  left:22px;
  z-index:3;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  color:#fff;
}

.about-impact-stage-meta span:first-child{
  color:var(--yellow);
  font-family:var(--heading);
  font-size:clamp(2rem,4vw,4.2rem);
  font-weight:800;
  letter-spacing:-.07em;
  line-height:.8;
}

.about-impact-stage-meta span:last-child{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.about-impact-steps{
  border-top:1px solid var(--line);
}

.about-impact-step{
  min-height:0;
  padding-block:clamp(48px,5vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-bottom:1px solid var(--line);
}

.about-impact-step h3{
  max-width:13ch;
  letter-spacing:-.055em;
}

.about-impact-step p,
.about-impact-list{
  max-width:58ch;
  color:var(--text);
  line-height:1.72;
}

.about-impact-list{
  font-size:.9rem;
}

.about-impact-list li + li{
  margin-top:9px;
}

.about-impact-mobile-media img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}


/* Final — closing quote */

.about-final{
  background:var(--paper);
}

.about-final-quote-shell{
  position:relative;
  overflow:hidden;
  padding:clamp(54px,7vw,92px) clamp(22px,5vw,72px);
  border:1px solid rgba(29,104,69,.12);
  border:0;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 0%,rgba(239,204,73,.2),transparent 44%),
    linear-gradient(165deg, var(--green-dark), #0e3324);
  color:var(--paper);
  text-align:center;
}

.about-final-mark{
  position:absolute;
  top:-.1em;
  left:50%;
  z-index:0;
  color:rgba(29,104,69,.08);
  color:rgba(239,204,73,.14);
  font-size:clamp(8rem,18vw,16rem);
  line-height:.8;
  transform:translateX(-50%);
  pointer-events:none;
}

.about-final-quote-shell .section-label{
  position:relative;
  z-index:2;
  justify-content:center;
  color:var(--yellow);
}

.about-final-section-title{
  position:relative;
  z-index:2;
  max-width:none;
  margin-inline:auto;
  text-align:center;
  font-family:var(--heading);
  font-size:clamp(2.15rem,4.8vw,4rem);
  font-weight:700;
  letter-spacing:-.06em;
  line-height:1.04;
  text-wrap:balance;
  color:var(--paper);
}

.about-final-section-title .about-motion-word,
.about-final-section-title .word-inner{
  display:inline-block;
}

.about-final-quote-opener{
  font-family:var(--heading);
  font-size:clamp(1.15rem,2vw,1.45rem);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.35;
  color:rgba(255,253,248,.88);
}

.about-final-quote{
  position:relative;
  z-index:2;
  max-width:52rem;
  margin-inline:auto;
  border:0;
  padding:0;
  text-align:center;
}

.about-final-quote-lead{
  max-width:16ch;
  margin-inline:auto;
  font-family:var(--heading);
  font-size:clamp(2rem,4.5vw,3.6rem);
  font-weight:700;
  letter-spacing:-.06em;
  line-height:1.02;
  text-wrap:balance;
}

.about-final-quote p{
  max-width:62ch;
  margin-inline:auto;
  color:var(--text);
  color:rgba(255,253,248,.82);
  font-size:clamp(.98rem,1.1vw,1.06rem);
  line-height:1.78;
}

.about-final-quote-closer{
  font-weight:600;
  color:var(--paper);
}

.about-final-mantra-quote{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.08em;
  font-family:var(--heading);
  font-size:clamp(1.75rem,3.5vw,3rem);
  font-weight:800;
  letter-spacing:-.07em;
  line-height:.92;
}

.about-final-mantra-quote span{
  display:block;
}

.about-final-mantra-quote span:nth-child(1){
  color:var(--paper);
}

.about-final-mantra-quote span:nth-child(2){
  color:rgba(255,253,248,.72);
}

.about-final-mantra-quote span:nth-child(3){
  color:var(--yellow-hover);
}


/* Responsive */

@media(max-width:991.98px){
  .about-hero-banner .about-hero-copy{
    align-self:end;
    justify-self:start;
    width:min(610px,calc(100% - 32px));
    margin:
      0
      0
      clamp(28px,8vw,56px)
      clamp(16px,4vw,24px);
  }

  .about-hero-lead{
    margin-left:0;
  }

  .about-journey-line{
    grid-template-columns:1fr;
    row-gap:8px;
    padding-block:18px;
  }

  .about-giveback-quote-shell{
    padding:32px 20px;
    border-radius:22px;
  }

  .about-impact-step{
    min-height:0;
    padding-block:40px;
  }

  .about-impact-steps{
    border-top:0;
  }

  .about-final-quote-shell{
    padding:48px 22px;
    border-radius:22px;
  }
}

@media(max-width:767.98px){
  .about-display{
    max-width:100%;
    font-size:clamp(2.55rem,12vw,4rem);
    line-height:.98;
  }

  .about-hero-media{
    border-radius:18px!important;
  }

  .about-fact{
    border-radius:16px!important;
  }

  .about-lead-copy{
    font-size:0.8rem;
    font-weight:300;
  }

  .about-vision-media{
    border-radius:18px!important;
  }

  .about-belief-card{
    min-height:250px;
    border-radius:18px!important;
  }

  .about-belief-ghost{
    font-size:10rem;
  }

  .about-giveback-quote-lead{
    max-width:100%;
    font-size:clamp(1.65rem,8.5vw,2.5rem);
  }

  .about-impact-step h3{
    max-width:100%;
  }

  .about-final-section-title{
    max-width:100%;
    font-size:clamp(1.85rem,9vw,2.85rem);
  }

  .about-final-quote-lead{
    max-width:100%;
    font-size:clamp(1.85rem,9vw,2.75rem);
  }

  .about-final-mantra-quote{
    font-size:clamp(1.65rem,9vw,2.5rem);
  }
}

@media(prefers-reduced-motion:reduce){
  html.about-motion-pending .about-page [data-motion]{
    visibility:visible!important;
  }

  .about-page :is(
    [data-motion],
    .about-motion-word,
    .word-inner,
    .about-impact-visual
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    clip-path:none!important;
    filter:none!important;
    -webkit-text-stroke:0!important;
  }

  html.environment-motion-pending .environment-page [data-anim-trigger="load"]{
    visibility:visible!important;
    opacity:1!important;
  }

  .environment-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"],
    .env-pillar,
    .env-stat,
    .env-feature
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  html.environment-motion-pending .gallery-page [data-anim-trigger="load"],
  html.environment-motion-pending .media-page [data-anim-trigger="load"],
  html.environment-motion-pending .awards-page [data-anim-trigger="load"]{
    visibility:visible!important;
    opacity:1!important;
  }

  .gallery-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"]
  ),
  .media-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"]
  ),
  .awards-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"]
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  .blog-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"]
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  html.environment-motion-pending .blog-page [data-anim-trigger="load"]{
    visibility:visible!important;
    opacity:1!important;
  }

  .contact-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"]
  ),
  .blog-single-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"]
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  html.environment-motion-pending .contact-page [data-anim-trigger="load"],
  html.environment-motion-pending .blog-single-page [data-anim-trigger="load"]{
    visibility:visible!important;
    opacity:1!important;
  }
}


/* Environment page */

.environment-page{
  background:var(--cream);
  overflow-x:clip;
  color:var(--ink);
}

.environment-page .container-xxl{
  max-width:1200px;
}

.environment-page .section-pad{
  padding-block:clamp(72px,8vw,120px);
}

.env-section--alt{
  background:var(--paper);
}

.environment-page .about-hero-banner .hero-heading,
.enterprise-page .about-hero-banner .hero-heading,
.community-page .about-hero-banner .hero-heading{
  max-width:min(14ch,100%);
}

.environment-page .about-hero-banner-sub,
.enterprise-page .about-hero-banner-sub,
.community-page .about-hero-banner-sub{
  max-width:min(42ch,100%);
  margin:0;
  color:rgba(255,253,248,.88);
  font-family:var(--heading);
  font-size:clamp(.95rem,1.15vw,1.12rem);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.45;
}

.env-intro-head{
  max-width:920px;
  margin-bottom:clamp(36px,5vw,56px);
}

.env-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(28px,4vw,64px);
  align-items:end;
  margin-bottom:clamp(36px,5vw,56px);
}

.env-prose{
  max-width:62ch;
  color:var(--text);
  font-size:clamp(1rem,1.05vw,1.08rem);
  line-height:1.75;
}

.env-prose--wide{
  max-width:90ch;
  margin-bottom:clamp(28px, 4vw, 44px);
}

.env-prose p + p{
  margin-top:1rem;
}

.env-kicker{
  color:var(--green);
  font-family:var(--heading);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.env-pillar-grid,
.env-stat-grid,
.env-feature-grid{
  display:grid;
  gap:16px;
}

.env-pillar-grid,
.env-stat-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.env-feature-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:clamp(28px,4vw,40px);
  align-items:start;
}

.env-pillar,
.env-stat,
.env-feature,
.env-frame{
  overflow:hidden;
  border-radius:22px;
  background:var(--paper);
  border:1px solid rgba(18,24,19,.08);
  box-shadow:0 18px 40px rgba(18,24,19,.05);
}

.env-pillar,
.env-stat{
  position:relative;
  min-height:280px;
  color:#fffdf8;
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform,opacity;
}

.env-feature{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:0;
  color:var(--ink);
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform,opacity;
}

.env-pillar img,
.env-stat img,
.env-feature img{
  transform:translateZ(0);
  backface-visibility:hidden;
}

.env-pillar img,
.env-stat img,
.env-frame img,
.env-film img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.env-feature img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
}

.env-pillar img,
.env-stat img{
  position:absolute;
  inset:0;
}

.env-feature img{
  aspect-ratio:4/3;
}

.env-pillar::after,
.env-stat::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(18,24,19,.08) 20%,rgba(18,24,19,.82) 100%);
}

.env-pillar-title,
.env-pillar-sub,
.env-stat-value,
.env-stat-label{
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}

.env-pillar-body,
.env-stat-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  height:100%;
  min-height:280px;
  padding:22px;
}

.env-pillar-title,
.env-stat-value,
.env-feature h3{
  margin:0 0 6px;
  font-family:var(--heading);
  letter-spacing:-.03em;
}

.env-pillar-title,
.env-pillar-sub,
.env-stat-value,
.env-stat-label{
  color:#fffdf8;
}

.env-pillar-title{
  font-size:1.25rem;
}

.env-pillar-sub,
.env-stat-label{
  margin:0;
  color:rgba(255,253,248,.82);
  font-size:.88rem;
  line-height:1.4;
}

.env-stat-value{
  font-size:clamp(1.6rem,2vw,2rem);
  font-weight:750;
  line-height:1;
}

.environment-page .env-counter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,18px);
}

.environment-page .env-counter{
  padding:clamp(22px,2.5vw,28px) clamp(18px,2vw,24px);
  border:1px solid rgba(18,24,19,.08);
  border-radius:clamp(12px,1vw,16px);
  background:var(--paper);
  text-align:left;
  box-shadow:0 8px 28px rgba(15,23,20,.04);
  min-height:0;
  color:var(--ink);
}

.environment-page .env-counter-value{
  margin:0 0 .45rem;
  color:var(--green-dark);
  font-family:var(--heading);
  font-size:clamp(1.55rem,2.4vw,2rem);
  font-weight:750;
  letter-spacing:-.03em;
  line-height:1.05;
  text-shadow:none;
}

.environment-page .env-counter-label{
  margin:0;
  color:var(--text);
  font-size:clamp(.84rem,.9vw,.92rem);
  line-height:1.55;
  text-shadow:none;
}

.environment-page .env-video-section{
  background:var(--white);
}

.environment-page .env-video-section .video-card,
.community-video-section .video-card,
.video-card--landscape{
  aspect-ratio:16/9;
}

.video-card--native-controls .video-controls{
  display:none;
}

.environment-page .env-video-grid,
.community-video-grid{
  --bs-gutter-x:clamp(1rem,2vw,1.5rem);
  --bs-gutter-y:clamp(1rem,2vw,1.5rem);
}

@media (max-width:767.98px){
  .environment-page .env-counter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:575.98px){
  .environment-page .env-counter-grid{
    grid-template-columns:1fr;
  }
}

.env-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.95fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}

.env-split--flip{
  grid-template-columns:minmax(0,.95fr) minmax(0,1fr);
}


.env-vision .env-frame img{
  aspect-ratio:1/1;
}

.env-section-head{
  margin-bottom:clamp(20px,3vw,28px);
}

.env-feature{
  color:var(--ink);
  min-height:0;
  background:var(--paper);
  height:100%;
}

.env-feature-body{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  padding:18px 18px 22px;
  color:var(--text);
  background:var(--paper);
}

.env-feature-body h3,
.env-feature h3{
  color:var(--ink);
}

.env-feature-body p{
  margin:0;
  color:var(--text);
  font-size:.98rem;
  line-height:1.7;
}

.env-pullquote,
.env-quote{
  position:relative;
  margin:clamp(48px,7vw,88px) auto 0;
  max-width:920px;
  padding:clamp(48px,6vw,72px) clamp(28px,6vw,72px) clamp(40px,5vw,56px);
  text-align:center;
  border:0;
  border-radius:32px;
  background:radial-gradient(circle at 50% 0%, rgba(239, 204, 73, .28), transparent 42%), #ccf1d5;
  background:
    radial-gradient(circle at 50% 0%, rgba(239,204,73,.2), transparent 42%),
    linear-gradient(165deg, var(--green-dark), #0e3324);
  color:var(--paper);
  box-shadow:0 24px 60px rgba(18,61,42,.12);
}

.env-quote-mark{
  display:block;
  margin:0 auto 8px;
  color:var(--yellow);
  font-family:var(--heading);
  font-size:clamp(4.5rem,8vw,6.5rem);
  font-weight:700;
  line-height:.7;
  letter-spacing:-.06em;
}

.env-pullquote p,
.env-quote > p:not(.env-quote-kicker){
  max-width:18em;
  margin:0 auto;
  font-family:var(--heading);
  font-size:clamp(1.7rem,3vw,2.55rem);
  font-weight:650;
  letter-spacing:-.045em;
  line-height:1.2;
  color:var(--paper);
}

.env-pullquote p::after,
.env-quote > p:last-child::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin:28px auto 0;
  border-radius:99px;
  background:var(--yellow);
}

.env-quote{
  margin-top:0;
  margin-bottom:0;
}

.env-quote .env-quote-mark{
  color:var(--yellow);
}

.env-quote .env-quote-kicker{
  justify-content:center;
  max-width:none;
  margin-inline:auto;
  font-family:var(--body);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.45;
  color:var(--yellow);
}

.env-band{
  background:
    radial-gradient(circle at 50% 0%,rgba(239,204,73,.18),transparent 42%),
    var(--green-pale);
}

.environment-page #envCommunity.people-section{
  background:
    radial-gradient(circle at 50% 0%,rgba(239,204,73,.18),transparent 42%),
    var(--green-pale);
}

.environment-page #envCommunity .env-band-title{
  max-width:18ch;
}

.environment-page #envCommunity .people-scroll-stage{
  margin-top:clamp(28px,4vw,48px);
}

.env-band-title{
  max-width:16ch;
  margin:0 0 28px;
  font-family:var(--heading);
  font-size:clamp(2rem,3.2vw,3.2rem);
  letter-spacing:-.045em;
  line-height:1.05;
}

.env-band-title--caps{
  max-width:min(28ch,100%);
  font-size:clamp(1.25rem,2.4vw,2.05rem);
  letter-spacing:.05em;
  line-height:1.15;
  text-transform:uppercase;
}

.environment-page #envCommunity .env-band-title--caps{
  max-width:min(32ch,100%);
}

.env-people{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
}

.env-people li{
  padding:10px 14px;
  border-radius:999px;
  background:var(--paper);
  border:1px solid rgba(29,104,69,.14);
  font-size:.92rem;
  font-weight:650;
}

.env-band-note{
  margin:0 0 clamp(28px,4vw,40px);
  color:var(--green);
  font-weight:700;
  letter-spacing:.04em;
}

.env-film{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.env-film figure{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  aspect-ratio:4/3;
  background:var(--green-soft);
}

.env-vision{
  background:#e5f0e6;
  color:var(--ink);
}

.env-vision .section-title{
  color:var(--ink);
}

.env-vision .env-prose{
  color:var(--text);
  margin-top:18px;
}

.env-vision-split{
  align-items:center;
}

.env-vision-close{
  max-width:62ch;
  margin:28px 0 0;
  font-family:var(--heading);
  font-size:clamp(1.2rem,1.8vw,1.45rem);
  font-weight:650;
  letter-spacing:-.03em;
  line-height:1.4;
  color:var(--green-dark);
}

.env-vision-list{
  margin:0;
  padding-left:1.2em;
  color:var(--text);
  font-size:clamp(1rem,1.05vw,1.08rem);
  line-height:1.75;
}

.env-vision-list li + li{
  margin-top:.35em;
}

.env-board{
  background:var(--paper);
}

html.environment-motion-pending .environment-page [data-anim-trigger="load"]{
  opacity:0;
}

@media (max-width:991.98px){
  .env-intro-grid,
  .env-split,
  .env-split--flip{
    grid-template-columns:1fr;
  }
}

@media (max-width:1199.98px){
  .env-pillar-grid,
  .env-stat-grid,
  .env-film{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .env-feature-grid{
    grid-template-columns:1fr;
  }

  .site-navbar .nav-link{
    font-size:.74rem;
  }
}

@media (max-width:767.98px){
  .environment-page .section-pad,
  .journey-page .section-pad,
  .about-page .section-pad{
    padding-block:56px;
  }

  .env-intro-grid,
  .env-split,
  .env-split--flip,
  .env-pillar-grid,
  .env-stat-grid,
  .env-feature-grid,
  .env-film{
    grid-template-columns:1fr;
  }

  .env-frame img{
    aspect-ratio:4/3;
  }

  .env-vision .env-frame img{
    aspect-ratio:1/1;
  }

  .env-pillar,
  .env-stat,
  .env-pillar-body,
  .env-stat-copy{
    min-height:230px;
  }

  .env-band-title,
  .env-pullquote p,
  .env-quote > p:not(.env-quote-kicker){
    max-width:100%;
  }

  .env-vision-close{
    max-width:100%;
  }
}

.w-fit{
  width:fit-content !important;
}


/* Journey page — Royal Classic Mills */

.journey-page{
  background:var(--cream);
  overflow-x:clip;
  color:var(--ink);
}

.journey-page .container-xxl{
  max-width:1200px;
}

.journey-page .section-pad{
  padding-block:clamp(72px,8vw,120px);
}

/* The mill */

.journey-mill{
  background:
    radial-gradient(circle at 0% 0%,rgba(239,204,73,.14),transparent 42%),
    var(--cream);
}

.journey-mill-shell{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,4vw,48px);
  align-items:center;
  padding:clamp(22px,3vw,32px);
  border:1px solid rgba(29,104,69,.12);
  border-radius:28px;
  background:var(--paper);
  box-shadow:0 22px 56px rgba(18,61,42,.07);
}

.journey-mill-visual{
  margin:0;
  overflow:hidden;
  border-radius:22px;
  background:#e8f0ea;
}

.journey-mill-visual img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
}

.journey-mill-body{
  padding:clamp(8px,2vw,16px) clamp(4px,2vw,12px);
}

.journey-mill-prose{
  max-width:none;
}

.journey-mill-lead{
  margin-top:1rem;
  font-weight:700;
}

/* My Journey at Royal Classic Mills — full-width artifact tile background */

.journey-rcm{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#f3ecdf;
  background-image:
    radial-gradient(ellipse 120% 80% at 50% -20%,rgba(239,204,73,.22),transparent 55%),
    radial-gradient(ellipse 90% 60% at 100% 100%,rgba(29,104,69,.12),transparent 50%),
    radial-gradient(ellipse 70% 50% at 0% 80%,rgba(18,61,42,.08),transparent 45%);
}

.journey-rcm::before,
.journey-rcm::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}

.journey-rcm::before{
  background-image:url("../images/journey-rcm-artifact.svg");
  background-size:192px 192px;
  background-repeat:repeat;
  opacity:.92;
  transform:rotate(-4deg) scale(1.08);
  transform-origin:center center;
  mask-image:
    radial-gradient(ellipse 95% 85% at 50% 48%,#000 35%,transparent 100%);
}

.journey-rcm::after{
  background-image:url("../images/journey-rcm-artifact-wear.svg");
  background-size:240px 240px;
  background-repeat:repeat;
  opacity:.85;
  mix-blend-mode:multiply;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.25) 55%,rgba(0,0,0,.45));
}

.journey-rcm > .container-xxl{
  position:relative;
  z-index:1;
}

.journey-rcm-wrap{
  max-width:920px;
  margin-inline:auto;
  text-align:center;
}

.journey-rcm-wrap .section-label{
  justify-content:center;
}

.journey-rcm-wrap .section-title{
  max-width:28ch;
}

.journey-rcm-copy{
  margin-inline:auto;
  text-align:left;
}

/* A better workplace */

.journey-workplace{
  background:
    radial-gradient(circle at 100% 100%,rgba(29,104,69,.08),transparent 45%),
    var(--cream);
}

.journey-workplace-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(29,104,69,.12);
  border-radius:28px;
  background:var(--paper);
  box-shadow:0 24px 60px rgba(18,61,42,.08);
}

.journey-workplace-visual{
  position:relative;
  margin:0;
  min-height:280px;
}

.journey-workplace-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  object-position:center 35%;
}

.journey-workplace-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(32px,5vw,52px) clamp(28px,4vw,44px);
  background:
    linear-gradient(165deg,rgba(237,245,238,.95) 0%,var(--paper) 55%);
}

.journey-page .env-stat-grid{
  margin-top:clamp(36px,5vw,64px);
}

.journey-energy-section{
  overflow:visible;
  background:var(--green-pale);
}

.journey-energy-intro{
  margin-bottom:0;
}

.journey-energy-stack{
  margin-top:clamp(36px,5vw,52px);
}

.journey-energy-section .journey-energy-card{
  z-index:1;
  height:auto;
  min-height:0;
  overflow:visible;
  clip-path:none !important;
  transform:none !important;
  will-change:auto;
}

.journey-energy-section .journey-energy-card:nth-child(2){
  z-index:2;
}

.journey-energy-section .journey-energy-card:not(:last-child){
  margin-bottom:clamp(48px,10vh,112px);
}

.journey-energy-card--wind{
  background:var(--paper);
}

.journey-energy-card-inner{
  display:flex;
  flex-direction:column;
  gap:clamp(18px,2.5vw,24px);
  padding:clamp(18px,2.5vw,26px);
}

.journey-energy-card-media{
  margin:0;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:18px;
  background:
    linear-gradient(
      135deg,
      #dfeae2 0%,
      #f3f7f4 42%,
      #eef3ef 100%
    );
  aspect-ratio:1/1;
  width:100%;
  max-width:360px;
}

.journey-energy-card-title{
  margin:0 0 .75rem;
  color:var(--ink);
  font-family:var(--heading);
  font-size:clamp(1.35rem,2vw,1.85rem);
  font-weight:650;
  letter-spacing:-.035em;
  line-height:1.15;
}

.journey-energy-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.journey-energy-card-copy{
  flex:1 1 auto;
  min-width:0;
}

.journey-energy-card-body p{
  margin:0;
  color:var(--text);
  font-size:clamp(.9rem,.95vw,.98rem);
  line-height:1.68;
}

.journey-energy-card-body p + p{
  margin-top:.85rem;
}

.journey-energy-section .journey-energy-card-copy .env-kicker{
  margin-bottom:.75rem;
}

@media (min-width:992px){
  .journey-energy-card-inner{
    flex-direction:row;
    align-items:flex-start;
    gap:clamp(24px,3vw,36px);
  }

  .journey-energy-card-inner--flip{
    flex-direction:row-reverse;
  }

  .journey-energy-card-media{
    width:min(36%,320px);
    max-width:320px;
  }

  .journey-energy-section .journey-energy-card{
    top:112px;
  }
}

@media (max-width:991.98px){
  .journey-energy-card-media{
    max-width:none;
    width:100%;
  }

  .journey-energy-section .journey-energy-card{
    top:84px;
  }

  .journey-energy-section .journey-energy-card:not(:last-child){
    margin-bottom:clamp(36px,8vh,64px);
  }
}

@media (max-width:991.98px){
  .journey-mill-shell,
  .journey-workplace-shell{
    grid-template-columns:1fr;
  }

  .journey-mill-visual img{
    aspect-ratio:4/3;
    object-fit:cover;
  }

  .journey-workplace-visual{
    min-height:240px;
  }

  .journey-workplace-visual img{
    min-height:240px;
    aspect-ratio:16/10;
  }
}

@media (max-width:767.98px){
  .journey-mill-shell{
    padding:18px;
    border-radius:22px;
  }

  .journey-rcm-copy{
    text-align:left;
  }

  .journey-workplace-content{
    padding:28px 22px 32px;
  }

  .journey-page .env-stat-value{
    font-size:clamp(1.2rem,6.5vw,1.55rem);
    line-height:1.15;
  }

  .journey-page .env-stat-label{
    font-size:.82rem;
  }

  .journey-page .about-hero-banner .hero-heading,
  .enterprise-page .about-hero-banner .hero-heading{
    max-width:none;
  }

  .journey-energy-stack{
    margin-top:32px;
  }
}

html.environment-motion-pending .journey-page [data-anim-trigger="load"],
html.environment-motion-pending .enterprise-page [data-anim-trigger="load"]{
  opacity:0;
}

@media(prefers-reduced-motion:reduce){
  html.environment-motion-pending .journey-page [data-anim-trigger="load"],
  html.environment-motion-pending .enterprise-page [data-anim-trigger="load"],
  .journey-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"],
    .env-stat
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

/* Community page */

.community-page{
  background:var(--cream);
  overflow-x:clip;
  color:var(--ink);
}

.community-page .container-xxl{
  max-width:1200px;
}

.community-page .section-pad{
  padding-block:clamp(72px,8vw,120px);
}

.community-section--paper{
  background:var(--paper);
}

.community-section--accent{
  background:linear-gradient(
    180deg,
    var(--cream) 0%,
    rgba(29,104,69,.06) 100%
  );
}

.community-education-section{
  background:var(--cream);
}

.community-education-section .community-education-block{
  width:100%;
  text-align:center;
}

.community-education-section .community-education-block .section-label{
  justify-content:center;
}

.community-education-section .community-education-block :is(
  .belief-title,
  .belief-intro,
  .community-lead-sentence
){
  max-width:none;
  margin-inline:auto;
  text-align:center;
}

.community-education-section .community-education-block .community-lead-sentence{
  margin-bottom:clamp(18px,2.5vw,28px);
}

.community-education-section .community-education-block .belief-intro{
  margin-top:clamp(14px,2vw,20px);
}

.community-campus-intro{
  margin-bottom:clamp(32px,5vw,48px);
}

.community-campus-prose{
  max-width:none;
  width:100%;
}

.community-campus-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,4vw,48px);
  align-items:start;
  margin-bottom:clamp(32px,5vw,48px);
}

.community-counter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,18px);
}

.community-counter{
  padding:clamp(20px,2.5vw,26px) clamp(16px,2vw,22px);
  border:1px solid rgba(18,24,19,.1);
  border-radius:clamp(10px,1vw,14px);
  background:#fff;
  text-align:left;
  box-shadow:0 8px 28px rgba(15,23,20,.04);
}

.community-counter-icon{
  display:block;
  margin-bottom:.75rem;
  color:var(--green);
  font-size:1.25rem;
  line-height:1;
}

.community-counter-icon i{
  font-weight:900;
}

.community-counter-value{
  margin:0 0 .4rem;
  color:var(--ink);
  font-family:var(--heading);
  font-size:clamp(1rem,1.25vw,1.15rem);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
}

.community-counter-note{
  color:var(--text);
  font-size:clamp(.84rem,.9vw,.92rem);
  line-height:1.55;
}

.community-lead-sentence{
  color:var(--ink);
  font-family:var(--heading);
  font-size:clamp(1.05rem,1.55vw,1.35rem);
  font-weight:650;
  letter-spacing:-.02em;
  line-height:1.35;
}

.community-neet-copy{
  max-width:none;
}

.community-neet-split{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,4vw,48px);
  align-items:center;
}

.community-neet-copy-col{
  min-width:0;
}

.community-neet-copy-col .section-label{
  justify-content:flex-start;
}

.community-neet-media img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
}

.community-video-section{
  background:var(--cream);
}

.community-closing{
  background:var(--cream);
  color:var(--ink);
}

.community-quote{
  position:relative;
  width:100%;
  margin:0;
  padding:clamp(36px,5vw,56px) clamp(28px,4vw,48px);
  border:1px solid rgba(255,255,255,.1);
  border:0;
  border-radius:clamp(16px,1.5vw,24px);
  background:
    radial-gradient(circle at 50% 0%, rgba(239,204,73,.2), transparent 42%),
    linear-gradient(165deg, var(--green-dark), #0e3324);
  color:var(--paper);
  text-align:center;
  box-shadow:0 24px 64px rgba(18,61,42,.14);
}

.community-quote-mark{
  display:block;
  margin:0 auto clamp(8px,1.5vw,14px);
  color:var(--yellow);
  font-family:var(--heading);
  font-size:clamp(2.5rem,5vw,3.75rem);
  font-weight:650;
  line-height:1;
}

.community-quote-title{
  margin:0 0 clamp(24px,3vw,32px);
  color:var(--paper);
  font-family:var(--heading);
  font-size:clamp(1.55rem,2.8vw,2.45rem);
  font-weight:650;
  letter-spacing:-.035em;
  line-height:1.14;
}

.community-quote-prose{
  max-width:58ch;
  margin-inline:auto;
  color:rgba(255,253,248,.82);
}

.community-quote-prose p{
  color:inherit;
}

.community-split{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}

.community-split-media{
  margin:0;
  border-radius:clamp(12px,1.2vw,18px);
  overflow:hidden;
}

.community-split-media img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
}

@media (max-width:991.98px){
  .community-campus-split,
  .community-split,
  .community-neet-split{
    grid-template-columns:1fr;
  }

  .community-counter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .community-page .about-hero-banner .hero-heading{
    max-width:none;
  }
}

@media (max-width:575.98px){
  .community-counter-grid{
    grid-template-columns:1fr;
  }
}

html.environment-motion-pending .community-page [data-anim-trigger="load"]{
  opacity:0;
}

@media(prefers-reduced-motion:reduce){
  html.environment-motion-pending .community-page [data-anim-trigger="load"],
  .community-page :is(
    [class*="anim-"],
    [data-anim-trigger="load"],
    .community-counter
  ){
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

/* Responsive polish (tablet / mobile) — desktop layouts unchanged above breakpoints */

@media (max-width:991.98px){
  .page-lead-block{
    text-align:left;
    max-width:none;
  }

  .about-hero-copy .hero-heading{
    max-width:none;
    font-size:clamp(1.65rem,6.2vw,2.35rem);
    line-height:1.08;
  }

  .about-hero-banner-lead,
  .about-hero-copy .about-hero-banner-lead{
    max-width:42ch;
    font-size:clamp(.92rem,2.6vw,1.05rem);
    line-height:1.55;
  }

  .people-scroll-card{
    flex:0 0 min(340px,78vw);
  }

  .people-scroll-viewport{
    padding-inline:0;
  }

  .community-split-media img,
  .community-neet-media img,
  .community-campus-visual img,
  .environment-page .env-frame img,
  .journey-page .journey-mill-visual img,
  .journey-page .env-frame img{
    max-height:min(52vh,420px);
    object-fit:cover;
  }
}

@media (max-width:767.98px){
  .about-hero-top .hero-wrap{
    padding:.65rem!important;
  }

  .about-hero-copy{
    padding:clamp(14px,4vw,22px) clamp(12px,3.5vw,18px) clamp(18px,5vw,26px);
  }

  .about-hero-copy .section-label{
    margin-bottom:.65rem!important;
  }

  .about-hero-copy .hero-heading{
    margin-bottom:.75rem!important;
  }

  .about-hero-banner-image{
    object-position:center 28%;
  }

  .gallery-page .about-hero-banner-image,
  .blog-page .about-hero-banner-image,
  .contact-page .about-hero-banner-image,
  .awards-page .about-hero-banner-image{
    object-position:center center;
  }

  .media-page .about-hero-banner-image{
    object-position:center center;
  }

  .community-closing-title{
    font-size:clamp(1.45rem,6.5vw,2rem);
  }

  .community-closing-title br{
    display:none;
  }

  .community-neet-split{
    gap:22px;
  }

  .env-intro-grid{
    gap:22px;
  }

  .section-title{
    hyphens:auto;
    overflow-wrap:break-word;
  }

  .people-scroll-steps{
    font-size:.82rem;
    gap:4px;
  }

  .people-scroll-card{
    flex:0 0 min(300px,86vw);
  }
}

/* Center-aligned editorial blocks → left on tablet & mobile (desktop unchanged) */

@media (max-width:991.98px){
  .journey-rcm-wrap{
    text-align:left;
  }

  .journey-rcm-wrap .section-label{
    justify-content:flex-start;
  }

  .journey-rcm-wrap .section-title,
  .journey-rcm-wrap .mx-auto{
    max-width:none;
    margin-inline:0 !important;
  }

  .journey-rcm-wrap .text-center{
    text-align:left !important;
  }

  .community-education-section .community-education-block{
    text-align:left;
  }

  .community-education-section .community-education-block .section-label{
    justify-content:flex-start;
  }

  .community-education-section .community-education-block :is(
    .belief-title,
    .belief-intro,
    .community-lead-sentence
  ){
    margin-inline:0;
    text-align:left;
  }

  .env-pullquote,
  .env-quote{
    text-align:left;
  }

  .env-quote-mark{
    margin-inline:0 auto 8px 0;
  }

  .env-pullquote p,
  .env-quote > p:not(.env-quote-kicker){
    margin-inline:0;
  }

  .env-pullquote p::after,
  .env-quote > p:last-child::after{
    margin-inline:0 auto 0 0;
  }

  .env-quote .env-quote-kicker{
    justify-content:flex-start;
    margin-inline:0;
  }

  .community-quote{
    text-align:left;
  }

  .community-quote-mark{
    margin-inline:0 auto clamp(8px,1.5vw,14px) 0;
  }

  .community-quote-prose{
    margin-inline:0;
    text-align:left;
  }

  .about-giveback-quote-shell--center{
    text-align:left;
  }

  .about-giveback-quote-shell--center .section-label{
    justify-content:flex-start;
  }

  .about-giveback-quote-lead,
  .about-giveback-quote-sub{
    margin-inline:0;
  }

  .about-giveback-mark{
    left:0;
    transform:none;
  }

  .about-final-quote-shell{
    text-align:center;
  }

  .about-final-quote-shell .section-label{
    justify-content:center;
  }

  .about-final-section-title,
  .about-final-quote,
  .about-final-quote-lead,
  .about-final-quote p{
    margin-inline:auto;
    text-align:center;
  }

  .about-final-mark{
    left:50%;
    transform:translateX(-50%);
  }

  .about-final-mantra-quote{
    align-items:center;
  }

  .people-reflection-shell{
    align-items:flex-start;
    text-align:left;
  }

  .people-reflection-shell .water-line{
    text-align:left;
  }

  .reflection-mark{
    left:0;
    transform:none;
  }

  .belief-story-panel{
    align-items:flex-start;
    text-align:left;
  }

  .belief-story-panel p{
    max-width:none;
  }
}

/* Gallery page */

.gallery-page .gallery-page-intro.section-pad{
  padding-top:clamp(44px,5.5vw,72px);
  padding-bottom:clamp(28px,3.5vw,48px);
}

.gallery-page .gallery-page-grid-section.section-pad{
  padding-top:clamp(36px,4.5vw,56px);
  padding-bottom:clamp(72px,7.5vw,108px);
}

.gallery-page-intro{
  background:var(--paper);
}

.gallery-page-heading{
  margin:0 0 clamp(22px,2.8vw,32px);
  color:var(--green);
  font-family:var(--heading);
  font-size:clamp(1.05rem,1.35vw,1.35rem);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.35;
  text-transform:uppercase;
}

.gallery-page-categories{
  margin:0 0 clamp(20px,3vw,32px);
  color:var(--green);
  font-family:var(--heading);
  font-size:clamp(.72rem,.85vw,.82rem);
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.65;
  text-transform:uppercase;
}

.gallery-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:12px 14px;
  max-width:none;
}

.gallery-filter-chip{
  appearance:none;
  border:1px solid rgba(18,24,19,.12);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  cursor:pointer;
  font-family:var(--heading);
  font-size:clamp(.8rem,.78vw,.9rem);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.25;
  padding:.65rem 1rem;
  text-align:left;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.gallery-filter-chip.is-active,
.gallery-filter-chip[aria-pressed="true"]{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}

.gallery-page-grid-section{
  background:var(--cream);
}

.gallery-page .gallery-tile[hidden]{
  display:none !important;
}

.gallery-empty-state{
  margin:clamp(32px,4vw,48px) auto 0;
  max-width:36rem;
  text-align:center;
  font-size:1rem;
  color:var(--text-muted, rgba(18,24,19,.62));
}

.gallery-view-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:clamp(28px,3.5vw,44px);
}

.gallery-view-more{
  appearance:none;
  border:1px solid var(--green);
  border-radius:999px;
  background:transparent;
  color:var(--green);
  cursor:pointer;
  font-family:var(--heading);
  font-size:clamp(.7rem,1.2vw,.85rem);
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.25;
  padding:.72rem 1.35rem;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.gallery-view-more:hover,
.gallery-view-more:focus-visible{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
  outline:none;
}

.gallery-view-more-wrap[hidden]{
  display:none !important;
}

.gallery-empty-state[hidden]{
  display:none !important;
}

.gallery-page .gallery-masonry{
  --gallery-masonry-gap:clamp(14px,2vw,20px);

  position:relative;
  width:100%;
}

.gallery-page .gallery-tile{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(18,24,19,.06);
}

.gallery-page .gallery-tile button{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  text-align:left;
}

.gallery-page .gallery-tile-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  max-width:100%;
  overflow:hidden;
  background:linear-gradient(
    145deg,
    rgba(45,106,62,.08) 0%,
    rgba(18,24,19,.06) 48%,
    rgba(45,106,62,.1) 100%
  );
}

.gallery-page .gallery-tile.is-loading .gallery-tile-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    105deg,
    transparent 0%,
    transparent 40%,
    rgba(255,255,255,.42) 50%,
    transparent 60%,
    transparent 100%
  );
  transform:translateX(-120%);
  animation:gallery-tile-shimmer 1.15s ease-in-out infinite;
}

@keyframes gallery-tile-shimmer{
  0%{
    transform:translateX(-120%);
  }
  100%{
    transform:translateX(120%);
  }
}

.gallery-page .gallery-tile-img{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .4s ease;
}

.gallery-page .gallery-tile-img.is-loaded{
  opacity:1;
}

@media (prefers-reduced-motion:reduce){
  .gallery-page .gallery-tile.is-loading .gallery-tile-media::after{
    animation:none;
    opacity:.35;
    transform:none;
  }

  .gallery-page .gallery-tile-img{
    transition:none;
  }
}

.gallery-page .gallery-tile-img.is-error{
  opacity:0;
}

.gallery-page .gallery-tile.is-masonry-item{
  position:absolute;
  top:0;
  left:0;
}

.gallery-page .gallery-tile span{
  display:block;
  padding:12px 14px;
  color:var(--text);
  font-size:.85rem;
  font-weight:600;
}

.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(8,12,10,.88);
}

.gallery-lightbox[aria-hidden="true"]{
  display:none;
}

.gallery-lightbox img{
  max-width:min(1100px,96vw);
  max-height:88vh;
  width:auto;
  height:auto;
  border-radius:12px;
}

.gallery-lightbox-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:1.75rem;
  line-height:1;
  cursor:pointer;
}

/* Media page tabs */

.media-page-intro{
  background:var(--paper);
}

html.environment-motion-pending .gallery-page [data-anim-trigger="load"],
html.environment-motion-pending .media-page [data-anim-trigger="load"],
html.environment-motion-pending .awards-page [data-anim-trigger="load"],
html.environment-motion-pending .blog-page [data-anim-trigger="load"],
html.environment-motion-pending .contact-page [data-anim-trigger="load"],
html.environment-motion-pending .blog-single-page [data-anim-trigger="load"]{
  opacity:0;
}

html.environment-motion-fallback .gallery-page [class*="anim-"],
html.environment-motion-fallback .media-page [class*="anim-"],
html.environment-motion-fallback .awards-page [class*="anim-"],
html.environment-motion-fallback .blog-page [class*="anim-"],
html.environment-motion-fallback .contact-page [class*="anim-"],
html.environment-motion-fallback .blog-single-page [class*="anim-"]{
  opacity:1;
}

/* Blog page */


.blog-page .blog-hero-eyebrow{
  color:var(--yellow);
}

.blog-page .blog-hero-eyebrow::before{
  background:var(--yellow);
}

html.environment-motion-pending .blog-page [data-anim-trigger="load"]{
  opacity:0;
}

.blog-page-list{
  padding-top:clamp(44px,5.5vw,72px);
}

.blog-archive-toolbar{
  width:100%;
}

.blog-archive-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:14px 18px;
  width:100%;
}

.blog-archive-control{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:0 1 auto;
  min-width:min(100%,160px);
}

.blog-archive-control--search{
  flex:1 1 min(100%,240px);
  max-width:360px;
  margin-left:auto;
}

.blog-archive-control-label{
  font-family:var(--heading);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--green);
}

.blog-archive-select{
  width:100%;
  min-width:170px;
  padding:.65rem 2rem .65rem .85rem;
  border:1px solid var(--line);
  border-radius:12px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231d6845' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .85rem center;
  color:var(--ink);
  cursor:pointer;
  font:inherit;
  font-size:.88rem;
  font-weight:600;
  appearance:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.blog-archive-select:hover{
  border-color:rgba(29,104,69,.35);
}

.blog-archive-select:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(29,104,69,.14);
}

.blog-archive-search-wrap{
  position:relative;
  width:100%;
}

.blog-page .blog-card--shown{
  opacity:1;
  transform:none;
}

html:not(.environment-motion-fallback) .blog-page #blogArchiveGrid .blog-card{
  will-change:transform,opacity;
}

html.environment-motion-pending .blog-page #blogArchiveGrid .blog-card:not(.blog-card--shown){
  opacity:0;
  transform:translate3d(0,28px,0);
}

.blog-archive-search-field{
  width:100%;
  padding:.6rem 2.5rem .6rem 1rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font:inherit;
}

.blog-archive-search-field:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(45,90,61,.12);
}

.blog-archive-search-clear{
  position:absolute;
  top:50%;
  right:8px;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--text);
  font-size:1.35rem;
  line-height:1;
  transform:translateY(-50%);
  cursor:pointer;
}

.blog-archive-search-clear:hover{
  color:var(--green);
}

.blog-date-sep{
  opacity:.45;
  margin:0 4px;
}

.blog-card-cat{
  font-weight:700;
}

.blog-archive-pagination-wrap{
  margin-top:clamp(32px,4vw,48px);
}

.blog-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 12px;
}

.blog-page-numbers{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.blog-page-btn{
  appearance:none;
  min-width:40px;
  padding:.55rem .85rem;
  border:1px solid rgba(18,24,19,.12);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  cursor:pointer;
  font-family:var(--heading);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.2;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.blog-page-btn--arrow{
  padding-left:1rem;
  padding-right:1rem;
}

.blog-page-btn:hover:not(.is-disabled):not(.is-current){
  border-color:var(--green);
  color:var(--green);
}

.blog-page-btn.is-current{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
  cursor:default;
}

.blog-page-btn.is-disabled{
  opacity:.35;
  cursor:default;
}

.blog-archive.is-loading #blogArchiveGrid{
  opacity:.55;
  pointer-events:none;
  transition:opacity .2s ease;
}

.blog-empty{
  padding:clamp(32px,4vw,48px);
  color:var(--text);
}

/* Contact page */

.contact-page-body{
  background:var(--cream);
}

.contact-page-panel{
  padding:clamp(24px,3vw,32px);
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
}

.contact-page-panel-title{
  margin:0 0 12px;
  font-family:var(--heading);
  font-size:clamp(1.35rem,1.6vw,1.65rem);
  font-weight:800;
  letter-spacing:.02em;
}

.contact-page-lead{
  margin:0 0 24px;
  color:var(--text);
  font-size:clamp(.98rem,1.02vw,1.06rem);
  line-height:1.7;
}

.contact-page-details{
  margin:0;
  padding:0;
  list-style:none;
}

.contact-page-details li + li{
  margin-top:14px;
}

.contact-page-details a,
.contact-page-details li > span{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:var(--text);
  font-size:1rem;
  line-height:1.55;
  text-decoration:none;
}

.contact-page-details a:hover{
  color:var(--green);
}

.contact-page-details i{
  margin-top:4px;
  color:var(--green);
  font-size:.95rem;
}

.contact-page-panel .contact-page-locations{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
}

.contact-location + .contact-location{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.contact-location-name{
  margin:0 0 4px;
  font-family:var(--heading);
  font-size:1.02rem;
  font-weight:800;
  line-height:1.35;
  color:var(--ink, #121813);
}

.contact-location-meta{
  margin:0 0 8px;
  font-size:.88rem;
  line-height:1.45;
  color:var(--muted, #6b7368);
}

.contact-location-address{
  margin:0;
  font-style:normal;
  font-size:.95rem;
  line-height:1.6;
  color:var(--text);
}

.contact-page-form-wrap{
  position:relative;
  padding:clamp(24px,3vw,32px);
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
}

.contact-page-form-wrap.is-busy{
  pointer-events:none;
}

.contact-page-form-wrap.is-busy .contact-form-overlays{
  pointer-events:auto;
}

.contact-form-overlays{
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
  border-radius:inherit;
}

.contact-form-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  border-radius:inherit;
  background:rgba(18,24,19,.52);
  pointer-events:auto;
}

.contact-form-overlay[hidden]{
  display:none !important;
}

.contact-form-spinner{
  width:52px;
  height:52px;
  border:3px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:contact-form-spin .75s linear infinite;
}

@keyframes contact-form-spin{
  to{
    transform:rotate(360deg);
  }
}

.contact-form-overlay-card{
  width:min(100%,380px);
  padding:clamp(28px,4vw,36px);
  border-radius:18px;
  background:var(--paper);
  box-shadow:0 20px 48px rgba(18,24,19,.18);
  text-align:center;
}

.contact-form-overlay-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin:0 auto 16px;
  border-radius:50%;
  background:rgba(45,106,62,.12);
  color:var(--green);
  font-size:1.5rem;
  font-weight:700;
  line-height:1;
}

.contact-form-overlay-title{
  margin:0 0 12px;
  font-family:var(--heading);
  font-size:clamp(1.2rem,1.5vw,1.4rem);
  font-weight:800;
  letter-spacing:.02em;
}

.contact-form-overlay-text{
  margin:0 0 22px;
  font-size:clamp(.95rem,1vw,1.02rem);
  line-height:1.65;
  color:var(--text);
}

@media (prefers-reduced-motion:reduce){
  .contact-form-spinner{
    animation:none;
    border-top-color:rgba(255,255,255,.85);
  }
}

.contact-page .contact-hero-eyebrow{
  color:var(--yellow);
}

.contact-page .contact-hero-eyebrow::before{
  background:var(--yellow);
}

.contact-page-form .wpcf7-form-control:not(.wpcf7-submit),
.contact-page-form input[type="text"],
.contact-page-form input[type="email"],
.contact-page-form input[type="tel"],
.contact-page-form textarea,
.contact-page-form select{
  width:100%;
  margin-bottom:14px;
  padding:.75rem 1rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font:inherit;
}

.contact-page-form-title{
  margin:0 0 10px;
  font-family:var(--heading);
  font-size:clamp(1.25rem,1.5vw,1.5rem);
  font-weight:800;
  letter-spacing:.02em;
}

.contact-page-form-intro{
  margin:0 0 22px;
  color:var(--text);
  font-size:clamp(.95rem,1vw,1.02rem);
  line-height:1.65;
}

.contact-dummy-form .contact-form-row{
  display:grid;
  grid-template-columns:1fr;
  gap:0 16px;
}

@media (min-width:768px){
  .contact-dummy-form .contact-form-row{
    grid-template-columns:1fr 1fr;
  }
}

.contact-form-field{
  margin-bottom:4px;
}

.contact-form-field label{
  display:block;
  margin-bottom:6px;
  font-size:.9rem;
  font-weight:600;
  color:var(--text);
}

.contact-form-required{
  color:var(--green);
}

.contact-form-optional{
  font-weight:400;
  color:var(--muted, #6b7368);
  font-size:.85em;
}

.contact-dummy-form textarea{
  resize:vertical;
  min-height:140px;
}

.contact-form-submit{
  margin-top:6px;
}

.contact-form-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.contact-form-error{
  margin:0 0 18px;
  padding:12px 16px;
  border:1px solid rgba(180,60,50,.35);
  border-radius:12px;
  background:rgba(180,60,50,.08);
  color:#8b2e26;
  font-size:.95rem;
  line-height:1.5;
}

.contact-form-error[hidden]{
  display:none !important;
}

.contact-form-submit:disabled{
  opacity:.65;
  cursor:not-allowed;
}

.contact-form-success{
  padding:clamp(20px,2.5vw,28px);
  border:1px solid rgba(45,106,62,.25);
  border-radius:16px;
  background:rgba(45,106,62,.06);
}

.contact-form-success-title{
  margin:0 0 10px;
  font-family:var(--heading);
  font-size:1.15rem;
  font-weight:800;
  color:var(--green);
}

.contact-form-success-text{
  margin:0 0 18px;
  line-height:1.65;
  color:var(--text);
}

.contact-page-form .contact-dummy-form input:invalid:not(:focus):not(:placeholder-shown),
.contact-page-form .contact-dummy-form select:invalid:not(:focus),
.contact-page-form .contact-dummy-form textarea:invalid:not(:focus):not(:placeholder-shown){
  border-color:rgba(180,60,50,.45);
}

.contact-page-form .wpcf7-submit,
.contact-page-form input[type="submit"]{
  margin-top:8px;
}

/* Single blog post */

.blog-single-page{
  background:var(--yellow-pale);
}

.blog-single-article{
  padding-top:clamp(60px,6vw,80px);
  padding-bottom:clamp(72px,7.5vw,108px);
  background: var(--cream);
}

.blog-single-back{
  margin:0 0 clamp(24px,3vw,32px);
}

.blog-single-layout{
  align-items:flex-start;
}

.blog-single-featured{
  margin:0 0 clamp(24px,3vw,32px);
  overflow:hidden;
  border-radius:20px;
  background:var(--paper);
  box-shadow:0 14px 34px rgba(18,24,19,.06);
}

.blog-single-featured img{
  display:block;
  width:100%;
  /* aspect-ratio:16/10; */
  object-fit:cover;
}

.blog-single-featured--fallback{
  object-fit:cover;
  opacity:.92;
}

.blog-single-header{
  margin:0 0 clamp(20px,2.5vw,28px);
}

.blog-single-kicker{
  margin-bottom:10px;
  color:var(--green);
}

.blog-single-title{
  margin:0;
  max-width:none;
  font-family:var(--heading);
  font-size:clamp(1.75rem,2vw + .5rem,2.65rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--ink);
}

.blog-single-byline{
  margin:0 0 clamp(24px,3vw,32px);
  padding-bottom:clamp(20px,2.5vw,28px);
  border-bottom:1px solid var(--line);
}

.blog-single-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  margin:0;
  color:var(--text);
  font-size:.88rem;
  font-weight:600;
  line-height:1.4;
}

.blog-single-meta-part{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px;
}


.blog-single-meta-label{
  color:var(--green);
  font-family:var(--heading);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.blog-single-meta-sep{
  color:rgba(18,24,19,.28);
  font-weight:700;
  user-select:none;
}

.blog-single-meta a{
  color:var(--ink);
  text-decoration:none;
}

.blog-single-meta a:hover{
  color:var(--green);
}

.blog-single-meta-cats a{
  font-weight:600;
}

.blog-single-prose{
  padding:clamp(24px,3vw,36px);
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
  color:var(--text);
  font-size:clamp(1rem,1.05vw,1.08rem);
  line-height:1.75;
}

.blog-single-sidebar{
  position:sticky;
  top:calc(var(--header-offset,88px) + 16px);
  overflow:visible;
}

.blog-sidebar-panel{
  padding:clamp(20px,2.5vw,26px);
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
}

.blog-sidebar-panel:has(.blog-search-live){
  position:relative;
  z-index:30;
  overflow:visible;
}

.blog-single-sidebar .blog-sidebar-panel + .blog-sidebar-panel{
  position:relative;
  z-index:1;
}

.blog-sidebar-panel + .blog-sidebar-panel{
  margin-top:16px;
}

.blog-sidebar-title{
  margin:0 0 16px;
  font-family:var(--heading);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--green);
}

.blog-search-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.blog-search-field-wrap{
  position:relative;
}

.blog-search-field{
  width:100%;
  padding:.75rem 1rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font:inherit;
}

.blog-search-field:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(45,90,61,.12);
}

.blog-search-live{
  position:relative;
}

.blog-search-suggestions{
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  left:0;
  z-index:200;
  max-height:min(320px,50vh);
  overflow-x:hidden;
  overflow-y:auto;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 40px rgba(18,24,19,.14);
  scrollbar-width:thin;
  scrollbar-color:var(--green) rgba(18,24,19,.06);
}

.blog-search-suggestions::-webkit-scrollbar{
  width:5px;
}

.blog-search-suggestions::-webkit-scrollbar-track{
  margin:6px 0;
  background:rgba(18,24,19,.05);
  border-radius:999px;
}

.blog-search-suggestions::-webkit-scrollbar-thumb{
  background:var(--green);
  border-radius:999px;
}

.blog-search-results .blog-search-results-list{
  max-height:360px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--green) rgba(18,24,19,.06);
}

.blog-search-results .blog-search-results-list::-webkit-scrollbar{
  width:5px;
}

.blog-search-results .blog-search-results-list::-webkit-scrollbar-track{
  margin:6px 0;
  background:rgba(18,24,19,.05);
  border-radius:999px;
}

.blog-search-results .blog-search-results-list::-webkit-scrollbar-thumb{
  background:var(--green);
  border-radius:999px;
}

.blog-search-suggest-list,
.blog-search-results-list{
  margin:0;
  padding:6px;
  list-style:none;
}

.blog-search-suggest-list a,
.blog-search-results-list a{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px 12px;
  border-radius:10px;
  color:var(--ink);
  font-size:.9rem;
  font-weight:600;
  line-height:1.35;
  text-decoration:none;
  transition:background .15s ease,color .15s ease;
}

.blog-search-suggest-list a:hover,
.blog-search-suggest-list a:focus,
.blog-search-results-list a:hover,
.blog-search-results-list a:focus{
  background:var(--yellow-pale);
  color:var(--green);
  outline:none;
}

.blog-search-item-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 6px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.3;
  text-transform:uppercase;
}

.blog-search-item-cat,
.blog-search-item-date{
  color:var(--green);
}

.blog-search-item-sep{
  opacity:.45;
  font-weight:700;
}

.blog-search-empty{
  margin:0;
  padding:14px 12px;
  color:var(--text);
  font-size:.88rem;
  text-align:center;
}

.blog-search-results{
  position:relative;
  z-index:25;
  margin-top:14px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.blog-search-submit{
  width:100%;
  justify-content:center;
}

.blog-sidebar-categories{
  margin:0;
  padding:0;
  list-style:none;
}

.blog-sidebar-categories li{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:.55rem 0;
  border-bottom:1px solid rgba(18,24,19,.08);
  font-size:.92rem;
  font-weight:600;
}

.blog-sidebar-categories li:last-child{
  border-bottom:0;
}

.blog-sidebar-categories a{
  color:var(--text);
  text-decoration:none;
}

.blog-sidebar-categories a:hover{
  color:var(--green);
}

.blog-sidebar-categories .count{
  color:var(--green);
  font-size:.72rem;
  font-weight:800;
}

@media (max-width:991.98px){
  .blog-single-sidebar{
    position:static;
  }
}

.blog-single-prose > :first-child{
  margin-top:0;
}

.blog-single-prose > :last-child{
  margin-bottom:0;
}

.blog-single-prose h2,
.blog-single-prose h3,
.blog-single-prose h4{
  margin:1.6em 0 .65em;
  font-family:var(--heading);
  font-weight:800;
  line-height:1.25;
  color:var(--ink);
}

.blog-single-prose h2{
  font-size:clamp(1.35rem,1.5vw,1.65rem);
}

.blog-single-prose h3{
  font-size:clamp(1.15rem,1.25vw,1.35rem);
}

.blog-single-prose p{
  margin:0 0 1.1em;
}

.blog-single-prose a{
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:.15em;
}

.blog-single-prose a:hover{
  color:var(--ink);
}

.blog-single-prose ul,
.blog-single-prose ol{
  margin:0 0 1.1em;
  padding-left:1.25em;
}

.blog-single-prose li + li{
  margin-top:.35em;
}

.blog-single-prose blockquote{
  margin:1.5em 0;
  padding:1.15em 1.25em;
  border:0;
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,204,73,.18), transparent 40%),
    linear-gradient(145deg, var(--green-dark), #123d2a);
  color:var(--paper);
  font-family:var(--heading);
  font-style:normal;
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.4;
}

.blog-single-prose img{
  max-width:100%;
  height:auto;
  margin:1.25em 0;
  border-radius:12px;
}

.blog-single-prose figure{
  margin:1.25em 0;
}

.media-page .media-video-section.section-pad{
  padding-top:clamp(44px,5.5vw,72px);
  padding-bottom:clamp(72px,7.5vw,108px);
}

.media-tab-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px 14px;
  margin-bottom:clamp(28px,3.5vw,44px);
}

.media-tab-btn{
  appearance:none;
  border:1px solid rgba(18,24,19,.12);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  cursor:pointer;
  font-family:var(--heading);
  font-size:clamp(.68rem,.78vw,.76rem);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.25;
  padding:.65rem 1rem;
  text-align:left;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.media-tab-btn.is-active,
.media-tab-btn[aria-selected="true"]{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}

.media-video-section{
  background:var(--cream);
}

.media-tab-panel[hidden]{
  display:none !important;
}
