/* ============================
   CSS CUSTOM PROPERTIES
   ============================ */
:root{
  --navy:#0A1E58;
  --navy-deep:#060E30;
  --navy-mid:#0E2468;
  --navy-soft:#132C78;
  --cream:#F2F6FF;
  --cream-warm:#E8EFFF;
  --cream-deep:#D4E1FF;
  --gold:#22B547;
  --gold-dark:#1A9A3C;
  --gold-light:#44D068;
  --gold-pale:#E6F9EC;
  --gold-glow:rgba(34,181,71,.25);
  --sage:#1A8ECE;
  --sage-light:#4BB5E8;
  --sage-pale:#E3F4FC;
  --white:#FFFFFF;
  --off-white:#F8FAFF;
  --text-dark:#0C1E40;
  --text-mid:#3A5070;
  --text-light:#7A90B0;
  --border:rgba(10,30,88,.08);
  --border-mid:rgba(10,30,88,.14);
  --shadow-sm:0 2px 16px rgba(10,30,88,.06);
  --shadow-md:0 8px 40px rgba(10,30,88,.10);
  --shadow-lg:0 24px 80px rgba(10,30,88,.16);
  --shadow-xl:0 32px 100px rgba(10,30,88,.22);
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-xl:34px;
  --radius-full:9999px;
  --font-d:'Cormorant Garamond',Georgia,serif;
  --font-b:'Jost',-apple-system,sans-serif;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-out-back:cubic-bezier(.34,1.56,.64,1);
}

/* ============================
   RESET & BASE
   ============================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-b);
  background:var(--off-white);
  color:var(--text-dark);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ============================
   TYPOGRAPHY SYSTEM
   ============================ */
.d-xl{
  font-family:var(--font-d);
  font-size:clamp(3rem,7.5vw,7.2rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.025em;
}
.d-lg{
  font-family:var(--font-d);
  font-size:clamp(2.2rem,5.5vw,4.8rem);
  font-weight:400;
  line-height:1.06;
  letter-spacing:-.02em;
}
.d-md{
  font-family:var(--font-d);
  font-size:clamp(1.8rem,3.8vw,3.2rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.015em;
}
.d-sm{
  font-family:var(--font-d);
  font-size:clamp(1.4rem,2.5vw,1.9rem);
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.01em;
}
.eyebrow{
  font-family:var(--font-b);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.eyebrow::before{
  content:'';
  width:28px;
  height:1.5px;
  background:var(--gold);
  border-radius:2px;
}
.eyebrow-light{color:var(--gold-light)}
.eyebrow-light::before{background:var(--gold-light)}
.body-lg{
  font-size:clamp(.9rem,1.6vw,1.05rem);
  line-height:1.8;
  color:var(--text-mid);
  font-weight:300;
}
.body-md{
  font-size:.88rem;
  line-height:1.72;
  color:var(--text-mid);
}

/* ============================
   LAYOUT UTILITIES
   ============================ */
.wrap{
  max-width:1320px;
  margin:0 auto;
  padding:0 clamp(1.8rem,5vw,4.5rem);
}
.sec{padding:clamp(5rem,11vw,10rem) 0}
.sec-sm{padding:clamp(3rem,7vw,6rem) 0}

/* ============================
   BUTTONS
   ============================ */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.9rem 2.2rem;
  border-radius:var(--radius-full);
  font-family:var(--font-b);
  font-size:.85rem;
  font-weight:500;
  letter-spacing:.03em;
  text-decoration:none;
  cursor:pointer;
  border:none;
  transition:all .35s var(--ease-out-expo);
  position:relative;
  overflow:hidden;
}
.btn-gold{
  background:#006b2a;
  color:#fff;
  box-shadow:0 4px 20px var(--gold-glow);
}
.btn-gold:hover{
  background:#005621;
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(34,181,71,.4);
}
.btn-outline{
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.35);
  backdrop-filter:blur(4px);
}
.btn-outline:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.7);
  transform:translateY(-3px);
}
.btn-dark{
  background:transparent;
  color:var(--navy);
  border:1.5px solid var(--navy);
}
.btn-dark:hover{
  background:var(--navy);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(10,30,88,.25);
}
.btn-arr::after{
  content:'\2192';
  transition:transform .35s var(--ease-out-expo);
  display:inline-block;
}
.btn-arr:hover::after{
  transform:translateX(5px);
}
.btn-lg{
  padding:1.1rem 2.8rem;
  font-size:.92rem;
}

/* ============================
   WHATSAPP FLOATING BUTTON
   ============================ */
.whatsapp-float {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 300;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.35s var(--ease-out-expo);
  cursor: pointer;
  text-decoration: none;
}
.whatsapp-float:hover {
  transform: translateY(-6px) scale(1.04);
  box-shadow: 0 14px 32px rgba(37, 211, 102, 0.6);
}
.whatsapp-float svg {
  width: 30px;
  height: 30px;
  fill: #fff;
  stroke: none;
}

/* ============================
   NAVIGATION
   ============================ */
.nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  padding:1.4rem 0;
  transition:all .5s var(--ease-out-expo);
}
.nav.scrolled{
  background:rgba(10,30,88,.92);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  padding:.9rem 0;
  box-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 32px rgba(0,0,0,.15);
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1320px;
  margin:0 auto;
  padding:0 clamp(1.8rem,5vw,4.5rem);
}
.nav-logo{
  display:flex;
  align-items:center;
  gap:.65rem;
  text-decoration:none;
  cursor:pointer;
  overflow: visible;
}
/* header logo size control */
.header-logo-img {
  width: 120px;
  height: auto;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  transition: transform .4s var(--ease-out-back);
  border-radius: 15px;
  transform: scale(1.25);
}
.nav-logo:hover .header-logo-img { transform: scale(1.46); }
.logo-text{display:flex;flex-direction:column}
.logo-name{
  font-family:var(--font-d);
  font-size:1.3rem;
  font-weight:500;
  color:#fff;
  line-height:1;
  letter-spacing:.03em;
}
.logo-sub{
  font-size:.52rem;
  font-weight:400;
  color:rgba(255,255,255,.42);
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-top:2px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:2.8rem;
  list-style:none;
}
.nav-links a{
  text-decoration:none;
  color:rgba(255,255,255,.68);
  font-size:.82rem;
  font-weight:400;
  letter-spacing:.05em;
  position:relative;
  cursor:pointer;
  transition:color .35s;
  padding:.3rem 0;
}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:1.5px;
  background:var(--gold-light);
  border-radius:2px;
  transition:width .4s var(--ease-out-expo);
}
.nav-links a:hover,.nav-links a.active{
  color:#fff;
}
.nav-links a:hover::after,.nav-links a.active::after{
  width:100%;
}
.nav-cta{
  background:var(--gold)!important;
  color:#fff!important;
  padding:.55rem 1.5rem!important;
  border-radius:var(--radius-full)!important;
  font-weight:500!important;
  transition:all .35s var(--ease-out-expo)!important;
}
.nav-cta::after{display:none!important}
.nav-cta:hover{
  background:var(--gold-light)!important;
  transform:translateY(-2px);
  box-shadow:0 8px 24px var(--gold-glow);
}
.burger{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  background:none;
  border:none;
  padding:6px;
}
.burger span{
  display:block;
  width:26px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:all .35s var(--ease-out-expo);
}
.burger.open span:nth-child(1){
  transform:rotate(45deg) translate(5px,5px);
}
.burger.open span:nth-child(2){
  opacity:0;
}
.burger.open span:nth-child(3){
  transform:rotate(-45deg) translate(5px,-5px);
}

/* ============================
   MOBILE MENU
   Fixed: always display:flex, use visibility + pointer-events
   so the opacity transition actually plays on both open and close
   ============================ */
.mob-menu{
  display:flex;
  position:fixed;
  inset:0;
  background:rgba(6,14,48,.97);
  backdrop-filter:blur(30px);
  -webkit-backdrop-filter:blur(30px);
  z-index:250;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2.5rem;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .5s var(--ease-out-expo),visibility .5s var(--ease-out-expo);
}
.mob-menu.open{
  opacity:1;
  visibility:visible;
  pointer-events:all;
}
.mob-menu a{
  font-family:var(--font-d);
  font-size:2.8rem;
  color:#fff;
  text-decoration:none;
  opacity:.7;
  transition:opacity .35s;
  cursor:pointer;
  letter-spacing:-.01em;
}
.mob-menu a:hover{opacity:1}
.mob-close{
  position:absolute;
  top:2rem;
  right:2rem;
  z-index:2;
  background:none;
  border:none;
  color:#fff;
  font-size:2.5rem;
  cursor:pointer;
  line-height:1;
  opacity:.6;
  touch-action:manipulation;
  transition:opacity .35s;
}
.mob-close:hover{opacity:1}

/* ============================
   DECORATIVE ORB SYSTEM
   ============================ */
