@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

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

:root{
  --c-darkest:#0f1f1c;
  --c-dark:#103c33;
  --c-mid:#1f6f5c;
  --c-gold:#3a804c;
  --c-cream:#ecf1e9;
  --c-gold-hover:#2c6a3d;
  --c-text:#1a1a1a;
  --c-muted:#4a5568;
  --ff-head:'Poppins',system-ui,sans-serif;
  --ff-body:'Poppins',system-ui,sans-serif;
  --max-w:80%;
  --nav-h:72px;
}

html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ff-body);color:var(--c-text);background:#fffffe;line-height:1.7;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid var(--c-mid);
  outline-offset:2px;
}

/* ── Utilities ── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}
.section{padding:88px 0}
.section--cream{background:var(--c-cream)}
.section--dark{background:var(--c-dark);color:#fff}
.section--darkest{background:var(--c-darkest);color:#fff}
.home-pillars-intro{padding-bottom:22px}
.home-pillars-cards{padding-top:22px}
.text-center{text-align:center}
.text-center .section-lead{margin-left:auto;margin-right:auto}

.eyebrow{
  display:block;font-size:.72rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--c-gold);margin-bottom:12px
}
/* Wix-style label badge: green pill with the brand's rounded top-right corner */
.eyebrow-badge{
  display:inline-block;background:#2F7A43;color:#fff;
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  padding:8px 18px;border-radius:0 12px 0 0;margin-bottom:22px
}
.section-title{
  font-family:var(--ff-head);font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:600;line-height:1.2;color:var(--c-darkest);margin-bottom:20px
}
.section-title--light{color:#fff}
.section-lead{
  font-size:1.05rem;color:var(--c-muted);margin-bottom:48px;line-height:1.75
}
.section-lead--light{color:rgba(255,255,255,.78)}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:14px 30px;
  border-radius:3px;font-size:.88rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;transition:all .2s;cursor:pointer;border:2px solid transparent
}
.btn--primary{background:var(--c-gold);color:#fff}
.btn--primary:hover{background:var(--c-gold-hover)}
.btn--outline{background:transparent;border-color:#fff;color:#fff}
.btn--outline:hover{background:#fff;color:var(--c-darkest)}
.btn--outline-dark{background:transparent;border-color:var(--c-mid);color:var(--c-mid)}
.btn--outline-dark:hover{background:var(--c-mid);color:#fff}

/* ── POC ribbon ── */
.poc-badge{
  position:fixed;top:22px;right:-32px;background:var(--c-gold);
  color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 44px;transform:rotate(45deg);
  z-index:10000;box-shadow:0 2px 8px rgba(0,0,0,.3);white-space:nowrap;
  font-family:var(--ff-body)
}

/* ── Header / Nav ── */
.site-header{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);
  background:#1B2F27;z-index:1000;display:flex;align-items:center;
  box-shadow:0 2px 16px rgba(0,0,0,.25)
}
.nav{display:flex;align-items:center;justify-content:space-between;width:100%}
.nav__logo img{height:60px;width:auto;display:block}
.nav__links{display:flex;gap:32px;align-items:center}
.nav__links a{
  font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.75);transition:color .2s
}
.nav__links a:hover,.nav__links a.active{color:var(--c-gold)}
.nav__cta{
  background:var(--c-gold)!important;color:#fff!important;
  padding:9px 20px;border-radius:2px;font-weight:600!important
}
.nav__cta:hover{background:var(--c-gold-hover)!important}
.nav__toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav__toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s}

/* ── Footer ── */
.site-footer{background:#1B2F27;color:rgba(255,255,255,.85);padding:72px 0 40px}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;align-items:start;margin-bottom:44px}
.footer__brand{display:flex;align-items:center}
.footer__logo-img{width:100%;max-width:320px;height:auto;display:block}
.footer__col h4{
  font-family:var(--ff-head);font-size:1.05rem;font-weight:600;letter-spacing:.1em;
  color:#fff;margin:0 0 24px
}
.footer__col p{font-size:1rem;color:rgba(255,255,255,.85);margin:0 0 14px;line-height:1.5}
.footer__col a{color:rgba(255,255,255,.85);transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__social{display:flex;gap:14px}
.footer__social a{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:#fff;color:#1B2F27;transition:transform .2s,opacity .2s
}
.footer__social a svg{width:19px;height:19px;display:block}
.footer__social a.is-outline{background:transparent;border:2px solid #fff;color:#fff}
.footer__social a:hover{transform:translateY(-2px);opacity:.92}
.footer__bottom{
  padding-top:28px;border-top:1px solid rgba(255,255,255,.25);
  text-align:center;font-size:1rem;color:rgba(255,255,255,.85)
}

/* ── Hero (homepage) ── */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  padding-top:var(--nav-h);overflow:hidden;
  background:
    radial-gradient(120% 90% at 22% 28%, rgba(56,146,121,.24) 0%, rgba(56,146,121,0) 58%),
    radial-gradient(88% 74% at 86% 72%, rgba(20,78,64,.42) 0%, rgba(20,78,64,0) 70%),
    linear-gradient(135deg, #123f36 0%, #0f3028 56%, #0b2621 100%);
}
.hero__bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  filter:saturate(.92) contrast(.98);
}
.hero__bg{display:none}
.hero__layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  gap:48px;
  align-items:center;
}
.hero__brand-box{
  position:relative;
  min-height:320px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:4px;
  background:linear-gradient(160deg, rgba(20,72,60,.7) 0%, rgba(11,35,30,.58) 100%);
  overflow:hidden;
  box-shadow:0 20px 46px rgba(9,20,18,.3);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero__brand-rings{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero__brand-rings circle{
  fill:none;
  stroke:rgba(255,255,255,.34);
  stroke-width:1.3;
  transform-origin:50% 50%;
  animation:heroRingFloat 9s ease-in-out infinite;
}
.hero__brand-rings circle:nth-child(2){animation-duration:11s;animation-delay:.3s}
.hero__brand-rings circle:nth-child(3){animation-duration:13s;animation-delay:.6s}
.hero__brand-logo{
  width:min(78%,292px);
  opacity:.95;
  position:relative;
  z-index:1;
  animation:heroLogoReveal .85s ease .08s both;
}
.hero__content{position:relative;max-width:720px}
.hero__brand-mark{
  position:absolute;
  opacity:.25;
  pointer-events:none;
  z-index:0;
}
.hero__brand-mark--icon{
  top:120px;
  right:6%;
  width:min(15vw,180px);
}
.hero__brand-mark--name{
  bottom:80px;
  right:4%;
  width:min(24vw,320px);
}
.hero__eyebrow{
  display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--c-gold);border:1px solid var(--c-gold);
  padding:6px 16px;border-radius:2px;margin-bottom:28px
}
.hero__title{
  font-family:var(--ff-head);font-size:clamp(2.4rem,5.5vw,4.4rem);
  font-weight:600;color:#fff;line-height:1.1;margin-bottom:24px
}
.hero__title em{font-style:italic;color:var(--c-gold)}
.hero__sub{display:none}
.hero__lead{
  font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.6;
  color:rgba(255,255,255,.86);max-width:560px;margin:0 0 30px
}
.hero__actions{display:flex;gap:16px;flex-wrap:wrap}
.hero__actions .btn{
  transition:transform .28s ease, box-shadow .28s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
.hero__actions .btn:hover,
.hero__actions .btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,31,28,.22);
}
.hero__scroll{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(255,255,255,.35);font-size:.65rem;letter-spacing:.14em;
  text-transform:uppercase;animation:heroScrollPulse 2.2s ease-in-out infinite
}
.hero__scroll::after{content:'';display:block;width:1px;height:44px;background:rgba(255,255,255,.2)}
@keyframes heroScrollPulse{
  0%,100%{transform:translate(-50%,0)}
  50%{transform:translate(-50%,8px)}
}
@keyframes heroLogoReveal{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:.95;transform:none}
}
@keyframes heroRingFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-8px) rotate(4deg)}
}

/* ── Page Hero (inner pages) ── */
.page-hero{
  background:var(--c-dark);padding:140px 0 88px;position:relative;overflow:hidden
}
.page-hero--services{
  background:
    linear-gradient(90deg, rgba(15,31,28,.86) 0%, rgba(15,31,28,.72) 46%, rgba(15,31,28,.54) 100%),
    url('/assets/wix-captured/design-01k8t86sjz-1761817988-5d84293c86.jpg') center/cover no-repeat;
}
.page-hero--about{
  background:
    linear-gradient(90deg, rgba(15,31,28,.88) 0%, rgba(15,31,28,.76) 50%, rgba(15,31,28,.62) 100%),
    url('/assets/wix-captured/design-01k8s57k6x-1761781247-3317ce3679.jpg') center/cover no-repeat;
}
.page-hero--contact{
  background:
    linear-gradient(90deg, rgba(15,31,28,.88) 0%, rgba(15,31,28,.76) 52%, rgba(15,31,28,.62) 100%),
    url('/assets/wix-captured/0d7add_3aa8fb0d408e475e8b1b9bb8843efd5f_mv2-44185c4645.jpg') center/cover no-repeat;
}
.page-hero::before{
  content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;
  border-radius:50%;background:var(--c-mid);opacity:.1
}
.services-hero__line{
  position:absolute;
  bottom:0;
  right:0;
  width:min(460px,44vw);
  opacity:.5;
  pointer-events:none;
}
.about-hero__line{
  position:absolute;
  right:0;
  bottom:0;
  width:min(460px,42vw);
  opacity:.48;
  pointer-events:none;
}
.contact-hero__wave{
  position:absolute;
  right:0;
  bottom:0;
  width:min(520px,48vw);
  opacity:.5;
  pointer-events:none;
}
.page-hero__eyebrow{color:var(--c-gold)}
.page-hero__title{
  font-family:var(--ff-head);font-size:clamp(2rem,4vw,3.4rem);font-weight:600;
  color:#fff;line-height:1.15;max-width:700px;margin-bottom:16px
}
.page-hero__sub{
  font-size:1rem;color:rgba(255,255,255,.7);max-width:560px;line-height:1.7
}

