/* ============================================================
   MAKS BioStats — Final Theme 2026
   Fonts: Playfair Display · DM Sans
   Palette: Navy #0a1628 · Teal #1d9e75 · Gold #c9a84c
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
body { min-height: 100svh; }
img, video, svg { display: block; max-width: 100%; height: auto; }
a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; }
ul, ol { list-style: none; }
input, textarea, select { font-family: inherit; font-size: inherit; }

:root {
  --navy:       #0a1628;
  --navy2:      #112240;
  --teal:       #1d9e75;
  --teal-hover: #15816b;
  --teal-light: #e6f7f1;
  --teal-light2:#d0f0e4;
  --gold:       #c9a84c;
  --gold-light: #fdf6e3;
  --white:      #ffffff;
  --offwhite:   #f8f9fc;
  --offwhite2:  #f2f4f8;
  --text:       #1a2340;
  --muted:      #5a6a85;
  --muted2:     #8496b0;
  --border:     #e2e8f0;
  --border2:    #cdd5e0;

  --font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:  'DM Sans', system-ui, -apple-system, sans-serif;

  --shadow-sm:  0 2px 8px rgba(10,22,40,0.06);
  --shadow-md:  0 6px 24px rgba(10,22,40,0.10);
  --shadow-lg:  0 16px 48px rgba(10,22,40,0.14);
  --shadow-teal:0 8px 32px rgba(29,158,117,0.18);

  --radius:     6px;
  --radius-lg:  12px;
  --radius-xl:  20px;
  --radius-full:100px;
  --transition: 0.25s ease;
  --max-w:      1200px;
  --nav-h:      70px;
}

body {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--white);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::-webkit-scrollbar        { width: 4px; }
::-webkit-scrollbar-track  { background: var(--offwhite); }
::-webkit-scrollbar-thumb  { background: var(--teal); border-radius: 2px; }
::selection { background: rgba(29,158,117,0.15); color: var(--navy); }

.skip-link { position:absolute;left:-9999px; }
.skip-link:focus { left:1rem;top:1rem;z-index:9999;background:var(--teal);color:white;padding:.5rem 1rem;border-radius:var(--radius); }

#scroll-progress {
  position:fixed;top:0;left:0;height:3px;z-index:9999;
  background:linear-gradient(90deg,var(--teal),var(--gold));
  width:0;transition:width .1s linear;
}

/* ─── NAVBAR ─────────────────────────────────────────────────── */
header {
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(10,22,40,0.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:all var(--transition);
}
.navbar {
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max-w);margin:0 auto;
  padding:0 2.5rem;height:var(--nav-h);
}
.nav-logo {
  display:flex;align-items:center;
  transition:opacity var(--transition);flex-shrink:0;
}
.nav-logo:hover { opacity:0.85; }
.nav-logo img { height:44px;width:auto;object-fit:contain; }

.nav-links { display:flex;align-items:center;gap:2rem; }
.nav-links a {
  color:rgba(255,255,255,0.7);font-size:.88rem;font-weight:500;
  transition:color var(--transition);position:relative;
}
.nav-links a:hover { color:var(--teal); }
.nav-links a.active { color:white; }

.nav-cta {
  background:var(--teal);color:white;
  padding:.6rem 1.4rem;border-radius:var(--radius);
  font-size:.88rem;font-weight:600;
  transition:background var(--transition);
}
.nav-cta:hover { background:var(--teal-hover); }
.nav-cta.active { background:var(--teal); }

.hamburger { display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.5rem; }
.hamburger span { display:block;width:22px;height:2px;background:rgba(255,255,255,0.8);border-radius:2px;transition:all var(--transition); }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mobile-nav { display:none;flex-direction:column;padding:1rem 2.5rem 2rem;border-top:1px solid rgba(255,255,255,0.08);background:rgba(10,22,40,0.99); }
.mobile-nav a { color:rgba(255,255,255,0.7);font-size:1rem;font-weight:500;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,0.06);transition:color var(--transition); }
.mobile-nav a:hover,.mobile-nav a.active { color:var(--teal); }
.mobile-nav.open { display:flex; }

main { padding-top:var(--nav-h);position:relative;z-index:1; }

/* ─── SECTION ─────────────────────────────────────────────────── */
.section { max-width:var(--max-w);margin:0 auto;padding:90px 2.5rem; }
.section-full { position:relative; }
.section-white { background:var(--white); }
.section-off   { background:var(--offwhite); }
.section-navy  { background:var(--navy); }