.orb{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  filter:blur(80px);
  opacity:.06;
  z-index:0;
}
.orb-gold{background:var(--gold)}
.orb-sage{background:var(--sage)}
.orb-white{background:#fff;opacity:.04}

/* ============================
   SVG ICON BASE STYLES
   ============================ */
.icon-20{width:20px;height:20px;flex-shrink:0}
.icon-24{width:24px;height:24px;flex-shrink:0}
.icon-28{width:28px;height:28px;flex-shrink:0}
.icon-32{width:32px;height:32px;flex-shrink:0}
.icon-44{width:44px;height:44px;flex-shrink:0}
.icon-48{width:48px;height:48px;flex-shrink:0}
.icon-white{color:#fff;stroke:#fff;fill:none}
.icon-gold{color:var(--gold);stroke:var(--gold);fill:none}
.icon-sage{color:var(--sage);stroke:var(--sage);fill:none}
.icon-navy{color:var(--navy);stroke:var(--navy);fill:none}

/* ============================
   HERO — HOME (FULL BACKGROUND IMAGE)
   ============================ */
.hero{
  min-height:100vh;
  background:var(--navy-deep);
  position:relative;
  overflow:hidden;
  display: flex;
  align-items: center;
}
.hero-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position:center 20%;
  filter: saturate(.72) brightness(.55);
  z-index: 0;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg, rgba(6,14,48,.88) 0%, rgba(6,14,48,.55) 55%, rgba(6,14,48,.35) 100%);
  z-index: 1;
}
.hero .orb:nth-child(1){
  width:700px;
  height:700px;
  top:-200px;
  right:-150px;
  background:var(--gold);
  opacity:.06;
  filter:blur(100px);
  z-index: 0;
}
.hero .orb:nth-child(2){
  width:400px;
  height:400px;
  bottom:-100px;
  left:10%;
  background:var(--sage);
  opacity:.05;
  filter:blur(70px);
  z-index: 0;
}
.hero .orb:nth-child(3){
  width:250px;
  height:250px;
  top:30%;
  left:55%;
  background:#fff;
  opacity:.04;
  filter:blur(60px);
  z-index: 0;
}
.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(7rem,12vw,11rem) clamp(2rem,7vw,7rem) clamp(4rem,8vw,7rem);
  display: flex;
  flex-direction: column;
}
.hero-l{
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width: 700px;
}
.hero-ey{
  display:flex;
  align-items:center;
  gap:.8rem;
  margin-bottom:2rem;
}
.hero-line{
  width:44px;
  height:1.5px;
  background:var(--gold-light);
  border-radius:2px;
}
.hero-h{
  color:#fff;
  margin-bottom:1.8rem;
}
.hero-h em{
  font-style:italic;
  color:var(--gold-light);
  position:relative;
}
.hero-h em::after{
  content:'';
  position:absolute;
  bottom:4px;
  left:0;
  right:0;
  height:8px;
  background:var(--gold);
  opacity:.15;
  border-radius:4px;
  z-index:-1;
}
.hero-p{
  color:rgba(255,255,255,.7);
  font-size:clamp(.9rem,1.5vw,1.04rem);
  font-weight:300;
  line-height:1.82;
  max-width:480px;
  margin-bottom:2.8rem;
}
.hero-acts{
  display:flex;
  align-items:center;
  gap:1.2rem;
  flex-wrap:wrap;
}
.hero-stats{
  margin-top:4rem;
  display:flex;
  gap:2.8rem;
}
.hs-item{display:flex;flex-direction:column;gap:.2rem}
.hs-num{
  font-family:var(--font-d);
  font-size:2.2rem;
  color:#fff;
  font-weight:400;
  line-height:1;
}
.hs-lbl{
  font-size:.66rem;
  color:rgba(255,255,255,.55);
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* ============================
   STATS STRIP
   ============================ */
.stats-strip{
  background:var(--navy-mid);
  position:relative;
  overflow:hidden;
}
.stats-strip::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
}
.stats-inner{
  display:flex;
}
.stat-item{
  flex:1;
  padding:2.8rem 2rem;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.05);
  transition:background .4s;
  cursor:default;
}
.stat-item:last-child{border-right:none}
.stat-item:hover{background:rgba(255,255,255,.02)}
.stat-num{
  font-family:var(--font-d);
  font-size:clamp(2rem,4.5vw,3.8rem);
  font-weight:400;
  color:#fff;
  line-height:1;
  margin-bottom:.45rem;
}
.stat-num span{color:var(--gold-light)}
.stat-lbl{
  font-size:.7rem;
  color:rgba(255,255,255,.78);
  letter-spacing:.11em;
  text-transform:uppercase;
}

/* ============================
   SECTION HEADER
   ============================ */
.sec-hdr{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:4rem;
  gap:2rem;
}
.sec-hdr-l{max-width:520px}
.sec-title{margin-top:.8rem;color:var(--text-dark)}

/* ============================
   SERVICE CARDS — HOME
   ============================ */
.srv-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:1.4rem;
}
.srv-card{
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform .5s var(--ease-out-expo),box-shadow .5s var(--ease-out-expo);
  cursor:pointer;
  position:relative;
}
.srv-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
}
.srv-feat{grid-row:1/3}
.srv-img-w{overflow:hidden;height:200px;position:relative}
.srv-feat .srv-img-w{height:380px}
.srv-img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease-out-expo);
}
.srv-card:hover .srv-img{transform:scale(1.06)}
.srv-img-w::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:40%;
  background:linear-gradient(0deg,rgba(0,0,0,.25),transparent);
  pointer-events:none;
}
.srv-body{padding:1.8rem}
.srv-tag{
  display:inline-block;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--sage);
  background:var(--sage-pale);
  padding:.3rem .7rem;
  border-radius:var(--radius-full);
  margin-bottom:.7rem;
}
.srv-name{
  font-family:var(--font-d);
  font-size:clamp(1.1rem,2vw,1.55rem);
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:.5rem;
  line-height:1.25;
}
.srv-desc{
  font-size:.82rem;
  color:var(--text-mid);
  line-height:1.68;
  margin-bottom:1rem;
}
.srv-lnk{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.78rem;
  font-weight:500;
  color:var(--gold);
  cursor:pointer;
  transition:gap .35s var(--ease-out-expo);
  background:none;
  border:none;
  font-family:var(--font-b);
  padding:0;
}
.srv-lnk:hover{gap:.65rem}

/* ============================
   ICON CIRCLE
   ============================ */
.icon-circle{
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--gold-pale);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  flex-shrink:0;
}
.icon-circle svg{
  width:22px;
  height:22px;
  color:var(--gold);
  stroke:var(--gold);
}

/* ============================
   CARE STORY SECTION
   ============================ */
