
:root {
  --m32-spring:cubic-bezier(.19,1,.22,1);
  --m32-mint:#d7eabd;
  --m32-forest:#053e2f;
}

.m32-hero { isolation:isolate; }
.m32-hero .m32-kinetic .line { overflow:visible; padding-block:.075em; margin-block:-.075em; }
.m32-line-inner { display:block; }
.m32-portrait {position:relative;}
.m32-portrait::after {
  content:"";position:absolute;pointer-events:none;z-index:-1;
  inset:15% -17% 18% -17%;border-radius:50%;
  background:radial-gradient(circle,rgba(191,232,174,.19),transparent 70%);
  filter:blur(13px);
}
html.motion-enabled.hero-playing .m32-hero .m32-kinetic .line { overflow:clip; }
html.motion-enabled.hero-playing .m32-hero .m32-kinetic.reveal { animation:none; }
html.motion-enabled.hero-playing .m32-hero .m32-line-inner {
  transform:translate3d(0,110%,0);opacity:.4;
  animation:m32-type-rise 980ms var(--m32-spring) both;
}
html.motion-enabled.hero-playing .m32-hero .line:nth-child(2) .m32-line-inner {animation-delay:145ms;}
html.motion-enabled.hero-playing .m32-hero .m32-portrait .arch {
  animation:m32-photo-unveil 1200ms var(--m32-spring) 130ms both;
}
html.motion-enabled.hero-playing .m32-portrait .v3-floating-photo {
  animation:m32-card-float 1000ms var(--m32-spring) 290ms both;
}
html.motion-enabled.hero-playing .m32-hero .eyebrow,
html.motion-enabled.hero-playing .m32-hero .lede,
html.motion-enabled.hero-playing .m32-hero .actions { animation:m32-copy-rise 650ms var(--m32-spring) both; }
html.motion-enabled.hero-playing .m32-hero .lede {animation-delay:250ms;}
html.motion-enabled.hero-playing .m32-hero .actions {animation-delay:390ms;}
@keyframes m32-type-rise {from{transform:translate3d(0,110%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes m32-copy-rise {from{opacity:.1;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes m32-photo-unveil {from{clip-path:inset(65% 0 0 0 round 49% 49% 0 0);filter:brightness(.72)}to{clip-path:inset(0 0 0 0 round 49% 49% 0 0);filter:brightness(1)}}
@keyframes m32-card-float {from{opacity:0;transform:translate(14px,24px) rotate(2deg)}to{opacity:1;transform:rotate(-6deg) translate3d(0,0,0)}}


.m32-story {
  background:#f6f5eb;
  padding-block:clamp(75px,8vw,135px);
  color:#123e30;
}
.m32-story-grid {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  column-gap:clamp(48px,7vw,130px);
  align-items:start;
}
.m32-story-visual { position:sticky;top:clamp(95px,9vw,135px);align-self:start;min-width:0; }
.m32-story-stage {
  position:relative; margin:0; min-width:0; isolation:isolate;
  background:#e3e9df;overflow:hidden;border-radius:3px;
  aspect-ratio:7/8.3;
  box-shadow:0 30px 65px rgba(9,72,44,.11);
}
.m32-story-base,.m32-story-curtain {
  position:absolute;inset:0 0 38px 0;overflow:hidden;
}
.m32-story-base picture,.m32-story-base img,
.m32-story-curtain picture,.m32-story-curtain img {display:block;width:100%;height:100%;object-fit:cover;}
.m32-story-base img {object-position:52% 45%;}
.m32-story-curtain {display:none;clip-path:circle(3% at 52% 44%);}
.m32-story-curtain img {object-position:50% 22%;}
html.motion-enabled .m32-story-curtain {display:block;}
.m32-story-surface {position:absolute;inset:0 0 38px 0;pointer-events:none;overflow:hidden;
  background:linear-gradient(180deg,transparent 65%,rgba(2,44,30,.38));
}
.m32-story-counter {
  position:absolute;top:24px;left:26px;
  color:white;font-size:10px;letter-spacing:.17em;font-weight:600;
  text-shadow:0 1px 8px rgba(1,36,23,.8);
}
.m32-story-circle {
  position:absolute;width:48%;aspect-ratio:1;
  bottom:0;right:-17%;border-radius:50%;
  border:1px solid rgba(240,251,225,.68);
  box-shadow:0 0 0 42px rgba(240,251,225,.055),0 0 0 84px rgba(240,251,225,.05);
  transform:translate3d(0,calc(var(--m32-progress,0) * -42px),0);
}
.m32-story-stage figcaption {
  position:absolute;bottom:0;left:0;right:0;min-height:38px;
  display:flex;align-items:center;padding:6px 15px;font-size:10px;letter-spacing:.025em;
  color:#365a48;background:#f2f6ed;
}
.m32-story-narrative {min-width:0;}
.m32-story-intro {padding:clamp(30px,6vw,95px) 0 clamp(42px,8vw,120px);}
.m32-story-intro .eyebrow {color:#226747;}
.m32-story-intro h2 {
  font-size:clamp(46px,4.9vw,80px);max-width:12ch;
  line-height:1.05;letter-spacing:-.035em;
}
.m32-story-intro h2 em {color:#156643;}
.m32-story-intro .lede {margin-top:22px;max-width:41ch;color:#4c6957;}
.m32-story-chapter {
  position:relative;
  min-height:clamp(350px,63vh,660px);
  display:flex;flex-direction:column;justify-content:center;
  padding:46px 0 62px 30px;border-left:1px solid #c6d7c7;
  transition:border-color 240ms,color 240ms;
}
.m32-story-chapter::before {
  content:"";position:absolute;top:0;left:-2px;bottom:100%;width:3px;background:#10754f;
  transition:bottom 450ms var(--m32-spring);
}
.m32-story-chapter[data-m32-current="true"]::before {bottom:0;}
.m32-story-chapter h3 {
  font-size:clamp(43px,4vw,67px);line-height:1.02;letter-spacing:-.028em;
  max-width:14ch;color:#4c7060;transition:color .36s var(--m32-spring);
}
.m32-story-chapter h3 em {font-style:italic;color:#1e7f58;}
.m32-story-chapter[data-m32-current="true"] h3 {color:#064b32;}
.m32-story-step {font-size:11px;letter-spacing:.15em;font-weight:600;color:#327c5c;margin-bottom:22px;}
.m32-story-chapter p:not(.m32-story-step) {margin-top:24px;color:#486455;line-height:1.85;max-width:42ch;}
.m32-story-end {
  display:inline-flex;margin:45px 0 40px 30px;gap:18px;align-items:center;
  font-size:14px;font-weight:600;text-decoration:none;color:#0a6542;
  border-bottom:1px solid currentColor;padding-bottom:9px;
}
.m32-story-end:hover {color:#0f9063;}
.m32-story-end:focus-visible {outline:3px solid #0f7d54;outline-offset:5px;}


.m32-halo {perspective:1000px;isolation:isolate;}
.m32-halo .m32-halo-rings {
  transform-origin:50% 50%;
  transform:rotateX(var(--m32-x,0deg)) rotateY(var(--m32-y,0deg)) translate3d(0,0,0);
  transition:transform .38s var(--m32-spring);
  transform-style:preserve-3d;
  will-change:auto;
}
.m32-halo .m32-halo-rings span {
  box-shadow:inset 0 0 20px rgba(235,255,224,.08),
             0 8px 15px rgba(14,111,74,.08);
}
.m32-halo::before {
  content:"";position:absolute;
  width:66%;aspect-ratio:1;left:17%;top:12%;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(238,255,230,.65),rgba(169,208,178,.13) 38%,transparent 66%);
  filter:blur(4px);pointer-events:none;
  transform:translate3d(calc(var(--m32-halo-dx,0) * 1px),calc(var(--m32-halo-dy,0) * 1px),0);
  transition:transform .35s var(--m32-spring);
}
.m32-halo .v3-map-core {box-shadow:0 26px 64px rgba(0,72,35,.29),inset -18px -12px 30px rgba(3,32,29,.22);}
.m32-halo .v3-map-node {transform-origin:center center;}
.m32-halo .v3-map-node:focus-visible {outline:3px solid #067c54;outline-offset:5px;}


@media (max-width:900px) {
  .m32-story-grid {grid-template-columns:1fr;gap:35px;}
  .m32-story-visual {position:relative;top:auto;max-width:700px;width:100%;margin:auto;}
  .m32-story-stage {aspect-ratio:4/3.6;}
  .m32-story-intro {padding:25px 0 36px;}
  .m32-story-intro h2 {max-width:17ch;}
  .m32-story-chapter {min-height:unset;padding:34px 0 38px 26px;}
  .m32-story-chapter h3 {max-width:100%;font-size:clamp(37px,5.3vw,53px);}


}
@media (max-width:640px) {
  .m32-story {padding-block:70px;}
  .m32-story-stage {aspect-ratio:1/1.2;}
  .m32-story-intro h2 {font-size:clamp(41px,11vw,58px);}
  .m32-story-narrative p:not(.eyebrow) {font-size:15px;}
  .m32-story-chapter h3 {font-size:clamp(36px,10vw,48px);}
  .m32-story-counter {left:17px;top:17px;font-size:9px;}
  .m32-hero .m32-kinetic .line {overflow:visible;}
}


.motion-controls {display:grid;grid-template-columns:max-content max-content;grid-template-rows:44px 18px;align-items:center;align-content:center;justify-content:start;gap:8px 10px;font:12px/1.5 var(--f-body);height:70px;margin-block:18px;color:inherit;}
.motion-controls[hidden] {display:grid!important;visibility:hidden;}
.motion-controls label {display:flex;align-items:center;gap:8px;}
.motion-controls select,.motion-controls button {font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:3px;padding:9px 10px;min-height:44px;max-width:100%;}
.motion-controls select option {color:#063d2d;background:#faf9f3;}
.motion-controls button {cursor:pointer;}
.motion-controls [data-motion-status] {grid-column:1 / -1;grid-row:2;font-size:11px;white-space:nowrap;}
.motion-controls [data-motion-replay] {grid-column:2;grid-row:1;}
.motion-controls [data-motion-replay][hidden] {display:block!important;visibility:hidden;}
.motion-controls :focus-visible {outline:3px solid #c59b52;outline-offset:3px;}
.v3-hero .motion-controls {order:4;color:#e2efcf;}
.site-footer .motion-controls {border-bottom:1px solid #cad9c7;margin-bottom:28px;}


html.motion-enabled .m32-hero .reveal {animation:none!important;}
html.motion-enabled.hero-playing .m32-hero .m32-line-inner {animation:m32-type-rise 980ms var(--m32-spring) both!important;}
html.motion-enabled.hero-playing .m32-hero .line:nth-child(2) .m32-line-inner {animation-delay:145ms!important;}
html.motion-enabled.hero-playing .m32-hero .m32-portrait .arch {animation:m32-photo-unveil 1200ms var(--m32-spring) 130ms both!important;}
html.motion-enabled.hero-playing .m32-portrait .v3-floating-photo {animation:m32-card-float 1000ms var(--m32-spring) 290ms both!important;}
html.motion-enabled.hero-playing .m32-hero .eyebrow,html.motion-enabled.hero-playing .m32-hero .lede,html.motion-enabled.hero-playing .m32-hero .actions {animation:m32-copy-rise 650ms var(--m32-spring) both!important;}
html.motion-enabled.hero-playing .m32-hero .lede {animation-delay:250ms!important;}
html.motion-enabled.hero-playing .m32-hero .actions {animation-delay:390ms!important;}
@keyframes m32-type-rise {from{transform:translate3d(0,65%,0);opacity:.5}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes m32-photo-unveil {from{clip-path:inset(45% 0 0 0 round 49% 49% 0 0);filter:brightness(.72)}to{clip-path:inset(0 0 0 0 round 49% 49% 0 0);filter:brightness(1)}}
html.motion-enabled .m32-story-curtain {display:block!important;}

html.motion-enabled .m32-halo .m32-halo-rings {animation:none!important;transform:rotateX(var(--m32-x,0deg)) rotateY(var(--m32-y,0deg))!important;transition:transform .38s var(--m32-spring)!important;}
.m32-halo .v3-map-node.is-active {background:#d8edcd;box-shadow:0 0 0 3px #19865b;}
html.motion-enabled .m32-halo::before {transform:translate(calc(var(--m32-halo-dx,0)*1px),calc(var(--m32-halo-dy,0)*1px))!important;}
@media(min-width:901px){html.motion-enabled .m32-portrait .arch-box {translate:0 var(--m33-depth,0px);}}
@media(max-width:900px){.m32-story-visual {position:relative;}.m32-story-curtain {display:none;}}
@media(max-width:640px){.motion-controls{font-size:11px;gap:8px;}.motion-controls select,.motion-controls button{padding-inline:7px;}.motion-controls [data-motion-status]{font-size:10px;}}


html:not(.motion-enabled) .m32-line-inner {transform:none;opacity:1;}
html:not(.motion-enabled) .m32-story-curtain {display:none;}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
html[data-motion="reduced"] .m32-halo-rings,html[data-motion="reduced"] .v3-hero-portrait .arch-box {transform:none!important;translate:none!important;}
html.motion-enabled::view-transition-old(root) {animation:m33-page-out 360ms ease both!important;}
html.motion-enabled::view-transition-new(root) {animation:m33-page-in 360ms cubic-bezier(.22,1,.36,1) both!important;}
@keyframes m33-page-in {from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes m33-page-out {to{opacity:.55;transform:translateY(-8px)}}
html[data-motion="reduced"]::view-transition-old(root),html[data-motion="reduced"]::view-transition-new(root) {animation:none!important;}

@media(min-width:901px) and (max-width:1360px){
  .site-header .mark-role{display:none;}
  .site-header .mark{flex-shrink:0;}
  .site-header .mark-name,.site-header .nav a{white-space:nowrap;}
}

