:root{
  --tone-1:#F1EADC;
  --tone-2:#537E72;
  --tone-3:#90B7BF;
  --accent:#9CC97F;
  --accent-2:#122B1D;
  --text:#122B1D;
  --bg-parallax:0px;
  --panel-shift:0px;
  --bg-offset-y:-40px;
  --bg:var(--tone-1);
  --card:var(--tone-2);
  --muted:var(--tone-3);
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  font-size:clamp(.95rem, 0.9vw + .9rem, 1.25rem);
  width:100%;
  overflow-x:hidden;
}
body{
  margin:0;
  font-family:'Comfortaa', Montserrat, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  font-size:1rem;
  color:var(--text);
  background:transparent;
  min-height:100vh;
  line-height:1.6;
  position:relative;
  width:100%;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background-color:#D8D1C3;
  background-image:url('teliko1.PNG');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:none;
  transform:translateZ(0) scale(1.0);
  opacity:1;
  pointer-events:none;
}
body.blog-page{
  background:var(--tone-1);
}
body.blog-page::before{
  display:none;
}
@media (min-width: 1024px){
  body::before{
    background-size:100% 100%;
  }
}

a{color:var(--text);text-decoration:none}
a:hover{opacity:.9}
img{max-width:100%;height:auto;display:block}
.container{width:min(1100px,92%);margin-inline:auto}
.narrow{width:min(800px,92%)}
.center{text-align:center}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:-999px;background:var(--text);color:var(--bg);padding:.5rem 1rem;z-index:1000}
.skip-link:focus{left:1rem;top:1rem}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:120;
  background:rgba(243,237,225,.04);
  backdrop-filter: blur(18px);
  border-bottom:1px solid rgba(19,67,64,.08);
  transition:all .3s ease;
  display:block;
  padding:0;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}
.site-header .nav-wrap{
  width:100%;
  margin:0;
  padding:.9rem 1.4rem;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.site-header.shrink{
  padding-block:.25rem;
  background:rgba(243,237,225,.08);
  top:0;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
}
.nav-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.5rem}
nav{display:flex;align-items:center;justify-self:end}
.logo-circle{display:none}
.brand-name{font-weight:700;letter-spacing:.06em}
.nav{
  display:flex;
  gap:2.5rem;
  list-style:none;
  margin:0;
  padding:0;
  justify-self:center;
  flex-wrap:nowrap;
}
.nav a{
  padding:.35rem .5rem;
  border-radius:.5rem;
  color:var(--text);
  font-size:.8rem;
  letter-spacing:.1em;
}
.nav a:hover,.nav a:focus{background:rgba(19,67,64,.12)}
body.menu-open{overflow:hidden}
.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  position:relative;
  z-index:1102;
}
.menu-toggle__bars{
  display:grid;
  gap:.32rem;
}
.menu-toggle__bar{
  display:block;
  width:1.2rem;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
  transition:transform .24s ease, opacity .24s ease;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars{
  position:relative;
  width:1.2rem;
  height:1.2rem;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar{
  position:absolute;
  top:50%;
  left:0;
  width:100%;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:first-child{
  transform:translateY(-50%) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:last-child{
  transform:translateY(-50%) rotate(-45deg);
}
.menu-toggle:hover,.menu-toggle:focus-visible{background:transparent}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.7rem 1.1rem;
  border-radius:1rem;
  background:linear-gradient(135deg,var(--accent),var(--tone-3));
  color:#0b1c1a;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65), 0 10px 30px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
  transition:transform .22s cubic-bezier(.19,1,.22,1), background .22s ease, box-shadow .22s ease, scale .22s ease;
}
.btn:hover{
  transform:translateY(-4px) scale(1.02);
  background:linear-gradient(135deg,var(--tone-3),var(--accent-2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 18px 38px rgba(0,0,0,.18);
  color:#0b1c1a;
}
.btn.primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border-color:var(--accent);
}
.btn.primary:hover{
  background:linear-gradient(135deg,var(--accent-2),var(--tone-3));
}
.btn.outline{
  background:rgba(255,255,255,.35);
  border-color:var(--accent);
  color:#0b1c1a;
}
.btn.btn-lg{padding:.85rem 1.25rem;font-size:.95rem;letter-spacing:.08em}
#team .btn{
  background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(245,243,221,.62));
  border:1px solid rgba(255,255,255,.78);
  color:#27362f;
  border-radius:1.3rem;
  padding:1rem 1.35rem;
  box-shadow:
    0 18px 44px rgba(0,0,0,.14),
    0 0 28px rgba(255,255,255,.55),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 16px 30px rgba(255,255,255,.38),
    inset 0 -10px 20px rgba(0,0,0,.05);
  backdrop-filter:blur(16px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
#team .btn:hover,
#team .btn:focus-visible{
  transform:translateY(-6px);
  box-shadow:
    0 22px 52px rgba(0,0,0,.18),
    0 0 32px rgba(255,255,255,.62),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 16px 30px rgba(255,255,255,.48),
    inset 0 -10px 20px rgba(0,0,0,.08);
  border-color:rgba(255,255,255,.9);
  background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(245,243,221,.7));
  color:#1f2d27;
}

.hero .btn{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.hero .btn.primary{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.hero .btn:hover{
  background:rgba(255,255,255,.5);
  color:#0b1c1a;
}

.hero{
  position:relative;
  min-height:calc(400vh + 5rem);
  display:grid;
  place-items:center;
  align-content:start;
  overflow:hidden;
  background:#f3ede1;
  z-index:0;
  margin-top:-5rem;
  padding-top:calc(50vh - 80px);
  padding-bottom:4rem;
}
.hero-logo-wrap{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:100vh;
  display:grid;
  place-items:center;
  z-index:1;
  pointer-events:none;
}
.hero-logo-wrap::after{
  content:'';
  position:absolute;
  top:calc(50% + 218px);
  left:50%;
  transform:translateX(-50%);
  width:min(70vw, 820px);
  height:28px;
  background:radial-gradient(ellipse at center, rgba(19,67,64,0.15) 0%, transparent 72%);
  border-radius:50%;
  z-index:0;
  pointer-events:none;
}
.hero-logo{
  width:min(85vw, 1100px);
  height:auto;
}
.hero-logo-static{
  display:none;
  position:absolute;
  top:50%;
  left:50%;
  width:128vw;
  max-width:none;
  height:auto;
  transform:translate(-50%, -50%);
}
.hero-logo .logo-circles{
  fill:none;
  stroke:#7FD4B5;
  stroke-width:18;
  opacity:.35;
}
.hero-anim{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:1;
}
.hero-anim::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(140deg,rgba(135,157,145,.65),rgba(124,140,118,.5)),
    radial-gradient(circle at 20% 30%,rgba(220,223,214,.3),transparent 60%);
  mix-blend-mode:color;
  opacity:.85;
}
.hero-media{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.35) contrast(1.08) hue-rotate(-35deg);
  transform:translate3d(0,0,0);
  will-change:transform;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity 2.8s cubic-bezier(.77,0,.18,1);
}
.hero-video.is-active{
  opacity:1;
}
.mobile-static-hero .hero-anim{
  display:none;
}
.mobile-static-hero .hero-logo-wrap{
  opacity:.92;
}
.mobile-static-hero .hero-logo{
  display:none;
}
.mobile-static-hero .hero-logo-static{
  display:block;
  transform:translate(-50%, -50%) rotate(90deg);
}
.mobile-static-hero .hero-logo .logo-circles{
  opacity:.48;
}
.hero-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;position:relative;z-index:2}
.hero-content>*{
  opacity:0;
  transform:translateY(26px) scale(.9);
  transition:transform 1.2s cubic-bezier(.19,1,.22,1), opacity 1.2s ease;
}
.hero-content.is-visible>*{opacity:1;transform:none}
.hero-content.is-visible>*:nth-child(1){transition-delay:.08s}
.hero-content.is-visible>*:nth-child(2){transition-delay:.22s}
.hero-content.is-visible>*:nth-child(3){transition-delay:.36s}

.nav-wrap> *{
  opacity:0;
  transform:translateY(-22px);
  transition:transform 1.2s cubic-bezier(.19,1,.22,1), opacity 1.2s ease;
}
.nav-wrap.is-visible> *{opacity:1;transform:none}
.nav-wrap.is-visible> *:nth-child(1){transition-delay:.1s}
.nav-wrap.is-visible> *:nth-child(2){transition-delay:.24s}

.cookies-card{
  background:var(--tone-1);
  border:1px solid rgba(19,67,64,.18);
  padding:1rem 1.2rem;
  border-radius:1rem;
  max-width:520px;
  opacity:0;
  transform:translateY(24px);
  transition:transform 2.1s cubic-bezier(.19,1,.22,1), opacity 2.1s ease;
}
.cookies-card.is-visible{
  opacity:1;
  transform:none;
}
.cookies-actions .btn{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.cookies-actions .btn:hover{
  background:rgba(255,255,255,.5);
  color:#0b1c1a;
}

.hero-title{font-size:clamp(2.6rem,7vw,5rem);margin:.5rem 0;text-shadow:0 10px 50px rgba(0,0,0,.12)}
.hero-subtitle{font-size:clamp(1rem,2.2vw,1.25rem);font-weight:600;color:var(--text);margin:0}
.hero-page2{position:absolute;top:calc(100vh + 7rem);left:50%;transform:translateX(-50%);width:min(1260px,94vw);display:flex;flex-direction:column;gap:2rem;z-index:2}
.hero-founder{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;color:var(--text);opacity:.6;margin-top:-.4rem;letter-spacing:.1em}
.hero-tagline{font-size:clamp(1rem,1.6vw,1.25rem);font-weight:400;color:var(--text);margin-top:9rem;letter-spacing:.08em;font-style:italic;animation:taglineReveal 2.2s cubic-bezier(.25,1,.5,1) 0.3s both}
.hero-second-title{text-align:center;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:600;color:var(--text);padding:.4em 1.1em;background:rgba(19,67,64,0.06);border-radius:.6em;backdrop-filter:blur(2px);line-height:1.45}
.hero-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}
.hero-card-list{margin:.4rem 0 0 1.1rem;padding:0;font-size:clamp(.82rem,1.2vw,.93rem);line-height:1.9;color:var(--text)}
.hero-card{background:rgba(127,207,186,0.45);border-radius:1rem;padding:.75rem 1.8rem;font-size:clamp(.85rem,1.3vw,.98rem);line-height:1.6;color:var(--text);backdrop-filter:blur(4px);border:1px solid rgba(19,67,64,0.1)}
.hero-page3{position:absolute;top:calc(200vh + 7rem);left:50%;transform:translateX(-50%);width:min(1260px,94vw);display:flex;flex-direction:column;gap:2rem;z-index:2}
.hero-page3-title{font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;color:var(--text);margin:0;letter-spacing:.02em;text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:2px}
.hero-axis-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}
.hero-axis-card{background:rgba(127,207,186,0.45);border-radius:1rem;padding:1.4rem 1.6rem 1.6rem;border:1px solid rgba(19,67,64,0.1);backdrop-filter:blur(4px)}
.axis-num{display:block;font-size:clamp(2rem,3vw,2.8rem);font-weight:700;color:rgba(245,240,232,0.9);line-height:1;margin-bottom:.5rem}
.hero-axis-card h4{font-size:clamp(.85rem,1.3vw,1rem);font-weight:700;color:var(--text);margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.06em}
.hero-axis-card p{font-size:clamp(.8rem,1.15vw,.9rem);line-height:1.7;color:var(--text);margin:0;opacity:.82}
.hero-ctas{display:flex;gap:.8rem;margin-top:1rem;justify-content:center;flex-wrap:wrap}
.fullpage-section{width:100%;min-height:100vh;padding:4rem 0;display:flex;justify-content:center}

