/* ===== SANTAK app.css — cleaned cascade ===== */
/* Final visual rules folded into one clean cascade. */
:root{
  color-scheme:light;
  --green:#0b7178;
  --green-mid:#0e7e85;
  --green-light:#14939a;
  --green-pale:#e7f4f5;
  --green-dark:#06444b;
  --green-footer:#031d20;
  --gold:#14939a;
  --gold-light:#46acb0;
  --white:#ffffff;
  --off:#f5f8f8;
  --g50:#eef5f5;
  --g100:#d9e8e9;
  --g300:#a8bec0;
  --g500:#607678;
  --g700:#2c474b;
  --dark:#061c20;
  --off-white:var(--off);
  --gray-50:var(--g50);
  --gray-100:var(--g100);
  --gray-300:var(--g300);
  --gray-500:var(--g500);
  --gray-700:var(--g700);
  --font:"Manrope","Aptos","Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif;
  --display:"Manrope","Aptos","Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif;
  --font-sans:var(--font);
  --font-display:var(--display);
}

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

html{
  scroll-behavior:smooth;
}

body{
  font-family:var(--font-sans);
  background:var(--white);
  color:var(--dark);
  overflow-x:hidden;
  min-height:100vh;
}

nav{
  transition:box-shadow .3s;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:300;
  height:72px;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gray-100);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 64px;
}

.header-logo-img{
  height:36px;
  width:auto;
  display:block;
  object-fit:contain;
}

nav.scrolled{
  box-shadow:0 2px 24px rgba(0,0,0,.07);
}

.nav-logo{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

.logo-box{
  width:36px;
  height:36px;
  background:var(--green);
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.logo-box svg{
  width:20px;
  height:20px;
  stroke:#fff;
  fill:none;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.logo-name{
  font-size:18px;
  font-weight:700;
  color:var(--dark);
  letter-spacing:1px;
}

.logo-sub{
  display:block;
  font-size:9px;
  font-weight:500;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--green-mid);
  margin-top:-2px;
}

.nav-links{
  display:flex;
  align-items:center;
  list-style:none;
  gap:28px;
}

.nav-links a{
  font-size:13px;
  font-weight:500;
  color:var(--gray-700);
  text-decoration:none;
  transition:color .2s;
}

.nav-links a.active,
.nav-links a:hover{
  color:var(--green);
}

.nav-links a.nav-cta{
  transition:background .2s;
  padding:9px 22px;
  border-radius:6px;
  font-size:13px;
  font-weight:600;
  background:var(--green);
  color:#fff;
}

.nav-links a.nav-cta:hover{
  background:var(--green-dark);
}

.burger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
}

.burger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--dark);
  border-radius:2px;
}

.hero{
  position:relative;
  height:100vh;
  min-height:640px;
  overflow:hidden;
}

.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
  display:flex;
  align-items:center;
}

.slide.active{
  opacity:1;
  z-index:2;
}

.slide-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.06);
  transition:transform 8s ease;
}

.slide.active .slide-bg{
  transform:scale(1);
}

.slide-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    110deg,
    rgba(3,29,33,.94) 0%,
    rgba(7,86,93,.72) 55%,
    rgba(13,115,122,.32) 100%
  );
}

.slide-content{
  position:relative;
  z-index:3;
  max-width:1200px;
  margin:0 auto;
  padding:0 64px;
  padding-top:72px;
  width:100%;
}

.slide-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s .3s,transform .6s .3s;
}

.slide.active .slide-eyebrow{
  opacity:1;
  transform:none;
}

.eyebrow-line{
  width:36px;
  height:2px;
  background:var(--green-light);
}

.slide-eyebrow span{
  font-size:11px;
  font-weight:600;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--green-light);
}

.slide-title{
  font-family:var(--display);
  font-size:clamp(44px,6vw,80px);
  font-weight:700;
  line-height:1.06;
  color:#fff;
  margin-bottom:22px;
  max-width:660px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s .5s,transform .7s .5s;
}

.slide.active .slide-title{
  opacity:1;
  transform:none;
}

.slide-title em{
  color:var(--green-light);
  font-style:normal;
  font-weight:800;
}

.slide-desc{
  font-size:16px;
  font-weight:300;
  line-height:1.8;
  color:rgba(255,255,255,.65);
  max-width:500px;
  margin-bottom:38px;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .7s .7s,transform .7s .7s;
}

.slide.active .slide-desc{
  opacity:1;
  transform:none;
}

.slide-btns{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  opacity:0;
  transition:opacity .6s .9s;
}

.slide.active .slide-btns{
  opacity:1;
}

.btn-g{
  gap:9px;
  padding:12px 24px;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  transition:background .2s,transform .2s;
  justify-content:center;
  border:0;
  cursor:pointer;
  background:var(--green);
  color:#fff;
}

.btn-g:hover{
  transform:translateY(-1px);
  background:var(--green-dark);
}

.btn-o{
  gap:9px;
  background:#fff;
  color:var(--green);
  padding:11px 22px;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  border:1.5px solid var(--g100);
  transition:.2s;
  justify-content:center;
  cursor:pointer;
}

.btn-o:hover{
  border-color:var(--green);
  background:var(--green-pale);
}

.slide-dots{
  position:absolute;
  bottom:36px;
  left:50%;
  transform:translateX(-50%);
  z-index:10;
  display:flex;
  gap:10px;
}

.dot{
  width:30px;
  height:3px;
  border-radius:2px;
  background:rgba(255,255,255,.3);
  cursor:pointer;
  transition:background .3s,width .3s;
}

.dot.active{
  background:var(--green-light);
  width:52px;
}

.slide-arrows{
  position:absolute;
  bottom:28px;
  right:64px;
  z-index:10;
  display:flex;
  gap:10px;
}

.arr{
  width:44px;
  height:44px;
  border:1.5px solid rgba(255,255,255,.25);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  transition:background .2s,border-color .2s;
}

.arr:hover{
  background:var(--green-light);
  border-color:var(--green-light);
  color:var(--green-dark);
}

.slide-stats{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:10;
  backdrop-filter:blur(8px);
  display:flex;
  background:rgba(3,29,33,.88);
  border-top:1px solid rgba(23,150,158,.24);
}

.slide-stat{
  flex:1;
  padding:18px 0;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
}

.slide-stat:last-child{
  border-right:none;
}

.ss-num{
  font-family:var(--display);
  font-size:30px;
  font-weight:700;
  color:#fff;
  line-height:1;
}

.ss-num sup{
  font-size:.45em;
  vertical-align:super;
  color:var(--green-light);
}

.ss-label{
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:5px;
}

.ticker{
  background:var(--green);
  overflow:hidden;
  height:44px;
  display:flex;
  align-items:center;
}

.ticker-track{
  display:inline-flex;
  animation:ticker 30s linear infinite;
  white-space:nowrap;
}

.ticker-item{
  font-size:11px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.8);
  padding:0 36px;
  border-right:1px solid rgba(255,255,255,.2);
}

.ticker-dot{
  color:rgba(255,255,255,.5);
  margin-right:8px;
}

.wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 64px;
}

.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s,transform .7s;
}