/* ─── EYEBROW LABEL ──────────────────────────────────────────── */
.s-eyebrow {
  display:inline-block;
  background:var(--teal-light);color:var(--teal);
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.3rem .9rem;border-radius:var(--radius-full);
  margin-bottom:1rem;
}
.s-eyebrow-dark {
  display:inline-block;
  background:rgba(29,158,117,0.18);color:var(--teal);
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.3rem .9rem;border-radius:var(--radius-full);
  margin-bottom:1rem;
}

/* ─── SECTION TITLES ─────────────────────────────────────────── */
.s-title {
  font-family:var(--font-serif);
  font-size:clamp(1.9rem,3.5vw,2.8rem);
  font-weight:700;line-height:1.2;
  color:var(--navy);margin-bottom:.9rem;
}
.s-title em { font-style:italic;color:var(--teal); }
.s-title-white { color:white; }
.s-desc { font-size:1rem;color:var(--muted);line-height:1.8;max-width:54ch;margin-bottom:2.5rem; }
.s-desc-white { color:rgba(255,255,255,0.6); }

/* ─── BUTTONS ─────────────────────────────────────────────────── */
.btn {
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.9rem;font-weight:600;
  border-radius:var(--radius);padding:.85rem 1.8rem;
  border:1.5px solid transparent;transition:all var(--transition);
  cursor:pointer;white-space:nowrap;
}
.btn-icon { transition:transform var(--transition); }
.btn:hover .btn-icon { transform:translateX(3px); }
.btn-primary { background:var(--teal);color:white;border-color:var(--teal); }
.btn-primary:hover { background:var(--teal-hover);border-color:var(--teal-hover);transform:translateY(-1px);box-shadow:var(--shadow-teal); }
.btn-outline { background:transparent;color:white;border-color:rgba(255,255,255,0.3); }
.btn-outline:hover { border-color:rgba(255,255,255,0.7); }
.btn-outline-navy { background:transparent;color:var(--navy);border-color:var(--border2); }
.btn-outline-navy:hover { border-color:var(--teal);color:var(--teal); }
.btn-teal { background:var(--teal);color:white;border-color:var(--teal); }
.btn-teal:hover { background:var(--teal-hover);transform:translateY(-1px);box-shadow:var(--shadow-teal); }

/* ─── PAGE HEADER ─────────────────────────────────────────────── */
.pg-hd { background:var(--navy);padding:70px 2.5rem 60px;position:relative;overflow:hidden; }
.pg-hd::after { content:'';position:absolute;top:-80px;right:-60px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,0.12) 0%,transparent 70%); }
.pg-hd-inner { max-width:var(--max-w);margin:0 auto;position:relative;z-index:1; }
.pg-hd-inner h1 { font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.15;color:white;margin-bottom:.9rem; }
.pg-hd-inner h1 em { font-style:italic;color:var(--gold); }
.pg-hd-inner p { font-size:1rem;color:rgba(255,255,255,0.6);max-width:54ch;line-height:1.75; }

/* ─── HERO ─────────────────────────────────────────────────────── */
.hero {
  min-height:100vh;background:var(--navy);
  display:flex;align-items:center;
  padding:120px 2.5rem 80px;
  position:relative;overflow:hidden;
}
.hero::before {
  content:'';position:absolute;top:-20%;right:-5%;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(29,158,117,0.10) 0%,transparent 70%);
}
.hero::after {
  content:'';position:absolute;bottom:-10%;left:8%;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.07) 0%,transparent 70%);
}
.hero-inner { max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;width:100%;position:relative;z-index:1; }

.hero-badge {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(29,158,117,0.14);border:1px solid rgba(29,158,117,0.3);
  color:var(--teal);padding:6px 16px;border-radius:var(--radius-full);
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:1.4rem;
}
.hero-badge::before { content:'●';font-size:.5rem;animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1}50%{opacity:0.3} }

.hero h1 {
  font-family:var(--font-serif);
  font-size:clamp(2.4rem,4vw,3.8rem);
  font-weight:700;line-height:1.15;
  color:white;margin-bottom:1.2rem;
}
.hero h1 span { color:var(--gold);display:block; }
.hero-sub { font-size:1.05rem;color:rgba(255,255,255,0.62);line-height:1.75;margin-bottom:2.2rem;max-width:480px; }
.hero-btns { display:flex;gap:1rem;flex-wrap:wrap; }

