@charset "UTF-8";
/* CSS Document */

:root {
  --hd-paper:#F7F6F3; --hd-paper-2:#F1EFEA; --hd-paper-3:#E8E6E0; --hd-paper-4:#DEDBD3; --hd-white:#FFFFFF;
  --hd-ink:#13110C; --hd-ink-2:#1C1C1A; --hd-ink-3:#474744; --hd-ink-4:#777773; --hd-ink-5:#A8A6A0;
  --hd-line:#C8C7C3; --hd-line-soft:#DEDBD3; --hd-line-strong:#777773;
  --hd-accent:#0E8A8A; --hd-accent-tint:#D6F1F1; --hd-accent-deep:#0A4A4A; --hd-success:#2F7D3F;
  --bg:var(--hd-paper); --bg-elev:var(--hd-paper-2); --bg-elev-2:var(--hd-paper-3); --bg-window:var(--hd-white); --bg-inverse:var(--hd-ink);
  --fg:var(--hd-ink-2); --fg-strong:var(--hd-ink); --fg-muted:var(--hd-ink-3); --fg-subtle:var(--hd-ink-4); --fg-disabled:var(--hd-ink-5); --fg-inverse:var(--hd-paper);
  --link:var(--hd-accent); --link-hover:var(--hd-accent-deep); --border:var(--hd-line); --border-soft:var(--hd-line-soft); --border-strong:var(--hd-line-strong);
  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --font-display:"Merriweather",Georgia,"Times New Roman",serif;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:24px; --radius-pill:999px;
  --shadow-window:0 20px 50px rgba(19,17,12,0.10),0 4px 12px rgba(19,17,12,0.04);
  --ease-out:cubic-bezier(0.16,1,0.3,1); --duration-fast:120ms; --duration-base:200ms;
}
* { margin:0; padding:0; box-sizing:border-box; }
html,body { background:var(--bg); color:var(--fg); font-family:var(--font-sans); }
body { font-size:16px; line-height:1.55; letter-spacing:-0.005em; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
img { display:block; }
a { color:var(--link); text-decoration:none; }

.hd-container { max-width:1120px; margin:0 auto; padding:0 40px; }
.hd-section { padding:72px 0; }
.hd-eyebrow { font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-muted); font-weight:500; display:inline-block; }
.hd-eyebrow-dot::before { content:""; display:inline-block; width:6px; height:6px; border-radius:999px; background:var(--hd-accent); margin-right:10px; vertical-align:middle; }
.hd-section-head { margin-bottom:40px; }
.hd-section-head h2 { font-family:var(--font-display); font-size:clamp(30px,3.6vw,44px); font-weight:500; letter-spacing:-0.02em; color:var(--fg-strong); margin-top:14px; line-height:1.08; text-wrap:balance; }
.hd-section-head p { max-width:62ch; margin:16px 0 0; color:var(--fg-muted); font-size:16px; }

/* Buttons (only the contact actions are interactive) */
.hd-btn { font-family:var(--font-sans); font-weight:500; font-size:14px; letter-spacing:-0.005em; cursor:pointer; border:none; border-radius:var(--radius-pill); padding:12px 22px; display:inline-flex; align-items:center; gap:8px; transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out); white-space:nowrap; }
.hd-btn-lg { padding:15px 28px; font-size:15px; }
.hd-btn-sm { padding:9px 16px; font-size:13px; }
.hd-btn-primary { background:var(--hd-ink); color:var(--fg-inverse); }
.hd-btn-primary:hover { background:#000; transform:translateY(-1px); }
.hd-btn-ghost { background:transparent; color:var(--fg-strong); border:1px solid var(--border); }
.hd-btn-ghost:hover { border-color:var(--fg-strong); }
.hd-arrow { display:inline-block; }

/* Header */
.hd-head { position:sticky; top:0; z-index:50; background:rgba(247,246,243,0.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--border-soft); }
.hd-head-inner { display:flex; align-items:center; justify-content:space-between; padding:14px 40px; max-width:1120px; margin:0 auto; }
.hd-head-actions { display:flex; gap:8px; align-items:center; }

/* Hero */
.hd-hero { padding:84px 0 64px; }
.hd-hero h1 { font-family:var(--font-display); font-size:clamp(34px,5vw,58px); font-weight:500; letter-spacing:-0.02em; line-height:1.06; color:var(--fg-strong); margin:22px 0 24px; max-width:18ch; }
.hd-hero .hd-lead { font-size:19px; color:var(--fg-muted); max-width:60ch; margin:0 0 32px; }
.hd-hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; }
.hd-reviews { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.hd-reviews-label { font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-subtle); font-weight:500; }
.hd-review { display:inline-flex; align-items:center; gap:8px; padding:7px 13px; background:var(--bg-window); border:1px solid var(--border-soft); border-radius:var(--radius-pill); font-size:12px; }
.hd-review-name { font-weight:700; color:var(--fg-strong); font-family:var(--font-mono); font-size:11px; }
.hd-review-stars { color:var(--hd-accent); letter-spacing:-1px; font-size:13px; }
.hd-review-rating { color:var(--fg-subtle); font-size:11px; }