.reveal.visible{
  opacity:1;
  transform:none;
}

.sec-label{
  font-size:11px;
  font-weight:600;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:10px;
}

.sec-label::before{
  flex-shrink:0;
  content:"";
  width:28px;
  height:2px;
  background:var(--green);
}

.sec-label.light{
  color:var(--green-light);
}

.sec-label.light::before{
  background:var(--green-light);
}

.sec-head{
  font-family:var(--display);
  font-size:clamp(28px,3.5vw,46px);
  font-weight:700;
  color:var(--dark);
  line-height:1.12;
}

.sec-head em{
  font-style:normal;
  font-weight:800;
  color:var(--green-light);
}

.sec-head.light{
  color:#fff;
}

.sec-head.light em{
  color:var(--green-light);
}

.view-all{
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-bottom:1.5px solid var(--green);
  padding-bottom:2px;
  color:var(--green);
  border-bottom-color:var(--green);
  font-size:13.5px;
  transition:transform .22s ease,
    color .22s ease,
    border-color .22s ease;
  transform-origin:left center;
}

.view-all:hover{
  gap:8px;
  transform:scale(1.065);
}

.about-sec{
  padding:100px 0;
  background:var(--white);
}

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.about-body{
  font-size:15px;
  font-weight:400;
  line-height:1.85;
  color:var(--g500);
  margin-bottom:28px;
}

.about-imgs{
  position:relative;
  height:520px;
}

.ai-main{
  position:absolute;
  top:0;
  left:0;
  width:76%;
  height:78%;
  object-fit:cover;
  border-radius:10px;
  display:block;
}

.ai-accent{
  position:absolute;
  bottom:0;
  right:0;
  width:54%;
  height:50%;
  object-fit:cover;
  border-radius:10px;
  border:4px solid #fff;
  display:block;
}

.ai-badge{
  position:absolute;
  top:50%;
  right:0;
  transform:translateY(-50%) translateX(14px);
  width:88px;
  height:88px;
  background:var(--green);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:3;
}

.ai-badge strong{
  font-family:var(--display);
  font-size:26px;
  font-weight:700;
  color:#fff;
  line-height:1;
}

.ai-badge small{
  font-size:9px;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
  text-align:center;
  line-height:1.35;
  margin-top:2px;
}

.about-pillars{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:32px;
}

.pillar{
  padding:16px 18px;
  background:var(--g50);
  border-radius:8px;
  border-left:3px solid var(--green-light);
}

.pillar-t{
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:5px;
}

.pillar-p{
  font-size:13px;
  color:var(--g500);
  line-height:1.6;
}

.stats-band{
  background:var(--green-dark);
  padding:72px 0;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  text-align:center;
}

.stat-cell{
  padding:0 20px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.1);
}

.stat-cell:last-child{
  border-right:none;
}

.stat-n{
  font-family:var(--display);
  font-size:clamp(42px,4.5vw,62px);
  font-weight:700;
  color:#fff;
  line-height:1;
}

.stat-n sup{
  font-size:.4em;
  vertical-align:super;
  color:var(--green-light);
}

.stat-l{
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:10px;
}

.services-sec{
  padding:100px 0;
  background:var(--off);
}

.services-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:44px;
  flex-wrap:wrap;
  gap:16px;
}

.svc-carousel-wrap{
  position:relative;
}

.svc-carousel{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:8px;
  -ms-overflow-style:none;
  scrollbar-width:none;
}

.svc-carousel::-webkit-scrollbar{
  display:none;
}

.svc-card{
  min-width:300px;
  max-width:300px;
  background:var(--white);
  border-radius:10px;
  padding:32px 28px;
  border:1px solid var(--g100);
  scroll-snap-align:start;
  transition:box-shadow .25s,transform .25s;
  flex-shrink:0;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.svc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 38px rgba(13,115,122,.13);
}

.svc-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  background:var(--green-pale);
}

.svc-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke:var(--green);
  color:var(--green);
}

.svc-num{
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:10px;
  color:var(--green-light);
}

.svc-title{
  font-size:17px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:10px;
  line-height:1.3;
  font-family:var(--font);
}

.svc-desc{
  font-size:13px;
  color:var(--g500);
  line-height:1.75;
}

.carousel-nav{
  display:flex;
  gap:10px;
  margin-top:28px;
  justify-content:flex-end;
}

.c-arr{
  width:42px;
  height:42px;
  border:1.5px solid var(--g100);
  background:var(--white);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:18px;
  color:var(--g500);
  transition:all .2s;
}

.c-arr:hover{
  border-color:var(--green);
  color:var(--green);
  background:var(--green-pale);
}

.projects-sec{
  padding:100px 0;
  background:var(--white);
}

.proj-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:44px;
  flex-wrap:wrap;
  gap:16px;
}

.proj-grid{
  grid-template-rows:1fr 1fr;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  padding-bottom:96px;
}

.proj-card{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  background:#e0e0e0;
}

.proj-card.feat{
  grid-row:span 2;
}

.proj-card img{
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}

.proj-card.feat img{
  min-height:540px;
}

.proj-card:hover img{
  transform:scale(1.05);
}

.proj-over{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
  background:linear-gradient(
    to top,
    rgba(3,29,33,.90) 0%,
    rgba(3,29,33,.48) 42%,
    transparent 72%
  );
}

.proj-tag{
  font-size:10px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  border:1px solid rgba(20,147,154,.35);
  padding:4px 10px;
  border-radius:4px;
  display:inline-block;
  margin-bottom:9px;
  width:fit-content;
  color:var(--green-dark);
  background:rgba(229,243,244,.96);
  border-color:rgba(23,150,158,.35);
}

.proj-name{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  color:#fff;
  line-height:1.3;
  margin-bottom:6px;
}

.proj-card.feat .proj-name{
  font-size:26px;
}

.proj-loc{
  margin-top:5px;
  font-size:12px;
  color:rgba(255,255,255,.5);
}

.caps-sec{
  padding:100px 0;
  background:var(--green-dark);
}

.caps-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  margin-top:52px;
}

.caps-img{
  border-radius:10px;
  overflow:hidden;
}

.caps-img img{
  width:100%;
  height:480px;
  object-fit:cover;
  display:block;
  border-radius:10px;
}

.caps-list{
  display:flex;
  flex-direction:column;
  gap:0;
}

.cap-item{
  display:flex;
  gap:20px;
  align-items:flex-start;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:padding-left .25s;
  cursor:default;
}

.cap-item:last-child{
  border-bottom:none;
}

.cap-item:hover{
  padding-left:8px;
}

.cap-num{
  font-family:var(--display);
  font-size:22px;
  font-weight:700;
  min-width:42px;
  margin-top:-2px;
  line-height:1;
  color:var(--green-light);
}

.cap-text strong{
  display:block;
  font-size:15px;
  font-weight:600;
  color:#fff;
  margin-bottom:4px;
}

.cap-text p{
  font-size:13px;
  font-weight:300;
  color:rgba(255,255,255,.5);
  line-height:1.7;
}

.news-sec{
  padding:100px 0;
  background:var(--off);
}

.news-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:44px;
  flex-wrap:wrap;
  gap:16px;
}