/* HERO CARD */
.hero-card {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius-xl);padding:2.5rem;
}
.hero-card-title { color:rgba(255,255,255,0.45);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.5rem; }
.stats-grid { display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.8rem; }
.stat-item { background:rgba(255,255,255,0.06);border-radius:var(--radius-lg);padding:1.2rem; }
.stat-number { font-family:var(--font-serif);font-size:2.2rem;font-weight:700;color:white;line-height:1; }
.stat-number span { color:var(--teal); }
.stat-label { font-size:.72rem;color:rgba(255,255,255,0.45);margin-top:.35rem; }
.hero-sw-label { color:rgba(255,255,255,0.4);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.7rem; }
.hero-software { display:flex;flex-wrap:wrap;gap:.5rem; }
.sw-badge {
  background:rgba(29,158,117,0.14);border:1px solid rgba(29,158,117,0.25);
  color:var(--teal);padding:.3rem .75rem;border-radius:var(--radius);font-size:.72rem;font-weight:600;
}

/* HERO STATS BAR */
.hero-stats { grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:1.5rem; }
.h-stat { padding:1.4rem 1.8rem;border-top:1px solid rgba(255,255,255,0.08);border-right:1px solid rgba(255,255,255,0.08);text-align:left; }
.h-stat:last-child { border-right:none; }
.h-stat-n { font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:white;line-height:1; }
.h-stat-l { font-size:.72rem;color:rgba(255,255,255,0.4);margin-top:.3rem; }

/* ─── MARQUEE ─────────────────────────────────────────────────── */
.marquee-section {
  padding:1.2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--offwhite);overflow:hidden;position:relative;
}
.marquee-section::before,.marquee-section::after { content:'';position:absolute;top:0;bottom:0;width:6rem;z-index:2; }
.marquee-section::before { left:0;background:linear-gradient(90deg,var(--offwhite),transparent); }
.marquee-section::after  { right:0;background:linear-gradient(-90deg,var(--offwhite),transparent); }
.marquee-track { display:flex;gap:0;width:max-content;animation:marquee 28s linear infinite; }
@keyframes marquee { from{transform:translateX(0);}to{transform:translateX(-50%);} }
.marquee-track:hover { animation-play-state:paused; }
.m-item { font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);padding:0 1.5rem;display:flex;align-items:center;gap:1.5rem;white-space:nowrap;transition:color var(--transition); }
.m-item:hover { color:var(--teal); }
.m-item b { color:var(--teal);font-size:.4rem; }

/* ─── SERVICES ─────────────────────────────────────────────────── */
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem; }
.svc {
  background:white;border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:1.8rem;transition:all var(--transition);position:relative;overflow:hidden;
}
.svc:hover { border-color:var(--teal);box-shadow:var(--shadow-teal);transform:translateY(-3px); }
.svc-ico { width:52px;height:52px;background:var(--teal-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.2rem; }
.svc::after { display:none; }
.svc-title { font-size:.95rem;font-weight:600;color:var(--navy);margin-bottom:.6rem; }
.svc-body { font-size:.85rem;color:var(--muted);line-height:1.7; }
.svc-line { display:none; }
.svc-tag { display:inline-block;margin-top:.9rem;font-size:.68rem;font-weight:600;color:var(--teal);background:var(--teal-light);padding:.2rem .7rem;border-radius:var(--radius-full);letter-spacing:.05em; }

/* ─── PROCESS ──────────────────────────────────────────────────── */
.process-steps { display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem;position:relative; }
.process-steps::before { content:'';position:absolute;top:27px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--teal),var(--gold));z-index:0; }
.step { text-align:center;padding:0 1.2rem;position:relative;z-index:1; }
.step-num {
  width:56px;height:56px;border-radius:50%;background:white;
  border:2px solid var(--teal);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-serif);font-size:1.25rem;font-weight:700;
  color:var(--teal);margin:0 auto 1.2rem;box-shadow:var(--shadow-sm);
}
.step h4 { font-size:.88rem;font-weight:600;color:var(--navy);margin-bottom:.5rem; }
.step p { font-size:.8rem;color:var(--muted);line-height:1.65; }