/* Logo bar */
.hd-logobar { padding:8px 0 8px; }
.hd-logobar-label { font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-subtle); font-weight:500; margin-bottom:22px; display:block; }
.hd-logo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; background:var(--border-soft); }
.hd-logo-box { background:var(--bg-elev); height:96px; display:flex; align-items:center; justify-content:center; padding:12px 20px; }
.hd-awards-grid .hd-logo-box { background:var(--bg-window); height:118px; }

/* What we do */
.hd-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border-soft); border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; }
.hd-svc { background:var(--bg); padding:32px 28px; display:flex; flex-direction:column; gap:14px; }
.hd-svc-icon { width:40px; height:40px; border-radius:10px; background:var(--bg-elev); border:1px solid var(--border-soft); display:flex; align-items:center; justify-content:center; color:var(--fg-strong); }
.hd-svc h3 { font-size:18px; font-weight:600; letter-spacing:-0.015em; color:var(--fg-strong); }
.hd-svc p { font-size:14px; color:var(--fg-muted); line-height:1.55; }
.hd-svc-tags { margin-top:auto; padding-top:6px; display:flex; flex-wrap:wrap; gap:6px; }
.hd-svc-tag { font-size:11px; color:var(--fg-subtle); background:var(--bg-elev); border:1px solid var(--border-soft); border-radius:var(--radius-pill); padding:4px 10px; }

/* Why — metrics */
.hd-metrics { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; margin-bottom:40px; }
.hd-metric { padding:30px 26px; border-right:1px solid var(--border-soft); background:var(--bg); }
.hd-metric:last-child { border-right:none; }
.hd-metric-num { font-family:var(--font-display); display:flex; align-items:baseline; gap:2px; color:var(--fg-strong); }
.hd-metric-num b { font-size:40px; font-weight:500; letter-spacing:-0.02em; }
.hd-metric-num span { font-size:18px; color:var(--hd-accent); font-weight:500; }
.hd-metric-label { font-size:13px; color:var(--fg-muted); line-height:1.5; margin-top:10px; }
.hd-reasons { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.hd-reason { display:flex; gap:16px; align-items:flex-start; }
.hd-reason-icon { width:38px; height:38px; flex-shrink:0; border-radius:10px; background:var(--hd-accent-tint); color:var(--hd-accent-deep); display:flex; align-items:center; justify-content:center; }
.hd-reason h4 { font-size:16px; font-weight:600; letter-spacing:-0.01em; color:var(--fg-strong); margin-bottom:6px; }
.hd-reason p { font-size:14px; color:var(--fg-muted); line-height:1.55; }

/* Who we are — dark panel */
.hd-who { background:var(--hd-ink); color:var(--fg-inverse); border-radius:var(--radius-xl); padding:56px 56px; position:relative; overflow:hidden; }
.hd-who::before { content:""; position:absolute; top:-160px; right:-120px; width:520px; height:520px; background:radial-gradient(circle,rgba(14,138,138,0.16),transparent 60%); pointer-events:none; }
.hd-who-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; position:relative; z-index:1; }
.hd-who .hd-eyebrow { color:var(--hd-accent); }
.hd-who h3 { font-family:var(--font-display); font-size:30px; font-weight:500; letter-spacing:-0.02em; line-height:1.12; color:var(--fg-inverse); margin:14px 0 0; }
.hd-who p { font-size:15px; color:rgba(247,246,243,0.72); line-height:1.6; margin-bottom:16px; }
.hd-who-pills { display:flex; gap:10px; flex-wrap:wrap; }
.hd-who-pill { font-size:13px; color:var(--fg-inverse); border:1px solid rgba(247,246,243,0.22); border-radius:var(--radius-pill); padding:7px 16px; font-family:var(--font-mono); }