/* ── About preview (homepage) ── */
/* ── Hero (Wix comp-mje83kp1 + comp-mgz6vspn) ── */
.wix-hero{
  min-height:100vh;
  padding:calc(var(--nav-h) + 56px) 0 56px;
  display:flex;align-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 94% 90%, #579F2C 0%, rgba(87,159,44,0) 59%),
    radial-gradient(circle at 0% 95%, #0C3E15 0%, rgba(12,62,21,0) 54%),
    radial-gradient(circle at 7% 13%, #00943E 0%, rgba(0,148,62,0) 100%),
    radial-gradient(circle at 73% 18%, #0F1C21 0%, rgba(15,28,33,0) 100%),
    radial-gradient(circle at 49% 50%, #000000 0%, rgba(0,0,0,0) 100%),
    #0F1C21;
}
.wix-hero .container{
  width:100%;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:48px
}
.wix-hero__brand{
  position:relative;width:min(560px,80%);aspect-ratio:1;
  display:flex;align-items:center;justify-content:center
}
.wix-hero__shape{
  position:absolute;inset:0;margin:auto;aspect-ratio:1;display:block;
  pointer-events:none;overflow:visible
}
.wix-hero__shape path{fill:#000}
.wix-hero__shape--lg{
  width:100%;opacity:.2;
  animation:heroShapeLg 2.5s cubic-bezier(.645,.045,.355,1) both;
  transition:scale 1.8s ease-in-out
}
.wix-hero__shape--md{width:65%;opacity:.3;animation:heroShapeMd 1.2s cubic-bezier(.445,.05,.55,.95) both}
.wix-hero__shape--sm{width:42%;opacity:.4;animation:heroShapeSm 1.2s cubic-bezier(.445,.05,.55,.95) both}
/* hover: large shape scales up (Wix variant comp-mje849oj scale 1.2) — pointer re-enabled for it */
.wix-hero__brand{pointer-events:auto}
.wix-hero__brand:hover .wix-hero__shape--lg{scale:1.2}
.wix-hero__logo{
  position:relative;z-index:2;width:86%;height:auto;display:block;
  animation:heroLogoFade 1.2s ease both
}
@keyframes heroShapeLg{from{opacity:0;translate:0 -100%}to{opacity:.2;translate:0 0}}
@keyframes heroShapeMd{from{opacity:0;translate:0 100%}to{opacity:.3;translate:0 0}}
@keyframes heroShapeSm{from{opacity:0;translate:0 60px}to{opacity:.4;translate:0 0}}
@keyframes heroLogoFade{from{opacity:0}to{opacity:1}}
.wix-hero__title{
  font-family:var(--ff-head);font-size:clamp(2rem,4.6vw,3.8rem);
  font-weight:600;color:#fff;line-height:1.2;
  letter-spacing:-.02em;margin:0
}
@media (max-width:768px){
  .wix-hero{min-height:auto;padding:calc(var(--nav-h) + 32px) 0 40px}
  .wix-hero .container{gap:32px}
  .wix-hero__brand{width:min(400px,88%)}
}

/* ── About band (Wix comp-mgz6vsrg) ── */
.about-band{background:#1B2F27;color:#fff}
.about-band__inner{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap}
.about-band__illustration{width:min(560px,50%);height:auto;display:block;flex-shrink:0}
.about-band__text{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:260px}
.about-band__title{
  font-family:var(--ff-head);font-size:clamp(2rem,4vw,3.4rem);
  font-weight:600;color:#fff;line-height:1.1;margin:0
}
.about-band__body{
  font-size:1rem;line-height:1.8;color:rgba(255,255,255,.78);
  margin:0;max-width:560px
}
/* float-in from left — Wix motion-floatIn on the illustration */
.about-band__illustration[data-reveal]{
  transform:translate3d(-60px,0,0);
  transition-duration:1.1s;
  transition-timing-function:cubic-bezier(.445,.05,.55,.95)
}
.about-band__illustration[data-reveal].visible{transform:none}
@media (max-width:768px){
  .about-band__inner{flex-direction:column;text-align:center}
  .about-band__text{align-items:center}
  .about-band__illustration{width:min(420px,86%)}
}

/* ── Big ideas (Wix comp-mh96f2g6) — video band ── */
.big-ideas{
  position:relative;overflow:hidden;
  min-height:70vh;display:flex;align-items:center;
  padding:88px 0;color:#fff;background:#1B2F27
}
.big-ideas__video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;opacity:.47;pointer-events:none
}
.big-ideas .container{position:relative;z-index:1;width:100%}
.big-ideas__inner{
  display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap
}
.big-ideas__title{
  font-family:var(--ff-head);font-size:clamp(2.2rem,5vw,4.2rem);
  font-weight:600;color:#fff;line-height:1.12;margin:0;max-width:60%
}
.big-ideas__mark{width:min(300px,30%);height:auto;display:block;will-change:transform}
@media (max-width:768px){
  .big-ideas{min-height:auto;padding:56px 0}
  .big-ideas__inner{flex-direction:column;text-align:center}
  .big-ideas__title{max-width:none}
  .big-ideas__mark{width:min(190px,52%)}
}

/* ── Core services (Wix comp-mgmc5p18) — dark band, full-width list ── */
.core-services{position:relative;overflow:hidden;background:#1B2F27;padding:88px 0}
.core-services::before{
  content:'';position:absolute;inset:0;
  background:url('/assets/images/core-services-bg.png') center/cover no-repeat;
  opacity:.28;pointer-events:none
}
.core-services .container{position:relative;z-index:1}
.core-services__grid{display:flex;flex-direction:column}
.core-svc{
  display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:start;
  background-color:rgba(255,255,255,.7);margin:5px;padding:28px 26px
}
.core-svc__num{
  grid-column:1;grid-row:1/3;align-self:start;
  width:64px;height:64px;display:flex;align-items:center;justify-content:center;
  background:#2F7A43;color:#fff;border-radius:0 12px 0 0;
  font-family:var(--ff-head);font-size:1.5rem;font-weight:700;line-height:1
}
.core-svc__title{
  grid-column:2;font-family:var(--ff-head);font-size:1.3rem;font-weight:600;
  color:var(--c-darkest);margin:0 0 8px;line-height:1.25
}
.core-svc__text{grid-column:2;font-size:1rem;line-height:1.7;color:var(--c-muted);margin:0}
.core-services__actions{margin-top:48px;display:flex;justify-content:center}
@media (max-width:768px){
  .core-services{padding:60px 0}
  .core-svc{column-gap:18px;padding:22px 18px}
  .core-svc__num{width:52px;height:52px;font-size:1.25rem}
}

/* ── Who We Are (Wix comp-mhbuq052) — header + media + carousel ── */
.who-we-are{background:#fff;padding:88px 0}
.wwa-header{margin-bottom:48px}
.wwa-header__sub{
  font-family:var(--ff-head);font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:500;
  color:var(--c-muted);margin:6px 0 0
}
.wwa-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
/* media block: video with overlaid caption + About-us button */
.wwa-media{position:relative}
.wwa-media__btn{
  position:absolute;top:0;left:0;z-index:2;
  display:inline-flex;align-items:center;gap:12px;
  background:#1B7A3D;color:#fff;text-decoration:none;font-weight:600;font-size:.98rem;
  padding:16px 30px 18px;border-radius:0 0 22px 0
}
.wwa-media__btn-ico svg{width:22px;height:22px;display:block}
.wwa-media__btn:hover{background:#15622f}
.wwa-media__video{
  position:relative;margin:0;overflow:hidden;height:100%;
  -webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg preserveAspectRatio='none' data-bbox='28.39 4.32 1253.77 1264.05' viewBox='28.39 4.32 1253.77 1264.05' xmlns='http://www.w3.org/2000/svg' data-type='color'%3E%3Cg%3E%3Cpath d='M1282.16 41.72V1231c0 20.64-21.21 37.37-47.39 37.37H75.78c-26.17 0-47.39-16.73-47.39-37.37V236.63c0-19.6 19.12-35.67 43.45-37.25h662.28c25.32 0 46-15.67 47.33-35.39 0-.65.06-1.32.06-2V39.32c1.57-19.53 22.15-35 47.3-35h406c14.72 0 27.88 5.3 36.57 13.6.48.46 1 .93 1.41 1.42s.89 1 1.32 1.46.84 1 1.23 1.52.78 1 1.14 1.56c.18.27.37.53.54.8.52.8 1 1.63 1.46 2.46s.86 1.7 1.24 2.57a30.5 30.5 0 0 1 2.44 12.01' fill='%23d9d9d9' data-color='1'/%3E%3C/g%3E%3C/svg%3E%0A");
  mask-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg preserveAspectRatio='none' data-bbox='28.39 4.32 1253.77 1264.05' viewBox='28.39 4.32 1253.77 1264.05' xmlns='http://www.w3.org/2000/svg' data-type='color'%3E%3Cg%3E%3Cpath d='M1282.16 41.72V1231c0 20.64-21.21 37.37-47.39 37.37H75.78c-26.17 0-47.39-16.73-47.39-37.37V236.63c0-19.6 19.12-35.67 43.45-37.25h662.28c25.32 0 46-15.67 47.33-35.39 0-.65.06-1.32.06-2V39.32c1.57-19.53 22.15-35 47.3-35h406c14.72 0 27.88 5.3 36.57 13.6.48.46 1 .93 1.41 1.42s.89 1 1.32 1.46.84 1 1.23 1.52.78 1 1.14 1.56c.18.27.37.53.54.8.52.8 1 1.63 1.46 2.46s.86 1.7 1.24 2.57a30.5 30.5 0 0 1 2.44 12.01' fill='%23d9d9d9' data-color='1'/%3E%3C/g%3E%3C/svg%3E%0A");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%
}
.wwa-media__video video{display:block;width:100%;height:100%;min-height:440px;object-fit:cover}
.wwa-media__video::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(15,28,33,.55),transparent 42%);pointer-events:none
}
.wwa-media__caption{
  position:absolute;left:30px;bottom:26px;z-index:1;color:#fff;
  font-family:var(--ff-head);font-size:clamp(1.7rem,2.6vw,2.5rem);font-weight:600;line-height:1.1
}
/* carousel card */
.wwa-cards{
  position:relative;background:#8EB4A3;border-radius:16px;
  padding:44px 76px;display:flex;flex-direction:column;align-items:center;
  min-height:440px;text-align:center
}
.wwa-cards__mark{width:84px;height:84px;fill:#1B2F27;margin:6px auto 26px}
.wwa-cards__viewport{position:relative;width:100%;flex:1;display:flex;align-items:center;justify-content:center}
.wwa-card{display:none;max-width:540px}
.wwa-card.is-active{display:block}
.wwa-card__title{font-family:var(--ff-head);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;color:#1B2F27;margin:0 0 22px}
.wwa-card__text{font-size:1rem;line-height:1.7;color:#1B2F27;margin:0}
.wwa-cards__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(27,47,39,.55);
  background:transparent;color:#1B2F27;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background-color .2s
}
.wwa-cards__nav svg{width:22px;height:22px}
.wwa-cards__nav:hover{background:rgba(27,47,39,.12)}
.wwa-cards__nav--prev{left:16px}
.wwa-cards__nav--next{right:16px}
@media (max-width:768px){
  .who-we-are{padding:60px 0}
  .wwa-row{grid-template-columns:1fr;gap:18px}
  .wwa-media__video video{min-height:340px}
  .wwa-cards{padding:40px 56px;min-height:360px}
}

/* ── Our Services CTA (Wix comp-mgnl4hd6_r_comp-lk9lohn0) — dotted Africa, dark ── */
.final-cta{background:#1B2F27}
.final-cta__inner{display:grid;grid-template-columns:1fr minmax(0,360px);gap:56px;align-items:center}
.final-cta__text{max-width:640px}
.final-cta__text .section-title{margin-bottom:0}
.final-cta__map{width:100%;height:auto;display:block}
@media (max-width:768px){
  .final-cta__inner{grid-template-columns:1fr;gap:28px;text-align:center;justify-items:center}
  .final-cta__map{width:min(280px,70%)}
}

.about-preview,.about-resqmc-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.home-about-intro{
  padding-top:calc(88px + var(--nav-h));
}
.about-preview__image{position:relative}
.about-preview__image img{width:100%;max-height:520px;object-fit:cover;border-radius:4px}
.about-resqmc-intro .about-preview__image{
  background:
    radial-gradient(circle at 18% 20%, rgba(31,111,92,.2) 0%, rgba(31,111,92,0) 54%),
    linear-gradient(180deg, rgba(25,91,75,.12), rgba(25,91,75,.03));
  border:1px solid rgba(31,111,92,.22);
  border-radius:4px;
  padding:22px;
  box-shadow:0 10px 26px rgba(15,31,28,.08);
}
.about-resqmc-intro .about-preview__image img{
  max-height:320px;
  object-fit:contain;
  opacity:.98;
  filter:contrast(1.12) saturate(1.08);
}
.about-resqmc-intro .about-preview__image::before{
  content:'';
  position:absolute;
  left:10px;
  right:-14px;
  top:16px;
  bottom:-18px;
  border:1px solid rgba(185,147,61,.34);
  border-radius:4px;
  z-index:-1;
}
.about-preview__image--stacked{padding-right:36px;padding-bottom:54px}
.about-preview__support{
  position:absolute;
  right:0;
  bottom:0;
  width:min(44%,220px);
  max-height:220px;
  border:4px solid #fff;
  box-shadow:0 10px 28px rgba(15,31,28,.22);
}
.about-preview__image::before{
  content:'';position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;
  border:2px solid var(--c-gold);border-radius:4px;z-index:-1
}

/* ── Pillars ── */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pillar-card{
  position:relative;overflow:hidden;isolation:isolate;
  border-top:3px solid var(--c-gold);
  padding:36px 28px;border-radius:2px;min-height:400px;
  display:flex;flex-direction:column;justify-content:flex-start;color:#fff;
  transition:transform .28s ease,box-shadow .28s ease,border-color .2s ease
}
.pillar-card__media{
  position:absolute;inset:0;z-index:-2;
  width:100%;height:100%;object-fit:cover;
  margin:0;border-radius:0;
  transition:transform .5s ease;
}
.pillar-card::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(15,31,28,0) 35%,rgba(15,31,28,.7) 100%);
  transition:background .3s ease;
}
.pillar-card:hover::after{
  background:linear-gradient(180deg,rgba(15,31,28,.55) 0%,rgba(15,31,28,.72) 100%);
}
.pillar-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(15,31,28,.22)}
.pillar-card:hover .pillar-card__media{transform:scale(1.05)}
.pillar-card__title{
  font-family:var(--ff-head);font-size:1.3rem;font-weight:600;
  color:#fff;margin-bottom:12px;line-height:1.3
}
/* h3 = service name: pinned to the bottom, collapses on hover */
.pillar-card h3.pillar-card__title{
  order:1;margin-top:auto;
  max-height:140px;opacity:1;overflow:hidden;
  transition:opacity .3s ease,max-height .4s ease,margin-bottom .4s ease
}
.pillar-card:hover h3.pillar-card__title{opacity:0;max-height:0;margin-bottom:0}
/* h4 tagline + description: hidden by default, reveal on hover */
.pillar-card h4.pillar-card__title,
.pillar-card .pillar-card__text{
  opacity:0;max-height:0;margin:0;overflow:hidden;
  transition:opacity .35s ease,max-height .45s ease,margin .4s ease
}
.pillar-card:hover h4.pillar-card__title{opacity:1;max-height:90px;margin-bottom:12px}
.pillar-card:hover .pillar-card__text{opacity:1;max-height:320px;margin-bottom:24px}
.pillar-card__text{font-size:.9rem;color:rgba(255,255,255,.85);line-height:1.7}
.pillar-card__link{
  font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;display:inline-flex;align-items:center;gap:6px;order:2
}
.pillar-card__link::after{content:'→';transition:transform .2s}
.pillar-card:hover .pillar-card__link::after{transform:translateX(4px)}

/* ── Philosophy ── */
.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.section--about-philosophy{position:relative;overflow:hidden}
.about-philosophy__wave{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  max-height:260px;
  object-fit:cover;
  opacity:.12;
  pointer-events:none;
}
.philosophy__quote{
  font-family:var(--ff-head);font-size:clamp(1.3rem,2.5vw,1.8rem);font-style:italic;
  font-weight:400;color:rgba(255,255,255,.9);line-height:1.5;
  border-left:3px solid var(--c-gold);padding-left:28px;margin:28px 0
}
.symbol-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.symbol-item{background:rgba(255,255,255,.06);border-radius:3px;padding:24px 20px}
.symbol-item{
  transition:transform .26s ease, background-color .26s ease;
}
.symbol-item__art{
  max-width:120px;
  opacity:.45;
  margin:0 0 10px;
}
.symbol-item__name{
  font-family:var(--ff-head);font-size:1.15rem;font-weight:600;
  color:var(--c-gold);margin-bottom:8px
}
.symbol-item__text{font-size:.875rem;color:rgba(255,255,255,.65);line-height:1.65}
.symbol-item:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.1);
}

/* ── Leadership ── */
.leadership-card{display:grid;grid-template-columns:360px 1fr;gap:64px;align-items:start}
.leadership-card__photo{position:relative}
.leadership-card__photo img{width:100%;border-radius:4px;filter:grayscale(15%)}
.leadership-card__photo::after{
  content:'';position:absolute;bottom:-16px;right:-16px;width:100%;height:100%;
  border:2px solid var(--c-gold);border-radius:4px;z-index:-1
}
.leadership-card__name{
  font-family:var(--ff-head);font-size:1.9rem;font-weight:600;
  color:var(--c-darkest);margin-bottom:4px
}
.leadership-card__role{
  font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--c-gold);margin-bottom:28px
}
.leadership-card__text{font-size:.95rem;color:var(--c-muted);line-height:1.8;margin-bottom:14px}
.credentials{margin-top:28px;display:flex;flex-direction:column;gap:10px}
.credentials li{display:flex;gap:12px;font-size:.875rem;color:var(--c-muted)}
.credentials li::before{content:'✦';color:var(--c-gold);flex-shrink:0;margin-top:3px}

/* ── Home contact form (comp-mgnkreqx_r_comp-mgmgn0gv) ── */
.home-contact .contact-card{
  background:#0F1C21;border-radius:18px;
  padding:64px clamp(24px,5vw,90px) 72px;
  max-width:1120px;margin:0 auto;
}
.contact-card__title{
  font-family:var(--ff-head);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600;
  color:#fff;text-align:center;line-height:1.15;margin:0 0 14px;
}
.contact-card__sub{
  font-size:1.05rem;color:rgba(255,255,255,.85);text-align:center;
  margin:0 auto 48px;max-width:680px;
}
.contact-form{max-width:780px;margin:0 auto;}
.contact-form__field{margin-bottom:28px;}
.contact-form label{display:block;color:#fff;font-size:.98rem;margin-bottom:12px;}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;border:none;background:#EBF3ED;color:#0F1C21;
  font-family:var(--ff-body);font-size:1rem;
  padding:16px 22px;border-radius:30px;
  box-shadow:0 4px 0 0 #579F2C;outline:none;
  transition:box-shadow .2s;-webkit-appearance:none;appearance:none;
}
.contact-form select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1C21' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 22px center;background-size:18px;
  padding-right:48px;
}
.contact-form textarea{border-radius:20px;min-height:130px;resize:vertical;line-height:1.55;}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{box-shadow:0 4px 0 0 #2F7A43;}
.contact-form__submit{
  display:block;width:100%;margin-top:14px;background:#579F2C;color:#fff;border:none;
  border-radius:30px;padding:18px;font-weight:600;font-size:1rem;cursor:pointer;
  text-align:center;transition:background .2s;
}
.contact-form__submit:hover{background:#4a8a25;}
.contact-form .form-success,
.contact-form .form-error{text-align:center;margin:0 0 18px;font-size:.98rem;}
.contact-form .form-success{color:#9FE07F;}
.contact-form .form-error{color:#ffb4a8;}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ── Founder grid (home, comp-mgniq7ka) ── */
.founder .founder-grid{
  display:grid;
  grid-template-columns:2.8888fr 4.1112fr;
  grid-template-rows:auto 1fr auto;
  align-items:stretch;
  gap:0;
}
/* title block (comp-mjnmyfmh) — row 1 across both columns, content top-right, over photo top */
.founder-title{
  grid-column:2;grid-row:1;z-index:2;
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  padding:4px 0 18px;
}
.founder-title .eyebrow-badge{margin-bottom:18px;}
.founder-title__heading{
  font-family:var(--ff-head);font-size:clamp(2rem,3.6vw,3rem);font-weight:600;
  color:#0F1C21;margin:0;line-height:1.05;
}
/* photo (comp-mjjwmlua) — column 1, spans rows 1-2 */
.founder-photo{grid-column:1;grid-row:1 / 3;align-self:stretch;background:#1B2F27;overflow:hidden;}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:48% 31%;display:block;}
/* bio box (comp-mgniq7kw) — column 2, row 2, dark green fill #1B2F27 (--color_20) */
.founder-bio{
  grid-column:2;grid-row:2;background:#1B2F27;
  display:flex;flex-direction:column;justify-content:center;
  padding:48px 56px;
}
.founder-bio__lead{
  font-family:var(--ff-head);font-size:1.05rem;font-weight:600;color:#fff;
  line-height:1.55;margin:0 0 22px;
}
.founder-bio__text{font-size:.95rem;color:rgba(255,255,255,.82);line-height:1.75;margin:0 0 16px;}
.founder-bio .btn{
  align-self:flex-start;margin-top:14px;background:#fff;color:#2F7A43;border:none;
  border-radius:40px;padding:16px 40px;font-weight:600;
}
.founder-bio .btn:hover{background:#EBF3ED;color:#1B2F27;}
/* name/role box (comp-mgniq7l77) — column 1, row 3, dark green fill, white centred */
.founder-name{
  grid-column:1;grid-row:3;background:#1B2F27;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:44px 24px;
}
.founder-name__name{
  font-family:var(--ff-head);font-size:1.7rem;font-weight:600;color:#fff;margin:0 0 12px;
}
.founder-name__role{
  font-family:var(--ff-head);font-size:1.15rem;font-weight:400;color:rgba(255,255,255,.9);margin:0;
}
/* decor + tagline box (comp-mjnmiyla) — column 2, row 3, green fill #2F7A43 (--color_18) + wave */
.founder-tag{
  grid-column:2;grid-row:3;position:relative;overflow:hidden;
  background:#2F7A43;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:44px 32px;
}
.founder-tag__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.9;pointer-events:none;
}
.founder-tag__text{
  position:relative;z-index:1;
  font-family:var(--ff-head);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:400;
  color:#fff;line-height:1.3;margin:0;
}
@media (max-width:768px){
  .founder .founder-grid{grid-template-columns:1fr;}
  .founder-title{grid-column:1;grid-row:1;align-items:flex-start;text-align:left;}
  .founder-photo{grid-column:1;grid-row:2;aspect-ratio:4/3;}
  .founder-bio{grid-column:1;grid-row:3;padding:36px 28px;}
  .founder-name{grid-column:1;grid-row:4;padding:36px 24px;}
  .founder-tag{grid-column:1;grid-row:5;padding:48px 28px;}
}
body.page-home .home-leadership{
  position:relative;
  overflow:hidden;
}
body.page-home .poc-badge{display:none}
body.page-home .home-promise{
  position:relative;
  overflow:hidden;
  background:
    url('/assets/images/promise-bg.jpg') center/cover no-repeat;
}
body.page-home .home-promise__wave{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  max-height:110px;
  object-fit:cover;
  opacity:.18;
  pointer-events:none;
}
body.page-home .home-contact__decor{
  width:min(230px,76%);
  margin:20px 0 0;
  opacity:.34;
}
body.page-home .home-leadership::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:76px;
  background:url('/assets/wix-captured/Waveline-Green-13d369d509.png') center bottom/cover no-repeat;
  opacity:.22;
  pointer-events:none;
}

/* ── Promise ── */
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.promise-item{
  padding:48px 36px;background:rgba(15,31,28,.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-top:3px solid transparent;transition:transform .3s ease, background-color .3s ease, border-color .3s ease
}
.promise-item:hover{transform:translateY(-4px);background:rgba(15,31,28,.7);border-top-color:var(--c-gold)}
.promise-item__num{
  font-family:var(--ff-head);font-size:3rem;font-weight:700;
  color:var(--c-gold);opacity:.7;line-height:1;margin-bottom:16px
}
.promise-item__title{
  font-family:var(--ff-head);font-size:1.25rem;font-weight:600;
  color:#fff;margin-bottom:12px
}
.promise-item__text{font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.7}
.about-founder-intro,.about-promise-intro{text-align:center}
.about-founder-intro{margin-bottom:64px}
.about-promise-intro{margin-bottom:56px}

/* ── Core Services (numbered) ── */
.core-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.section--wix-wave{
  background:
    linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.94)),
    url('/assets/wix-captured/Waveline-Green-5fd0024963.png') right top/420px auto no-repeat;
}
.core-service{
  background:#fff;border-left:4px solid var(--c-gold);padding:28px 24px;
  border-radius:0 3px 3px 0;box-shadow:0 2px 12px rgba(15,31,28,.06);
  transition:transform .24s ease, box-shadow .24s ease, border-color .2s ease;
}
.core-service:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(15,31,28,.1);
}
.core-services-photo{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
}
.section-actions{
  margin-top:28px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.page-hero .section-actions{
  justify-content:center;
  margin-top:24px;
}
.section-actions--light .btn--outline{
  border-color:rgba(255,255,255,.55);
  color:rgba(255,255,255,.95);
}
.section-actions--light .btn--outline:hover{
  border-color:#fff;
}
.core-services-photo img{
  width:min(560px,92vw);
  max-height:360px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 8px 32px rgba(15,31,28,.14);
  opacity:.95;
}
.core-services-photo__video{
  width:min(560px,92vw);
  max-height:360px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 8px 32px rgba(15,31,28,.14);
  opacity:.95;
}
.home-founder-transition{
  padding-top:34px;
  padding-bottom:26px;
}
.home-founder-transition__layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:28px;
  align-items:center;
}
.home-founder-transition__media{
  display:flex;
  justify-content:flex-start;
}
.home-founder-transition__media .core-services-photo__video{
  width:min(640px,100%);
  max-height:400px;
}
.home-founder-transition__content{
  background:#fff;
  border:1px solid rgba(15,31,28,.09);
  border-radius:4px;
  padding:28px 24px;
}
.home-founder-transition__text{
  font-size:.92rem;
  color:var(--c-muted);
  line-height:1.75;
  margin:0 0 18px;
}
.home-founder-transition__brand-box{
  position:relative;
  min-height:168px;
  background:linear-gradient(145deg, #1f6f5c 0%, #13453a 100%);
  border-radius:4px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(15,31,28,.16);
}
.home-founder-transition__ornament{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.home-founder-transition__ornament circle{
  fill:none;
  stroke:rgba(255,255,255,.36);
  stroke-width:1.5;
}
.home-founder-transition__brand-box img{
  position:relative;
  z-index:1;
  width:min(70%,280px);
  opacity:.95;
  animation:brandBoxLogoReveal .82s ease .12s both;
}
.home-founder-transition__brand-box::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 52%);
  transform:translateX(-64%);
  animation:brandBoxSweep 1.15s ease .2s both;
}
@keyframes brandBoxLogoReveal{
  from{opacity:0;transform:translate3d(0,14px,0);clip-path:inset(0 0 100% 0)}
  to{opacity:.95;transform:none;clip-path:inset(0 0 0 0)}
}
@keyframes brandBoxSweep{
  from{transform:translateX(-64%);opacity:0}
  to{transform:translateX(0);opacity:1}
}
.core-service__num{
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-gold);margin-bottom:8px
}
.core-service__title{
  font-family:var(--ff-head);font-size:1.1rem;font-weight:600;
  color:var(--c-darkest);margin-bottom:10px
}
.core-service__text{font-size:.875rem;color:var(--c-muted);line-height:1.7}

/* ── Services detail (services page) ── */
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-bottom:80px}
.service-detail:nth-child(even){direction:rtl}
.service-detail:nth-child(even)>*{direction:ltr}
.service-detail__visual{
  background:var(--c-dark);border-radius:4px;padding:56px 40px;
  display:flex;flex-direction:column;justify-content:center;min-height:320px;
  transition:transform .26s ease, box-shadow .26s ease;
}
.service-detail__visual:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(15,31,28,.16);
}
.service-detail__visual--image{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.service-detail__visual--image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
}
.service-detail__visual--image::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(16,60,51,.66);
  z-index:-1;
}
.service-detail__visual--mid::before{
  background:rgba(31,111,92,.64);
}
.service-detail__visual--darkest::before{
  background:rgba(15,31,28,.66);
}
.service-detail__visual .service-icon{
  font-size:2.8rem;margin-bottom:20px;opacity:.8
}
.service-detail__visual .service-label{
  font-family:var(--ff-head);font-size:1.6rem;font-weight:600;color:#fff;
  line-height:1.3;margin-bottom:12px
}
.service-detail__visual .service-tagline{
  font-size:.9rem;color:rgba(255,255,255,.65);line-height:1.65
}
.service-detail__content .section-title{font-size:clamp(1.5rem,2.5vw,2.1rem)}
body.page-services .service-detail{
  gap:58px;
  margin-bottom:64px;
}
body.page-services .service-detail__content p{
  line-height:1.7!important;
  margin-bottom:22px!important;
}
body.page-services .core-services-grid{
  gap:16px;
}
body.page-services .core-service{
  padding:24px 20px;
}
body.page-services .core-service__text{
  line-height:1.62;
}

