/* ================================================
   ACUITA — Design System v2
   ================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

:root {
  --black:      #0a0a0a;
  --navy:       #07162d;
  --white:      #ffffff;
  --cream:      #f5f2ee;
  --gold:       #b8935a;
  --gold-light: #d4aa7a;
  --g50:  #fafaf9; --g100: #f5f5f3; --g200: #e8e8e5;
  --g300: #d0d0cc; --g400: #b0b0aa; --g500: #888884;
  --g600: #5c5c58; --g700: #3a3a37; --g800: #232320;
  --nav-h: 118px;
  --nav-height: var(--nav-h);
  --gray-200: var(--g200);
  --gray-600: var(--g600);
  --px: clamp(24px, 4vw, 60px);
  --mw: 1280px;
  --ease: cubic-bezier(0.16,1,0.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'DM Sans',system-ui,sans-serif;font-size:15px;color:var(--black);background:var(--white);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,h5{font-family:'Playfair Display',Georgia,serif;line-height:1.12;font-weight:500}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}

/* WRAP */
.wrap{max-width:var(--mw);margin:0 auto;padding:0 var(--px)}
.section{padding:100px 0}
.section--sm{padding:64px 0}
.section--cream{background:var(--cream)}
.section--gray{background:var(--g100)}
.section--dark{background:var(--navy);color:var(--white)}

/* LABEL */
.label{font-family:'DM Sans',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.eyebrow{margin-bottom:18px}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:rgba(7,22,45,.98);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);transition:border-color .3s,box-shadow .3s}
.nav.scrolled{border-bottom-color:rgba(255,255,255,.12);box-shadow:0 1px 24px rgba(0,0,0,.16)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--mw);margin:0 auto;padding:0 var(--px)}
.nav__logo img{height:92px;width:auto;filter:brightness(0) invert(1)}
.nav__links{display:flex;align-items:center;gap:32px}
.nav__links a{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);transition:color .2s;position:relative;padding:4px 0}
.nav__links a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s var(--ease)}
.nav__links a:hover{color:var(--white)}
.nav__links a:hover::after,.nav__links a.active::after{transform:scaleX(1)}
.nav__links a.active{color:var(--white)}
.nav__cta{background:var(--white)!important;color:var(--navy)!important;padding:10px 24px!important;border-radius:2px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.14em!important}
.nav__cta::after{display:none!important}
.nav__cta:hover{background:var(--gold)!important;color:var(--white)!important}
.nav__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.nav__hamburger span{width:22px;height:1.5px;background:var(--white);display:block;transition:all .3s var(--ease);transform-origin:center}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 30px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:none;transition:all .25s var(--ease);border-radius:2px;white-space:nowrap}
.btn svg{transition:transform .2s;flex-shrink:0}
.btn:hover svg{transform:translateX(4px)}
.btn--dark{background:var(--black);color:var(--white)}.btn--dark:hover{background:var(--gold)}
.btn--outline{background:transparent;color:var(--black);border:1.5px solid var(--g300)}.btn--outline:hover{border-color:var(--black);background:var(--black);color:var(--white)}
.btn--outline-white{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.3)}.btn--outline-white:hover{background:var(--white);color:var(--black)}
.btn--gold{background:var(--gold);color:var(--white)}.btn--gold:hover{background:var(--black)}

/* HOME HERO */
.hero{min-height:100vh;padding-top:var(--nav-h);display:flex;align-items:center;overflow:hidden;position:relative;background-image:linear-gradient(90deg,rgba(7,22,45,.86) 0%,rgba(7,22,45,.62) 48%,rgba(7,22,45,.26) 100%),url('https://framerusercontent.com/images/R9leyOJApRGy1JBRrVOlHPxDnI.png');background-size:cover;background-position:center}
.hero__content{display:flex;flex-direction:column;justify-content:center;padding:80px var(--px) 80px calc(var(--px)*1.5);max-width:720px;margin-left:0;position:relative;z-index:1}
.hero__kicker{display:inline-flex;align-items:center;gap:14px;margin-bottom:32px}
.hero__kicker-line{width:36px;height:1px;background:var(--gold);flex-shrink:0}
.hero__kicker span{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.hero__title{font-size:clamp(38px,4.2vw,64px);font-weight:500;letter-spacing:-.025em;line-height:1.07;color:var(--white);margin-bottom:28px}
.hero__title em{font-style:italic;color:var(--gold);display:block;margin-top:4px}
.hero__desc{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);max-width:440px;margin-bottom:44px}
.hero__visual{display:none}
.hero .btn--dark{background:var(--white);color:var(--navy)}
.hero .btn--dark:hover{background:var(--gold);color:var(--white)}
.hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s var(--ease)}