.care-sec{
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.care-sec .orb{
  width:500px;
  height:500px;
  bottom:-150px;
  right:-100px;
  background:var(--gold);
  opacity:.04;
  filter:blur(90px);
}
.care-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(3.5rem,7vw,8rem);
  align-items:center;
  position:relative;
  z-index:1;
}
.care-img-w{position:relative}
.care-img-main{
  width:100%;
  height:540px;
  object-fit:cover;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
}
.care-img-acc{
  position:absolute;
  width:55%;
  height:200px;
  object-fit:fill;
  border-radius:var(--radius-lg);
  bottom:-2.5rem;
  right:-2.5rem;
  border:5px solid var(--cream);
  box-shadow:var(--shadow-xl);
}
.care-cnt{padding:2rem 0}
.care-p{
  font-size:.92rem;
  color:var(--text-mid);
  line-height:1.85;
  margin-top:1.5rem;
}
.care-list{
  list-style:none;
  margin:2rem 0;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.care-list li{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  font-size:.86rem;
  color:var(--text-mid);
  line-height:1.55;
}
.chk{
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
  box-shadow:0 4px 12px var(--gold-glow);
}

/* ============================
   TEAM CARDS
   ============================ */
.docs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
  margin-top:4rem;
}
.doc-card{
  background:#fff;
  border-radius:var(--radius-xl);
  overflow:hidden;
  transition:transform .5s var(--ease-out-expo),box-shadow .5s var(--ease-out-expo);
}
.doc-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-xl);
}
.doc-img-w{
  height:300px;
  overflow:hidden;
  position:relative;
  background:var(--cream-warm);
}
.doc-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .6s var(--ease-out-expo);
}
.doc-card:hover .doc-img{transform:scale(1.05)}
.doc-ov{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:65%;
  background:linear-gradient(0deg,rgba(10,30,88,.72) 0%,transparent 100%);
}
.doc-badge{
  position:absolute;
  bottom:1.2rem;
  left:1.2rem;
  background:var(--gold);
  color:#fff;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  padding:.3rem .7rem;
  border-radius:var(--radius-full);
  box-shadow:0 4px 16px rgba(34,181,71,.4);
}
.doc-info{padding:1.4rem 1.6rem 1.6rem}
.doc-name{
  font-family:var(--font-d);
  font-size:1.35rem;
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:.25rem;
}
.doc-title{
  font-size:.78rem;
  color:var(--text-light);
  margin-bottom:1.2rem;
}
.doc-meta{
  display:flex;
  gap:1.8rem;
  padding-top:1.2rem;
  border-top:1px solid var(--border);
}
.doc-m-item{display:flex;flex-direction:column;gap:.1rem}
.doc-m-val{
  font-family:var(--font-d);
  font-size:1.4rem;
  font-weight:400;
  color:var(--text-dark);
  line-height:1;
}
.doc-m-key{
  font-size:.62rem;
  color:var(--text-light);
  letter-spacing:.09em;
  text-transform:uppercase;
}

/* ============================
   CTA SECTION
   ============================ */
.cta-sec{
  background:var(--navy);
  position:relative;
  overflow:hidden;
}
.cta-sec .orb:nth-child(1){
  width:600px;
  height:600px;
  top:-200px;
  right:-100px;
  background:var(--gold);
  opacity:.05;
}
.cta-sec .orb:nth-child(2){
  width:350px;
  height:350px;
  bottom:-80px;
  left:-80px;
  background:var(--sage);
  opacity:.04;
}
.cta-inner{
  text-align:center;
  position:relative;
  z-index:1;
}
.cta-inner .d-lg{
  color:#fff;
  margin:1.2rem 0 1.8rem;
}
.cta-p{
  color:rgba(255,255,255,.48);
  max-width:480px;
  margin:0 auto 2.8rem;
  font-size:.94rem;
  line-height:1.8;
  font-weight:300;
}
.cta-acts{
  display:flex;
  justify-content:center;
  gap:1.2rem;
  flex-wrap:wrap;
}

/* ============================
   ABOUT PAGE
   ============================ */
.ab-hero{
  min-height:75vh;
  background:var(--navy-deep);
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:clamp(7rem,12vw,11rem) 0 clamp(5rem,8vw,8rem);
}
.ab-hero .orb:nth-child(1){
  width:500px;
  height:500px;
  top:-100px;
  right:-100px;
  background:var(--gold);
  opacity:.05;
}
.ab-hero-bg{
  position:absolute;
  inset:0;
  object-fit:cover;
  width:100%;
  height:100%;
  opacity:1;
  filter:saturate(.72) brightness(.55);
  z-index:0;
}
.ab-hero::after,
.sv-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(95deg, rgba(6,14,48,.88) 0%, rgba(6,14,48,.55) 55%, rgba(6,14,48,.35) 100%);
  z-index:1;
}
.ab-hero .wrap,
.sv-hero .wrap{
  position:relative;
  z-index:2;
}
.ab-hero-cnt{
  position:relative;
  z-index:2;
  max-width:720px;
}
.ab-hero-cnt .d-xl{
  color:#fff;
  margin:1.2rem 0;
}
.ab-hero-cnt .d-xl em{
  font-style:italic;
  color:var(--gold-light);
}
.ab-hero-cnt p{
  color:rgba(255,255,255,.55);
  font-size:1rem;
  line-height:1.82;
  font-weight:300;
  max-width:560px;
}

