:root {
  --green: #004436;
  --green2: #006044;
  --dark: #002e26;
  --gold: #c89a45;
  --cream: #f8f6ef;
  --text: #243f38;
  --muted: #687871;
  --line: #e8e4da;
  --shadow: 0 15px 38px rgba(0, 42, 34, .10);
  --soft: 0 8px 22px rgba(0, 42, 34, .055);
  --header-h: 112px;
}
* { box-sizing: border-box }
html { scroll-behavior: smooth }
body { margin: 0; font-family: Inter, Arial, sans-serif; color: var(--text); background: #fff; font-size: 16px; line-height: 1.6 }
a { text-decoration: none; transition: .25s ease }
.site-container { max-width: 1200px }

/* anchor targets should not land underneath the sticky header */
section[id], footer#contact { scroll-margin-top: var(--header-h) }

/* top bar */
.top-bar { height: 28px; background: #003a2f; color: #d9eadf; font-size: 12px; font-weight: 700; letter-spacing: .03em }
.top-bar .container { height: 28px }
.top-bar a, .top-bar span { color: #d9eadf; margin-right: 28px }
.top-right a { margin-right: 0; margin-left: 26px }
.top-bar i { color: var(--gold); margin-right: 7px }

/* header / nav */
.main-header { background: #fff; border-bottom: 1px solid #eee9df; box-shadow: 0 4px 18px rgba(0, 0, 0, .035) }
.navbar { min-height: 72px; padding: 0 }
.navbar-brand { display: flex; align-items: center; gap: 12px }
.brand-emblem { position: relative; width: 55px; height: 55px; color: var(--green); display: grid; place-items: center; font-size: 46px }
.brand-emblem b { position: absolute; font-family: serif; font-size: 16px; color: var(--gold); font-weight: 700 }
.brand-copy strong { display: block; font-size: 25px; color: var(--green); font-weight: 800; line-height: .95; letter-spacing: -.03em }
.brand-copy small { display: block; font-size: 11px; color: var(--green); font-weight: 800; line-height: 1.2; letter-spacing: .05em }
.nav-link { font-size: 15px; font-weight: 700; color: #2d433d !important; padding: 29px 14px !important }
.nav-link:hover, .nav-link.active { color: var(--green2) !important }
.nav-button { margin-left: 8px }

/* buttons */
.btn { border-radius: 3px; border: 0; padding: 12px 22px; font-size: 15px; font-weight: 800; display: inline-flex; align-items: center; gap: 9px; box-shadow: none }
.btn-green { background: var(--green2); color: #fff }
.btn-green:hover { background: #003a2f; color: #fff; transform: translateY(-2px) }
.btn-gold { background: var(--gold); color: #fff }
.btn-gold:hover { background: #b4893d; color: #fff; transform: translateY(-2px) }
.btn-outline-green { background: #fff; color: var(--green); border: 1px solid #cad8d1 }
.btn-outline-green:hover { background: #f1f6f2; border-color: var(--green); color: var(--green) }

/* decorative bg */
.section-bg-lines { position: relative; overflow: hidden }
.section-bg-lines:after {
  content: "";
  position: absolute; right: -95px; top: 20px; width: 330px; height: 620px;
  background: radial-gradient(circle, rgba(0, 68, 54, .10) 1px, transparent 1.6px);
  background-size: 16px 16px; opacity: .3; pointer-events: none;
}

/* hero */
.hero { padding: 48px 0 37px; background: linear-gradient(180deg, #fff 0, #fff 75%, #fbfaf6 100%) }
.hero-row { min-height: 470px }
.eyebrow { margin: 0 0 10px; color: #789188; font-size: 12px; font-weight: 900; letter-spacing: .16em }
.gold-text { color: var(--gold) }

h1, h2, .center-title, .light-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700; color: var(--green); letter-spacing: -.03em; line-height: 1.1 }
h1 { font-size: 58px; margin: 0 0 17px; max-width: 520px }
h1 span { display: block; color: var(--gold) }
h2 { font-size: 38px; margin: 0 0 16px }
.center-title { font-size: 31px; margin: 0 auto 28px }
.light-title { color: #fff; font-size: 31px; margin-bottom: 18px }

.hero-text { max-width: 480px; color: #5b6d66; font-size: 16px; margin-bottom: 24px }
.hero-actions { display: flex; gap: 14px; margin-bottom: 33px }
.accreditation p { font-size: 12px; color: #a1a59d; font-weight: 900; letter-spacing: .13em; margin-bottom: 12px }
.accreditation div { display: flex; gap: 12px; flex-wrap: wrap }
.accreditation span { width: auto; min-width: 70px; height: 32px; padding: 0 12px; border: 1px solid #d9d8d2; border-radius: 18px; display: grid; place-items: center; color: #aaa; font-weight: 900; font-size: 12px; background: #fff }

.hero-collage { height: 425px; position: relative; max-width: 590px; margin-left: auto }
.collage-img { position: absolute; border-radius: 20px; background-size: cover; background-position: center; box-shadow: var(--soft) }
.img-1 { left: 37px; top: 24px; width: 240px; height: 173px; background-image: url('https://images.unsplash.com/photo-1581092334651-ddf26d9a09d0?auto=format&fit=crop&w=700&q=80') }
.img-2 { right: 0; top: 38px; width: 245px; height: 222px; background-image: url('https://images.unsplash.com/photo-1616432043562-3671ea2e5242?auto=format&fit=crop&w=700&q=80') }
.img-3 { left: 0; bottom: 0; width: 337px; height: 217px; background-image: url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=700&q=80') }
.gold-dot { position: absolute; left: 16px; top: 215px; width: 12px; height: 12px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 13px rgba(200, 154, 69, .16) }
.gold-dot:after { content: ""; position: absolute; left: 12px; top: 5px; width: 94px; border-top: 1px solid var(--gold) }

.stats-card { position: absolute; right: 28px; bottom: 17px; width: 190px; background: rgba(255, 255, 255, .94); border: 1px solid #ebe7dc; border-radius: 14px; box-shadow: var(--shadow); padding: 12px 20px }
.stats-card div { display: grid; grid-template-columns: 31px 1fr; align-items: center; padding: 11px 0; border-bottom: 1px solid #eee }
.stats-card div:last-child { border: 0 }
.stats-card i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #f1f6f2; color: var(--green) }
.stats-card strong { font-size: 24px; font-weight: 900; color: var(--green); line-height: 1 }
.stats-card small { grid-column: 2; color: #687871; font-size: 12px; font-weight: 700 }

/* trust strip */
.trust-strip { background: #fbfaf6; padding: 0 0 38px }
.trust-panel { background: #fff; border: 1px solid #eee9df; border-radius: 7px; box-shadow: 0 10px 30px rgba(0, 35, 28, .07); display: grid; grid-template-columns: repeat(6, 1fr); overflow: hidden }
.trust-panel article { min-height: 118px; text-align: center; padding: 23px 14px; border-right: 1px solid #eee9df; transition: .25s ease }
.trust-panel article:last-child { border-right: 0 }
.trust-panel article:hover { background: #f6faf7 }
.trust-panel i { font-size: 28px; color: var(--green); margin-bottom: 11px }
.trust-panel h6 { font-size: 15px; font-weight: 900; color: var(--green); margin-bottom: 5px }
.trust-panel p { font-size: 14px; color: #718078; margin: 0; line-height: 1.4 }

/* section padding */
.section-pad { padding: 52px 0 }
.section-pad-sm { padding: 43px 0 }
.section-pad-xs { padding: 35px 0 }

/* about */
.about { background: #fff }
.about-photo { height: 331px; border-radius: 15px; background-image: linear-gradient(rgba(0, 68, 54, .08), rgba(0, 68, 54, .08)), url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=900&q=80'); background-size: cover; background-position: center; box-shadow: var(--soft) }
.section-lead { color: #66756f; max-width: 540px; font-size: 16px }
.section-lead.small { font-size: 15px }
.about-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 28px 0 26px }
.about-metrics div { display: grid; grid-template-columns: 38px 1fr; column-gap: 11px }
.about-metrics i { grid-row: 1/3; width: 36px; height: 36px; border: 1px solid #dbe7e1; border-radius: 50%; display: grid; place-items: center; color: var(--green) }
.about-metrics strong { font-size: 15px; color: var(--green); font-weight: 900; line-height: 1.3 }
.about-metrics small { font-size: 12px; color: #718078; line-height: 1.4 }

/* services / why / faq shared bg */
.services, .why, .faq { background: #fbfaf6 }
.service-row { display: grid; grid-template-columns: repeat(7, 1fr); gap: 11px }
.service-row article, .industry-row article, .why-card, .testimonial-card { background: #fff; border: 1px solid #ede8dd; border-radius: 9px; box-shadow: var(--soft); transition: .25s ease }
.service-row article { min-height: 162px; padding: 22px 12px 16px }
.service-row i { width: 49px; height: 49px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 13px; background: #f5f7f3; border: 1px solid #dfe8e2; color: var(--green); font-size: 22px }
.service-row h5, .industry-row h5, .why-card h5 { font-size: 16px; font-weight: 900; color: var(--green); line-height: 1.3; margin: 0 0 7px }
.service-row p { font-size: 14px; color: #74817b; margin: 0; line-height: 1.45 }
.service-row article:hover, .industry-row article:hover, .why-card:hover { transform: translateY(-5px); box-shadow: var(--shadow) }
.small-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 17px; color: var(--green); font-weight: 900; font-size: 15px }

/* process */
.process { padding: 35px 0 40px }
.dark-pattern {
  background: radial-gradient(circle at 95% 15%, rgba(200, 154, 69, .14), transparent 28%), linear-gradient(135deg, #00382e, #00513d);
  color: #fff; position: relative; overflow: hidden;
}
.dark-pattern:before, .dark-pattern:after { content: ""; position: absolute; width: 300px; height: 300px; border: 1px solid rgba(200, 154, 69, .12); border-radius: 48%; transform: rotate(25deg) }
.dark-pattern:before { left: -120px; top: -100px }
.dark-pattern:after { right: -135px; bottom: -120px }
.process .container { position: relative }
.process-steps { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); gap: 18px; margin: 18px 0 25px }
.process-steps:before { content: ""; position: absolute; top: 22px; left: 7%; right: 7%; border-top: 2px dotted rgba(218, 183, 111, .85) }
.process-steps article { position: relative; z-index: 1 }
.process-steps span { width: 39px; height: 39px; border-radius: 50%; background: var(--gold); display: grid; place-items: center; margin: 0 auto 13px; color: #fff; font-weight: 900; box-shadow: 0 0 0 8px rgba(200, 154, 69, .12) }
.process-steps h6 { color: #fff; font-size: 15px; font-weight: 900 }
.process-steps p { font-size: 14px; color: #cfe0da; margin: 0; line-height: 1.45 }

/* industries */
.industries { background: #fff }
.industry-row { display: grid; grid-template-columns: repeat(7, 1fr); gap: 11px }
.industry-row article { height: 100px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px }
.industry-row i { color: var(--green); font-size: 25px; margin-bottom: 9px }
.under-note { color: var(--green); font-weight: 800; font-size: 13px; margin: 17px 0 0 }

/* why */
.why h2 { font-size: 35px }
.why-card { min-height: 188px; padding: 23px 18px }
.why-card i { color: var(--green); font-size: 27px; margin-bottom: 14px }
.why-card p { font-size: 14px; color: #718078; line-height: 1.5; margin: 0 }
.why-card.featured { background: linear-gradient(145deg, #00533d, #006b4d); color: #fff }
.why-card.featured h5, .why-card.featured i { color: #fff }
.why-card.featured p { color: #d4e7df }

/* standards */
.standards { background: #f6f3eb }
.standard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; max-width: 650px; margin-top: 25px }
.standard-grid span { display: flex; align-items: center; gap: 8px; min-height: 45px; background: #fff; border: 1px solid #e8e1d4; border-radius: 6px; padding: 10px 14px; color: var(--green); font-size: 15px; font-weight: 900; box-shadow: var(--soft); transition: .25s ease }
.standard-grid span:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: #cfe0d7 }
.standard-grid i { font-size: 17px }

.orbit { height: 260px; max-width: 360px; position: relative; margin-left: auto }
.orbit:before { content: ""; position: absolute; inset: 24px 25px; border: 2px dashed #e2d3ad; border-radius: 50% }
.shield { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 110px; height: 122px; clip-path: polygon(50% 0, 91% 18%, 82% 77%, 50% 100%, 18% 77%, 9% 18%); background: linear-gradient(145deg, #005a42, #0a805d); display: grid; place-items: center; color: #fff; font-size: 43px; box-shadow: var(--shadow) }
.o { position: absolute; width: 43px; height: 43px; border-radius: 50%; display: grid !important; place-items: center; background: #fff; color: var(--green); box-shadow: var(--soft); border: 1px solid #e7e1d6 }
.o1 { top: 2px; left: 50% }
.o2 { top: 56px; right: 28px }
.o3 { right: 45px; bottom: 42px }
.o4 { bottom: 0; left: 47% }
.o5 { left: 48px; bottom: 42px }
.o6 { top: 58px; left: 30px }

/* testimonials */
.testimonials { background: #fff }
.logo-cloud { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 25px }
.logo-cloud span { font-size: 12px; font-weight: 900; color: #aaa; border: 1px solid #e2ddd4; border-radius: 18px; padding: 6px 10px }
.testimonial-card { padding: 24px 21px; min-height: 242px }
.testimonial-card:hover { transform: translateY(-5px); box-shadow: var(--shadow) }
.testimonial-card i { color: var(--gold); font-size: 24px }
.testimonial-card p { font-size: 15px; color: #66756f; min-height: 88px; line-height: 1.5 }
.testimonial-card h6 { font-size: 15px; font-weight: 900; color: var(--green); margin: 9px 0 0 }
.testimonial-card small { font-size: 12px; color: #7d8984 }
.stars { color: #e4a027; letter-spacing: 2px; margin-top: 12px }

/* faq */
.faq-photo { height: 226px; border-radius: 22px 22px 70px 22px; background-image: url('https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=700&q=80'); background-size: cover; background-position: center; box-shadow: var(--soft) }
.accordion-item { border: 1px solid #e9e3d8 !important; border-radius: 4px !important; margin-bottom: 9px; overflow: hidden }
.accordion-button { font-size: 15px; font-weight: 800; color: #31463f; padding: 14px 18px; box-shadow: none !important }
.accordion-button:not(.collapsed) { background: #f9f4e8; color: var(--green) }
.accordion-body { font-size: 14.5px; color: #687871; line-height: 1.55 }

/* prefooter */
.prefooter { padding: 40px 0; background-image: linear-gradient(90deg, rgba(0, 54, 43, .95), rgba(0, 54, 43, .68)), url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1400&q=80'); background-size: cover; background-position: center }
.prefooter h2 { font-size: 36px; color: #fff }
.prefooter p { color: #d9e8e2; font-size: 16px }
.pre-card { background: rgba(255, 255, 255, .95); border-radius: 7px; box-shadow: var(--shadow); padding: 22px 24px }
.pre-card p { color: var(--green); font-size: 15px; font-weight: 900; margin: 0 0 15px }
.pre-card p:last-child { margin-bottom: 0 }
.pre-card i { width: 28px }
.world-map {
  height: 195px; border-radius: 4px;
  background: radial-gradient(circle at 30% 30%, rgba(255, 210, 112, .85) 0 3px, transparent 4px),
    radial-gradient(circle at 70% 55%, rgba(255, 210, 112, .85) 0 3px, transparent 4px),
    radial-gradient(circle at 50% 72%, rgba(255, 210, 112, .85) 0 3px, transparent 4px),
    url('https://images.unsplash.com/photo-1521295121783-8a321d551ad2?auto=format&fit=crop&w=900&q=80');
  background-size: cover; background-position: center;
}

/* footer */
.footer { background: #00382e; color: #d7e6df; padding: 34px 0 0 }
.footer .brand-copy strong, .footer .brand-copy small, .footer .brand-emblem { color: #fff }
.footer p { font-size: 15px; color: #bfd0c9; line-height: 1.6 }
.footer h5 { font-size: 12px; color: var(--gold); font-weight: 900; text-transform: uppercase; letter-spacing: .12em; margin: 12px 0 13px }
.footer a { display: block; color: #d7e6df; font-size: 15px; line-height: 1.8 }
.footer a:hover { color: var(--gold) }
.socials { display: flex; gap: 9px }
.socials a { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); line-height: 1 }
.contact-line { margin: 0 0 8px; font-size: 15px }
.contact-line i { color: var(--gold); width: 16px }
.footer-bottom { margin-top: 28px; border-top: 1px solid rgba(255, 255, 255, .11); padding: 14px 0; display: flex; justify-content: space-between; color: #b8cbc4; font-size: 13px }
.footer-bottom a { display: inline-block; font-size: 13px; margin-left: 18px }

/* reveal-on-scroll animation */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s cubic-bezier(.16, 1, .3, 1), transform .65s cubic-bezier(.16, 1, .3, 1) }
.reveal.in-view { opacity: 1; transform: translateY(0) }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none }
}

/* ============ responsive ============ */
@media (max-width: 1199px) {
  .site-container { max-width: 960px }
  h1 { font-size: 49px }
  .trust-panel { grid-template-columns: repeat(3, 1fr) }
  .trust-panel article { border-bottom: 1px solid #eee9df }
  .service-row, .industry-row { grid-template-columns: repeat(4, 1fr) }
  .process-steps { gap: 10px }
  .nav-link { padding-left: 10px !important; padding-right: 10px !important }
}

@media (max-width: 991px) {
  :root { --header-h: 82px }
  .top-bar { display: none }
  .navbar { padding: 8px 0 }
  .nav-link { padding: 10px 0 !important }
  .nav-button { margin: 10px 0 }
  .hero { padding-top: 35px }
  .hero-row { min-height: auto }
  .hero-collage { margin: 25px auto 0 }
  .trust-panel { grid-template-columns: repeat(2, 1fr) }
  .about-metrics { grid-template-columns: 1fr }
  .service-row, .industry-row { grid-template-columns: repeat(3, 1fr) }
  .process-steps { grid-template-columns: repeat(2, 1fr); gap: 24px }
  .process-steps:before { display: none }
  .standard-grid { grid-template-columns: 1fr 1fr }
  .orbit { margin: 25px auto 0 }
  .prefooter { text-align: center }
  .pre-card { text-align: left }
  .world-map { display: none }
}

@media (max-width: 767px) {
  body { font-size: 15px }
  .section-pad, .section-pad-sm { padding: 36px 0 }
  h1 { font-size: 36px; max-width: 100% }
  h2 { font-size: 30px }
  .why h2 { font-size: 28px }
  .hero-actions { flex-direction: column }
  .hero-actions .btn { justify-content: center }
  .hero-collage { height: auto; display: grid; grid-template-columns: 1fr; gap: 12px }
  .collage-img { position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; width: 100% !important; height: 190px !important }
  .gold-dot { display: none }
  .stats-card { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 12px }
  .service-row, .industry-row { grid-template-columns: repeat(2, 1fr) }
  .standard-grid { grid-template-columns: 1fr }
  .footer-bottom { display: block }
  .footer-bottom a { margin: 8px 14px 0 0 }
}

@media (max-width: 480px) {
  :root { --header-h: 74px }
  .brand-emblem { width: 46px; height: 46px; font-size: 39px }
  .brand-copy strong { font-size: 20px }
  h1 { font-size: 30px }
  .trust-panel, .service-row, .industry-row, .process-steps { grid-template-columns: 1fr }
  .about-photo { height: 250px }
  .orbit { transform: scale(.86); transform-origin: center }
  .footer .col-6 { width: 100% }
}
