:root { color-scheme: dark; --font-display:'Playfair Display', Georgia, serif; --font-body:'Inter', Arial, sans-serif; }
html { background: #0b0e12; scroll-behavior: smooth; }
body { min-width: 320px; }
img { max-width: 100%; }
a { text-decoration: none; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
/* Keep the Stitch composition intact while making the static export self-contained. */
.site-mobile-toggle { display: none; }
@media (max-width: 1279px) {
  .site-mobile-toggle { display: inline-flex; }
  .site-desktop-nav { display: none !important; }
}
@media (min-width: 1280px) {
  .site-desktop-nav { display: flex !important; }
}
@media (max-width: 640px) {
  header .h-\[72px\] { height: 64px; }
  main.pt-\[72px\] { padding-top: 64px; }
  .site-mobile-menu { inset: 64px 0 auto 0; }
}
.site-mobile-menu { display: none; }
.site-mobile-menu.is-open { display: block; }

/* Kinetic Obsidian pages without a Stitch screen */
:root { --k-bg:#080b0f; --k-surface:#0d1117; --k-panel:#131920; --k-line:#212936; --k-text:#f4f5f6; --k-muted:#8f9ba8; --k-bronze:#c89d66; --k-copper:#d4a373; --k-max:1280px; }
.kinetic-page { margin:0; background:var(--k-bg); color:var(--k-text); font-family:var(--font-body); font-size:14px; line-height:1.7; }
.kinetic-page *, .kinetic-page *::before, .kinetic-page *::after { box-sizing:border-box; }
.kinetic-page a { color:inherit; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; background:rgba(8,11,15,.88); backdrop-filter:blur(14px); border-bottom:1px solid rgba(33,41,54,.9); }
.site-header-inner { width:min(100%,1440px); height:72px; margin:auto; padding:0 48px; display:flex; align-items:center; gap:28px; }
.site-header, .site-header * { font-family:var(--font-body); }
.site-brand { display:inline-flex; align-items:center; gap:10px; min-width:188px; }
.site-brand img { width:28px; height:34px; object-fit:contain; }
.site-brand span { display:flex; flex-direction:column; line-height:1.05; }
.site-brand strong { font-size:13px; letter-spacing:.16em; font-weight:700; }
.site-brand small { margin-top:5px; color:var(--k-bronze); font-size:8px; letter-spacing:.28em; }
.site-desktop-nav { display:flex; align-items:center; justify-content:center; gap:18px; flex:1; }
.site-nav-link { color:#b8b2a9; font-family:var(--font-body); font-size:10px; font-weight:600; line-height:1.2; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; transition:color .2s ease; }
.site-nav-link:hover, .site-nav-link.is-active { color:var(--k-bronze); }
.site-header-cta { border:1px solid #665842; padding:10px 17px; color:var(--k-text); font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; white-space:nowrap; }
.site-header-cta:hover { border-color:var(--k-bronze); color:var(--k-bronze); }
.site-mobile-toggle, .site-mobile-menu { display:none; }
.site-mobile-toggle { flex:0 0 auto; align-items:center; justify-content:center; width:36px; height:36px; padding:0; font:600 18px/1 var(--font-body); }
.k-container { width:min(calc(100% - 96px), var(--k-max)); margin:0 auto; }
.k-hero { padding:170px 0 100px; background:var(--k-bg); border-bottom:1px solid var(--k-line); }
.k-hero .k-container { display:flex; align-items:flex-end; justify-content:space-between; gap:70px; }
.k-hero-copy { max-width:760px; }
.k-hero h1, .k-article h1 { margin:20px 0 22px; font-family:var(--font-display); font-size:clamp(44px,6vw,78px); font-weight:400; line-height:1.03; letter-spacing:-.03em; }
.k-hero h1 em, .k-section h2 em, .k-cta h2 em { color:var(--k-bronze); font-style:italic; }
.k-hero p { max-width:620px; margin:0; color:var(--k-muted); font-size:17px; font-weight:300; line-height:1.8; }
.k-hero-compact { min-height:440px; padding-bottom:95px; }
.k-hero-code { color:var(--k-bronze); border-left:1px solid var(--k-bronze); padding-left:18px; font-size:11px; line-height:1.8; letter-spacing:.18em; }
.k-hero-split .k-container { align-items:center; }
.k-hero-image, .k-detail-image { margin:0; position:relative; overflow:hidden; border:1px solid var(--k-line); background:var(--k-panel); }
.k-hero-image { width:45%; aspect-ratio:1.1; }
.k-detail-image { width:48%; aspect-ratio:1.45; }
.k-hero-image::after, .k-detail-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(8,11,15,.65)); pointer-events:none; }
.k-hero-image img, .k-detail-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.08); transition:transform .7s ease; }
.k-hero-image:hover img, .k-detail-image:hover img { transform:scale(1.04); }
.k-eyebrow, .k-label { color:var(--k-bronze); font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.k-eyebrow { display:flex; align-items:center; gap:10px; margin:0; }
.k-eyebrow span { width:5px; height:5px; background:var(--k-bronze); display:inline-block; }
.k-section { padding:115px 0; }
.k-section-surface { background:var(--k-surface); border-top:1px solid var(--k-line); border-bottom:1px solid var(--k-line); }
.k-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:60px; }
.k-section-heading h2, .k-detail-grid h2, .k-cta h2 { margin:15px 0 0; font-family:var(--font-display); font-size:clamp(36px,4.8vw,62px); font-weight:400; line-height:1.07; letter-spacing:-.02em; }
.k-section-heading > p { max-width:470px; margin:0; color:var(--k-muted); font-weight:300; }
.k-story-grid, .k-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.k-story-copy { max-width:570px; color:#c5c6ca; font-size:17px; font-weight:300; }
.k-story-copy p { margin:0 0 24px; }
.k-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.k-stat { min-height:180px; padding:24px; background:rgba(19,25,32,.65); border:1px solid var(--k-line); display:flex; flex-direction:column; justify-content:space-between; }
.k-stat span, .k-stat p { color:var(--k-muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.k-stat strong { color:var(--k-bronze); font-family:var(--font-display); font-size:46px; font-weight:400; line-height:1; }
.k-stat p { margin:0; font-size:12px; letter-spacing:0; text-transform:none; }
.k-editorial-rows { border-top:1px solid var(--k-line); }
.k-editorial-rows article { display:grid; grid-template-columns:80px 1.1fr 1.6fr 100px; gap:28px; align-items:center; padding:28px 0; border-bottom:1px solid var(--k-line); }
.k-row-number { color:var(--k-bronze); font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:12px; letter-spacing:.15em; }
.k-editorial-rows h3 { margin:0; font-family:'Playfair Display', Georgia, serif; font-size:25px; font-weight:400; }
.k-editorial-rows p { margin:0; color:var(--k-muted); font-weight:300; }
.k-row-mark { color:var(--k-bronze); font-size:12px; text-align:right; letter-spacing:.08em; }
.k-cta { padding:110px 0; background:var(--k-panel); border-top:1px solid var(--k-line); }
.k-cta .k-container { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.k-cta h2 { font-size:clamp(40px,5vw,68px); }
.k-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:15px 27px; border:1px solid var(--k-line); font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; transition:.25s ease; }
.k-button span { font-size:18px; font-weight:400; }
.k-button-primary { background:var(--k-bronze); border-color:var(--k-bronze); color:var(--k-bg) !important; }
.k-button-primary:hover { background:var(--k-copper); border-color:var(--k-copper); }
.k-service-list { border-top:1px solid var(--k-line); }
.k-service-row { display:grid; grid-template-columns:70px 1fr 34%; gap:35px; align-items:center; padding:33px 0; border-bottom:1px solid var(--k-line); }
.k-service-row-copy h2 { margin:8px 0 12px; font-family:'Playfair Display', Georgia, serif; font-size:34px; font-weight:400; }
.k-service-row-copy p { max-width:620px; margin:0 0 15px; color:var(--k-muted); font-weight:300; }
.k-service-row figure { margin:0; aspect-ratio:1.7; overflow:hidden; border:1px solid var(--k-line); }
.k-service-row img { width:100%; height:100%; object-fit:cover; filter:saturate(.55); transition:transform .6s ease, filter .6s ease; }
.k-service-row:hover h2, .k-service-row:hover .k-text-link { color:var(--k-bronze); }
.k-service-row:hover img { transform:scale(1.05); filter:saturate(.9); }
.k-text-link { color:var(--k-text); font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.k-text-link b { color:var(--k-bronze); margin-left:8px; font-size:16px; font-weight:400; }
.k-detail-intro { flex:1; }
.k-detail-intro h1 { max-width:720px; }
.k-meta { display:flex; flex-wrap:wrap; gap:18px; color:var(--k-muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.k-meta span { padding-right:18px; border-right:1px solid var(--k-line); }
.k-lead { margin:0; color:#d2d3d6; font-size:19px; font-weight:300; line-height:1.8; }
.k-capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.k-capability-grid article { min-height:190px; padding:25px; border:1px solid var(--k-line); background:rgba(19,25,32,.5); }
.k-capability-grid article > span { color:var(--k-bronze); font-family:ui-monospace, monospace; font-size:12px; }
.k-capability-grid h3 { margin:36px 0 12px; font-family:'Playfair Display', Georgia, serif; font-size:23px; font-weight:400; line-height:1.2; }
.k-capability-grid p { margin:0; color:var(--k-muted); font-size:12px; }
.k-process { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--k-line); }
.k-process > div { min-height:180px; padding:25px; border-right:1px solid var(--k-line); border-bottom:1px solid var(--k-line); }
.k-process > div:last-child { border-right:0; }
.k-process b { color:var(--k-bronze); font-family:ui-monospace, monospace; font-size:12px; }
.k-process h3 { margin:34px 0 7px; font-family:'Playfair Display', Georgia, serif; font-size:28px; font-weight:400; }
.k-process p { margin:0; color:var(--k-muted); font-size:13px; }
.k-industry-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.k-industry-card { display:grid; grid-template-columns:42% 1fr; min-height:260px; background:var(--k-panel); border:1px solid var(--k-line); }
.k-industry-card figure { margin:0; overflow:hidden; }
.k-industry-card img { width:100%; height:100%; object-fit:cover; filter:grayscale(.3) saturate(.55); transition:transform .6s ease; }
.k-industry-card > div { padding:27px; }
.k-industry-card h2 { margin:13px 0 13px; font-family:'Playfair Display', Georgia, serif; font-size:28px; font-weight:400; line-height:1.15; }
.k-industry-card p { margin:0 0 20px; color:var(--k-muted); font-size:13px; }
.k-industry-card:hover img { transform:scale(1.06); }
.k-industry-card:hover h2 { color:var(--k-bronze); }
.k-network { padding:90px 0 120px; background:var(--k-bg); }
.k-network-map { position:relative; height:520px; border:1px solid var(--k-line); overflow:hidden; background:radial-gradient(circle at 52% 44%,rgba(200,157,102,.08),transparent 35%),#0b0f14; }
.k-map-grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(200,157,102,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(200,157,102,.22) 1px,transparent 1px); background-size:80px 80px; }
.k-map-line { position:absolute; height:1px; background:linear-gradient(90deg,transparent,var(--k-bronze),transparent); transform-origin:left; z-index:2; opacity:.75; }
.line-a { width:52%; left:13%; top:58%; transform:rotate(-22deg); }.line-b { width:43%; left:39%; top:50%; transform:rotate(27deg); }.line-c { width:38%; left:22%; top:35%; transform:rotate(17deg); }
.node { position:absolute; z-index:3; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--k-bronze); background:var(--k-bg); color:var(--k-bronze); font:10px ui-monospace,monospace; font-style:normal; }
.n1 { left:23%; top:48%; }.n2 { left:60%; top:55%; }.n3 { left:79%; top:69%; }.n4 { left:18%; top:28%; }.n5 { left:39%; top:24%; }
.k-network-legend { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:16px; }.k-network-legend > div { padding:22px; border:1px solid var(--k-line); background:var(--k-panel); }.k-network-legend strong { display:block; margin:12px 0 3px; color:var(--k-bronze); font:40px 'Playfair Display',serif; }.k-network-legend p { margin:0; color:var(--k-muted); font-size:12px; }
.k-result-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.k-result-grid > div { display:flex; align-items:baseline; justify-content:space-between; padding:24px; border-bottom:1px solid var(--k-line); }.k-result-grid strong { color:var(--k-bronze); font:48px 'Playfair Display',serif; }.k-result-grid span { color:var(--k-muted); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.k-gallery { display:grid; grid-template-columns:1.4fr 1fr; gap:16px; }.k-gallery figure { margin:0; aspect-ratio:1.7; overflow:hidden; border:1px solid var(--k-line); }.k-gallery figure:first-child { aspect-ratio:1.4; }.k-gallery img { width:100%; height:100%; object-fit:cover; filter:saturate(.65); }
.k-insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.k-insight-card { background:var(--k-panel); border:1px solid var(--k-line); }.k-insight-card figure { margin:0; aspect-ratio:1.55; overflow:hidden; }.k-insight-card figure img { width:100%; height:100%; object-fit:cover; filter:saturate(.62); transition:transform .6s ease; }.k-insight-card > div { padding:24px; }.k-insight-card:hover img { transform:scale(1.05); }.k-insight-card:hover h2 { color:var(--k-bronze); }.k-insight-meta { display:flex; justify-content:space-between; gap:10px; color:var(--k-bronze); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.k-insight-meta span:last-child { color:var(--k-muted); }.k-insight-card h2 { margin:19px 0 12px; font:400 28px/1.16 'Playfair Display',serif; }.k-insight-card p { min-height:68px; margin:0 0 20px; color:var(--k-muted); font-size:13px; }
.k-article-header { padding:165px 0 90px; border-bottom:1px solid var(--k-line); }.k-article-header .k-container { display:grid; grid-template-columns:1fr 42%; gap:70px; align-items:end; }.k-article-header h1 { max-width:760px; }.k-article-header p { max-width:650px; color:var(--k-muted); font-size:18px; font-weight:300; }.k-article-header figure { margin:0; aspect-ratio:1.2; overflow:hidden; border:1px solid var(--k-line); }.k-article-header img { width:100%; height:100%; object-fit:cover; filter:saturate(.65); }.k-article-body { max-width:800px; padding-top:88px; padding-bottom:110px; }.k-article-body p { margin:0 0 28px; color:#d5d6d8; font:300 19px/1.9 Inter,sans-serif; }
.site-footer { background:var(--k-bg); border-top:1px solid var(--k-line); }.site-footer-grid { max-width:1440px; margin:auto; padding:72px 48px 58px; display:grid; grid-template-columns:2fr repeat(4,1fr); gap:45px; }.site-footer-intro p { max-width:370px; color:var(--k-muted); font-size:13px; }.site-newsletter > span, .site-footer-col h3 { color:var(--k-bronze); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }.site-newsletter div { display:flex; max-width:370px; margin-top:12px; }.site-newsletter input { flex:1; min-width:0; border:1px solid var(--k-line); background:var(--k-surface); color:var(--k-text); padding:11px 13px; outline:0; }.site-newsletter button { border:0; background:var(--k-bronze); color:var(--k-bg); padding:0 17px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.site-footer-col ul { list-style:none; margin:14px 0 0; padding:0; }.site-footer-col li { margin:7px 0; }.site-footer-col a { color:var(--k-muted); font-size:12px; }.site-footer-col a:hover { color:var(--k-bronze); }.site-footer-bottom { max-width:1440px; margin:auto; padding:22px 48px 28px; border-top:1px solid var(--k-line); display:flex; flex-wrap:wrap; gap:25px; color:var(--k-muted); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }.site-footer-bottom small { margin-left:auto; letter-spacing:0; text-transform:none; }
@media (max-width:1100px) { .site-header-inner { padding:0 24px; }.site-desktop-nav { gap:10px; }.site-nav-link { font-size:9px; }.k-container { width:min(calc(100% - 64px), var(--k-max)); }.site-footer-grid { padding-left:32px; padding-right:32px; grid-template-columns:1.6fr repeat(2,1fr); }.site-footer-intro { grid-column:1/-1; }.k-service-row { grid-template-columns:55px 1fr 30%; }.k-hero-image { width:42%; } }
@media (max-width:900px) { .site-desktop-nav { display:none; }.site-mobile-toggle { display:inline-flex; margin-left:auto; background:transparent; color:var(--k-bronze); border:1px solid #665842; cursor:pointer; }.site-header-cta { order:3; }.site-mobile-menu { display:none; position:absolute; top:72px; left:0; right:0; padding:8px 24px 18px; background:var(--k-surface); border-bottom:1px solid var(--k-line); }.site-mobile-menu.is-open { display:grid; }.site-mobile-menu a { padding:14px 0; border-bottom:1px solid var(--k-line); color:var(--k-muted); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }.k-hero .k-container, .k-cta .k-container, .k-story-grid, .k-detail-grid, .k-article-header .k-container { grid-template-columns:1fr; display:grid; gap:45px; }.k-hero { padding-top:135px; }.k-hero-image, .k-detail-image { width:100%; max-width:700px; }.k-section-heading { display:block; }.k-section-heading > p { margin-top:20px; }.k-stat-grid, .k-network-legend { grid-template-columns:repeat(2,1fr); }.k-capability-grid { grid-template-columns:repeat(2,1fr); }.k-insight-grid { grid-template-columns:1fr 1fr; }.k-article-header figure { max-width:700px; }.k-cta .k-button { justify-self:start; }.k-service-row { grid-template-columns:45px 1fr; }.k-service-row figure { grid-column:2; width:100%; max-width:520px; }.k-editorial-rows article { grid-template-columns:60px 1fr; }.k-editorial-rows p { grid-column:2; }.k-row-mark { grid-column:2; text-align:left; }.k-industry-grid { grid-template-columns:1fr; } }
@media (max-width:640px) { .site-header-inner { height:64px; padding:0 18px; gap:10px; }.site-brand { min-width:0; }.site-brand strong { font-size:11px; }.site-brand small { font-size:7px; }.site-header-cta { display:none; }.site-mobile-menu { top:64px; padding-left:18px; padding-right:18px; }.k-container { width:calc(100% - 36px); }.k-hero { padding:120px 0 72px; }.k-hero h1, .k-article h1 { font-size:43px; }.k-hero p { font-size:15px; }.k-section { padding:78px 0; }.k-section-heading h2, .k-detail-grid h2, .k-cta h2 { font-size:40px; }.k-stat-grid, .k-capability-grid, .k-process, .k-insight-grid { grid-template-columns:1fr; }.k-editorial-rows article { padding:22px 0; }.k-service-row-copy h2 { font-size:28px; }.k-industry-card { grid-template-columns:1fr; }.k-industry-card figure { aspect-ratio:1.8; }.k-network-map { height:360px; }.k-network-legend { grid-template-columns:1fr 1fr; }.k-result-grid { grid-template-columns:1fr; }.k-gallery { grid-template-columns:1fr; }.k-article-header { padding:120px 0 70px; }.k-article-body { padding-top:58px; }.k-article-body p { font-size:17px; }.site-footer-grid { padding:52px 18px 40px; grid-template-columns:1fr 1fr; gap:30px 20px; }.site-footer-intro { grid-column:1/-1; }.site-footer-bottom { padding:20px 18px 25px; gap:12px; }.site-footer-bottom small { width:100%; margin-left:0; } }

/* The shared header switches before navigation can collide with the brand or CTA. */
@media (max-width:1279px) and (min-width:901px) {
  .site-desktop-nav { display:none !important; }
  .site-mobile-toggle { display:inline-flex !important; margin-left:auto; background:transparent; color:var(--k-bronze); border:1px solid #665842; cursor:pointer; }
  .site-header-cta { order:3; }
}
