:root{--navy:#061c49;--blue:#0b3f9f;--teal:#00bfa6;--teal2:#149d98;--ink:#0c1528;--text:#253149;--muted:#65738a;--bg:#f6f8fc;--surface:#fff;--soft:#edf6ff;--border:#dce6f3;--shadow:0 24px 70px rgba(6,28,73,.14);--radius:24px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;background:var(--bg);color:var(--text)}a{color:var(--blue)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid rgba(0,191,166,.35);outline-offset:4px}.container{width:min(100% - 32px,var(--max));margin:auto}.narrow{max-width:850px}.skip-link{position:absolute;left:16px;top:-80px;z-index:99;background:var(--navy);color:#fff;padding:12px 16px;border-radius:12px}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{display:block;width:250px;max-width:48vw}.nav-links{display:flex;gap:8px;align-items:center}.nav-links a{text-decoration:none;color:var(--muted);font-weight:800;padding:10px 13px;border-radius:999px}.nav-links a:hover{background:var(--soft);color:var(--blue)}.nav-cta{background:linear-gradient(135deg,var(--blue),var(--teal))!important;color:#fff!important}.menu-button{display:none;border:1px solid var(--border);border-radius:14px;background:#fff;padding:10px 12px;font-size:1.2rem}.section{padding:92px 0}.hero{padding:115px 0 100px;background:radial-gradient(circle at 80% 12%,rgba(0,191,166,.24),transparent 32%),radial-gradient(circle at 5% 85%,rgba(11,63,159,.15),transparent 30%),linear-gradient(180deg,#fff,#f6f8fc)}.hero-grid,.intro-grid,.contact-grid,.footer-grid{display:grid;align-items:center;gap:54px}.hero-grid{grid-template-columns:1.05fr .95fr}.hero h1{font-size:clamp(2.5rem,6vw,5.6rem);line-height:.94;letter-spacing:-.065em;color:var(--navy);margin:12px 0 24px}.hero-text,.lead{font-size:clamp(1.08rem,2vw,1.25rem);color:var(--muted)}.eyebrow{color:var(--teal2);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.78rem;margin:0}.hero-actions,.trust-row,.admin-actions,.status-tabs{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.trust-row{list-style:none;padding:0}.trust-row li{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-weight:800;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border-radius:999px;text-decoration:none;border:1px solid transparent;font-weight:900;cursor:pointer}.primary{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;box-shadow:0 14px 30px rgba(11,63,159,.22)}.secondary{background:#fff;color:var(--blue);border-color:var(--border)}.danger{background:#b42318;color:#fff}.full{width:100%}.hero-brand-card{background:#fff;border:1px solid var(--border);border-radius:36px;box-shadow:var(--shadow);padding:38px;text-align:center}.hero-brand-card img{width:82%;max-width:430px}.hero-brand-card p{color:var(--muted);font-weight:750}.intro,.reviews{background:#fff}.intro-grid{grid-template-columns:.85fr 1.15fr}h1,h2,h3{color:var(--ink);line-height:1.1}.intro h2,.section-heading h2,.contact h2,.legal h1{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em;margin:10px 0 14px}.section-heading{max-width:780px;margin-bottom:38px}.section-heading p,.card p,.project-card p,.review-placeholder p,.timeline p,.legal p,.legal li{color:var(--muted)}.cards,.project-grid,.review-grid{display:grid;gap:22px}.cards.three,.review-grid{grid-template-columns:repeat(3,1fr)}.card,.project-card,.review-card,.review-placeholder,.review-panel,.contact-card,.contact-form,.admin-item,.notice{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 38px rgba(6,28,73,.06)}.card{padding:28px}.icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:var(--soft);font-size:1.4rem}.work,.process{background:linear-gradient(180deg,#f6f8fc,#edf6ff)}.project-grid{grid-template-columns:1fr 1fr}.project-card{min-height:360px;padding:34px;display:flex;align-items:end;color:#fff;overflow:hidden;position:relative}.project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,28,73,.12),rgba(6,28,73,.88));z-index:0}.project-card>div{position:relative;z-index:1}.project-card h3{color:#fff;font-size:1.7rem}.project-card p{color:rgba(255,255,255,.86)}.project-type{color:#94fff4!important;font-weight:900}.visual-one{background:linear-gradient(135deg,var(--blue),var(--teal))}.visual-two{background:linear-gradient(135deg,var(--navy),var(--blue))}.review-card,.review-placeholder,.review-panel{padding:26px}.stars{color:#f5b942;font-weight:900}.review-card blockquote{margin:0}.review-card footer{margin-top:16px;color:var(--muted);font-weight:800}.review-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;margin-top:28px;background:linear-gradient(135deg,#fff,#edf6ff)}.timeline{list-style:none;padding:0;margin:0;display:grid;gap:16px}.timeline li{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px}.timeline span{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:950}.contact{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}.contact h2,.contact .eyebrow{color:#fff}.contact p{color:rgba(255,255,255,.78)}.contact-grid{grid-template-columns:.9fr 1.1fr}.contact-card,.contact-form{padding:clamp(22px,4vw,34px)}.contact-card p{color:var(--muted)}.form-row{display:grid;gap:8px;margin-bottom:16px}label{font-weight:850;color:var(--ink)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 14px;font:inherit;color:var(--text);background:#fff}.check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;margin:18px 0;color:var(--ink);font-weight:650}.check input{width:20px;height:20px;margin-top:4px}.honeypot{position:absolute!important;left:-10000px!important}.char-count{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}.notice{padding:16px 18px;margin:16px 0}.success{background:#ecfdf3;color:#087443}.error{background:#fff1f0;color:#b42318}.legal table{width:100%;border-collapse:collapse}.status-tabs a{text-decoration:none;background:#fff;border:1px solid var(--border);padding:10px 14px;border-radius:999px;font-weight:850}.admin-list{display:grid;gap:18px;margin-top:24px}.admin-item{padding:24px}.admin-action-form{display:flex;gap:10px;flex-wrap:wrap}.footer{background:#050f26;color:rgba(255,255,255,.76);padding:34px 0}.footer-grid{grid-template-columns:1fr auto}.footer-logo{width:260px;filter:invert(1);opacity:.9;background:transparent}.footer a{color:rgba(255,255,255,.82);text-decoration:none;margin-left:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:960px){.menu-button{display:inline-flex}.nav{position:relative}.nav-links{position:absolute;inset:76px 0 auto 0;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.hero-grid,.intro-grid,.contact-grid,.footer-grid,.project-grid,.review-panel{grid-template-columns:1fr}.cards.three,.review-grid{grid-template-columns:1fr}.brand img{width:220px}}@media(max-width:560px){.section{padding:68px 0}.hero{padding-top:80px}.timeline li{grid-template-columns:1fr}.footer a{display:inline-block;margin:8px 16px 0 0}.brand img{width:185px}}

/* Live legal pages */
.legal h2{margin-top:34px}.legal table{width:100%;border-collapse:collapse;margin:18px 0 24px;background:#fff}.legal caption{text-align:left;font-weight:900;margin-bottom:10px;color:var(--ink)}.legal th,.legal td{border:1px solid var(--border);padding:12px 14px;text-align:left;vertical-align:top}.legal th{background:var(--soft);color:var(--ink)}.legal code{background:var(--soft);padding:2px 6px;border-radius:8px;color:var(--blue)}


/* SEO landing pages and internal linking */
.text-link{display:inline-block;margin-top:14px;color:var(--blue);font-weight:900;text-decoration:none}.text-link:hover{text-decoration:underline}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.page-hero{background:radial-gradient(circle at 80% 10%,rgba(0,191,166,.18),transparent 30%),linear-gradient(180deg,#fff,#f6f8fc)}.page-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);letter-spacing:-.055em;margin:12px 0 18px;color:var(--navy)}.breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:20px;color:var(--muted);font-weight:800}.breadcrumb a{text-decoration:none}.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.content-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 38px rgba(6,28,73,.06);padding:clamp(24px,4vw,36px)}.accent-card{background:linear-gradient(135deg,#fff,#edf6ff)}.seo-list{padding-left:22px;margin:0}.seo-list li{margin:10px 0;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 24px;padding:0}.tag-list li{background:var(--soft);border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:var(--blue);font-weight:850}.contact-lite{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center}.contact-lite h2{color:#fff;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em}.contact-lite p{color:rgba(255,255,255,.78);font-size:1.1rem}.seo-section{background:#fff}@media(max-width:960px){.content-grid{grid-template-columns:1fr}.button-row{flex-direction:column}.button-row .button{width:100%}}

/* Logo aspect-ratio fix: keep brand images contained so header/footer do not grow or stretch. */
.site-header .nav {
  min-height: 74px;
}

.site-header .brand {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.site-header .brand img {
  display: block;
  height: 54px;
  width: auto;
  max-width: min(260px, 48vw);
  object-fit: contain;
}

.footer {
  padding: 24px 0;
}

.footer-logo {
  display: block;
  height: 42px;
  width: auto;
  max-width: min(260px, 70vw);
  object-fit: contain;
  margin-bottom: 10px;
}

@media (max-width: 560px) {
  .site-header .nav {
    min-height: 68px;
  }

  .site-header .brand img {
    height: 46px;
    max-width: 190px;
  }

  .footer {
    padding: 26px 0;
  }

  .footer-logo {
    height: 36px;
    max-width: 220px;
  }
}
