:root {
  --clarity-blue: #15577f;
  --clarity-blue-deep: #0d4569;
  --clarity-teal: #2f9d83;
  --clarity-ink: #1f2d36;
  --clarity-muted: #52616b;
  --clarity-line: #dfe6e9;
  --clarity-soft: #f5f8f9;
  --clarity-white: #ffffff;
  --clarity-shell: 1240px;
  --clarity-radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.clarity-site { margin:0; color:var(--clarity-ink); background:var(--clarity-white); font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
body.clarity-site.admin-bar .clarity-header { top:32px; }
img { max-width:100%; height:auto; }
a { color:inherit; }
.clarity-skip { position:absolute; left:-9999px; top:auto; }
.clarity-skip:focus { left:16px; top:16px; background:#fff; padding:10px 14px; z-index:99999; }
.clarity-shell { width:min(calc(100% - 40px), var(--clarity-shell)); margin-inline:auto; }

.clarity-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.96); border-bottom:1px solid var(--clarity-line); backdrop-filter:blur(10px); }
.clarity-header-inner { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.clarity-brand { display:flex; align-items:center; text-decoration:none; }
.clarity-brand img { width:148px; max-height:70px; object-fit:contain; object-position:left center; }
.clarity-brand-text { font-size:24px; font-weight:800; color:var(--clarity-blue); }
.clarity-nav { display:flex; align-items:center; gap:28px; }
.clarity-nav a { text-decoration:none; font-weight:600; color:#26343d; }
.clarity-nav a:hover, .clarity-nav a[aria-current="page"] { color:var(--clarity-blue); }
.clarity-menu-toggle { display:none; border:1px solid var(--clarity-line); border-radius:10px; background:#fff; padding:10px 14px; font:inherit; font-weight:700; }

.clarity-main h1,.clarity-main h2,.clarity-main h3 { color:var(--clarity-blue); line-height:1.13; margin-top:0; letter-spacing:-.025em; }
.clarity-main h1 { font-size:clamp(2.35rem,4.15vw,3.9rem); max-width:820px; margin-bottom:22px; }
.clarity-main h2 { font-size:clamp(1.9rem,2.8vw,2.9rem); margin-bottom:20px; }
.clarity-main h3 { font-size:1.28rem; margin-bottom:10px; }
.clarity-main p { font-size:1.05rem; color:var(--clarity-muted); margin:0 0 17px; }
.clarity-eyebrow { color:var(--clarity-teal)!important; text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.78rem!important; margin-bottom:14px!important; }
.clarity-lead { font-size:clamp(1.08rem,1.45vw,1.22rem)!important; max-width:760px; }
.clarity-section { padding:78px 0; }
.clarity-soft { background:var(--clarity-soft); }
.clarity-grid { display:grid; gap:48px; }
.clarity-grid-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; }
.clarity-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.clarity-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.clarity-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:26px; }
.clarity-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 25px; border-radius:999px; background:var(--clarity-blue); color:#fff!important; font-weight:800; text-decoration:none; box-shadow:none; }
.clarity-btn:hover { background:var(--clarity-blue-deep); }
.clarity-link,.clarity-text-link { color:var(--clarity-blue); font-weight:800; text-decoration:none; }
.clarity-link:hover,.clarity-text-link:hover { text-decoration:underline; }
.clarity-hero { padding-top:58px; padding-bottom:76px; }
.clarity-hero-copy h1 { max-width:760px; }
.clarity-hero-media { border-radius:var(--clarity-radius); overflow:hidden; min-height:400px; background:#eaf0f2; }
.clarity-hero-image { width:100%; height:100%; min-height:400px; object-fit:cover; display:block; }
.clarity-media-fallback { display:grid; place-items:center; color:var(--clarity-blue); text-align:center; }
.clarity-media-fallback div { display:grid; gap:6px; }
.clarity-card { border:1px solid var(--clarity-line); border-radius:var(--clarity-radius); padding:27px; background:#fff; min-height:200px; }
.clarity-soft .clarity-card { background:#fff; }
.clarity-page-intro { padding-bottom:48px; }
.clarity-page-intro .clarity-shell { border-bottom:1px solid var(--clarity-line); padding-bottom:46px; }
.clarity-cta { background:var(--clarity-blue); color:#fff; padding:56px 0; }
.clarity-cta h2,.clarity-cta .clarity-eyebrow { color:#fff!important; margin-bottom:0; }
.clarity-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:44px; }
.clarity-btn-light { background:#fff; color:var(--clarity-blue)!important; white-space:nowrap; }
.clarity-contact-card { border:1px solid var(--clarity-line); border-radius:var(--clarity-radius); padding:34px; }
.clarity-small,.clarity-note { font-size:.92rem!important; }
.clarity-note { margin-top:30px!important; }

.clarity-footer { background:#132a38; color:#dbe7ec; padding:48px 0 24px; }
.clarity-footer-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:start; }
.clarity-footer-logo { width:142px; filter:brightness(0) invert(1); opacity:.96; margin-bottom:14px; }
.clarity-footer p { max-width:520px; color:#dbe7ec; }
.clarity-footer nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; justify-items:start; }
.clarity-footer nav a { color:#fff; text-decoration:none; }
.clarity-footer-bottom { border-top:1px solid rgba(255,255,255,.14); margin-top:30px; padding-top:18px; font-size:.9rem; }

/* v1.1 refinement */
.clarity-soft .clarity-shell > h2 { max-width: 1120px; }
@media (min-width: 1200px) {
  .clarity-grid-hero { column-gap:64px; }
}

@media (max-width: 900px) {
  body.clarity-site.admin-bar .clarity-header { top:46px; }
  .clarity-header-inner { min-height:88px; }
  .clarity-brand img { width:132px; max-height:64px; }
  .clarity-menu-toggle { display:inline-flex; }
  .clarity-nav { position:absolute; left:20px; right:20px; top:calc(100% + 8px); display:none; flex-direction:column; align-items:stretch; gap:0; background:#fff; border:1px solid var(--clarity-line); border-radius:14px; padding:10px; box-shadow:0 18px 45px rgba(22,53,70,.14); }
  .clarity-nav.is-open { display:flex; }
  .clarity-nav a { padding:12px 14px; border-radius:9px; }
  .clarity-nav a:hover { background:var(--clarity-soft); }
  .clarity-grid-hero,.clarity-grid-2,.clarity-grid-3 { grid-template-columns:1fr; }
  .clarity-grid { gap:34px; }
  .clarity-section { padding:64px 0; }
  .clarity-hero { padding-top:46px; padding-bottom:62px; }
  .clarity-hero-media { min-height:300px; }
  .clarity-hero-image { min-height:300px; }
  .clarity-cta-inner { align-items:flex-start; flex-direction:column; }
  .clarity-footer-grid { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .clarity-shell { width:min(calc(100% - 28px), var(--clarity-shell)); }
  .clarity-section { padding:52px 0; }
  .clarity-hero { padding-top:36px; padding-bottom:54px; }
  .clarity-main h1 { font-size:2.25rem; }
  .clarity-main h2 { font-size:1.9rem; }
  .clarity-main p { font-size:1rem; }
  .clarity-actions { align-items:stretch; flex-direction:column; }
  .clarity-btn { width:100%; }
  .clarity-hero-media,.clarity-hero-image { min-height:260px; }
  .clarity-card { min-height:0; }
  .clarity-footer nav { grid-template-columns:1fr; }
}

/* v1.3 contact form */
.clarity-contact-form { display:grid; gap:10px; margin-top:24px; }
.clarity-contact-form label { font-weight:700; color:var(--clarity-blue); margin-top:5px; }
.clarity-contact-form input,.clarity-contact-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--clarity-line); border-radius:10px; padding:13px 14px; font:inherit; color:var(--clarity-ink); background:#fff; }
.clarity-contact-form textarea { resize:vertical; min-height:150px; }
.clarity-contact-form input:focus,.clarity-contact-form textarea:focus { outline:2px solid currentColor; outline-offset:2px; }
.clarity-contact-form .clarity-btn { border:0; cursor:pointer; justify-self:start; margin-top:10px; }
.clarity-form-notice { margin:18px 0 4px; padding:13px 15px; border:1px solid var(--clarity-line); border-radius:10px; }
.clarity-form-success { font-weight:700; }
.clarity-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