/* ── Contact layout ── */
.contact-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:72px;align-items:start}
.section--contact-visual{
  position:relative;
  overflow:hidden;
}
.contact-section__wave{
  position:absolute;
  top:0;
  right:0;
  width:min(640px,54vw);
  opacity:.16;
  pointer-events:none;
}
.contact-info-block{
  position:relative;
}
.contact-info-block__title{
  font-size:clamp(1.5rem,2.8vw,2.2rem);
  margin-bottom:32px;
}
.contact-info-block__hours{
  margin:32px 0 12px;
}
.contact-info-block__visual{
  width:min(300px,86%);
  margin:26px 0 0;
  opacity:.9;
}
.contact-info__item{display:flex;gap:16px;margin-bottom:28px;align-items:flex-start}
.contact-info__icon{
  width:44px;height:44px;background:var(--c-cream);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:var(--c-mid);font-size:1.1rem
}
.contact-info__label{
  font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--c-gold);margin-bottom:4px;display:block
}
.contact-info__value{font-size:.95rem;color:var(--c-text);line-height:1.6}
.contact-consultation-card{
  margin-top:40px;
  padding:28px;
  background:var(--c-cream);
  border-radius:3px;
  border-left:4px solid var(--c-gold);
  transition:transform .24s ease, box-shadow .24s ease;
}
.contact-consultation-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,31,28,.09);
}
.contact-consultation-card__quote{
  font-family:var(--ff-head);
  font-size:1rem;
  font-style:italic;
  color:var(--c-text);
  line-height:1.6;
  margin-bottom:0;
}
.contact-info-block__expert-cta{
  margin:20px 0 0;
}
.contact-info-block__expert-cta a{
  display:inline-block;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-mid);
  border-bottom:2px solid rgba(31,111,92,.3);
  padding-bottom:3px;
}
.contact-info-block__expert-cta a:hover,
.contact-info-block__expert-cta a:focus-visible{
  border-color:var(--c-mid);
}

