/* ============================================================
   AI Marcom — design polish layer (v1.1)
   Calm, consulting-grade look: one typeface, one accent,
   dark hero and footer, squarer corners, quieter shadows.
   Loaded after site.css; overrides only.
   ============================================================ */
:root{
  --ink:#071330; --ink-2:#0c1d45; --ink-line:rgba(255,255,255,.12);
  --font-heading:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --heading:#0b1220; --text:#2b3443; --text-muted:#5b6475; --text-dim:#8a93a3;
  --border:#e3e7ee;
  --radius:6px; --radius-lg:8px; --radius-xl:12px;
  --shadow-card:none; --shadow-card-hover:0 10px 30px rgba(7,19,48,.08);
  --shadow-md:0 6px 24px rgba(7,19,48,.06); --shadow-lg:0 10px 40px rgba(7,19,48,.08);
  --accent:var(--blue); --accent-light:var(--blue-dark); --accent-pale:var(--blue-pale);
  --cyan:#8ab4ff; --success:var(--blue);
}
body{font-size:16.5px;line-height:1.7;color:var(--text)}
h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.08}
h2{font-size:clamp(1.75rem,3.2vw,2.6rem);line-height:1.15}
h3{font-size:1.2rem;letter-spacing:-.01em}
center{text-align:left}
.section{padding:104px 0}
.section-label{font-size:.75rem;letter-spacing:.16em;font-weight:600;color:var(--blue);display:inline-flex;align-items:center;gap:10px}
.section-label::before{content:'';width:24px;height:1px;background:currentColor}
.section-desc{font-size:1.08rem;max-width:640px}
.cta-block .section-label::before{display:none}