/* ─── PRICING ───────────────────────────────────────────────────── */
.pricing-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem; }
.pricing-card {
  background:white;border:1.5px solid var(--border);border-radius:var(--radius-xl);
  padding:2rem;position:relative;transition:all var(--transition);
}
.pricing-card:hover { box-shadow:var(--shadow-md);transform:translateY(-3px); }
.pricing-card.featured { border-color:var(--teal);background:var(--navy); }
.pricing-badge { position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-size:.68rem;font-weight:700;padding:.25rem 1rem;border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap; }
.pricing-name { font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem; }
.pricing-card.featured .pricing-name { color:rgba(255,255,255,0.45); }
.pricing-amount { font-family:var(--font-serif);font-size:2.4rem;font-weight:700;color:var(--navy);line-height:1; }
.pricing-card.featured .pricing-amount { color:white; }
.pricing-amount span { font-size:1rem;font-weight:400;color:var(--muted); }
.pricing-card.featured .pricing-amount span { color:rgba(255,255,255,0.45); }
.pricing-divider { border:none;border-top:1px solid var(--border);margin:1.2rem 0; }
.pricing-card.featured .pricing-divider { border-color:rgba(255,255,255,0.1); }
.pricing-features { display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem; }
.pricing-features li { display:flex;align-items:center;gap:.65rem;font-size:.88rem;color:var(--text); }
.pricing-card.featured .pricing-features li { color:rgba(255,255,255,0.8); }
.pricing-features li::before { content:'✓';color:var(--teal);font-weight:700;font-size:.8rem;flex-shrink:0; }
.pricing-btn { display:block;text-align:center;padding:.85rem;border-radius:var(--radius);font-size:.85rem;font-weight:600;border:1.5px solid var(--border);color:var(--navy);background:var(--offwhite);transition:all var(--transition); }
.pricing-card.featured .pricing-btn { background:var(--teal);color:white;border-color:var(--teal); }
.pricing-btn:hover { background:var(--teal);color:white;border-color:var(--teal); }

/* ─── TESTIMONIALS ──────────────────────────────────────────────── */
.testimonials-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem; }
.testi-card { background:white;border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;transition:all var(--transition); }
.testi-card:hover { border-color:var(--teal);box-shadow:var(--shadow-md);transform:translateY(-2px); }
.testi-stars { color:var(--gold);font-size:1rem;margin-bottom:.9rem;letter-spacing:2px; }
.testi-text { font-size:.9rem;color:var(--muted);line-height:1.8;margin-bottom:1.2rem;font-style:italic; }
.testi-author { border-top:1px solid var(--border);padding-top:.9rem; }
.testi-name { font-size:.9rem;font-weight:600;color:var(--navy); }
.testi-role { font-size:.75rem;color:var(--muted2);margin-top:.2rem; }

/* ─── ABOUT ─────────────────────────────────────────────────────── */
.two-col-grid { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }
.feature-list { display:flex;flex-direction:column;gap:1.2rem;margin-top:2rem; }
.feature-item { display:flex;gap:1rem;align-items:flex-start; }
.feature-icon { width:44px;height:44px;background:var(--teal-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0; }
.feature-text h4 { font-size:.92rem;font-weight:600;color:var(--navy);margin-bottom:.3rem; }
.feature-text p { font-size:.83rem;color:var(--muted);line-height:1.65; }

/* ABOUT VISUAL (navy card) */
.about-visual { background:var(--navy);border-radius:var(--radius-xl);padding:2.5rem;position:relative;overflow:hidden; }
.about-visual::before { content:'';position:absolute;top:-30px;right:-30px;width:180px;height:180px;border-radius:50%;background:rgba(29,158,117,0.12); }
.founder-title { color:rgba(255,255,255,0.45);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2rem; }
.founders-grid { display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.5rem; }
.founder-card { background:rgba(255,255,255,0.07);border-radius:var(--radius-lg);padding:1rem;border:1px solid rgba(255,255,255,0.08); }
.founder-initial { width:36px;height:36px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-weight:700;color:white;font-size:.9rem;margin-bottom:.5rem; }
.founder-name { color:white;font-size:.88rem;font-weight:600; }
.founder-role { color:rgba(255,255,255,0.4);font-size:.75rem;margin-top:.15rem; }
.about-tagline { color:rgba(255,255,255,0.65);font-size:.85rem;line-height:1.7;border-top:1px solid rgba(255,255,255,0.1);padding-top:1.2rem;font-style:italic; }

/* STAT GRID CARDS */
.two-col-stat-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden; }
.two-col-stat-grid > div { background:white;padding:1.8rem;text-align:center; }
.info-box { border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:1.2rem 1.5rem;background:var(--offwhite); }

