:root {
  --black:   #050505;
  --dark:    #0a0a0a;
  --d2:      #0f0f0f;
  --d3:      #141414;
  --gold:    #d4af37;
  --goldlt:  #e6c35c;
  --white:   #fafafa;
  --dim:     rgba(250,250,250,0.6);
  --faint:   rgba(250,250,250,0.04);
  --border:  rgba(212,175,55,0.3);
  --bw:      rgba(250,250,250,0.08);
  --serif:   'Cormorant Garamond', Georgia, serif;
  --sans:    'Montserrat', sans-serif;
  --ease:    0.5s cubic-bezier(0.4, 0, 0.2, 1);
  --glass:   rgba(10, 10, 10, 0.7);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:17px; }
body {
  background:var(--black);
  color:var(--white);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.75;
  overflow-x:hidden;
  width:100%;
}
img { display:block; max-width:100%; height:auto; object-fit:cover; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }

.wrap {
  width:100%;
  max-width:1380px;
  margin:0 auto;
  padding:0 64px;
}

.sec { padding:130px 0; background:var(--dark); }
.dark { background:var(--black); }

.tag {
  display:block;
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.4em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
}

.h2 {
  font-family:var(--serif);
  font-size:clamp(3rem, 5.5vw, 6rem);
  font-weight:300;
  line-height:1.08;
  margin-bottom:24px;
}

.sec-sub {
  font-size:0.8rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--dim);
  margin-bottom:72px;
}

.lead {
  font-family:var(--serif);
  font-size:clamp(1.25rem, 2vw, 1.6rem);
  font-weight:300;
  line-height:1.65;
  margin-bottom:26px;
}

.body-t {
  font-size:clamp(0.95rem, 1.3vw, 1.1rem);
  color:var(--dim);
  margin-bottom:38px;
  line-height:1.82;
}

blockquote {
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1rem, 1.5vw, 1.25rem);
  color:var(--goldlt);
  border-left:2px solid var(--gold);
  padding-left:22px;
  margin-top:34px;
  line-height:1.7;
}

.anim {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.anim.show {
  opacity: 1;
  transform: translateY(0);
}

.a1 { transition-delay: 0.12s; }
.a2 { transition-delay: 0.24s; }
.a3 { transition-delay: 0.36s; }

#navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 64px;
  transition: background var(--ease), padding var(--ease), box-shadow var(--ease);
}
#navbar.scrolled {
  background: var(--glass);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding-top: 12px;
  padding-bottom: 12px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid var(--bw);
}

.nav-logo { display:flex; align-items:center; gap:12px; }
.nav-logo img { width:34px; height:34px; object-fit:contain; flex-shrink:0; }
.nav-logo span { font-family:var(--serif); font-size:1.5rem; font-weight:600; letter-spacing:0.14em; }

.nav-links { display:flex; align-items:center; gap:38px; }
.nav-links a {
  font-size:0.67rem; font-weight:500;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--dim);
  position:relative;
  transition:color var(--ease);
}
.nav-links a::after {
  content:''; position:absolute;
  bottom:-4px; left:0;
  width:0; height:1px;
  background:var(--gold);
  transition:width var(--ease);
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { width:100%; }

.nav-cta {
  border:1px solid var(--gold) !important;
  padding:10px 26px !important;
  color:var(--gold) !important;
  border-radius:2px;
  transition:background var(--ease), color var(--ease) !important;
}
.nav-cta:hover { background:var(--gold) !important; color:var(--black) !important; }
.nav-cta::after { display:none !important; }

.burger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.burger span { display:block; width:26px; height:1px; background:var(--white); transition:var(--ease); }
.burger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

#hero {
  position:relative;
  width:100%; height:100vh; min-height:640px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  overflow:hidden;
  background:linear-gradient(135deg,#0c0b08 0%,#1a160a 50%,#0a0908 100%);
}
.hero-bg { position:absolute; inset:0; }
.hero-img { width:100%; height:100%; object-fit:cover; }
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(8,8,8,.2) 0%,rgba(8,8,8,.5) 55%,rgba(8,8,8,.95) 100%);
}
.hero-content { position:relative; z-index:2; padding:0 24px; }