.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.nc{
  background:var(--white);
  border-radius:10px;
  border:1px solid var(--g100);
  overflow:hidden;
  transition:box-shadow .25s,transform .25s;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.nc:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 38px rgba(13,115,122,.13);
}

.nc-img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  transition:transform .5s;
}

.nc:hover .nc-img{
  transform:scale(1.04);
}

.nc-body{
  padding:24px;
}

.nc-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.nc-cat{
  font-size:10px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:3px 10px;
  border-radius:4px;
  color:var(--green-dark);
  background:rgba(229,243,244,.96);
  border-color:rgba(23,150,158,.35);
}

.nc-date{
  font-size:11px;
  color:var(--gray-500);
}

.nc-title{
  font-size:16px;
  font-weight:600;
  color:var(--dark);
  line-height:1.4;
  margin-bottom:10px;
}

.nc-excerpt{
  font-size:13px;
  color:var(--gray-500);
  line-height:1.7;
  margin-bottom:16px;
}

.cta-sec{
  padding:100px 0;
  background:var(--green-dark);
  position:relative;
  overflow:hidden;
}

.cta-sec::after{
  content:"SANTAK";
  position:absolute;
  right:-30px;
  top:50%;
  transform:translateY(-50%);
  font-family:var(--display);
  font-size:200px;
  font-weight:700;
  color:rgba(255,255,255,.025);
  pointer-events:none;
  line-height:1;
}

.cta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}

.cta-head{
  font-family:var(--display);
  font-size:clamp(30px,4vw,50px);
  font-weight:700;
  color:#fff;
  line-height:1.12;
  margin-bottom:14px;
}

.cta-head em{
  font-style:normal;
  font-weight:800;
  color:var(--green-light);
}

.cta-sub{
  font-size:15px;
  font-weight:300;
  color:rgba(255,255,255,.5);
  line-height:1.8;
  margin-top:14px;
}

.cta-form{
  display:flex;
  flex-direction:column;
  gap:13px;
}

.f-input{
  width:100%;
  padding:14px 18px;
  background:rgba(255,255,255,.07);
  border:1.5px solid rgba(255,255,255,.15);
  border-radius:7px;
  color:#fff;
  font-family:var(--font);
  font-size:14px;
  font-weight:300;
  outline:none;
  transition:border-color .2s;
}

.f-input::placeholder{
  color:rgba(255,255,255,.3);
}

.f-input:focus{
  border-color:var(--green-light);
}

.f-ta{
  height:110px;
  resize:vertical;
  min-height:130px;
}

.clients-sec{
  padding:52px 0;
  background:#fff;
  border-top:1px solid var(--g100);
  border-bottom:1px solid var(--g100);
}

.clients-lbl{
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--g500);
  text-align:center;
  margin-bottom:18px;
}

.clients-track-w{
  overflow:hidden;
}

.clients-track{
  display:flex;
  animation:ticker 26s linear infinite;
  white-space:nowrap;
  gap:40px;
}

.c-item{
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  padding:0 44px;
  border-right:1px solid var(--g100);
  transition:color .3s;
  cursor:default;
  font-size:24px;
  color:var(--g300);
  font-family:var(--display);
}

.c-item:hover{
  color:var(--green);
}

footer{
  background:var(--green-footer);
  padding:80px 0 0;
}

.f-grid{
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:60px;
}

.f-logo{
  font-family:var(--display);
  font-size:26px;
  font-weight:700;
  color:#fff;
  letter-spacing:2px;
  margin-bottom:12px;
}

.f-tag{
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  color:rgba(255,255,255,.38);
  margin-bottom:24px;
}

.f-contact{
  display:flex;
  gap:10px;
  margin-bottom:10px;
  color:rgba(255,255,255,.4);
  font-size:12px;
  line-height:1.6;
  align-items:flex-start;
}

.f-contact svg{
  width:13px;
  height:13px;
  flex-shrink:0;
  stroke:var(--green-light);
  fill:none;
  stroke-width:1.5;
  margin-top:2px;
}

.f-col-title{
  font-size:10px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:var(--green-light);
}

.f-links{
  list-style:none;
}

.f-links li{
  margin-bottom:10px;
}

.f-links a{
  font-size:13px;
  font-weight:300;
  color:rgba(255,255,255,.4);
  text-decoration:none;
  transition:color .2s;
}

.f-links a:hover{
  color:var(--green-light);
}

.f-bottom{
  border-top:1px solid rgba(255,255,255,.07);
  padding:22px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.f-copy{
  font-size:11px;
  color:rgba(255,255,255,.22);
}

.f-social{
  display:flex;
  gap:10px;
}

.s-link{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:all .2s;
}

.s-link svg{
  width:14px;
  height:14px;
  fill:rgba(255,255,255,.38);
  transition:fill .2s;
}

.s-link:hover{
  border-color:var(--green-light);
}

.s-link:hover svg{
  fill:var(--green-light);
}

.logo-icon{
  width:36px;
  height:36px;
  background:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
}

.logo-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#fff;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.logo-tag{
  font-size:9px;
  font-weight:500;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--green-mid);
  display:block;
  margin-top:-3px;
}

.nav-hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
}

.nav-hamburger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--dark);
  border-radius:2px;
}

.page-hero{
  padding-top:72px;
  height:420px;
  background:var(--green-dark);
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.ph-bg{
  position:absolute;
  inset:0;
  opacity:.2;
  background:var(--page-hero-img, url("/static/img/operations.jpg")) center/cover;
}

.ph-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    rgba(3,29,33,.92) 0%,
    rgba(7,86,93,.72) 100%
  );
}

.ph-content{
  position:relative;
  z-index:2;
}

.breadcrumb{
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
  margin-bottom:16px;
}

.breadcrumb a{
  text-decoration:none;
  color:rgba(255,255,255,.74);
}

.page-title{
  font-family:var(--font-display);
  font-size:clamp(44px,6vw,76px);
  font-weight:700;
  color:#fff;
  line-height:1.05;
}

.page-title em{
  color:var(--green-light);
  font-style:normal;
  font-weight:800;
}

.sec-heading{
  font-family:var(--font-display);
  font-size:clamp(28px,3.5vw,44px);
  font-weight:700;
  color:var(--dark);
  line-height:1.15;
}

.sec-heading em{
  font-style:normal;
  font-weight:800;
  color:var(--green-light);
}

.sec-heading.light{
  color:#fff;
}

.sec-heading.light em{
  color:var(--green-light);
}

.btn-green{
  gap:8px;
  padding:12px 24px;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  transition:background .2s,transform .2s;
  justify-content:center;
  border:0;
  cursor:pointer;
  background:var(--green);
  color:#fff;
}

.btn-green:hover{
  transform:translateY(-1px);
  background:var(--green-dark);
}

.about-intro{
  padding:96px 0;
  background:var(--white);
}

.intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.intro-body{
  font-size:15px;
  font-weight:400;
  line-height:1.85;
  color:var(--gray-700);
  margin-bottom:20px;
}

.intro-img-wrap{
  position:relative;
}

.intro-img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}