.fullpage-section>.container:not(.about){display:flex;flex-direction:column;gap:2rem}
.parallax-section{
  position:relative;
  overflow:visible;
  transform:translateY(var(--panel-shift));
}
.parallax-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:transparent;
  backdrop-filter:none;
  mix-blend-mode:normal;
  opacity:1;
  z-index:0;
}
.parallax-section> *{
  position:relative;
  z-index:1;
}
.parallax-section.tone-cream{background:transparent;}
.parallax-section.tone-navy{background:transparent;}
.tone-cream{background:var(--tone-1)}
.tone-green{background:var(--tone-2)}
.tone-teal{background:var(--tone-3)}
.tone-navy{background:#f3ede1}
.tone-cream,
.tone-green,
.tone-teal,
.tone-navy{color:var(--text)}
.tone-teal a,.tone-navy a{color:var(--text)}
.tone-navy .team-card,.tone-navy .team-bios article{color:var(--text)}

.subtitle{color:var(--text);margin:1rem 0 2rem}
.services-header{text-align:center}
#services{
  min-height:calc(400vh);
  padding:4rem 0 6rem;
  z-index:2;
  overflow:visible;
  align-items:flex-start;
  position:relative;
}
#services>.container{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding-top:2rem;
}

.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;padding:0;margin:1rem 0}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10rem}
.card{background:var(--tone-1);border:1px solid rgba(19,67,64,.18);padding:1rem;border-radius:1rem}
.card-grid .card{min-height:360px}
.card.cta-card{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  text-decoration:none;
  background:linear-gradient(140deg,rgba(135,157,145,.9),rgba(124,140,118,.85));
  color:var(--text);
  border:none;
  box-shadow:0 20px 45px rgba(19,67,64,.2);
  padding:1.4rem;
  position:relative;
  overflow:hidden;
  transition:transform .45s cubic-bezier(.19,1,.22,1), box-shadow .45s ease;
}
.card.cta-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top left,rgba(220,223,214,.4),transparent 55%);
  opacity:.5;
  pointer-events:none;
}
.card.cta-card h3{margin:0;font-size:1.15rem;letter-spacing:.05em}
.card.cta-card p{margin:0;font-size:1.05rem}
.card.cta-card .cta-chip{
  margin-top:auto;
  align-self:flex-start;
  padding:.45rem 1.1rem;
  border-radius:999px;
  background:rgba(220,223,214,.4);
  border:1px solid rgba(19,67,64,.2);
  font-size:.9rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.card.cta-card:hover{
  transform:translateY(-10px) scale(1.01);
  box-shadow:0 30px 55px rgba(19,67,64,.35);
}

.about-quarters{
  display:grid;
  grid-template-rows:minmax(60vh, auto) repeat(3, minmax(25vh, auto));
  min-height:100vh;
}
.about-quarters--content{
  display:block;
  background:transparent;
}
.blog-quarters{
  grid-template-rows:minmax(60vh, auto) minmax(55vh, auto) minmax(40vh, auto);
  min-height:100vh;
}
.about-quarter{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1.8rem, 3vw, 2.8rem) 0;
  overflow:hidden;
}
.about-quarter .container{position:relative;z-index:1}
.about-hero{
  background:url('teliko1.PNG') center/cover no-repeat;
  color:var(--tone-1);
  text-align:center;
  min-height:calc(60vh + 5rem);
  height:calc(60vh + 5rem);
  margin-top:-5rem;
  padding-top:5rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.about-hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.08));
  z-index:0;
}
.about-hero__copy{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:.4rem;
  align-items:center;
  text-align:center;
  padding:0 1rem;
  width:100%;
}
.blog-hero .about-hero__copy{
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
}
.blog-hero__lead{
  max-width:40rem;
  margin:.8rem auto 0;
  color:rgba(255,255,255,.9);
  font-size:1.02rem;
  line-height:1.8;
  text-shadow:0 10px 22px rgba(0,0,0,.28);
}
.about-hero .about-hero__copy h1,
.about-hero__copy h1{
  margin:0;
  font-size:clamp(1.6rem, 2.2vw + 1rem, 2.4rem);
  letter-spacing:.02em;
  max-width:780px;
  text-shadow:0 14px 36px rgba(0,0,0,.35);
  font-weight:700;
}
.about-hero .about-hero__copy h1,
.blog-hero .about-hero__copy h1{
  display:inline-block;
  position:relative;
  color:#122B1D;
  -webkit-text-fill-color:#122B1D;
  text-shadow:none;
}
.about-hero .about-hero__copy h1::before,
.blog-hero .about-hero__copy h1::before{
  content:"";
  position:absolute;
  inset:-0.5rem -5rem;
  background:rgba(255,255,255,.06);
  border-radius:1rem;
  backdrop-filter:blur(14px);
  box-shadow:
    0 16px 34px rgba(0,0,0,.08),
    0 0 22px rgba(255,255,255,.12);
  z-index:-1;
}
.blog-hero{
  background:url('Slim - Elegante e funzionale, per lo spazio di lavoro contemporaneo - Prof Office.jpg') center/cover no-repeat;
  color:var(--tone-1);
}
.about-quarter:not(.about-hero):not(.blog-hero){
  background:var(--tone-1);
  color:var(--text);
}
.about-intro .about-text{
  max-width:880px;
  margin:0 auto;
}
.about-content-section{
  align-items:flex-start;
  padding:calc(5rem + clamp(2.4rem, 4vw, 4rem)) 0 clamp(3rem, 5vw, 5rem);
}
.about-quarter.about-content-section.tone-cream{
  background:transparent;
}
.about-page-title{
  margin:0 0 clamp(1.2rem, 2vw, 2rem);
  font-size:clamp(1.6rem, 2.2vw + 1rem, 2.4rem);
  letter-spacing:.06em;
  color:var(--text);
  text-align:center;
  width:100%;
  display:inline-block;
  padding:.45rem 2.2rem;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:.75rem;
  box-shadow:0 2px 18px rgba(0,0,0,.06);
}
.about-content{
  width:min(1220px, 92%);
  display:flex;
  flex-direction:column;
  gap:clamp(1.2rem, 2.2vw, 1.8rem);
  text-align:center;
}
.about-content-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(1.2rem, 2.2vw, 1.8rem);
}
.about-content-card{
  background:linear-gradient(145deg, rgba(127,207,186,.72), rgba(127,207,186,.62));
  border:1px solid rgba(255,255,255,.85);
  border-radius:1rem;
  padding:clamp(1.25rem, 2vw, 1.8rem);
  box-shadow:
    0 18px 44px rgba(0,0,0,.1),
    0 0 24px rgba(255,255,255,.38),
    inset 0 1px 0 rgba(255,255,255,.92);
}
.about-content-card--lead,
.about-content-card--wide,
.about-content-card--notice{
  width:100%;
  background:transparent;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.about-content-card--lead{
  text-align:center;
}
.about-content-card--lead h2,
.about-content-card--wide h2,
.about-content-card--notice h2{
  text-decoration:underline;
  text-underline-offset:.3em;
}
.about-content-card h2{
  margin:0 0 .7rem;
  font-size:clamp(1.05rem, 1.7vw, 1.35rem);
  line-height:1.3;
  letter-spacing:.04em;
}
.about-content-card p{
  margin:0 0 .75rem;
  font-size:clamp(.92rem, 1.2vw, 1.02rem);
  line-height:1.85;
  color:rgba(18,43,29,.88);
}
.about-content-card p:last-child{
  margin-bottom:0;
}
.about-departments{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin:.8rem 0 0;
  padding-left:0;
  list-style-position:inside;
}
.about-departments li{
  line-height:1.65;
  color:rgba(18,43,29,.9);
}
.about-content-actions{
  display:flex;
  justify-content:center;
  margin-top:.2rem;
}
.blog-intro .blog-subtitle{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.blog-library{
  background:
    radial-gradient(circle at top center, rgba(156,201,127,.22), transparent 35%),
    linear-gradient(180deg, rgba(241,234,220,.98) 0%, rgba(232,240,234,.92) 100%);
}
.blog-intro{
  display:grid;
  gap:1.8rem;
  width:min(1320px, 96%);
  margin-inline:auto;
}
.blog-library-cta{
  display:flex;
  justify-content:center;
}
.blog-archive-page .blog-intro{
  padding-top:2.5rem;
}
.blog-library-head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:2.75rem;
}
.blog-library-title{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:min(100%, 32rem);
  margin-top:0;
  margin-bottom:0;
  text-align:center;
}
.blog-library-cta .btn{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.blog-library-cta .btn.primary{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.blog-library-cta .btn:hover,
.blog-library-cta .btn:focus-visible{
  background:rgba(255,255,255,.5);
  color:#0b1c1a;
}
.about-intro h2{
  margin-top:0;
  letter-spacing:.05em;
}
.about-pillars .pillars-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  width:100%;
}
.pillar-card{
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(245,243,221,.7));
  border:1px solid rgba(19,67,64,.14);
  border-radius:1.1rem;
  padding:1.4rem 1.5rem;
  box-shadow:
    0 16px 36px rgba(0,0,0,.12),
    0 0 20px rgba(255,255,255,.4),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.pillar-card h3{margin:.1rem 0 .35rem;font-size:1.2rem}
.pillar-card p{margin:0;line-height:1.6}
.about-cta{
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  align-items:center;
}
.about-cta h3{margin:.2rem 0;font-size:1.6rem}
.about-cta p{margin:0;max-width:520px}
.about-cta .hero-ctas{margin-top:.6rem}
.about-cta .btn{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.about-cta .btn.primary{
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
}
.about-cta .btn:hover{
  background:rgba(255,255,255,.5);
  color:#0b1c1a;
}

.cta-list{
  list-style:disc;
  margin:0 0 .75rem 1.4rem;
  padding:0;
  font-size:.95rem;
  color:var(--text);
}
.cta-list li{margin-bottom:.25rem}

.about{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.about-text p{margin:0 0 1rem}

.team-slider{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}
.team-card{
  scroll-snap-align:start;
  background:linear-gradient(145deg, rgba(127,207,186,.42), rgba(127,207,186,.35));
  border:1px solid rgba(255,255,255,.7);
  border-radius:1.1rem;
  padding:1rem;
  min-height:340px;
  box-shadow:
    0 18px 42px rgba(0,0,0,.16),
    0 0 24px rgba(255,255,255,.4),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 14px 24px rgba(255,255,255,.35),
    inset 0 -8px 16px rgba(0,0,0,.05);
  backdrop-filter:blur(10px);
}
.team-card img{border-radius:.8rem;margin-bottom:.5rem}

.team-bios{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.team-bios article{
  background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(245,243,221,.68));
  border:1px solid rgba(255,255,255,.7);
  padding:1rem;
  border-radius:1.1rem;
  box-shadow:
    0 18px 42px rgba(0,0,0,.16),
    0 0 24px rgba(255,255,255,.4),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 14px 24px rgba(255,255,255,.35),
    inset 0 -8px 16px rgba(0,0,0,.05);
  backdrop-filter:blur(10px);
}
.tone-navy h2{margin:.6rem 0 .2rem;text-align:center}
.tone-navy .subtitle{margin:0 0 1.4rem;text-align:center;color:rgba(18,43,29,.7)}
.team-wide-card{
  position:relative;
  width:100%;
  max-width:1100px;
  margin:1.6rem auto 0;
  left:0;
  min-height:380px;
  background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(245,243,221,.68));
  border:1px solid rgba(255,255,255,.7);
  border-radius:1.2rem;
  box-shadow:
    0 18px 40px rgba(32,43,68,.12),
    0 0 30px rgba(255,255,255,.45),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 14px 28px rgba(255,255,255,.38),
    inset 0 -10px 18px rgba(0,0,0,.05);
  display:grid;
  grid-template-columns:2.8fr 4.2fr;
  align-items:stretch;
  gap:0;
  padding:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(40px);
  filter:blur(6px);
  backdrop-filter:blur(12px);
  will-change:opacity, transform;
}
.team-wide-card__body{
  flex:1 1 0;
  max-width:720px;
  text-align:left;
  line-height:1.7;
  font-size:1.02rem;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:1rem;
  padding:2.2rem 2.4rem;
  color:inherit;
}
.team-wide-card__body .eyebrow{
  margin:0;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(18,43,29,.7);
}
.team-wide-card__body h3{
  margin:0;
  letter-spacing:.02em;
  text-transform:none;
  font-size:1.3rem;
  line-height:1.2;
}
.team-wide-card__body p{margin:0}
.team-wide-card__body .btn{align-self:flex-start}
.team-wide-card{
  --team-photo-size:100%;
}
.team-wide-card__media{
  flex:0 0 auto;
  width:100%;
  height:100%;
  background:url('hero-waterdrop.jpg') center/cover no-repeat;
  border-right:1px solid rgba(19,67,64,.15);
  box-shadow:none;
  margin:0;
  position:relative;
}
.team-mini-grid{
  margin-top:2.6rem;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1.2rem;
  width:100%;
  position:relative;
  left:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(40px);
  pointer-events:auto;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.team-mini-grid.pop-trigger{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.team-mini-grid .team-mini-card{
  opacity:0;
  filter:none;
  transform:scale(.96) translateY(14px);
}
.team-mini-card{
  display:flex;
  flex-direction:column;
  background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(245,243,221,.68));
  border:1px solid rgba(255,255,255,.7);
  border-radius:1.1rem;
  box-shadow:
    0 18px 42px rgba(27,38,56,.12),
    0 0 24px rgba(255,255,255,.4),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 14px 24px rgba(255,255,255,.35),
    inset 0 -8px 16px rgba(0,0,0,.05);
  overflow:hidden;
  min-height:0;
  position:relative;
  align-items:stretch;
  grid-column:span 2;
  backdrop-filter:blur(10px);
}
.team-mini-grid .team-mini-card:nth-of-type(4),
.team-mini-grid .team-mini-card:nth-of-type(6){grid-column:2/span 2}
.team-mini-grid .team-mini-card:nth-of-type(5),
.team-mini-grid .team-mini-card:nth-of-type(7){grid-column:4/span 2}
.team-mini-card,
.team-wide-card{
  text-decoration:none;
  color:inherit;
}
.team-mini-card--link,
.team-wide-card{
  cursor:pointer;
  transition:transform .26s cubic-bezier(.19,1,.22,1), box-shadow .26s ease, border-color .26s ease, background .26s ease;
  will-change:transform, box-shadow;
}
.team-mini-card--link:hover,
.team-mini-card--link:focus-visible,
.team-wide-card:hover,
.team-wide-card:focus-visible{
  box-shadow:
    0 20px 46px rgba(0,0,0,.16),
    0 0 38px rgba(156,201,127,.25);
  transform:translateY(-10px);
  border-color:var(--accent);
  outline:none;
}
.team-mini-card{
  --team-photo-size:clamp(200px,34vw,240px);
}
.team-mini-card__media{
  flex:0 0 auto;
  width:100%;
  height:220px;
  background:linear-gradient(135deg,#f2dfe3,#f5f5f5);
  border:none;
  border-radius:0;
  margin:0;
}
.team-mini-card:nth-of-type(2) .team-mini-card__media{background:linear-gradient(135deg,#f7e5d2,#fdf7ef)}
.team-mini-card:nth-of-type(3) .team-mini-card__media{background:linear-gradient(135deg,#dcecf4,#f7fbfd)}
.team-mini-card:nth-of-type(4) .team-mini-card__media{background:linear-gradient(135deg,#e9f3e0,#f7fbf2)}
.team-mini-card:nth-of-type(5) .team-mini-card__media{background:linear-gradient(135deg,#e8e3f7,#f7f5fd)}
.team-mini-card:nth-of-type(6) .team-mini-card__media{background:linear-gradient(135deg,#f2f5df,#fdfbf2)}
.team-mini-card:nth-of-type(7) .team-mini-card__media{background:linear-gradient(135deg,#e3f1f7,#f8fcff)}
.team-mini-card__body{
  position:relative;
  padding:1rem 1.25rem 1.4rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  text-align:center;
  justify-content:flex-start;
  background:transparent;
  color:#1f2d3b;
  border-top:1px solid rgba(255,255,255,.5);
}
.team-wide-card__badge{
  position:absolute;
  top:1rem;
  left:1rem;
  padding:.4rem .9rem;
  border-radius:.9rem;
  background:#f7fbff;
  color:#0d1f1c;
  font-weight:700;
  letter-spacing:.05em;
  font-size:.82rem;
  box-shadow:0 10px 24px rgba(0,0,0,.15);
}
.team-mini-card__badge{
  position:absolute;
  top:.75rem;
  left:.75rem;
  padding:.35rem .8rem;
  border-radius:.85rem;
  background:#f7fbff;
  color:#0d1f1c;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.05em;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
#team .board-header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-end;
  margin-top:2.4rem;
}
#team .board-header h3{margin:0;font-size:1.2rem;letter-spacing:.06em}
#team .board-header p{margin:0;max-width:520px;line-height:1.5;font-size:.95rem;opacity:.9}
.team-mini-card__body h3{margin:0;font-size:1.02rem;letter-spacing:.02em;color:#1a2333}
.team-mini-card__body h3{text-transform:none;letter-spacing:.04em}
.team-mini-card__body p{margin:0;font-size:.9rem;line-height:1.35;color:#4f5c6b}
.team-wide-card,
.team-mini-card,
.team-card,
.team-bios article,
.post,
.service-post{
  color:inherit;
}
.team-mini-card--cta{
  align-items:stretch;
}
.team-mini-card--cta .team-mini-card__body{
  flex:1;
  justify-content:flex-start;
  gap:.75rem;
}
.team-mini-card--cta .btn{
  padding:.55rem .9rem;
  font-size:.82rem;
  letter-spacing:.04em;
  border-radius:.85rem;
  margin-top:auto;
  margin-bottom:0;
}
#team .tag{
  display:inline-flex;
  align-self:flex-start;
  padding:.25rem .6rem;
  border-radius:.75rem;
  background:#eef2f7;
  border:1px solid #d7dfe8;
  letter-spacing:.06em;
  font-size:.72rem;
  color:#4f5c6b;
}
.role-badge{
  display:inline-flex;
  padding:.35rem .75rem;
  border-radius:.8rem;
  background:#eef2f7;
  border:1px solid #d7dfe8;
  font-size:.8rem;
  letter-spacing:.05em;
  color:#4f5c6b;
}
.lead-role{margin:0;font-weight:600}
.contact-meta{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  font-size:.9rem;
  opacity:.9;
}
.experience h4{margin:.4rem 0 .2rem;font-size:1rem;letter-spacing:.02em}
.experience ul{margin:.3rem 0 0;padding-left:1.2rem;opacity:.95}
.experience li{margin-bottom:.2rem;font-size:.95rem;line-height:1.5}
.social-strip{display:flex;gap:1rem;font-size:.9rem;opacity:.9;flex-wrap:wrap}
#team{
  --team-lead-duration:2.6s;
  --team-card-duration:1.2s;
  --team-timing:cubic-bezier(.19,1,.22,1);
  background:transparent;
  color:#1f2d3b;
  min-height:100vh;
  padding-top:4rem;
  padding-bottom:4rem;
  align-items:center;
}
#team>.container{
  min-height:auto;
  gap:1.2rem;
  text-align:center;
}
#team h2{
  color:#1f2d3b;
  letter-spacing:.08em;
  position:relative;
  display:inline-block;
  padding:.1rem .22rem;
  margin:0 auto;
}
#team h2::before{
  content:"";
  position:absolute;
  inset:-0.18rem -0.28rem;
  background:rgba(255,255,255,.35);
  border-radius:1rem;
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    0 0 22px rgba(255,255,255,.24);
  z-index:-1;
}
#team .subtitle{color:#4f5c6b}
.team-copy{
  width:min(1220px, 100%);
  margin:0 auto;
  text-align:center;
}
.team-copy-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(1.25rem,2.6vw,2rem);
}
.team-copy-card{
  display:flex;
  min-height:100%;
  padding:1.25rem 1.45rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:1rem;
  background:linear-gradient(145deg, rgba(127,207,186,.72), rgba(127,207,186,.62));
  box-shadow:0 16px 34px rgba(0,0,0,.08);
  text-align:left;
}
.team-copy-card p{
  margin:0;
  font-size:clamp(.9rem,1.2vw,1rem);
  line-height:1.75;
  color:rgba(31,45,59,.9);
}
.team-copy-card ul{
  margin:.55rem 0 .75rem 1.15rem;
  padding:0;
  color:rgba(31,45,59,.9);
}
.team-copy-card li{
  margin-bottom:.25rem;
  font-size:clamp(.9rem,1.2vw,1rem);
  line-height:1.55;
}
.team-copy-note{
  max-width:920px;
  margin:1.7rem auto 0;
  font-size:clamp(1.05rem,1.55vw,1.28rem);
  line-height:1.7;
  font-weight:700;
  color:rgba(31,45,59,.92);
  text-align:center;
}
.team-animate .team-wide-card{
  opacity:0;
  transform:translateY(40px);
  animation-name:teamLeadIn;
  animation-duration:var(--team-lead-duration,2.6s);
  animation-timing-function:var(--team-timing,cubic-bezier(.19,1,.22,1));
  animation-delay:.05s;
  animation-fill-mode:forwards;
}
.team-mini-grid.pop-trigger .team-mini-card{
  animation:popUpClean var(--team-card-duration,1.2s) cubic-bezier(.19,1,.22,1) forwards;
}
@keyframes teamLeadIn{
  0%{opacity:0;transform:translateY(40px);filter:blur(6px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media (max-width: 900px){
  .menu-toggle{
    position:fixed;
    top:1.7rem;
    right:4vw;
  }
  .hero-content{
    padding-top:3.25rem;
  }
  .hero-ctas{
    margin-top:2.8rem;
  }
  .team-wide-card{
    display:flex;
    flex-direction:column;
    min-height:0;
    max-width:100%;
  }
  .team-wide-card__media{
    height:220px;
    border-right:none;
    border-bottom:1px solid rgba(19,67,64,.15);
  }
  .team-wide-card__body{
    max-width:none;
    padding:1rem 1.25rem 1.4rem;
    gap:.75rem;
    text-align:center;
    align-items:center;
  }
  .team-wide-card__body .btn{
    align-self:center;
  }
  .team-wide-card__body .eyebrow{
    font-size:.78rem;
  }
  .team-wide-card__body h3{
    font-size:1.02rem;
    letter-spacing:.04em;
  }
  .team-wide-card__body p{
    font-size:.9rem;
    line-height:1.35;
    color:#4f5c6b;
  }
  .team-wide-card .bullets,
  .team-wide-card .icon-row{
    width:100%;
    text-align:left;
  }
  .team-mini-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    max-width:100%;
    padding:0;
  }
  .team-mini-grid::after{
    display:none;
  }
  .team-mini-card{
    grid-column:auto;
  }
  .team-mini-grid .team-mini-card:nth-of-type(4),
  .team-mini-grid .team-mini-card:nth-of-type(5),
  .team-mini-grid .team-mini-card:nth-of-type(6),
  .team-mini-grid .team-mini-card:nth-of-type(7){
    grid-column:auto;
  }
  .team-copy-grid{
    grid-template-columns:1fr;
  }
  .team-copy-card{
    padding:1.05rem 1.15rem;
  }
}
@media (max-width: 600px){
  html{
    background-image:none;
  }
  body::before{
    background-image:url('teliko2.PNG');
  }
  .about-hero{
    background-image:url('teliko2.PNG');
  }
  .hero-content{
    padding-top:4.25rem;
  }
  .hero-ctas{
    margin-top:3.4rem;
  }
  .hero-tagline{
    margin-top:2rem;
  }
  .hero-cards,
  .hero-axis-cards{
    grid-template-columns:1fr;
  }
  .hero-page3{
    top:calc(240vh + 7rem);
  }
  .hero{
    min-height:calc(520vh + 5rem);
  }
  .team-wide-card{
    border-radius:1.1rem;
  }
  .team-mini-grid{
    grid-template-columns:1fr;
  }
  .team-copy-note{
    margin-top:1rem;
  }
}

/* Bio modal */
.bio-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}
.bio-modal.is-open{opacity:1;visibility:visible}
.bio-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}
.bio-modal__card{
  position:relative;
  z-index:1;
  background:#fff;
  color:#0d1f1c;
  width:min(900px,90vw);
  max-height:85vh;
  border-radius:1rem;
  box-shadow:0 24px 64px rgba(0,0,0,.25);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.bio-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.25rem;
  border-bottom:1px solid rgba(19,67,64,.15);
}
.bio-modal__body{
  padding:1.25rem;
  overflow:auto;
  line-height:1.6;
  min-height:280px;
}
.bio-modal__close{
  background:none;
  border:1px solid rgba(13,31,28,.2);
  border-radius:.5rem;
  width:2.2rem;
  height:2.2rem;
  font-size:1.4rem;
  cursor:pointer;
}

.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.blog-quarters .posts-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1.35rem;
  align-items:stretch;
}
.blog-quarters .posts-grid > *{
  grid-column:span 4;
}
.post{
  background:linear-gradient(145deg, rgba(127,207,186,.42), rgba(127,207,186,.35));
  border:1px solid rgba(19,67,64,.14);
  padding:1.6rem 1.7rem;
  border-radius:1.1rem;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  box-shadow:
    0 16px 36px rgba(0,0,0,.12),
    0 0 20px rgba(255,255,255,.4),
    inset 0 1px 0 rgba(255,255,255,.95);
  min-height:320px;
}
.post.post-card{
  position:relative;
  min-height:0;
  padding:1.25rem 1.25rem 1.35rem;
  text-align:left;
  color:var(--text);
  cursor:pointer;
  overflow:hidden;
  transition:transform .18s cubic-bezier(.19,1,.22,1), box-shadow .18s ease, border-color .18s ease;
}
.post-card__date{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  align-self:flex-start;
  min-width:auto;
  margin-top:.15rem;
  padding:.45rem .5rem;
  border-radius:.9rem;
  background:rgba(18,43,29,.92);
  color:#fff;
  text-align:center;
  box-shadow:0 12px 28px rgba(18,43,29,.18);
}
.post-card__date strong{
  display:block;
  font-size:.95rem;
  line-height:1;
}
.post-card__date span{
  display:block;
  margin-top:0;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.post.post-card:hover,
.post.post-card:focus-visible{
  transform:translateY(-8px);
  box-shadow:
    0 22px 48px rgba(0,0,0,.16),
    0 0 24px rgba(156,201,127,.35);
  border-color:rgba(77,146,108,.25);
  outline:none;
}
.post.post-card h3{
  display:block;
  max-width:100%;
  width:100%;
  padding-right:0;
  margin-right:0;
  font-size:1.18rem;
  line-height:1.14;
  letter-spacing:.01em;
  word-break:normal;
  overflow-wrap:anywhere;
  text-wrap:auto;
}
.post.post-card .post-lead{
  font-size:.95rem;
  line-height:1.65;
  color:rgba(18,43,29,.82);
}
.post.post-card .post-meta{
  gap:.45rem;
  padding-right:0;
}
.post.post-card .post-tag{font-size:.75rem}
.post-cta{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:auto;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:.8rem;
}
.post-cta::after{
  content:"→";
  font-size:.95rem;
}
.post h3{margin:0;font-size:1.2rem;letter-spacing:.02em}
.post-lead{margin:0;line-height:1.7;font-size:1.02rem}
.post time{color:var(--muted);font-size:.95rem}
.post-meta{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  flex-wrap:wrap;
}
.post-tags{
  display:flex;
  gap:.4rem;
  flex-wrap:wrap;
}
.post-tag{
  display:inline-flex;
  padding:.25rem .7rem;
  border-radius:.9rem;
  background:rgba(220,223,214,.7);
  border:1px solid rgba(19,67,64,.14);
  font-size:.8rem;
  letter-spacing:.04em;
}
.nav a[aria-current="page"]{
  background:rgba(19,67,64,.12);
}
.article-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  z-index:140;
  background:rgba(0,0,0,.45);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}
.article-modal.is-open{opacity:1;visibility:visible}
.article-modal__backdrop{
  position:absolute;
  inset:0;
}
.article-modal__card{
  background:#fff;
  color:#0d1f1c;
  width:100vw;
  height:100vh;
  max-height:100vh;
  border-radius:0;
  box-shadow:0 24px 64px rgba(0,0,0,.25);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(13,31,28,.12);
}
.article-modal__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.1rem 1.3rem;
  border-bottom:1px solid rgba(19,67,64,.15);
}
.article-modal__header h3{margin:.2rem 0 0;font-size:1.25rem;letter-spacing:.02em}
.article-modal__meta{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  align-items:center;
  margin-top:.3rem;
}
.article-modal__meta time{color:var(--muted);font-size:.95rem}
.article-modal__body{
  padding:1.5rem 1.6rem 1.8rem;
  overflow:auto;
  line-height:1.8;
  font-size:1.02rem;
}
.article-modal__body ul{margin:.5rem 0 0 1.1rem}
.article-modal__body li{margin-bottom:.35rem}
.article-modal__close{
  background:#fff;
  border:1px solid rgba(13,31,28,.2);
  border-radius:.6rem;
  width:2.2rem;
  height:2.2rem;
  font-size:1.4rem;
  cursor:pointer;
  line-height:1;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
body.no-scroll{
  position:fixed;
  inset:0;
  width:100%;
  overflow:hidden;
}
.article-page::before{
  display:none;
}
.article-shell{
  position:relative;
  padding:0 0 5rem;
  background:
    radial-gradient(circle at top left, rgba(156,201,127,.18), transparent 35%),
    radial-gradient(circle at right 15%, rgba(144,183,191,.2), transparent 30%),
    linear-gradient(180deg, #f5efe4 0%, #efe7d7 100%);
  min-height:100vh;
}
.article-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(18,43,29,.04) calc(100% - 1px)),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(18,43,29,.03) calc(100% - 1px));
  background-size:100% 2rem, 2rem 100%;
  opacity:.25;
  pointer-events:none;
}
.article-hero{
  padding:4.5rem 0 2rem;
}
.article-hero__inner{
  width:min(1320px, 97%);
  margin-inline:auto;
}
.article-back{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  width:auto;
  max-width:max-content;
  flex:0 0 auto;
  gap:.45rem;
  margin-bottom:1.2rem;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(19,67,64,.1);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:
    0 10px 24px rgba(18,43,29,.08),
    inset 0 1px 0 rgba(255,255,255,.78);
  transition:transform .24s cubic-bezier(.19,1,.22,1), box-shadow .24s ease, background .24s ease, border-color .24s ease;
}
.article-back::before{
  content:"←";
}
.article-back:hover,
.article-back:focus-visible{
  transform:translateY(-4px) scale(1.04);
  background:rgba(255,255,255,.82);
  border-color:rgba(19,67,64,.18);
  box-shadow:
    0 18px 34px rgba(18,43,29,.14),
    inset 0 1px 0 rgba(255,255,255,.92);
  outline:none;
}
.article-meta{
  margin-bottom:1rem;
}
.article-hero h1{
  display:block;
  margin:0;
  width:100%;
  max-width:100%;
  font-size:clamp(1.75rem, 3.6vw, 3rem);
  line-height:1.02;
  letter-spacing:.02em;
  word-break:normal;
  overflow-wrap:anywhere;
  text-wrap:auto;
}
.article-lead{
  max-width:42rem;
  margin:1rem 0 0;
  font-size:1.08rem;
  line-height:1.8;
  color:rgba(18,43,29,.82);
}
.article-section{
  padding-top:1rem;
}
.article-layout{
  width:min(1320px, 97%);
  margin-inline:auto;
}
.article-content{
  position:relative;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(19,67,64,.12);
  border-radius:1.4rem;
  padding:2rem 2.4rem 2.2rem;
  box-shadow:0 18px 50px rgba(0,0,0,.08);
  backdrop-filter:blur(10px);
}
.article-content::before{
  content:"";
  position:absolute;
  top:1.1rem;
  left:1.1rem;
  width:3rem;
  height:3rem;
  border-top:2px solid rgba(83,126,114,.22);
  border-left:2px solid rgba(83,126,114,.22);
  border-top-left-radius:.75rem;
}
.article-content p{
  margin:0 0 1.15rem;
  line-height:1.9;
}
.article-content p:first-of-type::first-letter{
  float:left;
  margin:.16rem .45rem 0 0;
  font-size:3rem;
  line-height:.8;
  font-weight:700;
  color:#537e72;
}
.article-content ul{
  margin:.3rem 0 1.3rem 1.2rem;
  padding:0;
}
.article-content li{
  margin-bottom:.45rem;
  line-height:1.7;
}
.post details{
  margin-top:.4rem;
  border-top:1px solid rgba(19,67,64,.12);
  padding-top:.6rem;
}
.post summary{
  cursor:pointer;
  font-weight:700;
  letter-spacing:.04em;
}
.post summary::-webkit-details-marker{display:none}
.post-body{
  margin-top:.4rem;
  display:grid;
  gap:.5rem;
}
.post-body p{margin:0;line-height:1.6}
.post-body ul{margin:.1rem 0 0 1.2rem;padding:0}
.post-body li{margin-bottom:.25rem;line-height:1.5}
.services-layout{
  width:100%;
  max-width:100vw;
  padding-inline:clamp(1rem,4vw,5rem);
  box-sizing:border-box;
  margin-inline:0;
  display:flex;
  flex-direction:column;
  gap:2.5rem;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:clamp(1.8rem,4vw,3.8rem);
  justify-content:center;
  align-items:stretch;
  width:100%;
  max-width:100%;
  margin:2.5rem 0 0;
}
@media (min-width: 900px){
  .services-grid{
    grid-template-columns:repeat(2,minmax(320px,1fr));
  }
}
.services-grid .service-post:nth-child(n+3){
  transform:translateY(0);
}
.services-grid .service-post:last-child:nth-child(odd){
  grid-column:1 / -1;
  max-width:calc((100% - clamp(1.8rem,4vw,3.8rem)) / 2);
  margin-inline:auto;
}
.services-header{text-align:center;margin:0 auto}
.services-header h2{
  position:relative;
  display:inline-block;
  padding:.2rem 1rem;
  margin:0 auto .6rem;
}
.services-header h2::before{
  content:"";
  position:absolute;
  inset:-0.45rem -1.4rem;
  background:rgba(255,255,255,.2);
  border-radius:1rem;
  backdrop-filter:blur(14px);
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    0 0 22px rgba(255,255,255,.24);
  z-index:-1;
}
.service-post{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  justify-content:flex-start;
  height:100%;
  min-height:auto;
  aspect-ratio:auto;
  overflow:visible;
  background:linear-gradient(145deg, rgba(127,207,186,.42), rgba(127,207,186,.35));
  border:1px solid rgba(255,255,255,.85);
  border-radius:1.6rem;
  padding:1.5rem 1.4rem 1.1rem;
  box-sizing:border-box;
  position:relative;
  z-index:var(--layer, 1);
  box-shadow:
    0 18px 44px rgba(0,0,0,.18),
    0 0 24px rgba(255,255,255,.45),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 14px 28px rgba(255,255,255,.42),
    inset 0 -8px 18px rgba(0,0,0,.06);
  backdrop-filter:blur(12px);
}
.service-post--with-icon{
  overflow:visible;
}
.service-icon-link{
  position:absolute;
  top:-30px;
  left:50%;
  transform:translateX(-50%);
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.9rem;
  background:#F1EADC;
  border:1px solid rgba(19,67,64,.2);
  box-shadow:0 14px 28px rgba(19,67,64,.18);
  overflow:hidden;
  z-index:3;
}
.service-icon{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:none;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:none;
  background:transparent;
}
.service-icon-fallback{
  font-size:.75rem;
  letter-spacing:.08em;
  color:var(--text);
}
.service-post.is-expanded{
  aspect-ratio:auto;
  min-height:auto;
  overflow:visible;
  z-index:calc(var(--layer, 1) + 10);
}
.service-copy{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  flex:1;
  min-height:80px;
}
.service-copy h3{margin:0}
.service-copy p{margin:0}
.service-copy p{
  display:block;
  margin-bottom:.05rem;
}
.service-post.reveal{
  opacity:0;
  transform:none;
  transition:none;
}
.services-grid .service-post.reveal.visible:nth-child(odd):not(:last-child){
  animation:slideInLeft 2.4s cubic-bezier(.16,1,.3,1) calc(var(--reveal-delay,0ms) + 0.4s) both;
}
.services-grid .service-post.reveal.visible:nth-child(even){
  animation:slideInRight 2.4s cubic-bezier(.16,1,.3,1) calc(var(--reveal-delay,0ms) + 0.4s) both;
}
.services-grid .service-post.reveal.visible:last-child:nth-child(odd){
  animation:popForward 2.4s cubic-bezier(.16,1,.3,1) calc(var(--reveal-delay,0ms) + 0.4s) both;
}
.services-grid .service-post.reveal.visible .service-icon-link{
  animation:iconLand 0.8s cubic-bezier(.34,1.56,.64,1) calc(var(--reveal-delay,0ms) + 1.6s) both;
}
.service-post.slide-left{
  opacity:0;
  transform:translateX(-120%);
}
.service-post.slide-right{
  opacity:0;
  transform:translateX(120%);
}
.service-post.slide-left.visible{
  opacity:0;
  transform:translateX(-120%);
  animation:slideInLeft 1.4s cubic-bezier(.19,1,.22,1) forwards;
  animation-delay:var(--slide-delay, 0s);
}
.service-post.slide-right.visible{
  opacity:0;
  transform:translateX(120%);
  animation:slideInRight 1.4s cubic-bezier(.19,1,.22,1) forwards;
  animation-delay:var(--slide-delay, 0s);
}
.service-icon-link.icon-slide-down{
  opacity:0;
  transform:translate(-50%,-140%);
  animation:iconSlideDown .6s ease-out forwards;
  animation-delay:1.8s;
}
.service-icon-link.icon-slide-up{
  opacity:0;
  transform:translate(-50%,140%);
  animation:iconSlideUp .6s ease-out forwards;
  animation-delay:1.8s;
}

@keyframes slideInLeft{
  0%{opacity:0;transform:translateX(-120%);filter:blur(6px)}
  100%{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes slideInRight{
  0%{opacity:0;transform:translateX(120%);filter:blur(6px)}
  100%{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes popUp{
  0%{opacity:0;transform:scale(.9) translateY(22px);filter:blur(6px)}
  60%{opacity:1;transform:scale(1.04) translateY(-6px);filter:blur(2px)}
  100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}
}
@keyframes popUpClean{
  0%{opacity:0;transform:scale(.92) translateY(26px)}
  60%{opacity:1;transform:scale(1.03) translateY(-4px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}
@keyframes iconSlideDown{
  0%{opacity:0;transform:translate(-50%,-160%)}
  100%{opacity:1;transform:translate(-50%,0)}
}
@keyframes iconSlideUp{
  0%{opacity:0;transform:translate(-50%,160%)}
  100%{opacity:1;transform:translate(-50%,0)}
}
.service-details{
  margin-top:auto;
  margin-left:0;
  border:none;
  background:transparent;
  padding:0;
  max-width:100%;
  display:block;
  position:relative;
  z-index:2;
  overflow:visible;
}
.service-details summary{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:.35rem;
  font-weight:600;
  color:var(--text);
  font-size:1.05rem;
  min-height:1.4rem;
  letter-spacing:.03em;
  white-space:nowrap;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  border-bottom:1px solid rgba(19,67,64,.35);
  align-self:flex-start;
}
.service-details summary::marker{content:""}
.service-details summary::after{
  content:"";
  width:.45rem;
  height:.45rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  margin-left:auto;
  transition:transform .2s ease;
}
.service-details[open] summary::after{transform:rotate(-135deg)}
.service-panel{
  position:absolute;
  left:-1.4rem;
  right:auto;
  top:calc(100% + .65rem);
  width:calc(200% + clamp(1.8rem,4vw,3.8rem) + 5.6rem);
  max-width:none;
  margin-top:0;
  padding:1rem 1.1rem;
  background:rgb(220,223,214);
  border:1px solid rgba(19,67,64,.25);
  border-radius:.75rem;
  box-shadow:0 25px 55px rgba(19,67,64,.25);
  opacity:0;
  transform:translate3d(0,12px,0) scale(.98);
  transition:
    opacity .6s ease,
    transform .7s cubic-bezier(.16,1,.3,1),
    box-shadow .65s ease,
    background .65s ease,
    max-height .65s ease;
  pointer-events:none;
  max-height:0;
  overflow:hidden;
  z-index:30;
  will-change:opacity, transform;
}
.service-post.is-expanded .service-panel{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  pointer-events:auto;
  max-height:70vh;
  box-shadow:0 30px 70px rgba(19,67,64,.24);
}
.services-grid .service-post:nth-child(even) .service-panel{
  left:auto;
  right:-1.4rem;
}
.services-grid .service-post:last-child:nth-child(odd) .service-panel{
  left:50%;
  right:auto;
  transform:translate3d(-50%,12px,0) scale(.98);
}
.services-grid .service-post:last-child:nth-child(odd).is-expanded .service-panel{
  transform:translate3d(-50%,0,0) scale(1);
}
.service-panel::before{
  content:"";
  position:absolute;
  top:-10px;
  left:28px;
  width:18px;
  height:18px;
  background:inherit;
  border-left:1px solid rgba(19,67,64,.2);
  border-top:1px solid rgba(19,67,64,.2);
  transform:rotate(45deg);
  z-index:0;
}
.service-details .cta-list{
  list-style:disc;
  margin:0;
  padding-left:1.2rem;
  color:var(--text);
}
.service-post .cta-list{margin-bottom:0}
.service-post .cta-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.45rem 1.1rem;
  border-radius:999px;
  border:1px solid rgba(19,67,64,.25);
  background:rgba(220,223,214,.45);
  font-size:.9rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--text);
}

#contact>.container{
  text-align:center;
  width:min(1400px,92%);
}
#contact>.container h2{
  position:relative;
  display:inline-block;
  padding:.1rem .22rem;
  margin:0 auto 1rem;
}
#contact>.container h2::before{
  content:"";
  position:absolute;
  inset:-0.18rem -0.28rem;
  background:rgba(255,255,255,.35);
  border-radius:1rem;
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    0 0 22px rgba(255,255,255,.24);
  z-index:-1;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:2rem;
  align-items:stretch;
  margin-top:3rem;
}
.contact-grid > div{width:100%;margin-inline:auto}
.contact-panel{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
  padding:2rem;
  border:1px solid rgba(255,255,255,.72);
  border-radius:1.5rem;
  background:linear-gradient(145deg, rgba(127,207,186,.42), rgba(127,207,186,.35));
  backdrop-filter:blur(12px);
  box-shadow:
    0 18px 40px rgba(32,43,68,.10),
    0 0 26px rgba(255,255,255,.32),
    inset 0 1px 0 rgba(255,255,255,.92);
  text-align:left;
}
.contact-intro{
  margin:0 0 1.5rem;
  color:rgba(31,45,59,.78);
  font-size:1rem;
  line-height:1.7;
  text-align:center;
}
.contact-intro-emphasis{
  font-weight:900;
  color:rgba(18,43,29,.98);
  -webkit-text-stroke:.25px currentColor;
  text-shadow:.25px 0 0 currentColor, 0 .25px 0 currentColor;
}
.contact-cta-wrap{
  display:flex;
  justify-content:flex-start;
  margin:1.4rem 0 0;
}
.contact-cta{
  min-width:min(100%, 100%);
  padding:1.2rem 2.4rem;
  background:rgba(255,255,255,.35);
  color:#0b1c1a;
  border-color:var(--accent);
  font-size:1.18rem;
  letter-spacing:.12em;
}
.contact-cta:hover{
  background:rgba(255,255,255,.5);
  color:#0b1c1a;
}
.contact-list{list-style:none;padding:0;margin:0 0 1.2rem;text-align:center}
.contact-grid h3{
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.03em;
  text-align:center;
}
.contact-grid .contact-list{
  font-size:1.08rem;
  font-weight:700;
  line-height:1.8;
}
.contact-grid .contact-list a{
  font-weight:700;
}
.map-wrap{
  border:1px solid rgba(19,67,64,.18);
  border-radius:1.5rem;
  overflow:hidden;
  width:100%;
  min-height:100%;
  margin-inline:auto;
  box-shadow:0 18px 40px rgba(32,43,68,.12);
}
.map-wrap iframe{display:block;min-height:100%;aspect-ratio:4 / 3}

.site-footer{
  margin-top:3rem;
  padding:2.8rem 0 1.4rem;
  border-top:1px solid rgba(19,67,64,.2);
  background:#f3ede1;
  color:var(--text);
}
.site-footer a{color:var(--text)}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.6rem;
  align-items:flex-start;
}
.footer-column{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.footer-column h3{
  margin:0;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-column--brand{
  text-align:left;
  align-items:flex-start;
}
.footer-column--brand p{
  margin:0;
  max-width:18rem;
  font-size:.76rem;
  line-height:1.8;
}
.footer-column--brand p+p{
  margin-top:-.7rem;
}
.footer-column--nav,
.footer-column--contact{
  align-items:center;
  text-align:center;
}
.footer-column--nav{
  align-items:flex-start;
  text-align:left;
}
.footer-column--nav h3{
  width:100%;
}
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.footer-column--nav .footer-links{
  align-items:flex-start;
  width:100%;
}
.footer-links li{
  font-size:.74rem;
  line-height:1.65;
}
.footer-links a{
  display:inline-block;
  transition:opacity .2s ease, transform .2s ease;
}
.footer-links a:hover,
.footer-links a:focus-visible{
  opacity:.78;
  transform:translateY(-1px);
}
.footer-links--contact li{
  line-height:1.7;
}
.footer-legal{
  margin-top:1.8rem;
  padding-top:1rem;
  border-top:1px solid rgba(19,67,64,.12);
  opacity:.7;
  text-align:center;
}
.footer-legal small{
  font-size:.68rem;
}

@media (min-width: 901px){
  .footer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .footer-column--nav{
    justify-self:center;
    align-items:flex-start;
    text-align:left;
  }
  .footer-column--nav h3,
  .footer-column--nav .footer-links{
    width:auto;
  }
  .footer-column--contact{
    justify-self:end;
    align-items:flex-end;
    text-align:right;
  }
}

.social-rail{position:fixed;left:1rem;top:50%;transform:translateY(-50%);opacity:.85;z-index:60;pointer-events:auto}
.social-rail ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.social-rail li{display:flex}
.social-rail a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  line-height:0;
  border-radius:50%;
  color:var(--text);
  background:var(--tone-1);
  opacity:0;
  transform:translateX(-28px) scale(.82);
  transition:transform .22s cubic-bezier(.16,1,.3,1), opacity .22s ease;
  background-clip:padding-box;
}
.social-rail.is-visible a{opacity:1;transform:none}
.social-rail.is-visible li:nth-child(1) a{transition-delay:.03s}
.social-rail.is-visible li:nth-child(2) a{transition-delay:.07s}
.social-rail.is-visible li:nth-child(3) a{transition-delay:.11s}
.social-rail a:hover{transform:translateX(7px) scale(1.1)}
.social-rail svg{width:18px;height:18px;fill:currentColor;display:block}

.cookies{position:fixed;inset:auto 1rem 1rem 1rem;display:grid;place-items:center;z-index:200}
.cookies-actions{display:flex;gap:.5rem;justify-content:flex-end}
.cookies-feedback{margin:.5rem 0 0;color:var(--muted);font-size:1rem}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@keyframes heroGlow{
  0%{transform:translate3d(-6%, -4%, 0) scale(.95);opacity:.55}
  100%{transform:translate3d(6%, 6%, 0) scale(1.05);opacity:.8}
}

@media (max-width: 900px){
  .nav-wrap > nav{
    opacity:1;
    transform:none;
    transition:none;
  }
  .article-hero{
    padding:3rem 0 1.25rem;
  }
  .article-back{
    margin-top:1rem;
  }
  .blog-library-head{
    display:grid;
    grid-template-columns:1fr;
    justify-items:start;
    min-height:unset;
  }
  .blog-library-title{
    position:static;
    left:auto;
    transform:none;
    width:auto;
    max-width:100%;
  }
  .article-content{
    padding:1.25rem;
    border-radius:1rem;
  }
  .article-hero h1{
    max-width:100%;
  }
  .nav{
    position:fixed;
    top:4.5rem;
    right:0;
    z-index:1100;
    width:auto;
    min-width:220px;
    max-width:72vw;
    height:auto;
    padding:1.75rem 1.75rem 1.75rem;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:.8rem;
    background:rgba(243,237,225,.98);
    border-radius:1.2rem 0 0 1.2rem;
    box-shadow:-8px 4px 32px rgba(19,67,64,.16);
    transform:translateX(110%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .55s cubic-bezier(.4,0,.2,1), opacity .55s cubic-bezier(.4,0,.2,1), visibility .55s cubic-bezier(.4,0,.2,1);
  }
  .nav.is-open{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav a{
    display:block;
    width:100%;
    padding:.7rem 0;
    border-radius:0;
    font-size:.92rem;
    letter-spacing:.12em;
  }
  .nav a[aria-current="page"]{
    border-radius:1rem;
    padding-inline:.9rem;
  }
  .menu-toggle{display:inline-flex}
  .usp-grid,.card-grid{grid-template-columns:1fr 1fr}
  .about-quarters{grid-template-rows:repeat(4, minmax(28vh, auto))}
  .about-quarter{padding:1.6rem 0}
  .about{grid-template-columns:1fr}
  .about-content-grid,
  .about-departments{
    grid-template-columns:1fr;
  }
  .about-content-section{
    padding-top:calc(5rem + 1.5rem);
  }
  .about-pillars .pillars-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .posts-grid{grid-template-columns:1fr 1fr}
  .blog-quarters .posts-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .blog-quarters .posts-grid > *{
    grid-column:auto;
  }
  .services-grid{grid-template-columns:minmax(260px,1fr)}
  .services-grid .service-post:last-child:nth-child(odd){max-width:100%;grid-column:auto}
  .service-panel{
    width:100%;
    left:0;
    right:auto;
    font-size:.85rem;
  }
  .services-grid .service-post:nth-child(even) .service-panel{
    left:0;
    right:auto;
  }
  .services-grid .service-post:last-child:nth-child(odd) .service-panel{
    left:0;
    transform:translate3d(0,12px,0) scale(.98);
  }
  .services-grid .service-post:last-child:nth-child(odd).is-expanded .service-panel{
    transform:translate3d(0,0,0) scale(1);
  }
  .service-post{min-height:260px}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-column--nav{
    justify-self:center;
    align-items:center;
    text-align:center;
  }
  .footer-column--nav h3{
    width:auto;
  }
  .footer-column--nav .footer-links{
    align-items:flex-start;
    text-align:left;
    width:auto;
    transform:translateX(1.1rem);
  }
  .footer-column--contact{
    justify-self:center;
    align-items:center;
    text-align:center;
  }
  .team-bios{grid-template-columns:1fr}
  .services-list{columns:1}
}

@media (max-width: 600px){
  .menu-toggle{
    top:1.45rem;
    right:5vw;
    transition:top .55s cubic-bezier(.4,0,.2,1), right .55s cubic-bezier(.4,0,.2,1);
  }
  .menu-open .menu-toggle{
    top:calc(4.5rem + 1rem);
    right:1.2rem;
  }
  .contact-panel{
    padding:1.4rem;
  }
  .contact-cta-wrap{
    justify-content:center;
  }
  .contact-cta{
    min-width:100%;
    padding:1rem 1.4rem;
    font-size:1rem;
  }
  .footer-column{
    align-items:center;
    text-align:center;
  }
  .footer-column--nav{
    justify-self:center;
    align-items:center;
    text-align:center;
  }
  .footer-column--nav h3{
    width:auto;
  }
  .footer-column--nav .footer-links{
    align-items:flex-start;
    text-align:left;
    width:auto;
    transform:translateX(1.1rem);
  }
  .footer-column--brand p{
    max-width:none;
  }
  .nav{
    width:50vw;
    max-width:50vw;
    min-width:unset;
    padding:5.75rem 1.3rem 2rem;
  }
  .about-hero:not(.blog-hero) .about-hero__copy h1::before{
    inset:-0.45rem -1.1rem;
  }
  .about-quarters{grid-template-rows:repeat(4, minmax(32vh, auto))}
  .about-hero__copy h1{font-size:clamp(1.7rem, 4vw + 1rem, 2.3rem)}
  .post.post-card{
    padding:1rem 1rem 1.15rem;
  }
  .post.post-card h3,
  .post.post-card .post-meta{
    padding-right:0;
  }
  .post-card__date{
    min-width:auto;
  }
  .about-pillars .pillars-grid{grid-template-columns:1fr}
  .blog-quarters .posts-grid{grid-template-columns:1fr}
  .service-post{min-height:240px}
}

.hero-cards .hero-card.reveal,
.hero-axis-cards .hero-axis-card.reveal,
.team-copy-grid .team-copy-card.reveal{opacity:0;transform:none;transition:none}
.team-copy-note .note-line{display:block;opacity:0;clip-path:inset(0 100% 0 0)}
.team-copy-note.reveal.visible .note-line:nth-child(1){animation:taglineReveal 0.9s cubic-bezier(.25,1,.5,1) 1.4s both}
.team-copy-note.reveal.visible .note-line:nth-child(2){animation:taglineReveal 0.9s cubic-bezier(.25,1,.5,1) 2.4s both}
.team-copy-grid .team-copy-card.reveal.visible:nth-child(1){animation:slideInLeft 1.3s cubic-bezier(.16,1,.3,1) both}
.team-copy-grid .team-copy-card.reveal.visible:nth-child(2){animation:popForward 1.3s cubic-bezier(.16,1,.3,1) .1s both}
.team-copy-grid .team-copy-card.reveal.visible:nth-child(3){animation:slideInRight 1.3s cubic-bezier(.16,1,.3,1) both}
.btn.about-cta-btn{
  background:rgba(255,255,255,.35);
  border:1px solid rgba(0,0,0,.08);
  color:#122B1D;
}
.btn.about-cta-btn:hover{
  background:#f0f0f0;
  color:#122B1D;
}
.about-page-title.reveal{opacity:0;transform:none;transition:none}
.about-page-title.reveal.visible{animation:popForward 1.1s cubic-bezier(.16,1,.3,1) both}
.about-content-actions.reveal{opacity:0;transform:translateY(60px);transition:none}
.about-content-actions.reveal.visible{animation:cardRise 1.1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both}
.about-content-card.reveal{opacity:0;transform:none;transition:none}
.about-content-card--lead.reveal.visible,
.about-content-card--wide.reveal.visible,
.about-content-card--notice.reveal.visible{animation:popForward 1.1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both}
.about-content-grid .about-content-card.reveal.visible:nth-child(odd){animation:slideInLeft 1.1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both}
.about-content-grid .about-content-card.reveal.visible:nth-child(even){animation:slideInRight 1.1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both}
.hero-axis-cards .hero-axis-card.reveal.visible:nth-child(3n+1){animation:slideInLeft 1.3s cubic-bezier(.16,1,.3,1) both}
.hero-axis-cards .hero-axis-card.reveal.visible:nth-child(3n+2){animation:popForward 1.3s cubic-bezier(.16,1,.3,1) .1s both}
.hero-axis-cards .hero-axis-card.reveal.visible:nth-child(3n){animation:slideInRight 1.3s cubic-bezier(.16,1,.3,1) both}
.hero-cards .hero-card.reveal.visible:nth-child(1){animation:slideInLeft 1.3s cubic-bezier(.16,1,.3,1) both}
.hero-cards .hero-card.reveal.visible:nth-child(2){animation:popForward 1.3s cubic-bezier(.16,1,.3,1) .1s both}
.hero-cards .hero-card.reveal.visible:nth-child(3){animation:slideInRight 1.3s cubic-bezier(.16,1,.3,1) both}
.hero-second-title.reveal{opacity:0;transform:scale(.7);transition:none}
.hero-second-title.reveal.visible{animation:popForward .8s cubic-bezier(.16,1,.3,1) both}
@keyframes popForward{
  from{opacity:0;transform:scale(.7)}
  to{opacity:1;transform:scale(1)}
}
@keyframes cardRise{
  0%{opacity:0;transform:translateY(80px) scale(.97);filter:blur(4px)}
  55%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes curtainRise{
  from{clip-path:inset(0 0 0% 0 round .75rem)}
  to{clip-path:inset(0 0 100% 0 round .75rem)}
}
.service-post.is-closing .service-panel{
  animation:curtainRise .62s cubic-bezier(.45,0,.55,1) forwards !important;
  transition:none !important;
}
@keyframes iconLand{
  0%  {opacity:0;transform:translate(-50%,-500%)}
  60% {opacity:1;transform:translate(-50%,12%)}
  80% {transform:translate(-50%,-4%)}
  100%{transform:translate(-50%,0)}
}
@keyframes iconLandFade{
  0%  {opacity:0;transform:translate(-50%,-500%)}
  35% {opacity:1;transform:translate(-50%,12%)}
  47% {transform:translate(-50%,-4%)}
  55% {opacity:1;transform:translate(-50%,0)}
  100%{opacity:0;transform:translate(-50%,0)}
}
@keyframes taglineReveal{
  from{clip-path:inset(0 100% 0 0);opacity:0}
  to{clip-path:inset(0 0% 0 0);opacity:1}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