.hero-eyebrow {
  font-size:0.7rem; letter-spacing:0.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:28px;
  animation:fadeUp 1s ease 0.3s both;
}
.hero-title {
  font-family:var(--serif);
  font-size:clamp(5rem, 15vw, 15rem);
  font-weight:600; letter-spacing:0.16em; line-height:0.95;
  animation:fadeUp 1s ease 0.5s both;
}
.hero-sub {
  font-size:clamp(0.7rem, 1vw, 0.88rem);
  letter-spacing:0.55em; text-transform:uppercase;
  color:var(--dim); margin-top:14px;
  animation:fadeUp 1s ease 0.7s both;
}
.hero-line {
  width:60px; height:1px; background:var(--gold);
  margin:32px auto;
  animation:fadeUp 1s ease 0.9s both;
}
.hero-desc {
  font-size:clamp(0.9rem, 1.4vw, 1.1rem);
  color:var(--dim); max-width:520px; margin:0 auto 42px;
  animation:fadeUp 1s ease 1.0s both;
}
.hero-btns {
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  animation:fadeUp 1s ease 1.1s both;
}

@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:none; }
}

.btn-gold, .btn-ghost {
  display:inline-block; padding:15px 40px;
  font-size:0.7rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase;
  border-radius:2px; transition:var(--ease);
}
.btn-gold { background:var(--gold); color:var(--black); border:1px solid var(--gold); }
.btn-gold:hover { background:var(--goldlt); border-color:var(--goldlt); }
.btn-ghost { background:transparent; color:var(--white); border:1px solid rgba(244,241,235,.35); }
.btn-ghost:hover { border-color:var(--white); background:var(--faint); }

.scroll-line { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2; }
.scroll-line span {
  display:block; width:1px; height:54px;
  background:linear-gradient(to bottom, transparent, var(--gold));
  animation:scrollPulse 2.2s ease infinite;
}
@keyframes scrollPulse {
  0%   { transform:scaleY(0); transform-origin:top; opacity:1; }
  45%  { transform:scaleY(1); transform-origin:top; }
  55%  { transform:scaleY(1); transform-origin:bottom; }
  100% { transform:scaleY(0); transform-origin:bottom; opacity:.3; }
}

.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:90px; align-items:start; margin-top:60px;
}
.branches { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:32px 0; }
.branch { border-left:2px solid var(--gold); padding-left:18px; }
.branch h4 { font-family:var(--serif); font-size:1.3rem; font-weight:600; margin-bottom:7px; }
.branch p { font-size:0.88rem; color:var(--dim); line-height:1.6; }

.about-img-box {
  width:100%; height:370px; overflow:hidden;
  background:linear-gradient(135deg,var(--d3) 0%,#1a1508 100%);
}
.about-img-box img { width:100%; height:100%; object-fit:cover; }

.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--bw); margin-top:3px; border:1px solid var(--bw); }
.pillar { display:flex; flex-direction:column; gap:7px; padding:20px 16px; background:var(--dark); text-align:center; }
.pt { font-size:0.6rem; font-weight:700; letter-spacing:0.22em; color:var(--gold); display:block; }
.ps { font-size:0.78rem; color:var(--dim); line-height:1.5; display:block; }

.vm-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--bw); border:1px solid var(--bw); }
.vm-panel { padding:clamp(48px,6vw,80px); background:var(--d2); }
.vm-panel:first-child { border-right:1px solid var(--bw); }

.vm-rows { display:flex; flex-direction:column; gap:24px; margin-top:32px; }
.vm-row { display:flex; align-items:flex-start; gap:18px; }
.vm-dot { width:8px; height:8px; background:var(--gold); border-radius:50%; flex-shrink:0; margin-top:8px; }
.vm-row strong { font-size:0.98rem; font-weight:600; display:block; margin-bottom:4px; }
.vm-row p { font-size:0.88rem; color:var(--dim); margin:0; }

.values { display:flex; flex-direction:column; gap:26px; margin-top:26px; }
.val { display:flex; align-items:flex-start; gap:18px; }
.vi { font-size:1.1rem; color:var(--gold); flex-shrink:0; margin-top:2px; width:20px; text-align:center; }
.val strong { font-size:0.98rem; font-weight:600; display:block; margin-bottom:4px; }
.val p { font-size:0.88rem; color:var(--dim); margin:0; line-height:1.7; }

.cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card {
  background:var(--d2); border:1px solid var(--bw); border-radius:2px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:border-color var(--ease), transform var(--ease);
}
.card:hover { border-color:var(--gold); transform:translateY(-6px); }
.card-img {
  width:100%; height:220px; overflow:hidden;
  background:linear-gradient(135deg,var(--d3) 0%,#1a1508 100%);
  flex-shrink:0;
}
.card-img img { width:100%; height:100%; transition:transform .6s ease; }
.card:hover .card-img img { transform:scale(1.06); }
.card-body { padding:28px 26px; flex:1; display:flex; flex-direction:column; }
.card-n { display:block; font-size:0.6rem; font-weight:700; letter-spacing:0.26em; color:var(--gold); margin-bottom:11px; }
.card-body h3 { font-family:var(--serif); font-size:clamp(1.3rem,1.9vw,1.65rem); font-weight:400; line-height:1.22; margin-bottom:13px; }
.card-body p { font-size:0.92rem; color:var(--dim); line-height:1.78; margin-bottom:18px; }
.card-body ul { margin-top:auto; border-top:1px solid var(--bw); padding-top:16px; display:flex; flex-direction:column; gap:8px; }
.card-body li { font-size:0.83rem; color:var(--dim); padding-left:16px; position:relative; }
.card-body li::before { content:'—'; position:absolute; left:0; color:var(--gold); }

.av-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.av-card {
  background:var(--d2); border:1px solid var(--bw); border-radius:2px; overflow:hidden;
  transition:border-color var(--ease), transform var(--ease);
}
.av-card:hover { border-color:var(--gold); transform:translateY(-6px); }
.av-img {
  width:100%; height:200px; overflow:hidden;
  background:linear-gradient(135deg,var(--d3) 0%,#1a1508 100%);
}
.av-img img { width:100%; height:100%; transition:transform .6s ease; }
.av-card:hover .av-img img { transform:scale(1.06); }
.av-card h3 { font-family:var(--serif); font-size:clamp(1.2rem,1.7vw,1.5rem); font-weight:400; padding:22px 22px 10px; line-height:1.22; }
.av-card p { font-size:0.9rem; color:var(--dim); padding:0 22px 16px; line-height:1.78; }
.tags { display:flex; flex-wrap:wrap; gap:7px; padding:0 22px 22px; }
.tags span { font-size:0.62rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:5px 13px; border:1px solid var(--border); color:var(--gold); border-radius:2px; }

.clients-sec { padding:120px 0; background:var(--dark); overflow:hidden; }
.clients-count { text-align:center; font-size:0.95rem; color:var(--dim); letter-spacing:0.1em; margin-top:8px; margin-bottom:64px; }

.marquee-wrap {
  width:100%; overflow:hidden;
  mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);
}
.marquee-wrap:hover .marquee-track { animation-play-state:paused; }

.marquee-track { display:flex; align-items:center; width:max-content; }
.left  { animation:scrollLeft  30s linear infinite; }
.right { animation:scrollRight 30s linear infinite; }
@keyframes scrollLeft  { 0%{transform:translateX(0)}    100%{transform:translateX(-50%)} }
@keyframes scrollRight { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)}    }

.mlogo {
  flex-shrink:0; width:220px; height:140px;
  display:flex; align-items:center; justify-content:center;
  padding:22px 28px; margin:0 3px;
  border:1px solid var(--bw); background:var(--d2);
  transition:background var(--ease), border-color var(--ease), transform var(--ease);
}
.mlogo:hover { background:var(--d3); border-color:var(--gold); transform:scale(1.05); position:relative; z-index:2; }
.mlogo img {
  width:auto; max-width:160px; height:88px;
  object-fit:contain;
  
  transition:filter var(--ease);
}
.mlogo:hover img { filter:grayscale(0) brightness(1); }

.partners-row { display:flex; justify-content:center; align-items:center; gap:120px; flex-wrap:wrap; margin-top:56px; }
.partner-cell img { width:auto; max-width:340px; height:150px; object-fit:contain; transition:transform var(--ease); }
.partner-cell:hover img { transform:scale(1.06); }

.contact-sec {
  position:relative; padding:130px 0; background:var(--dark); overflow:hidden;
}
.contact-bg-img { position:absolute; inset:0; z-index:0; }
.contact-bg-img img { width:100%; height:100%; object-fit:cover; }
.contact-mask { position:absolute; inset:0; background:rgba(8,8,8,0.91); }
.contact-inner { position:relative; z-index:2; }