/* ─── SKILLS ─────────────────────────────────────────────────────── */
.skills-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-top:3rem; }
.skill-cat { background:white;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.8rem;transition:all var(--transition); }
.skill-cat:hover { border-color:var(--teal);box-shadow:var(--shadow-sm); }
.skill-cat-h { font-size:.95rem;font-weight:600;color:var(--navy);margin-bottom:.25rem; }
.skill-cat-sub { font-size:.72rem;color:var(--muted2);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em; }
.pill-row { display:flex;flex-wrap:wrap;gap:.4rem; }
.pill { font-size:.68rem;font-weight:600;padding:.25rem .7rem;border-radius:var(--radius-full);background:var(--offwhite);border:1px solid var(--border);color:var(--muted); }
.pill.hot { background:var(--teal-light);border-color:var(--teal-light2);color:var(--teal); }

/* ─── CONTACT ──────────────────────────────────────────────────── */
.contact-grid { display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start;margin-top:3rem; }
.contact-info-block { display:flex;flex-direction:column;gap:1.2rem; }
.c-info-item { display:flex;gap:1rem;align-items:flex-start; }
.contact-item-icon { width:46px;height:46px;background:rgba(29,158,117,0.14);border:1px solid rgba(29,158,117,0.22);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0; }
.c-info-label { font-size:.68rem;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem; }
.c-info-value { color:white;font-size:.92rem;font-weight:500; }
.c-info-value a { color:white;transition:color var(--transition); }
.c-info-value a:hover { color:var(--teal); }

/* CONTACT FORM */
.contact-form { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-xl);padding:2.5rem; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.form-group { display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem; }
.form-group label { font-size:.78rem;color:rgba(255,255,255,0.55);font-weight:500; }
.form-group input,.form-group select,.form-group textarea { width:100%;padding:.78rem 1rem;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius);color:white;font-size:.9rem;outline:none;transition:border-color var(--transition); }
.form-group input::placeholder,.form-group textarea::placeholder { color:rgba(255,255,255,0.3); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--teal); }
.form-group select option { background:var(--navy2); }
.form-group textarea { resize:vertical;min-height:110px; }
.form-submit { width:100%;padding:.95rem;background:var(--teal);color:white;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition); }
.form-submit:hover { background:var(--teal-hover); }

/* ─── CTA BAND ──────────────────────────────────────────────────── */
.section-ink { background:var(--navy);position:relative;overflow:hidden; }
.section-ink::before { content:'';position:absolute;bottom:-80px;left:50%;transform:translateX(-50%);width:600px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,0.1) 0%,transparent 70%); }

/* ─── FOOTER ────────────────────────────────────────────────────── */
footer { background:#060e1c;border-top:1px solid rgba(255,255,255,0.06); }
.footer-inner { max-width:var(--max-w);margin:0 auto;padding:4rem 2.5rem 2rem; }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:3.5rem;margin-bottom:3rem; }
.footer-brand p { font-size:.85rem;color:rgba(255,255,255,0.4);line-height:1.8;margin-top:1rem;max-width:26ch; }
.f-logo { display:flex;align-items:center; }
.f-logo img { height:48px;width:auto;object-fit:contain; }
.f-badge { display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(29,158,117,0.3);background:rgba(29,158,117,0.1);padding:.3rem .8rem;border-radius:var(--radius-full);margin-top:1.2rem; }
.f-dot { width:6px;height:6px;border-radius:50%;background:var(--teal);animation:pulse 2s infinite; }
.footer-col h4 { font-size:.72rem;font-weight:700;color:rgba(255,255,255,0.5);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem; }
.footer-col ul { display:flex;flex-direction:column;gap:.6rem; }
.footer-col li a { font-size:.85rem;color:rgba(255,255,255,0.4);transition:color var(--transition); }
.footer-col li a:hover { color:var(--teal); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:rgba(255,255,255,0.25); }

/* ─── FAQ ────────────────────────────────────────────────────────── */
.faq-list { display:flex;flex-direction:column;gap:.6rem;margin-top:2.5rem; }
.faq-item { background:white;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden; }
.faq-q { width:100%;background:none;border:none;padding:1.2rem 1.6rem;text-align:left;font-size:.92rem;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;transition:color var(--transition); }
.faq-q:hover { color:var(--teal); }
.faq-icon { font-size:1.1rem;color:var(--teal);transition:transform var(--transition);flex-shrink:0; }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-a { display:none;padding:0 1.6rem 1.2rem;font-size:.88rem;color:var(--muted);line-height:1.8; }
.faq-item.open .faq-a { display:block; }

