:root{
  --bg:#ffffff;
  --ink:#0b0f19;

  /* Darker muted for better contrast */
  --muted:#3f4a5c;

  --line:#e5e7eb;

  /* Bold brand palette (blue/red pulled to feel more “flagship”) */
  --brand:#0b4f82;
  --brand2:#d51f2a;

  --card:#f8fafc;
  --focus:#1d4ed8;

  --shadow: 0 10px 30px rgba(2,8,23,.10);
  --radius: 18px;

  /* watermark fixed offset is computed in JS */
  --wm-top: 0px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.55;
  color:var(--ink);
  background:var(--bg);
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1120px; margin:0 auto; padding:0 20px}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:20px; top:20px; width:auto; height:auto;
  padding:10px 14px; background:#fff; border:2px solid var(--focus);
  border-radius:10px; z-index:9999
}

header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0; gap:14px;
}
.brand{
  display:flex; align-items:center; gap:12px;
  min-width: 220px;
}
.brand img{
  width:78px; height:78px; object-fit:contain;
  filter: drop-shadow(0 6px 14px rgba(2,8,23,.12));
}
.brand .title{font-weight:900; letter-spacing:.2px}
.brand .subtitle{font-size:.92rem; color:var(--muted)}

nav ul{display:flex; gap:10px; margin:0; padding:0; list-style:none; flex-wrap:wrap; justify-content:flex-end}
nav a{font-weight:800; color:var(--ink); padding:8px 10px; border-radius:10px}
nav a:hover{background:rgba(2,6,23,.04); text-decoration:none}
nav a[aria-current="page"]{background:rgba(11,79,130,.10)}
.nav-cta{display:flex; align-items:center; gap:10px}

.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border:1px solid var(--line);
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
  background:#fff;
  cursor:pointer;
}
.button.primary{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}
.button.primary:hover{filter:brightness(0.95); text-decoration:none}
.button:hover{text-decoration:none; border-color:#cbd5e1}

/* HERO: bold brand gradient overlay + premium watermark */
.hero{
  position:relative;
  overflow:hidden;
  padding:56px 0 26px;

  /* base atmosphere */
  background:
    radial-gradient(900px 420px at 20% 10%, rgba(11,79,130,.22), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(213,31,42,.20), transparent 55%);
}

/* subtle blue-to-red overlay to echo logo */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(115deg, rgba(11,79,130,.28), rgba(213,31,42,.20));
  mix-blend-mode: multiply;
  pointer-events:none;
  z-index:0;
}

/* watermark container */
.hero-watermark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  z-index:0;
}
.hero-watermark img{
  width:100%;
  max-width:980px;
  opacity:0.18; /* more visible */
  filter: saturate(1.18) contrast(1.08);
}

/* Premium effect: fixed while hero is in view */
.wm-active .hero-watermark{
  position:fixed;
  left:0; right:0;
  top: var(--wm-top);
  height: calc(100vh - var(--wm-top));
}
.wm-active .hero-watermark img{
  max-width:1050px;
  opacity:0.19;
}

/* Ensure hero content above overlay/watermark */
.hero .container{
  position:relative;
  z-index:1;
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:26px;
  align-items:center;
}

.badge{
  display:inline-flex; gap:8px; align-items:center;
  font-weight:900; color:var(--brand);
  background:rgba(11,79,130,.10);
  border:1px solid rgba(11,79,130,.18);
  padding:8px 12px; border-radius:999px;
}
h1{font-size: clamp(2.0rem, 3.2vw, 3.1rem); line-height:1.1; margin:12px 0 10px}
.lead{font-size:1.1rem; color:var(--muted); margin:0 0 18px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-card{padding:18px}
.kpis{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px}
.kpi{padding:12px; background:#fff; border:1px solid var(--line); border-radius:14px}
.kpi .num{font-weight:950; font-size:1.05rem}
.kpi .lbl{color:var(--muted); font-weight:750; font-size:.95rem}

.photo{
  width:100%; height:240px; border-radius:16px;
  border:1px solid var(--line);
  object-fit:cover;
  background:#eef2f7;
}

section{padding:46px 0}
.section-title{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
h2{font-size:1.85rem; margin:0}
.p{color:var(--muted); margin:8px 0 0}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:18px}

.feature{padding:18px}
.feature h3{margin:0 0 6px; font-size:1.15rem}
.feature p{margin:0; color:var(--muted)}
.list{margin:10px 0 0; padding-left:18px; color:var(--muted)}

.quote{padding:18px; display:grid; gap:10px}
.quote blockquote{margin:0; color:var(--ink); font-weight:850}
.quote .by{color:var(--muted); font-weight:750}

.notice{
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(11,79,130,.22);
  background:rgba(11,79,130,.08);
  color:var(--ink);
}

.footer{padding:30px 0; border-top:1px solid var(--line); background:#fff}
.footer-grid{display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap:16px}
.small{font-size:.95rem; color:var(--muted)}
.tag{
  display:inline-flex; padding:6px 10px; border-radius:999px;
  border:1px solid var(--line); background:#fff; color:var(--muted);
  font-weight:750; margin:4px 6px 0 0;
}

.form{padding:18px}
label{display:block; font-weight:900; margin:10px 0 6px}
input, textarea{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  font:inherit;
}
textarea{min-height:140px; resize:vertical}
input:focus, textarea:focus, a:focus, button:focus{
  outline: 3px solid rgba(29,78,216,.40);
  outline-offset: 2px;
}
hr{border:none; border-top:1px solid var(--line); margin:18px 0}

/* Responsive: keep everything readable and prevent watermark “jump” on mobile */
@media (max-width: 880px){
  .hero-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  nav ul{gap:8px}
  .brand{min-width:auto}
  .brand img{width:70px; height:70px}
  .hero-watermark img{max-width:620px; opacity:0.14}
  .wm-active .hero-watermark{position:absolute; top:0; height:auto}
  .hero::before{background: linear-gradient(115deg, rgba(11,79,130,.12), rgba(213,31,42,.10))}
}
@media (max-width: 520px){
  .nav-cta{display:none}
}

/* BOLDER BRAND ACCENTS (AA-minded) */

/* Secondary buttons: red-accent hover/focus */
.button:not(.primary):hover{
  border-color: rgba(213,31,42,.65);
  box-shadow: 0 10px 26px rgba(213,31,42,.10);
}
.button:not(.primary):focus{
  outline-color: rgba(213,31,42,.45);
}

/* Primary button: keep AA contrast (white text), add subtle red glow on hover/focus */
.button.primary:hover{
  background: linear-gradient(115deg, var(--brand), rgba(213,31,42,.90));
  border-color: rgba(213,31,42,.55);
  box-shadow: 0 14px 34px rgba(213,31,42,.14);
}
.button.primary:focus{
  outline: 3px solid rgba(213,31,42,.40);
  outline-offset: 2px;
}

/* Links: add red underline accent on hover (non-color cue) */
a:hover{
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Section headers: red accent rule for stronger hierarchy */
h2{
  position: relative;
  padding-left: 14px;
}
h2::before{
  content:"";
  position:absolute;
  left:0;
  top: 0.15em;
  width:6px;
  height: 0.95em;
  border-radius:999px;
  background: var(--brand2);
}

/* Badge: deepen border/background slightly for bolder look */
.badge{
  background: rgba(11,79,130,.14);
  border-color: rgba(11,79,130,.26);
}