.about-logo-sec{
  background:transparent;
  padding:1.5rem 0 1rem;
}
.about-logo-sec .wrap{
  display:flex;
  justify-content:center;
}
.brand-logo-wrap{
  max-width:360px;
  width:100%;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  display:flex;
  margin-top: 20px;
  margin-bottom: -10px;
  justify-content:center;
  align-items:center;
}
.brand-logo-wrap img{
  width:min(280px,100%);
  height:auto;
  object-fit:contain;
}

/* MISSION CARDS */
.m-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.8rem;
  margin-top:4.5rem;
}
.m-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:3.5rem;
  position:relative;
  overflow:hidden;
  transition:transform .5s var(--ease-out-expo),box-shadow .5s var(--ease-out-expo);
}
.m-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-xl);
}
.m-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--gold),var(--sage));
  border-radius:0 0 4px 4px;
}
.m-num{
  font-family:var(--font-d);
  font-size:5.5rem;
  font-weight:300;
  color:var(--cream-deep);
  line-height:1;
  margin-bottom:1.8rem;
}
.m-title{
  font-family:var(--font-d);
  font-size:1.9rem;
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:1.2rem;
}
.m-text{
  font-size:.88rem;
  color:var(--text-mid);
  line-height:1.82;
}

/* VALUES */
.vals-sec{
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.v-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.4rem;
  margin-top:4rem;
}
.v-card{
  padding:2.5rem 2rem;
  background:#fff;
  border-radius:var(--radius-lg);
  transition:all .5s var(--ease-out-expo);
  cursor:default;
}
.v-card:hover{
  background:var(--navy);
  transform:translateY(-6px);
  box-shadow:var(--shadow-xl);
}
.v-card:hover .v-title,.v-card:hover .v-text{color:#fff}
.v-card:hover .v-icon-w{
  background:rgba(255,255,255,.12);
  box-shadow:0 0 0 8px rgba(255,255,255,.04);
}
.v-icon-w{
  width:52px;
  height:52px;
  border-radius:var(--radius-md);
  background:var(--cream);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.5rem;
  font-size:1.4rem;
  transition:all .5s var(--ease-out-expo);
}
.v-icon-w svg{
  width:24px;
  height:24px;
  color:var(--gold);
  stroke:var(--gold);
}
.v-card:hover .v-icon-w svg{
  color:var(--gold-light);
  stroke:var(--gold-light);
}
.v-title{
  font-family:var(--font-d);
  font-size:1.25rem;
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:.5rem;
  transition:color .5s;
}
.v-text{
  font-size:.8rem;
  color:var(--text-mid);
  line-height:1.7;
  transition:color .5s;
}

/* COMMITMENT CARDS */
.commit-sec{background:var(--off-white)}
.commit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
  margin-top:4rem;
}
.commit-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:3rem 2.5rem;
  position:relative;
  border:1px solid var(--border);
  transition:all .5s var(--ease-out-expo);
}
.commit-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-xl);
  border-color:var(--gold);
}
.commit-num{
  font-family:var(--font-d);
  font-size:4rem;
  font-weight:300;
  color:var(--cream-deep);
  line-height:1;
  margin-bottom:1.2rem;
}
.commit-icon{
  width:44px;
  height:44px;
  margin-bottom:1rem;
  color:var(--gold);
  stroke:var(--gold);
}
.commit-icon svg{
  width:100%;
  height:100%;
}
.commit-title{
  font-family:var(--font-d);
  font-size:1.5rem;
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:.8rem;
}
.commit-text{
  font-size:.84rem;
  color:var(--text-mid);
  line-height:1.75;
}

/* ============================
   SERVICES PAGE
   ============================ */