.contact-head { text-align:center; margin-bottom:60px; }
.contact-title {
  font-size:clamp(3.5rem, 7vw, 7.5rem);
  white-space:nowrap;           
  margin-bottom:18px;
}
.contact-lead {
  font-size:clamp(1rem, 1.5vw, 1.2rem);
  color:var(--dim); max-width:520px;
  margin:0 auto; line-height:1.8;
}

.cinfo-row {
  display: flex;                
  flex-wrap: nowrap;            
  margin-bottom: 48px;
  
  
  background: var(--glass);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--bw);
  border-radius: 8px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  overflow: hidden; 
}

.cinfo-card {
  flex: 1 1 auto;               
  display: flex;
  flex-direction: row;          
  align-items: center;          
  justify-content: center;      
  gap: 8px;                     
  padding: 30px 12px;           
  
  background: transparent;
  transition: background var(--ease);
  color: inherit;
  border: none;
  border-right: 1px solid var(--bw); 
}

.cinfo-card:last-child {
  border-right: none;
}

a.cinfo-card:hover { 
  background: rgba(255,255,255,0.03); 
}
a.cinfo-card:hover .cinfo-val { color:var(--goldlt); }

.cinfo-icon {
  width: 30px;                 
  height: 30px;
  border: 1px solid var(--border);
  border-radius: 4px;          
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); 
  flex-shrink: 0;
}
.cinfo-icon svg { width: 14px; height: 14px; }

.cinfo-lbl {
  font-size: 0.65rem; 
  font-weight: 700;
  letter-spacing: 0.1em;       
  text-transform: uppercase;
  color: var(--gold); 
  white-space: nowrap;         
  flex-shrink: 0;
}
.cinfo-lbl::after {
  content: " :";               
}

.cinfo-val {
  font-size: clamp(0.7rem, 0.85vw, 0.95rem); 
  color: var(--white);
  font-weight: 400;
  transition: color var(--ease);
  white-space: nowrap;         
  
}

.cform-wrap {
  background: var(--glass);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--bw);
  padding: clamp(36px,5vw,60px);
  border-radius: 8px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}
#cForm { display:flex; flex-direction:column; gap:20px; }
.cform-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cfield { display:flex; flex-direction:column; gap:8px; }
.cfield label { font-size:0.64rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); }
.cfield input, .cfield textarea, .cfield select {
  background:var(--d3); border:1px solid var(--bw);
  color:var(--white); font-family:var(--sans); font-size:0.98rem; font-weight:300;
  padding:15px 18px; border-radius:2px; outline:none; width:100%;
  transition:border-color var(--ease), background var(--ease);
}
.cfield input::placeholder, .cfield textarea::placeholder { color:rgba(244,241,235,.22); }
.cfield input:focus, .cfield textarea:focus, .cfield select:focus { border-color:var(--gold); background:var(--black); }
.cfield textarea { resize:vertical; min-height:130px; }
.csel-wrap { position:relative; }
.csel-wrap select { appearance:none; cursor:pointer; padding-right:42px; }
.csel-wrap svg { position:absolute; right:14px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--gold); pointer-events:none; }
.csel-wrap select option { background:var(--d2); }

.cform-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:6px; }
.cform-note { font-size:0.8rem; color:var(--dim); line-height:1.65; }
.cform-foot button {
  display:flex; align-items:center; gap:12px;
  padding:16px 44px; background:var(--gold); color:var(--black);
  border:none; font-family:var(--sans); font-size:0.72rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; border-radius:2px;
  white-space:nowrap; transition:background var(--ease);
}
.cform-foot button svg { width:16px; height:16px; transition:transform var(--ease); }
.cform-foot button:hover { background:var(--goldlt); }
.cform-foot button:hover svg { transform:translateX(5px); }

.cform-ok { display:none; flex-direction:column; align-items:center; text-align:center; padding:80px 30px; gap:16px; }
.cform-ok.show { display:flex; }
.cform-ok svg { width:58px; height:58px; color:var(--gold); margin-bottom:8px; }
.cform-ok h3 { font-family:var(--serif); font-size:2rem; font-weight:300; }
.cform-ok p { font-size:0.98rem; color:var(--dim); }
.cform-ok button { margin-top:12px; background:none; border:1px solid var(--bw); color:var(--gold); font-family:var(--sans); font-size:0.7rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; padding:11px 28px; cursor:pointer; border-radius:2px; transition:border-color var(--ease); }
.cform-ok button:hover { border-color:var(--gold); }