/* Buttons: squarer, one accent */
.btn{border-radius:var(--radius);padding:14px 26px;font-weight:600;letter-spacing:0}
.btn-accent,.btn-primary{background:var(--blue);color:#fff;box-shadow:none}
.btn-accent:hover,.btn-primary:hover{background:var(--blue-dark);transform:none;box-shadow:none}
.btn-outline{border-width:1.5px}

/* Navigation */
.nav{height:76px;box-shadow:none;background:#fff;backdrop-filter:none}
.mv-card.vision::before,.mv-card.mission::before{background:var(--blue)}
.nav-links a{font-size:.92rem;font-weight:500;color:var(--text)}
.nav-links a::after{height:2px;bottom:-6px}
.nav-cta{background:var(--ink);border-radius:var(--radius);box-shadow:none;padding:11px 22px;font-weight:600}
.nav-cta:hover{background:var(--blue);transform:none}

/* Hero: dark, left-aligned, sized to content */
.hero{min-height:auto!important;background:var(--ink);color:#fff;align-items:flex-start;text-align:left;
  padding:184px max(24px,calc((100vw - 1200px)/2 + 24px)) 112px}
.home .hero{min-height:min(94vh,900px)!important;justify-content:center;padding-top:150px}
.hero-bg{background:radial-gradient(ellipse 60% 70% at 85% 10%,rgba(37,99,235,.35),transparent 60%),radial-gradient(ellipse 50% 60% at 0% 100%,rgba(0,74,173,.35),transparent 60%)}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  mask-image:radial-gradient(ellipse 70% 80% at 70% 30%,black 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 30%,black 10%,transparent 75%)}
.hero h1{color:#fff;max-width:900px}
.hero h1 em{color:var(--cyan)}
.hero .gradient-text{background:linear-gradient(90deg,#8ab4ff,#c7dbff);-webkit-background-clip:text;background-clip:text}
.hero-sub{color:#b9c5dc;font-size:1.18rem;max-width:640px;position:relative}
.hero .btn-group{justify-content:flex-start;position:relative}
.hero .btn-accent{background:#fff;color:var(--ink)}
.hero .btn-accent:hover{background:#dbe7ff;color:var(--ink)}
.hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.4)}
.hero .btn-outline:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.hero .badge,.badge{background:transparent;border:0;padding:0;border-radius:0;color:var(--cyan);letter-spacing:.16em;font-size:.75rem;gap:12px}
.badge::before{width:28px;height:1px;border-radius:0;background:currentColor;animation:none}
.badge:not(.hero .badge){color:var(--blue)}
.hero > *{position:relative}
.hero .hero-bg,.hero .hero-grid{position:absolute}

/* Stats: white card on the dark hero */
.hero .stats-bar{background:#fff;border:0;border-radius:var(--radius-lg);box-shadow:0 20px 50px rgba(0,0,0,.25);max-width:none;width:100%;margin-top:8px;overflow:hidden}
.hero .stat-item{text-align:left;padding:28px 32px;border-right:1px solid var(--border)}
.hero .stat-item:last-child{border-right:0}
.hero .stat-num{color:var(--blue);font-weight:600;font-size:2.4rem;letter-spacing:-.02em}
.hero .stat-num span{color:var(--blue-light)}
.hero .stat-label{color:var(--text-muted);letter-spacing:.08em}

/* Client strip */
.logos-strip{background:#fff;padding:40px 24px}
.logos-strip p{letter-spacing:.16em;color:var(--text-dim)}
.logos-row{gap:64px}
.logos-row span{opacity:1;color:#3a4357;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}

/* Cards and icons: one accent, hairline borders */
.card,.case-card,.mv-card,.partner-card,.channel-card,.adv-card,.value-card,.tech-item,.form-card,.featured-case{box-shadow:none;border-color:var(--border)}
.card,.case-card,.partner-card,.channel-card{border-radius:var(--radius-lg)}
.card:hover,.case-card:hover,.partner-card:hover,.channel-card:hover,.adv-card:hover,.tech-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:rgba(0,74,173,.35)}
.card-icon,.mv-icon,.ch-icon,.card-icon.blue,.card-icon.accent,.card-icon.teal,.card-icon.green,.card-icon.cyan,
.mv-card.mission .mv-icon,.mv-card.vision .mv-icon,.ch-icon.cal,.ch-icon.email,.ch-icon.whatsapp,.ch-icon.linkedin{
  width:44px;height:44px;border-radius:var(--radius);background:var(--blue-pale);color:var(--blue)}
.adv-icon,.value-icon{color:var(--blue);display:inline-flex}
.adv-icon svg,.value-icon svg{width:26px;height:26px}
.card-num{color:var(--text-dim);letter-spacing:.12em}
.card-tag{border-radius:4px}
.tag-industry,.tag-service{border-radius:4px;font-family:var(--font-body);letter-spacing:.06em}
.tag-industry{background:#f1f3f7;color:#3a4357}
.featured-case::before{background:var(--blue)}
.featured-metric-big{font-weight:700;letter-spacing:-.03em}
.process-grid{box-shadow:none}
.tech-item h5{font-size:.95rem}
.tech-item{padding:22px 14px}
.founder-photo{box-shadow:none}

/* CTA band */
.cta-block{background:var(--ink)}
.cta-bg{background:radial-gradient(ellipse 60% 80% at 100% 0%,rgba(37,99,235,.35),transparent 60%)}
.cta-block .btn-accent{background:#fff;color:var(--ink)}

/* Forms */
.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius)}
.form-submit{border-radius:var(--radius)!important;background:var(--blue)!important;box-shadow:none!important}

/* Footer: white */
.footer{background:#fff;border-top:1px solid var(--border);color:var(--text-muted)}
.footer-brand img{height:40px}
.footer-brand p,.footer-col a{color:var(--text-muted)}
.footer-col h4{color:var(--heading);opacity:1}
.footer-col a:hover,.footer-bottom a:hover{color:var(--blue)}
.footer-bottom{border-top-color:var(--border);color:var(--text-dim)}

/* Hero animation: typed phrase + slowly drifting light */
.hero-rotator.is-typing::after{content:'';display:inline-block;width:3px;height:.9em;margin-left:4px;vertical-align:-0.08em;background:#8ab4ff;animation:aim-caret 1s steps(1) infinite}
@keyframes aim-caret{50%{opacity:0}}
.hero-bg{animation:aim-drift 18s ease-in-out infinite alternate;will-change:transform}
@keyframes aim-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-4%,3%,0) scale(1.08)}100%{transform:translate3d(3%,-2%,0) scale(1.04)}}
.home .hero h1,.home .hero-sub,.home .hero .btn-group,.home .hero .stats-bar,.home .hero .badge{animation:aim-rise .8s cubic-bezier(.2,.7,.2,1) both}
.home .hero h1{animation-delay:.08s}.home .hero-sub{animation-delay:.18s}.home .hero .btn-group{animation-delay:.28s}.home .hero .stats-bar{animation-delay:.4s}
@keyframes aim-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Legal pages sit on white under the fixed nav */
.legal-container h1{font-size:clamp(2rem,4vw,2.8rem)}

@media(max-width:1024px){
  .hero .stats-bar{grid-template-columns:repeat(2,1fr)}
  .hero .stat-item{border-right:0;border-bottom:1px solid var(--border);padding:22px 24px}
  .hero .stat-item:nth-child(odd){border-right:1px solid var(--border)}
  .hero .stat-item:nth-child(n+3){border-bottom:0}
  .nav-links a::after{display:none}
}
@media(max-width:640px){
  .hero{padding:132px 20px 72px}
  .home .hero{min-height:auto!important;padding-top:132px}
  .section{padding:72px 0}
  .logos-row{gap:24px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Footer social icons (shown only for profiles added in Customize → Social media links) */
.footer-social{display:flex;gap:10px;margin-top:18px}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:0}
.footer-social a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-pale)}

/* Consent banner */
.aim-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:2000;display:flex;justify-content:center}
.aim-consent[hidden]{display:none}
.aim-consent__inner{max-width:1100px;width:100%;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 18px 50px rgba(7,19,48,.18);padding:20px 22px;display:flex;gap:24px;align-items:flex-end;justify-content:space-between}
.aim-consent__title{font-weight:600;color:var(--heading);margin:0 0 4px}
.aim-consent__text p{font-size:.9rem;color:var(--text-muted);margin:0}
.aim-consent__text a{color:var(--blue);text-decoration:underline}
.aim-consent__prefs{display:grid;gap:8px;margin-top:12px}
.aim-consent__prefs[hidden]{display:none}
.aim-consent__prefs label{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--heading);font-weight:500}
.aim-consent__prefs span{color:var(--text-dim);font-weight:400;font-size:.8rem}
.aim-consent__actions{display:flex;gap:8px;flex-shrink:0}
.aim-consent__btn{font:inherit;font-size:.88rem;font-weight:600;padding:10px 18px;border-radius:var(--radius);border:1.5px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-width:112px}
.aim-consent__btn--ghost{background:#fff;color:var(--ink)}
.aim-consent__btn:focus-visible{outline:3px solid #8ab4ff;outline-offset:2px}
@media(max-width:760px){.aim-consent__inner{flex-direction:column;align-items:stretch}.aim-consent__actions{flex-wrap:wrap}.aim-consent__btn{flex:1}}

/* Accessibility: readable grey text, visible keyboard focus, skip link */
:root{--text-dim:#69728a;--text-muted:#535c6e}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2563eb;outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:3000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--radius);font-weight:600;transition:top .2s}
.skip-link:focus{top:12px}
.hero .stat-label,.logos-strip p{color:#5d6679}
section[id]{scroll-margin-top:96px}

/* Lab: the small stats beside the application form were faint (inline light-blue colour) */
.sidebar-stat .stat-num{color:var(--blue)!important}
.sidebar-stat .stat-label{color:var(--text-muted)}

/* Services: trademark note under the tools grid */
.tm-note{margin-top:20px;font-size:.8rem;color:var(--text-dim);text-align:center}

/* 404 page buttons wrap nicely */
.page-404 .btn-group{flex-wrap:wrap;gap:12px}

/* Company registration line above the copyright */
.footer-legal{max-width:1200px;margin:0 auto 14px;font-size:.78rem;color:var(--text-dim);line-height:1.6}

/* Founder photo */
.founder-photo{overflow:hidden;padding:0}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}

/* Company line: bold and centred (founder request 7 Nov) */
.footer-legal{text-align:center;font-weight:600;color:var(--text-muted)}
/* Founder bio */
.founder-bio{color:var(--text-muted);font-size:.98rem;line-height:1.75;margin:10px 0 16px;max-width:640px}

/* Home hero: rotating service name on its own line, fixed punch line below (8 Nov 2026) */
.home .hero .hero-rotator{display:block;min-height:1.08em}
@media(max-width:700px){.home .hero .hero-rotator{min-height:2.16em;display:flex;align-items:flex-end}}