.sv-hero{
  min-height:60vh;
  background:var(--navy-deep);
  padding:clamp(9rem,13vw,13rem) 0 clamp(5rem,7vw,7rem);
  position:relative;
  overflow:hidden;
}
.sv-hero .d-lg{
  color:#fff;
  margin:1.2rem 0;
  max-width:620px;
}
.sv-hero-p{
  color:rgba(255,255,255,.5);
  max-width:500px;
  font-size:.94rem;
  line-height:1.75;
  font-weight:300;
}
.sv-cats{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin-top:2.8rem;
}
.sv-cat{
  padding:.55rem 1.3rem;
  border-radius:var(--radius-full);
  font-size:.76rem;
  font-weight:500;
  cursor:pointer;
  border:1.5px solid rgba(255,255,255,.2);
  background:transparent;
  color:rgba(255,255,255,.6);
  transition:all .35s var(--ease-out-expo);
  letter-spacing:.03em;
  font-family:var(--font-b);
}
.sv-cat:hover,.sv-cat.active{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
  box-shadow:0 4px 16px var(--gold-glow);
}
/* Featured Service */
.feat-sv{background:var(--off-white);padding:clamp(6rem,9vw,9rem) 0 0}
.feat-sv-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
}
.feat-sv-img{
  height:500px;
  border-radius:var(--radius-xl);
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow-lg);
}
.feat-sv-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.feat-tag{
  position:absolute;
  top:1.8rem;
  left:1.8rem;
  background:var(--gold);
  color:#fff;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.35rem .85rem;
  border-radius:var(--radius-full);
  box-shadow:0 4px 16px rgba(34,181,71,.5);
}
.feat-sv-cnt .eyebrow{display:block;margin-bottom:.8rem}
.feat-sv-cnt .d-md{color:var(--text-dark);margin-top:.8rem;margin-bottom:1.4rem}
.feat-sv-cnt p{
  font-size:.9rem;
  color:var(--text-mid);
  line-height:1.8;
  margin-bottom:1.8rem;
}
.feat-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.65rem;
  margin-bottom:2.2rem;
}
.feat-list li{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:.84rem;
  color:var(--text-mid);
}
.feat-list li::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  flex-shrink:0;
  box-shadow:0 0 8px var(--gold-glow);
}
/* All Services Grid */
.all-svs{
  padding:clamp(5rem,9vw,9rem) 0 clamp(6rem,11vw,11rem);
  background:var(--off-white);
}
.all-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
  margin-top:3.5rem;
}
.sv-tile{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:2.2rem;
  transition:all .45s var(--ease-out-expo);
  cursor:pointer;
  border:1px solid transparent;
  display:flex;
  flex-direction:column;
  gap:.8rem;
}
.sv-tile:hover{
  border-color:var(--gold);
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
}
.sv-tile-ic{
  width:36px;
  height:36px;
  margin-bottom:.3rem;
  color:var(--gold);
  stroke:var(--gold);
}
.sv-tile-ic svg{
  width:100%;
  height:100%;
}
.sv-tile-name{
  font-family:var(--font-d);
  font-size:1.38rem;
  font-weight:500;
  color:var(--text-dark);
}
.sv-tile-desc{
  font-size:.9rem;
  color:var(--text-mid);
  line-height:1.65;
  flex:1;
}
.sv-tile-lnk{
  font-size:.76rem;
  font-weight:500;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:.35rem;
  margin-top:.5rem;
  transition:gap .35s var(--ease-out-expo);
  cursor:pointer;
  background:none;
  border:none;
  font-family:var(--font-b);
  padding:0;
}
.sv-tile:hover .sv-tile-lnk{gap:.6rem}

