:root{
  --forest:#1B4332;
  --forest-deep:#122B21;
  --leaf:#40916C;
  --leaf-light:#74A57F;
  --earth:#A9744F;
  --earth-light:#C79766;
  --gold:#D4A144;
  --cream:#FAF6EC;
  --cream-alt:#F1E8D6;
  --ink:#22301D;
  --ink-soft:#4A5D45;
  --line:rgba(27,67,50,0.14);
  --max:1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Public Sans', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  color:var(--forest);
  margin:0 0 0.4em 0;
  line-height:1.15;
  font-weight:600;
}
p{margin:0 0 1em 0;}
a{color:inherit;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
section{padding:96px 0;}
ul{margin:0; padding:0;}

a:focus-visible, button:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(250,246,236,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.brand{
  display:flex; align-items:center; gap:12px;
  text-decoration:none;
}
.brand-mark{width:44px; height:44px; flex-shrink:0; object-fit:contain;}
.brand-text{font-family:'Fraunces', serif; font-weight:600; color:var(--forest); font-size:0.92rem; line-height:1.15; max-width:245px;}


nav ul{display:flex; gap:32px; list-style:none;}
nav a{
  text-decoration:none; color:var(--ink-soft); font-weight:600; font-size:0.92rem;
  padding:4px 0; border-bottom:2px solid transparent;
}
nav a:hover{color:var(--forest); border-color:var(--gold);}
nav a[aria-current="page"]{color:var(--forest); border-color:var(--earth);}
.nav-cta{
  background:var(--forest); color:var(--cream); padding:10px 20px; border-radius:3px;
  font-weight:600; font-size:0.88rem; text-decoration:none; white-space:nowrap;
  transition:background 0.15s ease;
}
.nav-cta:hover{background:var(--leaf);}
.menu-btn{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.menu-btn span{display:block; width:24px; height:2px; background:var(--forest); margin:5px 0;}

/* ---------- Hero (home page) ---------- */
.hero{
  padding:72px 0 0 0;
  background:linear-gradient(180deg, var(--cream) 0%, var(--cream-alt) 100%);
  overflow:hidden;
}
.hero .wrap{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
}
.eyebrow-tag{
  display:inline-block; color:var(--earth); font-weight:700; font-size:0.82rem;
  margin-bottom:18px; letter-spacing:0.01em;
}
.hero h1{
  font-size:clamp(2.2rem, 3.6vw, 3.05rem);
  font-weight:600;
  max-width:12ch;
}
.hero .tagline{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  color:var(--leaf); font-size:1.22rem; margin:14px 0 20px 0;
}
.hero p.lead{
  color:var(--ink-soft); font-size:1.05rem; max-width:46ch; margin-bottom:30px;
}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 26px; border-radius:3px; font-weight:600; font-size:0.95rem;
  text-decoration:none; border:1.5px solid transparent; cursor:pointer;
  transition:transform 0.12s ease, background 0.15s ease;
}
.btn-primary{background:var(--forest); color:var(--cream);}
.btn-primary:hover{background:var(--leaf);}
.btn-outline{border-color:var(--forest); color:var(--forest);}
.btn-outline:hover{background:var(--forest); color:var(--cream);}

.hero-art{width:100%; height:auto;}

/* ---------- Page banner (inner pages) ---------- */
.page-banner{
  padding:64px 0 52px 0;
  background:linear-gradient(180deg, var(--cream) 0%, var(--cream-alt) 100%);
  border-bottom:1px solid var(--line);
}
.page-banner .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:40px;
}
.page-banner h1{font-size:clamp(1.9rem, 3vw, 2.5rem); max-width:14ch;}
.page-banner p{color:var(--ink-soft); font-size:1.02rem; max-width:48ch; margin-top:10px;}
.page-banner .icon-badge{width:64px; height:64px; flex-shrink:0;}

/* ---------- Section headers ---------- */
.section-head{max-width:640px; margin-bottom:52px;}
.section-head .kicker{
  color:var(--earth); font-weight:700; font-size:0.82rem; display:block; margin-bottom:10px;
}
.section-head h2{font-size:clamp(1.7rem, 2.4vw, 2.2rem);}
.section-head p{color:var(--ink-soft); font-size:1.02rem; margin-top:12px;}

.link-more{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--earth); font-weight:700; font-size:0.94rem; text-decoration:none;
  border-bottom:1.5px solid var(--earth-light); padding-bottom:2px;
}
.link-more:hover{color:var(--forest); border-color:var(--forest);}
.link-more svg{width:16px; height:16px;}