/* TICKER */
.ticker{border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);overflow:hidden;background:var(--white)}
.ticker__track{display:flex;width:max-content;animation:ticker 28s linear infinite}
.ticker__item{display:inline-flex;align-items:center;gap:20px;padding:14px 28px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);white-space:nowrap}
.ticker__item a{transition:color .2s}.ticker__item a:hover{color:var(--black)}
.ticker__dot{color:var(--gold);font-size:8px}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION HEADER */
.sh{margin-bottom:56px}
.sh h2{font-size:clamp(28px,3.2vw,48px);font-weight:500;letter-spacing:-.02em;margin-top:10px}
.sh--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}

/* ABOUT SPLIT */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.about-split__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.about-split__body h2{font-size:clamp(24px,2.8vw,40px);margin-bottom:24px;margin-top:4px}
.about-split__body p{font-size:15px;line-height:1.82;color:var(--g600);margin-bottom:32px}
.pillars-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:44px}
.pillar__num{font-family:'Playfair Display',serif;font-size:11px;font-style:italic;color:var(--gold);margin-bottom:8px;display:block}
.pillar h3{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--black);line-height:1.4}

/* SERVICES MOSAIC */
.services-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.svc-tile{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--g100);display:block}
.svc-tile img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s var(--ease)}
.svc-tile:hover img{transform:scale(1.06)}
.svc-tile__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.82) 0%,rgba(10,10,10,.2) 45%,transparent 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px;transition:background .35s}
.svc-tile:hover .svc-tile__overlay{background:linear-gradient(to top,rgba(10,10,10,.9) 0%,rgba(10,10,10,.4) 55%,rgba(10,10,10,.1) 80%)}
.svc-tile__cat{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:7px}
.svc-tile__name{font-family:'Playfair Display',serif;font-size:clamp(16px,1.8vw,22px);font-weight:500;color:#fff;margin-bottom:14px;line-height:1.2}
.svc-tile__cta{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(6px);transition:all .3s var(--ease)}
.svc-tile:hover .svc-tile__cta{opacity:1;transform:translateY(0)}

.home-services-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);background:var(--white)}
.home-service-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid var(--g200);font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,42px);font-weight:500;letter-spacing:-.02em;transition:color .2s}
.home-service-link:last-child{border-bottom:none}
.home-service-link::after{content:'→';font-family:'DM Sans',sans-serif;font-size:18px;color:var(--gold);transition:transform .2s var(--ease)}
.home-service-link:hover{color:var(--gold)}
.home-service-link:hover::after{transform:translateX(6px)}
.home-services-cta{display:flex;justify-content:center;margin-top:36px}
.home-services-cta .btn--outline{background:var(--white);border-color:var(--black);color:var(--black)}
.home-services-cta .btn--outline:hover{background:var(--black);color:var(--white)}

/* CASE STUDIES */
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.cs-card{display:block;background:var(--g100);overflow:hidden}
.cs-card__img{aspect-ratio:1/1;overflow:hidden}
.cs-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.cs-card:hover .cs-card__img img{transform:scale(1.05)}
.cs-card__body{padding:24px}
.cs-card__tag{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block}
.cs-card__title{font-family:'Playfair Display',serif;font-size:17px;font-weight:500;line-height:1.3;color:var(--black);transition:color .2s}
.cs-card:hover .cs-card__title{color:var(--gold)}