.contact-form-wrap{
  position:relative;
}

/* ── Values / Approach ── */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.value-card{
  padding:32px 24px;border-radius:3px;background:#fff;
  box-shadow:0 2px 16px rgba(15,31,28,.06);border-top:3px solid var(--c-gold);
  transition:transform .24s ease, box-shadow .24s ease, border-color .2s ease;
}
.value-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(15,31,28,.1);
}
.value-card__icon{font-size:1.8rem;margin-bottom:16px}
.value-card__title{
  font-family:var(--ff-head);font-size:1.15rem;font-weight:600;
  color:var(--c-darkest);margin-bottom:10px
}
.value-card__text{font-size:.875rem;color:var(--c-muted);line-height:1.7}

/* ── Mission / Vision (about) ── */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px}
.mv-card{padding:36px 32px;border-radius:3px}
.mv-card--vision{background:var(--c-mid);color:#fff}
.mv-card--mission{background:var(--c-gold);color:#fff}
.mv-card__label{
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:14px;opacity:.8
}
.mv-card--vision .mv-card__label{color:rgba(255,255,255,.7)}
.mv-card--mission .mv-card__label{color:rgba(255,255,255,.75)}
.mv-card__text{font-family:var(--ff-head);font-size:1.15rem;font-weight:400;line-height:1.55}
.mv-card--vision .mv-card__text{color:#fff}
.mv-card--mission .mv-card__text{color:#fff}

/* ── Contact form ── */
.contact-form-wrap{background:#fff;border-radius:4px;box-shadow:0 4px 24px rgba(15,31,28,.08);padding:40px}
.contact-form-wrap__ornament{
  position:absolute;
  top:-54px;
  right:-28px;
  width:min(220px,38%);
  opacity:.08;
  pointer-events:none;
}
.contact-form-wrap__title{
  font-family:var(--ff-head);
  font-size:1.4rem;
  font-weight:600;
  color:var(--c-darkest);
  margin-bottom:24px;
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group--full{grid-column:1/-1}
.form-group label{
  font-size:.72rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--c-muted)
}
.form-group input,
.form-group select,
.form-group textarea{
  padding:12px 16px;border:1.5px solid #d5dbd8;border-radius:3px;
  font-family:var(--ff-body);font-size:.9rem;color:var(--c-text);background:#fff;
  transition:border-color .2s;outline:none
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--c-mid);box-shadow:0 0 0 3px rgba(31,111,92,.1)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  [data-reveal]{
    opacity:1!important;
    transform:none!important;
  }
  .hero__bg-video,
  .core-services-photo__video{
    animation:none!important;
  }
  .hero__brand-mark,
  .home-promise__wave,
  .about-philosophy__wave,
  .contact-cta__buildings,
  .services-hero__line,
  .about-hero__line,
  .contact-hero__wave,
  .hero__brand-rings circle,
  .hero__brand-logo,
  .home-founder-transition__brand-box img{
    transform:none!important;
  }
  .home-founder-transition__brand-box::before{
    display:none;
  }
  .home-founder-transition__brand-box img{
    animation:none!important;
    clip-path:none!important;
  }
  .cta-strip::before{
    display:none;
  }
}
.form-group textarea{min-height:130px;resize:vertical}
.form-honeypot{display:none!important;visibility:hidden;position:absolute}
.form-submit-row{margin-top:20px}
.form-notice{font-size:.78rem;color:var(--c-muted);margin-top:12px;line-height:1.5}
.form-success,.form-error{
  display:none;padding:14px 18px;border-radius:3px;font-size:.9rem;margin-top:16px
}
.form-success{background:#e6f4ef;color:var(--c-mid);border:1px solid var(--c-mid)}
.form-error{background:#fdf2f2;color:#b53c3c;border:1px solid #e8a0a0}
.form-loading{opacity:.6;pointer-events:none}

/* ── CTA Strip ── */
.cta-strip{background:var(--c-mid);padding:80px 0;text-align:center}
.cta-strip{
  position:relative;
  overflow:hidden;
}
.cta-strip::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 46%, rgba(255,255,255,.08) 100%);
  transform:translateX(-60%);
  opacity:0;
  transition:transform 1.1s ease, opacity .55s ease;
  pointer-events:none;
}
.cta-strip.in-view::before{
  transform:translateX(0);
  opacity:.45;
}
.contact-cta__buildings{
  position:absolute;
  right:24px;
  bottom:0;
  width:min(230px,24vw);
  opacity:.2;
  pointer-events:none;
}
.cta-strip__title{
  font-family:var(--ff-head);font-size:clamp(1.6rem,3vw,2.5rem);
  font-weight:600;color:#fff;margin-bottom:16px
}
.cta-strip__sub{
  color:rgba(255,255,255,.78);font-size:1rem;margin-bottom:36px;
  max-width:520px;margin-left:auto;margin-right:auto
}
.cta-strip__actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.cta-strip__actions .btn{
  transition:transform .24s ease, box-shadow .24s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.cta-strip__actions .btn:hover,
.cta-strip__actions .btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,31,28,.2);
}

/* ── Home testimonial placeholder ── */
.testimonials-placeholder{
  background:#fff;
  border:1px solid rgba(15,31,28,.1);
  border-radius:3px;
  padding:36px 28px;
  max-width:720px;
  margin:0 auto;
  box-shadow:0 2px 16px rgba(15,31,28,.06);
  transition:transform .24s ease, box-shadow .24s ease;
}
.testimonials-placeholder:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,31,28,.1);
}
.testimonials-placeholder img{
  width:40px;
  height:40px;
  margin:0 auto 16px;
  background:var(--c-dark);
  border-radius:50%;
  padding:10px
}
.testimonials-placeholder p{
  color:var(--c-muted);
  font-size:.95rem;
  line-height:1.75
}

/* ── Home big ideas strip ── */
.home-big-ideas{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(110deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 45%),
    linear-gradient(90deg, rgba(15,31,28,.92) 0%, rgba(15,31,28,.84) 100%),
    url('/assets/wix-captured/modern-cozy-loft-office-interior-and-new-normal-a-2025-03-18-15-59-00-utc-fdea1787f8.jpg') center/cover no-repeat;
}
.home-big-ideas__inner{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.home-big-ideas__mark{
  width:min(88px,18vw);
  opacity:.82;
  flex-shrink:0;
}
@media (max-width: 768px){
  .home-big-ideas__inner{
    min-height:160px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
  }
  .home-big-ideas__mark{
    width:56px;
  }
}

/* ── Stat bar ── */
.stat-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.stat-item{padding:40px 32px;text-align:center;background:var(--c-darkest)}
.stat-item__num{
  font-family:var(--ff-head);font-size:2.8rem;font-weight:700;
  color:var(--c-gold);line-height:1;margin-bottom:8px
}
.stat-item__label{font-size:.78rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.1em}

.services-divider-strip{
  width:100%;
  height:110px;
  object-fit:cover;
  object-position:center;
  display:block;
  opacity:.72;
}

/* ── Responsive ── */
@media(max-width:960px){
  .nav__links{display:none}
  .nav__toggle{display:flex}
  .nav__links.open{
    display:flex;flex-direction:column;position:fixed;top:var(--nav-h);
    left:0;right:0;background:var(--c-darkest);padding:32px 24px;gap:24px;
    border-top:1px solid rgba(255,255,255,.1)
  }
  .pillars-grid,.promise-grid,.values-grid{grid-template-columns:1fr}
  .core-services-grid{grid-template-columns:1fr}
  .about-preview,.philosophy,.leadership-card,.contact-layout,.mv-grid{grid-template-columns:1fr;gap:40px}
  .service-detail{grid-template-columns:1fr;direction:ltr!important}
  .service-detail:nth-child(even)>*{direction:ltr}
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .symbol-pair{grid-template-columns:1fr}
  .stat-bar{grid-template-columns:repeat(2,1fr)}
  .leadership-card__photo{max-width:360px}
  .hero__brand-mark{opacity:.2}
  .hero__layout{grid-template-columns:1fr;gap:26px}
  .hero__brand-box{
    max-width:440px;
    width:100%;
    min-height:270px;
    margin:0 auto;
  }
  .hero__content{
    text-align:center;
    margin:0 auto;
  }
  .hero__actions{justify-content:center}
  .hero__brand-mark--name{width:min(38vw,260px)}
  .services-hero__line{width:min(360px,62vw)}
  .about-hero__line{width:min(360px,66vw)}
  .contact-hero__wave{width:min(360px,64vw);opacity:.44}
  .about-preview__image--stacked{padding-right:24px;padding-bottom:38px}
  .about-preview__support{width:min(44%,190px);max-height:190px}
  .core-services-photo img{max-height:300px}
  .core-services-photo__video{max-height:300px}
  .home-founder-transition{
    padding-top:24px;
    padding-bottom:18px;
  }
  .home-founder-transition__layout{
    grid-template-columns:1fr;
    gap:18px;
  }
  .home-founder-transition__media{
    justify-content:center;
  }
  .home-founder-transition__media .core-services-photo__video{
    width:min(620px,100%);
    max-height:280px;
  }
  .home-founder-transition__brand-box{
    min-height:160px;
  }
  .home-founder-transition__content{
    padding:22px 18px;
  }
  .contact-section__wave{width:min(460px,72vw);opacity:.14}
  .contact-info-block__visual{width:min(250px,80%)}
  .contact-cta__buildings{width:min(180px,28vw);right:12px}

  /* Home-only tablet compression for parity pacing */
  body.page-home{overflow-x:hidden}
  body.page-home .poc-badge{display:none}
  body.page-home .container{max-width:100%;overflow-x:clip}
  body.page-home .section{padding:68px 0}
  body.page-home .hero{min-height:88vh}
  body.page-home .hero__sub{max-width:520px;margin-bottom:30px;font-size:1rem;line-height:1.62}
  body.page-home .about-preview,
  body.page-home .philosophy,
  body.page-home .leadership-card{gap:28px}
  body.page-home .pillars-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.page-home .pillars-grid .pillar-card:nth-child(3){
    grid-column:1/-1;
  }
  body.page-home .symbol-pair{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.page-home .promise-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.page-home .promise-grid .promise-item:last-child{
    grid-column:1/-1;
  }
  body.page-home .contact-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:start;
  }
  body.page-home .section-title{font-size:clamp(1.65rem,3.1vw,2.3rem);margin-bottom:14px}
  body.page-home .section-lead{font-size:.98rem;line-height:1.62}
  body.page-home .home-leadership-intro{margin-bottom:36px!important}
  body.page-home .home-promise-intro{margin-bottom:34px!important}
  body.page-home .about-preview p[style*="margin-bottom:32px"]{margin-bottom:20px!important}
  body.page-home .pillars-grid{gap:18px}
  body.page-home .pillar-card{padding:28px 22px}
  body.page-home .pillar-card{min-height:320px}
  body.page-home .pillar-card__media{height:100%;margin:0}
  body.page-home .core-services-grid > .core-service:last-child{max-width:100%!important}
  body.page-home .core-services-grid{gap:14px}
  body.page-home .core-service{padding:22px 18px}
  body.page-home .core-services-photo{margin-top:12px}
  body.page-home .core-services-photo img{max-height:220px;opacity:.84}
  body.page-home .core-services-photo__video{max-height:220px;opacity:.84}
  body.page-home .symbol-item__art{max-width:104px;opacity:.35}
  body.page-home .promise-grid{gap:0}
  body.page-home .promise-item{padding:34px 24px}
  body.page-home .contact-layout{gap:20px}
  body.page-home .contact-form-wrap{padding:28px 22px}
  body.page-home .home-contact__decor{width:min(180px,52%);margin-top:14px;opacity:.28}
  body.page-home .testimonials-section .section-title{margin-bottom:14px!important}
  body.page-home .testimonials-placeholder{padding:28px 22px}
  body.page-home .cta-strip{padding:52px 0}
  body.page-home .cta-strip__sub{margin-bottom:24px}
  body.page-home .contact-cta__buildings{opacity:.14;width:min(170px,28vw)}
  body.page-home .home-leadership::after{height:58px;opacity:.18}

  /* About-only tablet flow compression for Wix parity */
  body.page-about{overflow-x:hidden}
  body.page-about .container{max-width:100%;overflow-x:clip}
  body.page-about .section{padding:38px 0}
  body.page-about .page-hero{padding-top:114px;padding-bottom:54px}
  body.page-about .page-hero__title{font-size:clamp(1.9rem,4.1vw,2.8rem);line-height:1.14}
  body.page-about .page-hero__sub{max-width:590px;line-height:1.56}
  body.page-about .section-title{margin-bottom:14px}
  body.page-about .section-subtitle{margin-bottom:10px}
  body.page-about .section-lead{margin-bottom:16px}
  body.page-about .mv-grid,
  body.page-about .leadership-card,
  body.page-about .contact-layout{gap:18px}
  body.page-about .values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.page-about .mv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-about .symbol-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-about .leadership-card{
    grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);
    align-items:start;
  }
  body.page-about .promise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.page-about .contact-layout{
    grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
    align-items:start;
  }
  body.page-about .about-preview{gap:14px}
  body.page-about .about-preview__image img{max-height:330px;object-position:center 32%}
  body.page-about .about-preview__image--stacked{padding-right:8px;padding-bottom:8px}
  body.page-about .about-preview__support{
    width:min(33%,124px);
    max-height:124px;
    right:-4px;
    bottom:-8px;
  }
  body.page-about .values-grid{gap:10px}
  body.page-about .value-card{padding:18px 16px}
  body.page-about .value-card__title{margin-bottom:8px}
  body.page-about .value-card__text{font-size:.84rem;line-height:1.52}
  body.page-about .philosophy{gap:18px}
  body.page-about .about-philosophy__wave{top:-16px;opacity:.06;max-height:146px}
  body.page-about .philosophy__quote{margin:14px 0;padding-left:16px;font-size:1.18rem;line-height:1.34}
  body.page-about .symbol-pair{margin-top:10px;gap:7px}
  body.page-about .symbol-item{padding:12px 10px}
  body.page-about .symbol-item__art{max-width:94px;margin-bottom:6px}
  body.page-about .symbol-item__text{font-size:.82rem;line-height:1.48}
  body.page-about .mv-grid{margin-top:14px}
  body.page-about .mv-card{padding:18px 16px}
  body.page-about .mv-card__text{font-size:.98rem;line-height:1.38}
  body.page-about #founder .container > div[data-reveal]{margin-bottom:16px!important}
  body.page-about .section--darkest .container > div[data-reveal]{margin-bottom:14px!important}
  body.page-about .about-founder-intro{margin-bottom:14px!important}
  body.page-about .about-promise-intro{margin-bottom:14px!important}
  body.page-about .leadership-card__photo{max-width:270px}
  body.page-about .leadership-card__text{font-size:.9rem;line-height:1.5;margin-bottom:8px}
  body.page-about .leadership-card__text:last-of-type{margin-bottom:4px}
  body.page-about .credentials{margin-top:14px;gap:7px}
  body.page-about .credentials li{font-size:.82rem}
  body.page-about #founder + .section--darkest{padding-top:32px;padding-bottom:32px}
  body.page-about #founder + .section--darkest + .section{padding-top:34px}
  body.page-about .promise-item{padding:20px 16px}
  body.page-about .promise-item__text{line-height:1.46}
  body.page-about .promise-item__num{margin-bottom:8px}
  body.page-about .promise-item__title{margin-bottom:6px}
  body.page-about .contact-form-wrap{padding:20px 16px}
  body.page-about .form-grid{gap:10px;margin-bottom:10px}
  body.page-about .form-group textarea{min-height:92px}
  body.page-about .cta-strip{padding:44px 0}
  body.page-about .cta-strip__sub{margin-bottom:18px}

  /* Contact-only tablet rebalancing for Wix parity */
  body.page-contact .section{padding:72px 0}
  body.page-contact .page-hero{padding-top:122px;padding-bottom:108px}
  body.page-contact .section--contact-visual{padding-top:98px;padding-bottom:118px}
  body.page-contact .contact-layout{
    grid-template-columns:1fr;
    gap:68px;
    align-items:start;
  }
  body.page-contact .contact-info-block{
    max-width:680px;
  }
  body.page-contact .contact-info-block .section-title{margin-bottom:42px!important}
  body.page-contact .contact-info__item{margin-bottom:36px}
  body.page-contact .contact-info-block__hours{margin:40px 0 16px}
  body.page-contact .contact-consultation-card{
    margin-top:48px;
    padding:34px;
  }
  body.page-contact .contact-info-block__expert-cta{margin-top:28px}
  body.page-contact .contact-info-block__visual{
    width:min(260px,60%);
    margin-top:34px;
  }
  body.page-contact .contact-form-wrap{
    padding:50px 38px;
    border:1px solid rgba(15,31,28,.09);
    box-shadow:0 6px 24px rgba(15,31,28,.08);
  }
  body.page-contact .contact-form-wrap__ornament{
    width:min(210px,32%);
    top:-46px;
    right:-16px;
    opacity:.07;
  }
  body.page-contact .form-grid{gap:18px}
  body.page-contact .contact-section__wave{width:min(460px,70vw);opacity:.09}
  body.page-contact .cta-strip{padding:86px 0}
  body.page-contact .cta-strip__sub{margin-bottom:34px}
  body.page-contact .contact-cta__buildings{opacity:.12}
  body.page-contact .site-footer{padding-top:84px}

  /* Services-only tablet compaction for mobile parity */
  body.page-services .section{padding:56px 0}
  body.page-services .page-hero{padding-top:116px;padding-bottom:74px}
  body.page-services .about-preview,
  body.page-services .contact-layout{gap:30px}
  body.page-services .section-title{margin-bottom:14px}
  body.page-services .section-lead{margin-bottom:24px}
  body.page-services .service-detail{gap:28px;margin-bottom:44px}
  body.page-services .service-detail__visual{
    min-height:240px;
    padding:34px 26px;
  }
  body.page-services .service-detail__visual .service-label{font-size:1.42rem}
  body.page-services .service-detail__visual .service-tagline{line-height:1.55}
  body.page-services .service-detail__visual--image::before{background:rgba(16,60,51,.74)}
  body.page-services .service-detail__visual--mid::before{background:rgba(31,111,92,.72)}
  body.page-services .service-detail__visual--darkest::before{background:rgba(15,31,28,.72)}
  body.page-services #core .section-title{margin-bottom:12px}
  body.page-services .core-services-grid{gap:12px}
  body.page-services .core-service{padding:20px 16px}
  body.page-services .core-services-photo{margin-top:10px}
  body.page-services .core-services-photo img{max-height:250px;opacity:.9}
  body.page-services .services-divider-strip{height:96px;opacity:.62}
  body.page-services #contact-form .contact-layout{gap:22px}
  body.page-services #contact-form .contact-info__item{margin-bottom:20px}
  body.page-services #contact-form .contact-form-wrap{padding:30px 24px}
  body.page-services #contact-form .form-submit-row{margin-top:16px}
  body.page-services #contact-form .form-notice{margin-top:10px}
  body.page-services .cta-strip{padding:56px 0}
  body.page-services .cta-strip__sub{margin-bottom:24px}
  body.page-services .contact-cta__buildings{opacity:.12}
}
@media(max-width:600px){
  .section{padding:60px 0}
  :root{--nav-h:64px}
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;gap:8px;text-align:center}
  .hero__actions,.cta-strip__actions{flex-direction:column;align-items:flex-start}
  .cta-strip__actions{align-items:center}
  .section-actions{flex-direction:column;align-items:flex-start}
  .form-grid{grid-template-columns:1fr}
  .about-preview__image::before{display:none}
  .about-preview__image--stacked{padding-right:0;padding-bottom:0}
  .about-preview__support{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    max-height:220px;
    margin-top:12px;
    border-width:0;
  }
  .about-philosophy__wave{opacity:.1;max-height:140px}
  .about-hero__line{width:min(280px,72vw);opacity:.42}
  .contact-hero__wave{width:min(250px,66vw);opacity:.4}
  .leadership-card__photo::after{display:none}
  .stat-bar{grid-template-columns:1fr 1fr}
  .contact-form-wrap{padding:28px 20px}
  .form-notice{overflow-wrap:break-word;word-break:break-word}
  .contact-layout{gap:32px}
  .hero__brand-mark--icon{top:110px;right:14px;width:84px}
  .hero__brand-mark--name{display:none}
  .hero__brand-box{
    min-height:232px;
    max-width:100%;
  }
  .hero__title{font-size:clamp(1.9rem,8.4vw,2.5rem)}
  .core-services-photo{justify-content:center}
  .core-services-photo img{
    width:min(360px,92vw);
    max-height:220px;
  }
  .core-services-photo__video{
    width:min(360px,92vw);
    max-height:220px;
  }
  .home-founder-transition{
    padding-top:18px;
    padding-bottom:14px;
  }
  .home-founder-transition__layout{
    gap:14px;
  }
  .home-founder-transition__media .core-services-photo__video{
    max-height:176px;
  }
  .home-founder-transition__brand-box{
    min-height:124px;
  }
  .home-founder-transition__brand-box img{
    width:min(76%,220px);
  }
  .home-founder-transition__content{
    padding:18px 16px;
  }
  .services-divider-strip{height:84px}
  .contact-section__wave{width:min(300px,84vw);opacity:.12}
  .contact-info-block__visual{
    width:min(230px,75%);
    margin-left:auto;
    margin-right:auto;
  }
  .contact-cta__buildings{
    right:50%;
    transform:translateX(50%);
    width:min(170px,48vw);
    opacity:.16;
  }

  /* Home-only mobile compression for section continuity */
  body.page-home{overflow-x:hidden}
  body.page-home .poc-badge{display:none}
  body.page-home .container{max-width:100%;overflow-x:clip}
  body.page-home .section{padding:46px 0}
  body.page-home .hero{min-height:82vh}
  body.page-home .hero__title{font-size:clamp(2rem,9vw,2.7rem);margin-bottom:16px}
  body.page-home .hero__sub{font-size:.95rem;line-height:1.55;max-width:100%;margin-bottom:22px}
  body.page-home .hero__scroll{display:none}
  body.page-home .section-title{margin-bottom:10px}
  body.page-home .section-lead{margin-bottom:14px}
  body.page-home .home-leadership-intro{margin-bottom:28px!important}
  body.page-home .home-promise-intro{margin-bottom:24px!important}
  body.page-home .about-preview p[style*="margin-bottom:32px"]{margin-bottom:14px!important}
  body.page-home .about-preview,
  body.page-home .philosophy,
  body.page-home .leadership-card{gap:20px}
  body.page-home .pillars-grid,
  body.page-home .symbol-pair,
  body.page-home .promise-grid,
  body.page-home .contact-layout{
    grid-template-columns:1fr;
  }
  body.page-home .pillars-grid .pillar-card:nth-child(3),
  body.page-home .promise-grid .promise-item:last-child{
    grid-column:auto;
  }
  body.page-home .pillars-grid{gap:14px}
  body.page-home .pillar-card{padding:22px 18px}
  body.page-home .pillar-card__media{height:100%;margin:0}
  body.page-home .pillar-card__num{font-size:2rem;margin-bottom:8px}
  body.page-home .pillar-card__text{margin-bottom:14px}
  body.page-home .core-services-grid{gap:12px}
  body.page-home .core-service{padding:18px 14px}
  body.page-home .core-services-photo{margin-top:8px}
  body.page-home .core-services-photo img{max-height:156px;opacity:.8}
  body.page-home .core-services-photo__video{max-height:156px;opacity:.8}
  body.page-home .symbol-pair{margin-top:18px;gap:12px}
  body.page-home .symbol-item{padding:16px 14px}
  body.page-home .symbol-item__art{max-width:86px;opacity:.32}
  body.page-home .promise-item{padding:24px 16px}
  body.page-home .promise-item__num{font-size:2.2rem;margin-bottom:10px}
  body.page-home .contact-layout{gap:18px}
  body.page-home .contact-form-wrap{padding:22px 16px}
  body.page-home .home-contact__decor{width:min(154px,56%);margin-top:12px;opacity:.24}
  body.page-home .testimonials-section{padding-top:38px;padding-bottom:38px}
  body.page-home .testimonials-placeholder{padding:20px 16px}
  body.page-home .cta-strip{padding:38px 0}
  body.page-home .cta-strip__sub{margin-bottom:18px}
  body.page-home .contact-cta__buildings{width:min(138px,42vw);opacity:.1}
  body.page-home .home-leadership::after{height:42px;opacity:.14}

  /* About-only mobile flow compression for Wix parity */
  body.page-about{overflow-x:hidden}
  body.page-about .container{max-width:100%;overflow-x:clip}
  body.page-about .section{padding:24px 0}
  body.page-about .page-hero{padding-top:88px;padding-bottom:28px}
  body.page-about .page-hero__title{font-size:clamp(1.62rem,8.2vw,2.1rem);line-height:1.18}
  body.page-about .page-hero__sub{font-size:.9rem;line-height:1.5}
  body.page-about .section-title{margin-bottom:6px}
  body.page-about .section-subtitle{margin-bottom:6px}
  body.page-about .section-lead{margin-bottom:8px}
  body.page-about .about-preview,
  body.page-about .philosophy,
  body.page-about .mv-grid,
  body.page-about .leadership-card,
  body.page-about .contact-layout{gap:8px}
  body.page-about .values-grid,
  body.page-about .mv-grid,
  body.page-about .symbol-pair,
  body.page-about .promise-grid{grid-template-columns:1fr}
  body.page-about .about-preview__image img{max-height:170px;object-position:center 30%}
  body.page-about .about-preview__image--stacked{
    padding-right:6px;
    padding-bottom:8px;
  }
  body.page-about .about-preview__support{
    position:absolute;
    right:0;
    bottom:-4px;
    width:min(50%,118px);
    max-height:104px;
    margin-top:0;
    border-width:2px;
    box-shadow:0 6px 16px rgba(15,31,28,.16);
  }
  body.page-about .value-card{padding:12px 10px}
  body.page-about .value-card__icon{margin-bottom:6px}
  body.page-about .value-card__title{font-size:1.02rem;line-height:1.28}
  body.page-about .value-card__text{font-size:.8rem;line-height:1.44}
  body.page-about .philosophy__quote{margin:10px 0;padding-left:10px;font-size:.98rem;line-height:1.3}
  body.page-about .symbol-pair{margin-top:6px;gap:5px}
  body.page-about .symbol-item{padding:10px 9px}
  body.page-about .symbol-item__art{max-width:76px;margin-bottom:4px}
  body.page-about .symbol-item__text{font-size:.76rem;line-height:1.38}
  body.page-about .mv-grid{margin-top:8px;gap:7px}
  body.page-about .mv-card{padding:11px 10px}
  body.page-about .mv-card__label{margin-bottom:5px}
  body.page-about .mv-card__text{font-size:.88rem;line-height:1.28}
  body.page-about #founder .container > div[data-reveal]{margin-bottom:10px!important}
  body.page-about .section--darkest .container > div[data-reveal]{margin-bottom:8px!important}
  body.page-about .about-founder-intro{margin-bottom:8px!important}
  body.page-about .about-promise-intro{margin-bottom:8px!important}
  body.page-about .leadership-card__photo{max-width:198px}
  body.page-about .leadership-card__text{font-size:.86rem;line-height:1.4;margin-bottom:6px}
  body.page-about .leadership-card__text:last-of-type{margin-bottom:4px}
  body.page-about .credentials{margin-top:6px;gap:4px}
  body.page-about .credentials{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:10px;
    row-gap:4px;
  }
  body.page-about .credentials li{font-size:.76rem}
  body.page-about #founder + .section--darkest{padding-top:22px;padding-bottom:22px}
  body.page-about #founder + .section--darkest + .section{padding-top:24px}
  body.page-about .promise-item{padding:12px 10px}
  body.page-about .promise-item__num{font-size:1.8rem;margin-bottom:6px}
  body.page-about .promise-item__title{font-size:.98rem;margin-bottom:5px}
  body.page-about .promise-item__text{font-size:.82rem;line-height:1.34}
  body.page-about .promise-grid{gap:0}
  body.page-about .contact-form-wrap{padding:14px 12px}
  body.page-about .form-grid{gap:7px;margin-bottom:8px}
  body.page-about .form-group input,
  body.page-about .form-group select,
  body.page-about .form-group textarea{padding:10px 12px}
  body.page-about .form-group textarea{min-height:72px}
  body.page-about .form-submit-row{margin-top:8px}
  body.page-about .form-notice{margin-top:4px}
  body.page-about .cta-strip{padding:26px 0}
  body.page-about .cta-strip__sub{margin-bottom:12px}

  /* Contact-only mobile hierarchy and form framing */
  body.page-contact .section{padding:46px 0}
  body.page-contact .page-hero{padding-top:102px;padding-bottom:46px}
  body.page-contact .section--contact-visual{padding-top:46px;padding-bottom:50px}
  body.page-contact .contact-layout{gap:24px}
  body.page-contact .contact-info-block .section-title{margin-bottom:16px!important}
  body.page-contact .contact-info__item{margin-bottom:14px}
  body.page-contact .contact-info-block__hours{margin:20px 0 10px}
  body.page-contact .contact-consultation-card{
    margin-top:18px;
    padding:14px 14px 14px 12px!important;
    border-left-width:3px!important;
  }
  body.page-contact .contact-info-block__expert-cta{
    margin-top:14px;
  }
  body.page-contact .contact-info-block__expert-cta a{
    font-size:.7rem;
    letter-spacing:.12em;
  }
  body.page-contact .contact-info-block__visual{
    width:min(190px,68%);
    margin-top:10px;
    opacity:.8;
  }
  body.page-contact .contact-form-wrap{
    padding:18px 14px;
    border:1px solid rgba(15,31,28,.05);
    box-shadow:0 2px 10px rgba(15,31,28,.05);
  }
  body.page-contact .contact-form-wrap__ornament{
    width:min(140px,40%);
    top:-26px;
    right:-12px;
    opacity:.04;
  }
  body.page-contact .form-grid{gap:10px;margin-bottom:12px}
  body.page-contact .form-group textarea{min-height:96px}
  body.page-contact .contact-section__wave{width:min(220px,72vw);opacity:.04}
  body.page-contact .cta-strip{padding:38px 0}
  body.page-contact .cta-strip__title{margin-bottom:12px}
  body.page-contact .cta-strip__sub{
    margin-bottom:14px;
    max-width:320px;
  }
  body.page-contact .contact-cta__buildings{
    width:min(120px,34vw);
    opacity:.08;
  }
  body.page-contact .site-footer{padding-top:60px}

  /* Services-only mobile stack tightening for Wix parity */
  body.page-services .section{padding:36px 0}
  body.page-services .page-hero{padding-top:94px;padding-bottom:42px}
  body.page-services .section-title{margin-bottom:10px}
  body.page-services .section-lead{margin-bottom:10px}
  body.page-services .about-preview,
  body.page-services .contact-layout{gap:12px}
  body.page-services .about-preview__image img{max-height:188px;object-fit:cover}
  body.page-services .service-detail{gap:12px;margin-bottom:22px}
  body.page-services .service-detail__visual{
    min-height:172px;
    padding:18px 14px;
  }
  body.page-services .service-detail__visual .service-label{
    font-size:1.08rem;
    line-height:1.25;
    margin-bottom:6px;
    text-shadow:0 1px 2px rgba(0,0,0,.35);
  }
  body.page-services .service-detail__visual .service-tagline{
    font-size:.8rem;
    line-height:1.42;
    color:rgba(255,255,255,.82);
    text-shadow:0 1px 2px rgba(0,0,0,.28);
  }
  body.page-services .service-detail__visual--image::before{background:rgba(16,60,51,.86)}
  body.page-services .service-detail__visual--mid::before{background:rgba(31,111,92,.84)}
  body.page-services .service-detail__visual--darkest::before{background:rgba(15,31,28,.84)}
  body.page-services .service-detail__content .section-title{font-size:1.26rem}
  body.page-services .service-detail__content p{
    margin-bottom:10px!important;
    line-height:1.52!important;
  }
  body.page-services .service-detail__content .btn{margin-top:2px}
  body.page-services .section--wix-wave{
    background:
      linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,.97)),
      url('/assets/wix-captured/Waveline-Green-5fd0024963.png') right -18px top -10px/280px auto no-repeat;
  }
  body.page-services .core-services-grid{gap:7px}
  body.page-services .core-service{padding:13px 12px}
  body.page-services .core-service__title{margin-bottom:8px}
  body.page-services .core-service__text{line-height:1.46}
  body.page-services .core-services-photo{margin-top:4px}
  body.page-services .core-services-photo img{max-height:164px;opacity:.8}
  body.page-services .services-divider-strip{height:58px;opacity:.42}
  body.page-services #contact-form .section-title{margin-bottom:12px}
  body.page-services #contact-form p[style*=\"margin-bottom:32px\"]{margin-bottom:16px!important}
  body.page-services #contact-form .contact-info__item{margin-bottom:8px}
  body.page-services #contact-form .contact-form-wrap{
    padding:16px 12px;
    box-shadow:0 4px 18px rgba(15,31,28,.08);
  }
  body.page-services #contact-form .form-grid{gap:8px;margin-bottom:8px}
  body.page-services #contact-form .form-submit-row{margin-top:8px}
  body.page-services #contact-form .form-notice{margin-top:6px;font-size:.74rem}
  body.page-services .cta-strip{padding:30px 0}
  body.page-services .cta-strip__title{margin-bottom:10px}
  body.page-services .cta-strip__sub{
    margin-bottom:10px;
    max-width:320px;
  }
  body.page-services .contact-cta__buildings{
    width:min(124px,38vw);
    opacity:.08;
  }
}