/* ---------- About ---------- */
.about{background:var(--cream);}
.about-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
}
.about-copy p{color:var(--ink-soft); font-size:1.02rem;}
.vm-stack{display:flex; flex-direction:column; gap:22px;}
.vm-card{
  background:var(--cream-alt);
  border-left:3px solid var(--leaf);
  padding:26px 28px;
}
.vm-card.mission{border-left-color:var(--earth);}
.vm-card h3{font-size:1.15rem; margin-bottom:10px;}
.vm-card p{color:var(--ink-soft); font-size:0.97rem; margin:0;}
.vm-card ul{list-style:none; margin-top:4px;}
.vm-card li{
  color:var(--ink-soft); font-size:0.95rem; padding:6px 0 6px 20px; position:relative;
}
.vm-card li::before{
  content:""; position:absolute; left:0; top:15px; width:6px; height:6px;
  background:var(--earth); border-radius:50%;
}

/* ---------- Home teasers ---------- */
.teaser{background:var(--cream);}
.teaser-copy{max-width:640px;}
.teaser-copy p{color:var(--ink-soft); font-size:1.02rem;}

.teaser-grid{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:2px;
  background:rgba(27,67,50,0.1); margin-top:44px;
}
.teaser-card{
  background:var(--cream-alt);
  padding:26px 18px; text-align:center; text-decoration:none;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  transition:background 0.15s ease;
}
.teaser-card:hover{background:#E9DCC0;}
.teaser-card .icon{width:32px; height:32px;}
.teaser-card span{font-size:0.85rem; font-weight:600; color:var(--forest); line-height:1.3;}

.approach-teaser{background:var(--cream-alt);}
.approach-teaser-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.approach-teaser .chip-list{margin-top:20px;}

/* ---------- Core Business Areas ---------- */
.services{background:var(--forest); color:var(--cream);}
.services .section-head h2{color:var(--cream);}
.services .section-head p{color:rgba(250,246,236,0.75);}
.services .kicker{color:var(--gold);}
.service-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:2px;
  background:rgba(250,246,236,0.14);
}
.service-card{
  background:var(--forest-deep);
  padding:34px 30px;
  display:flex; flex-direction:column; gap:14px;
}
.service-card .icon{width:40px; height:40px;}
.service-card h3{color:var(--cream); font-size:1.08rem;}
.service-card ul{list-style:none; display:flex; flex-direction:column; gap:7px;}
.service-card li{
  color:rgba(250,246,236,0.72); font-size:0.9rem; padding-left:16px; position:relative;
}
.service-card li::before{
  content:"—"; position:absolute; left:0; color:var(--gold);
}

/* ---------- Strategic Advantage ---------- */
.advantage{background:var(--cream-alt);}
.adv-row{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:0;
  border-top:1px solid var(--line);
}
.adv-item{
  padding:28px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  text-align:center;
}
.adv-item:last-child{border-right:none;}
.adv-item .icon{width:32px; height:32px; margin:0 auto 14px auto;}
.adv-item p{font-size:0.86rem; font-weight:600; color:var(--forest); margin:0; line-height:1.35;}

/* ---------- Philosophy / Commitment ---------- */
.philosophy{background:var(--cream);}
.phil-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
.phil-block h3{font-size:1.28rem; margin-bottom:8px;}
.phil-block > p{color:var(--ink-soft); margin-bottom:22px; font-size:0.97rem;}
.chip-list{display:flex; flex-wrap:wrap; gap:10px;}
.chip{
  padding:9px 16px; border:1.5px solid var(--leaf); color:var(--forest);
  border-radius:100px; font-size:0.87rem; font-weight:600;
}
.phil-block.commitment .chip{border-color:var(--earth);}

