:root{
  --white:#ffffff;
  --ink:#172033;
  --muted:#647083;
  --navy:#102a4c;
  --blue:#1f66ad;
  --gold:#c7973d;
  --soft:#f5f8fc;
  --line:#e6edf5;
  --shadow:0 22px 60px rgba(16,42,76,.13);
  --radius:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--white);color:var(--ink);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}.container{width:min(1160px,92%);margin:auto}.header{min-height:100vh;background:radial-gradient(circle at 10% 15%,rgba(199,151,61,.18),transparent 28%),radial-gradient(circle at 88% 18%,rgba(31,102,173,.14),transparent 30%),linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
.nav{width:min(1180px,94%);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 0;position:relative;z-index:10}.logo{display:flex;gap:12px;align-items:center}.logo-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,var(--navy),var(--blue));color:white;display:grid;place-items:center;font-weight:900;box-shadow:0 14px 34px rgba(16,42,76,.25)}.logo span:last-child{display:flex;flex-direction:column}.logo strong{font-size:1rem}.logo small{font-size:.78rem;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:10px}.nav-links a{font-weight:700;color:var(--muted);padding:10px 14px;border-radius:99px}.nav-links a:hover{background:white;color:var(--navy);box-shadow:0 10px 30px rgba(16,42,76,.08)}.nav-whats{background:var(--navy)!important;color:white!important;padding-inline:22px!important}.menu-btn{display:none;border:0;background:var(--navy);color:white;border-radius:14px;padding:10px 13px;font-size:1.25rem}
.hero{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center;padding:86px 0 80px}.tag{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border:1px solid rgba(199,151,61,.35);background:#fff7e8;color:#835d14;border-radius:99px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.tag:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}h1{font-size:clamp(2.3rem,5.7vw,5.2rem);line-height:.98;letter-spacing:-.06em;margin:18px 0;color:var(--navy)}h2{font-size:clamp(2rem,3.8vw,3.45rem);line-height:1.05;letter-spacing:-.04em;color:var(--navy)}h3{color:var(--navy);line-height:1.2}.hero-copy{font-size:1.12rem;color:var(--muted);max-width:780px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:99px;font-weight:900;transition:.25s}.primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;box-shadow:0 14px 32px rgba(31,102,173,.24)}.secondary{background:white;color:var(--navy);border:1px solid var(--line)}.btn:hover{transform:translateY(-3px)}.mini-contact{width:max-content;max-width:100%;display:flex;gap:15px;align-items:center;background:white;border:1px solid var(--line);border-radius:22px;padding:15px 18px;box-shadow:var(--shadow)}.mini-contact span{color:var(--muted);font-size:.92rem}.mini-contact strong{font-size:1.25rem;color:var(--navy)}.hero-card{position:relative;min-height:520px;display:grid;place-items:center}.photo-placeholder{width:min(430px,100%);min-height:430px;border-radius:42px;background:linear-gradient(145deg,#fff,#eef5ff);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;position:relative;overflow:hidden}.photo-placeholder:before{content:"";position:absolute;inset:20px;border:1px dashed rgba(16,42,76,.18);border-radius:34px}.initials{width:120px;height:120px;border-radius:34px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;font-size:2.35rem;font-weight:900;margin-bottom:24px;box-shadow:0 20px 40px rgba(16,42,76,.25);z-index:1}.photo-placeholder h2{font-size:1.7rem;z-index:1}.photo-placeholder p{color:var(--muted);z-index:1}.floating{position:absolute;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:12px 18px;font-weight:900;color:var(--navy)}.one{top:65px;left:0}.two{right:0;top:190px}.three{bottom:75px;left:35px}
.intro{padding:90px 0;text-align:center}.center{margin-inline:auto}.section-copy,.section-title p,.services p,.contact p{color:var(--muted);font-size:1.05rem}.intro>h2,.intro>.section-copy{max-width:780px;margin:16px auto}.qualities{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.qualities article{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-align:left;box-shadow:0 12px 35px rgba(16,42,76,.06)}.qualities span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:var(--navy);color:white;font-weight:900;margin-bottom:18px}.qualities p{color:var(--muted);margin-top:8px}.areas{padding:95px 0;background:linear-gradient(180deg,var(--soft),#fff)}.section-title{max-width:720px;margin-bottom:34px}.section-title h2{margin:14px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:278px;display:flex;flex-direction:column;box-shadow:0 15px 42px rgba(16,42,76,.08);transition:.25s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.icon{width:62px;height:62px;border-radius:20px;background:#fff7e8;display:grid;place-items:center;font-size:1.8rem;margin-bottom:18px}.card p{color:var(--muted);margin:12px 0 22px}.card a{margin-top:auto;color:var(--blue);font-weight:900}.wide{grid-column:span 2}.services{margin:95px auto;padding:42px;border-radius:36px;background:linear-gradient(135deg,var(--navy),#173d6d);color:white;display:grid;grid-template-columns:1fr 1fr;gap:40px;box-shadow:var(--shadow)}.services h2,.services p{color:white}.services .tag{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:white}.service-list{display:grid;gap:12px}.service-list span{padding:14px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:16px;font-weight:800}.contact{padding:95px 0;background:radial-gradient(circle at 82% 30%,rgba(199,151,61,.2),transparent 30%),var(--soft)}.contact-grid{display:grid;grid-template-columns:1fr 390px;gap:40px;align-items:center}.contact h2{margin:15px 0}.contact-box{background:white;border:1px solid var(--line);border-radius:32px;padding:32px;box-shadow:var(--shadow)}.contact-box strong{display:block;font-size:2rem;color:var(--navy);margin:5px 0 24px}.full{width:100%}.float{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:#25d366;color:white;display:grid;place-items:center;font-weight:900;font-size:1.4rem;box-shadow:0 15px 35px rgba(37,211,102,.35);z-index:40}footer{background:var(--navy);color:white;padding:24px 0}.footer-inner{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer-inner a{font-weight:800}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.js .reveal.show{opacity:1;transform:none}
@media(max-width:900px){.menu-btn{display:block}.nav-links{display:none;position:absolute;top:74px;right:0;left:0;background:white;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow);flex-direction:column}.nav-links.open{display:flex}.nav-links a{width:100%;text-align:center}.hero{grid-template-columns:1fr;padding-top:48px}.hero-card{min-height:420px}.qualities,.cards,.services,.contact-grid{grid-template-columns:1fr}.wide{grid-column:auto}.floating{display:none}.services{padding:30px}.footer-inner{align-items:center;justify-content:center;text-align:center}}
@media(max-width:520px){.logo strong{font-size:.88rem}.logo small{font-size:.72rem}.logo-mark{width:48px;height:48px}.hero{padding-bottom:55px}h1{font-size:2.45rem}.actions{flex-direction:column}.btn{width:100%}.mini-contact{width:100%;justify-content:space-between}.photo-placeholder{min-height:360px}.cards{gap:14px}.card{min-height:auto}.contact-box strong{font-size:1.6rem}}
