:root{--bg:#EAF4F3;--surface:#FFFFFF;--ink:#14263A;--muted:#52667A;--brand:#1D6A7A;--brand-ink:#FFFFFF;--accent:#F0A81E;--line:#C9DEDC;--soft:#DAECEA;--shadow:0 18px 50px rgba(20,38,58,.10);--radius:16px;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0D1822;--surface:#14232F;--ink:#E8EFF4;--muted:#9DB0BF;--brand:#5FB0E6;--brand-ink:#06131D;--accent:#F0B43A;--line:#243746;--soft:#1A2D3B}}
:root[data-theme="dark"]{--bg:#0D1822;--surface:#14232F;--ink:#E8EFF4;--muted:#9DB0BF;--brand:#5FB0E6;--brand-ink:#06131D;--accent:#F0B43A;--line:#243746;--soft:#1A2D3B}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px);scroll-behavior:smooth;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 10% 0%,rgba(240,168,30,.12),transparent 28rem),var(--bg);color:var(--ink);font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden}
h1,h2,h3{font-family:'Sora',system-ui,'Segoe UI',sans-serif;line-height:1.15;margin:0}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.logo{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;text-decoration:none;color:var(--ink)}
.logo span{display:block;font-family:'Source Sans 3',sans-serif;font-weight:400;font-size:13px;color:var(--muted)}
nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
nav a{color:var(--ink);text-decoration:none;font-size:16px;font-weight:600}
nav a:hover{color:var(--brand)}
.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font:inherit;font-size:19px;cursor:pointer}.menu-btn{display:none}
.btn{display:inline-block;background:var(--brand);color:var(--brand-ink);font-weight:600;font-family:inherit;font-size:17px;padding:13px 22px;border-radius:8px;border:0;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,38,58,.16)}
.btn.alt{background:transparent;color:var(--brand);border:2px solid var(--brand)}
.hero{position:relative;padding:88px 0 76px;background:linear-gradient(120deg,#145567 0%,var(--brand) 55%,#278597 100%);color:var(--brand-ink);isolation:isolate}.hero::after{content:"";position:absolute;inset:auto -10% -12rem auto;width:34rem;height:34rem;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,255,255,.04),0 0 0 7rem rgba(255,255,255,.03);z-index:-1}
.hero h1{font-size:clamp(32px,6vw,56px);font-weight:800;max-width:17ch;letter-spacing:-.02em}
.hero p{font-size:20px;max-width:56ch;margin:20px 0 30px;opacity:.92}
.hero .btn{background:var(--accent);color:#14263A}.hero .btn.alt{background:transparent;color:var(--brand-ink);border-color:var(--brand-ink)}
.hero .row{display:flex;gap:12px;flex-wrap:wrap}.hero small{display:block;margin-top:34px;font-size:15px;opacity:.85;letter-spacing:.02em}.hero .wrap{animation:rise .7s ease both}
section{padding:82px 0;scroll-margin-top:80px}section.tint{background:var(--soft)}
h2{font-size:clamp(26px,4vw,36px);font-weight:700;margin-bottom:12px}.lead{color:var(--muted);max-width:62ch;margin:0 0 34px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));perspective:1200px}
.svc{--rotate-x:0deg;--rotate-y:0deg;--lift:0px;--scale:1;position:relative;min-height:190px;border-radius:var(--radius);overflow:hidden;color:#fff;background-image:var(--img,none),var(--g);background-size:cover;background-position:center;background-blend-mode:multiply;display:flex;align-items:flex-end;padding:20px;opacity:1;transform:translateY(var(--lift)) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) scale(var(--scale));transform-style:preserve-3d;will-change:transform;transition:transform .14s ease-out,box-shadow .2s ease,opacity .5s ease,background-position .4s ease}.svc.is-visible{opacity:1;--lift:0px;--scale:1}.svc::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,20,30,.84),rgba(8,20,30,.05) 70%)}.svc::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.28),transparent 34%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .2s ease}.svc:hover{--lift:-7px;--scale:1.015;box-shadow:var(--shadow);background-position:center 45%}.svc:hover::after{opacity:1}.svc>*{position:relative;z-index:1}.svc .ico{position:absolute;top:12px;right:14px;font-size:40px}.svc h3{font-size:19px;margin-bottom:4px}.svc p{margin:0;font-size:15px;opacity:.95}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 8px 25px rgba(20,38,58,.05)}.card h3{font-size:18px;margin-bottom:6px}.card p{margin:0;color:var(--muted);font-size:16px}
.cos{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:14px}.sos-t{font-size:20px;margin:56px 0 4px}.cia{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:14px 16px}.cia h4{margin:0;font-family:Sora,sans-serif;font-size:17px}.cia small{color:var(--muted);font-size:14px}.cia ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:15px;color:var(--muted)}.tel{font-family:Sora,sans-serif;font-weight:700;font-size:18px;text-decoration:none}
.co{color:var(--ink);text-decoration:none;display:block}a.co:hover{border-left-color:var(--brand);background:var(--surface)}.co{border-left:4px solid var(--accent);padding:6px 14px;font-family:'Sora',sans-serif;font-weight:600;font-size:16px}.co small{display:block;font-family:'Source Sans 3',sans-serif;font-weight:400;color:var(--muted);font-size:14px}
blockquote{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 25px rgba(20,38,58,.05)}blockquote p{margin:0 0 12px}blockquote footer{font-size:15px;color:var(--muted)}
.two{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.me{width:100%;max-width:420px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block;margin:0 0 16px;border:4px solid var(--surface)}
.offices{display:grid;gap:14px}.office{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:18px}.office h3{font-size:17px;margin-bottom:4px}.office p{margin:0;font-size:16px;color:var(--muted)}
.contact-list{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}.contact-list b{display:inline-block;min-width:88px}
form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:14px;box-shadow:var(--shadow)}label{font-weight:600;font-size:16px;display:grid;gap:5px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent);outline:0}textarea{min-height:120px;resize:vertical}
.actions{display:flex;gap:10px;flex-wrap:wrap}.note{font-size:14px;color:var(--muted);margin:0}.msg{margin:0;font-weight:600;color:var(--brand);min-height:1.6em}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}.wa-float{position:fixed;right:20px;bottom:20px;z-index:8;display:grid;place-items:center;width:56px;height:56px;background:#25D366;color:#062d14;border-radius:50%;text-decoration:none;font-size:26px;box-shadow:0 10px 25px rgba(0,0,0,.18);transition:transform .2s}.wa-float:hover{transform:scale(1.08)}
footer.site{padding:30px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (max-width:760px){nav{position:absolute;top:100%;left:12px;right:12px;display:grid;gap:2px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}nav.open{opacity:1;visibility:visible;transform:none}nav a{padding:9px 10px}.menu-btn{display:block}.hero{padding:58px 0 50px}section{padding:58px 0}.wrap{padding-left:18px;padding-right:18px}.header-actions{margin-left:auto}}
@media (max-width:760px){.svc{min-height:175px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero .wrap,.svc{animation:none;transition:none}.svc{opacity:1;transform:none}}