/* ==========================================================================
   Oltremind — Design System
   Purple / lime IT-solutions brand, rounded geometric type, soft blob art
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:        #150E2B;   /* near-black purple, headings */
  --ink-soft:   #4A4460;   /* body copy on white */
  --purple-950: #1E0F45;
  --purple-800: #3B1E8C;
  --purple-600: #6D28D9;
  --purple-500: #7C3AED;
  --purple-400: #9B5DF0;
  --purple-100: #EFE6FE;
  --purple-50:  #F7F2FF;
  --lime:       #D8F24C;
  --lime-dark:  #B8D62C;
  --white:      #FFFFFF;
  --line:       #E4DAF7;

  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --radius-pill: 999px;

  --shadow-card: 0 20px 40px -20px rgba(30, 15, 69, 0.25);
  --shadow-soft: 0 12px 30px -18px rgba(30, 15, 69, 0.35);

  --container: 1180px;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  font-family: 'Inter', sans-serif;
  color: var(--ink-soft);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1,h2,h3,h4{
  font-family: 'Poppins', sans-serif;
  color: var(--ink);
  margin: 0;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
p{ margin: 0; }
a{ color: inherit; text-decoration: none; }
img{ max-width: 100%; display: block; }
ul{ margin: 0; padding: 0; list-style: none; }
button{ font-family: inherit; cursor: pointer; }

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
}
@media (max-width: 560px){
  .container{ padding: 0 20px; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 3px solid var(--purple-500);
  outline-offset: 3px;
}

/* -------------------------------------------------- buttons */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: var(--radius-pill);
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  white-space: nowrap;
}
.btn:hover{ transform: translateY(-2px); }
.btn-dark{ background: var(--ink); color: var(--white); }
.btn-dark:hover{ background: var(--purple-950); box-shadow: var(--shadow-soft); }
.btn-outline{
  background: var(--white);
  color: var(--ink);
  border: 1.5px solid var(--line);
}
.btn-outline:hover{ border-color: var(--purple-500); }
.btn-lime{ background: var(--lime); color: var(--ink); }
.btn-lime:hover{ background: var(--lime-dark); }
.btn-ghost-purple{
  background: rgba(255,255,255,0.16);
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,0.4);
}
.btn-ghost-purple:hover{ background: rgba(255,255,255,0.28); }
.btn-block{ width: 100%; }

/* -------------------------------------------------- header */
.site-header{
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 84px;
  gap: 24px;
}
.brand{ display: flex; align-items: center; gap: 10px; }
.brand img{ height: 34px; width: auto; }
.brand-word{ display:none; }

.nav-links{
  display: flex;
  align-items: center;
  gap: 34px;
}
.nav-links a{
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ink);
  position: relative;
  padding: 6px 0;
}
.nav-links a.active{ color: var(--purple-600); font-weight: 600; }
.nav-links a:hover{ color: var(--purple-600); }

.header-cta{ display: flex; align-items: center; gap: 18px; }