.intro-img-frame{
  position:absolute;
  top:-14px;
  left:-14px;
  right:14px;
  bottom:14px;
  border:2px solid var(--green-pale);
  border-radius:14px;
  pointer-events:none;
  z-index:-1;
}

.history{
  padding:96px 0;
  background:var(--off-white);
}

.timeline{
  position:relative;
  margin-top:52px;
  padding-left:32px;
}

.timeline::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--green-pale);
}

.tl-item{
  position:relative;
  margin-bottom:48px;
  padding-left:32px;
}

.tl-item::before{
  content:"";
  position:absolute;
  left:-7px;
  top:8px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--green);
  border:3px solid #fff;
  box-shadow:0 0 0 2px var(--green-light);
}

.tl-year{
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  color:var(--green);
  margin-bottom:6px;
}

.tl-title{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:8px;
}

.tl-text{
  font-size:14px;
  font-weight:400;
  line-height:1.8;
  color:var(--gray-500);
}

.pillars{
  padding:96px 0;
  background:var(--green-dark);
}

.pillars-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  margin-top:52px;
  background:rgba(255,255,255,.06);
}

.pillar-card{
  background:var(--green-dark);
  padding:44px 36px;
  position:relative;
  overflow:hidden;
  transition:background .3s;
}

.pillar-card::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:var(--green-light);
  transform:scaleX(0);
  transition:transform .4s;
  transform-origin:left;
  border-color:var(--green-light);
}

.pillar-card:hover{
  background:rgba(255,255,255,.04);
}

.pillar-card:hover::after{
  transform:scaleX(1);
}

.pillar-num{
  font-family:var(--font-display);
  font-size:56px;
  font-weight:700;
  line-height:1;
  margin-bottom:16px;
  color:rgba(23,150,158,.22);
}

.pillar-title{
  font-size:18px;
  font-weight:600;
  color:#fff;
  margin-bottom:12px;
}

.pillar-body{
  font-size:14px;
  font-weight:300;
  line-height:1.8;
  color:rgba(255,255,255,.5);
}

.governance{
  padding:96px 0;
  background:var(--white);
}

.team-grid{
  margin-top:52px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.team-card{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--g100);
  border-radius:10px;
  transition:.25s;
  padding:24px;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.team-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 38px rgba(13,115,122,.13);
}

.team-avatar{
  height:220px;
  background:var(--green-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-size:64px;
  font-weight:700;
  color:rgba(23,150,158,.22);
}

.team-info{
  padding:20px;
}

.team-name{
  font-size:16px;
  font-weight:600;
  color:var(--dark);
  margin-bottom:4px;
}

.team-role{
  font-size:11px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--green);
}

.team-bio{
  font-size:12px;
  color:var(--gray-500);
  line-height:1.7;
  margin-top:10px;
}

.policies{
  padding:96px 0;
  background:var(--off-white);
}

.policy-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:52px;
}

.policy-card{
  background:var(--white);
  border-radius:10px;
  padding:36px;
  border:1px solid var(--gray-100);
  border-top:3px solid var(--green-light);
  border-color:var(--green-light);
}

.policy-title{
  font-size:17px;
  font-weight:600;
  color:var(--dark);
  margin-bottom:12px;
}

.policy-body{
  font-size:14px;
  color:var(--gray-500);
  line-height:1.8;
}

.collab{
  padding:80px 0;
  background:var(--white);
  border-top:1px solid var(--gray-100);
}

.collab-grid{
  background:var(--gray-100);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:30px;
  padding:20px;
}

.collab-item{
  background:var(--white);
  padding:28px 20px;
  text-align:center;
  font-size:13px;
  font-weight:600;
  letter-spacing:.5px;
  color:var(--gray-300);
  transition:color .25s,background .25s;
}

.collab-item:hover{
  background:var(--green-pale);
  color:var(--green);
}

.footer-grid{
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:60px;
}

.footer-logo{
  font-size:22px;
  font-weight:700;
  color:#fff;
  letter-spacing:2px;
  margin-bottom:12px;
}

.footer-tagline{
  font-size:13px;
  font-weight:300;
  line-height:1.8;
  color:rgba(255,255,255,.4);
  margin-bottom:24px;
}

.footer-contact{
  display:flex;
  gap:10px;
  margin-bottom:10px;
  color:rgba(255,255,255,.45);
  font-size:12px;
  font-weight:300;
  line-height:1.6;
  align-items:flex-start;
}

.footer-contact svg{
  width:14px;
  height:14px;
  flex-shrink:0;
  stroke:var(--green-light);
  fill:none;
  stroke-width:1.5;
  margin-top:2px;
}

.footer-col-title{
  font-size:10px;
  font-weight:600;
  letter-spacing:2.5px;
  text-transform:uppercase;
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:var(--green-light);
}

.footer-links{
  list-style:none;
}

.footer-links li{
  margin-bottom:10px;
}

.footer-links a{
  font-size:13px;
  font-weight:300;
  color:rgba(255,255,255,.45);
  text-decoration:none;
  transition:color .2s;
}

.footer-links a:hover{
  color:var(--green-light);
}

.footer-bottom{
  align-items:center;
  border-top:1px solid rgba(255,255,255,.08);
  padding:22px 0;
  display:flex;
  justify-content:space-between;
}

.footer-copy{
  font-size:11px;
  color:rgba(255,255,255,.25);
}

.svc-list{
  padding:96px 0;
}

.svc-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:center;
  padding:72px 0;
  border-top:1px solid var(--gray-100);
}

.svc-row:nth-child(even) .svc-row-text{
  order:2;
}

.svc-row:nth-child(even) .svc-row-img{
  order:1;
}

.svc-row-num{
  font-family:var(--font-display);
  line-height:1;
  margin-bottom:4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  color:var(--green-light);
}

.svc-row-title{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:14px;
  margin-top:-8px;
}

.svc-row-body{
  font-size:14px;
  font-weight:400;
  line-height:1.9;
  color:var(--gray-500);
  margin-bottom:24px;
}

.svc-bullets{
  list-style:none;
  margin-bottom:28px;
}

.svc-bullets li{
  font-size:13px;
  color:var(--gray-700);
  padding:9px 0;
  border-bottom:1px solid var(--gray-50);
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.svc-bullets li::before{
  content:"→";
  color:var(--green);
  flex-shrink:0;
  font-weight:600;
}

.svc-row-img{
  position:relative;
  overflow:hidden;
  border-radius:12px;
}

.svc-row-img img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
  transition:transform .6s;
}

.svc-row-img:hover img{
  transform:scale(1.03);
}

.rd-section{
  padding:96px 0;
  background:var(--green-dark);
}

.rd-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:start;
  margin-top:48px;
}

.rd-body{
  font-size:15px;
  font-weight:300;
  line-height:1.9;
  color:rgba(255,255,255,.55);
  margin-bottom:20px;
}