/* TESTIMONIALS */
.testi{overflow:hidden}
.testi__viewport{overflow:hidden}
.testi__track{display:flex;gap:20px;transition:transform .6s var(--ease)}
.testi__card{flex:0 0 calc(33.333% - 14px);background:var(--white);border:1px solid var(--g200);padding:36px 32px;border-radius:2px}
.testi__stars{color:var(--gold);font-size:12px;letter-spacing:2px;margin-bottom:18px}
.testi__text{font-size:14px;line-height:1.8;color:var(--g700);margin-bottom:28px;font-style:italic}
.testi__author{display:flex;align-items:center;gap:14px}
.testi__author img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}
.testi__name{font-size:14px;font-weight:600;color:var(--black)}
.testi__controls{display:flex;align-items:center;gap:20px;margin-top:40px}
.testi__btn{width:44px;height:44px;border:1.5px solid var(--g200);border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--black);transition:all .2s}
.testi__btn:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.testi__dots{display:flex;gap:8px}
.testi__dot{width:6px;height:6px;border-radius:50%;background:var(--g300);border:none;transition:background .25s,transform .25s}
.testi__dot.active{background:var(--black);transform:scale(1.3)}

/* BLOG GRID */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.blog-card{display:block;background:var(--white);overflow:hidden}
.blog-card__thumb{aspect-ratio:16/10;overflow:hidden}
.blog-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.blog-card:hover .blog-card__thumb img{transform:scale(1.05)}
.blog-card__body{padding:24px 24px 28px}
.blog-card__cat{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block}
.blog-card__title{font-family:'Playfair Display',serif;font-size:17px;font-weight:500;line-height:1.35;color:var(--black);transition:color .2s}
.blog-card:hover .blog-card__title{color:var(--gold)}
.blog-card.is-extra{display:none}
.blog-card.is-extra.revealed{display:block}
.load-more-wrap{display:flex;justify-content:center;margin-top:42px}

/* CTA STRIP */
.cta-strip{position:relative;overflow:hidden;background:var(--navy);padding:88px 0}
.cta-strip__bg{position:absolute;inset:0;background-image:url('https://framerusercontent.com/images/R9leyOJApRGy1JBRrVOlHPxDnI.png');background-size:cover;background-position:center;opacity:.12}
.cta-strip__inner{position:relative;z-index:1;max-width:var(--mw);margin:0 auto;padding:0 var(--px);display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap}
.cta-strip__left .label{color:rgba(255,255,255,.45);margin-bottom:14px}
.cta-strip__left h2{font-family:'Playfair Display',serif;font-size:clamp(22px,2.8vw,40px);color:var(--white);font-weight:500;max-width:540px;letter-spacing:-.01em}

/* FOOTER */
.footer{background:var(--navy);color:var(--white);padding:80px 0 0}
.footer__main{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:56px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer__logo{height:92px;margin-bottom:20px;filter:brightness(0) invert(1)}
.footer__desc{font-size:13px;line-height:1.75;color:rgba(255,255,255,.4);margin-bottom:28px;max-width:300px}
.footer__nl-label{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:12px;line-height:1.5}
.footer__nl-form{display:flex}
.footer__nl-input{flex:1;padding:12px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-right:none;color:var(--white);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .2s}
.footer__nl-input:focus{border-color:rgba(255,255,255,.3)}
.footer__nl-input::placeholder{color:rgba(255,255,255,.25)}
.footer__nl-btn{padding:12px 18px;background:var(--gold);color:var(--white);border:none;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .2s;white-space:nowrap}
.footer__nl-btn:hover{background:var(--white);color:var(--black)}
.footer__col-hd{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:22px}
.footer__nav{display:flex;flex-direction:column;gap:12px}
.footer__nav a{font-size:14px;color:rgba(255,255,255,.55);transition:color .2s;line-height:1.5}
.footer__nav a:hover{color:var(--white)}
.footer__nav a strong{font-weight:600;color:rgba(255,255,255,.7)}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 0}
.footer__legal{display:flex;align-items:center;flex-wrap:wrap}
.footer__legal a{font-size:11px;color:rgba(255,255,255,.28);padding:4px 10px;transition:color .2s}
.footer__legal a:first-child{padding-left:0}
.footer__legal a:hover{color:rgba(255,255,255,.65)}
.footer__sep{color:rgba(255,255,255,.15);font-size:11px;user-select:none}
.footer__copy{font-size:11px;color:rgba(255,255,255,.2)}

