:root{
  --navy:#0b1f3a;
  --navy-soft:#122d51;
  --gold:#bd9636;
  --gold-light:#dcc680;
  --paper:#ffffff;
  --cream:#f7f4ec;
  --ink:#172237;
  --muted:#657083;
  --line:#e7e1d3;
  --radius:28px;
  --shadow:0 24px 60px rgba(11,31,58,.12);
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:96px 0}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(11,31,58,.08);box-shadow:0 8px 24px rgba(11,31,58,.04)}
.header-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{width:min(380px,42vw);display:block}
.brand img{width:100%;height:72px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:28px;color:var(--navy);font-weight:700;font-size:.91rem}
.nav a{padding:10px 0}
.nav a:not(.nav-button){border-bottom:2px solid transparent}
.nav a:not(.nav-button):hover{border-color:var(--gold)}
.nav-button{padding:11px 19px!important;border:1px solid var(--gold);border-radius:999px}
.nav-button:hover{background:var(--gold);color:#fff}
.menu-toggle{display:none;width:46px;height:46px;padding:10px;border:0;background:transparent;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--navy);margin:6px 0;border-radius:2px}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f9f7f2 0%,#fff 50%,#f2ecdc 100%);padding:92px 0}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(11,31,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,31,58,.035) 1px,transparent 1px);background-size:48px 48px;opacity:.55;pointer-events:none}
.hero::after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(189,150,54,.25);border-radius:50%;right:-160px;top:-180px;pointer-events:none}
.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:.93fr 1.07fr;gap:64px;align-items:center}
.kicker{margin:0 0 17px;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.76rem}
.kicker-light{color:var(--gold-light)}
.hero h1,.section-heading h2,.legal-title h2,.business-copy h2,.contact-box h2,.overview-header h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}
.hero h1{margin:0;color:var(--navy);font-size:clamp(3rem,5.6vw,5.65rem);line-height:.98;max-width:700px}
.hero-name{margin:24px 0 34px;font-family:Georgia,"Times New Roman",serif;color:var(--gold);font-size:1.55rem}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.button{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--navy);color:#fff;box-shadow:0 12px 26px rgba(11,31,58,.18)}
.button-primary:hover{background:var(--navy-soft)}
.button-outline{border:1px solid #cfd4dc;background:#fff;color:var(--navy)}
.button-outline:hover{border-color:var(--gold)}
.button-gold{background:var(--gold);color:#fff;box-shadow:0 12px 26px rgba(189,150,54,.18)}
.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:38px}
.hero-tags span{padding:8px 12px;border:1px solid rgba(11,31,58,.11);border-radius:999px;background:rgba(255,255,255,.68);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.hero-card{background:#fff;border:1px solid rgba(189,150,54,.32);border-radius:34px;padding:20px;box-shadow:var(--shadow)}
.logo-panel{min-height:290px;padding:42px 36px;display:flex;align-items:center;justify-content:center;border-radius:23px;background:#fff}
.logo-panel img{width:100%;max-width:620px;max-height:220px;object-fit:contain}
.hero-card-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border-radius:18px;background:rgba(220,198,128,.28)}
.hero-card-footer div{background:var(--navy);padding:18px 16px;color:#fff;min-height:116px}
.hero-card-footer strong{display:block;color:var(--gold-light);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
.hero-card-footer span{display:block;color:#d8dfeb;font-size:.77rem;line-height:1.55}

.section-heading{max-width:760px;margin-bottom:46px}
.section-heading h2{margin:0;color:var(--navy);font-size:clamp(2.35rem,4.4vw,4.1rem);line-height:1.04}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{position:relative;display:block;min-height:340px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#fff,#fbfaf7);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(11,31,58,.09);border-color:rgba(189,150,54,.5)}
.service-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:var(--navy);margin-bottom:40px}
.service-icon svg{width:30px;height:30px;fill:none;stroke:var(--gold-light);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card-label{margin:0 0 3px;color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800}
.service-card h3{margin:0 0 12px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.9rem;font-weight:500}
.service-card p:not(.card-label){margin:0;color:var(--muted)}
.card-link{position:absolute;left:34px;bottom:30px;color:#8d6c19;font-size:.88rem;font-weight:800}
.card-link b{margin-left:6px}

.legal{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.legal::before{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(220,198,128,.12);border-radius:50%;right:-260px;top:-260px}
.legal-layout{position:relative;z-index:1;display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}
.legal-title h2{margin:0;color:#fff;font-size:clamp(2.7rem,4.7vw,4.6rem);line-height:1.02}
.gold-line{margin-top:28px;width:82px;height:3px;background:var(--gold)}
.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.legal-item{min-height:118px;padding:28px;display:flex;align-items:center;gap:22px;border:1px solid rgba(255,255,255,.1);border-radius:21px;background:rgba(255,255,255,.055)}
.legal-wide{grid-column:1/-1}
.legal-item span{font-size:.75rem;color:var(--gold-light);font-weight:900;letter-spacing:.12em}
.legal-item h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:500}

.fiscal{background:var(--cream)}
.fiscal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fiscal-card{min-height:225px;padding:34px;background:#fff;border-top:4px solid var(--gold);border-radius:24px;box-shadow:0 14px 34px rgba(11,31,58,.055)}
.fiscal-card span{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;background:var(--navy);color:var(--gold-light);border-radius:10px;font-size:.78rem;font-weight:900;letter-spacing:.08em;margin-bottom:42px}
.fiscal-card h3,.fiscal-extra h3{margin:0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-weight:500}
.fiscal-card h3{font-size:1.55rem}
.fiscal-extra{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr);overflow:hidden;border-radius:24px;background:var(--navy)}
.fiscal-extra article{padding:32px 36px;color:#fff}
.fiscal-extra article+article{border-left:1px solid rgba(255,255,255,.12)}
.fiscal-extra span{display:block;color:var(--gold-light);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800;margin-bottom:6px}
.fiscal-extra h3{color:#fff;font-size:1.6rem}

.business{position:relative;overflow:hidden;background:linear-gradient(125deg,#102a4d,#081a32);color:#fff}
.business::after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(220,198,128,.14);border-radius:50%;right:-160px;bottom:-330px}
.business-layout{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}
.business-copy h2{margin:0 0 30px;font-size:clamp(2.9rem,5vw,4.8rem);line-height:1}
.business-list{display:grid;gap:16px}
.business-list article{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:22px;min-height:120px;padding:27px 30px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:22px}
.number{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:rgba(189,150,54,.14);color:var(--gold-light);font-weight:900;font-size:.78rem}
.business-list p{margin:0;color:var(--gold-light);font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800}
.business-list h3{margin:4px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:500}

.overview{background:#fff}
.overview-card{padding:0;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 16px 44px rgba(11,31,58,.05)}
.overview-header{padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(135deg,#faf8f3,#fff)}
.overview-header img{width:min(360px,42vw);max-height:90px;object-fit:contain;object-position:left center}
.overview-header h2{margin:0;color:var(--navy);font-size:2.8rem}
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.overview-grid article{padding:32px 34px}
.overview-grid article+article{border-left:1px solid var(--line)}
.overview-grid span{display:block;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.13em;margin-bottom:9px}
.overview-grid h3{margin:0 0 10px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:500}
.overview-grid p{margin:0;color:var(--muted);font-size:.93rem}

.contact{padding-top:0}
.contact-box{display:grid;grid-template-columns:1.15fr 1fr auto;gap:48px;align-items:center;padding:46px 48px;background:var(--navy);color:#fff;border-radius:32px;box-shadow:var(--shadow)}
.contact-box h2{margin:0;font-size:2.65rem}
.contact-box p:not(.kicker){margin:7px 0 0;color:#cdd5e2}
.contact-data{display:grid;gap:16px}
.contact-data div{display:grid;gap:3px}
.contact-data span{color:var(--gold-light);text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:800}
.contact-data strong,.contact-data a{font-size:1rem}

.footer{padding:46px 0;background:#06172d;color:#c9d2df}
.footer-layout{display:grid;grid-template-columns:1fr .8fr .85fr;gap:45px;align-items:center}
.footer-logo{width:285px;max-width:100%;padding:12px 14px;background:#fff;border-radius:14px}
.footer-logo img{width:100%;height:72px;object-fit:contain}
.footer-info{display:grid;gap:3px;font-size:.9rem}
.footer-info strong{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;font-weight:500;margin-bottom:4px}
.footer-info a{color:var(--gold-light);font-weight:700;margin-top:3px}
.footer-nav{display:grid;grid-template-columns:repeat(2,max-content);gap:7px 22px;justify-content:end;font-size:.88rem}
.footer-nav a:hover{color:var(--gold-light)}

.floating-phone{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--gold);box-shadow:0 14px 30px rgba(11,31,58,.24);transition:transform .2s ease}
.floating-phone:hover{transform:translateY(-3px)}
.floating-phone svg{width:27px;height:27px;fill:#fff}

@media (max-width:980px){
  .header-wrap{min-height:82px}
  .brand{width:280px;max-width:68vw}
  .brand img{height:62px}
  .menu-toggle{display:block}
  .nav{position:absolute;top:82px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{padding:13px 14px}
  .nav-button{text-align:center;margin-top:4px}
  .hero{padding:70px 0}
  .hero-layout,.legal-layout,.business-layout{grid-template-columns:1fr;gap:48px}
  .hero-copy{text-align:center}
  .hero h1{margin-inline:auto;max-width:850px}
  .hero-actions,.hero-tags{justify-content:center}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-card:last-child{grid-column:1/-1}
  .fiscal-grid{grid-template-columns:repeat(2,1fr)}
  .fiscal-card:last-child{grid-column:1/-1}
  .contact-box{grid-template-columns:1fr 1fr}
  .contact-box>.button{grid-column:1/-1;justify-self:start}
  .footer-layout{grid-template-columns:1fr 1fr}
  .footer-nav{grid-column:1/-1;justify-content:start}
}

@media (max-width:700px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .section{padding:72px 0}
  .header-wrap{min-height:74px}
  .brand{width:218px}
  .brand img{height:55px}
  .nav{top:74px;left:14px;right:14px}
  .hero{padding:54px 0 62px}
  .hero h1{font-size:clamp(2.65rem,13vw,4.1rem)}
  .hero-name{font-size:1.3rem}
  .hero-actions .button{flex:1 1 155px}
  .hero-card{padding:12px;border-radius:24px}
  .logo-panel{min-height:210px;padding:28px 16px;border-radius:18px}
  .logo-panel img{max-height:170px}
  .hero-card-footer{grid-template-columns:1fr}
  .hero-card-footer div{min-height:auto;padding:14px 16px}
  .service-grid,.legal-grid,.fiscal-grid,.overview-grid,.fiscal-extra{grid-template-columns:1fr}
  .service-card:last-child,.legal-wide,.fiscal-card:last-child{grid-column:auto}
  .service-card{min-height:320px;padding:29px}
  .card-link{left:29px}
  .fiscal-extra article+article{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .overview-header{padding:28px 25px;align-items:flex-start;flex-direction:column}
  .overview-header img{width:100%;max-width:340px;max-height:75px}
  .overview-header h2{font-size:2.3rem}
  .overview-grid article{padding:27px}
  .overview-grid article+article{border-left:0;border-top:1px solid var(--line)}
  .contact-box{grid-template-columns:1fr;padding:32px 26px;gap:27px;border-radius:25px}
  .contact-box>.button{grid-column:auto;justify-self:stretch}
  .footer-layout{grid-template-columns:1fr;gap:28px}
  .footer-nav{grid-column:auto;grid-template-columns:repeat(2,1fr);justify-content:stretch}
  .floating-phone{right:15px;bottom:15px;width:54px;height:54px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