.contact-quote { font-family:var(--serif); font-style:italic; font-size:clamp(1rem,1.6vw,1.3rem); color:var(--dim); text-align:center; margin-top:60px; max-width:680px; margin-left:auto; margin-right:auto; line-height:1.72; }

.footer-alt {
  background: var(--black);
  border-top: 1px solid var(--bw);
  padding: 80px 0 40px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 60px;
  margin-bottom: 60px;
}
.footer-brand {
  max-width: 400px;
}
.footer-logo {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  color: var(--white);
}
.footer-brand p {
  color: var(--dim);
  font-size: 0.9rem;
  line-height: 1.8;
  margin-bottom: 24px;
}
.footer-nav h4, .footer-contact h4 {
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
}
.footer-nav ul li { margin-bottom: 12px; }
.footer-nav ul li a {
  font-size: 0.85rem;
  color: var(--dim);
  transition: color var(--ease);
}
.footer-nav ul li a:hover { color: var(--gold); }

.footer-contact p {
  font-size: 0.85rem;
  color: var(--dim);
  margin-bottom: 10px;
}

.social-links {
  display: flex;
  gap: 16px;
}
.social-links a {
  width: 40px;
  height: 40px;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  transition: all var(--ease);
  border-radius: 50%;
}
.social-links a:hover {
  background: var(--gold);
  color: var(--black);
  transform: translateY(-3px);
}
.social-links svg { width: 18px; height: 18px; }

.footer-bottom {
  text-align: center;
  padding-top: 40px;
  border-top: 1px solid var(--bw);
  font-size: 0.75rem;
  color: var(--dim);
}
.footer-bottom a { color: var(--gold); }
.footer-bottom a:hover { text-decoration: underline; }

@media(max-width:1300px) {
  
  .cinfo-row { display: grid; grid-template-columns: repeat(2, 1fr); }
  .cinfo-card:nth-child(1) { border-right: 1px solid var(--bw); border-bottom: 1px solid var(--bw); }
  .cinfo-card:nth-child(2) { border-right: none; border-bottom: 1px solid var(--bw); }
  .cinfo-card:nth-child(3) { border-right: 1px solid var(--bw); border-bottom: none; }
  .cinfo-card:nth-child(4) { border-right: none; border-bottom: none; }
}

@media(max-width:1100px) {
  .wrap { padding:0 40px; }
  #navbar { padding-left:40px; padding-right:40px; }
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .av-grid { grid-template-columns:repeat(2,1fr); }
}

@media(max-width:900px) {
  html { font-size:15px; }
  .wrap { padding:0 28px; }
  #navbar { padding-left:28px; padding-right:28px; }
  .burger { display:flex; }
  .nav-links {
    position:fixed; top:0; right:-100%; width:70%; max-width:300px; height:100vh;
    background:var(--d2); border-left:1px solid var(--bw);
    flex-direction:column; align-items:flex-start; justify-content:center;
    gap:28px; padding:60px 36px;
    transition:right .4s ease; z-index:998;
  }
  .nav-links.open { right:0; }
  .about-grid { grid-template-columns:1fr; gap:48px; }
  .vm-grid { grid-template-columns:1fr; }
  .vm-panel:first-child { border-right:none; border-bottom:1px solid var(--bw); }
  .branches { grid-template-columns:1fr; }
  .contact-title { font-size:clamp(2.8rem,8vw,5rem); white-space:normal; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: span 2; }
}

@media(max-width:680px) {
  .wrap { padding:0 20px; }
  .cards-grid { grid-template-columns:1fr; }
  .av-grid { grid-template-columns:1fr; }
  
  
  .cinfo-row { display: flex; flex-direction: column; }
  .cinfo-card { border-right:none !important; border-bottom:1px solid var(--bw) !important; justify-content: flex-start; }
  .cinfo-card:last-child { border-bottom:none !important; }
  
  .cform-row { grid-template-columns:1fr; }
  .cform-foot { flex-direction:column; align-items:stretch; }
  .cform-foot button { justify-content:center; }
  .pillars { grid-template-columns:1fr; }
  .hero-btns { flex-direction:column; align-items:center; }
  .partners-row { gap:50px; }
  .partner-cell img { max-width:220px; height:100px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: span 1; }
}