/* PAGE HERO */
.pg-hero{padding-top:calc(var(--nav-h) + 80px);padding-bottom:80px;background:var(--cream);position:relative;overflow:hidden}
.pg-hero::before{content:'';position:absolute;right:-80px;bottom:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(184,147,90,.09) 0%,transparent 70%);pointer-events:none}
.pg-hero--dark{background:var(--navy)}
.pg-hero--dark h1{color:var(--white)}
.pg-hero--dark p{color:rgba(255,255,255,.55)}
.contact-hero h1{color:var(--black)}
.pg-hero__inner{max-width:820px}
.pg-hero h1{font-size:clamp(36px,5vw,66px);font-weight:500;letter-spacing:-.025em;margin:14px 0 20px}
.pg-hero p{font-size:17px;color:var(--g600);line-height:1.72;max-width:580px}
.pg-hero__img{width:100%;max-height:500px;object-fit:cover;margin-top:60px;border-radius:2px;display:block}
.pg-hero--split{padding:0;min-height:58vh;display:grid;grid-template-columns:55% 45%;background:var(--cream)}
.pg-hero--split .phs-text{padding:calc(var(--nav-h) + 80px) var(--px) 80px;display:flex;flex-direction:column;justify-content:center}
.pg-hero--split .phs-img{overflow:hidden;position:relative}
.pg-hero--split .phs-img img{width:100%;height:100%;object-fit:cover}

/* SERVICE DETAIL */
.svc-detail{display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start}
.svc-sidebar{position:sticky;top:calc(var(--nav-h) + 24px)}
.svc-toc{display:flex;flex-direction:column;gap:2px;margin-bottom:40px}
.svc-toc a{font-size:13px;color:var(--g400);padding:9px 0 9px 16px;border-left:2px solid transparent;transition:all .2s}
.svc-toc a:hover,.svc-toc a.active{color:var(--black);border-left-color:var(--gold)}
.svc-body h1{font-size:clamp(34px,4.5vw,58px);font-weight:500;letter-spacing:-.025em;margin-bottom:20px}
.svc-body__sub{font-size:18px;line-height:1.72;color:var(--g600);margin-bottom:52px;max-width:580px}
.svc-body__quote{padding:22px 28px;background:var(--cream);margin:40px auto;font-family:'Playfair Display',serif;font-size:16px;font-style:italic;color:var(--g800);text-align:center;max-width:620px;border-left:0}
.svc-body h2{font-size:24px;font-weight:500;margin:60px 0 20px;letter-spacing:-.01em}
.svc-body h2:first-of-type{margin-top:0}
.svc-body p{font-size:15px;line-height:1.85;color:var(--g600);margin-bottom:20px}
.svc-body h3{font-size:18px;font-weight:500;margin:34px 0 14px}
.svc-body ul{margin:0 0 24px 20px}
.svc-body ul li{font-size:15px;line-height:1.82;color:var(--g600);margin-bottom:8px;list-style:disc}

