:root{          
  --button-width:420px;
  --container-max:1200px;
  --container-pad:16px;
  --controls-max:520px;
  --rail-width:720px;
  --nav-h:64px;
  --nav-h-mobile:56px;
  --nav-bg:#0a235a;
  --nav-light-bg:#f6f7f5;
  --nav-link:#0a235a;
  --nav-muted:#0f2a5b;
  --nav-border:rgba(0,0,0,.06);
  --topbar-bg:#0a235a;
  --topbar-text:#f6f8fb;
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Playfair+Display:wght@700;800&display=swap');

html, body {
  background: #F6F7F2;
  margin: 0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif
}

#topnav{
  background:var(--nav-light);
  border-bottom:1px solid var(--nav-border);
  position:relative;
  top:auto;left:auto;right:auto;
  z-index:3000;
}
#topnav .container{
  margin:0 auto;
  max-width:var(--container-max);
  padding-block:18px;
  padding-inline:24px;
}
#topnav nav{display:flex;align-items:center;justify-content:space-between;gap:12px}
#topnav .logo{display:block;height:50px;width:auto}
#topnav .menu-icon{cursor:pointer;display:none;order:4;padding:6px 4px}
#topnav .menu-icon .bar{background:var(--nav-bg);border-radius:1px;height:2px;margin:5px 0;transition:transform .2s,opacity .2s;width:22px}

#topnav .menu{
  order:2;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:40px;
  padding:0;
  margin-left:auto;
}
#topnav .menu li a{
  color:var(--nav-bg);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:15px;
  text-decoration:none;
  padding:8px 0;
  position:relative;
  font-weight:400;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:left 100%;
  background-size:0% 2px;
  transition:background-size .25s ease,color .2s;
}
#topnav .menu li a:hover,
#topnav .menu li a:focus-visible,
#topnav .menu li a.active{
  color:var(--nav-bg);
  background-size:100% 2px;
}

#topnav .actions{display:none}
#topnav .actions .cta{display:none!important}

body.home #topnav{ margin-top:0 }
body.home #topnav::before{
  content:"";
  display:block;
  background:var(--nav-bg);
  color:#fff;
  text-align:center;
  height:36px;
  line-height:36px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
}

@media (max-width:980px){
  #topnav .container{padding-block:16px;padding-inline:16px}
  #topnav .menu-icon{display:block}
  #topnav .menu{
    position:absolute;left:0;right:0;top:100%;
    background:#fff;border:1px solid var(--nav-border);border-top:0;
    box-shadow:0 12px 24px rgba(15,23,42,.08);
    display:none;flex-direction:column;gap:0;margin:8px 0 0 0;padding:8px 16px;z-index:3100;
  }
  #topnav .menu.open{display:flex}
  #topnav .menu li{width:100%;border-bottom:1px solid var(--nav-border)}
  #topnav .menu li:last-child{border-bottom:0}
  #topnav .menu li a{display:block;padding:12px 4px;letter-spacing:.13em;font-size:14px;font-weight:400}
  #topnav .menu-icon.active .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
  #topnav .menu-icon.active .bar:nth-child(2){opacity:0}
  #topnav .menu-icon.active .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body.home #topnav::before{
    height:32px;
    line-height:32px;
    font-size:10px;
    letter-spacing:.16em;
  }
}

body:not(.home) #topnav{
  background:var(--nav-light);
  border-bottom:1px solid var(--nav-border);
  position:relative;
}
body:not(.home) #topnav .menu li a{color:var(--nav-bg)}
body:not(.home) #topnav .menu li a:hover,
body:not(.home) #topnav .menu li a.active{color:var(--nav-bg)}

body.home #topnav .menu li a{
  color:var(--nav-bg)!important;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.home #topnav .menu li a:hover,
body.home #topnav .menu li a.active{
  color:var(--nav-bg)!important;
}
body.home #topnav .menu-icon .bar{background:var(--nav-bg)}
@media (max-width:980px){
  body.home #topnav .menu{background:#F6F7F2}
  body.home #topnav .menu li a{color:var(--nav-bg)!important;font-weight:400}
  body.home #topnav .menu li a:hover,
  body.home #topnav .menu li a.active{color:var(--nav-bg)!important}
}

:root{
  --hero-w: clamp(400px,36vw,560px);
  --hero-gap: 40px;
  --stack-w: 640px;
}