.rd-items{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.rd-item{
  padding:22px 24px;
  border:1px solid rgba(20,147,154,.16);
  border-radius:8px;
  background:rgba(255,255,255,.03);
  transition:background .25s;
}

.rd-item:hover{
  background:rgba(255,255,255,.06);
}

.rd-item-title{
  font-size:13px;
  font-weight:600;
  letter-spacing:.5px;
  color:var(--green-light);
  margin-bottom:6px;
}

.rd-item-text{
  font-size:13px;
  font-weight:300;
  color:rgba(255,255,255,.45);
  line-height:1.7;
}

.filter-section{
  padding:64px 0 0;
}

.filter-bar{
  display:flex;
  gap:0;
  border-bottom:2px solid var(--gray-100);
  margin-bottom:52px;
  overflow-x:auto;
}

.filter-btn{
  padding:12px 22px;
  font-size:12px;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--gray-500);
  cursor:pointer;
  border:none;
  background:none;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  white-space:nowrap;
  transition:color .2s,border-color .2s;
  font-family:inherit;
}

.filter-btn.active{
  color:var(--green);
  border-bottom-color:var(--green);
}

.filter-btn:hover{
  color:var(--green-mid);
}

.proj-tile{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  background:var(--green-dark);
  cursor:pointer;
}

.proj-tile.span2{
  grid-column:span 2;
}

.proj-tile img{
  width:100%;
  height:300px;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
  filter:brightness(.88);
}

.proj-tile.span2 img{
  height:460px;
}

.proj-tile:hover img{
  transform:scale(1.04);
  filter:brightness(.72);
}

.proj-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  background:linear-gradient(
    to top,
    rgba(3,29,33,.92) 0%,
    rgba(7,86,93,.35) 55%,
    transparent 100%
  );
}

.proj-cat{
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:8px;
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--green-light);
}

.proj-cat::before{
  content:"";
  width:16px;
  height:1.5px;
  background:var(--green-light);
}

.proj-tile.span2 .proj-name{
  font-size:28px;
}

.proj-hover{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:36px;
  opacity:0;
  transition:opacity .3s;
  background:rgba(3,29,33,.94);
}

.proj-tile:hover .proj-hover{
  opacity:1;
}

.proj-hover-label{
  margin-top:16px;
  margin-bottom:4px;
  font-size:10px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--green-light);
}

.proj-hover-label:first-child{
  margin-top:0;
}

.proj-hover-value{
  font-weight:400;
  font-size:14px;
  color:#fff;
  margin:0;
}

.stats-row{
  background:var(--green-dark);
  padding:72px 0;
}

.stat-item{
  padding:0 24px;
  border-right:1px solid rgba(255,255,255,.1);
}

.stat-item:last-child{
  border-right:none;
}

.stat-num{
  font-family:var(--font-display);
  font-size:clamp(44px,4vw,60px);
  font-weight:700;
  color:#fff;
  line-height:1;
}

.stat-num sup{
  font-size:.4em;
  vertical-align:super;
  color:var(--green-light);
}

.stat-label{
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:10px;
}

.tags-bar{
  padding:56px 0 0;
}

.tag-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:52px;
}

.tag{
  letter-spacing:.5px;
  cursor:pointer;
  transition:all .2s;
  padding:8px 16px;
  border:1px solid var(--g100);
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  color:var(--g700);
  background:#fff;
  display:inline-flex;
  margin:0 8px 8px 0;
}

.tag.active{
  background:rgba(229,243,244,.96);
  border-color:rgba(23,150,158,.35);
  color:var(--green-dark);
}

.tag:hover{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}

.featured-card{
  margin-bottom:72px;
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--g100);
  margin-top:34px;
}

.feat-img{
  overflow:hidden;
}

.feat-img img{
  display:block;
  transition:transform .6s;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}

.featured-card:hover .feat-img img{
  transform:scale(1.04);
}

.feat-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:46px;
  align-items:flex-start;
}

.feat-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:12px;
  color:var(--green-light);
}

.feat-label::before{
  content:"";
  width:20px;
  height:1.5px;
  background:var(--green-light);
}

.feat-title{
  font-weight:700;
  color:#fff;
  font-family:var(--display);
  font-size:34px;
  line-height:1.14;
  margin-bottom:14px;
}

.feat-excerpt{
  font-weight:300;
  margin-bottom:24px;
  font-size:15px;
  color:var(--g500);
  line-height:1.75;
}

.feat-meta{
  margin-bottom:28px;
  font-size:12px;
  color:var(--g300);
  margin:18px 0;
}

.read-more{
  text-decoration:none;
  align-items:center;
  gap:8px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  display:inline-flex;
  margin-top:14px;
  border-bottom:1.5px solid var(--green);
  padding-bottom:2px;
  color:var(--green);
  border-bottom-color:var(--green);
  font-size:13.5px;
  transition:transform .22s ease,
    color .22s ease,
    border-color .22s ease;
  transform-origin:left center;
}

.read-more:hover{
  gap:8px;
  transform:scale(1.065);
}

.news-grid-section{
  padding:0 0 96px;
}

.news-card{
  background:var(--white);
  border-radius:10px;
  border:1px solid var(--g100);
  overflow:hidden;
  transition:box-shadow .25s,transform .25s;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.news-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 38px rgba(13,115,122,.13);
}

.news-card:hover .nc-img{
  transform:scale(1.04);
}

.nc-link{
  text-decoration:none;
  align-items:center;
  gap:6px;
  font-weight:700;
  display:inline-flex;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-top:14px;
  border-bottom:1.5px solid var(--green);
  padding-bottom:2px;
  color:var(--green);
  border-bottom-color:var(--green);
  font-size:13.5px;
  transition:transform .22s ease,
    color .22s ease,
    border-color .22s ease;
  transform-origin:left center;
}

.nc-link:hover{
  gap:8px;
  transform:scale(1.065);
}

a{
  text-decoration:none;
}

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

main{
  overflow:hidden;
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.search-toggle{
  width:38px;
  height:38px;
  border:1px solid var(--g100);
  border-radius:8px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s,border-color .2s,color .2s;
  color:var(--green);
  stroke:var(--green);
}

.search-toggle:hover{
  border-color:var(--green-light);
  background:var(--green-pale);
}

.search-toggle svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}

.search-panel{
  position:fixed;
  top:72px;
  left:0;
  right:0;
  z-index:480;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid var(--g100);
  box-shadow:0 16px 36px rgba(0,0,0,.08);
  transform:translateY(-120%);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
}

.search-panel.open{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

.search-form{
  max-width:760px;
  margin:0 auto;
  padding:22px 20px;
}

.search-form label{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:9px;
}

.search-row{
  display:flex;
  gap:10px;
}

.large-search input,
.search-row input{
  flex:1;
  border:1.5px solid var(--g100);
  border-radius:8px;
  padding:13px 16px;
  font-size:14px;
  outline:none;
  color:var(--dark);
}

.large-search input:focus,
.search-row input:focus{
  border-color:var(--green-light);
}

.btn.primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:7px;
  padding:12px 24px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s,transform .2s;
  text-decoration:none;
  background:var(--green);
  color:#fff;
}

.btn.primary:hover{
  transform:translateY(-1px);
  background:var(--green-dark);
}

.btn.secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--green);
  border:1.5px solid var(--g100);
  border-radius:7px;
  padding:11px 22px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:.2s;
  text-decoration:none;
}

.btn.secondary:hover{
  border-color:var(--green);
  background:var(--green-pale);
}