.nav-toggle{
  display: none;
  background: none;
  border: none;
  width: 40px; height: 40px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.nav-toggle span{ width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }

@media (max-width: 940px){
  .nav-links{
    position: absolute;
    top: 84px; left: 0; right: 0;
    background: var(--white);
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 32px 28px;
    border-bottom: 1px solid var(--line);
    display: none;
    gap: 18px;
  }
  .nav-links.open{ display: flex; }
  .nav-toggle{ display: flex; }
  .header-cta .btn-dark{ padding: 11px 18px; font-size: 0.85rem; }
}

/* -------------------------------------------------- page hero band (inner pages) */
.page-hero{
  background: var(--purple-100);
  padding: 64px 0 88px;
  position: relative;
  overflow: hidden;
}
.page-hero .eyebrow{ color: var(--purple-600); font-weight: 600; font-size: 0.9rem; }
.page-hero h1{ font-size: clamp(2.1rem, 4vw, 3rem); margin-top: 10px; max-width: 700px; }
.page-hero p.lead{ margin-top: 16px; max-width: 560px; font-size: 1.05rem; color: var(--ink-soft); }
.page-hero .crumb{ font-size: 0.85rem; color: var(--purple-600); font-weight: 600; margin-bottom: 6px;}

.blob{
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
  opacity: 0.5;
}

/* -------------------------------------------------- section helpers */
section{ padding: 96px 0; }
.section-tight{ padding: 64px 0; }
.eyebrow{
  color: var(--purple-600);
  font-weight: 600;
  font-size: 0.9rem;
}
.section-head{ max-width: 620px; margin-bottom: 48px; }
.section-head h2{ font-size: clamp(1.7rem, 3vw, 2.4rem); margin-top: 10px; }
.section-head p{ margin-top: 14px; font-size: 1.02rem; }
.section-head.center{ margin-left: auto; margin-right: auto; text-align: center; }

.bg-tint{ background: var(--purple-50); }

/* -------------------------------------------------- footer */
.site-footer{ background: var(--ink); color: #C9C2DE; padding: 72px 0 28px; margin-top: 0; }
.footer-top{
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr;
  gap: 32px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer-brand .brand img{ height: 30px; }
.footer-brand p{ margin-top: 16px; font-size: 0.92rem; line-height: 1.6; color: #A79FC4; max-width: 260px; }
.footer-col h4{ color: var(--white); font-size: 0.95rem; margin-bottom: 18px; }
.footer-col li{ margin-bottom: 12px; }
.footer-col a{ font-size: 0.9rem; color: #A79FC4; }
.footer-col a:hover{ color: var(--lime); }
.footer-social{ display: flex; gap: 10px; margin-top: 18px; }
.footer-social a{
  width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center;
}
.footer-social a:hover{ background: var(--purple-600); border-color: var(--purple-600); }
.footer-bottom{
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 24px; font-size: 0.85rem; flex-wrap: wrap; gap: 10px;
}
.footer-bottom a{ color: #A79FC4; }
.footer-bottom a:hover{ color: var(--lime); }

@media (max-width: 900px){
  .footer-top{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .footer-top{ grid-template-columns: 1fr; }
}

/* -------------------------------------------------- card kit variants (deliberately not identical) */
.stat-card{
  border-radius: var(--radius-md);
  padding: 26px 28px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.stat-card .num{ font-family:'Poppins',sans-serif; font-size: 2rem; font-weight: 700; color: var(--ink); }
.stat-card .label{ font-size: 0.92rem; margin-top: 4px; }
.stat-card .icon{
  width: 44px; height: 44px; border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  flex-shrink: 0;
}

/* generic responsive grids */
.grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items:center; }
.grid-3{ display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.grid-4{ display:grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.grid-5{ display:grid; grid-template-columns: repeat(5,1fr); gap: 20px; }

@media (max-width: 980px){
  .grid-2{ grid-template-columns: 1fr; gap: 40px; }
  .grid-3{ grid-template-columns: 1fr 1fr; }
  .grid-4{ grid-template-columns: 1fr 1fr; }
  .grid-5{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .grid-3, .grid-4, .grid-5{ grid-template-columns: 1fr; }
  section{ padding: 64px 0; }
}

/* misc chips */
.chip{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--white); border:1px solid var(--line);
  padding: 7px 16px; border-radius: var(--radius-pill);
  font-size: 0.85rem; font-weight: 600; color: var(--ink);
}
.dot{ width:8px; height:8px; border-radius:50%; background: var(--purple-500); }

/* ==================================================== HOME: hero */
.hero{ background: linear-gradient(180deg, var(--purple-100) 0%, #E7DAFB 100%); padding: 64px 0 0; position: relative; }
.hero-grid{ display:grid; grid-template-columns: 1.05fr 0.95fr; gap: 40px; align-items:center; padding-bottom: 56px; }
.hero-copy h1{ font-size: clamp(2.3rem, 4.2vw, 3.4rem); margin-top: 18px; }
.hero-copy .lead{ margin-top: 20px; font-size: 1.08rem; max-width: 480px; }
.hero-actions{ display:flex; gap: 16px; margin-top: 32px; flex-wrap: wrap; }
.hero-trust{ display:flex; align-items:center; gap: 14px; margin-top: 36px; }
.avatar-stack{ display:flex; }
.avatar-stack span{
  width:36px; height:36px; border-radius:50%;
  background: linear-gradient(135deg, var(--purple-400), var(--purple-800));
  border: 3px solid var(--purple-100);
  margin-left: -10px;
}
.avatar-stack span:first-child{ margin-left:0; }
.hero-trust p{ font-size: 0.9rem; font-weight: 600; color: var(--ink); }
.hero-visual{ display:flex; justify-content:center; }
.hero-art{ width: 100%; max-width: 480px; height:auto; }
.pulse-dot circle{ animation: pulseRing 2.6s ease-out infinite; transform-origin: center; }
@keyframes pulseRing{
  0%{ transform: scale(0.85); opacity: 0.6; }
  100%{ transform: scale(1.25); opacity: 0; }
}

.stat-row{ display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; transform: translateY(40px); }
@media (max-width: 860px){ .stat-row{ grid-template-columns: 1fr; transform:none; margin-top: 20px;} .hero-grid{ padding-bottom: 24px; } }

/* about strip */
.about-strip{ padding-top: 120px; }
@media (max-width: 860px){ .about-strip{ padding-top: 80px; } }
.value-list{ margin-top: 30px; display:flex; flex-direction:column; gap: 22px; }
.value-list li{ display:flex; gap: 16px; align-items:flex-start; }
.value-icon{
  width:44px; height:44px; border-radius: var(--radius-sm);
  background: var(--purple-100); display:flex; align-items:center; justify-content:center;
  font-size: 1.2rem; flex-shrink:0;
}
.value-list h4{ font-size: 1.02rem; }
.value-list p{ font-size: 0.92rem; margin-top: 4px; }
.about-visual svg{ width:100%; max-width: 360px; margin: 0 auto; display:block; }

/* services grid */
.service-card{
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 30px 24px;
  display:flex; flex-direction:column; gap: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.service-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-card); border-color: transparent; }
.service-icon{
  width:52px; height:52px; border-radius: 50%;
  background: var(--purple-100); display:flex; align-items:center; justify-content:center;
  font-size: 1.4rem;
}
.service-card h4{ font-size: 1.02rem; }
.service-card p{ font-size: 0.88rem; flex-grow:1; }
.learn-more{ font-size: 0.85rem; font-weight: 600; color: var(--purple-600); }

/* mini case grid on home */
.mini-case{
  display:block; border-radius: var(--radius-md);
  padding: 28px; background: var(--white);
  border: 1px solid var(--line);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.mini-case:hover{ box-shadow: var(--shadow-card); transform: translateY(-4px); }
.case-tag{
  display:inline-block; background: var(--purple-100); color: var(--purple-600);
  font-size: 0.75rem; font-weight: 700; padding: 5px 12px; border-radius: var(--radius-pill);
  margin-bottom: 14px;
}
.mini-case h4{ font-size: 1.05rem; margin-bottom: 8px; }
.mini-case p{ font-size: 0.9rem; }

/* cta band */
.cta-band{ background: var(--ink); border-radius: 0; margin: 0; }
.cta-grid{ display:grid; grid-template-columns: 1.3fr 0.7fr; gap: 40px; align-items:center; }
.cta-band h2{ color: var(--white); font-size: clamp(1.6rem,3vw,2.2rem); }
.cta-band p{ color: #C9C2DE; margin-top: 14px; margin-bottom: 28px; max-width: 460px; }
.cta-band svg{ width:100%; max-width: 280px; margin-left:auto; }
@media (max-width: 860px){ .cta-grid{ grid-template-columns: 1fr; text-align:center; } .cta-band svg{ margin: 0 auto; } .cta-band p{ margin-left:auto; margin-right:auto; } }

/* trust bar */
.trust-bar{ border-top: 1px solid var(--line); }
.trust-item{ display:flex; flex-direction:column; gap: 6px; }
.trust-item strong{ color: var(--purple-600); font-size: 0.98rem; }
.trust-item span{ font-size: 0.88rem; }

/* ==================================================== SERVICES page */
.page-hero .blob{ display:none; }
.service-detail-stack{ display:flex; flex-direction:column; gap: 72px; }
.service-detail{
  display:grid; grid-template-columns: 0.4fr 0.6fr; gap: 48px; align-items:center;
  scroll-margin-top: 100px;
}
.service-detail.reverse .service-detail-visual{ order: 2; }
.service-detail.reverse .service-detail-copy{ order: 1; }
.service-detail-visual{ display:flex; justify-content:center; }
.service-icon-lg{
  width: 220px; height: 220px; border-radius: 50%;
  background: linear-gradient(135deg, var(--purple-100), #E2D2FA);
  display:flex; align-items:center; justify-content:center;
  font-size: 4rem;
}
.service-detail-copy h3{ font-size: 1.5rem; }
.service-detail-copy p{ margin-top: 14px; font-size: 1rem; }
.check-list{ margin-top: 20px; display:flex; flex-direction:column; gap: 10px; }
.check-list li{ display:flex; align-items:flex-start; gap: 10px; font-size: 0.95rem; color: var(--ink-soft); }
.check-list li span{
  width:20px; height:20px; border-radius:50%; background: var(--purple-100); color: var(--purple-600);
  display:flex; align-items:center; justify-content:center; font-size:0.7rem; flex-shrink:0; margin-top:2px;
}
@media (max-width: 780px){
  .service-detail, .service-detail.reverse{ grid-template-columns: 1fr; }
  .service-detail.reverse .service-detail-visual,
  .service-detail.reverse .service-detail-copy,
  .service-detail-visual, .service-detail-copy{ order: 0; }
  .service-icon-lg{ width:150px; height:150px; font-size:2.6rem; }
}

.process-grid{ }
.process-step{ background: var(--white); border-radius: var(--radius-md); padding: 28px 24px; border: 1px solid var(--line); }
.step-num{
  display:inline-flex; width:36px; height:36px; border-radius:50%;
  background: var(--ink); color: var(--white); align-items:center; justify-content:center;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:0.9rem; margin-bottom:14px;
}
.process-step h4{ font-size: 1.02rem; }
.process-step p{ margin-top:8px; font-size:0.9rem; }

/* ==================================================== CASE STUDIES page */
.case-study-grid{ align-items: stretch; }
.case-study-card{
  border-radius: var(--radius-md); overflow:hidden; border: 1px solid var(--line);
  display:flex; flex-direction:column;
}
.case-study-top{ padding: 32px 28px; }
.case-study-top h3{ font-size: 1.3rem; margin-top: 14px; }
.case-client{ margin-top: 8px; font-weight:600; color: var(--ink-soft); font-size:0.9rem; }
.case-study-body{ padding: 26px 28px; background: var(--white); flex-grow:1; display:flex; flex-direction:column; }
.case-study-body > p{ font-size: 0.95rem; }
.case-stats{ display:flex; gap: 20px 24px; flex-wrap: wrap; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.case-stat{ display:flex; flex-direction:column; }
.case-stat strong{ font-family:'Poppins',sans-serif; font-size:1.3rem; color: var(--purple-600); }
.case-stat span{ font-size: 0.78rem; margin-top:2px; }

/* ==================================================== BLOG page */
.post-card{
  border-radius: var(--radius-md); overflow:hidden; border: 1px solid var(--line);
  display:flex; flex-direction:column; transition: box-shadow .2s ease, transform .2s ease;
}
.post-card:hover{ box-shadow: var(--shadow-card); transform: translateY(-4px); }
.post-thumb{ height: 160px; background: linear-gradient(135deg, var(--purple-400), var(--purple-800)); }
.post-body{ padding: 24px; background: var(--white); flex-grow:1; display:flex; flex-direction:column; }
.post-meta{ display:flex; align-items:center; gap: 12px; font-size:0.8rem; color: var(--ink-soft); margin-bottom: 12px; }
.post-body h3{ font-size: 1.08rem; flex-grow:0; }
.post-body p{ margin-top: 10px; font-size: 0.9rem; flex-grow:1; }
.post-body .learn-more{ margin-top: 16px; }

.newsletter-band{
  display:flex; align-items:center; justify-content:space-between; gap: 32px; flex-wrap:wrap;
}
.newsletter-band h3{ font-size: 1.3rem; }
.newsletter-band p{ margin-top:6px; font-size:0.92rem; }
.newsletter-form{ display:flex; gap: 12px; flex-wrap:wrap; width: 100%; max-width: 460px; }
.newsletter-form input{
  padding: 13px 18px; border-radius: var(--radius-pill); border: 1.5px solid var(--line);
  font-family:inherit; font-size:0.92rem; flex: 1 1 200px; min-width: 0;
}
@media (max-width: 480px){
  .newsletter-form{ flex-direction: column; }
  .newsletter-form .btn{ width: 100%; }
}

/* ==================================================== ABOUT page */
.value-card{ background: var(--white); border:1px solid var(--line); border-radius: var(--radius-md); padding: 28px 22px; }
.value-card h4{ font-size:1rem; }
.value-card p{ margin-top:8px; font-size:0.88rem; }
.team-card{ text-align:center; }
.team-avatar{ width:88px; height:88px; border-radius:50%; margin: 0 auto 16px; }
.team-card h4{ font-size:0.98rem; }
.team-card span{ font-size:0.82rem; color: var(--ink-soft); }

/* ==================================================== CONTACT page */
.contact-grid{ align-items:flex-start; }
.contact-form{ background: var(--white); border:1px solid var(--line); border-radius: var(--radius-lg); padding: 36px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap: 18px; }
.form-field{ margin-bottom: 18px; display:flex; flex-direction:column; gap:8px; }
.form-field label{ font-size:0.85rem; font-weight:600; color: var(--ink); }
.form-field input, .form-field select, .form-field textarea{
  padding: 12px 16px; border-radius: var(--radius-sm); border: 1.5px solid var(--line);
  font-family:inherit; font-size:0.92rem; color: var(--ink); resize: vertical;
}
.contact-side{ display:flex; flex-direction:column; gap: 18px; }
.contact-info-card{ background: var(--purple-50); border-radius: var(--radius-md); padding: 22px 24px; }
.contact-info-card h4{ font-size:0.9rem; }
.contact-info-card p{ margin-top:6px; font-size:0.95rem; }
.contact-info-card a{ color: var(--purple-600); font-weight:600; }
.contact-map{ padding: 0; overflow:hidden; }
@media (max-width: 780px){ .form-row{ grid-template-columns:1fr; } }

.faq-list{ display:flex; flex-direction:column; gap: 14px; max-width: 760px; margin: 0 auto; }
.faq-item{ background: var(--white); border:1px solid var(--line); border-radius: var(--radius-md); padding: 18px 22px; }
.faq-item summary{ cursor:pointer; font-weight:600; color: var(--ink); font-size:0.98rem; }
.faq-item p{ margin-top:12px; font-size:0.9rem; }

/* ==================================================== ENHANCED CONTENT & INTERACTIONS */
.tech-marquee{ overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; }
.tech-marquee p{ text-align:center; color:var(--ink); font-weight:600; font-size:.9rem; margin-bottom:16px; }
.tech-track{ display:flex; width:max-content; gap:12px; animation:techScroll 28s linear infinite; }
.tech-marquee:hover .tech-track{ animation-play-state:paused; }
.tech-item{ display:flex; align-items:center; gap:8px; white-space:nowrap; padding:10px 16px; border:1px solid var(--line); border-radius:var(--radius-pill); background:var(--white); color:var(--ink); font-weight:600; font-size:.9rem; }
.tech-item::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--purple-500); }
@keyframes techScroll{ to{ transform:translateX(-50%); } }
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease; }
.reveal.in-view{ opacity:1; transform:none; }
.post-thumb{ display:block; background-size:cover; background-position:center; }
.post-thumb.has-image,.case-study-top.has-image,.case-detail-visual.has-image{ background-size:cover; background-position:center; position:relative; isolation:isolate; }
.case-study-top.has-image::before,.case-detail-visual.has-image::before{ content:''; position:absolute; inset:0; background:var(--purple-100); opacity:.78; z-index:-1; }
.post-card-footer{ margin-top:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.8rem; color:var(--ink-soft); }
.case-study-link{ margin-top:20px; display:inline-block; }
.empty-state{ text-align:center; border:1px solid var(--line); border-radius:var(--radius-lg); padding:48px 24px; background:var(--purple-50); }
.honeypot{ position:absolute !important; left:-9999px; }
.form-message{ min-height:24px; margin:14px 0 0; font-weight:600; color:var(--purple-600); }
.form-message.is-error{ color:var(--ink); }

/* detail pages imported as behaviors, not as a new visual theme */
.reading-progress{ position:fixed; top:84px; left:0; height:3px; width:0; background:var(--lime); z-index:110; transition:width .1s linear; }
.article-hero{ padding-bottom:72px; }
.back-link{ display:inline-flex; margin-bottom:20px; color:var(--purple-600); font-weight:700; font-size:.9rem; }
.article-hero .post-meta{ margin-top:0; margin-bottom:14px; }
.article-section{ padding-top:72px; }
.article-layout{ display:grid; grid-template-columns:230px minmax(0, 1fr); gap:56px; align-items:start; }
.article-sidebar{ position:sticky; top:108px; display:flex; flex-direction:column; gap:16px; }
.toc-card,.share-card{ border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; background:var(--white); }
.toc-card h2,.share-card h2{ font-size:1rem; margin-bottom:14px; }
.toc-card nav{ display:flex; flex-direction:column; gap:9px; }
.toc-card a{ font-size:.84rem; line-height:1.35; color:var(--ink-soft); }
.toc-card a:hover,.toc-card a.active{ color:var(--purple-600); font-weight:700; }
.share-link{ border:0; padding:0; background:transparent; color:var(--purple-600); font-weight:700; }
.article-featured-image{ width:100%; max-height:460px; object-fit:cover; border-radius:var(--radius-lg); margin-bottom:28px; background:linear-gradient(135deg,var(--purple-400),var(--purple-800)); }
.article-featured-image.placeholder{ height:260px; }
.article-reader{ display:flex; align-items:center; gap:16px; padding:16px 18px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--purple-50); margin-bottom:34px; }
.reader-play,.reader-actions button{ border:0; background:var(--ink); color:var(--white); width:40px; height:40px; border-radius:50%; font-weight:700; flex-shrink:0; }
.reader-meta{ min-width:0; flex:1; display:grid; gap:3px; font-size:.8rem; }
.reader-meta strong{ color:var(--ink); font-size:.9rem; }.reader-meta span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reader-progress-track{ height:5px; border-radius:var(--radius-pill); overflow:hidden; background:var(--line); margin-top:5px; }.reader-progress-track span{ display:block; width:0; height:100%; background:var(--purple-500); transition:width .2s ease; }
.reader-time{ display:flex; justify-content:space-between; color:var(--ink-soft); }.reader-actions{ display:flex; gap:6px; }.reader-actions button{ width:30px; height:30px; font-size:.75rem; }
.article-body{ font-size:1rem; line-height:1.8; color:var(--ink-soft); }.article-body section,.article-body > *{ padding:0; margin:0 0 24px; }.article-body h2,.article-body h3,.article-body h4{ margin:44px 0 12px; scroll-margin-top:110px; }.article-body h2{ font-size:1.7rem; }.article-body h3{ font-size:1.3rem; }.article-body ul,.article-body ol{ list-style:revert; padding-left:24px; }.article-body blockquote{ border-left:4px solid var(--lime); padding:8px 0 8px 20px; color:var(--ink); font-weight:600; }.article-body pre{ overflow:auto; background:var(--ink); color:var(--white); padding:18px; border-radius:var(--radius-sm); }.article-body a{ color:var(--purple-600); text-decoration:underline; }.article-body img{ display:block; width:min(100%,780px); height:auto; margin:34px auto; border-radius:var(--radius-md); box-shadow:var(--shadow-card); }.article-body span[style*="background-color"]{ padding:0 .16em; border-radius:4px; }.reading-highlight{ background:var(--purple-100); border-radius:4px; }
.case-hero-grid{ display:grid; grid-template-columns:1fr .85fr; align-items:center; gap:48px; }.case-detail-visual{ min-height:270px; border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--purple-400),var(--purple-800)); }.tag-list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }.tag-list span{ padding:5px 10px; border:1px solid var(--line); background:var(--white); border-radius:var(--radius-pill); font-size:.78rem; color:var(--purple-600); font-weight:700; }
.case-metrics-section{ padding:0; background:var(--ink); }.case-metrics-grid{ display:grid; grid-template-columns:repeat(3,1fr); }.case-metrics-grid>div{ padding:32px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.12); }.case-metrics-grid>div:last-child{ border:0; }.case-metrics-grid strong{ display:block; font-family:'Poppins',sans-serif; font-size:2rem; color:var(--lime); }.case-metrics-grid span{ display:block; color:#C9C2DE; margin-top:5px; font-size:.9rem; }.case-final-cta{ display:flex; justify-content:space-between; align-items:center; gap:28px; padding:32px; border-radius:var(--radius-lg); background:var(--purple-50); margin-top:46px; }.case-final-cta h2{ font-size:1.4rem; }.case-final-cta p{ margin-top:8px; }
@media (max-width:780px){ .article-layout{ grid-template-columns:1fr; gap:28px; }.article-sidebar{ position:static; display:grid; grid-template-columns:1fr 1fr; }.case-hero-grid{ grid-template-columns:1fr; }.case-metrics-grid{ grid-template-columns:1fr; }.case-metrics-grid>div{ border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }.case-metrics-grid>div:last-child{ border:0; }.case-final-cta{ flex-direction:column; align-items:flex-start; }.reading-progress{ top:84px; } }
@media (max-width:560px){ .article-sidebar{ display:flex; }.article-reader{ align-items:flex-start; flex-wrap:wrap; }.reader-meta{ order:2; flex-basis:calc(100% - 56px); }.reader-actions{ margin-left:auto; }.article-section{ padding-top:48px; }.tech-track{ animation-duration:20s; } }

/* ==================================================== PREMIUM OLTREMIND REFRESH */
body{line-height:1.58}
::selection{background:var(--lime);color:var(--ink)}
.site-header{border-bottom-color:rgba(228,218,247,.85);transition:box-shadow .25s ease,background .25s ease}.site-header .container{height:80px}.brand img{height:36px}.nav-links{gap:27px}.nav-links a{font-size:.89rem}.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:var(--radius-pill);background:var(--purple-600);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}.nav-links a.active{color:var(--purple-600)}
.btn{padding:14px 24px;box-shadow:0 8px 20px -16px rgba(30,15,69,.8)}.btn span{transition:transform .2s ease}.btn:hover span{transform:translateX(4px)}.btn-dark{background:var(--ink)}.btn-outline{background:rgba(255,255,255,.9)}
.hero-premium{position:relative;isolation:isolate;padding:76px 0 0;overflow:hidden;background:radial-gradient(circle at 75% 22%,var(--purple-100),transparent 29%),linear-gradient(135deg,var(--purple-50),var(--purple-100))}.hero-premium::before{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,transparent,black 32%,black 78%,transparent)}.hero-premium::after{content:'';position:absolute;z-index:-1;width:520px;height:520px;border-radius:50%;right:-230px;bottom:-350px;background:var(--lime);opacity:.24;filter:blur(6px)}.hero-grid{grid-template-columns:1fr 1fr;gap:64px;padding-bottom:72px}.hero-copy{position:relative;z-index:1}.hero-copy h1{max-width:690px;font-size:clamp(2.75rem,5.3vw,4.65rem);letter-spacing:-.045em;line-height:1.03;margin-top:22px}.hero-copy h1 span{display:block;color:var(--purple-600)}.hero-copy .lead{max-width:580px;font-size:1.04rem;line-height:1.7}.chip{box-shadow:0 8px 20px -16px rgba(30,15,69,.7);padding:8px 14px}.dot{box-shadow:0 0 0 5px var(--purple-100)}.hero-actions{margin-top:30px}.hero-trust{margin-top:34px}.avatar-stack span{width:38px;height:38px;background:linear-gradient(135deg,var(--purple-400),var(--purple-800));box-shadow:0 4px 10px -5px rgba(30,15,69,.7)}
.workflow-orbit{position:relative;width:min(100%,530px);aspect-ratio:1/ .85;display:grid;place-items:center;margin:auto}.workflow-orbit::before{content:'';position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(155,93,240,.45);border-radius:50%;box-shadow:0 0 0 33px rgba(255,255,255,.32),0 0 0 34px rgba(155,93,240,.12)}.workflow-window{position:relative;z-index:2;width:min(86%,430px);background:rgba(21,14,43,.98);border:1px solid rgba(255,255,255,.18);border-radius:22px;overflow:hidden;box-shadow:0 28px 42px -23px rgba(30,15,69,.8);transform:rotate(-4deg);animation:floatWindow 5.6s ease-in-out infinite}.workflow-window-top{height:42px;padding:0 16px;display:flex;gap:6px;align-items:center;color:var(--white);font-size:.72rem}.workflow-window-top span{width:7px;height:7px;border-radius:50%;background:var(--purple-400)}.workflow-window-top span:nth-child(2){background:var(--lime)}.workflow-window-top strong{margin-left:auto;color:#C9C2DE}.workflow-window-body{padding:22px}.workflow-label{font-size:.67rem;color:#C9C2DE;letter-spacing:.08em;font-weight:700}.workflow-label b{float:right;color:var(--lime);font-size:.84rem}.workflow-chart{position:relative;display:flex;align-items:end;gap:8px;height:100px;padding-top:18px}.workflow-chart i{width:17px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--purple-400),var(--purple-800));height:40%}.workflow-chart i:nth-child(2){height:62%}.workflow-chart i:nth-child(3){height:49%}.workflow-chart i:nth-child(4){height:82%}.workflow-chart i:nth-child(5){height:68%}.workflow-chart i:nth-child(6){height:92%;background:linear-gradient(180deg,var(--lime),var(--lime-dark))}.workflow-chart svg{position:absolute;inset:10px 0 0;width:100%;height:92px}.workflow-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.workflow-pills span{font-size:.67rem;color:var(--white);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);padding:6px 9px}.orbit-dot{position:absolute;z-index:3;width:27px;height:27px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 8px rgba(216,242,76,.2)}.orbit-one{top:12%;right:18%;animation:orbitPulse 3s ease-in-out infinite}.orbit-two{bottom:17%;left:13%;background:var(--purple-500);box-shadow:0 0 0 8px rgba(124,58,237,.15);animation:orbitPulse 3s 1s ease-in-out infinite}.orbit-three{top:50%;right:3%;width:18px;height:18px;background:var(--purple-400);box-shadow:none}.workflow-note{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,.94);padding:8px 12px;box-shadow:var(--shadow-soft);font-size:.72rem;color:var(--ink);font-weight:700}.workflow-note b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--purple-100);color:var(--purple-600);font-size:.62rem}.note-one{left:-1%;top:26%;animation:noteDrift 4s .2s ease-in-out infinite}.note-two{right:-6%;bottom:20%;animation:noteDrift 4s 1.3s ease-in-out infinite}.note-three{left:20%;bottom:-1%;animation:noteDrift 4s 2s ease-in-out infinite}@keyframes floatWindow{50%{transform:rotate(-2deg) translateY(-9px)}}@keyframes orbitPulse{50%{transform:scale(1.15)}}@keyframes noteDrift{50%{transform:translateY(-7px)}}
.stat-row{position:relative;z-index:3;gap:18px;transform:translateY(38px)}.stat-card{padding:23px 25px;background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-card);transition:transform .25s ease}.stat-card:hover{transform:translateY(-6px)}.stat-card .num{font-size:2.05rem}.stat-card .label{max-width:170px}.stat-card .icon{background:var(--purple-100)!important;color:var(--purple-600);font-size:1.2rem;font-weight:800}.stat-card-lime{background:var(--lime)!important}.stat-card-lime .icon{background:rgba(255,255,255,.4)!important;color:var(--ink)}
.tech-marquee{position:relative;padding:83px 0 32px;background:var(--white);border:0}.tech-marquee p{color:var(--ink-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.tech-track{gap:10px}.tech-item{padding:9px 14px;border-color:var(--line);box-shadow:0 6px 18px -17px rgba(30,15,69,.8)}
.connection-section{padding:112px 0}.connection-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:center}.connection-copy h2,.process-intro h2{font-size:clamp(2rem,3.4vw,3rem);margin-top:12px;max-width:580px}.connection-copy p{font-size:1.02rem;line-height:1.75;margin-top:18px;max-width:490px}.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:27px;color:var(--purple-600);font-weight:800}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translateX(5px)}.connection-board{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--purple-50),var(--white));box-shadow:var(--shadow-card)}.board-head{display:flex;align-items:center;gap:9px;padding:4px 5px 18px;color:var(--ink);font-size:.78rem;font-weight:800}.board-head b{margin-left:auto;font-size:.64rem;color:var(--purple-600);letter-spacing:.08em}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(216,242,76,.25);animation:orbitPulse 1.8s ease-in-out infinite}.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.board-card{min-height:155px;padding:22px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}.board-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.board-card span{font-size:.7rem;color:var(--purple-600);font-weight:800}.board-card strong{color:var(--ink);font-family:Poppins,sans-serif;font-size:1.15rem;margin-top:auto}.board-card p{font-size:.8rem;line-height:1.5;margin-top:5px}.board-card-primary{background:linear-gradient(135deg,var(--purple-600),var(--purple-800));border-color:transparent}.board-card-primary span,.board-card-primary strong,.board-card-primary p{color:var(--white)}.board-card-dark{background:var(--ink);border-color:transparent}.board-card-dark strong{color:var(--lime)}.board-card-dark p,.board-card-dark span{color:#C9C2DE}
.service-section{padding:112px 0}.service-section .section-head{max-width:710px;margin-bottom:54px}.service-showcase{display:grid;grid-template-columns:1.22fr repeat(2,.89fr);gap:16px}.service-card{position:relative;min-height:276px;padding:26px;border-radius:var(--radius-md);border:1px solid var(--line);overflow:hidden;box-shadow:none}.service-card-featured{grid-row:span 2;min-height:568px;padding:36px;background:linear-gradient(145deg,var(--purple-800),var(--purple-950));border-color:transparent}.service-card-featured h3{font-size:1.8rem;color:var(--white);margin-top:48px;max-width:270px}.service-card-featured p{color:#C9C2DE;max-width:275px}.service-card-featured .learn-more{color:var(--lime)}.service-card-number{position:absolute;top:23px;right:24px;color:var(--purple-400);font-family:Poppins,sans-serif;font-size:.78rem;font-weight:800}.service-card-featured .service-card-number{color:var(--lime)}.service-card .service-icon{background:var(--purple-100);color:var(--purple-600);font-family:Poppins,sans-serif;font-size:1.25rem}.service-card h4{font-size:1.08rem}.service-shape{position:absolute;width:265px;height:265px;right:-85px;bottom:-80px;border:36px solid rgba(255,255,255,.1);border-radius:42% 58% 62% 38% / 44% 39% 61% 56%;transform:rotate(26deg)}.service-card .learn-more{margin-top:auto}.service-card:hover{border-color:var(--purple-400)}
.process-section{padding:112px 0;background:var(--white)}.process-intro{display:grid;grid-template-columns:1.05fr .8fr;gap:70px;align-items:end}.process-intro>p{font-size:1rem;line-height:1.75;margin-bottom:4px}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:54px}.process-timeline article{position:relative;padding:25px 21px 24px;border-top:2px solid var(--line)}.process-timeline article::after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;top:-6px;left:0;background:var(--purple-400);box-shadow:0 0 0 6px var(--purple-50)}.process-timeline article:nth-child(2)::after{background:var(--lime)}.process-timeline article:nth-child(3)::after{background:var(--purple-600)}.process-timeline article:nth-child(4)::after{background:var(--ink)}.process-timeline span{font-size:.75rem;color:var(--purple-600);font-weight:800}.process-timeline h3{font-size:1.15rem;margin-top:16px}.process-timeline p{font-size:.86rem;line-height:1.6;margin-top:7px}
.work-showcase{padding:112px 0;background:linear-gradient(135deg,var(--purple-100),var(--purple-50));overflow:hidden}.showcase-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.showcase-head .section-head{margin-bottom:38px}.carousel-controls{display:flex;gap:8px;margin-bottom:42px}.carousel-controls button{width:43px;height:43px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:1.05rem;transition:transform .2s ease,background .2s ease}.carousel-controls button:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}.case-carousel{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}.case-carousel::-webkit-scrollbar{display:none}.case-rail-card{position:relative;isolation:isolate;flex:0 0 min(405px,84vw);min-height:337px;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-soft);scroll-snap-align:start;overflow:hidden}.case-rail-card.has-image{background-size:cover;background-position:center}.case-rail-card.has-image::before{content:'';position:absolute;inset:0;background:var(--purple-50);opacity:.88;z-index:-1}.case-rail-card h3{font-size:1.3rem;margin-top:4px;max-width:340px}.case-rail-card>p{font-size:.9rem;line-height:1.65;margin-top:12px}.case-rail-metrics{display:flex;gap:13px;flex-wrap:wrap;margin-top:auto;padding-top:20px}.case-rail-metrics span{display:flex;flex-direction:column;min-width:82px}.case-rail-metrics strong{color:var(--purple-600);font-family:Poppins,sans-serif;font-size:1.12rem}.case-rail-metrics small{font-size:.69rem;line-height:1.35;margin-top:1px}.case-rail-card .learn-more{margin-top:18px}.showcase-link{margin-top:24px}
.insights-section{padding:108px 0}.insights-section .showcase-head .section-head{margin-bottom:36px}.post-card{border:0;border-radius:var(--radius-md);box-shadow:0 10px 30px -25px rgba(30,15,69,.5)}.post-thumb{height:183px;background:linear-gradient(135deg,var(--purple-800),var(--purple-500))}.post-thumb::after{content:'';display:block;width:58%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12))}.post-body{padding:25px}.post-body h3{font-size:1.13rem;line-height:1.3}.post-body p{line-height:1.58}.post-card-footer{border-top:1px solid var(--line);padding-top:14px}.post-card:hover{box-shadow:var(--shadow-card)}
.cta-premium{margin:0;padding:90px 0;background:linear-gradient(130deg,var(--ink),var(--purple-950))}.cta-premium .eyebrow{color:var(--lime)}.cta-premium h2{font-size:clamp(2rem,3.6vw,3.2rem);max-width:620px}.cta-premium p{font-size:1.03rem}.cta-orbit{position:relative;width:265px;aspect-ratio:1;margin:0 auto;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center}.cta-orbit::before,.cta-orbit::after{content:'';position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;inset:23px}.cta-orbit::after{inset:51px}.cta-orbit span{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--lime);top:-10px;left:50%;box-shadow:0 0 0 8px rgba(216,242,76,.15)}.cta-orbit span:nth-child(2){top:auto;bottom:31px;left:4px;background:var(--purple-400);box-shadow:none}.cta-orbit span:nth-child(3){top:45%;left:auto;right:-10px;background:var(--white);box-shadow:none}.cta-orbit div{display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:var(--lime);color:var(--ink);font-family:Poppins,sans-serif;font-size:3.6rem;font-weight:600}
.tools-showcase{padding:76px 0;background:var(--white)}.tools-showcase .container{padding:30px;overflow:hidden;border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 18%,var(--purple-100),transparent 38%),var(--purple-50)}.tools-showcase-head{display:grid;grid-template-columns:1fr minmax(250px,.92fr);align-items:center;gap:26px;margin-bottom:22px}.tools-showcase .eyebrow{font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-600)}.tools-showcase h2{margin-top:7px;font-size:clamp(1.55rem,2.6vw,2.15rem);letter-spacing:-.04em}.tools-showcase-head>p{justify-self:end;font-size:.84rem;line-height:1.6;max-width:365px}.tools-viewport{overflow:hidden}.tools-rail{display:flex;width:max-content;gap:10px;padding:3px 1px 8px;animation:tools-slide 38s linear infinite}.tools-viewport:hover .tools-rail,.tools-viewport:focus-within .tools-rail{animation-play-state:paused}.tool-logo{flex:0 0 122px;min-height:82px;display:grid;place-items:center;padding:15px;border:1px solid rgba(109,40,217,.1);border-radius:14px;background:var(--white);box-shadow:0 9px 20px -22px rgba(30,15,69,.8);transition:transform .2s ease,box-shadow .2s ease}.tool-logo:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.tool-logo img{display:block;max-width:78px;max-height:35px;width:auto;height:auto}@keyframes tools-slide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 5px))}}@media(prefers-reduced-motion:reduce){.tools-rail{animation:none}}
.trust-bar{padding:58px 0;background:var(--white);border:0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.trust-item{padding:0 25px;border-right:1px solid var(--line)}.trust-item:first-child{padding-left:0}.trust-item:last-child{border-right:0}.trust-item>span{display:block;color:var(--purple-400);font-family:Poppins,sans-serif;font-size:.75rem;font-weight:800}.trust-item strong{color:var(--ink);font-size:.95rem;margin-top:6px}.trust-item small{font-size:.8rem;line-height:1.45;margin-top:4px}
/* interior page refinements */
.page-hero{padding:84px 0 92px;background:radial-gradient(circle at 76% 34%,var(--purple-50),transparent 25%),var(--purple-100)}.page-hero h1{letter-spacing:-.04em}.page-hero .lead{line-height:1.7}.service-detail-stack{gap:92px}.service-detail{padding:28px;border-radius:var(--radius-lg);transition:background .2s ease}.service-detail:hover{background:var(--purple-50)}.service-icon-lg{box-shadow:inset 0 0 0 14px rgba(255,255,255,.38),var(--shadow-soft)}.process-step,.value-card{transition:transform .22s ease,box-shadow .22s ease}.process-step:hover,.value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.team-avatar{box-shadow:inset 0 0 0 8px rgba(255,255,255,.35)}.contact-form{box-shadow:var(--shadow-card)}.contact-info-card{border:1px solid transparent;transition:transform .2s ease,border-color .2s ease}.contact-info-card:hover{transform:translateX(5px);border-color:var(--line)}.faq-item{transition:border-color .2s ease,box-shadow .2s ease}.faq-item[open]{border-color:var(--purple-400);box-shadow:var(--shadow-soft)}
@media(max-width:980px){.hero-grid,.connection-grid,.process-intro{grid-template-columns:1fr;gap:42px}.hero-copy{max-width:680px}.hero-visual{order:-1}.workflow-orbit{width:min(100%,470px)}.service-showcase{grid-template-columns:repeat(2,1fr)}.service-card-featured{grid-row:span 1;grid-column:span 2;min-height:360px}.service-card-featured h3{margin-top:25px}.process-timeline{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr;gap:28px}.trust-item,.trust-item:first-child{padding:0 18px;border-right:0;border-left:1px solid var(--line)}.trust-item:nth-child(odd){border-left:0;padding-left:0}.trust-item:nth-child(even){border-left:1px solid var(--line)}.cta-orbit{margin-top:20px}}
@media(max-width:780px){.site-header .container{height:74px}.nav-links{top:74px}.hero-premium{padding-top:48px}.hero-grid{padding-bottom:38px}.hero-copy h1{font-size:clamp(2.45rem,11vw,3.5rem)}.hero-visual{order:0}.workflow-orbit{width:min(100%,400px)}.note-one{left:-4%}.note-two{right:-5%}.stat-row{transform:translateY(0);margin-top:0}.tech-marquee{padding-top:46px}.connection-section,.service-section,.process-section,.work-showcase,.insights-section{padding:76px 0}.showcase-head{align-items:flex-start}.showcase-head .section-head{margin-bottom:23px}.carousel-controls{margin-bottom:23px}.case-carousel{margin-right:-20px;padding-right:20px}.cta-premium{padding:76px 0}.cta-orbit{width:215px}.trust-grid{gap:22px}.article-layout{gap:20px}}
@media(max-width:560px){.header-cta .btn-dark{display:none}.hero-premium{padding-top:38px}.hero-copy .lead{font-size:.98rem}.hero-actions{gap:10px}.hero-actions .btn{padding:13px 17px;font-size:.85rem}.workflow-window{width:84%;transform:none}.workflow-note{font-size:.64rem;padding:7px 9px}.note-one{top:11%;left:0}.note-two{right:0;bottom:8%}.note-three{bottom:-5%;left:12%}.workflow-orbit{aspect-ratio:1/.93}.stat-card .label{max-width:none}.connection-section,.service-section,.process-section,.work-showcase,.insights-section{padding:64px 0}.board-grid,.service-showcase,.process-timeline{grid-template-columns:1fr}.service-card-featured{grid-column:span 1;min-height:330px}.service-card{min-height:230px}.board-card{min-height:132px}.showcase-head{flex-direction:column}.showcase-head .text-link{margin-top:-8px}.carousel-controls{order:2}.case-rail-card{flex-basis:84vw;min-height:324px}.cta-orbit{width:185px}.trust-grid{grid-template-columns:1fr}.trust-item,.trust-item:first-child,.trust-item:nth-child(odd),.trust-item:nth-child(even){border-left:0;padding:0}.trust-item{padding-bottom:18px;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0;padding-bottom:0}.page-hero{padding:62px 0 70px}}
@media(max-width:680px){.tools-showcase{padding:58px 0}.tools-showcase .container{padding:22px 18px}.tools-showcase-head{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.tools-showcase-head>p{justify-self:start;margin:0;max-width:100%}.tool-logo{flex-basis:116px;min-height:76px}.site-footer{margin-top:0}}

/* ==================================================== SERVICES DIRECTORY */
.solutions-page{background:var(--white)}.solutions-directory{padding:64px 0 100px}.solutions-nav{position:relative;z-index:2;display:flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin:0 auto 60px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,.96);box-shadow:var(--shadow-soft);overflow-x:auto;scrollbar-width:none}.solutions-nav::-webkit-scrollbar{display:none}.solutions-nav a{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 14px;border-radius:var(--radius-pill);color:var(--ink-soft);font-size:.73rem;font-weight:800;transition:background .2s ease,color .2s ease,transform .2s ease}.solutions-nav a:hover{color:var(--purple-600);transform:translateY(-1px)}.solutions-nav a.active{background:var(--lime);color:var(--ink)}.solutions-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:32px}.solutions-heading .eyebrow{color:var(--purple-600);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.solutions-heading h2{max-width:650px;margin-top:9px;font-size:clamp(1.75rem,3.1vw,2.65rem);letter-spacing:-.04em}.solutions-heading>p{max-width:310px;padding-bottom:5px;font-size:.89rem;line-height:1.65}
.solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.solution-card{position:relative;display:flex;flex-direction:column;min-height:420px;padding:23px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;scroll-margin-top:110px}.solution-card::after{content:'';position:absolute;z-index:0;right:-73px;top:-75px;width:210px;height:210px;border-radius:50%;background:var(--purple-50);transition:transform .3s ease,background .3s ease}.solution-card:hover{z-index:1;transform:translateY(-5px);border-color:var(--purple-400);box-shadow:var(--shadow-card)}.solution-card:hover::after{transform:scale(1.15);background:var(--purple-100)}.solution-card-top,.solution-card-copy{position:relative;z-index:1}.solution-card-top{display:flex;align-items:flex-start;min-height:113px}.solution-number{position:absolute;right:0;top:0;color:var(--purple-400);font-family:Poppins,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.08em}.solution-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--purple-100);color:var(--purple-600);font-family:Poppins,sans-serif;font-size:1rem;font-weight:800}.solution-card-copy{display:flex;flex:1;flex-direction:column}.solution-card h3{font-size:1.16rem}.solution-card-copy>p{min-height:69px;margin-top:9px;font-size:.83rem;line-height:1.58}.solution-card ul{display:grid;gap:6px;margin-top:17px}.solution-card li{position:relative;padding-left:14px;color:var(--ink-soft);font-size:.73rem;line-height:1.45}.solution-card li::before{content:'';position:absolute;left:0;top:.43em;width:5px;height:5px;border-radius:50%;background:var(--purple-500)}.solution-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;color:var(--purple-600);font-size:.76rem;font-weight:800}.solution-link span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--purple-100);transition:transform .2s ease,background .2s ease}.solution-card:hover .solution-link span{transform:translateX(4px);background:var(--lime);color:var(--ink)}
.solution-art{position:absolute;right:0;bottom:0;width:132px;height:98px;color:var(--purple-600)}.solution-art::before,.solution-art::after{content:'';position:absolute}.solution-art i,.solution-art b{position:absolute;display:block}.art-software::before{right:11px;bottom:7px;width:111px;height:69px;border:2px solid var(--purple-600);border-radius:13px;background:var(--white);box-shadow:12px -9px 0 -8px var(--lime)}.art-software::after{right:21px;bottom:18px;width:90px;height:2px;background:var(--purple-100);box-shadow:0 -15px 0 var(--purple-100),0 -30px 0 var(--purple-100)}.art-software i{bottom:20px;width:10px;border-radius:5px 5px 2px 2px;background:var(--purple-400)}.art-software i:nth-of-type(1){right:31px;height:26px}.art-software i:nth-of-type(2){right:48px;height:39px}.art-software i:nth-of-type(3){right:65px;height:18px;background:var(--lime)}.art-software b{right:76px;bottom:63px;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:15px 12px 0 var(--purple-400)}
.art-crm::before{right:14px;bottom:8px;width:103px;height:70px;border:2px solid var(--purple-600);border-radius:13px;background:var(--white)}.art-crm::after{right:14px;bottom:61px;width:103px;height:16px;border-radius:11px 11px 0 0;background:var(--purple-600)}.art-crm i{right:25px;width:72px;height:8px;border-radius:var(--radius-pill);background:var(--purple-100)}.art-crm i:nth-of-type(1){bottom:44px}.art-crm i:nth-of-type(2){bottom:30px;width:49px}.art-crm i:nth-of-type(3){bottom:17px;width:61px}.art-crm b{right:31px;bottom:25px;width:14px;height:14px;border-radius:50%;background:var(--lime);box-shadow:0 -26px 0 var(--purple-400),22px -15px 0 var(--purple-100)}
.art-automation::before{right:17px;bottom:18px;width:93px;height:57px;border:2px dashed var(--purple-400);border-radius:50%}.art-automation::after{right:54px;bottom:21px;width:2px;height:56px;background:var(--purple-400);transform:rotate(44deg)}.art-automation i{width:20px;height:20px;border-radius:7px;background:var(--white);border:2px solid var(--purple-600);box-shadow:var(--shadow-soft)}.art-automation i:nth-of-type(1){right:88px;bottom:55px}.art-automation i:nth-of-type(2){right:28px;bottom:54px;background:var(--lime);border-color:var(--lime)}.art-automation i:nth-of-type(3){right:57px;bottom:15px}.art-automation b{right:53px;bottom:41px;width:22px;height:22px;border-radius:50%;background:var(--purple-600);box-shadow:0 0 0 7px rgba(109,40,217,.13)}
.art-analytics::before{right:17px;bottom:13px;width:104px;height:68px;border-bottom:2px solid var(--purple-600);border-left:2px solid var(--purple-600);border-radius:0 0 0 11px}.art-analytics::after{right:27px;bottom:31px;width:83px;height:38px;border-top:3px solid var(--lime);transform:skewY(-25deg) rotate(-8deg)}.art-analytics i{bottom:15px;width:13px;border-radius:6px 6px 1px 1px;background:var(--purple-100)}.art-analytics i:nth-of-type(1){right:35px;height:30px}.art-analytics i:nth-of-type(2){right:54px;height:44px;background:var(--purple-400)}.art-analytics i:nth-of-type(3){right:73px;height:23px;background:var(--purple-600)}.art-analytics b{right:96px;bottom:57px;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.art-integrations::before{right:23px;bottom:13px;width:82px;height:72px;border-radius:18px;background:var(--purple-100);transform:rotate(-9deg)}.art-integrations::after{right:38px;bottom:29px;width:43px;height:39px;border:2px solid var(--purple-600);border-radius:9px;box-shadow:20px -17px 0 -8px var(--lime),-21px 16px 0 -8px var(--purple-400)}.art-integrations i{width:12px;height:12px;border-radius:4px;background:var(--white);border:2px solid var(--purple-600)}.art-integrations i:nth-of-type(1){right:77px;bottom:56px}.art-integrations i:nth-of-type(2){right:38px;bottom:24px;background:var(--lime);border-color:var(--lime)}.art-integrations i:nth-of-type(3){right:25px;bottom:60px}.art-integrations b{right:61px;bottom:37px;width:10px;height:10px;border-radius:50%;background:var(--purple-600)}
.art-support::before{right:21px;bottom:9px;width:83px;height:83px;border:2px solid var(--purple-400);border-radius:50%;box-shadow:0 0 0 15px var(--purple-50),0 0 0 16px var(--purple-100)}.art-support::after{right:52px;bottom:39px;width:22px;height:22px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 9px rgba(216,242,76,.2)}.art-support i{width:13px;height:13px;border-radius:50%;background:var(--purple-600)}.art-support i:nth-of-type(1){right:28px;bottom:58px}.art-support i:nth-of-type(2){right:67px;bottom:17px;background:var(--purple-400)}.art-support i:nth-of-type(3){right:94px;bottom:56px;background:var(--lime)}.art-support b{right:85px;bottom:28px;width:8px;height:8px;border-radius:50%;background:var(--purple-100)}
.solutions-process{padding:91px 0;background:var(--purple-50)}.solutions-process-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:68px;align-items:start}.solutions-process .eyebrow,.solutions-cta .eyebrow{color:var(--purple-600);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.solutions-process h2{margin-top:10px;font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:-.04em}.solutions-process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.solutions-process-steps article{min-height:178px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}.solutions-process-steps span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--purple-100);color:var(--purple-600);font-size:.68rem;font-weight:800}.solutions-process-steps article:nth-child(2) span{background:var(--lime);color:var(--ink)}.solutions-process-steps h3{margin-top:25px;font-size:.96rem}.solutions-process-steps p{margin-top:7px;font-size:.77rem;line-height:1.55}.solutions-cta{padding:76px 0;background:linear-gradient(135deg,var(--ink),var(--purple-950))}.solutions-cta .container{display:flex;align-items:center;justify-content:space-between;gap:35px}.solutions-cta .eyebrow{color:var(--lime)}.solutions-cta h2{max-width:730px;margin-top:10px;color:var(--white);font-size:clamp(1.75rem,3vw,2.75rem);letter-spacing:-.04em}.solutions-cta .btn{flex:none}
@media(max-width:980px){.solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solutions-process-layout{grid-template-columns:1fr;gap:35px}.solutions-process-steps{max-width:780px}.solutions-directory{padding-bottom:78px}}
@media(max-width:700px){.solutions-nav{margin-bottom:42px;max-width:calc(100vw - 30px);padding:5px}.solutions-nav a{padding:8px 12px}.solutions-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:25px}.solutions-heading>p{padding:0;max-width:490px}.solution-card{min-height:390px}.solutions-process{padding:68px 0}.solutions-cta{padding:64px 0}.solutions-cta .container{align-items:flex-start;flex-direction:column;gap:25px}}
@media(max-width:540px){.solutions-nav{margin-bottom:35px}.solutions-grid{grid-template-columns:1fr;gap:12px}.solution-card{min-height:365px;padding:21px}.solution-card-top{min-height:105px}.solution-card-copy>p{min-height:0}.solutions-process-steps{grid-template-columns:1fr}.solutions-process-steps article{min-height:0}.solutions-process-steps h3{margin-top:15px}.solutions-cta .btn{width:100%}}
