*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --bg-dark: #0d2238;
    --bg-light: #ffffff;
    --bg-soft: #f4f6f9;
    --accent-teal: #00a896;
    --accent-teal-hover: #028090;
    --text-dark: #1b263b;
    --text-muted: #6c757d;
    --text-muted-2: #94a0ad;
    --text-light: #f8fafc;
    --line: rgba(27,38,59,0.10);
    --card-shadow: 0 10px 30px rgba(0,0,0,0.08);
  }

  body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--bg-soft);
    color: var(--text-dark);
    line-height: 1.6;
  }
  a { text-decoration: none; color: inherit; }
  .wrap { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
  section.pad { padding: 6rem 0; }
  ::selection{ background: var(--accent-teal); color:#fff; }
  a:focus-visible, button:focus-visible, summary:focus-visible{ outline:2px solid var(--accent-teal); outline-offset:3px; }

  /* Top dark wrapper */
  .header-hero-wrapper { background-color: var(--bg-dark); color: var(--text-light); padding-bottom: 5rem; }

  header { display:flex; justify-content:space-between; align-items:center; padding:1.5rem 8%; border-bottom:1px solid rgba(255,255,255,0.08); position:sticky; top:0; z-index:50; background:var(--bg-dark); }
  .logo { display:flex; align-items:center; gap:9px; font-size:1.3rem; font-weight:800; letter-spacing:-0.5px; }
  .logo svg{ width:26px; height:26px; flex-shrink:0; }
  nav ul { display:flex; list-style:none; gap:2rem; align-items:center; }
  nav a { font-size:0.9rem; color:rgba(255,255,255,0.8); transition:color .2s; }
  nav a:hover { color:#fff; }

  .btn-teal { background-color:var(--accent-teal); color:#fff; padding:0.7rem 1.4rem; border-radius:6px; font-weight:600; font-size:0.875rem; transition:background-color .2s, transform .2s; display:inline-block; border:none; cursor:pointer; }
  .btn-teal:hover { background-color:var(--accent-teal-hover); transform:translateY(-1px); }
  .btn-outline-light { border:1px solid rgba(255,255,255,0.3); color:#fff; padding:0.65rem 1.35rem; border-radius:6px; font-weight:600; font-size:0.875rem; transition:border-color .2s, background .2s; }
  .btn-outline-light:hover { border-color:#fff; background:rgba(255,255,255,0.05); }
  .btn-outline-dark { border:1px solid var(--line); color:var(--text-dark); padding:0.65rem 1.35rem; border-radius:6px; font-weight:600; font-size:0.875rem; }
  .btn-outline-dark:hover { border-color:rgba(27,38,59,0.3); }

  /* Hero */
  .hero { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; padding:4rem 8% 2rem; max-width:1400px; margin:0 auto; }
  .hero-badge { color:var(--accent-teal); font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:1.1rem; display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,0.08); padding:6px 15px; border-radius:100px; }
  .hero-badge::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--accent-teal); flex-shrink:0; }
  .hero-content h1 { font-size:3rem; font-weight:800; line-height:1.1; margin-bottom:1rem; letter-spacing:-0.5px; }
  .hero-content h1 span { color:var(--accent-teal); }
  .hero-content p { color:rgba(255,255,255,0.7); font-size:1rem; margin-bottom:2rem; max-width:500px; }
  .hero-buttons { display:flex; gap:1rem; }
  .hero-trust{ display:flex; gap:28px; margin-top:2.4rem; flex-wrap:wrap; }
  .hero-trust .t-num{ font-size:22px; font-weight:800; color:#fff; }
  .hero-trust .t-lbl{ font-size:11.5px; color:rgba(255,255,255,0.55); text-transform:uppercase; letter-spacing:0.04em; margin-top:2px; }

  .hero-image-box { position:relative; border-radius:12px; overflow:hidden; border:4px solid var(--accent-teal); box-shadow:0 20px 40px rgba(0,0,0,0.3); background:#0a1c2e; }
  .hero-image-box svg{ display:block; width:100%; height:auto; }

  /* Animated motto box */
  .motto-box{ position:relative; min-height:420px; display:flex; flex-direction:column; justify-content:center; padding:3rem 3rem; overflow:hidden; }
  .motto-glow{ position:absolute; inset:-20%; background:radial-gradient(circle at 30% 30%, rgba(0,168,150,0.28), transparent 60%); animation:glowPulse 6s ease-in-out infinite; }
  @keyframes glowPulse{ 0%,100%{ opacity:0.6; transform:scale(1); } 50%{ opacity:1; transform:scale(1.08); } }
  .motto-text{ position:relative; font-size:2rem; font-weight:800; line-height:1.25; color:#fff; letter-spacing:-0.01em; opacity:0; animation:fadeIn 0.6s ease forwards; min-height:130px; }
  .motto-text span{ color:var(--accent-teal); }
  @keyframes fadeIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }
  .motto-box.fading .motto-text{ animation:fadeOut 0.35s ease forwards; }
  @keyframes fadeOut{ to{ opacity:0; transform:translateY(-6px); } }
  .motto-dots{ position:relative; display:flex; gap:8px; margin-top:1.6rem; }
  .motto-dots .dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.18); transition:background .3s, width .3s; }
  .motto-dots .dot.active{ background:var(--accent-teal); width:22px; border-radius:4px; }
  @media (prefers-reduced-motion: reduce){
    .motto-glow{ animation:none; }
    .motto-text{ animation:none; opacity:1; }
  }

  /* Stats strip (below hero) */
  .stats-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; background:#fff; border-radius:16px; box-shadow:var(--card-shadow); padding:2rem 1rem; margin-top:-2.5rem; position:relative; z-index:5; }
  .stats-strip .stat{ text-align:center; padding:0 0.5rem; position:relative; }
  .stats-strip .stat + .stat::before{ content:''; position:absolute; left:0; top:8%; bottom:8%; width:1px; background:var(--line); }
  .stats-strip .num{ font-size:1.7rem; font-weight:800; color:var(--text-dark); }
  .stats-strip .lbl{ font-size:0.78rem; color:var(--text-muted); margin-top:4px; }

  /* Floating quick cards bridge */
  .services-bridge { max-width:1200px; margin:-3.5rem auto 5rem; padding:0 2rem; position:relative; z-index:10; }
  .card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
  .quick-card { background-color:var(--bg-light); border-radius:16px; padding:2rem 1.5rem; text-align:center; box-shadow:var(--card-shadow); transition:transform .3s ease, box-shadow .3s ease; }
  .quick-card:hover { transform:translateY(-6px); box-shadow:0 15px 35px rgba(0,0,0,0.12); }
  .card-icon { width:50px; height:50px; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; border:2px solid var(--accent-teal); border-radius:12px; color:var(--accent-teal); }
  .card-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .quick-card h3 { font-size:1.05rem; font-weight:700; color:var(--text-dark); margin-bottom:6px; }
  .quick-card p { font-size:0.82rem; color:var(--text-muted); }
  .quick-card .from{ font-size:0.78rem; font-weight:700; color:var(--accent-teal); margin-top:10px; }

  /* Featured case study */
  .feat-case{ display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center; }
  .feat-case-image{ border-radius:16px; overflow:hidden; box-shadow:var(--card-shadow); aspect-ratio:480/380; }
  .feat-case-image img{ display:block; width:100%; height:100%; object-fit:cover; }
  .feat-tag{ display:inline-block; color:var(--accent-teal); font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:0.8rem; }
  .feat-case h3{ font-size:1.7rem; font-weight:800; color:var(--text-dark); margin-bottom:0.9rem; line-height:1.25; }
  .feat-case > div > p{ color:var(--text-muted); font-size:0.95rem; margin-bottom:1.8rem; }
  .feat-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2rem; }
  .feat-kpis .k{ background:var(--bg-soft); border-radius:12px; padding:1rem 0.6rem; text-align:center; }
  .feat-kpis .num{ font-size:1.35rem; font-weight:800; color:var(--accent-teal); }
  .feat-kpis .lbl{ font-size:0.72rem; color:var(--text-muted-2); text-transform:uppercase; letter-spacing:0.03em; margin-top:4px; }

  /* Corporate feature showcase */
  .corporate-section { max-width:1200px; margin:0 auto 6rem; padding:0 2rem; display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; align-items:center; }
  .corporate-image { border-radius:16px; overflow:hidden; box-shadow:var(--card-shadow); background:var(--bg-dark); }
  .corporate-image svg{ display:block; width:100%; height:auto; }
  .corporate-content .section-badge { color:var(--accent-teal); font-size:0.85rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:0.5rem; }
  .corporate-content h2 { font-size:2.1rem; font-weight:800; color:var(--text-dark); line-height:1.25; margin-bottom:1rem; }
  .corporate-content p { color:var(--text-muted); font-size:0.95rem; margin-bottom:2rem; }
  .features-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:2.5rem; }
  .feature-item { display:flex; align-items:center; gap:0.75rem; font-weight:700; font-size:0.95rem; color:var(--text-dark); }
  .check-icon { width:22px; height:22px; background-color:var(--accent-teal); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:0.75rem; flex-shrink:0; }

  /* section head (generic sections below) */
  .section-head{ max-width:640px; margin:0 auto 3.2rem; text-align:center; }
  .kicker{ display:inline-flex; align-items:center; gap:7px; color:var(--accent-teal); font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; background:rgba(0,168,150,0.09); padding:6px 15px; border-radius:100px; }
  .kicker::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--accent-teal); flex-shrink:0; }
  .section-head h2{ font-size:2.1rem; font-weight:800; margin-top:0.9rem; color:var(--text-dark); }
  .section-head p{ color:var(--text-muted); margin-top:0.8rem; font-size:0.95rem; }

  /* process */
  .process-wrap{ background:#fff; border-radius:20px; padding:3rem 2.6rem; box-shadow:var(--card-shadow); }
  .process-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.4rem; }
  .step .num{ width:34px; height:34px; border-radius:50%; background:var(--bg-dark); color:#fff; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .step h3{ font-size:0.95rem; font-weight:700; margin-bottom:6px; }
  .step p{ font-size:0.8rem; color:var(--text-muted); line-height:1.55; }

  /* pricing */
  .invest-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
  .invest-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:2rem 1.7rem; box-shadow:var(--card-shadow); }
  .invest-card.hl{ border:2px solid var(--accent-teal); }
  .invest-card h3{ font-size:1.05rem; font-weight:700; }
  .invest-card .range{ font-weight:800; font-size:1.6rem; margin-top:8px; color:var(--accent-teal); }
  .invest-card .time{ font-size:0.8rem; color:var(--text-muted-2); margin-top:4px; }
  .invest-card p{ font-size:0.88rem; color:var(--text-muted); margin-top:14px; }

  /* case studies */
  .case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
  .case-card{ background:#fff; border-radius:16px; padding:1.8rem; box-shadow:var(--card-shadow); display:flex; flex-direction:column; gap:0.8rem; min-height:190px; }
  .case-card .kpi{ font-weight:800; font-size:1.9rem; color:var(--accent-teal); }
  .case-card .kpi-lbl{ font-size:0.75rem; color:var(--text-muted-2); text-transform:uppercase; letter-spacing:0.03em; }
  .case-card p{ font-size:0.88rem; color:var(--text-muted); margin-top:auto; }
  .case-card .client{ font-size:0.8rem; color:var(--text-muted-2); border-top:1px solid var(--line); padding-top:14px; margin-top:6px; }

  /* testimonials */
  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
  .testi-card{ background:#fff; border-radius:16px; padding:1.8rem; box-shadow:var(--card-shadow); display:flex; flex-direction:column; gap:0.9rem; }
  .stars{ color:#F5A623; font-size:0.85rem; letter-spacing:1px; }
  .testi-card p{ font-size:0.9rem; line-height:1.6; }
  .testi-card .who{ font-size:0.8rem; color:var(--text-muted-2); font-weight:700; margin-top:auto; }

  /* faq */
  .faq{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
  .faq-cat{ font-size:1.15rem; font-weight:800; color:var(--text-dark); margin:2.6rem 0 0.4rem; padding-bottom:0.6rem; border-bottom:2px solid var(--accent-teal); }
  .faq-cat:first-child{ margin-top:0; }
  .faq details{ border:1px solid var(--line); border-radius:12px; padding:4px 22px; background:#fff; }
  .faq summary{ list-style:none; cursor:pointer; padding:16px 0; font-size:0.95rem; font-weight:700; display:flex; justify-content:space-between; align-items:center; }
  .faq summary::-webkit-details-marker{ display:none; }
  .faq summary::after{ content:'+'; font-size:20px; color:var(--text-muted); font-weight:400; }
  .faq details[open] summary::after{ content:'\2013'; }
  .faq .a{ font-size:0.88rem; color:var(--text-muted); padding-bottom:18px; }

  /* cta */
  .cta-band{ background:var(--bg-dark); border-radius:22px; padding:4rem 3rem; text-align:center; color:#fff; }
  .cta-band h2{ font-size:2rem; font-weight:800; }
  .cta-band p{ color:rgba(255,255,255,0.62); margin-top:12px; }
  .cta-band .hero-buttons{ justify-content:center; margin-top:1.8rem; }

  footer{ background:var(--bg-dark); color:rgba(255,255,255,0.7); padding:3.4rem 0 1.8rem; }
  .foot-grid{ display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:2rem; margin-bottom:2.4rem; }
  .foot-brand p{ font-size:0.85rem; color:rgba(255,255,255,0.55); margin-top:12px; max-width:230px; }
  .foot-col h4{ font-size:0.75rem; text-transform:uppercase; letter-spacing:0.05em; color:rgba(255,255,255,0.4); margin-bottom:12px; font-weight:700; }
  .foot-col a{ display:block; font-size:0.85rem; color:rgba(255,255,255,0.65); margin-bottom:9px; }
  .foot-col a:hover{ color:#fff; }
  .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:22px; border-top:1px solid rgba(255,255,255,0.1); font-size:0.78rem; color:rgba(255,255,255,0.4); flex-wrap:wrap; gap:10px; }

  /* Mobile nav toggle */
  .nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:34px; height:34px; background:none; border:none; cursor:pointer; padding:0; }
  .nav-toggle span{ display:block; width:100%; height:2px; background:#fff; border-radius:2px; transition:transform .25s ease, opacity .25s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  @media (max-width: 992px) {
    .hero, .corporate-section, .feat-case { grid-template-columns: 1fr; }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-strip{ grid-template-columns:repeat(2,1fr); gap:1.6rem; }
    .stats-strip .stat:nth-child(2n+1)::before{ display:none; }
    .process-grid{ grid-template-columns:repeat(2,1fr); }
    .invest-grid, .case-grid, .testi-grid{ grid-template-columns:1fr; }
    .nav-toggle{ display:flex; }
    nav{ position:absolute; top:100%; left:0; right:0; background:var(--bg-dark); border-bottom:1px solid rgba(255,255,255,0.08); max-height:0; overflow:hidden; transition:max-height .3s ease; }
    nav.open{ max-height:320px; }
    nav ul{ flex-direction:column; align-items:flex-start; gap:0; padding:0.5rem 8% 1.2rem; }
    nav ul li{ width:100%; }
    nav a{ display:block; padding:0.8rem 0; font-size:1rem; }
    header{ position:relative; flex-wrap:wrap; }
    .foot-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 576px) {
    .card-grid { grid-template-columns: 1fr; }
    .hero-content h1 { font-size: 2.2rem; }
    .features-grid { grid-template-columns: 1fr; }
    .stats-strip{ grid-template-columns:1fr 1fr; }
    .feat-kpis{ grid-template-columns:1fr; }
  }

/* ===== Inner page header banner ===== */
.page-header{ background:var(--bg-dark); color:var(--text-light); padding:4.6rem 0 4.8rem; }
.page-header .kicker{ background:rgba(255,255,255,0.08); }
.page-header h1{ font-size:3.2rem; font-weight:800; margin-top:0.9rem; letter-spacing:-0.02em; line-height:1.1; }
.page-header p{ color:rgba(255,255,255,0.65); margin-top:1.1rem; max-width:560px; font-size:1.05rem; }
@media (max-width:576px){ .page-header h1{ font-size:2.2rem; } }

/* ===== Active nav link ===== */
nav a.active{ color:#fff; position:relative; }
nav a.active::after{ content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--accent-teal); }

/* ===== Universal white header (all pages) ===== */
header.header-light{ background:#fff; border-bottom:1px solid var(--line); }
header.header-light nav a{ color:var(--text-dark); }
header.header-light nav a:hover{ color:var(--accent-teal); }
header.header-light nav a.active{ color:var(--accent-teal); }
header.header-light .logo{ color:var(--text-dark); }
header.header-light .nav-toggle span{ background:var(--text-dark); }
@media (max-width:992px){ header.header-light nav{ background:#fff; border-bottom:1px solid var(--line); } }

/* ===== Portfolio tiles (work.html) ===== */
.portfolio-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.portfolio-tile{ display:block; min-width:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; transition:transform .2s ease, box-shadow .2s ease; }
.portfolio-tile:hover{ transform:translateY(-4px); box-shadow:var(--card-shadow); }
.portfolio-thumb{ aspect-ratio:16/11; overflow:hidden; background:var(--bg-soft); width:100%; }
.portfolio-thumb img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.portfolio-info{ padding:1rem 1.15rem 1.2rem; }
.portfolio-info h4{ font-size:1.05rem; font-weight:800; color:var(--text-dark); margin-bottom:4px; }
.portfolio-info p{ font-size:0.86rem; color:var(--text-muted); margin-bottom:10px; }
.pt-links{ font-size:0.85rem; font-weight:700; }
.pt-link{ color:var(--accent-teal); }
a.pt-link:hover{ text-decoration:underline; }
.pt-sep{ color:var(--text-muted); margin:0 4px; font-weight:400; }
@media (max-width:900px){ .portfolio-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .portfolio-grid{ grid-template-columns:1fr; } }

/* ===== Service detail rows (services.html) ===== */
.svc-detail{ display:grid; grid-template-columns:56px 1fr; gap:1.6rem; padding:2.6rem 0; border-bottom:1px solid var(--line); }
.svc-detail:first-child{ padding-top:0; }
.svc-detail .icon-lg{ width:56px; height:56px; border-radius:14px; background:rgba(0,168,150,0.08); display:flex; align-items:center; justify-content:center; }
.svc-detail h2{ font-size:1.5rem; font-weight:800; margin-bottom:0.6rem; }
.svc-detail p.desc{ color:var(--text-muted); font-size:0.95rem; max-width:640px; margin-bottom:1.2rem; }
.svc-sub{ display:grid; grid-template-columns:1fr 1fr; gap:0.7rem 1.6rem; }
.svc-sub .si{ display:flex; align-items:center; gap:0.6rem; font-size:0.88rem; font-weight:600; }
.svc-sub .si .check-icon{ width:18px; height:18px; font-size:0.65rem; }

/* ===== Process detail (process.html) ===== */
.proc-detail{ display:grid; grid-template-columns:80px 1fr; gap:2rem; padding:2.2rem 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.proc-detail:first-child{ padding-top:0; }
.proc-detail .num-lg{ width:56px; height:56px; border-radius:50%; background:var(--bg-dark); color:#fff; font-weight:800; font-size:1.15rem; display:flex; align-items:center; justify-content:center; }
.proc-detail h3{ font-size:1.2rem; font-weight:800; margin-bottom:0.5rem; }
.proc-detail p{ color:var(--text-muted); font-size:0.92rem; max-width:600px; }
.proc-detail .deliverable{ margin-top:0.8rem; font-size:0.8rem; font-weight:700; color:var(--accent-teal); text-transform:uppercase; letter-spacing:0.03em; }

/* ===== Case study detail (work.html) ===== */
.case-detail{ background:#fff; border-radius:18px; box-shadow:var(--card-shadow); padding:2.4rem; margin-bottom:1.6rem; display:grid; grid-template-columns:200px 1fr; gap:2.2rem; align-items:center; }
.case-detail .big-kpi{ text-align:center; }
.case-detail .big-kpi .num{ font-size:2.6rem; font-weight:800; color:var(--accent-teal); }
.case-detail .big-kpi .lbl{ font-size:0.78rem; color:var(--text-muted-2); text-transform:uppercase; letter-spacing:0.03em; margin-top:4px; }
.case-detail h3{ font-size:1.2rem; font-weight:800; margin-bottom:0.5rem; }
.case-detail .tags{ display:flex; gap:0.5rem; margin-top:1rem; flex-wrap:wrap; }
.case-detail .tag{ font-size:0.74rem; font-weight:700; background:var(--bg-soft); color:var(--text-muted); padding:5px 11px; border-radius:100px; }

/* ===== Contact page ===== */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:flex-start; }
.contact-info .ci-item{ display:flex; gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.contact-info .ci-icon{ width:42px; height:42px; border-radius:11px; background:rgba(0,168,150,0.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-info h4{ font-size:0.95rem; font-weight:700; margin-bottom:3px; }
.contact-info p{ font-size:0.88rem; color:var(--text-muted); }
.contact-form{ background:#fff; border-radius:18px; box-shadow:var(--card-shadow); padding:2.2rem; }
.form-row{ margin-bottom:1.1rem; }
.form-row label{ display:block; font-size:0.82rem; font-weight:700; margin-bottom:6px; }
.form-row input, .form-row select, .form-row textarea{ width:100%; padding:0.75rem 0.9rem; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:0.9rem; background:var(--bg-soft); }
.form-row textarea{ resize:vertical; min-height:100px; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{ outline:2px solid var(--accent-teal); outline-offset:1px; }

@media (max-width:900px){
  .svc-detail, .proc-detail{ grid-template-columns:1fr; }
  .case-detail{ grid-template-columns:1fr; text-align:center; }
  .contact-grid{ grid-template-columns:1fr; }
  .svc-sub{ grid-template-columns:1fr; }
}