.sv-tile--with-bg {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy-deep);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.sv-tile--with-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--sv-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  filter: saturate(.72) brightness(.55);
  transform: scale(1.04);
  transition:
    transform .55s var(--ease-out-expo),
    filter .55s var(--ease-out-expo);
}
.sv-tile--with-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    135deg,
    rgba(6, 14, 48, 0.9) 0%,
    rgba(6, 14, 48, 0.72) 55%,
    rgba(6, 14, 48, 0.48) 100%
  );
  transition: background .45s var(--ease-out-expo);
}
.sv-tile--with-bg > * {
  position: relative;
  z-index: 1;
}
.sv-tile--with-bg .sv-tile-name { color: #fff; }
.sv-tile--with-bg .sv-tile-desc { color: rgba(255, 255, 255, 0.72); }
.sv-tile--with-bg .sv-tile-ic { color: var(--gold-light); stroke: var(--gold-light); }
.sv-tile--with-bg .sv-tile-lnk { color: var(--gold-light); }
.sv-tile--with-bg:hover::before {
  transform: scale(1.1);
  filter: saturate(.85) brightness(.5);
}
.sv-tile--with-bg:hover::after {
  background: linear-gradient(
    135deg,
    rgba(6, 14, 48, 0.94) 0%,
    rgba(6, 14, 48, 0.78) 55%,
    rgba(6, 14, 48, 0.56) 100%
  );
}

/* ============================
   TEAM PAGE
   ============================ */
.docs-hero{
  background:var(--cream);
  padding:clamp(9rem,13vw,13rem) 0 clamp(4rem,6vw,6rem);
  position:relative;
  overflow:hidden;
}
.docs-hero .d-lg{
  color:var(--text-dark);
  margin:1rem 0 1.4rem;
  max-width:580px;
}
.docs-hero .d-lg em{font-style:italic;color:var(--sage)}
.docs-hero p{
  color:var(--text-mid);
  max-width:520px;
  font-size:.94rem;
  line-height:1.75;
}
.filter-tabs{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  margin:3.5rem 0 3rem;
}
.ftab{
  padding:.58rem 1.3rem;
  border-radius:var(--radius-full);
  font-size:.77rem;
  font-weight:500;
  cursor:pointer;
  border:1.5px solid var(--border-mid);
  background:transparent;
  color:var(--text-mid);
  transition:all .35s var(--ease-out-expo);
  font-family:var(--font-b);
}
.ftab:hover,.ftab.active{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
  box-shadow:0 4px 16px rgba(10,30,88,.25);
}
.docs-full{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.4rem;
  padding-bottom:clamp(6rem,11vw,11rem);
}

/* ============================
   CONTACT PAGE
   ============================ */
.emg-strip{
  background:#C73728;
  padding:.9rem 0;
  text-align:center;
  margin-top:72px;
  position:relative;
  z-index:10;
}
.emg-strip-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.emg-strip p{
  color:#fff;
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.02em;
}
.emg-strip a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
  margin-left:.4rem;
  border-bottom:1px dashed rgba(255,255,255,.5);
}
.emg-strip a:hover{border-bottom-color:#fff}
.ct-hero{
  background:var(--navy);
  padding:clamp(4.5rem,8vw,8rem) 0 clamp(4rem,7vw,7rem);
  position:relative;
  overflow:hidden;
}
.ct-hero .d-lg{
  color:#fff;
  margin:1rem 0 1.2rem;
}
.ct-hero p{
  color:rgba(255,255,255,.5);
  font-size:.94rem;
  line-height:1.75;
  max-width:480px;
  font-weight:300;
}
.ct-main{
  padding:clamp(5rem,9vw,9rem) 0 clamp(6rem,11vw,11rem);
}
.ct-layout{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:5rem;
  align-items:start;
}
.ct-cards{display:flex;flex-direction:column;gap:1.4rem}
.ct-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:1.8rem;
  display:flex;
  gap:1.2rem;
  align-items:flex-start;
  transition:transform .4s var(--ease-out-expo),box-shadow .4s var(--ease-out-expo);
  border:1px solid var(--border);
}
.ct-card:hover{
  transform:translateX(6px);
  box-shadow:var(--shadow-md);
  border-color:var(--gold);
}
.ct-c-ic{
  width:48px;
  height:48px;
  border-radius:var(--radius-md);
  background:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ct-c-ic svg{
  width:22px;
  height:22px;
  color:#fff;
  stroke:#fff;
}
.ct-c-body h4{
  font-family:var(--font-d);
  font-size:1.05rem;
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:.25rem;
}
.ct-c-body p,.ct-c-body a{
  font-size:.82rem;
  color:var(--text-mid);
  line-height:1.6;
  text-decoration:none;
  display:block;
}
.ct-c-body a:hover{color:var(--gold)}
.hrs-card{
  background:var(--navy);
  border-radius:var(--radius-lg);
  padding:2.2rem;
  margin-top:1.4rem;
}
.hrs-title{
  font-family:var(--font-d);
  font-size:1.25rem;
  color:#fff;
  margin-bottom:1.4rem;
}
.hrs-row{
  display:flex;
  justify-content:space-between;
  font-size:.8rem;
  padding:.65rem 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  color:rgba(255,255,255,.58);
}
.hrs-row:last-child{border-bottom:none}
.hrs-row .time{color:var(--gold-light)}
.hrs-row .time-emg{color:#4AE57A}

/* Appointment Form */
.appt-wrap{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:clamp(2.5rem,5vw,3.8rem);
  box-shadow:var(--shadow-md);
  border:1px solid var(--border);
}
.appt-title{
  font-family:var(--font-d);
  font-size:2.2rem;
  font-weight:500;
  color:var(--text-dark);
  margin-bottom:.5rem;
}
.appt-sub{
  font-size:.82rem;
  color:var(--text-light);
  margin-bottom:2.2rem;
}
.f-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.f-grp{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  margin-bottom:1.4rem;
}
.f-grp label{
  font-size:.7rem;
  font-weight:600;
  color:var(--text-dark);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.f-grp input,.f-grp select,.f-grp textarea{
  padding:.78rem 1.1rem;
  border:1.5px solid var(--border);
  border-radius:var(--radius-sm);
  font-family:var(--font-b);
  font-size:.85rem;
  color:var(--text-dark);
  background:var(--off-white);
  transition:all .35s;
  outline:none;
  width:100%;
}
.f-grp input:focus,.f-grp select:focus,.f-grp textarea:focus{
  border-color:var(--gold);
  background:#fff;
  box-shadow:0 0 0 4px rgba(34,181,71,.06);
}
.f-grp textarea{resize:vertical;min-height:100px}
.f-sub{
  width:100%;
  padding:.95rem;
  background:var(--navy);
  color:#fff;
  border:none;
  border-radius:var(--radius-sm);
  font-family:var(--font-b);
  font-size:.9rem;
  font-weight:500;
  cursor:pointer;
  letter-spacing:.04em;
  transition:all .35s var(--ease-out-expo);
}
.f-sub:hover{
  background:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 8px 24px var(--gold-glow);
}
.f-note{
  font-size:.7rem;
  color:var(--text-light);
  margin-top:1rem;
  text-align:center;
  line-height:1.6;
}
.f-note a{color:var(--gold);text-decoration:none}

/* ============================
   FORM VALIDATION STYLES
   Added for inline error feedback — minimal, non-visual-breaking
   ============================ */
.f-grp input.f-invalid,
.f-grp select.f-invalid,
.f-grp textarea.f-invalid {
  border-color: #e53e3e;
  background: #fff5f5;
}
.f-grp input.f-invalid:focus,
.f-grp select.f-invalid:focus {
  box-shadow: 0 0 0 4px rgba(229,62,62,.08);
}
.f-err-msg {
  font-size: .68rem;
  color: #e53e3e;
  margin-top: .15rem;
  display: block;
  font-weight: 500;
}

/* Map */
.map-sec{
  padding:0 0 clamp(6rem,11vw,11rem);
  background:var(--off-white);
}
.map-ph{
  background:var(--cream-warm);
  border-radius:var(--radius-xl);
  height:380px;
  position:relative;
  overflow:hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map-ph iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.map-pin-w{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.8rem;
  position:absolute;
  z-index:1;
  pointer-events: none;
}
.map-pin{
  width:48px;
  height:48px;
  background:var(--gold);
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 8px 28px rgba(34,181,71,.5);
  animation:pinPulse 3s ease-in-out infinite;
}
@keyframes pinPulse{
  0%,100%{box-shadow:0 8px 28px rgba(34,181,71,.5)}
  50%{box-shadow:0 8px 50px rgba(34,181,71,.8)}
}
.map-lbl{
  font-family:var(--font-d);
  font-size:1.3rem;
  color:var(--text-dark);
  font-weight:500;
}
.map-addr{
  font-size:.78rem;
  color:var(--text-mid);
  text-align:center;
}

/* ============================
   FOOTER
   ============================ */
.footer{
  background:var(--navy-deep);
  padding:clamp(5rem,9vw,8rem) 0 2.5rem;
  position:relative;
  overflow:hidden;
}
.ft-top{
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1fr;
  gap:3.5rem;
  padding-bottom:3.5rem;
  border-bottom:1px solid rgba(255,255,255,.05);
  margin-bottom:2.5rem;
}
.ft-brand p{
  font-size:.82rem;
  color:rgba(255,255,255,.78);
  line-height:1.8;
  margin-top:1.2rem;
  max-width:280px;
}
.ft-logo-wrap{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  cursor:pointer;
  text-decoration:none;
}
/* footer logo */
.footer-logo-img {
  width: min(280px, 100%);
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 15px;
}
.ft-col-h{
  font-family:var(--font-d);
  font-size:.92rem;
  font-weight:500;
  color:#fff;
  margin-bottom:1.3rem;
  letter-spacing:.05em;
}
.ft-links{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.ft-links li a{
  font-size:.78rem;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  cursor:pointer;
  transition:color .35s;
}
.ft-links li a:hover{color:var(--gold-light)}
.ft-bot{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.ft-bot p{
  font-size:.72rem;
  color:rgba(255,255,255,.78);
}
.ft-legal{
  display:flex;
  gap:1.8rem;
}
.ft-legal a{
  font-size:.72rem;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  cursor:pointer;
  transition:color .35s;
}
.ft-legal a:hover{color:#fff}
.social-links{
  display:flex;
  gap:.8rem;
  margin-top:1.4rem;
}
.social-link{
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .35s var(--ease-out-expo);
  cursor:pointer;
  text-decoration:none;
}
.social-link svg{
  width:16px;
  height:16px;
  color:rgba(255,255,255,.5);
  stroke:rgba(255,255,255,.5);
  fill:none;
}
.social-link:hover{
  background:var(--gold);
  transform:translateY(-3px);
}
.social-link:hover svg{
  color:#fff;
  stroke:#fff;
}

/* ============================
   SCROLL REVEAL
   ============================ */
.rev{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo);
}
.rev.vis{
  opacity:1;
  transform:translateY(0);
}
.rd1{transition-delay:.1s}
.rd2{transition-delay:.2s}
.rd3{transition-delay:.3s}
.rd4{transition-delay:.4s}

/* ============================
   RESPONSIVE
   ============================ */
@media(max-width:1100px){
  .hero-content {
    padding-left: clamp(1.5rem, 5vw, 3rem);
    padding-right: clamp(1.5rem, 5vw, 3rem);
  }
  .srv-grid{
    grid-template-columns:1fr 1fr;
  }
  .srv-feat{
    grid-column:1/-1;
    grid-row:auto;
  }
  .srv-feat .srv-img-w{
    height:300px;
  }
  .care-inner,.ct-layout,.feat-sv-inner{
    grid-template-columns:1fr;
  }
  .care-img-main{
    height:400px;
  }
  .care-img-acc{
    display:none;
  }
  .docs-grid{
    grid-template-columns:1fr 1fr;
  }
  .docs-full{
    grid-template-columns:repeat(2,1fr);
  }
  .m-grid{
    grid-template-columns:1fr;
  }
  .v-grid{
    grid-template-columns:1fr 1fr;
  }
  .commit-grid{
    grid-template-columns:1fr;
  }
  .ft-top{
    grid-template-columns:1fr 1fr;
  }
  .stats-inner{
    flex-wrap:wrap;
  }
  .stat-item{
    flex:0 0 50%;
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.05);
  }
  .all-grid{
    grid-template-columns:1fr 1fr;
  }
  .feat-sv-img{
    height:400px;
  }
}
@media(max-width:768px){
  .header-logo-img{
    width:92px;
    transform:scale(1);
  }
  .nav-logo:hover .header-logo-img{
    transform:scale(1.06);
  }
  .nav-links{
    display:none;
  }
  .burger{
    display:flex;
  }
  .srv-grid,.docs-grid,.docs-full,.v-grid,.all-grid,.commit-grid{
    grid-template-columns:1fr;
  }
  .ft-top{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .ft-bot{
    flex-direction:column;
    gap:1rem;
    text-align:center;
  }
  .hero-stats{
    gap:1.5rem;
  }
  .sec-hdr{
    flex-direction:column;
    align-items:flex-start;
  }
  .f-row{
    grid-template-columns:1fr;
  }
  .hero-acts,.cta-acts{
    flex-direction:column;
    align-items:flex-start;
  }
  .cta-acts{
    align-items:center;
  }
  .m-card{
    padding:2.5rem 2rem;
  }
  .v-card{
    padding:2rem 1.5rem;
  }
  .commit-card{
    padding:2.5rem 2rem;
  }
  .emg-strip-inner{
    flex-direction:column;
    gap:.3rem;
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
  .rev{
    opacity:1;
    transform:none;
  }
}