/* ---------- Contact page ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
.contact-card{background:var(--cream-alt); padding:30px 32px;}
.contact-card h3{font-size:1.1rem; margin-bottom:16px;}
.contact-rows{display:flex; flex-direction:column; gap:16px;}
.contact-row{display:flex; gap:14px; align-items:flex-start;}
.contact-row .icon{width:22px; height:22px; flex-shrink:0; margin-top:2px;}
.contact-row div p{margin:0; color:var(--ink-soft); font-size:0.95rem;}
.contact-row div .label{font-weight:700; color:var(--forest); font-size:0.85rem; display:block; margin-bottom:2px;}
.contact-note{
  border-left:3px solid var(--gold); background:var(--cream-alt); padding:20px 24px;
  color:var(--ink-soft); font-size:0.95rem; margin-top:24px;
}

/* ---------- Contact / Footer CTA band ---------- */
.cta-band{
  background:var(--earth); color:var(--cream); text-align:center; padding:76px 0;
}
.cta-band h2{color:var(--cream); font-size:clamp(1.7rem,3vw,2.3rem); max-width:20ch; margin:0 auto 14px auto;}
.cta-band p{color:rgba(250,246,236,0.85); max-width:52ch; margin:0 auto 30px auto;}
.cta-band .btn-primary{background:var(--forest-deep);}
.cta-band .btn-primary:hover{background:var(--forest);}

footer{background:var(--forest-deep); color:rgba(250,246,236,0.72); padding:56px 0 28px 0;}
.foot-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:36px;
  border-bottom:1px solid rgba(250,246,236,0.14);
}
.foot-brand{display:flex; gap:12px; align-items:center; margin-bottom:14px;}
.foot-brand .brand-mark{width:32px; height:32px;}
.foot-brand span{font-family:'Fraunces',serif; color:var(--cream); font-weight:600;}
footer h4{color:var(--cream); font-size:0.88rem; margin-bottom:14px; text-transform:none;}
footer ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
footer a{text-decoration:none; color:rgba(250,246,236,0.72); font-size:0.9rem;}
footer a:hover{color:var(--gold);}
.foot-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  padding-top:24px; font-size:0.82rem; color:rgba(250,246,236,0.5);
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr; gap:36px;}
  .hero{padding-top:48px;}
  .hero-art{order:-1; max-width:420px; margin:0 auto;}
  .about-grid, .phil-grid, .contact-grid, .approach-teaser-grid{grid-template-columns:1fr; gap:40px;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .teaser-grid{grid-template-columns:repeat(3,1fr);}
  .adv-row{grid-template-columns:repeat(3,1fr);}
  .adv-item:nth-child(3){border-right:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  nav ul{display:none;}
  .menu-btn{display:block;}
  .page-banner .wrap{flex-direction:column; align-items:flex-start; gap:18px;}
}
@media (max-width:560px){
  section{padding:64px 0;}
  .service-grid{grid-template-columns:1fr;}
  .teaser-grid{grid-template-columns:repeat(2,1fr);}
  .adv-row{grid-template-columns:repeat(2,1fr);}
  .adv-item:nth-child(3){border-right:1px solid var(--line);}
  .adv-item:nth-child(2n){border-right:none;}
  .foot-grid{grid-template-columns:1fr;}
  .nav-cta{padding:8px 14px; font-size:0.82rem;}
}


/* ---------- Mobile navigation enhancement ---------- */
@media (max-width:900px){
  header nav.is-open{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--cream);
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 24px rgba(18,43,33,0.08);
  }
  header nav.is-open ul{
    display:flex;
    flex-direction:column;
    gap:0;
    padding:8px 28px 18px;
  }
  header nav.is-open li a{
    display:block;
    padding:12px 0;
    border-bottom:1px solid var(--line);
  }
  header nav.is-open li:last-child a{border-bottom:0;}
  .nav-row{position:relative;}
}


/* =========================================================
   UAAMC Color Theme Refresh
   Each inner page has a distinct accent while retaining
   the shared green-and-earth corporate identity.
   ========================================================= */