/* FAQ */
.faq{border-top:1px solid var(--g200)}
.faq-row{border-bottom:1px solid var(--g200)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;background:none;border:none;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;text-align:left;color:var(--black);transition:color .2s}
.faq-q:hover{color:var(--gold)}
.faq-icon{width:30px;height:30px;flex-shrink:0;border:1.5px solid var(--g200);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--g400);transition:all .3s var(--ease)}
.faq-row.open .faq-icon{background:var(--black);color:var(--white);border-color:var(--black);transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a-inner{padding:0 0 24px;font-size:14px;color:var(--g600);line-height:1.85}
.faq-row.open .faq-a{max-height:500px}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}
.form-stack{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fg{display:flex;flex-direction:column;gap:8px}
.fg label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g600)}
.fg input,.fg select,.fg textarea{padding:13px 16px;width:100%;background:var(--g100);border:1px solid var(--g200);border-radius:2px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--black);outline:none;transition:all .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);background:var(--white);box-shadow:0 0 0 3px rgba(184,147,90,.08)}
.fg textarea{resize:vertical;min-height:140px}
.fg select{appearance:none}
.contact-aside{padding-top:12px}
.ci-item{margin-bottom:32px}
.ci-item .label{display:block;margin-bottom:6px}
.ci-item a{font-size:16px;font-weight:500;transition:color .2s}
.ci-item a:hover{color:var(--gold)}
.contact-panel{background:var(--navy);color:var(--white);padding:40px 36px;border-radius:2px;margin-top:40px}
.contact-panel__row{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.contact-panel__row:last-child{border-bottom:none;padding-bottom:0}
.contact-panel__row h4{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.contact-panel__row p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65}

/* STATS / VALUES */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.stat-cell{background:var(--g100);padding:44px 36px}
.stat-cell__num{font-family:'Playfair Display',serif;font-size:42px;font-weight:500;color:var(--black);line-height:1;margin-bottom:10px}
.stat-cell__lbl{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.val-card{padding:52px 44px;background:var(--black);color:var(--white)}
.val-card:nth-child(2),.val-card:nth-child(3){background:#111110}
.val-num{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--gold);margin-bottom:18px;display:block}
.val-card h3{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.val-card p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.82}

/* BREADCRUMB */
.bc{display:flex;align-items:center;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.bc a{font-size:12px;color:var(--g400);transition:color .2s}
.bc a:hover{color:var(--black)}
.bc__sep{font-size:12px;color:var(--g300)}
.bc__cur{font-size:12px;font-weight:500;color:var(--black)}

/* BLOG DETAIL */
.blog-layout{display:grid;grid-template-columns:1fr 340px;gap:80px;align-items:start}
.article h2{font-size:26px;font-weight:500;margin:52px 0 18px;letter-spacing:-.01em}
.article h3{font-size:20px;font-weight:500;margin:36px 0 14px}
.article p{font-size:15px;line-height:1.88;color:var(--g600);margin-bottom:20px}
.article ul{margin:0 0 24px 20px}
.article ul li{font-size:15px;line-height:1.82;color:var(--g600);margin-bottom:8px;list-style:disc}
.article ul li strong{color:var(--black)}
.article img{width:100%;margin:32px 0;border-radius:2px}
.pullquote{border-left:3px solid var(--gold);padding:20px 26px;background:var(--cream);margin:36px 0}
.pullquote p{font-style:italic;color:var(--g800);margin:0!important}
.blog-sidebar{position:sticky;top:calc(var(--nav-h) + 24px)}
.blog-sidebar h4{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:20px}
.blog-rec{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--g200)}
.blog-rec:last-child{border-bottom:none}
.blog-rec__img{width:68px;height:52px;flex-shrink:0;overflow:hidden;border-radius:2px}
.blog-rec__img img{width:100%;height:100%;object-fit:cover}
.blog-rec__title{font-size:13px;font-weight:500;line-height:1.4;color:var(--black);transition:color .2s}
.blog-rec:hover .blog-rec__title{color:var(--gold)}

/* CASE STUDY DETAIL */
.cs-layout{display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start}
.cs-toc{position:sticky;top:calc(var(--nav-h) + 24px)}
.cs-toc h4{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:16px}
.cs-toc a{display:block;font-size:13px;color:var(--g500);padding:9px 0 9px 14px;border-left:2px solid transparent;transition:all .2s}
.cs-toc a:hover,.cs-toc a.active{color:var(--black);border-left-color:var(--gold)}
.cs-body h1{font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:-.025em;margin:14px 0 20px}
.cs-body__intro{font-size:17px;color:var(--g600);line-height:1.72;margin-bottom:56px;max-width:600px}
.cs-body h2{font-size:24px;font-weight:500;margin:52px 0 18px}
.cs-body h3{font-size:18px;font-weight:500;margin:32px 0 14px}
.cs-body p{font-size:15px;line-height:1.85;color:var(--g600);margin-bottom:20px}
.cs-body ul{margin:0 0 22px 20px}
.cs-body ul li{font-size:15px;line-height:1.82;color:var(--g600);margin-bottom:8px;list-style:disc}
.cs-body strong{color:var(--black);font-weight:600}
.callout{background:var(--cream);border-left:3px solid var(--gold);padding:20px 24px;margin:32px 0}
.callout p{font-style:italic;color:var(--g800);margin:0!important}

/* LEGAL */
.legal-body{max-width:760px}
.legal-body h2{font-size:20px;font-weight:500;margin:48px 0 14px;padding-top:8px;border-top:1px solid var(--g200)}
.legal-body h2:first-child{border-top:none;margin-top:0}
.legal-body h3{font-size:16px;font-weight:500;margin:24px 0 10px}
.legal-body p,.legal-body li{font-size:14px;color:var(--g600);line-height:1.85;margin-bottom:12px}
.legal-body ul{margin-left:20px}
.legal-body ul li{list-style:disc}
.legal-body a{color:var(--gold);text-decoration:underline}

/* BLOG FILTERS */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:48px}
.filter-btn{padding:8px 18px;border:1.5px solid var(--g200);background:transparent;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g600);transition:all .2s}
.filter-btn:hover{border-color:var(--g400);color:var(--black)}
.filter-btn.active{background:var(--black);color:var(--white);border-color:var(--black)}