.banner-section{
  background:#F6F7F2;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:row;
  min-height:480px;
  padding:56px 0;
  position:relative;
  overflow:hidden;
  text-align:left;
}
.banner-section .header-text{
  padding-left:max(var(--container-pad),calc((100vw - var(--container-max))/2 + var(--container-pad)));
  padding-right:max(var(--container-pad),calc((100vw - var(--container-max))/2 + var(--container-pad)));
  width:100%;
  position:relative;
  z-index:2;
}
.banner-section .container,
.item-search-tabs,
.item-search-tabs .tab-content,
.item-search-tabs .search-background{max-width:var(--container-max);margin-left:auto;margin-right:auto}
.banner-section .container{padding-left:0;padding-right:0}
.banner-section .text-center{
  margin:0 auto;
  color:#0a235a;
  max-width:680px;
  text-align:left;
}
.banner-section h1.mb-1{
  font-family:"Playfair Display",Georgia,serif;
  color:#0a235a!important;
  font-weight:800;
  font-size:80px;
  line-height:1.05;
  letter-spacing:.01em;
  margin-bottom:18px;
  text-align:left;
}
.banner-section .text-center p{
  color:#4b5563!important;
  font-size:clamp(16px,2.1vw,18px);
  line-height:1.6;
  margin-bottom:28px;
  max-width:620px;
  text-align:left;
}
.hero-figure{
  position:absolute;
  top:50%;
  right:max(var(--container-pad), calc((100vw - var(--container-max))/2 + var(--container-pad)));
  transform:translateY(-50%);
  width:var(--hero-w);
  height:clamp(240px,28vw,340px);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  border-radius:20px;
  box-shadow:none;
  z-index:1;
  pointer-events:none;
}
.item-search-tabs .tab-content .search-background{background:transparent;border:0;box-shadow:none;padding:0}
.item-search-tabs .form.row.no-gutters{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  margin:0 auto;
  width:min(720px,100%)!important;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  flex-wrap:nowrap;
}
.item-search-tabs .form .form-group{margin-bottom:0!important}
.item-search-tabs .form.row.no-gutters > [class*="col-"]{padding-left:0;padding-right:0;max-width:none}
.item-search-tabs .form.row.no-gutters > .form-group:first-child{flex:1 1 520px!important;min-width:360px}
.item-search-tabs .form.row.no-gutters > .form-group:last-child{flex:0 0 auto!important}
#query.form-control.border{
  width:100%!important;
  height:44px!important;
  line-height:44px!important;
  background:transparent!important;
  border:1.5px solid #2B57FF!important;
  border-radius:9999px!important;
  box-shadow:0 10px 22px rgba(43,87,255,.10)!important;
  color:#0a235a!important;
  caret-color:#0a235a!important;
  padding:0 16px 0 48px!important;
  font-size:15px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B57FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>")!important;
  background-repeat:no-repeat!important;
  background-position:18px 50%!important;
  background-size:18px 18px!important;
  outline:none!important;
}
#query::placeholder{color:#7a8aa6!important}
#query:focus{outline:none!important;box-shadow:none!important}
.btn.btn-orange.fs-14{
  background:#2B57FF!important;
  color:#fff!important;
  height:44px!important;
  padding:0 22px!important;
  border:none!important;
  border-radius:9999px!important;
  font-weight:700!important;
  font-size:14px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(4,26,85,.22)!important;
  transition:transform .18s ease, box-shadow .25s ease, filter .25s ease;
  flex:0 0 140px!important;
  width:140px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  z-index:0;
}
.btn.btn-orange.fs-14::before{
  content:"";
  position:absolute;
  inset:0;
  background:#041A55;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .35s ease;
  z-index:-1;
  pointer-events:none;
}
.btn.btn-orange.fs-14:hover::before{transform:scaleX(1)}
.btn.btn-orange.fs-14:hover{box-shadow:0 12px 24px rgba(4,26,85,.35)!important}
.btn.btn-orange.fs-14:active{
  transform:translateY(0) scale(.995);
  box-shadow:0 6px 18px rgba(4,26,85,.28)!important;
}

@media (min-width:931px){
  .banner-section{align-items:center}
  .banner-section .header-text{
    padding-right: calc(max(var(--container-pad), ((100vw - var(--container-max))/2 + var(--container-pad))) + var(--hero-w) + var(--hero-gap));
  }
  .item-search-tabs .form.row.no-gutters{
    margin-left:0;
    margin-right:auto;
    width:min(720px,100%)!important;
  }
  .hero-figure{
    right:calc((100vw - var(--container-max))/2 + var(--container-pad));
    width:var(--hero-w);
  }
}