.flash-wrap{
  position:fixed;
  top:90px;
  right:22px;
  z-index:900;
  display:grid;
  gap:8px;
}

.flash{
  border-radius:8px;
  padding:12px 16px;
  font-size:13px;
  font-weight:600;
  border:1px solid var(--g100);
  background:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
}

.flash.success{
  border-color:var(--green-light);
  color:var(--green-dark);
  background:var(--green-pale);
}

.flash.error{
  border-color:#f2b8b5;
  color:#8c1d18;
  background:#fff5f5;
}

.page-hero.compact{
  height:340px;
}

.nc-link::after,
.read-more::after,
.view-all::after{
  content:"";
}

.projects-sec .proj-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:16px;
}

.projects-sec .proj-card{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  background:#e0e0e0;
}

.projects-sec .proj-card.feat{
  grid-row:span 2;
}

.projects-sec .proj-card img{
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}

.projects-sec .proj-card.feat img{
  min-height:540px;
}

.projects-sec .proj-card:hover img{
  transform:scale(1.05);
}

.projects-sec .proj-over{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
  background:linear-gradient(
    to top,
    rgba(3,29,33,.90) 0%,
    rgba(3,29,33,.48) 42%,
    transparent 72%
  );
}

.filter-section .proj-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:40px;
}

.collab-card:hover{
  box-shadow:0 14px 38px rgba(13,115,122,.13);
}

.svc-card h3{
  font-family:var(--font);
  font-size:17px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:10px;
  line-height:1.3;
}

.card-kicker{
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:10px;
  color:var(--green-light);
}

.svc-card p{
  font-size:13px;
  color:var(--g500);
  line-height:1.75;
}

.cap-item strong.cap-num{
  font-family:var(--display);
  font-size:22px;
  font-weight:700;
  color:var(--green-light);
  min-width:42px;
  margin-top:-2px;
  line-height:1;
}

.caps-sec .cap-item strong{
  display:block;
  font-size:15px;
  font-weight:600;
  color:#fff;
  margin-bottom:4px;
}

.caps-sec .cap-text p{
  font-size:13px;
  font-weight:300;
  color:rgba(255,255,255,.5);
  line-height:1.7;
}

.news-card .nc-img,
.news-card > img{
  width:100%;
  height:200px;
  object-fit:cover;
  display:block;
  transition:transform .5s;
}

.news-card:hover > img{
  transform:scale(1.04);
}

.news-body{
  padding:22px;
}

.read-link{
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  display:inline-flex;
  margin-top:14px;
  border-bottom:1.5px solid var(--green);
  padding-bottom:2px;
  color:var(--green);
  border-bottom-color:var(--green);
  font-size:13.5px;
  transition:transform .22s ease,
    color .22s ease,
    border-color .22s ease;
  transform-origin:left center;
}

.cta-form form{
  display:flex;
  flex-direction:column;
  gap:13px;
}

.cta-form label{
  font-size:12px;
  color:rgba(255,255,255,.55);
  display:flex;
  flex-direction:column;
  gap:6px;
}

.cta-form .f-input{
  width:100%;
}

.avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:18px;
  color:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:700;
  background:var(--green-pale);
}

.team-card img{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:18px;
}

.team-card h3{
  font-size:18px;
  margin-bottom:4px;
}

.team-card span{
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--green);
}

.team-card p{
  font-size:13px;
  color:var(--g500);
  line-height:1.7;
  margin-top:10px;
}

.value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.collab-card,
.value-grid article{
  background:#fff;
  border:1px solid var(--g100);
  border-radius:10px;
  padding:24px;
}

.collab-card span{
  font-family:var(--display);
  font-weight:700;
  font-size:15px;
  color:rgba(20,147,154,.92);
  opacity:1;
  line-height:1.2;
}

.value-grid span{
  font-family:var(--display);
  font-size:24px;
  font-weight:700;
  color:rgba(23,150,158,.22);
}

.collab-card h3{
  font-size:18px;
  margin:10px 0 8px;
  color:var(--green-dark);
  font-weight:800;
}

.value-grid h3{
  font-size:18px;
  margin:10px 0 8px;
}

.collab-card p,
.value-grid p{
  font-size:13px;
  color:var(--g500);
  line-height:1.7;
}

.section-intro{
  font-size:15px;
  color:var(--g500);
  line-height:1.8;
  max-width:720px;
  margin-top:12px;
}

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 44px;
  margin-top:34px;
}

.service-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:center;
  padding:76px 0;
  border-bottom:1px solid var(--g100);
}

.service-row:nth-child(even){
  direction:rtl;
}

.service-row:nth-child(even)>*{
  direction:ltr;
}

.service-row:last-child{
  border-bottom:0;
}

.service-copy .row-icon{
  width:52px;
  height:52px;
  background:var(--green-pale);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}

.row-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke-width:1.9;
  stroke:var(--green);
  color:var(--green);
}

.service-copy span{
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  color:var(--green-light);
}

.service-copy h3{
  font-family:var(--display);
  font-size:clamp(28px,3vw,42px);
  line-height:1.12;
  margin:10px 0 16px;
}

.service-copy p{
  font-size:15px;
  color:var(--g500);
  line-height:1.85;
}

.service-copy ul{
  margin:24px 0;
  list-style:none;
  display:grid;
  gap:10px;
}

.service-copy li{
  font-size:13px;
  color:var(--g700);
  padding-left:22px;
  position:relative;
}

.service-copy li:before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green-light);
}

.service-image img{
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:10px;
  display:block;
}

.proj-hover dl{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:7px 12px;
  margin-top:16px;
}

.proj-hover dt{
  font-size:10px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--green-light);
}

.proj-hover dd{
  font-size:14px;
  color:#fff;
  margin:0;
}

.tag-cloud a{
  display:inline-flex;
  padding:8px 16px;
  border:1px solid var(--g100);
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  color:var(--g700);
  margin:0 8px 8px 0;
  background:#fff;
}

.tag-cloud a.active{
  background:rgba(229,243,244,.96);
  border-color:rgba(23,150,158,.35);
  color:var(--green-dark);
}

.article-hero{
  padding-top:72px;
  min-height:520px;
  background:var(--green-dark);
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}

.article-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--article-img) center/cover;
  opacity:.25;
}

.article-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(3,29,33,.95),
    rgba(7,86,93,.18)
  );
}

.article-hero .wrap{
  position:relative;
  z-index:2;
  padding-bottom:70px;
}

.article-hero h1{
  font-family:var(--display);
  font-size:clamp(36px,5vw,70px);
  line-height:1.05;
  color:#fff;
  max-width:900px;
}

.article-hero p{
  color:rgba(255,255,255,.65);
  margin-top:14px;
}

.article-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:70px;
  padding-top:80px;
  padding-bottom:90px;
}

.article-content{
  font-size:17px;
  line-height:1.9;
  color:var(--g700);
}

.article-layout aside{
  border-left:1px solid var(--g100);
  padding-left:28px;
}

.article-layout aside h2{
  font-size:17px;
  margin-bottom:14px;
}

