/* Redcliff Consulting — design system per designs/531407-arvanta---construction-html-template.md */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;700;800;900&family=Inter:wght@400;500;600;700&family=Caveat:wght@600;700&display=swap');

:root{
  --accent:#4E7A00;
  --accent-ink:#2B4400;
  --ink:#211720;
  --dark:#131313;
  --dark-2:#1e1e1e;
  --bg:#FFFFFF;
  --paper:#D5E0D5;
  --gray:#6B6F76;
  --line:#C5D3C4;
  --line-dark:rgba(255,255,255,.14);
  --white:#FFFFFF;
  --container:1320px;
  --gutter:24px;
  --gutter-sm:20px;
  --header-h:100px;
  --shadow:0 24px 60px rgba(21, 29, 18, .14);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  padding:0;
  font-family:'Inter',Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

.wrap{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
@media (max-width:768px){ .wrap{padding-left:var(--gutter-sm);padding-right:var(--gutter-sm)} }

[id]{scroll-margin-top:calc(var(--header-h) + 20px)}

/* ---------- type ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font:700 12px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.09em;
  color:var(--accent);margin-bottom:14px;
}
.eyebrow::before{content:"";width:6px;height:6px;background:var(--accent);flex:none}
.eyebrow--light{color:#7AC800}
.eyebrow--center{justify-content:center;width:100%}

.h2{
  font:800 clamp(24px,2.2vw + 15px,30px)/1.18 'Archivo',sans-serif;
  letter-spacing:-.01em;color:var(--ink);
}
.h2--light{color:var(--white)}

.p{font:400 14px/1.75 'Inter',sans-serif;color:var(--gray)}
.p--light{color:rgba(255,255,255,.68)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:56px;padding:0 30px;
  font:700 13px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em;
  white-space:nowrap;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s;
}
.btn--solid{background:var(--accent);color:#fff}
.btn--solid:hover{background:var(--accent-ink)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000}
.btn--outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:#fff}
.btn--outline-light{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--ink)}
.btn--sm{height:48px;padding:0 22px}

.round-btn{
  width:44px;height:44px;flex:none;border-radius:50%;border:1.5px solid var(--line);
  display:grid;place-items:center;transition:background .2s,border-color .2s;
}
.round-btn svg{width:16px;height:16px}
.round-btn:hover{background:var(--accent);border-color:var(--accent)}
.round-btn:hover svg{stroke:#fff}
.round-btn--light{border-color:var(--line-dark)}
.round-btn--light svg{stroke:#fff}

/* ================= header ================= */
.site-head{
  position:sticky;top:0;left:0;right:0;z-index:70;
  background:#fff;border-bottom:1px solid var(--line);
  height:var(--header-h);
}
.site-head .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}

.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand__mark{
  width:34px;height:34px;background:var(--accent);color:#fff;
  display:grid;place-items:center;flex:none;
  font:900 16px/1 'Archivo',sans-serif;
}
.brand__name{font:800 17px/1.1 'Archivo',sans-serif;color:var(--ink)}
.brand__name span{display:block;font:600 10px/1 'Inter',sans-serif;letter-spacing:.14em;color:var(--gray);margin-top:3px}

.nav{display:flex;align-items:center;gap:34px;margin:0 auto}
.nav a{font:600 14px/1 'Inter',sans-serif;color:var(--ink);padding:6px 0;position:relative}
.nav a.is-current,.nav a:hover{color:var(--accent)}
.nav a.nav-cta{display:none;color:#fff}

.head-right{display:flex;align-items:center;gap:22px;flex:none}
.head-addr{display:flex;align-items:center;gap:10px}
.head-addr svg{width:18px;height:18px;stroke:var(--accent);flex:none}
.head-addr__lines{font:600 12px/1.4 'Inter',sans-serif;color:var(--ink)}
.head-addr__lines span{display:block;color:var(--gray);font-weight:500}

.burger{width:40px;height:40px;display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex:none}
.burger i{width:22px;height:2px;background:var(--ink);display:block;transition:transform .2s,opacity .2s}
.site-head.is-open .burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-head.is-open .burger i:nth-child(2){opacity:0}
.site-head.is-open .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1199px){
  .nav{
    position:fixed;top:var(--header-h);left:0;right:0;bottom:0;
    background:#fff;flex-direction:column;align-items:flex-start;gap:0;
    padding:14px var(--gutter-sm) 30px;overflow:auto;
    transform:translateX(100%);transition:transform .25s ease;
  }
  .site-head.is-open .nav{transform:translateX(0)}
  .nav a{width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav a.nav-cta{
    display:flex;width:100%;border-bottom:0;margin-top:18px;
    background:var(--accent);justify-content:center;
  }
  .head-right{display:none}
  .burger{display:flex}
}

/* ================= hero ================= */
.hero{position:relative;overflow:hidden;background:var(--dark);color:#fff}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,9,.55) 0%,rgba(10,9,9,.72) 55%,rgba(10,9,9,.92) 100%)}

.hero__in{position:relative;z-index:2;padding-top:calc(64px + 40px);padding-bottom:120px;max-width:760px}
.hero__stamp{
  position:absolute;top:44px;right:0;z-index:3;
  width:112px;height:112px;border-radius:50%;
  display:grid;place-items:center;place-content:center;
}
.hero__stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 16s linear infinite}
.hero__stamp strong{position:relative;font:900 20px/1 'Archivo',sans-serif;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}

.hero__title{margin:0 0 26px;color:#fff}
.hero__title .l1{display:block;font:800 clamp(20px,1.6vw + 12px,34px)/1.2 'Archivo',sans-serif;letter-spacing:0}
.hero__title .l2{display:block;font:900 clamp(42px,7.6vw,90px)/.98 'Archivo',sans-serif;letter-spacing:-.02em;margin-top:6px}

.hero__text{font:400 16px/1.7 'Inter',sans-serif;color:rgba(255,255,255,.78);max-width:480px;margin-bottom:36px}
.hero__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

.hero__scroll{
  position:absolute;left:50%;bottom:36px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font:600 11px/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);
}
.hero__scroll svg{width:16px;height:16px;stroke:#fff;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

@media (max-width:768px){
  .hero__in{padding-top:calc(40px + 24px);padding-bottom:90px}
  .hero__stamp{width:84px;height:84px;top:28px}
  .hero__stamp strong{font-size:15px}
}
@media (max-width:560px){
  .hero__stamp{display:none}
}

/* ================= about ================= */
.about{padding-top:110px;padding-bottom:110px;background:var(--bg)}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about__copy .h2{margin-bottom:18px}
.about__copy .p{margin-bottom:30px}

.about__stats{display:flex;gap:44px;margin-bottom:32px;flex-wrap:wrap}
.about__stats--center{justify-content:center;text-align:center;margin:0 auto}
.about__stats--center .about__stat span{max-width:none}
.about-numbers{max-width:640px;margin:0 auto;text-align:center}
.about-numbers .eyebrow{justify-content:center}
.about-numbers .p{max-width:520px;margin-left:auto;margin-right:auto;margin-bottom:36px}
.about__stat b{display:block;font:900 34px/1 'Archivo',sans-serif;color:var(--ink)}
.about__stat span{display:block;font:500 13px/1.4 'Inter',sans-serif;color:var(--gray);margin-top:8px;max-width:120px}

.about__sign{display:flex;align-items:center;gap:16px;margin-top:34px}
.about__sign strong{font:700 26px/1 'Caveat',cursive;color:var(--ink)}
.about__sign span{display:block;font:600 11px/1.5 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}

.about__media{position:relative;min-width:0;padding:0 0 60px 46px}
.about__photo{width:100%;aspect-ratio:4/3;min-width:0;border:6px solid #fff;box-shadow:var(--shadow)}
.about__photo.b{
  position:absolute;right:0;bottom:0;width:62%;
  border:6px solid #fff;box-shadow:var(--shadow);
}
img.about__photo{object-fit:cover}
.about__medal{
  position:absolute;left:0;bottom:26px;z-index:2;
  width:104px;height:104px;border-radius:50%;background:var(--accent);color:#fff;
  display:grid;place-items:center;place-content:center;text-align:center;border:5px solid #fff;box-shadow:var(--shadow);
}
.about__medal b{display:block;font:900 26px/1 'Archivo',sans-serif}
.about__medal span{display:block;font:700 10px/1.3 'Inter',sans-serif;letter-spacing:.1em;margin-top:4px}

@media (max-width:992px){
  .about__grid{grid-template-columns:1fr;gap:56px}
  .about__media{order:-1;padding:0 0 56px 40px;max-width:460px;margin:0 auto}
}
@media (max-width:768px){
  .about{padding-top:80px;padding-bottom:80px}
}
@media (max-width:560px){
  .about__stats{gap:28px}
  .about__stat b{font-size:28px}
}

/* ================= services (dark carousel) ================= */
.services{padding-top:110px;padding-bottom:110px;background:var(--dark);color:#fff}
.services__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:46px}
.services__head .h2{max-width:520px}
.services__nav{display:flex;gap:12px;flex:none}

.services__track{
  display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:8px;margin:0 -1px;
  scrollbar-width:none;
}
.services__track::-webkit-scrollbar{display:none}

.svc-card{
  scroll-snap-align:start;flex:0 0 auto;
  width:calc((100% - 48px)/3);min-width:260px;
  background:var(--dark-2);padding:40px 30px 34px;
}
.svc-card__icon{display:block;width:46px;height:46px;margin-bottom:26px}
.svc-card__icon svg{width:100%;height:100%;stroke:var(--accent)}
.svc-card h3{font:700 19px/1.3 'Archivo',sans-serif;margin-bottom:14px}
.svc-card p{font:400 14px/1.7 'Inter',sans-serif;color:rgba(255,255,255,.6);margin-bottom:26px}
.svc-card__arrow{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);display:grid;place-items:center}
.svc-card__arrow svg{width:14px;height:14px;stroke:#fff}

.services__more{display:flex;justify-content:center;margin-top:48px}

@media (max-width:768px){
  .services{padding-top:80px;padding-bottom:80px}
  .services__head{flex-direction:column;align-items:flex-start}
  .svc-card{width:calc(100% - 40px);min-width:0}
}

/* ================= why us — 2x2 checkerboard ================= */
.why{padding-top:110px;padding-bottom:110px;background:var(--bg)}
.why__head{max-width:640px;margin:0 auto 50px;text-align:center}
.why__head .eyebrow{justify-content:center}
.why__grid{display:grid;grid-template-columns:1fr 1fr;min-width:0}
.why__cell{padding:48px 40px;min-width:0}
.why__cell svg{width:38px;height:38px;margin-bottom:22px}
.why__cell h3{font:700 19px/1.3 'Archivo',sans-serif;margin-bottom:12px}
.why__cell p{font:400 14px/1.7 'Inter',sans-serif}

.why__cell--accent{background:var(--accent);color:#fff}
.why__cell--accent svg{stroke:#fff}
.why__cell--accent p{color:rgba(255,255,255,.85)}
.why__cell--white{background:var(--bg);color:var(--ink)}
.why__cell--white svg{stroke:var(--ink)}
.why__cell--white p{color:var(--gray)}
.why__cell--dark{background:var(--dark);color:#fff}
.why__cell--dark svg{stroke:#fff}
.why__cell--dark p{color:rgba(255,255,255,.6)}
.why__cell--line{border:1px solid var(--line)}

@media (max-width:992px){ .why__grid{grid-template-columns:1fr} }
@media (max-width:768px){ .why{padding-top:80px;padding-bottom:80px} .why__cell{padding:40px 28px} }

/* ================= assessment / quiz ================= */
.assess{padding-top:110px;padding-bottom:110px;background:var(--paper)}
.assess__card{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.assess__head{padding:46px 52px 0;text-align:center}
.assess__head .eyebrow{justify-content:center}
.assess__head .h2{margin-bottom:26px}
.assess__progress{display:flex;justify-content:center;gap:8px;margin-bottom:12px}
.assess__progress span{width:34px;height:4px;background:var(--line)}
.assess__progress span.is-active,.assess__progress span.is-done{background:var(--accent)}
.assess__step-label{font:600 12px/1 'Inter',sans-serif;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;margin:0 0 34px}

.assess__body{padding:0 52px 50px}
.assess-step{display:none}
.assess-step.is-active{display:block}
.assess-q{font:700 18px/1.4 'Archivo',sans-serif;text-align:center;margin-bottom:26px}
.assess-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.assess-options button{
  border:1.5px solid var(--line);padding:18px 16px;text-align:left;
  font:600 14px/1.3 'Inter',sans-serif;transition:border-color .2s,background .2s;
}
.assess-options button:hover{border-color:var(--ink)}
.assess-options button.is-selected{border-color:var(--accent);background:rgba(78, 121, 0, .06);color:var(--accent)}

.assess-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:16px}
.assess-back{font:600 13px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);padding:14px 0}
.assess-back:hover{color:var(--ink)}
.assess-step[data-step="1"] .assess-actions{justify-content:flex-end}

.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.fld{margin-bottom:16px}
.fld label{display:block;font:600 12px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);margin-bottom:8px}
.fld input,.fld textarea{
  width:100%;border:1.5px solid var(--line);padding:14px 16px;
  font:500 14px/1.4 'Inter',sans-serif;background:#fff;border-radius:0;-webkit-appearance:none;appearance:none;
}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--ink)}
.fld textarea{min-height:120px;resize:vertical}
.fld .err{display:none;color:var(--accent);font:500 12px/1.4 'Inter',sans-serif;margin-top:6px}
.fld.has-err input,.fld.has-err textarea{border-color:var(--accent)}
.fld.has-err .err{display:block}

@media (max-width:768px){
  .assess__head{padding:36px 26px 0}
  .assess__body{padding:0 26px 40px}
  .assess-options{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
}

/* ================= team ================= */
.team{padding-top:110px;padding-bottom:110px;background:var(--bg)}
.team__head{max-width:640px;margin:0 auto 50px;text-align:center}
.team__head .eyebrow{justify-content:center}
.team__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;min-width:0}
.team__card{min-width:0}
.team__photo{width:100%;aspect-ratio:4/5;min-width:0;margin-bottom:20px;background:var(--paper)}
.team__card .name{font:700 17px/1.2 'Archivo',sans-serif;margin-bottom:6px}
.team__card .role{font:500 13px/1 'Inter',sans-serif;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}

@media (max-width:992px){ .team__grid{grid-template-columns:1fr;max-width:420px;margin:0 auto} }
@media (max-width:768px){ .team{padding-top:80px;padding-bottom:80px} }

/* ================= impact / dark banner + cases ================= */
.impact{padding-top:110px;padding-bottom:110px;background:var(--dark);color:#fff;position:relative;overflow:hidden}
.impact__banner{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;margin-bottom:64px;min-width:0}
.impact__media{position:relative;min-width:0}
.impact__media img{width:100%;aspect-ratio:16/11;object-fit:cover;min-width:0}
.impact__copy .h2{margin-bottom:18px}

.impact__cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;min-width:0}
.impact__case{min-width:0}
.impact__case img{width:100%;aspect-ratio:4/3;object-fit:cover;min-width:0}
.impact__case p{font:500 12px/1.4 'Inter',sans-serif;color:rgba(255,255,255,.55);margin-top:12px}

.dash-nav{display:flex;justify-content:center;gap:8px;margin-top:34px}
.dash-nav span{width:26px;height:3px;background:rgba(255,255,255,.25)}
.dash-nav span.is-active{background:var(--accent)}

@media (max-width:992px){
  .impact__banner{grid-template-columns:1fr;gap:34px}
  .impact__cases{grid-template-columns:1fr;max-width:420px;margin:0 auto}
}
@media (max-width:768px){ .impact{padding-top:80px;padding-bottom:80px} }

/* ================= reviews ================= */
.reviews{padding-top:110px;padding-bottom:110px;background:var(--paper);position:relative;overflow:hidden}
.reviews__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;min-width:0}
.reviews__media{min-width:0}
.reviews__media img{width:100%;aspect-ratio:4/5;object-fit:cover;min-width:0}

.reviews__copy{position:relative;min-width:0}
.reviews__mark{
  position:absolute;top:-34px;left:-6px;z-index:0;
  font:900 clamp(60px,9vw,150px)/1 'Archivo',sans-serif;color:rgba(19,19,19,.05);
  white-space:nowrap;pointer-events:none;user-select:none;
}
.reviews__head{position:relative;z-index:1;margin-bottom:34px}

.quote-panel{position:relative;z-index:1;background:#fff;border:1px solid var(--line);padding:36px 40px}
.quote__icon{width:30px;height:30px;fill:var(--accent);margin-bottom:18px}
.quote__text{font:600 18px/1.55 'Archivo',sans-serif;color:var(--ink);margin-bottom:22px}
.quote__name{font:700 14px/1 'Inter',sans-serif;margin-bottom:4px}
.quote__role{font:500 13px/1.4 'Inter',sans-serif;color:var(--gray);margin-bottom:22px}
.quote__controls{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:20px}
.quote__dots{display:flex;gap:8px}
.quote__dots button{width:8px;height:8px;border-radius:50%;background:var(--line)}
.quote__dots button.is-active{background:var(--accent)}
.quote__play{width:34px;height:34px;border:1.5px solid var(--line);display:grid;place-items:center;flex:none}
.quote__play svg{width:13px;height:13px;fill:var(--ink)}

@media (max-width:992px){
  .reviews__grid{grid-template-columns:1fr;gap:36px}
  .reviews__media{max-width:340px;margin:0 auto}
}
@media (max-width:768px){
  .reviews{padding-top:80px;padding-bottom:80px}
  .quote-panel{padding:28px 24px}
}

/* ================= FAQ ================= */
.faq{padding-top:110px;padding-bottom:110px;background:var(--bg)}
.faq__head{max-width:640px;margin:0 auto 46px;text-align:center}
.faq__head .eyebrow{justify-content:center}
.faq-list{max-width:840px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:24px 4px;text-align:left;font:700 16px/1.4 'Archivo',sans-serif;color:var(--ink);
}
.faq-toggle{position:relative;width:18px;height:18px;flex:none}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;background:var(--ink);top:50%;left:50%}
.faq-toggle::before{width:14px;height:2px;transform:translate(-50%,-50%)}
.faq-toggle::after{width:2px;height:14px;transform:translate(-50%,-50%);transition:transform .2s}
.faq-item.is-open .faq-toggle::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-item.is-open .faq-q{color:var(--accent)}
.faq-item.is-open .faq-toggle::before{background:var(--accent)}

.faq-a-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.faq-item.is-open .faq-a-wrap{grid-template-rows:1fr}
.faq-a-in{overflow:hidden}
.faq-a{padding:0 4px 24px;max-width:720px;font:400 14px/1.7 'Inter',sans-serif;color:var(--gray)}

@media (max-width:768px){ .faq{padding-top:80px;padding-bottom:80px} }

/* ================= contact CTA ================= */
.cta-band{padding-top:90px;padding-bottom:90px;background:var(--dark);color:#fff;text-align:center}
.cta-band .h2{margin:0 auto 16px;max-width:560px}
.cta-band .p{margin:0 auto 34px;max-width:520px;color:rgba(255,255,255,.65)}
.cta-band__actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}

/* ================= footer ================= */
.site-foot{background:var(--ink);color:#fff}
.foot-banner{border-bottom:1px solid var(--line-dark);padding-top:56px;padding-bottom:56px}
.foot-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot-banner .brand__name{color:#fff}
.foot-banner .brand__name span{color:rgba(255,255,255,.5)}
.foot-banner h2{font:800 clamp(20px,1.6vw + 12px,28px)/1.3 'Archivo',sans-serif;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:8px;text-decoration-thickness:3px}

.foot-grid{padding-top:64px;padding-bottom:56px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:40px;min-width:0}
.foot-col h4{font:700 13px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.5);margin-bottom:22px}
.foot-col li{margin-bottom:13px}
.foot-col a{font:500 14px/1.4 'Inter',sans-serif;color:rgba(255,255,255,.82)}
.foot-col a:hover{color:var(--accent)}
.foot-col .p--light{margin-top:18px;max-width:260px}
.foot-info div{margin-bottom:16px}
.foot-info .sub{display:block;font:600 11px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.45);margin-bottom:6px}
.foot-info .val{font:500 14px/1.4 'Inter',sans-serif;color:rgba(255,255,255,.85)}
.foot-cta{background:var(--dark-2);padding:26px;min-width:0}
.foot-cta p{color:rgba(255,255,255,.65);margin-bottom:18px;font-size:13px}

.foot-bottom{border-top:1px solid var(--line-dark);padding-top:26px;padding-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font:500 12px/1.4 'Inter',sans-serif;color:rgba(255,255,255,.5)}
.foot-bottom a{color:rgba(255,255,255,.5)}
.foot-bottom a:hover{color:#fff}

@media (max-width:992px){ .foot-grid{grid-template-columns:1fr 1fr;row-gap:40px} }
@media (max-width:560px){
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;align-items:flex-start;text-align:left}
}

/* ================= cookie bar ================= */
.cookiebar{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:90;
  max-width:520px;background:var(--ink);color:#fff;padding:22px 24px;
  box-shadow:var(--shadow);transform:translateY(140%);opacity:0;transition:transform .3s ease,opacity .3s ease;
}
.cookiebar.is-visible{transform:translateY(0);opacity:1}
.cookiebar p{font:400 13px/1.6 'Inter',sans-serif;color:rgba(255,255,255,.75);margin-bottom:16px}
.cookiebar p a{color:#fff;text-decoration:underline}
.cookiebar__row{display:flex;gap:12px}
.cookiebar__row button{flex:1;height:44px;font:700 12px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em}
.cookiebar__row [data-cookie="accepted"]{background:var(--accent);color:#fff}
.cookiebar__row [data-cookie="declined"]{background:transparent;border:1.5px solid rgba(255,255,255,.3);color:#fff}

/* ================= secondary page head ================= */
.page-head{background:var(--dark);color:#fff;padding-top:64px;padding-bottom:56px}
.page-head .eyebrow{justify-content:flex-start}
.page-head h1{font:800 clamp(28px,3vw + 14px,48px)/1.15 'Archivo',sans-serif;margin-bottom:16px}
.crumbs{font:500 13px/1 'Inter',sans-serif;color:rgba(255,255,255,.5)}
.crumbs a{color:rgba(255,255,255,.8)}
.crumbs a:hover{color:#fff}

/* split section (image + copy), reused on secondary pages */
.split{padding-top:100px;padding-bottom:100px;background:var(--bg)}
.split__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;min-width:0}
.split__grid.is-reverse .split__media{order:2}
.split__media{min-width:0}
.split__media img{width:100%;aspect-ratio:4/3;object-fit:cover;min-width:0}
.split__copy .h2{margin-bottom:18px}
.split__copy .p{margin-bottom:14px}
.split__copy .p + .p{margin-top:-2px}
.split__list{margin-top:24px}
.split__list li{display:flex;gap:12px;align-items:flex-start;font:500 14px/1.6 'Inter',sans-serif;color:var(--ink);margin-bottom:14px}
.split__list svg{width:18px;height:18px;stroke:var(--accent);flex:none;margin-top:2px}

@media (max-width:992px){
  .split__grid{grid-template-columns:1fr;gap:36px}
  .split__grid.is-reverse .split__media{order:0}
}
@media (max-width:768px){ .split{padding-top:76px;padding-bottom:76px} }

/* services grid (capabilities page) */
.svc-grid-sec{padding-top:80px;padding-bottom:20px;background:var(--bg)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;min-width:0}
.svc-grid .svc-card{background:var(--paper);width:auto;min-width:0;flex:none}
.svc-grid .svc-card h3,.svc-grid .svc-card__arrow{color:var(--ink)}
.svc-grid .svc-card h3{color:var(--ink)}
.svc-grid .svc-card p{color:var(--gray)}
.svc-grid .svc-card__arrow{border-color:var(--line)}
.svc-grid .svc-card__arrow svg{stroke:var(--ink)}
.svc-grid .svc-card__icon svg{stroke:var(--accent)}
@media (max-width:992px){ .svc-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto} }

/* office hours (contact page) */
.hours{max-width:460px;margin:0 auto;text-align:center}
.office-row{margin-top:28px;border-top:1px solid var(--line)}
.office-row .item{display:flex;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);font:500 14px/1.4 'Inter',sans-serif}
.office-row .item span:first-child{color:var(--ink);font-weight:700}
.office-row .item span:last-child{color:var(--gray)}

/* contact form section */
.contact{padding-top:70px;padding-bottom:100px;background:var(--bg)}
.contact__panel{max-width:1080px;margin:0 auto}
.contact__panel > .h2{margin-bottom:40px;text-align:center}
.contact__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;min-width:0}
.form-note{font:500 12px/1.5 'Inter',sans-serif;color:var(--gray);margin-top:16px}
.form-success{display:none;border:1.5px solid var(--line);padding:40px;text-align:center}
.form-success.is-visible{display:block}
.contact-form.is-hidden{display:none}
.form-success .tick{width:52px;height:52px;border-radius:50%;background:var(--paper);display:grid;place-items:center;margin:0 auto 20px}
.form-success .tick svg{width:22px;height:22px}
.form-success h3{font:700 19px/1.3 'Archivo',sans-serif;margin-bottom:10px}
.form-success p{font:400 14px/1.6 'Inter',sans-serif;color:var(--gray)}
.contact-info-list .contact-info-item{padding:18px 0;border-bottom:1px solid var(--line)}
.contact-info-list .sub{display:block;font:600 11px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);margin-bottom:8px}
.contact-info-list .val{font:600 15px/1.4 'Inter',sans-serif;color:var(--ink)}

@media (max-width:992px){ .contact__grid{grid-template-columns:1fr;gap:44px} }

/* ================= legal docs ================= */
.doc-sec{padding-top:80px;padding-bottom:110px;background:var(--bg)}
.doc{max-width:820px;margin:0 auto}
.doc .updated{font:600 12px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);margin-bottom:44px}
.doc__sec{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:60px 1fr;gap:20px}
.doc__sec:last-child{border-bottom:1px solid var(--line)}
.doc__num{font:700 15px/1.4 'Inter',sans-serif;color:var(--accent)}
.doc__body h2{font:700 18px/1.4 'Archivo',sans-serif;margin-bottom:12px}
.doc__body p{font:400 14px/1.75 'Inter',sans-serif;color:var(--gray)}
.doc__body a{color:var(--ink);text-decoration:underline}
@media (max-width:560px){ .doc__sec{grid-template-columns:1fr;gap:6px} }

/* ================= thank-you page ================= */
.thanks{padding-top:110px;padding-bottom:130px;background:var(--paper);text-align:center}
.thanks__card{max-width:600px;margin:0 auto}
.thanks__tick{width:64px;height:64px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin:0 auto 28px}
.thanks__tick svg{width:26px;height:26px;stroke:#fff}
.thanks h1{font:800 clamp(28px,3vw + 14px,40px)/1.2 'Archivo',sans-serif;margin-bottom:18px}
.thanks > .thanks__card > p{font:400 15px/1.7 'Inter',sans-serif;color:var(--gray);margin-bottom:40px}
.thanks__next{background:#fff;border:1px solid var(--line);padding:34px 36px;text-align:left;margin-bottom:26px}
.thanks__next h2{font:700 16px/1.3 'Archivo',sans-serif;margin-bottom:18px}
.thanks__next li{display:flex;gap:12px;align-items:flex-start;font:500 14px/1.6 'Inter',sans-serif;color:var(--ink);margin-bottom:12px}
.thanks__next li:last-child{margin-bottom:0}
.thanks__next svg{width:18px;height:18px;stroke:var(--accent);flex:none;margin-top:2px}
.thanks__note{font:400 13px/1.6 'Inter',sans-serif;color:var(--gray);margin-bottom:30px}
