
/* ===== Style Tokens ===== */
:root{
  --color-bg:#FFFFFF;
  --color-surface:#F8FAFC;
  --color-text:#0F172A; /* slate-900 */
  --color-muted:#475569; /* slate-600 */
  --color-accent:#0E7C86; /* teal */
  --color-border:#E2E8F0;
  --focus:#0EA5B6;
  --radius:10px;
  --shadow:0 8px 24px rgba(2,6,23,0.07);
  --container:1200px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --fs-xs: clamp(12px, 0.78vw, 13px);
  --fs-sm: clamp(14px, 0.9vw, 15px);
  --fs-md: clamp(16px, 1.1vw, 18px);
  --fs-lg: clamp(20px, 1.6vw, 24px);
  --fs-xl: clamp(28px, 2.6vw, 36px);
  --fs-xxl: clamp(36px, 4.2vw, 52px);
}
*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.55;
}
a{color:var(--color-accent); text-decoration-thickness: 1px;}
a:focus, button:focus, input:focus, select:focus, textarea:focus{
  outline:3px solid var(--focus);
  outline-offset:2px;
}
.container{max-width:var(--container); margin:0 auto; padding:0 var(--space-6);}
.grid{display:grid; gap:var(--space-6)}
/* Header */
.skip-link{position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden;}
.skip-link:focus{left: var(--space-6); top: var(--space-6); width:auto; height:auto; background:#fff; padding:var(--space-3) var(--space-4); border-radius:6px; box-shadow:var(--shadow)}
header.site-header{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid var(--color-border);
  transition: all .25s ease;
}
header.site-header.shrink{ box-shadow:0 2px 12px rgba(15,23,42,0.06);}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:36px; width:auto;}
.brand .wordmark{font-weight:700; letter-spacing:0.5px; font-size:18px}
.nav{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.nav a{color:var(--color-text); text-decoration:none; font-size:var(--fs-sm)}
.nav a:hover{text-decoration:underline}
.cta{background:var(--color-accent); color:#fff; border:none; padding:10px 16px; border-radius:8px; font-weight:600; cursor:pointer;}
.cta:hover{filter:brightness(0.95)}
.cta:disabled{opacity:0.6; cursor:not-allowed;}
/* Hero */
.hero{background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); position:relative;}
.hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:140px;
  background-image:url('../assets/motif.svg'); opacity:0.25; mask-image: linear-gradient(#000, rgba(0,0,0,0));
}
.hero-inner{display:grid; grid-template-columns: 1.3fr 1fr; gap:var(--space-7); padding: var(--space-8) 0 var(--space-9); align-items:center;}
.hero h1{font-size:var(--fs-xxl); margin:0 0 var(--space-4); line-height:1.1;}
.hero p.sub{font-size:var(--fs-lg); color:var(--color-muted); margin:0 0 var(--space-6);}
.hero .trust{font-size:var(--fs-sm); color:var(--color-muted)}
.actions{display:flex; gap:12px; flex-wrap:wrap}
.btn-secondary{background:#fff; border:1px solid var(--color-border); color:var(--color-text)}
.media-box{background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:var(--space-5); box-shadow:var(--shadow)}
.media-box p{margin:0; color:var(--color-muted); font-size:var(--fs-sm)}
/* Router */
.intent{background:#fff; border-top:1px solid var(--color-border);}
.intent .cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--space-5); padding: var(--space-7) 0;}
.intent .card{border:1px solid var(--color-border); border-radius:var(--radius); padding:var(--space-5); background:var(--color-surface)}
.intent .card h3{margin-top:0; font-size:var(--fs-lg)}
.intent .card button{margin-top:12px}
/* Sections */
.section{padding: var(--space-8) 0;}
.section h2{font-size:var(--fs-xl); margin:0 0 var(--space-5)}
.lead{font-size:var(--fs-md); color:var(--color-muted)}
.cards-2{display:grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap:var(--space-6)}
.card{
  background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:var(--space-5); box-shadow:var(--shadow);
}
.card h3{margin-top:0; font-size:var(--fs-lg)}
.kicker{font-size:var(--fs-xs); letter-spacing:0.08em; text-transform:uppercase; color:var(--color-muted);}
.metric{font-feature-settings:"tnum"; font-variant-numeric: tabular-nums; background:#ECFEFF; border:1px solid #A5F3FC; display:inline-block; padding:4px 8px; border-radius:999px; font-size:var(--fs-sm)}
ul.clean{margin:0; padding-left:18px}
/* Case tiles */
.cases{display:grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap:var(--space-6)}
.case{background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:var(--space-5);}
.case .meta{font-size:var(--fs-xs); color:var(--color-muted); margin-bottom:8px}
/* Governance */
.governance .facts{display:grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap:var(--space-5)}
.facts .fact{padding:var(--space-4); border:1px dashed var(--color-border); border-radius:8px; background: #fff;}
.notice{background:#FFF7ED; border:1px solid #FED7AA; padding:var(--space-4); border-radius:8px; font-size:var(--fs-sm)}
/* Careers */
.careers .cta-row{display:flex; gap:12px; flex-wrap:wrap}
/* Contact */
.contact .grid{grid-template-columns: 1.1fr 1fr;}
form label{display:block; font-weight:600; margin-bottom:6px}
.input{margin-bottom:14px}
input[type="text"], input[type="email"], input[type="tel"], select, textarea{
  width:100%; padding:12px 12px; border:1px solid var(--color-border); border-radius:8px; font-size:var(--fs-md); background:#fff;
}
textarea{min-height:120px; resize:vertical}
.inline{display:flex; align-items:center; gap:10px}
.error{color:#B91C1C; font-size:var(--fs-sm); display:none}
.success{color:#065F46; font-weight:600; display:none; margin-top:10px}
.map{border:0; border-radius:8px; width:100%; height:240px}
/* Footer */
footer{background:#0F172A; color:#fff; padding: var(--space-7) 0}
footer a{color:#A5F3FC}
.footer-grid{display:grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap:var(--space-6)}
.small{font-size:var(--fs-sm); color:#CBD5E1}
.legal{font-size:var(--fs-xs); color:#94A3B8}
/* Utilities */
.center{display:flex; align-items:center; justify-content:center}
hr{border:none; border-top:1px solid var(--color-border); margin: var(--space-7) 0}
/* Responsive hero */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
}