/* Case studies */
.hd-case-stack { display:flex; flex-direction:column; gap:24px; }
.hd-case-featured { display:grid; grid-template-columns:1.05fr 1fr; gap:0; border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; background:var(--bg-window); }
.hd-case-featured.is-rev { grid-template-columns:1fr 1.05fr; }
.hd-case-featured.is-rev .hd-case-visual { order:2; }
.hd-case-featured.is-rev .hd-case-content { order:1; }
.hd-case-visual { background:var(--bg-elev); padding:36px; display:flex; align-items:center; }
.hd-case-window { width:100%; border-radius:12px; overflow:hidden; border:1px solid var(--border-soft); box-shadow:var(--shadow-window); background:var(--bg-window); }
.hd-case-window-bar { display:flex; align-items:center; gap:7px; padding:11px 14px; border-bottom:1px solid var(--border-soft); background:var(--bg-elev); }
.hd-case-window-bar .dot { width:9px; height:9px; border-radius:999px; background:var(--hd-paper-4); }
.hd-case-window-bar .url { margin-left:10px; font-family:var(--font-mono); font-size:11px; color:var(--fg-subtle); }
.hd-case-window img { width:100%; display:block; }
.hd-case-content { padding:40px; display:flex; flex-direction:column; }
.hd-case-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.hd-case-tag { font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--hd-accent); font-weight:600; }
.hd-case-ref { font-size:11px; color:var(--fg-subtle); font-family:var(--font-mono); }
.hd-case-content h3 { font-family:var(--font-display); font-size:25px; font-weight:500; letter-spacing:-0.015em; line-height:1.18; color:var(--fg-strong); margin-bottom:14px; }
.hd-case-content p { font-size:15px; color:var(--fg-muted); line-height:1.6; margin-bottom:24px; }
.hd-case-meta { display:flex; gap:36px; margin-top:auto; padding-top:24px; border-top:1px solid var(--border-soft); }
.hd-case-meta .label { font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--fg-subtle); margin-bottom:5px; }
.hd-case-meta .value { font-size:14px; font-weight:600; color:var(--fg-strong); }
.hd-case-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.hd-case-card { border:1px solid var(--border-soft); border-radius:var(--radius-lg); padding:36px; background:var(--bg-window); display:flex; flex-direction:column; }
.hd-case-logo { height:30px; margin-bottom:24px; opacity:0.9; }
.hd-case-card h3 { font-family:var(--font-display); font-size:21px; font-weight:500; letter-spacing:-0.015em; line-height:1.2; color:var(--fg-strong); margin-bottom:12px; }
.hd-case-card p { font-size:14px; color:var(--fg-muted); line-height:1.6; margin-bottom:22px; }
.hd-case-card .hd-case-meta { gap:28px; }

/* Testimonials */
.hd-tgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.hd-t { background:var(--bg-window); border:1px solid var(--border-soft); border-radius:var(--radius-lg); padding:28px; display:flex; flex-direction:column; gap:18px; }
.hd-t-quote { font-size:16px; line-height:1.5; color:var(--fg-strong); letter-spacing:-0.01em; flex:1; text-wrap:pretty; }
.hd-t-author { display:flex; align-items:center; gap:12px; }
.hd-t-avatar { width:38px; height:38px; border-radius:999px; background:var(--hd-ink); color:var(--fg-inverse); display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:500; flex-shrink:0; }
.hd-t-name { font-size:13.5px; font-weight:600; color:var(--fg-strong); }
.hd-t-role { font-size:12px; color:var(--fg-muted); margin-top:2px; line-height:1.35; }
.hd-t-verified { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:16px; border-top:1px solid var(--border-soft); }
.hd-t-verified span { font-size:12px; color:var(--fg-muted); }

/* Industries */
.hd-industries { display:flex; flex-wrap:wrap; gap:10px; }
.hd-industry { padding:11px 20px; border:1px solid var(--border); border-radius:var(--radius-pill); font-size:14px; color:var(--fg-strong); display:inline-flex; align-items:center; gap:8px; background:var(--bg); }
.hd-industry-num { font-family:var(--font-mono); font-size:11px; color:var(--fg-subtle); }