/* Shared visual polish */
.page-banner{
  position:relative;
  overflow:hidden;
}
.page-banner::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-110px;
  top:-150px;
  border-radius:50%;
  background:var(--page-accent-soft, rgba(212,161,68,.18));
  pointer-events:none;
}
.page-banner .wrap{position:relative; z-index:1;}
.page-banner h1{max-width:18ch;}
.section-head h2{letter-spacing:-.015em;}
.card, .service-card, .contact-card, .vm-card, .adv-item{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

/* ABOUT — fresh leaf / botanical palette */
.page-about{
  --page-accent:#2F855A;
  --page-accent-soft:rgba(47,133,90,.20);
}
.page-about .page-banner{
  background:
    radial-gradient(circle at 86% 18%, rgba(116,165,127,.30), transparent 24%),
    linear-gradient(135deg,#F8F7E9 0%,#E5F0DF 100%);
}
.page-about .about{
  background:linear-gradient(180deg,#FBFAF1 0%,#F0F5E9 100%);
}
.page-about .vm-card{
  background:#E6F0DF;
  border-left-color:#2F855A;
}
.page-about .vm-card.mission{
  background:#F7EBD7;
  border-left-color:#C27B36;
}
.page-about .cta-band{
  background:linear-gradient(120deg,#24543B 0%,#3F8060 100%);
}

/* SERVICES — deeper emerald with warm gold highlights */
.page-services{
  --page-accent:#D4A144;
  --page-accent-soft:rgba(212,161,68,.25);
}
.page-services .page-banner{
  background:
    radial-gradient(circle at 88% 10%,rgba(212,161,68,.28),transparent 25%),
    linear-gradient(135deg,#F7F0DF 0%,#E8E4C9 100%);
}
.page-services .services{
  background:linear-gradient(135deg,#163B2C 0%,#24543B 55%,#315F45 100%);
}
.page-services .service-card{
  background:rgba(10,39,28,.82);
  border-top:3px solid transparent;
}
.page-services .service-card:hover{
  transform:translateY(-5px);
  background:#214B36;
  border-top-color:var(--gold);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}
.page-services .service-card:nth-child(2n){
  border-top-color:#74A57F;
}
.page-services .cta-band{
  background:linear-gradient(120deg,#D4A144 0%,#B98035 100%);
}
.page-services .cta-band h2,
.page-services .cta-band p{color:#173A2A;}

/* APPROACH — calm blue-green / strategic palette */
.page-approach{
  --page-accent:#4F8F9B;
  --page-accent-soft:rgba(79,143,155,.23);
}
.page-approach .page-banner{
  background:
    radial-gradient(circle at 85% 20%,rgba(79,143,155,.25),transparent 26%),
    linear-gradient(135deg,#EDF4EF 0%,#DCEBE7 100%);
}
.page-approach .advantage{
  background:linear-gradient(180deg,#E7F0EC 0%,#D8E8E3 100%);
}
.page-approach .adv-item{
  background:rgba(255,255,255,.28);
}
.page-approach .adv-item:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 24px rgba(27,67,50,.08);
}
.page-approach .philosophy{
  background:#FAF7EF;
}
.page-approach .chip{
  border-color:#4F8F9B;
  background:rgba(79,143,155,.07);
}
.page-approach .cta-band{
  background:linear-gradient(120deg,#245D63 0%,#397D7B 100%);
}

/* CONTACT — warm, welcoming terracotta / sand palette */
.page-contact{
  --page-accent:#B86F4B;
  --page-accent-soft:rgba(184,111,75,.23);
}
.page-contact .page-banner{
  background:
    radial-gradient(circle at 86% 15%,rgba(184,111,75,.25),transparent 25%),
    linear-gradient(135deg,#FAF0E4 0%,#F0DFC9 100%);
}
.page-contact .about{
  background:linear-gradient(180deg,#FFF9F1 0%,#F7E9D9 100%);
}
.page-contact .contact-card{
  background:#FFFDF8;
  border:1px solid rgba(184,111,75,.22);
  border-top:4px solid #B86F4B;
  box-shadow:0 12px 28px rgba(116,74,48,.08);
}
.page-contact .contact-row .icon{
  background:#F4E0CE;
  border-radius:50%;
  padding:7px;
}
.page-contact .btn-primary{
  background:#9D5B3C;
}
.page-contact .btn-primary:hover{
  background:#7F472F;
}
.page-contact .cta-band{
  background:linear-gradient(120deg,#7F472F 0%,#B86F4B 100%);
}

/* Keep the palette restrained on small screens. */
@media (max-width:700px){
  .page-banner::after{width:180px;height:180px;right:-100px;top:-100px;}
  .page-services .service-card:hover,
  .page-approach .adv-item:hover{transform:none;}
}


/* =========================================================
   SAZGAR Marketing Partner pages
   ========================================================= */
.page-partner{
  --page-accent:#2374C6;
  --page-accent-soft:rgba(35,116,198,.20);
}
.page-partner .page-banner{
  background:
    radial-gradient(circle at 86% 18%,rgba(35,116,198,.24),transparent 27%),
    linear-gradient(135deg,#EAF4F5 0%,#DCE8F6 100%);
}
.partner-intro,.partner-feature-grid,.product-intro,.support-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:center;
}
.partner-hero-image,.partner-feature-grid img,.product-intro img,.support-grid img{
  width:100%;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(15,48,89,.14);
}
.partner-feature{
  padding:76px 0;
  background:linear-gradient(135deg,#E9F2E7 0%,#F7F0DF 100%);
}
.partner-feature-grid img{max-height:360px;object-fit:cover;}
.partner-stats{
  background:linear-gradient(120deg,#0E2D62 0%,#176CB0 100%);
  color:white;
  padding:38px 0;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  text-align:center;
}
.stats-grid strong{display:block;font-size:2rem;font-family:Fraunces,serif;color:#F4C95D;}
.stats-grid span{display:block;color:rgba(255,255,255,.8);font-size:.85rem;margin-top:5px;}
.partner-highlight{background:#F7FAF7;}
.feature-grid,.product-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  margin-top:28px;
}
.feature-grid article,.product-card{
  background:white;
  border:1px solid rgba(35,116,198,.14);
  border-radius:16px;
  padding:24px;
  box-shadow:0 10px 24px rgba(15,48,89,.06);
}
.feature-grid h3,.product-card h3{color:#123C67;margin-top:0;}
.partner-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 20px;border-radius:999px;border:1px solid var(--forest);
  color:var(--forest);text-decoration:none;font-weight:700;
}
.product-intro{margin-bottom:42px;}
.product-grid{grid-template-columns:repeat(2,1fr);}
.product-card{padding:0;overflow:hidden;}
.product-card img{width:100%;height:230px;object-fit:cover;display:block;}
.product-card h3,.product-card p{margin-left:22px;margin-right:22px;}
.product-card h3{margin-top:20px;}
.product-card p{margin-bottom:24px;color:var(--ink-soft);}
.source-note{font-size:.85rem;color:var(--ink-soft);margin-top:28px;}
.support-list{padding-left:20px;color:var(--ink-soft);line-height:1.9;}
@media(max-width:800px){
  .partner-intro,.partner-feature-grid,.product-intro,.support-grid{grid-template-columns:1fr;gap:26px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:28px;}
  .feature-grid,.product-grid{grid-template-columns:1fr;}
  .partner-feature{padding:52px 0;}
}


/* SAZGAR partner identity */
.sazgar-logo{
  display:block;
  width:min(260px, 100%);
  max-height:110px;
  object-fit:contain;
  object-position:left center;
  margin:0 0 18px;
  border-radius:12px;
  background:#06265E;
  padding:10px 16px;
}
.partner-feature .sazgar-logo{
  width:min(230px,100%);
}


.contact-official{
  padding:48px 0;
  background:linear-gradient(135deg,#F4F0DF 0%,#E7F0E5 100%);
}
.contact-official p{
  color:var(--ink-soft);
  line-height:1.8;
}
.contact-official a{
  color:var(--forest);
  font-weight:700;
}

/* Enlarged SAZGAR logo in the UAAMC Corporate Partners presentation */
.partner-feature .sazgar-logo,
.sazgar-feature .sazgar-logo {
  width: min(360px, 100%);
  max-height: 160px;
  padding: 14px 22px;
  margin-bottom: 24px;
}

@media (max-width: 640px) {
  .partner-feature .sazgar-logo,
  .sazgar-feature .sazgar-logo {
    width: min(300px, 100%);
    max-height: 140px;
  }
}

/* Larger SAZGAR logo on corporate-partner pages */
.partner-page-logo {
  width: min(330px, 100%);
  max-height: 150px;
}


.partner-contact-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
