/* =========================================================
   ER / Premium production edition — restrained unified system
   ========================================================= */
:root {
  --ink:#080A09; --ink-2:#101311; --charcoal:#151A17;
  --paper:#F5F6F3; --white:#FFFFFF; --muted:#B8C0BB;
  --lime:#C6FF34; --line:rgba(255,255,255,.14);
  --radius:.8rem; --radius-sm:.55rem;
  --page-width:1520px;
  --gutter:clamp(1.2rem,5vw,5.5rem);
}
html { scroll-padding-top:90px; }
body,button,input,textarea,select { font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; }
body { background:#080A09; color:#fff; }
p { line-height:1.7; }
.display,.h-xl,.h-lg,.h-md,h1,h2,h3 { font-family:inherit; font-style:normal; font-kerning:normal; letter-spacing:-.052em; }
.display { letter-spacing:-.073em; line-height:.97; font-weight:610; }
.h-xl { letter-spacing:-.06em; line-height:1.04; }
.section-heading .heading-copy { max-width:760px; }
.section-heading .heading-copy p { max-width:650px; color:#BEC7BF; }
.eyebrow { font-weight:650; letter-spacing:.135em; }
.btn { background:#C6FF34; color:#080A09; }
.btn:hover { background:#C6FF34; filter:brightness(1.06); }

/* Balanced fixed-access header; compact language control. */
#site-header { position:sticky; top:0; z-index:500; isolation:isolate; }
.site-header { position:relative; z-index:501; background:rgba(8,10,9,.94); border-bottom:1px solid rgba(255,255,255,.10); backdrop-filter:blur(22px); }
.nav-inner { display:grid; grid-template-columns:minmax(90px,1fr) auto minmax(235px,1fr); min-height:76px; column-gap:clamp(.75rem,2.2vw,2.8rem); }
.desktop-nav { justify-self:center; gap:clamp(1rem,1.95vw,2.1rem); flex:none; }
.nav-link { font-size:.84rem; font-weight:530; letter-spacing:-.012em; }
.logo-link { justify-self:start; min-width:unset; }
.logo-link img { width:64px; height:45px; }
.nav-actions { justify-self:end; gap:.75rem; }
.lang-select { min-width:62px; min-height:38px; padding:.55rem 1.4rem .55rem .62rem; border-radius:8px; font-size:.76rem; }
.lang-select .lang-caret { width:.65rem; height:.65rem; right:.45rem; }
.lang-menu { min-width:78px; }
.nav-cta { font-size:.76rem; min-height:39px; padding:.76rem .98rem; }
.mobile-panel { background:#080A09; }

/* Composed, client-photo-led cinematic carousel. No video. */
.luxury-hero { min-height:clamp(670px,88svh,940px); background:#080A09; isolation:isolate; display:flex; align-items:center; overflow:hidden; position:relative; padding:clamp(6.4rem,11vw,10rem) 0 clamp(5.3rem,9vw,7rem); }
.hero-slides,.hero-slide,.hero-shading { position:absolute; inset:0; }
.hero-slides { z-index:-3; overflow:hidden; }
.hero-slide { opacity:0; visibility:hidden; transition:opacity 1.05s cubic-bezier(.2,.7,.16,1),visibility 1.05s; }
.hero-slide.is-active { opacity:1; visibility:visible; }
.hero-slide picture,.hero-slide img { display:block; width:100%; height:100%; }
.hero-slide img { object-fit:cover; object-position:center; transform:scale(1.045); transition:transform 7s ease; }
.hero-slide.is-active img { transform:scale(1); }
.hero-shading { z-index:-1; background:linear-gradient(90deg,rgba(8,10,9,.47) 0%,rgba(8,10,9,.18) 65%,rgba(8,10,9,.02) 100%),linear-gradient(0deg,rgba(8,10,9,.66),transparent 29%); }
.luxury-hero-content { width:100%; position:relative; z-index:1; }
.luxury-hero-content .eyebrow { margin-bottom:1.9rem; }
.luxury-hero-content .display { font-size:clamp(3.75rem,8vw,8.6rem); line-height:.97; letter-spacing:-.078em; max-width:870px; color:#fff; }
.luxury-hero-content .display span { color:#fff; }
.luxury-hero-content .hero-sub { max-width:515px; margin:2rem 0 0; color:#D3DAD5; font-size:clamp(1.03rem,1.4vw,1.24rem); line-height:1.73; }
.luxury-hero-content .hero-actions { margin-top:2.1rem; gap:1.6rem; }
.hero-carousel-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:clamp(4.5rem,10vh,8rem); padding-top:1.2rem; max-width:690px; border-top:1px solid rgba(255,255,255,.19); }
.hero-slide-caption { margin:0; color:#CFD6D1; font-size:.73rem; text-transform:uppercase; letter-spacing:.14em; }
.hero-slide-controls { display:flex; gap:.65rem; align-items:center; }
.hero-pager { position:relative; display:block; width:42px; height:22px; border:0; background:transparent; cursor:pointer; padding:0; }
.hero-pager::before { content:""; display:block; position:absolute; inset:10px 0 auto; height:2px; background:rgba(255,255,255,.35); }
.hero-pager-progress { display:block; position:absolute; left:0; top:10px; width:0; height:2px; background:#C6FF34; }
.hero-pager.is-active .hero-pager-progress { width:100%; }
.hero-pause { width:32px; height:32px; display:grid; place-items:center; background:transparent; border:1px solid rgba(255,255,255,.3); border-radius:50%; cursor:pointer; }
.hero-pause svg { width:14px; height:14px; }
.home-services { background:#0F1310; }
.home-services-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home-services-preview .capability-card { min-height:290px; border:1px solid rgba(255,255,255,.13); background:#151A16; }
.home-services-preview .capability-card:hover { border-color:#C6FF34; }
.home-services-preview .capability-card p { color:#BDC7BE; }
.home-brand-preview { background:#080A09; }
.project-section-heading .heading-copy { max-width:none; }

/* Partner identity cards — official identity replaces repeated product thumbnail and counters. */
.brand-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.2rem,3.2vw,2.7rem); }
.brand-project-card { display:block; min-width:0; padding:0; border-radius:14px; overflow:hidden; background:#141A17; border:1px solid rgba(255,255,255,.11); transition:border-color .35s,transform .35s; }
.brand-project-card:hover,.brand-project-card:focus-visible { border-color:rgba(198,255,52,.55); transform:translateY(-3px); }
.brand-project-art.brand-identity-art { aspect-ratio:1.5; border-radius:0; display:grid; place-items:center; isolation:isolate; overflow:hidden; }
.brand-theme-visa .brand-identity-art,.brand-theme-visa.brand-detail-banner { background:radial-gradient(circle at 70% 35%,#223f96 0%,#071d52 54%,#081126 100%); }
.brand-theme-home-credit .brand-identity-art,.brand-theme-home-credit.brand-detail-banner { background:radial-gradient(circle at 75% 35%,#b6262d 0%,#721b24 50%,#2D1014 100%); }
.brand-identity-texture { position:absolute; inset:0; opacity:.25; background:repeating-linear-gradient(122deg,transparent 0 48px,rgba(255,255,255,.07) 49px 50px); }
.brand-project-art .brand-identity-logo { position:relative; z-index:2; width:min(47%,350px); max-height:120px; height:auto; object-fit:contain; filter:drop-shadow(0 10px 18px rgba(0,0,0,.18)); transition:transform .5s ease; }
.brand-project-card:hover .brand-identity-logo { transform:scale(1.045); }
.brand-theme-home-credit .brand-identity-logo { max-height:135px; }
.brand-art-signature { position:absolute; bottom:1.5rem; left:1.6rem; z-index:2; color:rgba(255,255,255,.8); font-size:.69rem; text-transform:uppercase; letter-spacing:.13em; }
.brand-project-bottom { padding:1.35rem 1.55rem 1.6rem; background:#111613; }
.brand-project-bottom h3 { font-size:clamp(1.6rem,2.2vw,2.45rem); font-weight:580; letter-spacing:-.065em; margin:0 0 .35rem; }
.brand-project-bottom p { margin:0; font-size:.88rem; color:#C0C9C2; }
.brand-detail-header { border:0; }
.brand-detail-banner { margin-top:2rem; width:100%; min-height:190px; height:clamp(195px,22vw,285px); border-radius:12px; display:grid; place-items:center; position:relative; overflow:hidden; }
.brand-detail-banner>img { max-width:min(36%,350px); max-height:130px; object-fit:contain; position:relative; z-index:2; filter:drop-shadow(0 14px 16px rgba(0,0,0,.15)); }
.brand-detail-banner>span { color:rgba(255,255,255,.77); font-size:.68rem; letter-spacing:.14em; position:absolute; bottom:1.4rem; left:1.5rem; text-transform:uppercase; }
.brand-detail-heading { align-items:start; gap:clamp(2rem,6vw,7rem); padding:2.7rem 0 0; grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr); }
.brand-detail-heading .h-xl { margin:.5rem 0; }
.brand-detail-heading .lead { color:#D1D7D2; max-width:660px; }
.detail-side { border-top:1px solid rgba(255,255,255,.15); padding-top:1.5rem; }
.detail-side p { color:#B9C3BC; }
.detail-side .detail-caveat { font-size:.78rem; color:#A5AFA8; margin-top:2rem; }
.detail-info { display:grid; gap:.7rem; margin-top:2rem; }
.detail-info p { display:grid; grid-template-columns:175px 1fr; gap:.75rem; color:#C2CBC4; font-size:.83rem; margin:0; line-height:1.5; }
.detail-info p span { color:#C6FF34; font-size:.7rem; text-transform:uppercase; letter-spacing:.09em; }
.brand-gallery-section .container { display:grid; grid-template-columns:minmax(200px,.27fr) minmax(0,.73fr); align-items:start; column-gap:clamp(2rem,5vw,6rem); }
.brand-gallery-section .section-heading { grid-column:1; display:block; position:sticky; top:110px; margin:0; }
.brand-gallery-section .section-heading .heading-copy { max-width:100%; }
.brand-gallery-section .gallery-count { display:block; margin-top:1rem; color:#C0CBC1; }
.brand-gallery-section .brand-gallery { grid-column:2; grid-row:1/span 2; margin:0 0 3rem; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1.1rem; }
.brand-gallery-section .brand-gallery-item:nth-child(n) { grid-column:span 3; min-width:0; }
.brand-gallery-section .brand-gallery-item:nth-child(5n+1) { grid-column:span 6; }
.brand-gallery-button { position:relative; display:block; width:100%; padding:0; background:#18201b; border:0; border-radius:8px; overflow:hidden; cursor:zoom-in; }
.brand-gallery-button img { width:100%; aspect-ratio:1.2; object-fit:cover; border-radius:8px; transition:transform .45s ease; }
.brand-gallery-button:hover img { transform:scale(1.035); }
.gallery-zoom { position:absolute; bottom:.8rem; right:.8rem; background:#C6FF34; color:#080A09; border-radius:50%; width:37px; height:37px; display:grid; place-items:center; opacity:0; transition:opacity .25s; }
.gallery-zoom svg { width:17px; height:17px; }
.brand-gallery-button:hover .gallery-zoom,.brand-gallery-button:focus-visible .gallery-zoom { opacity:1; }
.brand-gallery-section .container>.text-link { grid-column:1; }

/* Brand system: grayscale minimal logo grid, true-colored logos on interaction. */
.logo-wall { grid-template-columns:repeat(5,minmax(0,1fr)); }
.partner-logo { background:transparent; border-color:rgba(255,255,255,.11); }
.partner-logo .brand-logo { filter:grayscale(1) brightness(0) invert(.90); opacity:.7; }
.partner-logo:hover,.partner-logo:focus-visible { background:#F7F8F6; border-color:#F7F8F6; }
.partner-logo:hover .brand-logo,.partner-logo:focus-visible .brand-logo { filter:none; opacity:1; }
.client-marquee-item { background:#F4F5F1; border:0; }
.client-marquee-item img { filter:none; }
.client-marquee-track { animation-duration:56s; }

/* About statistics preserve individual card geometry, spacing, no connector line. */
.proof-grid,.proof-centered { background:transparent!important; border:0!important; gap:1rem!important; }
.proof-card { min-height:170px; background:#121713; border:1px solid rgba(255,255,255,.16); border-radius:12px; }
.proof-card:hover { border-color:#C6FF34; }
.proof-card .proof-value { color:#fff; }
.numbered-principles .principle-card { display:grid; grid-template-columns:90px minmax(0,1fr); column-gap:clamp(1rem,2.5vw,3rem); border-radius:12px!important; transition:border-color .25s ease,transform .25s ease; }
.numbered-principles .principle-meta { display:contents; }
.numbered-principles .principle-index { grid-column:1; grid-row:1/span 2; align-self:start; font-size:clamp(3.7rem,6vw,5.8rem); font-weight:560; line-height:1; letter-spacing:-.09em; color:#fff; }
.numbered-principles .principle-label { grid-column:2; grid-row:1; }
.numbered-principles .principle-title { grid-column:2; grid-row:2; }
.numbered-principles .principle-card:hover { transform:translateY(-2px); border-color:#C6FF34!important; }

/* Contact direct-channel priorities and polished date selector. */
.contact-direct-list { display:grid; gap:0; margin-top:1rem; }
.contact-direct-list a { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:49px; padding:.7rem 0; border-top:1px solid rgba(255,255,255,.17); font-size:.92rem; font-weight:550; }
.contact-direct-list a:last-child { border-bottom:1px solid rgba(255,255,255,.17); }
.contact-direct-list a:hover { color:#C6FF34; }
.contact-direct-list a svg { width:15px; height:15px; }
.contact-inquiry-aside .inquiry-social-title { margin-top:1.2rem; }
.contact-inquiry-aside .contact-email { color:#fff; }
.date-field { position:relative; min-width:0; }
.contact-form .date-trigger { display:flex; align-items:center; justify-content:space-between; text-align:left; gap:.65rem; width:100%; min-height:54px; border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:.78rem 1rem; background:#0C0F0D; color:#CDD6CF; cursor:pointer; }
.date-trigger:hover,.date-trigger[aria-expanded="true"] { border-color:#C6FF34; }
.date-trigger svg { flex:0 0 18px; width:18px; height:18px; color:#C6FF34; }
.date-popover { position:absolute; top:calc(100% + .55rem); left:0; z-index:100; width:min(348px,calc(100vw - 44px)); padding:1rem; background:#161B17; border:1px solid rgba(198,255,52,.4); border-radius:14px; box-shadow:0 25px 65px rgba(0,0,0,.5); }
.date-popover[hidden] { display:none!important; }
.date-heading { display:flex; justify-content:space-between; align-items:center; gap:.8rem; margin-bottom:1rem; }
.date-heading strong { font-size:.89rem; font-weight:600; text-align:center; }
.date-heading button { border:1px solid rgba(255,255,255,.17); border-radius:9px; background:#0D120F; width:33px; height:33px; display:grid; place-items:center; cursor:pointer; }
.date-heading button:disabled { opacity:.25; cursor:not-allowed; }
.date-heading button svg { width:15px; }
.date-weekdays,.date-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.date-weekdays { margin-bottom:5px; }
.date-weekdays span { text-align:center; font-size:.67rem; color:#B7C1B8; }
.date-grid button { aspect-ratio:1; border:0; border-radius:8px; cursor:pointer; background:transparent; color:#fff; font-size:.8rem; }
.date-grid button:hover,.date-grid button:focus-visible { background:#2B372C; }
.date-grid button[aria-selected="true"] { background:#C6FF34; color:#090A08; font-weight:700; }
.date-grid button:disabled { color:#687469; cursor:not-allowed; }
.date-foot { display:flex; justify-content:space-between; margin-top:1rem; padding-top:.7rem; border-top:1px solid rgba(255,255,255,.13); }
.date-foot button { padding:.4rem .65rem; border-radius:7px; background:transparent; border:0; cursor:pointer; font-size:.82rem; color:#D7DFD7; }
.date-foot button:last-child { color:#C6FF34; }
.field-select-trigger { min-height:54px; border-radius:8px!important; }
.field-select-menu { background:#161B17!important; border:1px solid rgba(198,255,52,.25)!important; border-radius:12px!important; box-shadow:0 18px 40px rgba(0,0,0,.45); }

/* Footer maintains fine scale, top contact icons in desired priority order. */
.footer-top { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)!important; padding-block:3rem 3.7rem; }
.footer-links-wrap { justify-self:end; width:min(100%,465px); }
.footer-col h3 { font-size:.76rem; letter-spacing:.12em; }
.footer-col a { font-size:.9rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.15); }
.footer .social-row { display:flex; gap:.5rem; }
.footer .social-link { border:1px solid rgba(255,255,255,.22); }
.footer .social-link:hover { background:#C6FF34; color:#080A09; }

/* Full-screen modal: preserve focus, usable keyboard controls. */
#active-modal.modal-root { position:fixed; inset:0; z-index:2000; }
#active-modal .modal-card { max-width:min(1180px,94vw); max-height:92vh; overflow:auto; }
#active-modal .modal-image-wrap img { max-height:min(78vh,950px); object-fit:contain; }
#active-modal .modal-card.modal-article { max-width:850px; }
#active-modal .article-modal-content { padding:clamp(2rem,5vw,4rem); }
#active-modal .article-modal-content h2 { font-size:clamp(2.1rem,4vw,3.6rem); }

@media(max-width:1024px) {
 .nav-inner { grid-template-columns:minmax(72px,1fr) auto minmax(185px,1fr); }
 .desktop-nav { gap:.7rem; }
 .nav-link { font-size:.72rem; }
 .nav-cta { padding:.65rem .75rem; }
 .home-services-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-services-preview .capability-card:last-child { grid-column:1/-1; }
 .logo-wall { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .brand-gallery-section .container { display:block; }
 .brand-gallery-section .section-heading { position:static; margin-bottom:2rem; }
 .brand-gallery-section .brand-gallery { margin:0 0 2rem; }
 .footer-top { grid-template-columns:1fr!important; }
 .footer-links-wrap { justify-self:start; }
}
@media(max-width:760px) {
 .nav-inner { display:flex; }
 .desktop-nav { display:none; }
 .nav-actions { margin-left:auto; }
 .luxury-hero { min-height:710px; padding:7rem 0 4.2rem; }
 .luxury-hero-content .display { font-size:clamp(3.4rem,11.2vw,5.7rem); }
 .hero-slide img { object-position:55% center; }
 .hero-shading { background:linear-gradient(90deg,rgba(8,10,9,.65),rgba(8,10,9,.2)),linear-gradient(0deg,rgba(8,10,9,.7),transparent 50%); }
 .hero-carousel-footer { margin-top:4rem; }
 .brand-project-grid { grid-template-columns:1fr; }
 .brand-project-art.brand-identity-art { aspect-ratio:1.62; }
 .brand-detail-heading { grid-template-columns:1fr; }
 .detail-info p { grid-template-columns:130px 1fr; }
 .home-services-preview { grid-template-columns:1fr; }
 .home-services-preview .capability-card:last-child { grid-column:auto; }
 .home-services-preview .capability-card { min-height:unset; }
 .logo-wall { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .numbered-principles .principle-card { grid-template-columns:55px minmax(0,1fr); }
 .numbered-principles .principle-index { font-size:3rem; }
}
@media(max-width:480px) {
 .luxury-hero { min-height:690px; }
 .luxury-hero-content .display { font-size:clamp(3rem,11.2vw,4.25rem); }
 .luxury-hero-content .hero-sub { font-size:.96rem; }
 .hero-carousel-footer { flex-wrap:wrap; row-gap:1rem; }
 .brand-gallery-section .brand-gallery-item:nth-child(n) { grid-column:span 6; }
 .brand-gallery-section .brand-gallery { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .brand-gallery-button img { aspect-ratio:1.18; }
 .brand-detail-banner { height:175px; min-height:175px; }
 .brand-detail-banner>img { max-width:60%; }
 .logo-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .detail-info p { grid-template-columns:1fr; gap:.2rem; }
 .footer-top { grid-template-columns:1fr!important; }
 .footer-links-wrap { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .date-popover { left:auto; right:0; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-slide,.hero-slide img { transition:none!important; transform:none!important; }
 .client-marquee-track { animation:none!important; }
 .luxury-hero .hero-pager-progress { transition:none!important; }
}

/* Official partner marks remain legible against their branded, light-toned editorial canvases. */
.brand-theme-visa .brand-identity-art,.brand-theme-visa.brand-detail-banner {
  background:radial-gradient(ellipse at 65% 34%,#F8FAFF 0%,#D9E3FF 60%,#9EB6F2 100%);
}
.brand-theme-home-credit .brand-identity-art,.brand-theme-home-credit.brand-detail-banner {
  background:radial-gradient(ellipse at 65% 34%,#FFFCFC 0%,#FFE0E4 60%,#F6B1B9 100%);
}
.brand-theme-visa .brand-art-signature,.brand-theme-home-credit .brand-art-signature,
.brand-detail-banner>span { color:#293244; }
.brand-project-art .brand-identity-logo,.brand-detail-banner>img { filter:drop-shadow(0 12px 20px rgba(0,0,0,.08)); }
/* Fine motion tracks on slides; reduced-motion visitors see a stable first frame. */
.hero-pager.is-active .hero-pager-progress { width:0; animation:heroTrack 6.5s linear forwards; }
@keyframes heroTrack { from { width:0; } to { width:100%; } }
.luxury-hero:hover .hero-pager-progress,.luxury-hero:focus-within .hero-pager-progress,
.luxury-hero.is-paused .hero-pager-progress { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) { .hero-pager.is-active .hero-pager-progress { animation:none; width:100%; } }