/* Keep service descriptions available to keyboard and touch users. */
.pillar-card:focus-within::after{background:linear-gradient(180deg,rgba(15,31,28,.55),rgba(15,31,28,.72))}
.pillar-card:focus-within h3.pillar-card__title{opacity:0;max-height:0;margin-bottom:0}
.pillar-card:focus-within h4.pillar-card__title{opacity:1;max-height:90px;margin-bottom:12px}
.pillar-card:focus-within .pillar-card__text{opacity:1;max-height:320px;margin-bottom:24px}
@media (max-width: 960px), (hover: none), (pointer: coarse){
  .pillar-card::after,.pillar-card:hover::after{background:linear-gradient(180deg,rgba(15,31,28,.72),rgba(15,31,28,.82))}
  .pillar-card h3.pillar-card__title,.pillar-card:hover h3.pillar-card__title,.pillar-card:focus-within h3.pillar-card__title{order:0;margin-top:0;margin-bottom:12px;opacity:1;max-height:none}
  .pillar-card h4.pillar-card__title,.pillar-card:hover h4.pillar-card__title,.pillar-card:focus-within h4.pillar-card__title{order:1;opacity:1;max-height:none;margin-bottom:12px}
  .pillar-card .pillar-card__text,.pillar-card:hover .pillar-card__text,.pillar-card:focus-within .pillar-card__text{order:2;opacity:1;max-height:none;margin-bottom:24px}
  .pillar-card__link{order:3;margin-top:auto}
}