/* Final CTA */
.hd-cta { background:var(--hd-ink); color:var(--fg-inverse); border-radius:var(--radius-xl); padding:72px 64px; position:relative; overflow:hidden; }
.hd-cta::before { content:""; position:absolute; bottom:-240px; left:-120px; width:600px; height:600px; background:radial-gradient(circle,rgba(14,138,138,0.14),transparent 60%); pointer-events:none; }
.hd-cta-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:72px; align-items:center; position:relative; z-index:1; }
.hd-cta .hd-eyebrow { color:var(--hd-accent); }
.hd-cta h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,46px); font-weight:500; letter-spacing:-0.01em; line-height:1.1; color:var(--fg-inverse); margin-top:16px; text-wrap:balance; }
.hd-cta-prompts { list-style:none; display:flex; flex-direction:column; gap:13px; margin-bottom:30px; }
.hd-cta-prompts li { font-size:15px; color:var(--fg-inverse); display:flex; align-items:flex-start; gap:12px; line-height:1.5; }
.hd-cta-prompts li::before { content:""; width:5px; height:5px; border-radius:999px; background:var(--hd-accent); flex-shrink:0; margin-top:9px; }
.hd-cta-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hd-cta .hd-btn-primary { background:var(--hd-accent); color:#fff; }
.hd-cta .hd-btn-primary:hover { background:var(--hd-accent-deep); }
.hd-cta .hd-btn-ghost { color:var(--fg-inverse); border-color:rgba(247,246,243,0.25); }
.hd-cta .hd-btn-ghost:hover { border-color:var(--fg-inverse); }
.hd-cta-contact { margin-top:20px; font-family:var(--font-mono); font-size:13px; display:flex; flex-direction:column; gap:10px; }
.hd-cta-contact-row { display:flex; align-items:center; gap:10px; color:rgba(247,246,243,0.6); }
.hd-cta-contact-row a { color:var(--fg-inverse); }
.hd-cta-contact-row strong { color:var(--fg-inverse); font-weight:500; }
.hd-copy-btn { background:none; border:1px solid rgba(247,246,243,0.2); border-radius:6px; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; color:rgba(247,246,243,0.5); transition:all 120ms; flex-shrink:0; }
.hd-copy-btn:hover { border-color:rgba(247,246,243,0.5); color:var(--fg-inverse); }
.hd-copy-btn.copied { border-color:var(--hd-accent); color:var(--hd-accent); }

/* Footer — bottom meta only */
.hd-footer { padding:32px 0 44px; }
.hd-footer-meta { display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--border-soft); font-size:12px; color:var(--fg-subtle); gap:24px; flex-wrap:wrap; }
.hd-footer-meta a { color:var(--fg-subtle); }
.hd-footer-meta a:hover { color:var(--fg-strong); }

/* Responsive */
@media (max-width:1024px){
  .hd-logo-grid { grid-template-columns:repeat(2,1fr); }
  .hd-svc-grid { grid-template-columns:repeat(2,1fr); }
  .hd-metrics { grid-template-columns:repeat(2,1fr); }
  .hd-reasons { grid-template-columns:1fr; }
  .hd-who-grid { grid-template-columns:1fr; gap:36px; }
  .hd-case-featured, .hd-case-featured.is-rev { grid-template-columns:1fr; }
  .hd-case-featured.is-rev .hd-case-visual { order:0; }
  .hd-case-featured.is-rev .hd-case-content { order:0; }
  .hd-case-row { grid-template-columns:1fr; }
  .hd-tgrid { grid-template-columns:1fr 1fr; }
  .hd-cta-grid { grid-template-columns:1fr; gap:40px; }
  .hd-cta, .hd-who { padding:48px 40px; }
}
@media (max-width:640px){
  .hd-container { padding:0 22px; }
  .hd-head-inner { padding:14px 22px; }
  .hd-svc-grid, .hd-metrics, .hd-logo-grid, .hd-tgrid { grid-template-columns:1fr; }
  .hd-head-actions .hd-btn-ghost { display:none; }
}

/* Print / PDF */
@page { margin:14mm; }
@media print {
  :root { --bg:#fff; --bg-elev:#fff; }
  html,body { background:#fff; }
  .hd-head { position:static; background:#fff; }
  .hd-no-print { display:none !important; }
  .hd-section { padding:34px 0; }
  .hd-hero { padding:24px 0 28px; }
  .hd-who, .hd-cta { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .hd-svc, .hd-case-featured, .hd-case-card, .hd-t, .hd-reason, .hd-metric, .hd-who, .hd-cta { break-inside:avoid; }
  .hd-section-head, h1, h2, h3 { break-after:avoid; }
}