:root{--blue:#06448e;--ink:#1d1d1d;--muted:#565656;--paper:#f5f5f5;--line:#dedede;--max:1180px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.75;background:#fff}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}
    .container{width:min(calc(100% - 64px),var(--max));margin:0 auto}
    .site-header{height:76px;background:#fff;position:sticky;top:0;z-index:20;isolation:isolate;box-shadow:0 1px 0 rgba(0,0,0,.08)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;position:relative}.logo{width:170px;flex:none}.logo img{width:170px;height:auto}.nav{display:flex;height:100%;align-items:stretch}.nav a{display:flex;align-items:center;padding:0 22px;border-left:1px solid #ededed;font-size:13px;transition:background .25s,color .25s}.nav a:last-child{border-right:1px solid #ededed}.nav a:hover,.nav a.active{background:#06448e;color:#fff}.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--blue);font:400 28px/1 Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}.menu-toggle:hover,.menu-toggle:focus-visible{background:#f5f8fc;border-color:#cbd9e8;outline:none}.menu-toggle:focus-visible{box-shadow:0 0 0 3px rgba(6,68,142,.22)}
    .hero{min-height:470px;background:linear-gradient(90deg,rgba(2,48,106,.18),rgba(2,48,106,.2)),url('bg02.jpg') center/cover no-repeat;position:relative;overflow:hidden;color:#fff}.hero-inner{min-height:470px;display:flex;align-items:center;position:relative}.hero h1{font-family:Playfair,Georgia,serif;font-size:54px;line-height:1.18;font-weight:400;max-width:600px;margin:20px 0;text-shadow:3px 3px 6px #000;letter-spacing:.2px}.hero-art{position:absolute;right:0;bottom:0;width:min(43vw,535px);filter:drop-shadow(0 8px 8px rgba(0,0,0,.17));animation:floatIn .9s ease both}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,48,110,.12),transparent 55%)}.hero-inner>*{z-index:1}
    section{scroll-margin-top:76px}.about{background:var(--paper);padding:54px 0 48px}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.about-photo{border-radius:15px;overflow:hidden}.about-copy{padding:12px 12px 0}.about h2{font-family:Georgia,serif;font-size:21px;letter-spacing:.3px;color:var(--blue);margin:0 0 12px}.about p,.services p{margin:0 0 18px;text-align:justify}.pillars{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:48px}.pillar{position:relative;padding-left:0}.pillar h3,.values h3,.contact-info h3{margin:0 0 12px;color:#666;font-size:13px;letter-spacing:.6px;font-weight:600}.pillar h3:before{content:"";display:inline-block;width:26px;height:3px;background:var(--blue);vertical-align:middle;margin:0 14px 3px 0}.values{display:grid;grid-template-columns:1fr 3fr;gap:24px;margin-top:42px;border-top:1px solid #ddd;padding-top:26px}.values ul{margin:0;padding-left:18px}.values li{margin-bottom:5px}
    .services{padding:65px 0 55px}.services-grid{display:grid;grid-template-columns:3fr 1fr;gap:38px;align-items:center}.services h2,.contact h2{font-family:Georgia,serif;color:var(--blue);font-size:25px;margin:0 0 20px;letter-spacing:.2px}.maps{display:grid;grid-template-columns:1fr 2.2fr;gap:18px;align-items:center}.maps img{width:100%;height:220px;object-fit:cover}.maps img:first-child{height:255px}.service-copy{margin-top:28px}.service-copy p{text-align:justify}.services-side img{border-radius:2px}
    .contact{background:var(--paper);padding:65px 0 50px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.contact h2{margin-bottom:24px}.form{display:grid;gap:15px}.field label{display:block;color:#333;font-size:12px;margin-bottom:5px}.field input,.field textarea{display:block;width:100%;border:1px solid #ddd;background:#fff;padding:12px 13px;font:inherit;font-size:13px;outline:none;transition:border .2s}.field input:focus,.field textarea:focus{border-color:var(--blue)}.field textarea{min-height:120px;resize:vertical}.submit{justify-self:start;border:0;background:var(--blue);color:white;padding:12px 31px;font:600 12px Poppins;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.submit:hover{background:#032d60}.form-status{font-size:12px;color:var(--blue);min-height:20px}.contact-info{padding-top:15px}.contact-info .block{margin-bottom:32px}.contact-info p{margin:0}.contact-info strong{font-weight:600}
    footer{background:#fff;border-top:1px solid #e8e8e8;padding:27px 0;color:#777;font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--blue)}#to-top{position:fixed;right:22px;bottom:22px;width:38px;height:38px;border:0;border-radius:50%;background:var(--blue);color:#fff;opacity:0;visibility:hidden;transition:.25s;cursor:pointer;font-size:20px;z-index:12}#to-top.show{opacity:1;visibility:visible}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes floatIn{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:none}}
    @media(max-width:800px){
  .container{width:min(calc(100% - 36px),var(--max))}
  .site-header,.header-inner{height:68px}
  .logo,.logo img{width:145px}
  .menu-toggle{display:inline-flex}
  .nav{position:absolute;left:0;right:0;top:100%;height:auto;display:flex;flex-direction:column;align-items:stretch;background:#fff;border-top:1px solid #eee;box-shadow:0 8px 14px rgba(0,0,0,.1);max-height:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:max-height .25s ease,opacity .2s ease,transform .25s ease,visibility .25s ease}
  .nav.is-open{display:flex;max-height:320px;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .nav a{min-height:48px;padding:14px 20px;border:0;border-bottom:1px solid #eee}
  .nav a:last-child{border-right:0}
  .hero,.hero-inner{min-height:500px}
  .hero h1{font-size:42px;max-width:75%;margin-top:-60px}
  .hero-art{width:60vw;right:-15px}
  .about-top,.contact-grid{grid-template-columns:1fr;gap:24px}
  .pillars{gap:24px}
  .services-grid{grid-template-columns:1fr}
  .maps{grid-template-columns:1fr 2fr}
  .services-side{display:none}
  .values{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){
  body{font-size:13px}
  .hero h1{font-size:35px;max-width:88%;margin-top:-125px}
  .hero-art{width:83vw;right:-25px}
  .pillars{grid-template-columns:1fr;margin-top:32px}
  .about,.services,.contact{padding:42px 0}
  .maps{grid-template-columns:1fr}
  .maps img,.maps img:first-child{height:190px}
  .footer-links{gap:12px;flex-wrap:wrap}
}