.article-layout aside a{
  display:block;
  color:var(--green);
  font-size:13px;
  line-height:1.5;
  padding:12px 0;
  border-bottom:1px solid var(--g100);
}

.search-results{
  padding-top:20px;
}

.large-search{
  display:flex;
  gap:12px;
  margin-bottom:28px;
}

.result-count{
  font-size:14px;
  color:var(--g500);
  margin-bottom:16px;
}

.result-card{
  display:block;
  background:#fff;
  border:1px solid var(--g100);
  border-radius:10px;
  padding:22px;
  margin-bottom:12px;
  transition:.2s;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.result-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 38px rgba(13,115,122,.13);
}

.result-card span{
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--green);
  font-weight:700;
}

.result-card h2{
  font-size:20px;
  margin:6px 0;
}

.result-card p{
  font-size:13px;
  color:var(--g500);
  line-height:1.7;
}

.contact-section .contact-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:start;
}

.contact-note{
  margin-top:24px;
  padding:18px;
  border-radius:8px;
  color:var(--green-dark);
  display:grid;
  gap:4px;
  background:var(--green-pale);
}

.contact-form{
  background:#fff;
  border:1px solid var(--g100);
  border-radius:10px;
  padding:28px;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.contact-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12px;
  font-weight:700;
  color:var(--g700);
  margin-bottom:14px;
}

.contact-form input,
.contact-form textarea{
  border:1.5px solid var(--g100);
  border-radius:7px;
  padding:12px 14px;
  font-size:14px;
  outline:none;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:var(--green-light);
}

.admin-body{
  background:var(--off);
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:100vh;
  overflow:visible;
}

.admin-body nav{
  position:static;
  height:auto;
  background:transparent;
  border:0;
  display:grid;
  padding:0;
  gap:4px;
  backdrop-filter:none;
  box-shadow:none;
}

.admin-sidebar{
  background:var(--green-dark);
  color:#fff;
  padding:24px;
  position:sticky;
  top:0;
  height:100vh;
}

.admin-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  margin-bottom:28px;
  font-weight:700;
  letter-spacing:1px;
}

.admin-brand .logo-icon{
  width:34px;
  height:34px;
  background:var(--green-mid);
}

.admin-sidebar nav a{
  color:rgba(255,255,255,.75);
  padding:10px 12px;
  border-radius:7px;
  font-size:13px;
  font-weight:600;
}

.admin-sidebar nav a:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.admin-main{
  padding:42px;
  min-width:0;
}

.admin-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:28px;
}

.admin-head h1{
  font-family:var(--display);
  font-size:38px;
}

.admin-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:28px;
}

.admin-metrics{
  display:grid;
  gap:16px;
  margin-bottom:28px;
  grid-template-columns:repeat(2,1fr);
}

.admin-metrics.four{
  grid-template-columns:repeat(4,1fr);
}

.admin-card,
.admin-metrics a,
.admin-metrics div,
.admin-note,
.analytics-grid section,
.table-wrap{
  background:#fff;
  border:1px solid var(--g100);
  border-radius:10px;
  padding:22px;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.admin-form{
  background:#fff;
  border:1px solid var(--g100);
  border-radius:10px;
  padding:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
}

.inquiry-card{
  background:#fff;
  border:1px solid var(--g100);
  box-shadow:0 8px 24px rgba(13,115,122,.055);
  border-radius:12px;
  padding:0;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.admin-card strong,
.admin-metrics strong{
  display:block;
  font-family:var(--display);
  font-size:38px;
  color:var(--green);
}

.admin-card span,
.admin-metrics span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--g500);
  font-weight:700;
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.admin-table td,
.admin-table th{
  padding:12px;
  border-bottom:1px solid var(--g100);
  text-align:left;
}

.actions{
  display:flex;
  gap:10px;
  align-items:center;
}

.actions button{
  border:0;
  border-radius:6px;
  padding:7px 10px;
  cursor:pointer;
  background:var(--green);
  color:#fff;
}

.inquiry-card button{
  border:0;
  cursor:pointer;
  background:var(--green);
  color:#fff;
  border-radius:8px;
  padding:10px 18px;
  font-weight:800;
  letter-spacing:.3px;
  transition:background .2s ease, transform .2s ease;
}

.admin-form .image,
.admin-form .textarea{
  grid-column:1/-1;
}

.admin-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12px;
  font-weight:700;
  color:var(--g700);
}

.admin-form input,
.admin-form select,
.admin-form textarea{
  border:1.5px solid var(--g100);
  border-radius:7px;
  padding:10px;
  font-size:14px;
}

.inquiry-card select{
  border:1.5px solid var(--g100);
  border-radius:7px;
  padding:10px;
  font-size:14px;
  min-width:150px;
  background:#fff;
  color:var(--dark);
  outline:none;
}

.admin-preview{
  max-width:220px;
  border-radius:8px;
  border:1px solid var(--g100);
}

.login-page{
  min-height:100vh;
  background:linear-gradient(135deg,var(--green-dark),var(--green));
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.login-card{
  width:min(420px,100%);
  background:#fff;
  border-radius:12px;
  padding:32px;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}

.login-card .logo-icon{
  margin:0 auto 14px;
}

.login-card h1{
  font-family:var(--display);
  text-align:center;
  margin-bottom:22px;
}

.login-card label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:14px;
  font-size:12px;
  font-weight:700;
  color:var(--g700);
}

.login-card input{
  border:1.5px solid var(--g100);
  border-radius:7px;
  padding:12px;
}

.section{
  padding:100px 0;
  background:var(--white);
}

.section.muted{
  background:var(--off);
}

.actions button:hover{
  background:var(--green-dark);
}

.inquiry-card button:hover{
  background:var(--green-dark);
  transform:translateY(-1px);
}

.pillars .sec-heading{
  margin-bottom:42px;
}

.pillars .value-grid{
  margin-top:0;
}

.pillars .value-grid article > span{
  color:rgba(20,147,154,.86);
  opacity:1;
  font-size:34px;
  line-height:1;
  letter-spacing:-.5px;
}

.collab-card h3 a{
  color:var(--green-dark);
  font-weight:800;
}

.hero .slide-overlay{
  background:linear-gradient(
    110deg,
    rgba(3,29,32,.88) 0%,
    rgba(6,68,75,.64) 52%,
    rgba(11,113,120,.38) 100%
  );
}

.read-link:hover{
  gap:8px;
  transform:scale(1.065);
}

body *{
  scrollbar-width:none;
  -ms-overflow-style:none;
}

body *::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

.service-svg-icon{
  width:28px;
  height:28px;
  display:block;
  background:var(--green);
  -webkit-mask:var(--icon-url) center / contain no-repeat;
  mask:var(--icon-url) center / contain no-repeat;
  transition:transform .22s ease, background .22s ease;
}

.row-icon{
  background:var(--green-pale);
}

.service-row:hover .service-svg-icon,
.svc-card:hover .service-svg-icon{
  transform:scale(1.12) rotate(-2deg);
  background:var(--green-light);
}

.feat-body .read-more,
.featured-card .read-more{
  width:max-content;
  max-width:max-content;
  align-self:flex-start;
  display:inline-flex;
  flex:0 0 auto;
}