/* ─── SERVICES FULL ──────────────────────────────────────────────── */
.services-full-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.5rem; }
.svc-full { background:white;border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;transition:all var(--transition);position:relative;overflow:hidden; }
.svc-full:hover { border-color:var(--teal);box-shadow:var(--shadow-teal);transform:translateY(-3px); }
.svc-full::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform var(--transition); }
.svc-full:hover::before { transform:scaleX(1); }
.svc-tag { font-size:.68rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem; }
.svc-sub-list { display:flex;flex-direction:column;gap:.4rem;margin-top:1rem; }
.svc-sub-list li { font-size:.82rem;color:var(--muted);display:flex;gap:.5rem; }
.svc-sub-list li::before { content:'→';color:var(--teal);flex-shrink:0; }

/* ─── 404 ─────────────────────────────────────────────────────────── */
.not-found { min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem; }
.not-found h1 { font-family:var(--font-serif);font-size:8rem;font-weight:700;color:var(--teal);opacity:.15;line-height:1; }

/* ─── ANIMATIONS ──────────────────────────────────────────────────── */
@keyframes slideInUp { from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);} }
.reveal { opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }
.stagger>* { opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease; }
.stagger.visible>*:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.05s;}
.stagger.visible>*:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.12s;}
.stagger.visible>*:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.19s;}
.stagger.visible>*:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.26s;}
.stagger.visible>*:nth-child(5){opacity:1;transform:translateY(0);transition-delay:.33s;}
.stagger.visible>*:nth-child(6){opacity:1;transform:translateY(0);transition-delay:.40s;}

/* ─── SERVICE CARDS v2 — Square Grid ─────────────────────────── */
.svc-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.svc-card-v2 {
  background: white;
  border: 1.5px solid var(--border);
  border-radius: 16px;
  padding: 2rem 1.8rem 1.8rem;
  position: relative;
  overflow: hidden;
  transition: all 0.28s ease;
  display: flex;
  flex-direction: column;
  gap: 0;
  aspect-ratio: 1 / 1;
  justify-content: space-between;
}
.svc-card-v2::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(29,158,117,0.03) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.28s ease;
}
.svc-card-v2:hover {
  border-color: var(--teal);
  box-shadow: 0 12px 40px rgba(29,158,117,0.14);
  transform: translateY(-4px);
}
.svc-card-v2:hover::before { opacity: 1; }

/* Top section: number + icon */
.svc-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.svc-card-num {
  font-family: var(--font-serif);
  font-size: .7rem;
  font-weight: 700;
  color: var(--muted2);
  letter-spacing: .12em;
  line-height: 1;
}
.svc-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--teal-light);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.28s ease, transform 0.28s ease;
  flex-shrink: 0;
}
.svc-card-v2:hover .svc-icon-box {
  background: var(--teal);
  transform: rotate(-5deg) scale(1.08);
}
.svc-icon-box svg {
  width: 24px;
  height: 24px;
  stroke: var(--teal);
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.28s ease;
}
.svc-card-v2:hover .svc-icon-box svg { stroke: white; }

/* Middle: title */
.svc-card-title {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.3;
  margin: 0;
}

/* Bottom: description + tag */
.svc-card-bottom { display: flex; flex-direction: column; gap: .6rem; }
.svc-card-desc {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}
.svc-card-tag {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .65rem;
  font-weight: 700;
  color: var(--teal);
  background: var(--teal-light);
  padding: .25rem .75rem;
  border-radius: 100px;
  letter-spacing: .06em;
  text-transform: uppercase;
  width: fit-content;
}
.svc-card-tag::before {
  content: '';
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .svc-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  .svc-card-v2 { aspect-ratio: auto; min-height: 220px; }
}
@media (max-width: 640px) {
  .svc-grid-v2 { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .svc-card-v2 { padding: 1.4rem 1.2rem; min-height: 180px; }
  .svc-card-title { font-size: .9rem; }
  .svc-icon-box { width: 40px; height: 40px; }
  .svc-icon-box svg { width: 20px; height: 20px; }
}