@media (min-width:931px) and (max-width:1360px){
  :root{ --stack-w: 720px; }
  .banner-section{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .banner-section .header-text{
    padding-left:var(--container-pad);
    padding-right:var(--container-pad);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .banner-section .text-center,
  .banner-section .text-center h1,
  .banner-section .text-center p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .item-search-tabs .form.row.no-gutters{
    justify-content:center;
    width:min(var(--stack-w),calc(100% - var(--container-pad)*2))!important;
    padding:0 var(--container-pad);
    box-sizing:border-box;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:1fr;
    gap:12px;
    align-items:center;
    max-width:min(var(--stack-w),calc(100% - var(--container-pad)*2));
  }
  #query.form-control.border,
  .btn.btn-orange.fs-14{
    width:100%!important;
    max-width:100%!important;
    height:50px!important;
    line-height:50px!important;
    margin:0!important;
    box-sizing:border-box;
  }
  .hero-figure{
    order:2;
    position:relative;
    top:auto;
    right:auto;
    transform:none;
    width:min(var(--stack-w),calc(100% - var(--container-pad)*2));
    height:clamp(300px,52vw,520px);
    margin-top:18px;
    margin-left:auto;
    margin-right:auto;
    border-radius:20px;
    box-shadow:none;
  }
}

@media (min-width:1280px){
  :root{--hero-w: clamp(380px,32vw,520px)}
  .hero-figure{height:clamp(220px,24vw,320px)}
  .banner-section .header-text{
    min-height:clamp(220px,24vw,320px);
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

@media (max-width:1200px){
  .hero-figure{
    right:max(var(--container-pad),24px);
    width:clamp(360px,40vw,520px);
    height:clamp(220px,30vw,320px);
  }
}

@media (max-width:1024px){
  .banner-section .header-text{padding-left:var(--container-pad);padding-right:var(--container-pad)}
  .hero-figure{
    right:var(--container-pad);
    width:min(480px,40vw);
    height:min(300px,30vw);
  }
  .item-search-tabs .form.row.no-gutters{width:100%!important;max-width:720px}
}

@media (max-width:930px){
  :root{ --stack-w: 640px; }
  .banner-section{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:auto;
    padding:32px 0 28px;
  }
  .banner-section .header-text{
    order:1;
    padding-left:var(--container-pad);
    padding-right:var(--container-pad);
    min-height:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .banner-section .text-center,
  .banner-section .text-center h1,
  .banner-section .text-center p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .banner-section h1.mb-1{
    font-size:clamp(30px,8.5vw,44px);
    line-height:1.08;
    letter-spacing:.005em;
  }
  .banner-section .text-center p{
    font-size:clamp(14px,3.5vw,16px);
    max-width:38rem;
  }
  .item-search-tabs .form.row.no-gutters{
    order:1;
    justify-content:center;
    width:min(var(--stack-w),calc(100% - var(--container-pad)*2))!important;
    padding:0 var(--container-pad);
    box-sizing:border-box;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:1fr;
    gap:12px;
    align-items:center;
    max-width:min(var(--stack-w),calc(100% - var(--container-pad)*2));
  }
  #query.form-control.border,
  .btn.btn-orange.fs-14{
    width:100%!important;
    max-width:100%!important;
    height:50px!important;
    line-height:50px!important;
    margin:0!important;
    box-sizing:border-box;
  }
  .btn.btn-orange.fs-14{
    font-size:13px!important;
    letter-spacing:.14em!important;
  }
  .hero-figure{
    order:2;
    position:relative;
    top:auto;
    right:auto;
    transform:none;
    width:min(var(--stack-w),calc(100% - var(--container-pad)*2));
    height:clamp(300px,52vw,520px);
    margin-top:18px;
    margin-left:auto;
    margin-right:auto;
    border-radius:20px;
    box-shadow:none;
  }
}

@media (max-width:640px){
  .item-search-tabs .form.row.no-gutters{gap:10px}
  #query.form-control.border{
    letter-spacing:.06em!important;
    text-transform:none;
    height:46px!important;
    line-height:46px!important;
  }
  .btn.btn-orange.fs-14{
    height:46px!important;
    font-size:12px!important;
    letter-spacing:.12em!important;
  }
  .banner-section h1.mb-1{font-size:clamp(26px,9vw,36px)}
}

/* ===== CONTACT FORM ===== */
#contact-form{padding:16px}
#contact-form .contactus{max-width:640px;margin:16px auto;background:#fff;border-radius:16px;box-shadow:0 10px 20px rgba(15,23,42,.05),0 2px 6px rgba(15,23,42,.04);padding:24px 20px}
#contact-form h1{font-size:40px;line-height:1.1;margin:0 0 6px;color:#0f172a;text-align:center}
#contact-form .layout>p{margin:6px 0;color:#475569;font-size:18px}
#contact-form .contact{display:grid;grid-template-columns:1fr;gap:18px 22px;margin-top:16px}
#contact-form .contact p{margin:0;display:flex;flex-direction:column}
#contact-form .contact label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#475569;margin:4px 0 6px}
#contact-form .contact label .req,#contact-form .contact label .required{color:#94a3b8}
#contact-form input[type="email"],#contact-form input[type="text"],#contact-form input[name="name"],#contact-form input[type="date"],#contact-form textarea,#contact-form button[type="submit"]{width:100%;display:block;box-sizing:border-box}
#contact-form input[type="email"],#contact-form input[type="text"],#contact-form input[name="name"],#contact-form input[type="date"],#contact-form textarea{border:0;border-bottom:2px solid #cbd5e1;border-radius:0;background:#FFFFFF;color:#0f172a;font-size:16px;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;height:52px;padding:0 6px;box-shadow:none}
#contact-form textarea{min-height:120px;padding:10px 6px;resize:vertical}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#94a3b8}
#contact-form input:focus,#contact-form textarea:focus{background:#FFFFFF;border-bottom-color:#3b82f6;outline:none}
#contact-form input[type="date"]{appearance:none;-webkit-appearance:none;padding-right:0}
#contact-form input[type="date"]::-webkit-datetime-edit,#contact-form input[type="date"]::-webkit-datetime-edit-fields-wrapper,#contact-form input[type="date"]::-webkit-datetime-edit-text,#contact-form input[type="date"]::-webkit-datetime-edit-month-field,#contact-form input[type="date"]::-webkit-datetime-edit-day-field,#contact-form input[type="date"]::-webkit-datetime-edit-year-field{padding:0 2px}
#contact-form button[type="submit"]{height:48px;width:100%;padding:0 28px;border:0;border-radius:9999px;font-size:15px;font-weight:700;letter-spacing:.04em;color:#fff;background:#7b89a6;box-shadow:0 2px 6px rgba(15,23,42,.12);cursor:pointer;transition:background-color .25s ease}
#contact-form button[type="submit"]:hover{background:#041A55}
#contact-form button[type="submit"]:active{transform:translateY(0) scale(.995);box-shadow:0 6px 18px rgba(4,26,85,.28)}
#contact-form button[type="submit"]:focus{outline:none}
@media (min-width:768px){
  #contact-form .contactus{padding:32px 28px}
  #contact-form h1{font-size:48px}
  #contact-form .contact{grid-template-columns:1fr 1fr;grid-auto-flow:row dense}
  #contact-form input[name="name"]{grid-column:auto}
  #contact-form input[type="email"]{grid-column:auto}
  #contact-form .contact p:has(textarea){grid-column:1/-1}
  #contact-form textarea{grid-column:1/-1}
  #contact-form .contact>p:has(button[type="submit"]){grid-column:1/-1}
}


/* ===== FOOTER ===== */
#footer {
    padding-top: 0;
}
#footer .footer-bg {
    background: #F6F7F2;
    text-align: center;
    font-size: 0.85rem;
    color: #374151;
}
#footer .footer-links {
    justify-content: center;
}
#footer .footer-links a {
    text-decoration: none;
    margin: 0 10px;
    font-size: 0.85rem;
    color: #374151;
}
#footer .footer-links a::before {
    content: none;
}
#footer .footer-links a:hover {
    text-decoration: underline;
    color: #111827;
}
#footer .footer-copy {
    font-size: 0.8rem;
    margin: 0;
    opacity: 0.9;
    color: #6B7280;
    text-align: center;
}
/* ===== MISC / LAYOUT ===== */
.layout{padding-top:10px}
#serp{padding-top:30px}
/* external-scripts box */
.item.item-external-scripts .border-true {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.06) inset,
    0 12px 28px rgba(0,0,0,0.12),
    0 2px 8px rgba(0,0,0,0.06);
  padding: 16px;
  overflow: hidden;
  margin-bottom: 24px;   
}

/* table */
.item.item-paragraph table {
  border-collapse: collapse;
  border: 1px solid #000;      
}
.item.item-paragraph table th,
.item.item-paragraph table td {
  border: 1px solid #000;      
  padding: 4px 8px;            
}
.item.item-paragraph table th {
  background: rgb(0, 0, 0);
  color: #FFFFFF;
  font-weight: 700;
}
.item.item-paragraph table tbody tr:nth-child(even) td {
  background: #f6f6f6;
}

@media (max-width:990px){
  #serp{padding-top:80px}
  .sublist-icon{width:100px!important;height:100px!important}
  .sublist-02{width:200px!important;height:200px!important}
  .sublist-label{font-size:30px!important}
  h1{font-size:24px}
  h2{font-size:20px}
  h3{font-size:18px}
}
@media (max-width:990px){
  .layout {
    padding-top : 10px;
  }
}


.container {
   max-width : 1600px !important;
}
