/* Sum-IT Solutions. System fonts only, no JS.
   #4F9FD4 = logo blue, decoration only (fails 4.5:1 on white).
   #235A85 = text and buttons (AA on white). */
:root{
  --blue:#4F9FD4; --blue-dark:#235A85; --blue-deep:#1C4A6E;
  --tint:#EAF4FB; --text:#1B1B1B; --white:#fff;
  --head:"Helvetica Neue",Arial,Helvetica,"Liberation Sans",sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);color:var(--text);background:var(--white);line-height:1.6;font-size:1rem}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-dark)}
.wrap{max-width:1140px;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:900px;text-align:center}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--blue-dark);color:#fff;padding:.5rem 1rem;z-index:100}
.skip-link:focus{left:.5rem;top:.5rem}
:focus-visible{outline:3px solid var(--blue-dark);outline-offset:3px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:4px solid var(--blue);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding-top:.5rem;padding-bottom:.5rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--blue-dark)}
.brand-logo{width:46px;height:46px}
.brand-name{font-family:var(--head);font-weight:700;font-style:italic;font-size:1.25rem;letter-spacing:.01em}
.site-nav{display:flex;align-items:center;gap:1rem}
.nav-link{font-weight:700;font-size:1rem;text-decoration:none;color:var(--blue-dark)}
.nav-link:hover,.nav-link[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--blue-dark);color:var(--white);font-weight:700;text-decoration:none;border-radius:999px;line-height:1.2}
.btn:hover{background:var(--blue-deep)}
.btn-phone{padding:.6rem 1.15rem;font-size:1.05rem;min-height:44px}
.icon{flex:none}

/* Hero */
.hero{background:radial-gradient(ellipse at 50% 30%,#3D83BC 0%,#2B6A9E 45%,#1F4E78 100%);color:var(--white);text-align:center;padding:3.5rem 0 4rem}
.hero-logo{width:320px;height:320px;margin:0 auto 1.75rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}
.hero h1{font-family:var(--head);font-style:italic;font-weight:700;font-size:clamp(2rem,5.5vw,3.3rem);line-height:1.15;margin:0 0 1rem;text-shadow:0 2px 6px rgba(0,0,0,.25)}
.hero-sub{margin:0;font-size:1.3rem;opacity:.95}

/* Home body */
.intro{padding:3.5rem 1.25rem 2rem}
.lead{font-size:1.6rem;font-weight:700;color:var(--blue-dark);line-height:1.45;margin:0 0 1.25rem}
.pitch{font-style:italic;font-size:1.35rem;margin:0}
.services{padding:2rem 1.25rem 3.5rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem}
.card{background:var(--tint);border-top:4px solid var(--blue);border-radius:6px;padding:1.75rem 1.75rem 2rem}
.card h3{font-family:var(--head);font-style:italic;font-weight:700;color:var(--blue-dark);font-size:1.75rem;line-height:1.25;margin:0 0 1.25rem}
.card p{margin:0 0 1.1rem;font-size:1.125rem}
.closing{padding:1.5rem 1.25rem 4rem}
.closing p{margin:0 0 1.1rem;font-size:1.125rem}
.cta-text{font-weight:700;color:var(--blue-dark);font-size:1.45rem!important;margin-top:2rem!important}
.btn-cta{padding:1rem 2rem;text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;min-height:44px}

/* Consultation */
.consult{padding:3.5rem 1.25rem 1.75rem;max-width:780px}
.consult .guarantee{max-width:540px;margin-left:auto;margin-right:auto}
.testimonial figcaption{font-size:1.1rem}
.consult-logo{width:150px;height:150px;margin:0 auto 1.25rem;filter:drop-shadow(0 3px 8px rgba(0,0,0,.2))}
.consult h1{font-family:var(--head);font-style:italic;font-weight:700;color:var(--blue-dark);font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.2;margin:0 0 1rem}
.consult p{font-size:1.15rem}
.btn-call{padding:1.1rem 2.4rem;font-size:1.3rem;min-height:56px}
.guarantee{margin-top:1.5rem}
.testimonial-wrap{max-width:760px;padding:1.75rem 1.25rem 4.5rem}
.testimonial{margin:0;background:var(--tint);border-left:5px solid var(--blue);border-radius:6px;padding:2.5rem 1.75rem 1.5rem;position:relative;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.testimonial::before{content:"\201C";position:absolute;top:.1rem;left:1.25rem;font-family:Georgia,"Times New Roman",serif;font-size:4rem;line-height:1;color:var(--blue);font-weight:700}
.testimonial blockquote{margin:0}
.testimonial blockquote p{font-style:italic;font-size:1.2rem;line-height:1.75;margin:0 0 1.25rem}
.t-name{font-weight:700;color:var(--blue-dark)}
.notfound{padding-bottom:4rem}

/* Footer */
.site-footer{background:var(--blue-dark);color:var(--white);text-align:center;padding:2rem 0 2.25rem}
.site-footer p{margin:.4rem 0}
.site-footer a{color:var(--white);font-weight:700}
.footer-name{font-family:var(--head);font-style:italic;font-weight:700;font-size:1.2rem}
.site-footer{font-size:1.1rem}
.footer-copy{font-size:.85rem}

@media (max-width:600px){
  .site-nav .nav-link{display:none}
  .header-inner{padding-left:.75rem;padding-right:.75rem}
  .brand-logo{width:40px;height:40px}
  .brand-name{font-size:1.05rem}
  .btn-phone{padding:.5rem .85rem;font-size:.95rem}
  .hero{padding:2rem 0 2.5rem}
  .hero-logo{width:220px;height:220px}
  .hero-sub{font-size:1.1rem}
  .lead{font-size:1.3rem}
  .pitch{font-size:1.15rem}
  .card h3{font-size:1.45rem}
  .card p,.closing p{font-size:1.05rem}
  .cta-text{font-size:1.25rem!important}
  .consult p{font-size:1.05rem}
  .testimonial blockquote p{font-size:1.05rem}
  .site-footer{font-size:1rem}
  .card{padding:1.25rem 1.25rem 1.25rem}
  .intro{padding:2.5rem 1.25rem 1.5rem}
  .services{padding:1.25rem 1.25rem 2.5rem}
  .cards{gap:1.25rem}
  .closing{padding:1rem 1.25rem 3rem}
  .btn-phone{min-height:44px}
}
