/* ===== Theme ===== */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:#e5e7eb;
  --accent:#0a66c2;
  --accent-weak:#e6f1fb;

  --radius:14px;
  --container:min(1120px, 92vw);
  --shadow:0 8px 24px rgba(2,6,23,.06);
  --measure:68ch;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:var(--container);margin-inline:auto}
.narrow{max-width:var(--measure)}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;background:#fff;border:2px solid var(--accent);padding:.5rem 1rem;border-radius:8px;z-index:1000}


section[id]{scroll-margin-top:80px}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700}
.brand--small .brand-mark{width:22px;height:22px}
.brand-mark{width:28px;height:28px;border-radius:8px;object-fit:contain;display:inline-block}
.brand-name{letter-spacing:.2px}
.main-nav ul{display:flex;gap:22px;list-style:none;padding:0;margin:0}
.main-nav a{color:var(--muted);font-weight:600}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--text)}
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.5rem .75rem;font-weight:600}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:600;cursor:pointer}
.button--primary{background:var(--accent);color:#fff;border-color:transparent}
.button--primary:hover{filter:brightness(1.06)}

/* Hero */
.hero{padding:clamp(48px,7vw,96px) 0;border-bottom:1px solid var(--line)}
.hero--sub{border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
.hero-copy h1{font-size:clamp(32px,5vw,52px);line-height:1.08;letter-spacing:-.3px;margin:12px 0;text-wrap:balance}
.lead{color:var(--muted);font-size:18px;max-width:62ch}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-note{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);color:var(--muted)}
.hero-note ul{margin:0;padding-left:18px}

/* Sections */
.section{padding:clamp(42px,6vw,84px) 0}
.section--alt{background:#fafbfc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{margin-bottom:18px}
.section-head h2{margin:0 0 6px;font-size:clamp(22px,3vw,32px)}
.muted{color:var(--muted)}
.section p+p{margin-top:.75rem}
.bullets{margin:.5rem 0 0 1.25rem;color:var(--muted)}

/* Cards */
.cards{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card h3{margin:0 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted)}

/* Contact */
.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
label{display:grid;gap:6px;font-weight:600}
input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;color:var(--text);background:#fff}
input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(10,102,194,.15)}
.hp{position:absolute;left:-9999px}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#fff;padding:28px 0}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer small{color:var(--muted)}
.site-footer a{color:var(--muted)}
.site-footer a:hover{text-decoration:underline;color:var(--text)}

/* Responsive */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav-toggle{display:inline-flex}
  .main-nav ul{display:none;position:absolute;right:12px;top:64px;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow)}
  .main-nav ul.open{display:flex}
}
@media (max-width:640px){
  .cards{grid-template-columns:1fr}
}

/* Hand-made layout touch */
@media (min-width:1024px){ .cards{grid-template-columns:2fr 1fr 1fr;} }
@media (min-width:1280px){ .card--wide{grid-column:span 2;} }


.brand-logo { height: 48px; width: auto; display: block; }

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}


@media (max-width: 720px){
  .brand-logo { height: 40px; }
}


:root{
  --radius:10px;
  --shadow:0 6px 18px rgba(2,6,23,.05);
}
.hero-note{ box-shadow: var(--shadow); }
.section{ padding: clamp(40px, 6vw, 72px) 0; } 
.main-nav a{ font-weight:500; }                 
.brand-logo{ height: 44px; }                    