.footer-version{
  opacity:0.45;
  margin-left:10px;
  font-size:0.85em;
}

.error-page{
  text-align:center;
  padding:7rem 64px;
  max-width:760px;
  margin:0 auto;
}

.error-page .sec-label{
  justify-content:center;
  margin-bottom:20px;
}

.error-page h1{
  font-family:var(--display);
  font-size:clamp(34px,5vw,58px);
  line-height:1.08;
  color:var(--dark);
  margin-bottom:20px;
}

.error-page p{
  font-size:15px;
  line-height:1.85;
  color:var(--g500);
  margin-bottom:28px;
}

.error-page p:last-child{
  margin-bottom:0;
  margin-top:8px;
}

.inquiry-list{
  display:grid;
  gap:18px;
}

.inquiry-card:hover{
  transform:translateY(-2px);
  border-color:rgba(20,147,154,.32);
  box-shadow:0 14px 38px rgba(13,115,122,.11);
}

.inquiry-card > div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--g100);
  background:linear-gradient(135deg,#fff 0%,var(--off) 100%);
}

.inquiry-card > div strong{
  font-size:17px;
  line-height:1.35;
  color:var(--dark);
}

.inquiry-card > div span{
  flex-shrink:0;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--green);
  background:var(--green-pale);
  border:1px solid rgba(20,147,154,.18);
  border-radius:999px;
  padding:6px 10px;
}

.inquiry-card > p{
  padding:20px 24px;
  font-size:14px;
  line-height:1.8;
  color:var(--g700);
  border-bottom:1px solid var(--g100);
}

.inquiry-card dl{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:10px 16px;
  padding:20px 24px;
  border-bottom:1px solid var(--g100);
}

.inquiry-card dt{
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--green);
}

.inquiry-card dd{
  font-size:13px;
  color:var(--g700);
  word-break:break-word;
}

.inquiry-card form{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  padding:18px 24px 22px;
  background:#fff;
}

.inquiry-card select:focus{
  border-color:var(--green-light);
}

.admin-logout-form{
  margin:0;
}

.admin-logout-btn{
  border:1.5px solid rgba(11,113,120,.22);
  background:#fff;
  color:var(--green-dark);
  border-radius:9px;
  padding:10px 18px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(13,115,122,.055);
  transition:background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}

.admin-logout-btn:hover{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
  transform:translateY(-1px);
}

.hero .slide-dots{
  position:absolute;
  left:50%;
  bottom:128px;
  transform:translateX(-50%);
  z-index:25;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(3,29,32,.46);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}

.hero .slide-dots .dot{
  position:relative;
  overflow:hidden;
  width:10px;
  height:10px;
  border:0;
  border-radius:999px;
  padding:0;
  background:rgba(255,255,255,.36);
  cursor:pointer;
  transition:width .32s ease,
    background .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}

.hero .slide-dots .dot:hover{
  background:rgba(255,255,255,.72);
  transform:scale(1.18);
}

.hero .slide-dots .dot.active{
  width:44px;
  background:rgba(255,255,255,.24);
  box-shadow:0 0 0 1px rgba(20,147,154,.36);
}

.hero .slide-dots .dot.active::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green-light),rgba(255,255,255,.86));
  transform:scaleX(0);
  transform-origin:left center;
  animation:heroDotProgress 6s linear forwards;
}

@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@keyframes heroDotProgress{from{transform:scaleX(0)}
  to{transform:scaleX(1)}}

@media (max-width:900px){
  nav{
    padding:0 20px;
  }

  .nav-links{
    display:none;
    flex-direction:column;
    position:absolute;
    left:0;
    right:0;
    background:#fff;
    padding:24px 20px;
    gap:16px;
    border-bottom:1px solid var(--gray-100);
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
    top:72px;
  }

  .nav-links.open{
    display:flex;
  }

  .burger{
    display:flex;
  }

  .about-grid{
    grid-template-columns:1fr;
  }

  .about-imgs{
    height:340px;
    margin-top:32px;
  }

  .proj-grid{
    grid-template-rows:auto;
    grid-template-columns:1fr 1fr;
  }

  .caps-grid{
    grid-template-columns:1fr;
  }

  .news-grid{
    grid-template-columns:1fr 1fr;
  }

  .cta-grid{
    grid-template-columns:1fr;
    gap:44px;
  }

  .f-grid{
    grid-template-columns:1fr 1fr;
  }

  .nav-hamburger{
    display:flex;
  }

  .intro-grid{
    grid-template-columns:1fr;
    gap:44px;
  }

  .team-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .svc-row{
    grid-template-columns:1fr;
    gap:36px;
  }

  .svc-row:nth-child(even) .svc-row-img,
  .svc-row:nth-child(even) .svc-row-text{
    order:unset;
  }

  .rd-grid{
    grid-template-columns:1fr;
  }

  .featured-card{
    grid-template-columns:1fr;
  }

  .feat-img img{
    min-height:280px;
  }

  .feat-body{
    padding:28px;
  }

  .filter-section .proj-grid,
  .projects-sec .proj-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }

  .projects-sec .proj-card.feat{
    grid-row:auto;
  }

  .collab-grid,
  .two-col,
  .value-grid{
    grid-template-columns:1fr;
  }

  .service-row,
  .service-row:nth-child(even){
    grid-template-columns:1fr;
    direction:ltr;
    gap:34px;
  }

  .service-image img{
    height:280px;
  }

  .article-layout,
  .contact-section .contact-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .large-search,
  .search-row{
    flex-direction:column;
  }

  .admin-body{
    grid-template-columns:1fr;
  }

  .admin-sidebar{
    position:static;
    height:auto;
  }

  .admin-main{
    padding:24px;
  }

  .admin-card-grid,
  .admin-metrics,
  .admin-metrics.four{
    grid-template-columns:1fr;
  }

  .admin-form{
    grid-template-columns:1fr;
  }

  .nav-actions{
    gap:8px;
  }
}

@media (max-width:768px){
  .slide-content{
    padding:0 20px;
    padding-top:72px;
  }

  .slide-arrows{
    right:20px;
  }

  .slide-stats{
    display:none;
  }

  .slide-title{
    font-size:clamp(36px,8vw,56px);
  }

  .wrap{
    padding:0 20px;
  }

  .pillars-grid{
    grid-template-columns:1fr;
  }

  .policy-grid{
    grid-template-columns:1fr;
  }

  .collab-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero .slide-dots{
    bottom:34px;
  }

  .hero .slide-dots .dot.active{
    width:36px;
  }
}

@media (max-width:700px){
  .stats-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .error-page{
    padding:5rem 20px;
  }

  .inquiry-card > div,
  .inquiry-card form{
    flex-direction:column;
    align-items:stretch;
  }

  .inquiry-card > div span{
    width:max-content;
  }

  .inquiry-card dl{
    grid-template-columns:1fr;
    gap:5px 0;
  }

  .admin-head{
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }
}

@media (max-width:600px){
  .news-grid{
    grid-template-columns:1fr;
  }

  .f-grid{
    grid-template-columns:1fr;
  }

  .team-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .proj-grid{
    grid-template-columns:1fr;
  }
}
