

:root{
  --ink:#111110; --ink-2:#33322F; --body:#57554F; --muted:#8A877F; --soft:#A3A19A;
  --line:#E8E6E1; --line-2:#EDEAE4; --border:#C9C6BE; --cream:#F5F3EF; --cream-2:#FAF9F6;
  --gold-deep:#8E7345; --gold-lt:#CBAE78; --dark-line:#33322F;
  --track:#EFEDE8; --gold:#B3925A; --gold-2:#8F7343; --gold-line:#E3D6BC; --gold-tint:#FAF7F1;
  --display:'Funnel Sans',sans-serif; --text:'Open Sans',sans-serif;
  --faint:#B5B2A9;
  --line-dark:#33322F;--bg:#FFFFFF;--bg-warm:#F5F3EF;--bg-tint:#F1EADD;
  --grad-ink:linear-gradient(115deg,#111110 20%,#B3925A 85%);
  --grad-light:linear-gradient(115deg,#FFFFFF 55%,#B3925A 125%);
  --font-display:'Funnel Sans','GTStandard-M',sans-serif;
  --font-body:'Open Sans','GTStandard-M',sans-serif;
  --radius:24px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#fff; /*overflow-x: hidden;*/}
body{font-family:var(--text);color:var(--ink);-webkit-font-smoothing:antialiased;}
img{display:block;}
a{color:var(--ink);text-decoration:none;transition:color .22s ease,border-color .22s ease,background .22s ease;}
a:hover{color:var(--body);}
h1,h2,h3{font-family:var(--display);margin:0;}
p{margin:0;}
dl,dd{margin:0;}
::selection{background:var(--ink);color:#fff;}
.text-center {text-align: center;}


.grad-text{background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-text-light{background:var(--grad-light);-webkit-background-clip:text;background-clip:text;color:transparent}

.site-nav a.active {color: var(--gold);}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes growWide{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes growBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}

.wrap{max-width:1320px;margin:0 auto;padding:104px 72px;}
.eyebrow {display: flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.eyebrow--gold{color:var(--gold);}
.eyebrow i {width: 1px; height: 14px; background: #D9D7D1; display: inline-block; }
.eyebrow--center{justify-content:center;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;}
.gold-text{background:linear-gradient(115deg,var(--ink) 15%,var(--gold) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.gold-text--onDark{background:linear-gradient(115deg,#fff 45%,var(--gold) 110%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.h2{font-size:46px;font-weight:600;letter-spacing:-.03em;line-height:1.1;text-wrap:balance;}
.btn{font-size:15.5px;font-weight:600;padding:17px 34px;border-radius:999px;display:inline-block;border:1px solid transparent;cursor:pointer;text-align: center;}
.btn--dark{background:var(--ink);color:#fff;}
.btn--dark:hover{background:var(--ink-2);color:#fff;}
.btn--ghost{border-color:var(--border);background:#fff;color:var(--ink);}
.btn--ghost:hover{border-color:var(--ink);color:var(--ink);}
.btn--light{background:#fff;color:var(--ink);}
.btn--light:hover{background:var(--line);}
.btn--outline-dark{border-color:var(--body);color:#fff;}
.btn--outline-dark:hover{border-color:#fff;color:#fff;}
.btn--sm{font-size:15px;padding:15px 30px;}
.arrow{font-size:17px;color:var(--gold);}
.imgph{background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-align:center;padding:0;}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px 72px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50;}
.logo{font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.02em;}
.logo span:last-child{font-weight:400;color:var(--body);}
.site-nav{display:flex;gap:40px;font-size:14.5px;font-weight:500;}
.site-header .btn{font-size:14.5px;padding:12px 26px;}


/* Footer */
.site-footer{background:var(--ink);padding:0 72px 40px;}
.site-footer__inner{max-width:1320px;margin:0 auto;}
.footer-grid{border-top:1px solid var(--dark-line);padding:80px 0 72px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:64px;}
.footer-brand .logo{font-size:22px;margin-bottom:18px;letter-spacing:-.01em;}
.footer-brand .logo span:last-child{color:var(--soft);}
.footer-brand p{font-size:14.5px;line-height:1.7;color:var(--muted);margin:0 0 28px;max-width:300px;text-wrap:pretty;}
.footer-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--dark-line);border-radius:999px;padding:9px 18px;font-size:12.5px;color:var(--soft);letter-spacing:.04em;}
.footer-col h4{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--body);margin:0 0 22px;font-family:var(--text);}
.footer-links{display:flex;flex-direction:column;gap:13px;font-size:14.5px;}
.footer-links a{color:var(--border);}
.footer-links a:hover{color:#fff;}
.footer-mail{font-family:var(--display);font-size:19px;font-weight:500;color:#fff;letter-spacing:-.01em;display:inline-block;border-bottom:1px solid var(--body);padding-bottom:4px;}
.footer-mail:hover{color:var(--gold);border-color:var(--gold);}
.footer-loc{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted);margin-top:24px;line-height:1.6;}
.footer-bottom{display:flex;justify-content:center;align-items:center;border-top:1px solid var(--dark-line);padding-top:28px;font-size:13px;color:var(--body);}
.footer-bottom a{color:var(--body);}
.footer-bottom a:hover{color:var(--border);}
.footer-bottom .legal{display:flex;gap:28px;}
.socials{display:flex;gap:10px;margin-top:24px;}
.social{width:42px;height:42px;border-radius:50%;border:1px solid var(--dark-line);display:flex;align-items:center;justify-content:center;color:var(--border);}
.social:hover{background:#fff;border-color:#fff;color:var(--ink);}
.social svg{width:16px;height:16px;fill:currentColor;}

/* CTA */
.cta{background:radial-gradient(ellipse 900px 560px at 15% 110%,rgba(179,146,90,.16),transparent 65%),var(--ink);padding:128px 72px;}
.cta__inner{max-width:900px;margin:0 auto;text-align:center;}
.cta h2{font-size:64px;font-weight:600;letter-spacing:-.03em;line-height:1.12;margin-bottom:28px;text-wrap:balance;}
.cta p{font-size:17px;line-height:1.7;color:var(--soft);margin:0 auto 44px;max-width:520px;text-wrap:pretty;}
.cta__actions{display:flex;gap:14px;justify-content:center; flex-wrap: wrap;}
.cta .eyebrow{margin-bottom:28px;}

/* Hamburger */
.menu-toggle{display:none; width:42px; height:42px; border:none; background:none; cursor:pointer; position:relative; z-index:100; }
.menu-toggle span{display:block; width:28px; height:2px; background:#111; margin:6px auto; transition:.35s ease; }

/* Active Animation */
.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg); }
.menu-toggle.active span:nth-child(2){opacity:0; }
.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg); }

/* Mobile */
.mobile-btn{display:none; }

@media(max-width:991px){
  .site-header{padding:12px 20px; }
  .desktop-btn{display:none; }
  .menu-toggle{display:block; }
  .site-nav{position:fixed; top:0; left:-100%; width:320px; height:100vh; background:#fff; display:flex; flex-direction:column; gap:24px; padding:100px 30px 40px; box-shadow:-10px 0 30px rgba(0,0,0,.08); transition:left .4s ease; z-index:90; }
  .site-nav.active{left:0; }
  .site-nav a{font-size:18px; }
  .mobile-btn{display:inline-flex; justify-content:center; margin-top:10px; }
  body.menu-open{overflow:hidden; }
}  


@media (max-width:1100px){
  .wrap, .logos__inner, .about__inner, .quotes__inner, .cta {padding: 80px 72px;}
  .wrap, .logos__inner, .about__inner, .quotes__inner{padding-left:20px;padding-right:20px;}
  .site-header,.cta,.site-footer{padding-left:20px;padding-right:20px;}
  .hero h1{font-size:52px;}
  .h2,.cta h2{font-size:36px;}
  .services__grid{gap:48px;}
  .case__body{flex:1;padding:44px 36px;}
  .case__media{min-height:320px;}
  .video-grid,.process__grid{grid-template-columns:1fr 1fr;}
  .trust__grid{grid-template-columns:1fr;gap:32px;}
  .logo-grid{grid-template-columns:repeat(3,1fr);}

  .service {grid-template-columns: 20px 1fr;}

  /*h1 {font-size: 48px !important;}
  h2 {font-size: 40px !important;}*/
}

@media (max-width:991px){
  .case,.case--rev{flex-direction:column;}
  .case p {max-width: 100%;}
  .case h3 {text-wrap: unset;}
  .about__stat {padding: 30px;}
  .about__lede {padding: 50px 30px;}

  .footer-grid {grid-template-columns: 1.6fr 1.2fr 0.8fr 1.2fr;  gap: 20px;}
}

@media (max-width:767px){
  .hero__media {height: auto;}
  .badge-card {position: relative; left: 0; bottom: 0; width: 100%;}
  .case__stats {flex-wrap: wrap; display: flex;}
  .case__body {flex: 1; padding: 40px 20px;}
  .trust__card {padding: 10px 20px;}
  .services__grid{grid-template-columns:1fr;gap:20px;}
  .services__aside{position:static;}
  .sec-head {flex-wrap: wrap; gap: 24px; margin-bottom: 44px;}
  .sec-head h2 {max-width: 100%;}
  .case__tags {flex-wrap: wrap;}
  .about__stats,.footer-grid{flex-direction:column;grid-template-columns:1fr;}

  .footer-brand, .footer-brand .logo, .footer-col {text-align: center; justify-content: center;}
  .footer-brand p {margin: 0 auto 28px;}
  .socials {justify-content: center;}

  /*h1 {font-size: 44px !important;}
  h2 {font-size: 36px !important;}*/
}

@media (max-width:640px){
  .video-grid, .process__grid {grid-template-columns: 1fr;}
  .logo-grid{grid-template-columns:repeat(2,1fr);}
}