/* SERVICES LIST */
.svc-list{display:flex;flex-direction:column;gap:3px}
.svc-item{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:var(--g100)}
.svc-item:nth-child(even){direction:rtl}
.svc-item:nth-child(even)>*{direction:ltr}
.svc-item__img{overflow:hidden;aspect-ratio:16/10}
.svc-item__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.svc-item:hover .svc-item__img img{transform:scale(1.04)}
.svc-item__body{padding:clamp(36px,4vw,60px);display:flex;flex-direction:column;justify-content:center}
.svc-item__body h2{font-size:clamp(22px,2.5vw,34px);margin-bottom:16px}
.svc-item__body p{font-size:15px;color:var(--g600);line-height:1.78;margin-bottom:28px}

/* AOS */
[data-aos]{opacity:0;transform:translateY(28px);transition:opacity .72s var(--ease),transform .72s var(--ease)}
[data-aos="left"]{transform:translateX(-28px)}
[data-aos="right"]{transform:translateX(28px)}
[data-aos="scale"]{transform:scale(.96)}
[data-aos].in{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr}
  .hero__visual{display:none}
  .hero__content{max-width:100%;padding:80px var(--px)}
  .about-split{grid-template-columns:1fr;gap:48px}
  .services-mosaic{grid-template-columns:repeat(2,1fr)}
  .cs-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .footer__main{grid-template-columns:1fr 1fr}
  .svc-item{grid-template-columns:1fr}
  .svc-item:nth-child(even){direction:ltr}
  .pg-hero--split{grid-template-columns:1fr}
  .pg-hero--split .phs-img{height:320px}
}
@media(max-width:900px){
  :root{--nav-h:64px}
  .nav__logo img{height:48px}
  .footer__logo,.footer__brand img:first-child{height:64px}
  .blog-layout{grid-template-columns:1fr}
  .cs-layout{grid-template-columns:1fr}
  .svc-detail{grid-template-columns:1fr}
  .svc-sidebar{display:none}
  .contact-layout{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav__links{display:none}
  .nav__hamburger{display:flex}
  .nav__links.mobile-open{display:flex;flex-direction:column;position:fixed;inset:var(--nav-h) 0 0 0;background:var(--navy);z-index:100;padding:48px var(--px);gap:28px;overflow-y:auto}
  .nav__links.mobile-open a{font-size:22px;letter-spacing:.04em}
  .nav__links.mobile-open .nav__cta{align-self:flex-start}
  .services-mosaic{grid-template-columns:1fr}
  .cs-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .pillars-grid{grid-template-columns:1fr}
  .footer__main{grid-template-columns:1fr;gap:40px}
  .cta-strip__inner{flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  .sh--row{flex-direction:column;align-items:flex-start}
  .testi__card{flex:0 0 90vw}
}

/* ── LEGACY ALIASES (backward compat) ── */
.footer__brand { /* alias */ }
.footer__brand img:first-child { height:92px;margin-bottom:20px;filter:brightness(0) invert(1) }
.footer__brand > p:first-of-type { font-size:13px;line-height:1.75;color:rgba(255,255,255,.4);margin-bottom:28px;max-width:300px }
.footer__newsletter { margin-top:0 }
.contact-form, .form-stack { display:flex;flex-direction:column;gap:20px }
.form-group, .fg { display:flex;flex-direction:column;gap:8px }
.form-label { font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g600) }
.form-input, .form-select, .form-textarea, .fg input, .fg select, .fg textarea {
  padding:13px 16px;width:100%;background:var(--g100);border:1px solid var(--g200);border-radius:2px;
  font-family:'DM Sans',sans-serif;font-size:14px;color:var(--black);outline:none;transition:all .2s
}
.form-input:focus,.form-select:focus,.form-textarea:focus,.fg input:focus,.fg select:focus,.fg textarea:focus {
  border-color:var(--gold);background:var(--white);box-shadow:0 0 0 3px rgba(184,147,90,.08)
}
.form-textarea,.fg textarea { resize:vertical;min-height:140px }
.form-select,.fg select { appearance:none }
.contact-grid, .contact-layout { display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start }
.contact-info { padding-top:12px }
.contact-info__item, .ci-item { margin-bottom:32px }
.contact-info__item .label, .ci-item .label { display:block;margin-bottom:6px }
.contact-info__item a, .ci-item a { font-size:16px;font-weight:500;transition:color .2s }
.contact-info__item a:hover, .ci-item a:hover { color:var(--gold) }
.contact-aside { padding-top:12px }
.contact-aside__item, .contact-panel__row { padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07) }
.contact-aside__item:last-child,.contact-panel__row:last-child { border-bottom:none;padding-bottom:0 }
.contact-aside__item h4, .contact-panel__row h4 { font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px }
.contact-aside__item p, .contact-panel__row p { font-size:13px;color:rgba(255,255,255,.5);line-height:1.65 }
.contact-aside, .contact-panel { background:var(--navy);color:var(--white);padding:40px 36px;border-radius:2px;margin-top:40px }
.svc-body__quote, .service-detail__body .quote { padding:22px 28px;background:var(--cream);margin:40px auto;font-family:'Playfair Display',serif;font-size:16px;font-style:italic;color:var(--g800);text-align:center;max-width:620px;border-left:0 }
.service-detail { display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start }
.service-detail__sidebar { position:sticky;top:calc(var(--nav-h) + 24px) }
.service-detail__sidebar nav { display:flex;flex-direction:column;gap:2px }
.service-detail__sidebar nav a { font-size:13px;color:var(--g400);padding:9px 0 9px 16px;border-left:2px solid transparent;transition:all .2s }
.service-detail__sidebar nav a:hover,.service-detail__sidebar nav a.active { color:var(--black);border-left-color:var(--gold) }
.service-detail__body h2 { font-size:24px;font-weight:500;margin:60px 0 20px }
.service-detail__body p { font-size:15px;line-height:1.85;color:var(--g600);margin-bottom:20px }
.breadcrumb, .bc { display:flex;align-items:center;gap:8px;margin-bottom:24px;flex-wrap:wrap }
.breadcrumb a, .bc a { font-size:12px;color:var(--g400);transition:color .2s }
.breadcrumb a:hover,.bc a:hover { color:var(--black) }
.breadcrumb span, .bc__sep { font-size:12px;color:var(--g300) }
.breadcrumb .current, .bc__cur { font-size:12px;font-weight:500;color:var(--black) }
.case-toc,.cs-toc { position:sticky;top:calc(var(--nav-h) + 24px) }
.case-toc h4,.cs-toc h4 { font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:16px }
.case-toc a,.cs-toc a { display:block;font-size:13px;color:var(--g500);padding:9px 0 9px 14px;border-left:2px solid transparent;transition:all .2s }
.case-toc a:hover,.cs-toc a:hover,.case-toc a.active,.cs-toc a.active { color:var(--black);border-left-color:var(--gold) }
.case-layout,.cs-layout { display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start }
.case-body,.cs-body { }
.case-body h2,.cs-body h2 { font-size:24px;font-weight:500;margin:52px 0 18px }
.case-body h3,.cs-body h3 { font-size:18px;font-weight:500;margin:32px 0 14px }
.case-body p,.cs-body p { font-size:15px;line-height:1.85;color:var(--g600);margin-bottom:20px }
.case-body ul,.cs-body ul { margin:0 0 22px 20px }
.case-body ul li,.cs-body ul li { font-size:15px;line-height:1.82;color:var(--g600);margin-bottom:8px;list-style:disc }
.case-body strong,.cs-body strong { color:var(--black);font-weight:600 }
.case-body .highlight,.cs-body .callout,.callout { background:var(--cream);border-left:3px solid var(--gold);padding:20px 24px;margin:32px 0 }
.case-body .highlight p,.callout p { font-style:italic;color:var(--g800);margin:0!important }
.blog-content,.article { }
.blog-content h2,.article h2 { font-size:26px;font-weight:500;margin:52px 0 18px;letter-spacing:-.01em }
.blog-content p,.article p { font-size:15px;line-height:1.88;color:var(--g600);margin-bottom:20px }
.blog-content ul,.article ul { margin:0 0 24px 20px }
.blog-content ul li,.article ul li { font-size:15px;line-height:1.82;color:var(--g600);margin-bottom:8px;list-style:disc }
.blog-content ul li strong,.article ul li strong { color:var(--black) }
.blog-content img,.article img { width:100%;margin:32px 0;border-radius:2px }
.blog-content .highlight,.article .pullquote,.pullquote { border-left:3px solid var(--gold);padding:20px 26px;background:var(--cream);margin:36px 0 }
.blog-content .highlight p,.article .pullquote p,.pullquote p { font-style:italic;color:var(--g800);margin:0!important }
.blog-sidebar__recommended h4 { font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:20px }
.blog-rec-card,.blog-rec { display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--g200) }
.blog-rec-card:last-child,.blog-rec:last-child { border-bottom:none }
.blog-rec-img,.blog-rec__img { width:68px;height:52px;flex-shrink:0;overflow:hidden;border-radius:2px }
.blog-rec-img img,.blog-rec__img img { width:100%;height:100%;object-fit:cover }
.blog-rec-title,.blog-rec__title { font-size:13px;font-weight:500;line-height:1.4;color:var(--black);transition:color .2s }
.blog-rec-card:hover .blog-rec-title,.blog-rec:hover .blog-rec__title { color:var(--gold) }
.section-header { margin-bottom:56px }
.section-header h2 { font-size:clamp(28px,3.2vw,48px);font-weight:500;letter-spacing:-.02em;margin-top:10px }
.section-header--split { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap }
.stats-grid,.stats-row { display:grid;grid-template-columns:repeat(4,1fr);gap:3px }
.stat-card,.stat-cell { background:var(--g100);padding:44px 36px }
.stat-card__number,.stat-cell__num { font-family:'Playfair Display',serif;font-size:42px;font-weight:500;color:var(--black);line-height:1;margin-bottom:10px }
.stat-card__label,.stat-cell__lbl { font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold) }
.page-hero,.pg-hero { padding-top:calc(var(--nav-h) + 80px);padding-bottom:80px;background:var(--cream);position:relative;overflow:hidden }
.page-hero__inner,.pg-hero__inner { max-width:820px }
.page-hero h1,.pg-hero h1 { font-size:clamp(36px,5vw,66px);font-weight:500;letter-spacing:-.025em;margin:14px 0 20px }
.page-hero p,.pg-hero p { font-size:17px;color:var(--g600);line-height:1.72;max-width:580px }
.page-hero__img,.pg-hero__img { width:100%;max-height:500px;object-fit:cover;margin-top:60px;border-radius:2px;display:block }
.faq-question { width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;background:none;border:none;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;text-align:left;color:var(--black);transition:color .2s }
.faq-question:hover { color:var(--gold) }
.faq-item { border-bottom:1px solid var(--g200) }
.faq-answer { max-height:0;overflow:hidden;transition:max-height .4s var(--ease) }
.faq-answer-inner { padding:0 0 24px;font-size:14px;color:var(--g600);line-height:1.85 }
.faq-item.open .faq-answer { max-height:500px }
.faq-item.open .faq-icon,.faq-row.open .faq-icon { background:var(--black);color:var(--white);border-color:var(--black);transform:rotate(45deg) }
@media(max-width:900px){.contact-grid,.contact-layout{grid-template-columns:1fr}.case-layout,.cs-layout,.service-detail{grid-template-columns:1fr}.service-detail__sidebar,.svc-sidebar{display:none}}
@media(max-width:768px){.stats-grid,.stats-row{grid-template-columns:1fr 1fr}.section-header--split{flex-direction:column;align-items:flex-start}}

.contact-layout > .contact-aside{background:transparent;color:var(--black);padding:0;margin-top:0}
.contact-layout > .contact-aside .contact-panel{background:var(--navy);color:var(--white)}
