@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --ink:#172b3b;
  --ink2:#243e50;
  --muted:#657783;
  --cream:#f5f3ee;
  --paper:#fff;
  --gold:#c68d4d;
  --gold2:#e8c49b;
  --line:#dce2e4;
  --blue:#50768a;
  --green:#47715d;
  --shadow:0 20px 60px rgba(19,42,57,.12);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  line-height:1.65;
}
h1,h2,h3,h4,.brand-name {
  font-family:Manrope,sans-serif;
  letter-spacing:-.035em;
  line-height:1.13;
}
h1 {
  font-size:clamp(2.55rem,5vw,5rem);
  font-weight:700;
}
h2 {
  font-size:clamp(1.9rem,3vw,3rem);
  font-weight:700;
}
h3 {
  font-size:1.35rem;
  font-weight:700;
}
p {
  color:#586b78;
}
.container {
  max-width:1200px;
}
.topline {
  background:var(--ink);
  color:#d6e0e3;
  font-size:.78rem;
  letter-spacing:.07em;
}
.topline a {
  color:#f0d7b8;
  text-decoration:none;
}
.site-header {
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(23,43,59,.08);
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter:blur(12px);
}
.header-inner {
  min-height:83px;
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ink);
}
.brand-mark {
  width:43px;
  height:43px;
  border-radius:14px 14px 14px 4px;
  background:var(--ink);
  color:#f2d2ad;
  display:grid;
  place-items:center;
  font:800 1.2rem Manrope;
  box-shadow:inset 0 0 0 1px #345367;
}
.brand-name {
  font-weight:800;
  font-size:1rem;
  line-height:1.1;
}
.brand-caption {
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
  margin-top:5px;
}
.nav-link {
  color:var(--ink)!important;
  font-weight:600;
  font-size:.92rem;
  padding:.65rem .75rem!important;
  position:relative;
}
.nav-link:after {
  content:"";
  position:absolute;
  height:2px;
  background:var(--gold);
  left:.75rem;
  right:.75rem;
  bottom:5px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s;
}
.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link.active:after {
  transform:scaleX(1);
}
.dropdown-menu {
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:.5rem;
}
.dropdown-item {
  border-radius:7px;
  padding:.55rem .75rem;
}
.btn {
  border-radius:7px;
  padding:.72rem 1.1rem;
  font-weight:700;
}
.btn-primary {
  --bs-btn-bg:var(--ink);
  --bs-btn-border-color:var(--ink);
  --bs-btn-hover-bg:#27485e;
  --bs-btn-hover-border-color:#27485e;
  --bs-btn-active-bg:#27485e;
}
.btn-outline-dark {
  --bs-btn-color:var(--ink);
  --bs-btn-border-color:#9caab0;
  --bs-btn-hover-bg:var(--ink);
  --bs-btn-hover-border-color:var(--ink);
}
.btn-gold {
  background:var(--gold);
  color:#171d21;
  border:1px solid var(--gold);
}
.btn-gold:hover,.btn-gold:focus {
  background:#d8a972;
  color:#172b3b;
}
.eyebrow {
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#9c6b37;
}
.hero {
  background:var(--ink);
  color:white;
  position:relative;
  overflow:hidden;
}
.hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(16,34,47,.97) 0%,rgba(16,34,47,.86) 48%,rgba(16,34,47,.28) 100%),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1900&q=85') center/cover;
}
.hero:after {
  content:"";
  position:absolute;
  right:-8vw;
  bottom:-25rem;
  width:62vw;
  height:62vw;
  border:1px solid rgba(231,195,153,.22);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(231,195,153,.025),0 0 0 110px rgba(231,195,153,.025);
}
.hero-content {
  position:relative;
  z-index:2;
  min-height:640px;
  display:flex;
  align-items:center;
  padding:80px 0;
}
.hero h1 {
  max-width:800px;
  color:white;
  margin:18px 0;
}
.hero p {
  font-size:1.17rem;
  color:#d2dce0;
  max-width:650px;
}
.hero .eyebrow {
  color:#e7c399;
}
.hero-controls {
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  top:50%;
  display:flex;
  justify-content:space-between;
  padding:0 18px;
  pointer-events:none;
}
.slider-arrow {
  pointer-events:auto;
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.45);
  color:white;
  display:grid;
  place-items:center;
}
.slider-arrow:hover,.slider-arrow:focus {
  background:var(--gold);
  color:var(--ink);
}
.slide {
  display:none;
}
.slide.active {
  display:block;
  animation:fade .6s ease;
}
@keyframes fade {
  from {
    opacity:.35;
    transform:translateY(8px);
  }
  to {
    opacity:1;
    transform:none;
  }
}
.hero .slide-count {
  font-size:.8rem;
  letter-spacing:.12em;
  color:#e0c7a9;
}
.section {
  padding:92px 0;
}
.section-tight {
  padding:65px 0;
}
.section-white {
  background:#fff;
}
.section-dark {
  background:var(--ink);
  color:#fff;
}
.section-dark p {
  color:#c0cdd1;
}
.section-heading {
  max-width:720px;
  margin-bottom:42px;
}
.section-heading p {
  font-size:1.06rem;
}
.lead {
  font-size:1.15rem;
  color:#536775;
}
.panel {
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px;
  height:100%;
  box-shadow:0 8px 28px rgba(23,43,59,.04);
}
.panel:hover {
  box-shadow:var(--shadow);
  transform:translateY(-2px);
  transition:.2s;
}
.icon-box {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f2e7d9;
  color:#875d31;
  font-size:1.15rem;
  margin-bottom:18px;
}
.split-visual {
  min-height:430px;
  border-radius:16px;
  background:linear-gradient(140deg,rgba(20,43,59,.1),rgba(20,43,59,.3)),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1200&q=85') center/cover;
  position:relative;
}
.visual-note {
  position:absolute;
  left:20px;
  bottom:20px;
  background:#fff;
  padding:16px 19px;
  border-radius:10px;
  max-width:260px;
  box-shadow:var(--shadow);
}
.visual-note strong {
  display:block;
  font-family:Manrope;
}
.service-row {
  display:flex;
  gap:20px;
  padding:21px 0;
  border-bottom:1px solid var(--line);
}
.service-row:last-child {
  border-bottom:0;
}
.service-icon {
  color:var(--gold);
  font-size:1.3rem;
  width:35px;
}
.quote-band {
  background:#e8e3d9;
}
.quote-band blockquote {
  font:600 clamp(1.4rem,2.2vw,2rem) Manrope;
  max-width:900px;
  margin:0;
  color:var(--ink);
}
.page-hero {
  background:var(--ink);
  color:#fff;
  padding:70px 0 74px;
  position:relative;
  overflow:hidden;
}
.page-hero:after {
  content:"";
  position:absolute;
  right:9%;
  top:-220px;
  width:520px;
  height:520px;
  border:1px solid rgba(233,195,153,.22);
  border-radius:50%;
  box-shadow:0 0 0 50px rgba(233,195,153,.025),0 0 0 100px rgba(233,195,153,.025);
}
.page-hero .container {
  position:relative;
  z-index:1;
}
.page-hero h1 {
  font-size:clamp(2.4rem,4vw,3.8rem);
  margin:.45rem 0;
}
.page-hero p {
  color:#cfdbdf;
  max-width:650px;
  margin:0;
}
.breadcrumb {
  margin-top:19px;
  margin-bottom:0;
}
.breadcrumb-item,.breadcrumb-item a {
  color:#b5c4c9;
  font-size:.88rem;
}
.breadcrumb-item.active {
  color:#fff;
}
.breadcrumb-item+.breadcrumb-item:before {
  color:#9caeb5;
}
.form-shell {
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:var(--shadow);
  padding:clamp(24px,4vw,42px);
}
.form-label {
  font-weight:700;
  font-size:.91rem;
  color:#2d4656;
}
.required {
  color:#a43532;
}
.form-control,.form-select {
  min-height:48px;
  border-color:#cbd4d8;
  border-radius:7px;
}
.form-control:focus,.form-select:focus {
  border-color:#64869a;
  box-shadow:0 0 0 .2rem rgba(80,118,138,.16);
}
.form-text {
  color:#70818b;
}
.invalid-feedback {
  font-size:.84rem;
}
.field-error {
  display:none;
  color:#a43532;
  font-size:.84rem;
  margin-top:5px;
}
.is-invalid~.field-error {
  display:block;
}
.alert-demo {
  background:#fff6e9;
  border:1px solid #e5cba9;
  color:#543e28;
  border-radius:9px;
  padding:14px 16px;
  font-size:.9rem;
}
.site-footer {
  background:#122633;
  color:#dbe3e5;
  padding:58px 0 25px;
  overflow-x:clip;
}
.site-footer a {
  color:#d7bd9f;
  text-decoration:none;
}
.site-footer a:hover {
  text-decoration:underline;
}
.footer-brand {
  color:white;
  font:800 1.1rem Manrope;
}
.footer-bottom {
  position:relative;
  border-top:0;
  margin-top:38px;
  padding-top:20px;
  font-size:.83rem;
  color:#aebcc1;
}
.footer-bottom:before {
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  border-top:1px solid rgba(255,255,255,.16);
}
.footer-bottom p {
  color:#aebcc1;
  margin:0;
}
.go-top {
  position:fixed;
  right:22px;
  bottom:22px;
  width:46px;
  height:46px;
  z-index:1001;
  border:0;
  border-radius:50%;
  background:var(--gold);
  color:var(--ink);
  box-shadow:0 6px 18px rgba(0,0,0,.2);
  display:none;
}
.cookie-bar {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:1100;
  background:#fff;
  box-shadow:0 -5px 24px rgba(15,34,46,.14);
  padding:15px 0;
  display:none;
}
.cookie-bar p {
  margin:0;
  color:#435763;
  font-size:.9rem;
}
.cookie-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.cookie-actions .btn {
  padding:.48rem .72rem;
  font-size:.84rem;
}
.auth-body {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:linear-gradient(140deg,#edf0ed,#f8f6f1 55%,#e6eceb);
}
.auth-main {
  flex:1;
  display:grid;
  place-items:center;
  padding:48px 16px;
}
.auth-card {
  width:min(100%,540px);
  background:#fff;
  padding:clamp(25px,5vw,46px);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.auth-footer {
  padding:20px;
  text-align:center;
  font-size:.82rem;
  color:#60737c;
}
.auth-footer a {
  color:var(--ink);
}
.demo-badge {
  display:inline-flex;
  gap:7px;
  align-items:center;
  background:#f3e8d8;
  color:#694a2d;
  border-radius:99px;
  padding:5px 11px;
  font-size:.76rem;
  font-weight:700;
}
.portal-shell {
  min-height:calc(100vh - 84px);
  display:flex;
}
.portal-nav {
  width:252px;
  background:#fff;
  border-right:1px solid var(--line);
  padding:28px 16px;
  flex-shrink:0;
}
.portal-nav .nav-link {
  display:flex!important;
  align-items:center;
  gap:12px;
  border-radius:8px;
  margin-bottom:4px;
  padding:11px 12px!important;
}
.portal-nav .nav-link:after {
  display:none;
}
.portal-nav .nav-link.active,.portal-nav .nav-link:hover {
  background:#edf2f2;
  color:#1d4558!important;
}
.portal-content {
  flex:1;
  padding:42px clamp(20px,5vw,64px);
}
.profile-value {
  padding:13px 15px;
  background:#f5f7f6;
  border:1px solid #e1e6e5;
  border-radius:8px;
  min-height:49px;
}
.bo-shell {
  min-height:100vh;
  display:flex;
  background:#f2f4f3;
}
.bo-sidebar {
  width:256px;
  min-height:100vh;
  position:fixed;
  inset:0 auto 0 0;
  background:#172d3c;
  color:#d7e1e4;
  display:flex;
  flex-direction:column;
  z-index:1020;
  transition:transform .25s;
}
.bo-brand {
  height:76px;
  display:flex;
  align-items:center;
  padding:0 21px;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  font:800 1rem Manrope;
}
.bo-brand .brand-mark {
  margin-right:11px;
}
.bo-nav {
  padding:18px 12px;
  overflow:auto;
  flex:1;
}
.bo-group-toggle {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:0;
  background:transparent;
  color:#94a9b3;
  padding:13px 10px 7px;
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-align:left;
}
.bo-group-toggle:hover,.bo-group-toggle:focus-visible {
  color:#fff;
}
.bo-group-toggle.active {
  color:#f0c28d;
}
.bo-group-toggle i {
  font-size:.72rem;
  transition:transform .15s;
}
.bo-group-toggle[aria-expanded="true"] i {
  transform:rotate(180deg);
}
.bo-subnav {
  display:none;
}
.bo-group-toggle[aria-expanded="true"]+.bo-subnav {
  display:block;
}
.bo-link {
  display:flex;
  align-items:center;
  gap:12px;
  color:#d4e0e2;
  text-decoration:none;
  padding:10px;
  border-radius:7px;
  font-size:.91rem;
  margin:2px 0;
}
.bo-link i {
  width:18px;
  text-align:center;
  color:#b7c6cb;
}
.bo-link:hover {
  color:#fff;
  background:#2b495a;
}
.bo-link.active {
  color:#f0c28d;
  background:#2b495a;
  font-weight:700;
}
.bo-link.active i {
  color:#f0c28d;
}
.bo-bottom {
  padding:12px;
  border-top:1px solid rgba(255,255,255,.12);
}
.bo-main {
  width:calc(100% - 256px);
  margin-left:256px;
  min-height:100vh;
}
.bo-topbar {
  height:76px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 30px;
  position:sticky;
  top:0;
  z-index:900;
}
.bo-topbar h1 {
  font-size:1.35rem;
  margin:0;
  font-weight:700;
  letter-spacing:-.02em;
}
.bo-top-actions {
  display:flex;
  align-items:center;
  gap:17px;
}
.bo-top-actions a {
  font-size:.9rem;
  color:var(--ink);
  text-decoration:none;
}
.bo-content {
  padding:30px;
}
.bo-footer {
  margin:0 30px;
  padding:20px 0;
  border-top:1px solid var(--line);
  font-size:.82rem;
  color:#697a83;
}
.bo-footer a {
  color:var(--ink);
}
.bo-menu-toggle {
  display:none;
}
.bo-stat {
  border:1px solid var(--line);
  border-radius:12px;
  background:white;
  padding:22px;
}
.bo-stat span {
  color:#657782;
  font-size:.86rem;
}
.bo-stat strong {
  display:block;
  font:700 1.8rem Manrope;
  margin-top:7px;
}
.filterbar {
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.filter-left,.filter-right {
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
}
.filterbar .form-control,.filterbar .form-select {
  min-height:40px;
}
.table-wrap {
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:auto;
}
.table {
  margin:0;
  white-space:nowrap;
}
.table>:not(caption)>*>* {
  padding:13px 14px;
  border-right:1px solid #e3e8e9;
  vertical-align:middle;
}
.table thead th {
  background:#f3f6f5;
  color:#405662;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.table tbody tr:hover>* {
  background:#f7f8f6;
}
.table td:first-child,.table th:first-child,.table td:last-child,.table th:last-child {
  width:1%;
  white-space:nowrap;
}
.table td:last-child .btn {
  padding:.35rem .55rem;
}
.status {
  display:inline-block;
  border-radius:99px;
  padding:4px 9px;
  font-size:.76rem;
  font-weight:700;
  background:#e4f0e8;
  color:#346046;
}
.status.inactive {
  background:#f1e5e3;
  color:#8b463d;
}
.pagination {
  margin:18px 0;
}
.pagination .page-link {
  color:var(--ink);
}
.pagination .active .page-link {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.check-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}
.permission-module {
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  margin-bottom:12px;
  overflow:hidden;
}
.permission-head {
  background:#f3f6f5;
  padding:12px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:700;
}
.permission-actions {
  padding:14px 16px;
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.maintenance-preview {
  padding:50px 25px;
  border-radius:12px;
  background:var(--ink);
  color:white;
  text-align:center;
}
.maintenance-preview p {
  color:#d2dce0;
}
.mobile-overlay {
  display:none;
}
@media(max-width:991.98px) {
  .header-inner {
    min-height:72px;
  }
  .navbar-collapse {
    padding:12px 0 18px;
  }
  .navbar-nav .nav-link {
    padding:.6rem .4rem!important;
  }
  .hero-content {
    min-height:570px;
    padding:65px 0;
  }
  .portal-shell {
    display:block;
  }
  .portal-nav {
    width:auto;
    border:0;
    border-bottom:1px solid var(--line);
    padding:12px;
    display:flex;
    gap:4px;
    overflow:auto;
  }
  .portal-nav .nav-link {
    white-space:nowrap;
    margin:0;
  }
  .portal-content {
    padding:30px 20px;
  }
  .bo-sidebar {
    transform:translateX(-100%);
  }
  .bo-sidebar.open {
    transform:translateX(0);
  }
  .mobile-overlay.show {
    display:block;
    position:fixed;
    inset:0;
    background:rgba(6,19,28,.5);
    z-index:1010;
  }
  .bo-main {
    width:100%;
    margin-left:0;
  }
  .bo-menu-toggle {
    display:inline-flex;
  }
  .bo-topbar {
    padding:0 18px;
  }
  .bo-content {
    padding:22px 16px;
  }
  .bo-footer {
    margin:0 16px;
  }
  .check-grid {
    grid-template-columns:repeat(2,minmax(130px,1fr));
  }
}
@media(max-width:575.98px) {
  body {
    font-size:15px;
  }
  .topline .container {
    justify-content:center!important;
  }
  .hero-content {
    min-height:610px;
  }
  .hero:before {
    background:linear-gradient(90deg,rgba(16,34,47,.95),rgba(16,34,47,.73)),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=900&q=80') center/cover;
  }
  .hero-controls {
    padding:0 8px;
  }
  .slider-arrow {
    width:40px;
    height:40px;
  }
  .section {
    padding:66px 0;
  }
  .section-tight {
    padding:48px 0;
  }
  .page-hero {
    padding:52px 0;
  }
  .cookie-actions {
    margin-top:10px;
  }
  .bo-topbar h1 {
    font-size:1.06rem;
  }
  .bo-top-actions {
    gap:9px;
  }
  .bo-top-actions .open-label {
    display:none;
  }
  .filter-left,.filter-right {
    width:100%;
  }
  .filterbar .form-control {
    flex:1;
    min-width:130px;
  }
  .check-grid {
    grid-template-columns:1fr;
  }
  .footer-bottom {
    text-align:center;
  }
  .footer-bottom .text-end {
    text-align:center!important;
    margin-top:10px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
}
.bo-main {
  display:flex;
  flex-direction:column;
}
.bo-content {
  flex:1;
}
.bo-footer {
  margin-top:auto;
}
.offcanvas.offcanvas-end {
  width:min(100vw,520px)!important;
}
.drawer-footer {
  position:sticky;
  bottom:0;
  background:#fff;
  padding:14px 24px;
  border-top:1px solid var(--line);
}
.table-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.action-icon {
  border:0;
  background:transparent;
  color:#2365b5;
  padding:5px 7px;
  border-radius:6px;
}
.action-icon:hover,.action-icon:focus-visible {
  background:#e9eff5;
  color:#174c86;
}
.action-icon.delete-record {
  color:#a34237;
}
.action-icon.delete-record:hover,.action-icon.delete-record:focus-visible {
  background:#fae9e7;
  color:#842d24;
}
.bo-group-toggle .bo-chevron {
  font-size:.72rem;
  transition:transform .15s;
}
.bo-group-toggle[aria-expanded="true"] .bo-chevron {
  transform:rotate(180deg);
}
.bo-group-toggle .bo-access-icon {
  font-size:.9rem;
  margin-right:8px;
}
.bo-nav-group+.bo-nav-group {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.12);
}
.bo-nav>a.bo-link+.bo-nav-group {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.12);
}
.bo-bottom {
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  border-top:0;
}
.bo-bottom-spacer {
  height:18px;
  flex:0 0 18px;
}
.bo-access-group {
  display:flex;
  flex-direction:column-reverse;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.12);
}
.bo-maintenance-tile {
  display:flex;
  align-items:center;
  gap:10px;
  margin:4px 0;
  padding:10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:#203b4d;
  color:#fff;
  text-decoration:none;
  transition:background .18s;
}
.bo-maintenance-tile:hover,.bo-maintenance-tile:focus-visible {
  background:#2b495a;
  color:#fff;
}
.bo-maintenance-icon {
  width:35px;
  height:35px;
  flex:0 0 35px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#e8c49b;
  color:#172d3c;
}
.bo-maintenance-tile strong {
  display:block;
  font-size:.84rem;
}
.bo-maintenance-tile small {
  display:block;
  margin-top:2px;
  color:#c0cdd1;
  font-size:.7rem;
  line-height:1.3;
}
.bo-main {
  display:flex;
  flex-direction:column;
}
.bo-content {
  flex:1;
}
.bo-footer {
  margin-top:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:16px;
}
.bo-footer-credit {
  grid-column:1;
  justify-self:start;
  white-space:nowrap;
}
.bo-footer-links {
  grid-column:2;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.bo-footer-balance {
  grid-column:3;
}
@media(max-width:1199.98px) {
  .bo-footer {
    grid-template-columns:1fr;
    justify-items:center;
    gap:10px;
    text-align:center;
  }
  .bo-footer-credit,.bo-footer-links {
    grid-column:1;
    justify-self:center;
  }
  .bo-footer-credit {
    white-space:normal;
  }
  .bo-footer-balance {
    display:none;
  }
}
.offcanvas.offcanvas-end {
  width:min(100vw,520px)!important;
}
.drawer-footer {
  position:sticky;
  bottom:0;
  background:#fff;
  padding:14px 24px;
  border-top:1px solid var(--line);
}
.table-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.action-icon {
  border:0;
  background:transparent;
  color:#2365b5;
  padding:5px 7px;
  border-radius:6px;
}
.action-icon:hover,.action-icon:focus-visible {
  background:#e9eff5;
  color:#174c86;
}
.action-icon.delete-record {
  color:#a34237;
}
.action-icon.delete-record:hover,.action-icon.delete-record:focus-visible {
  background:#fae9e7;
  color:#842d24;
}
.grid-filterbar {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:nowrap;
}
.grid-filterbar .filter-left,.grid-filterbar .filter-right {
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:nowrap;
  width:auto;
}
.grid-filterbar .grid-search {
  width:220px;
  flex:0 0 220px;
}
.grid-filterbar .filter-left .form-select[aria-label="Status filter"] {
  width:165px;
  flex:0 0 165px;
}
.grid-filterbar .records-per-page {
  width:175px;
  flex:0 0 175px;
}
.grid-filterbar .form-control,.grid-filterbar .form-select {
  height:40px;
  min-height:40px;
  min-width:0;
}
.grid-filterbar .btn {
  height:40px;
  min-height:40px;
  padding:.375rem .75rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.dashboard-filterbar {
  padding:10px;
  gap:8px;
  margin-bottom:12px;
}
.dashboard-filterbar .filter-left {
  gap:8px;
}
.dashboard-filterbar .grid-search {
  width:155px;
  flex:1 1 155px;
}
.dashboard-filterbar .filter-left .form-select[aria-label="Status filter"] {
  width:140px;
  flex:0 0 140px;
}
.dashboard-filterbar .records-per-page {
  width:155px;
  flex:0 0 155px;
}
.users-filterbar {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:nowrap;
}
.users-filterbar .filter-left,.users-filterbar .filter-right {
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:nowrap;
  width:auto;
}
.users-filterbar .grid-search {
  width:220px;
  flex:0 0 220px;
}
.users-filterbar .filter-left .form-select[aria-label="Status filter"] {
  width:165px;
  flex:0 0 165px;
}
.users-filterbar .records-per-page {
  width:175px;
  flex:0 0 175px;
}
.users-filterbar .form-control,.users-filterbar .form-select {
  height:40px;
  min-height:40px;
  min-width:0;
}
.users-filterbar .btn {
  height:40px;
  min-height:40px;
  padding:.375rem .75rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.users-filterbar .filter-right .btn {
  white-space:nowrap;
}
.bo-content .table th:nth-child(2),.bo-content .table td:nth-child(2) {
  width:1%;
  white-space:nowrap;
  text-align:center;
  padding-left:10px;
  padding-right:10px;
}
.bo-content .table th:nth-child(2) .form-check-input,.bo-content .table td:nth-child(2) .form-check-input {
  margin:0;
}
.table-sort {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  padding:0;
  color:inherit;
  font:inherit;
  text-transform:inherit;
  letter-spacing:inherit;
  cursor:pointer;
}
.table-sort i {
  color:#71838b;
  font-size:.75rem;
}
.table-sort:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.grid-pagination {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-top:18px;
}
.grid-pagination nav,.grid-pagination .pagination {
  margin:0;
}
.grid-pagination-info {
  color:var(--muted);
  font-size:.9rem;
}
@media(max-width:767.98px) {
  .grid-filterbar {
    flex-wrap:wrap;
  }
  .grid-filterbar .filter-left {
    width:100%;
    flex-wrap:wrap;
  }
  .grid-filterbar .filter-right {
    width:100%;
    justify-content:flex-end;
  }
  .grid-filterbar .grid-search {
    width:min(100%,220px);
    flex:1 1 180px;
  }
  .users-filterbar {
    flex-wrap:wrap;
  }
  .users-filterbar .filter-left {
    width:100%;
    flex-wrap:wrap;
  }
  .users-filterbar .grid-search {
    width:min(100%,250px);
    flex:1 1 200px;
  }
  .users-filterbar .filter-right {
    width:100%;
    justify-content:flex-end;
  }
  .grid-pagination {
    flex-wrap:wrap;
  }
  .grid-pagination nav {
    margin-left:auto;
  }
}
@media(max-width:1199.98px) {
  .grid-filterbar,.users-filterbar {
    flex-wrap:wrap;
  }
  .grid-filterbar .filter-left,.users-filterbar .filter-left {
    width:100%;
    flex-wrap:wrap;
  }
  .grid-filterbar .filter-right,.users-filterbar .filter-right {
    width:100%;
    justify-content:flex-end;
  }
  .grid-filterbar .grid-search,.users-filterbar .grid-search {
    width:min(100%,220px);
    flex:1 1 180px;
  }
  .grid-filterbar .filter-left .form-select[aria-label="Status filter"],.users-filterbar .filter-left .form-select[aria-label="Status filter"] {
    width:165px;
    flex:0 1 165px;
  }
  .grid-filterbar .records-per-page,.users-filterbar .records-per-page {
    width:175px;
    flex:0 1 175px;
  }
  .grid-pagination {
    flex-wrap:wrap;
  }
  .grid-pagination nav {
    margin-left:auto;
  }
}
/* Blog cards, the home include, article pages, and their responsive sidebar. */
.blog-home-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:34px;
}
.blog-home-heading h2 {
  max-width:760px;
  margin:.55rem 0 .8rem;
}
.blog-home-heading p {
  max-width:650px;
  margin:0;
}
.blog-card {
  height:100%;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  color:var(--ink);
}
.blog-card-image {
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#e8e3d9;
}
.blog-card-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.blog-card-image:hover img,.blog-card-image:focus-visible img {
  transform:scale(1.035);
}
.blog-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:22px;
}
.blog-card-meta {
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:.78rem;
  margin-bottom:13px;
}
.blog-card-meta span {
  color:#875d31;
  font-weight:700;
}
.blog-card h3 {
  font-size:1.2rem;
  line-height:1.28;
  margin-bottom:12px;
}
.blog-card h3 a {
  color:var(--ink);
  text-decoration:none;
}
.blog-card h3 a:hover,.blog-card h3 a:focus-visible {
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-underline-offset:4px;
}
.blog-card-body>p {
  font-size:.94rem;
  line-height:1.65;
  margin-bottom:18px;
}
.blog-read-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  color:var(--ink);
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
}
.blog-read-link i {
  color:#9c6b37;
  transition:transform .2s;
}
.blog-read-link:hover i,.blog-read-link:focus-visible i {
  transform:translateX(4px);
}
.blog-detail-hero .breadcrumb {
  margin:0 0 25px;
}
.blog-detail-hero .eyebrow {
  color:#e8c49b;
}
.blog-detail-hero h1 {
  max-width:900px;
}
.blog-feature-image {
  position:relative;
  margin:0 0 24px;
  background:#e8e3d9;
}
.blog-feature-image img {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.blog-feature-image figcaption {
  position:absolute;
  left:18px;
  top:18px;
}
.blog-feature-image time {
  display:inline-block;
  background:var(--ink);
  color:white;
  padding:9px 13px;
  font-size:.82rem;
  font-weight:700;
}
.blog-author-line {
  display:flex;
  align-items:center;
  gap:12px 20px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:.9rem;
}
.blog-category {
  color:#875d31;
  font-weight:700;
}
.blog-intro {
  margin:25px 0 34px;
  color:#344d5c;
  font:500 1.22rem/1.65 Manrope,sans-serif;
}
.blog-main-text p {
  margin-bottom:1rem;
}
.blog-copy-section {
  margin:0 0 30px;
}
.blog-copy-section h2 {
  font-size:1.55rem;
  margin:0 0 14px;
}
.blog-article-footer {
  margin-top:38px;
  padding-top:26px;
  border-top:1px solid var(--line);
}
.blog-article-note {
  padding:17px 20px;
  border:1px solid var(--line);
  background:#f2eee6;
  color:#334b58;
}
.blog-tags,.blog-share {
  margin-top:24px;
}
.blog-tags h2,.blog-share h2,.blog-sidebar h2 {
  font-size:1.05rem;
  letter-spacing:0;
  margin:0 0 12px;
}
.blog-tags ul {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}
.blog-tags li>span {
  display:inline-block;
  border:1px solid var(--line);
  padding:6px 10px;
  color:var(--ink);
  font-size:.82rem;
}
.blog-share {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.blog-share h2 {
  margin:0;
}
.blog-share-links {
  display:flex;
  gap:8px;
}
.blog-share-links a {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #aeb9bd;
  color:var(--ink);
  text-decoration:none;
}
.blog-share-links a:hover,.blog-share-links a:focus-visible {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.blog-sidebar {
  position:sticky;
  top:110px;
  background:#fff;
  border:1px solid var(--line);
  padding:24px;
}
.blog-sidebar li+li {
  border-top:1px solid var(--line);
}
.blog-sidebar li a {
  display:block;
  padding:15px 0;
  color:var(--ink);
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
}
.blog-sidebar li a:hover,.blog-sidebar li a:focus-visible {
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-underline-offset:4px;
}
.blog-sidebar time {
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:400;
}
.blog-sidebar-all {
  display:inline-flex;
  gap:9px;
  align-items:center;
  margin-top:18px;
  color:var(--ink);
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
}
.blog-sidebar-all i {
  color:#9c6b37;
}
@media(max-width:767.98px) {
  .blog-home-heading {
    align-items:flex-start;
    flex-direction:column;
  }
  .blog-home-heading .btn {
    align-self:flex-start;
  }
  .blog-card-body {
    padding:18px;
  }
  .blog-detail-hero .breadcrumb {
    margin-bottom:18px;
  }
  .blog-share {
    align-items:flex-start;
    flex-direction:column;
  }
  .blog-sidebar {
    position:static;
  }
}
@media(prefers-reduced-motion:reduce) {
  .blog-card-image img,.blog-read-link i {
    transition:none;
  }
}
.signin-toggle-field {
  min-width:0;
  padding-top:0;
  padding-bottom:0;
  border:0;
}
.signin-toggle-field legend {
  float:none;
  width:auto;
  margin-bottom:.5rem;
  font-size:.91rem;
  font-weight:700;
  line-height:1.65;
  color:#2d4656;
}
.signin-id-toggle {
  display:flex;
  min-height:50px;
  border:1px solid #cbd4d8;
  background:#fff;
}
.signin-id-toggle label {
  flex:1;
  display:grid;
  place-items:center;
  margin:0;
  padding:.65rem 1rem;
  color:var(--ink);
  font-weight:700;
  cursor:pointer;
  transition:background .15s,color .15s;
}
.signin-id-toggle input:checked+label {
  background:var(--ink);
  color:#fff;
}
.signin-id-toggle input:focus-visible+label {
  outline:3px solid #c68d4d;
  outline-offset:2px;
  position:relative;
  z-index:1;
}
.signin-section {
  padding:72px 0;
  background:linear-gradient(145deg,#f5f3ee 0%,#eef1ef 100%);
}
.signin-form-wrap {
  max-width:560px;
  margin:0 auto;
}
.signin-form-wrap-wide {
  max-width:672px;
}
.signin-form-wrap-narrow {
  max-width:448px;
}
.demo-login-note {
  display:grid;
  gap:1px;
  padding:11px 14px;
  font-size:.86rem;
  line-height:1.45;
}
.demo-login-note strong {
  font-family:Manrope;
  font-size:.91rem;
}
.demo-login-note small {
  color:var(--muted);
  margin-top:3px;
}
.portal-shell {
  display:block;
  min-height:0;
}
body.portal-page {
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.portal-page #main-content {
  flex:1 0 auto;
}
body.portal-page .site-footer {
  margin-top:auto;
}
.reviews-include {
  background:#f7f6f2;
}
.reviews-carousel {
  position:relative;
}
.reviews-slide {
  display:none;
}
.reviews-slide.active {
  display:block;
  animation:fade .25s ease;
}
.review-card {
  display:flex;
  flex-direction:column;
  padding:22px;
  background:#fff;
  border:1px solid #dfe5e5;
  border-radius:13px;
  box-shadow:0 8px 22px rgba(23,43,59,.045);
}
.review-card-head {
  display:flex;
  align-items:center;
  gap:12px;
}
.review-card-head .review-avatar {
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  text-align:center;
  line-height:1;
  padding:0;
  border-radius:50%;
  background:#e8e2d7;
  color:#624b32;
  font-size:.82rem;
  font-weight:800;
}
.review-card-head strong,.review-card-head span {
  display:block;
}
.review-card-head strong {
  font-family:Manrope,sans-serif;
  font-size:.94rem;
  color:var(--ink);
}
.review-card-head span {
  font-size:.8rem;
  color:var(--muted);
}
.review-card-rating {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:18px 0 10px;
}
.review-stars {
  color:#ad793c;
  letter-spacing:.08em;
  font-size:.92rem;
  white-space:nowrap;
}
.review-card-rating time {
  color:var(--muted);
  font-size:.75rem;
  white-space:nowrap;
}
.review-card h3 {
  font-size:1.08rem;
  line-height:1.35;
  margin:0 0 8px;
}
.review-card h3 a {
  color:var(--ink);
  text-decoration:none;
}
.review-card h3 a:hover {
  text-decoration:underline;
  text-decoration-color:var(--gold);
}
.review-card p {
  font-size:.9rem;
  line-height:1.55;
  margin:0 0 16px;
}
.review-read-more {
  margin-top:auto;
  color:#365b70;
  font-size:.86rem;
  font-weight:700;
  text-decoration:none;
}
.review-read-more:hover {
  text-decoration:underline;
}
.reviews-carousel-controls {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:22px;
}
.reviews-carousel-count {
  font-size:.84rem;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.review-grid-item {
  display:block;
}
.reviews-page .pagination {
  flex-wrap:wrap;
}
.reviews-page-count {
  color:var(--muted);
  font-size:.88rem;
}
.reviews-per-page {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:.88rem;
  white-space:nowrap;
}
.reviews-per-page .form-select {
  min-height:40px;
  width:auto;
}
.reviews-pagination .page-item[hidden] {
  display:none!important;
}
.review-detail-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  align-items:start;
  gap:36px;
  max-width:1200px;
  margin:0 auto;
}
.review-detail {
  max-width:none;
  margin:0;
  padding:clamp(24px,5vw,52px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.review-back-link {
  color:#365b70;
  text-decoration:none;
  font-weight:700;
}
.review-detail h2 {
  font-size:clamp(1.8rem,3vw,2.5rem);
}
.review-detail-copy {
  margin:20px 0 28px;
  font-size:1.08rem;
  line-height:1.85;
}
.review-detail-footer {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.review-detail-side {
  display:flex;
  justify-content:flex-end;
  padding-top:0;
}
.review-modal .modal-content {
  border:0;
  border-radius:15px;
  box-shadow:var(--shadow);
}
.review-modal .modal-header,.review-modal .modal-footer {
  padding:20px 24px;
}
.review-modal .modal-body {
  padding:20px 24px;
}
.review-modal .modal-title {
  color:var(--ink);
}
.review-form-shell {
  max-width:780px;
  margin:0 auto;
}
.contact-section {
  background:#f7f6f2;
}
.contact-heading {
  max-width:760px;
}
.contact-sample-note {
  font-size:.84rem;
  color:var(--muted);
}
.contact-details-panel {
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(23,43,59,.045);
}
.contact-method-item {
  height:100%;
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:22px;
  background:#fff;
}
.contact-details-panel .col-md-6:not(:last-child) .contact-method-item {
  border-right:1px solid var(--line);
}
.contact-method-item .icon-box {
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin:0;
  border-radius:12px;
}
.contact-method-item h3 {
  margin:0 0 7px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.contact-method-item a,.contact-method-item address,.contact-method-value {
  display:block;
  margin:0;
  color:var(--ink);
  font-size:1.05rem;
  font-style:normal;
  font-weight:700;
  line-height:1.45;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.contact-method-item a:hover {
  text-decoration:underline;
  text-decoration-color:var(--gold);
}
.contact-form-shell {
  height:auto;
  border-radius:16px;
}
.contact-map-card {
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.contact-map-heading {
  padding:24px 26px;
}
.contact-map-heading h2 {
  color:var(--ink);
}
.contact-map-frame {
  display:block;
  flex:1;
  width:100%;
  min-height:520px;
  border:0;
  background:#e7ecea;
}
.contact-map-footer {
  display:flex;
  align-items:center;
  gap:6px;
  padding:15px 20px;
  color:var(--muted);
  font-size:.84rem;
}
.contact-map-footer a {
  margin-left:auto;
  color:#31586c;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.contact-map-footer a:hover {
  text-decoration:underline;
}
@media(max-width:991.98px) {
  .contact-map-frame {
    min-height:420px;
  }
}
@media(max-width:767.98px) {
  .contact-details-panel .col-md-6:not(:last-child) .contact-method-item {
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}
@media(max-width:575.98px) {
  .contact-method-item {
    padding:18px;
  }
  .contact-map-heading {
    padding:20px;
  }
  .contact-map-frame {
    min-height:340px;
  }
  .contact-map-footer {
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .contact-map-footer a {
    margin-left:0;
    width:100%;
  }
}
@media(max-width:767.98px) {
  .review-detail-layout {
    grid-template-columns:1fr;
    gap:20px;
  }
  .review-detail-side {
    justify-content:flex-start;
    padding-top:0;
  }
}
@media(max-width:575.98px) {
  .review-card {
    padding:18px;
  }
  .reviews-carousel-controls {
    justify-content:space-between;
  }
  .review-modal .modal-header,.review-modal .modal-footer,.review-modal .modal-body {
    padding:16px;
  }
}
.generic-cta {
  background:#f1eee7;
}
.generic-cta-panel {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:clamp(28px,5vw,54px);
  border-radius:16px;
  background:linear-gradient(120deg,#172b3b,#27475a);
  color:#fff;
  box-shadow:0 18px 48px rgba(23,43,59,.16);
}
.generic-cta-copy {
  max-width:700px;
}
.generic-cta-copy .eyebrow {
  color:#e8c49b;
}
.generic-cta-copy h2 {
  margin:.55rem 0 .65rem;
  color:#fff;
  font-size:clamp(1.75rem,3vw,2.6rem);
}
.generic-cta-copy p {
  margin:0;
  color:#d0dce0;
  max-width:620px;
}
@media(max-width:767.98px) {
  .generic-cta-panel {
    align-items:flex-start;
    flex-direction:column;
    gap:22px;
  }
}
.password-guidance {
  margin-top:5px;
  padding:14px 16px;
  background:#f7f8f6;
  border:1px solid #dfe5e3;
  border-radius:10px;
}
.password-guidance-title {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#334d5a;
  font-size:.84rem;
  font-weight:700;
}
.password-guidance-title i {
  color:#9b7045;
}
.password-requirements {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 18px;
  padding:0;
  margin:0;
  list-style:none;
}
.password-requirements li {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:#5d6e76;
  font-size:.82rem;
  line-height:1.4;
}
.password-requirements li i {
  flex:0 0 auto;
  color:#91a09e;
  font-size:.9rem;
}
.password-requirements li.is-met {
  color:#315c45;
}
.password-requirements li.is-met i {
  color:#3d7953;
}
@media(max-width:359.98px) {
  .password-requirements {
    grid-template-columns:1fr;
  }
}
.password-requirements {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 18px;
  padding-left:1.15rem;
  margin:5px 0 0;
  color:#586b78;
  font-size:.84rem;
  line-height:1.5;
}
@media(max-width:575.98px) {
  .password-requirements {
    gap:4px 12px;
    font-size:.8rem;
  }
}
.portal-nav {
  width:100%;
  min-height:68px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px max(16px,calc((100vw - 1200px)/2));
  border-right:0;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
  white-space:nowrap;
}
.portal-nav .nav-link {
  display:inline-flex!important;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  margin:0;
  padding:10px 13px!important;
}
.portal-nav .nav-link:after {
  display:none;
}
.portal-nav .nav-link.active,.portal-nav .nav-link:hover {
  background:#edf2f2;
  color:#1d4558!important;
}
.portal-nav .portal-logout {
  margin-left:auto;
}
.portal-content {
  max-width:1200px;
  margin:0 auto;
  padding:42px clamp(20px,5vw,64px);
}
.account-status {
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid #cddfd4;
  background:#f0f7f1;
  color:#315c3f;
  font-size:.86rem;
  font-weight:700;
}
@media(max-width:575.98px) {
  .portal-nav {
    padding:8px 14px;
  }
  .portal-nav .portal-logout {
    margin-left:0;
  }
  .portal-content {
    padding:30px 18px;
  }
}
.signin-intro {
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#172b3b;
  color:#fff;
  padding:clamp(30px,5vw,58px);
}
.signin-intro h1 {
  color:#fff;
  margin:.6rem 0 1rem;
}
.signin-intro .lead {
  color:#d3dfe1;
}
.signin-intro .eyebrow {
  color:#e8c49b;
}
.signin-benefit {
  display:flex;
  gap:15px;
  align-items:flex-start;
  margin-top:24px;
}
.signin-benefit>i {
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  background:#e8c49b;
  color:#172b3b;
}
.signin-benefit strong,.signin-benefit span {
  display:block;
}
.signin-benefit span {
  color:#c5d2d5;
  font-size:.92rem;
  margin-top:3px;
}
.signin-create {
  margin:34px 0 0;
  color:#d3dfe1;
}
.signin-create a {
  color:#f0d2ad;
  font-weight:700;
}
.signin-form-panel {
  height:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:clamp(26px,4vw,48px);
  box-shadow:0 18px 50px rgba(19,42,57,.08);
}
.signin-form-panel h2 {
  color:var(--ink);
}
.signin-form-panel .form-control,.signin-form-panel .form-select {
  min-height:50px;
  border-radius:7px;
}
.signin-form-panel .btn {
  min-height:50px;
  border-radius:7px;
}
.signin-form-panel .input-group .btn {
  min-height:50px;
  border-radius:0 7px 7px 0;
}
.signin-form-panel .input-group .form-control {
  border-radius:7px 0 0 7px;
}
.signin-form-panel .form-check-input {
  border-radius:0;
}
.signin-form-panel a {
  color:#31586c;
}
.signin-form-panel .signin-form-create {
  margin:20px 0 0;
  color:var(--muted);
  text-align:center;
}
.signin-form-panel .signin-form-create a {
  font-weight:700;
}
@media(max-width:991.98px) {
  .signin-section {
    padding:42px 0;
  }
  .signin-intro {
    min-height:360px;
  }
}
@media(max-width:575.98px) {
  .signin-section {
    padding:24px 0;
  }
  .signin-intro {
    min-height:0;
    padding:28px 24px;
  }
  .signin-form-panel {
    padding:26px 22px;
  }
}
:root {
  --ink:#211b64;
  --ink2:#294684;
  --muted:#5c6d82;
  --cream:#f4f7fb;
  --paper:#fff;
  --gold:#003d99;
  --gold2:#7eaaff;
  --line:#dce4ef;
  --blue:#294684;
  --green:#47715d;
  --shadow:0 20px 60px rgba(20,42,94,.12);
}
body {
  background:#f5f7fb;
  color:#18243d;
}
h1,h2,h3,h4 {
  letter-spacing:-.03em;
}
.site-header {
  box-shadow:0 6px 24px rgba(20,42,94,.045);
}
.brand-mark {
  background:#003d99;
  color:#fff;
  border-radius:8px;
  box-shadow:none;
}
.brand-name {
  color:#211b64;
}
.brand-caption {
  color:#627694;
}
.topline {
  background:#211b64;
  color:#e4e9f4;
}
.topline a {
  color:#fff;
}
.nav-link:after {
  background:#003d99;
}
.nav-link.active {
  color:#003d99!important;
}
.btn-primary {
  --bs-btn-bg:#003d99;
  --bs-btn-border-color:#003d99;
  --bs-btn-hover-bg:#294684;
  --bs-btn-hover-border-color:#294684;
  --bs-btn-active-bg:#211b64;
}
.btn-gold {
  background:#003d99;
  color:#fff;
  border-color:#003d99;
}
.btn-gold:hover,.btn-gold:focus {
  background:#294684;
  border-color:#294684;
  color:#fff;
}
.eyebrow {
  color:#003d99;
}
.hero {
  background:#211b64;
}
.hero:before {
  background:radial-gradient(ellipse at 84% 40%,rgba(0,61,153,.65),transparent 45%),linear-gradient(112deg,#211b64 0%,#1b3277 62%,#294684 100%);
}
.hero:after {
  border-color:rgba(126,170,255,.35);
  box-shadow:0 0 0 55px rgba(126,170,255,.045),0 0 0 110px rgba(126,170,255,.035);
}
.hero .eyebrow {
  color:#a9c8ff;
}
.hero p {
  color:#e0e8f7;
}
.hero .slide-count {
  color:#c9d9f7;
}
.slider-arrow:hover,.slider-arrow:focus {
  background:#003d99;
  color:#fff;
}
.section-dark {
  background:#211b64;
}
.page-hero {
  background:linear-gradient(115deg,#211b64,#294684);
}
.page-hero:after {
  border-color:rgba(126,170,255,.3);
  box-shadow:0 0 0 50px rgba(126,170,255,.04),0 0 0 100px rgba(126,170,255,.03);
}
.page-hero .eyebrow {
  color:#a9c8ff;
}
.page-hero h1 {
  color:#fff;
}
.page-hero p {
  color:#e0e8f7;
}
.breadcrumb-item,.breadcrumb-item a {
  color:#c5d2eb;
}
.breadcrumb-item.active {
  color:#fff;
}
.icon-box {
  background:#e8effb;
  color:#003d99;
}
.panel {
  border-color:#dce4ef;
}
.form-control:focus,.form-select:focus {
  border-color:#5b83cc;
  box-shadow:0 0 0 .2rem rgba(0,61,153,.14);
}
.form-label {
  color:#26395c;
}
.site-footer {
  background:#211b64;
}
.site-footer a {
  color:#d8e4ff;
}
.site-footer .footer-brand {
  color:#fff;
}
.footer-bottom {
  border-color:rgba(255,255,255,.18);
}
.footer-bottom:before {
  border-color:rgba(255,255,255,.18);
}
.footer-bottom p {
  color:#c1cce5;
}
.go-top {
  background:#003d99;
  color:#fff;
}
.portal-nav .nav-link.active,.portal-nav .nav-link:hover {
  background:#eaf0fa;
  color:#003d99!important;
}
.bo-sidebar {
  background:#211b64;
}
.bo-brand {
  border-color:rgba(255,255,255,.16);
}
.bo-link:hover,.bo-link.active {
  background:#294684;
}
.bo-group-toggle.active {
  color:#a9c8ff;
}
.bo-link.active,.bo-link.active i {
  color:#c9d9ff;
}
.bo-link i {
  color:#b9c8e6;
}
.bo-stat strong {
  color:#211b64;
}
.table thead th {
  background:#eef2fa;
}
.pagination .page-link {
  color:#294684;
}
.pagination .active .page-link {
  background:#003d99;
  border-color:#003d99;
}
.status {
  background:#e4f0e8;
  color:#346046;
}
.review-card-head .review-avatar {
  background:#e8effb;
  color:#003d99;
}
.review-stars {
  color:#003d99;
}
.generic-cta {
  background:#eaf0fa;
}
.generic-cta-panel {
  background:linear-gradient(120deg,#211b64,#294684);
}
.generic-cta-copy .eyebrow {
  color:#a9c8ff;
}
.contact-section,.reviews-include {
  background:#f1f5fb;
}
.home-hero-mark {
  position:absolute;
  right:5%;
  bottom:8%;
  width:min(38vw,470px);
  height:360px;
  opacity:.94;
  pointer-events:none;
}
.hero-content .container {
  position:relative;
}
.home-hero-mark .roll {
  position:absolute;
  right:4%;
  bottom:0;
  width:68%;
  height:210px;
  border-radius:20px 110px 110px 20px;
  background:linear-gradient(135deg,#f9fbff 0%,#c8d6ee 48%,#fff 100%);
  box-shadow:0 25px 45px rgba(0,0,0,.22);
}
.home-hero-mark .roll:before {
  content:"";
  position:absolute;
  right:-2px;
  top:0;
  width:45%;
  height:100%;
  border-radius:50%;
  background:radial-gradient(ellipse at 48% 50%,#294684 0 11%,#edf2fb 12% 22%,#7894c6 23% 25%,#f9fbff 26% 55%,#c7d5eb 56% 100%);
}
.home-hero-mark .roll-two {
  position:absolute;
  right:46%;
  bottom:32px;
  width:38%;
  height:148px;
  border-radius:16px 76px 76px 16px;
  background:linear-gradient(135deg,#fff,#ccd8ed);
  box-shadow:0 18px 30px rgba(0,0,0,.18);
}
.home-hero-mark .roll-two:before {
  content:"";
  position:absolute;
  right:-1px;
  top:0;
  width:48%;
  height:100%;
  border-radius:50%;
  background:radial-gradient(ellipse at 45% 50%,#003d99 0 12%,#eef3fc 13% 26%,#718cbf 27% 29%,#fff 30% 60%,#c4d3ea 61% 100%);
}
.category-card {
  height:100%;
  display:flex;
  flex-direction:column;
  padding:25px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  text-decoration:none;
  color:var(--ink);
  box-shadow:0 8px 24px rgba(20,42,94,.04);
  transition:transform .2s,box-shadow .2s;
}
.category-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  color:#003d99;
}
.category-card .icon-box {
  margin-bottom:18px;
}
.category-card h3 {
  color:#211b64;
  margin-bottom:8px;
}
.category-card p {
  margin:0;
  color:#5c6d82;
}
.category-card .arrow {
  margin-top:auto;
  padding-top:18px;
  color:#003d99;
  font-weight:700;
}
.soft-band {
  background:#eaf0fa;
}
.bullet-list {
  list-style:none;
  padding:0;
  margin:0;
}
.bullet-list li {
  display:flex;
  gap:12px;
  margin:.75rem 0;
  color:#445774;
}
.bullet-list i {
  color:#003d99;
  margin-top:.35rem;
}
.address-card {
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
}
.catalog-placeholder {
  padding:34px;
  text-align:center;
  background:#fff;
  border:1px dashed #aab9d2;
  border-radius:14px;
}
.catalog-placeholder .icon-box {
  margin:0 auto 14px;
}
.review-empty {
  max-width:780px;
  margin:0 auto;
  text-align:center;
  padding:44px 28px;
  background:white;
  border:1px solid var(--line);
  border-radius:16px;
}
.bo-empty {
  padding:36px 20px;
  text-align:center;
  color:#62738a;
}
.bo-empty i {
  display:block;
  font-size:1.7rem;
  color:#94a8c8;
  margin-bottom:12px;
}
.footer-address {
  color:#d8e4ff;
  font-style:normal;
}
.footer-contact {
  font-size:1.05rem;
  font-weight:700;
}
.logo-word {
  font-weight:800;
  letter-spacing:-.04em;
  font-size:1.35rem;
}
.logo-word span {
  color:#7eaaff;
}
.site-header .nav-link {
  font-size:.78rem;
  padding:.6rem .42rem!important;
}
.site-header .nav-link:after {
  left:.42rem;
  right:.42rem;
}
@media(max-width:991.98px) {
  .home-hero-mark {
    right:-12%;
    opacity:.38;
  }
  .hero h1,.hero p {
    position:relative;
    z-index:1;
  }
  .header-inner {
    padding-top:8px;
    padding-bottom:8px;
  }
}
@media(max-width:767.98px) {
  .home-hero-mark {
    right:-40%;
    bottom:0;
    opacity:.23;
  }
  .hero-content {
    min-height:530px;
    padding:65px 0;
  }
  .category-card {
    padding:21px;
  }
  .section {
    padding:68px 0;
  }
}
.utility-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:8px;
  padding-bottom:8px;
  font-size:.78rem;
}
.utility-contact,.utility-links {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
}
.utility-contact a,.utility-links a {
  color:#eef3ff;
  text-decoration:none;
  white-space:nowrap;
}
.utility-contact a:hover,.utility-links a:hover {
  text-decoration:underline;
  text-underline-offset:3px;
}
.utility-links a {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.utility-links a i {
  color:#bfc8ef;
  font-size:.82rem;
}
.supplier-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:14px;
}
.supplier-wordmark {
  min-height:78px;
  display:grid;
  place-items:center;
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
  color:#294684;
  font-weight:800;
  text-align:center;
  letter-spacing:.015em;
}
.profile-image {
  width:100%;
  height:100%;
  min-height:350px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:var(--shadow);
}
.info-card {
  height:100%;
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
}
.info-card h3 {
  font-size:1.15rem;
}
.product-info-card {
  height:100%;
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(20,42,94,.04);
}
.product-info-card .brand-label {
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  color:#003d99;
  text-transform:uppercase;
}
.product-info-card h3 {
  margin:.45rem 0 .8rem;
  color:#211b64;
}
.product-info-card p {
  margin-bottom:.65rem;
}
.product-info-card ul {
  padding-left:1.15rem;
  margin-bottom:0;
  color:#526580;
}
.iso-facts {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
}
.iso-facts div {
  padding:18px;
  background:#eef3fb;
  border-radius:10px;
}
.iso-facts dt {
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#5c6d82;
}
.iso-facts dd {
  margin:5px 0 0;
  color:#211b64;
  font-weight:700;
}
.value-feature {
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.value-feature .icon-box {
  flex:0 0 46px;
  margin:0;
}
.brand-header {
  background:#fff;
}
.brand-header .header-inner {
  min-height:82px;
}
.adheco-logo {
  display:block;
  width:250px;
  max-width:100%;
  height:auto;
}
.brand-image-link {
  display:inline-flex;
}
.main-menu-toggle {
  display:none;
}
.utility-links .utility-phone {
  display:none;
}
.classic-nav {
  background:#003d99;
  padding:.25rem 0;
}
.classic-nav .nav-link {
  color:#fff!important;
  font-size:.82rem;
  padding:.7rem .55rem!important;
}
.classic-nav .nav-link:after {
  left:.55rem;
  right:.55rem;
  background:#a9c8ff;
}
.classic-nav .nav-link.active:after,.classic-nav .nav-link:hover:after {
  transform:scaleX(1);
}
.classic-nav .dropdown-menu {
  margin-top:.25rem;
}
.classic-nav .navbar-toggler {
  border-color:rgba(255,255,255,.45);
}
.classic-nav .btn-primary {
  --bs-btn-bg:#fff;
  --bs-btn-border-color:#fff;
  --bs-btn-color:#003d99;
  --bs-btn-hover-bg:#eaf0fa;
  --bs-btn-hover-border-color:#eaf0fa;
  --bs-btn-hover-color:#211b64;
}
.footer-logo-wrap {
  display:inline-flex;
  align-items:center;
  padding:7px 9px;
  background:#fff;
  border-radius:7px;
}
.footer-logo {
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
}
.bo-brand-logo {
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  background:#fff;
  border-radius:5px;
}
.bo-brand-logo img {
  display:block;
  width:120px;
  height:auto;
}
.auth-card .brand-image-link {
  margin-bottom:1.25rem;
}
@media(max-width:767.98px) {
  .utility-bar {
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .utility-contact,.utility-links {
    gap:8px 15px;
  }
  .utility-contact a {
    white-space:normal;
  }
  .profile-image {
    min-height:260px;
  }
}
@media(max-width:1399.98px) {
  .classic-nav .navbar-collapse {
    padding:.45rem 0 .2rem;
  }
  .classic-nav .navbar-nav {
    align-items:stretch!important;
  }
  .classic-nav .nav-link {
    padding:.55rem .25rem!important;
  }
  .classic-nav .navbar-toggler {
    margin-left:auto;
  }
}
/* Site-wide polish: calm spacing, strong hierarchy, and a genuinely horizontal desktop nav. */
body {
  background:#f8f9fc;
  color:#26334b;
  line-height:1.68;
}
h1,h2,h3,h4 {
  color:#211b64;
  letter-spacing:-.035em;
}
p {
  color:#58677d;
}
.topline {
  font-size:.75rem;
  letter-spacing:.025em;
}
.utility-bar {
  min-height:36px;
}
.brand-header .header-inner {
  min-height:76px;
}
.classic-nav {
  padding:.35rem 0;
  background:#003d99;
}
.classic-nav .navbar-nav {
  gap:clamp(0px,.4vw,7px);
}
.classic-nav .nav-link {
  font-size:.79rem;
  font-weight:700;
  letter-spacing:.005em;
  padding:.7rem .48rem!important;
}
.classic-nav .nav-link:after {
  left:.48rem;
  right:.48rem;
}
.classic-nav .btn-primary {
  border-radius:6px;
  padding:.62rem 1.05rem;
}
.classic-nav .dropdown-menu {
  border:0;
  border-radius:10px;
  box-shadow:0 16px 38px rgba(20,32,68,.18);
  padding:.45rem;
  min-width:210px;
}
.classic-nav .dropdown-item {
  font-size:.9rem;
  padding:.62rem .78rem;
}
.hero-content {
  min-height:570px;
  padding:72px 0;
}
.hero h1 {
  font-size:clamp(2.7rem,4.4vw,4.35rem);
  line-height:1.08;
  max-width:760px;
  margin:16px 0 20px;
}
.hero p {
  font-size:1.08rem;
  line-height:1.75;
  max-width:600px;
}
.hero .btn {
  padding:.8rem 1.2rem;
}
.home-hero-mark {
  width:min(34vw,410px);
  height:310px;
  right:3%;
  bottom:5%;
  opacity:.68;
}
.home-hero-mark .roll {
  height:180px;
  box-shadow:0 20px 38px rgba(0,0,0,.16);
}
.home-hero-mark .roll-two {
  height:128px;
  bottom:28px;
  box-shadow:0 14px 24px rgba(0,0,0,.13);
}
.section {
  padding:84px 0;
}
.section-tight {
  padding:60px 0;
}
.section-heading {
  max-width:760px;
  margin-bottom:38px;
}
.section-heading h2 {
  font-size:clamp(1.9rem,3vw,2.65rem);
  line-height:1.16;
  margin-bottom:12px;
}
.section-heading p {
  font-size:1.02rem;
  max-width:660px;
}
.page-hero {
  padding:62px 0 66px;
}
.page-hero h1 {
  font-size:clamp(2.35rem,4vw,3.45rem);
  line-height:1.12;
}
.page-hero p {
  font-size:1.04rem;
}
.panel,.form-shell,.contact-details-panel,.contact-map-card,.review-empty,.address-card,.info-card,.product-info-card,.category-card {
  border-radius:16px;
}
.panel,.product-info-card,.info-card,.address-card {
  box-shadow:0 8px 26px rgba(20,42,94,.045);
}
.panel:hover,.category-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(20,42,94,.11);
}
.category-card {
  padding:27px;
  border-color:#e4e9f1;
}
.category-card .icon-box {
  border-radius:13px;
}
.form-shell {
  padding:clamp(25px,4vw,42px);
  box-shadow:0 16px 42px rgba(20,42,94,.08);
}
.form-control,.form-select {
  border-radius:9px;
  min-height:49px;
}
textarea.form-control {
  min-height:unset;
}
.btn {
  border-radius:8px;
}
.generic-cta-panel {
  border-radius:18px;
  box-shadow:0 18px 46px rgba(20,42,94,.13);
}
.site-footer {
  padding:62px 0 24px;
}
.site-footer .row {
  --bs-gutter-x:2.2rem;
}
.site-footer h2,.site-footer h3,.site-footer h4 {
  color:#fff;
}
.footer-bottom {
  margin-top:42px;
}
.supplier-wordmark {
  border-radius:13px;
  box-shadow:0 5px 20px rgba(20,42,94,.035);
}
.iso-facts div {
  border:1px solid #e1e8f3;
  border-radius:13px;
  background:#f7f9fd;
}
.header-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.header-actions {
  display:flex;
  align-items:center;
  gap:18px;
}
.header-phone {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#211b64;
  text-decoration:none;
  font-size:1.08rem;
  font-weight:700;
  white-space:nowrap;
}
.header-phone i {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#edf2fb;
  color:#003d99;
  font-size:1rem;
}
.header-phone:hover {
  color:#003d99;
}
.header-contact {
  min-width:126px;
  padding:.76rem 1.15rem;
  background:#003d99;
  border-color:#003d99;
  color:#fff;
}
.header-contact:hover,.header-contact:focus {
  background:#211b64;
  border-color:#211b64;
  color:#fff;
}
.classic-nav {
  padding:0;
  background:#003d99;
  border-top:1px solid rgba(255,255,255,.18);
}
.classic-nav .navbar-nav {
  min-height:64px;
  align-items:stretch!important;
  gap:0;
}
.classic-nav .navbar-nav>.nav-item {
  position:relative;
  display:flex;
  align-items:stretch;
  flex:1 1 auto;
}
.classic-nav .navbar-nav>.nav-item:not(:last-child):after {
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(255,255,255,.24);
  pointer-events:none;
}
.classic-nav .navbar-nav>.nav-item>.nav-link {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:64px;
  padding:.65rem .72rem!important;
  color:#fff!important;
  font-size:.93rem;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease;
}
.classic-nav .navbar-nav>.nav-item>.nav-link:after {
  content:none;
}
.classic-nav .navbar-nav>.nav-item:hover,.classic-nav .navbar-nav>.nav-item:focus-within {
  background:#294684;
}
.classic-nav .navbar-nav>.nav-item>.nav-link.active {
  background:rgba(255,255,255,.12);
}
.classic-nav .dropdown-toggle:after {
  margin-left:.55rem;
}
.classic-nav .navbar-toggler {
  margin-left:auto;
  border-color:rgba(255,255,255,.5);
}
.classic-nav .navbar-toggler:focus {
  box-shadow:0 0 0 .2rem rgba(255,255,255,.2);
}
.classic-nav .dropdown-menu {
  z-index:1050;
}
.contact-info-grid {
  align-content:start;
}
.contact-quick-card {
  height:100%;
  min-height:138px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:18px 17px;
  background:#fff;
  border:1px solid #e1e7f0;
  border-radius:15px;
  color:#211b64;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(20,42,94,.045);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.contact-quick-card:hover,.contact-quick-card:focus-visible {
  transform:translateY(-2px);
  border-color:#b8c9e6;
  box-shadow:0 14px 30px rgba(20,42,94,.1);
  color:#003d99;
}
.contact-quick-card .icon-box {
  width:40px;
  height:40px;
  flex:0 0 40px;
  margin:0;
  border-radius:11px;
  font-size:1rem;
}
.contact-quick-copy {
  display:block;
  min-width:0;
}
.contact-card-label {
  display:block;
  margin-bottom:3px;
  color:#66748a;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-quick-copy strong {
  display:block;
  color:#211b64;
  font-size:.98rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.contact-map-card {
  height:auto;
  overflow:hidden;
  border:1px solid #e1e7f0;
  box-shadow:0 8px 24px rgba(20,42,94,.045);
}
.contact-map-heading {
  padding:20px 22px 15px;
}
.contact-map-frame-compact {
  height:300px;
  min-height:260px;
  flex:0 0 auto;
}
.contact-map-footer {
  min-height:52px;
  justify-content:space-between;
}
.contact-map-footer a {
  margin-left:auto;
}
.contact-quick-grid {
  margin-bottom:1.8rem!important;
}
.contact-quick-grid .contact-quick-card {
  min-height:112px;
  flex-direction:row;
  align-items:center;
  gap:17px;
  padding:20px 24px;
}
.contact-quick-grid .contact-quick-card .icon-box {
  width:48px;
  height:48px;
  flex-basis:48px;
  border-radius:14px;
  font-size:1.1rem;
}
.contact-quick-grid .contact-quick-copy strong {
  font-size:1.1rem;
}
.contact-card-arrow {
  margin-left:auto;
  color:#003d99;
  opacity:.75;
  transition:transform .18s ease;
}
.contact-quick-card:hover .contact-card-arrow {
  transform:translateX(3px);
}
.contact-map-detail-card {
  height:100%;
  display:flex;
  flex-direction:column;
}
.contact-map-detail-card .contact-map-heading {
  padding:24px 25px 18px;
}
.contact-address {
  display:flex;
  align-items:flex-start;
  gap:11px;
  color:#465672;
  font-size:.95rem;
  line-height:1.55;
}
.contact-address i {
  margin-top:4px;
  color:#003d99;
}
.contact-map-detail-card .contact-map-frame-compact {
  height:auto;
  min-height:360px;
  flex:1 1 auto;
}
.contact-map-detail-card .contact-map-footer {
  padding:14px 20px;
}
@media(min-width:1200px) {
  .classic-nav.navbar-expand-xl .navbar-toggler {
    display:none;
  }
  .classic-nav.navbar-expand-xl .navbar-collapse {
    display:flex!important;
    flex-basis:auto;
  }
  .classic-nav.navbar-expand-xl .navbar-nav {
    flex-direction:row;
    align-items:center!important;
  }
  .classic-nav.navbar-expand-xl .navbar-nav .nav-link {
    white-space:nowrap;
  }
}
@media(min-width:1200px) {
  .classic-nav.navbar-expand-xl .navbar-nav {
    align-items:stretch!important;
  }
  .classic-nav.navbar-expand-xl .navbar-nav>.nav-item>.nav-link {
    white-space:nowrap;
  }
}
@media(max-width:1199.98px) {
  .classic-nav .navbar-collapse {
    padding:0;
  }
  .classic-nav .navbar-nav {
    min-height:0;
    gap:0;
  }
  .classic-nav .navbar-nav>.nav-item {
    display:block;
    flex:none;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .classic-nav .navbar-nav>.nav-item:not(:last-child):after {
    display:none;
  }
  .classic-nav .navbar-nav>.nav-item>.nav-link {
    justify-content:flex-start;
    min-height:52px;
    padding:.75rem .5rem!important;
    font-size:.98rem;
  }
  .classic-nav .navbar-nav>.nav-item>.nav-link:hover,.classic-nav .navbar-nav>.nav-item>.nav-link:focus-visible {
    background:#294684;
  }
  .classic-nav .dropdown-menu {
    margin:.15rem 0 .6rem;
  }
  .hero-content {
    min-height:540px;
  }
}
@media(max-width:767.98px) {
  .utility-bar {
    padding-top:9px;
    padding-bottom:9px;
  }
  .header-row {
    min-height:68px;
  }
  .adheco-logo {
    width:218px;
  }
  .header-actions {
    gap:11px;
  }
  .header-phone {
    gap:7px;
    font-size:.98rem;
  }
  .header-phone i {
    width:36px;
    height:36px;
  }
  .header-contact {
    min-width:auto;
    padding:.65rem .9rem;
  }
  .hero-content {
    min-height:500px;
    padding:58px 0;
  }
  .hero h1 {
    font-size:clamp(2.45rem,9vw,3.55rem);
    max-width:600px;
  }
  .hero p {
    font-size:1rem;
  }
  .home-hero-mark {
    right:-35%;
    bottom:-2%;
    opacity:.2;
  }
  .section {
    padding:68px 0;
  }
  .section-tight {
    padding:50px 0;
  }
  .section-heading {
    margin-bottom:30px;
  }
  .page-hero {
    padding:48px 0 52px;
  }
  .site-footer {
    padding-top:48px;
  }
}
@media(max-width:575.98px) {
  .utility-contact,.utility-links {
    gap:7px 13px;
  }
  .utility-links {
    flex-direction:row;
  }
  .header-row {
    flex-wrap:wrap;
    gap:10px;
    padding-top:12px;
    padding-bottom:12px;
  }
  .adheco-logo {
    width:180px;
  }
  .header-actions {
    width:100%;
    justify-content:flex-end;
  }
  .header-phone {
    margin-right:auto;
    font-size:.98rem;
  }
  .classic-nav .container {
    align-items:center;
  }
  .classic-nav .navbar-toggler {
    padding:.35rem .55rem;
  }
  .classic-nav .navbar-collapse {
    flex-basis:100%;
  }
  .hero-content {
    min-height:470px;
  }
  .home-hero-mark {
    right:-56%;
    opacity:.16;
  }
  .category-card {
    padding:22px;
  }
  .footer-logo {
    width:195px;
  }
}
@media(max-width:575.98px) {
  .contact-quick-card {
    min-height:unset;
    padding:17px;
    flex-direction:row;
    align-items:center;
  }
  .contact-map-frame-compact {
    height:260px;
    min-height:240px;
  }
  .contact-map-heading {
    padding:18px 18px 12px;
  }
  .contact-map-footer {
    padding:13px 16px;
  }
}
.page-hero {
  padding:28px 0;
}
.page-hero h1 {
  margin:0;
  font-size:clamp(2.25rem,3.8vw,3.25rem);
  line-height:1.12;
}
.page-hero .eyebrow,.page-hero p,.page-hero nav[aria-label="Breadcrumb"] {
  display:none!important;
}
.go-top {
  position:fixed;
  right:22px;
  bottom:92px;
  z-index:1200;
  width:48px;
  height:48px;
  display:grid!important;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#003d99;
  color:#fff;
  box-shadow:0 8px 22px rgba(25,35,82,.24);
  transition:transform .18s ease,background-color .18s ease;
}
.go-top:hover,.go-top:focus-visible {
  background:#294684;
  color:#fff;
  transform:translateY(-3px);
}
.go-top:focus-visible {
  outline:3px solid #a9c8ff;
  outline-offset:3px;
}
@media(max-width:767.98px) {
  .page-hero {
    padding:24px 0;
  }
  .page-hero h1 {
    font-size:clamp(2rem,7vw,2.8rem);
  }
  .go-top {
    right:14px;
    bottom:118px;
    width:44px;
    height:44px;
  }
}
.classic-nav .dropdown-menu.product-submenu {
  left:50%;
  width:250px;
  min-width:250px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  border-radius:0 0 9px 9px;
  background:#003d99;
  box-shadow:0 16px 34px rgba(20,32,68,.22);
  transform:translateX(-50%);
}
.product-submenu .dropdown-item.product-tab {
  display:flex;
  align-items:center;
  min-height:54px;
  margin:0;
  padding:.8rem 1rem;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.2);
  border-radius:0;
  background:transparent;
  color:#fff;
  font-size:.93rem;
  font-weight:700;
  line-height:1.25;
  transition:background-color .16s ease,color .16s ease;
}
.product-submenu li:last-child .product-tab {
  border-bottom:0;
}
.product-submenu .dropdown-item.product-tab:hover,.product-submenu .dropdown-item.product-tab:focus-visible {
  background:#294684;
  color:#fff;
}
@media(max-width:1199.98px) {
  .classic-nav .dropdown-menu.product-submenu {
    position:static;
    left:auto;
    transform:none;
    width:100%;
    min-width:0;
    margin:0 0 10px!important;
    border:1px solid rgba(255,255,255,.2);
    border-radius:0 0 8px 8px;
    box-shadow:none;
  }
}
/* Consistent navigation tabs and aligned product submenu */
.classic-nav {
  background:#211b64;
  padding:0;
}
.classic-nav .navbar-nav {
  gap:0;
}
.classic-nav .navbar-nav>.nav-item {
  position:relative;
  display:flex;
  align-items:stretch;
}
.classic-nav .navbar-nav>.nav-item:not(:last-child) {
  border-right:1px solid rgba(255,255,255,.2);
}
.classic-nav .navbar-nav>.nav-item>.nav-link {
  display:flex;
  align-items:center;
  min-height:60px;
  padding:.85rem .95rem!important;
  color:#fff!important;
  font-size:.91rem;
  font-weight:700;
  letter-spacing:.01em;
  transition:background-color .18s ease,color .18s ease;
}
.classic-nav .navbar-nav>.nav-item>.nav-link:after {
  display:none;
}
.classic-nav .navbar-nav>.nav-item>.nav-link:hover,.classic-nav .navbar-nav>.nav-item>.nav-link:focus-visible,.classic-nav .navbar-nav>.nav-item>.nav-link.active,.classic-nav .navbar-nav>.nav-item.show>.nav-link {
  background:#294684;
  color:#fff!important;
}
.classic-nav .navbar-nav>.nav-item.dropdown>.nav-link {
  gap:.55rem;
}
.classic-nav .dropdown-toggle:after {
  margin-left:auto;
  border-top-color:rgba(255,255,255,.8);
}
.classic-nav .dropdown-menu.product-submenu {
  top:100%;
  left:0;
  right:auto;
  width:255px;
  min-width:255px;
  margin:0;
  padding:.35rem 0;
  border:1px solid rgba(255,255,255,.2);
  border-top:0;
  border-radius:0 0 8px 8px;
  background:#211b64;
  box-shadow:0 14px 28px rgba(18,28,57,.18);
  transform:none;
}
.product-submenu .dropdown-item.product-tab {
  min-height:48px;
  padding:.7rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.14);
  font-size:.9rem;
  font-weight:600;
}
.product-submenu .dropdown-item.product-tab:hover,.product-submenu .dropdown-item.product-tab:focus-visible {
  background:#294684;
}
.header-contact {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}
.footer-nav-link {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.3rem 0;
  color:#d8e4ff;
  text-decoration:none;
  transition:color .16s ease,transform .16s ease;
}
.footer-nav-link i {
  width:12px;
  font-size:.65rem;
  color:#a9c8ff;
  transition:transform .16s ease;
}
.footer-nav-link:hover,.footer-nav-link:focus-visible {
  color:#fff;
  transform:translateX(2px);
}
.footer-nav-link:hover i,.footer-nav-link:focus-visible i {
  transform:translateX(2px);
}
.footer-contact a {
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:#d8e4ff;
  text-decoration:none;
}
.footer-contact a>i {
  width:16px;
  color:#a9c8ff;
  font-size:.9rem;
}
.footer-contact a:hover {
  color:#fff;
}
@media(min-width:1200px) {
  .site-footer .row.gy-4>.col-xl-3 {
    padding-left:28px;
    padding-right:28px;
  }
  .site-footer .row.gy-4>.col-xl-3:first-child {
    padding-left:12px;
  }
  .site-footer .row.gy-4>.col-xl-3:not(:first-child) {
    border-left:1px solid rgba(255,255,255,.2);
  }
}
@media(max-width:1199.98px) {
  .classic-nav .navbar-nav>.nav-item {
    border-right:0!important;
  }
  .classic-nav .navbar-nav>.nav-item>.nav-link {
    min-height:52px;
    padding:.75rem .9rem!important;
  }
  .classic-nav .dropdown-menu.product-submenu {
    top:auto;
    left:auto;
    width:100%;
    min-width:0;
    margin:0 0 8px!important;
    border:1px solid rgba(255,255,255,.18);
    border-radius:0 0 8px 8px;
    box-shadow:none;
  }
  .product-submenu .dropdown-item.product-tab {
    padding-left:1.5rem;
  }
  .site-footer .row.gy-4>.col-xl-3 {
    border-left:0;
  }
}
/* Page title bar color, scale, and navigation separators */
.site-header {
  box-shadow:none;
  border-bottom:0!important;
}
.brand-header .header-inner {
  min-height:91px;
}
.classic-nav {
  border:0!important;
}
.classic-nav .navbar-nav>.nav-item:not(:last-child) {
  border-right:1px solid #5E60A9;
}
.page-hero {
  background:#5E60A9!important;
  background-image:none!important;
  border-top:0!important;
}
.page-hero:before,.page-hero:after {
  display:none!important;
  content:none!important;
  background:none!important;
}
.page-hero h1 {
  font-size:clamp(1.6875rem,2.85vw,2.4375rem);
}
@media(max-width:1199.98px) {
  .classic-nav .navbar-nav>.nav-item {
    border-bottom:0!important;
  }
}
@media(max-width:767.98px) {
  .brand-header .header-inner {
    min-height:82px;
  }
}
@media(max-width:767.98px) {
  .page-hero h1 {
    font-size:clamp(1.5rem,5.25vw,2.1rem);
  }
}
.detail-intro {
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(20,42,94,.055);
}
.detail-intro h2 {
  max-width:720px;
  margin:.45rem 0 1rem;
  font-size:clamp(1.8rem,3vw,2.55rem);
}
.detail-intro p {
  max-width:760px;
}
.detail-metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:25px;
}
.detail-metric {
  padding:15px 16px;
  background:#f1f3fa;
  border-radius:11px;
}
.detail-metric strong {
  display:block;
  color:#211b64;
  font:800 1.25rem Manrope,sans-serif;
}
.detail-metric span {
  display:block;
  color:#607087;
  font-size:.82rem;
  line-height:1.4;
}
.detail-aside {
  height:100%;
  padding:26px;
  background:#211b64;
  color:#fff;
  border-radius:16px;
}
.detail-aside h3 {
  color:#fff;
}
.detail-aside p {
  color:#e1e7f4;
}
.detail-aside .eyebrow {
  color:#bdc9f4;
}
.capability-card {
  height:100%;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 24px rgba(20,42,94,.04);
}
.capability-card .icon-box {
  margin-bottom:16px;
}
.capability-card h3 {
  margin-bottom:10px;
}
.capability-card p:last-child {
  margin-bottom:0;
}
.capability-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  padding:0;
  margin:16px 0 0;
  list-style:none;
}
.capability-list li {
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#52627a;
  font-size:.9rem;
}
.capability-list i {
  margin-top:.35rem;
  color:#5E60A9;
  font-size:.72rem;
}
.service-band {
  padding:32px;
  background:#eef1f8;
  border-radius:18px;
}
.service-image {
  display:block;
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  border-radius:13px;
}
.format-card {
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(20,42,94,.04);
}
.format-card img {
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
  background:#e8ecf5;
}
.format-card-body {
  padding:21px 22px 23px;
}
.format-card h3 {
  margin-bottom:9px;
  font-size:1.12rem;
}
.format-card p {
  margin:0;
  font-size:.94rem;
}
.added-value-intro {
  position:relative;
  overflow:hidden;
  padding:clamp(28px,5vw,52px);
  background:linear-gradient(125deg,#211b64,#294684);
  border-radius:20px;
  color:#fff;
}
.added-value-intro:after {
  content:"";
  position:absolute;
  right:-75px;
  bottom:-180px;
  width:360px;
  height:360px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.04),0 0 0 76px rgba(255,255,255,.03);
}
.added-value-intro h2,.added-value-intro h3 {
  position:relative;
  z-index:1;
  color:#fff;
}
.added-value-intro p {
  position:relative;
  z-index:1;
  max-width:680px;
  color:#e4e9f5;
}
.added-value-intro .eyebrow {
  position:relative;
  z-index:1;
  color:#c9d4f7;
}
.equipment-panel {
  padding:clamp(24px,4vw,38px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  box-shadow:0 12px 34px rgba(20,42,94,.055);
}
.equipment-item {
  height:100%;
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:16px;
  background:#f5f7fb;
  border-radius:12px;
}
.equipment-item i {
  flex:0 0 36px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  background:#e5eafb;
  color:#294684;
  border-radius:10px;
}
.equipment-item span {
  color:#42536d;
  font-size:.94rem;
  line-height:1.5;
}
.value-feature-card {
  height:100%;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 24px rgba(20,42,94,.04);
}
.value-feature-card .icon-box {
  margin-bottom:16px;
}
.value-feature-card h3 {
  margin-bottom:10px;
}
.value-feature-card p:last-child {
  margin-bottom:0;
}
.lab-panel {
  height:100%;
  padding:28px;
  background:#eaf0fa;
  border:1px solid #d7e1f3;
  border-radius:15px;
}
.lab-panel h3 {
  color:#211b64;
}
.iso-document-card {
  height:100%;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 24px rgba(20,42,94,.05);
}
.iso-certificate-frame {
  display:block;
  width:100%;
  height:680px;
  border:0;
  border-radius:9px;
  background:#f5f7fb;
}
.about-photo {
  display:block;
  width:100%;
  height:100%;
  min-height:350px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:var(--shadow);
}
.mission-panel {
  padding:clamp(24px,4vw,40px);
  background:#211b64;
  color:#fff;
  border-radius:17px;
}
.mission-panel h2 {
  color:#fff;
}
.mission-panel p {
  max-width:900px;
  margin:0;
  color:#e4e9f5;
  font:600 clamp(1.2rem,2.3vw,1.7rem)/1.5 Manrope,sans-serif;
}
.skill-card {
  height:100%;
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(20,42,94,.04);
}
.skill-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  color:#211b64;
  font-weight:700;
}
.skill-card-top strong {
  font:800 1.2rem Manrope,sans-serif;
}
.skill-track {
  height:7px;
  overflow:hidden;
  background:#e9edf5;
  border-radius:99px;
}
.skill-track span {
  display:block;
  width:100%;
  height:100%;
  background:#5E60A9;
  border-radius:inherit;
}
.thank-you-panel {
  padding:clamp(24px,4vw,40px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  box-shadow:0 12px 34px rgba(20,42,94,.055);
}
.dan-photo {
  display:block;
  width:100%;
  max-height:360px;
  object-fit:cover;
  object-position:center 30%;
  border-radius:12px;
  background:#eef1f7;
}
.signature-image {
  display:block;
  width:min(100%,220px);
  height:auto;
  margin:18px 0 4px;
}
@media(max-width:767.98px) {
  .detail-intro,.service-band {
    padding:22px;
  }
  .detail-metrics {
    grid-template-columns:1fr;
  }
  .detail-aside {
    padding:22px;
  }
  .capability-card,.value-feature-card {
    padding:22px;
  }
  .service-image {
    min-height:220px;
  }
  .format-card img {
    height:170px;
  }
  .added-value-intro {
    border-radius:15px;
  }
  .added-value-intro:after {
    opacity:.45;
  }
  .equipment-item {
    padding:13px;
  }
}
@media(max-width:767.98px) {
  .iso-certificate-frame {
    height:560px;
  }
}
.classic-nav .dropdown-menu.product-submenu {
  padding:0!important;
  border-radius:0!important;
}
@media(max-width:1199.98px) {
  .classic-nav .dropdown-menu.product-submenu {
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
  }
}
.supplier-grid {
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:16px;
}
.supplier-logo {
  height:126px;
  display:grid;
  place-items:center;
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 7px 20px rgba(20,42,94,.035);
}
.supplier-logo img {
  display:block;
  width:92px;
  height:92px;
  object-fit:contain;
}
.value-sections {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.value-section-card {
  height:100%;
  padding:27px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 24px rgba(20,42,94,.045);
}
.value-section-head {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:15px;
}
.value-section-head .icon-box {
  flex:0 0 48px;
  width:48px;
  height:48px;
  margin:0;
  border-radius:13px;
}
.value-section-head h2 {
  margin:0;
  font-size:1.28rem;
  line-height:1.3;
}
.value-section-card>p:last-child {
  margin-bottom:0;
}
.value-section-equipment {
  grid-column:1/-1;
  padding:30px;
}
.equipment-stack {
  padding:0;
  margin:12px 0 0;
  list-style:none;
}
.equipment-stack li {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 0;
  border-top:1px solid #e6eaf1;
  color:#42536d;
}
.equipment-stack li:first-child {
  border-top:0;
  padding-top:5px;
}
.equipment-stack li i {
  flex:0 0 17px;
  margin-top:.32rem;
  color:#5E60A9;
  font-size:.78rem;
}
.supplier-logos-only {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.profile-story-list {
  display:grid;
  gap:14px;
}
.profile-story-card {
  padding:20px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 7px 20px rgba(20,42,94,.035);
}
.profile-story-card p {
  margin:0;
}
.mission-panel h2 {
  font-size:1.55rem;
}
.mission-panel p {
  font:400 1.08rem/1.7 'DM Sans',sans-serif;
}
.thank-you-panel {
  padding:0;
  overflow:hidden;
  background:#211b64;
  color:#fff;
  border:0;
  border-radius:20px;
  box-shadow:0 20px 48px rgba(33,27,100,.18);
}
.thank-you-copy {
  padding:clamp(30px,5vw,58px);
}
.thank-you-copy h2 {
  color:#fff;
  font-size:clamp(2rem,3.6vw,3rem);
}
.thank-you-copy p {
  color:#e4e9f5;
  font-size:1.06rem;
  line-height:1.8;
}
.thank-you-copy a {
  color:#c9d4ff;
}
.thank-you-photo {
  display:block;
  width:100%;
  height:100%;
  min-height:460px;
  object-fit:cover;
  object-position:center 25%;
}
.thank-you-signature {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:24px;
}
.thank-you-signature .signature-image {
  margin:0;
  max-width:190px;
}
.thank-you-signature p {
  margin:0;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  color:#cbd3ee;
}
.iso-only {
  padding:0;
  background:#fff;
}
.iso-only .container {
  max-width:1300px;
}
.iso-only-frame {
  display:block;
  width:100%;
  height:min(1100px,calc(100vh - 150px));
  min-height:780px;
  border:0;
  background:#fff;
}
@media(max-width:991.98px) {
  .supplier-logos-only {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .thank-you-photo {
    min-height:360px;
  }
}
@media(max-width:767.98px) {
  .value-sections {
    grid-template-columns:1fr;
    gap:16px;
  }
  .value-section-equipment {
    grid-column:auto;
    padding:23px;
  }
  .value-section-card {
    padding:22px;
  }
  .supplier-logos-only {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .supplier-logo {
    height:110px;
    padding:16px;
  }
  .supplier-logo img {
    width:78px;
    height:78px;
  }
  .thank-you-copy {
    padding:28px;
  }
  .thank-you-photo {
    min-height:300px;
    max-height:420px;
  }
  .thank-you-signature {
    align-items:flex-start;
    flex-direction:column;
  }
  .iso-only-frame {
    height:calc(100vh - 120px);
    min-height:620px;
  }
}
.conversion-feature-card {
  height:100%;
  padding:27px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 24px rgba(20,42,94,.045);
}
.conversion-feature-card h2 {
  margin:0 0 12px;
  font-size:1.25rem;
}
.conversion-feature-card p {
  margin:0;
  color:#52627a;
  line-height:1.7;
}
.conversion-feature-brand {
  display:block;
  width:112px;
  height:60px;
  margin:0 0 18px;
  object-fit:contain;
  object-position:left center;
}
.conversion-section-title {
  margin-bottom:1rem;
  font-size:clamp(1.65rem,2.7vw,2.2rem);
}
.conversion-image-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.conversion-image-pair img {
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:12px;
  background:#eef1f7;
}
.conversion-main-image {
  display:block;
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  border-radius:13px;
  background:#eef1f7;
}
.conversion-format-card {
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(20,42,94,.04);
}
.conversion-format-card img {
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
  background:#eef1f7;
}
.conversion-format-copy {
  padding:21px 22px 23px;
}
.conversion-format-copy h3 {
  margin:0 0 9px;
  font-size:1.12rem;
}
.conversion-format-copy p {
  margin:0;
  color:#52627a;
  font-size:.94rem;
  line-height:1.7;
}
.conversion-format-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.conversion-format-gallery img {
  display:block;
  width:100%;
  height:135px;
  object-fit:cover;
  border-radius:10px;
  background:#eef1f7;
}
@media(max-width:767.98px) {
  .conversion-feature-card {
    padding:22px;
  }
  .conversion-image-pair img {
    height:155px;
  }
  .conversion-format-card img {
    height:180px;
  }
  .conversion-format-gallery img {
    height:105px;
  }
}
.news-feed-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.news-feed-card {
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 24px rgba(20,42,94,.045);
  transition:transform .18s ease,box-shadow .18s ease;
}
.news-feed-card:hover {
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(20,42,94,.1);
}
.news-feed-image {
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  background:#eef1f7;
}
.news-feed-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:185px;
  padding:21px 22px 22px;
}
.news-feed-date {
  display:block;
  margin-bottom:9px;
  color:#65718a;
  font-size:.86rem;
}
.news-feed-copy h2 {
  margin:0 0 18px;
  color:#211b64;
  font-size:1.14rem;
  line-height:1.45;
}
.news-feed-copy h2 a {
  color:inherit;
  text-decoration:none;
}
.news-feed-copy h2 a:hover,.news-feed-copy h2 a:focus-visible {
  color:#294684;
}
.news-feed-read {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  color:#003d99;
  font-weight:700;
  text-decoration:none;
}
.news-feed-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 20px;
  margin-top:auto;
}
.news-feed-read i {
  font-size:.78rem;
  transition:transform .16s ease;
}
.news-feed-read:hover i,.news-feed-read:focus-visible i {
  transform:translateX(3px);
}
@media(max-width:991.98px) {
  .news-feed-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }
}
@media(max-width:575.98px) {
  .news-feed-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .news-feed-copy {
    min-height:unset;
    padding:19px;
  }
  .news-feed-copy h2 {
    margin-bottom:14px;
  }
}
.coming-soon-stage {
  min-height:320px;
  display:flex;
  align-items:center;
  background:transparent;
}
.coming-soon-notice {
  display:grid;
  justify-items:center;
  gap:17px;
  padding:26px 0 34px;
}
.coming-soon-icon {
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8e9f6;
  color:#5E60A9;
}
.coming-soon-icon i {
  font-size:1.8rem;
}
.coming-soon-notice h2 {
  margin:0;
  color:#211b64;
  font-size:clamp(1.7rem,3vw,2.15rem);
  font-weight:600;
}
@media(max-width:767.98px) {
  .coming-soon-stage {
    min-height:260px;
  }
  .coming-soon-notice {
    gap:14px;
  }
  .coming-soon-icon {
    width:66px;
    height:66px;
  }
}
.home-highlight-section {
  padding:78px 0;
  background:#f5f7fb;
}
.home-highlight-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.home-highlight-card {
  height:100%;
  min-height:320px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:29px;
  background:#fff;
  border:1px solid #dce4ef;
  border-radius:15px;
  box-shadow:0 9px 26px rgba(20,42,94,.055);
}
.home-highlight-icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border-radius:14px;
  background:#e8e9f6;
  color:#5E60A9;
  font-size:1.25rem;
}
.home-highlight-label {
  margin:0 0 7px;
  color:#5E60A9;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-highlight-card h2 {
  margin:0 0 13px;
  color:#211b64;
  font-size:1.35rem;
  line-height:1.3;
}
.home-highlight-card p:not(.home-highlight-label) {
  margin:0;
  color:#52627a;
  line-height:1.7;
}
.home-highlight-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:auto;
  padding-top:22px;
  color:#003d99;
  font-weight:700;
  text-decoration:none;
}
.home-highlight-link i {
  font-size:.8rem;
  transition:transform .16s ease;
}
.home-highlight-link:hover i,.home-highlight-link:focus-visible i {
  transform:translateX(3px);
}
@media(max-width:991.98px) {
  .home-highlight-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .home-highlight-card {
    min-height:unset;
    padding:25px;
  }
  .home-highlight-link {
    padding-top:18px;
  }
}
.home-advantage {
  padding:76px 0;
  background:#fff;
}
.home-advantage-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:42px;
  align-items:stretch;
}
.home-advantage-copy {
  align-self:center;
}
.home-advantage-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:15px;
  color:#5E60A9;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-advantage-label:before {
  content:"";
  width:27px;
  height:2px;
  background:#5E60A9;
}
.home-advantage h2 {
  max-width:620px;
  margin:0 0 20px;
  color:#211b64;
  font-size:clamp(1.75rem,3vw,2.45rem);
  line-height:1.22;
  font-weight:600;
}
.home-advantage-copy p {
  max-width:650px;
  margin:0 0 13px;
  color:#52627a;
  font-size:1.04rem;
  line-height:1.75;
}
.home-advantage-coverage {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  padding:34px;
  background:#f5f7fb;
  border:1px solid #e0e5f0;
  border-radius:16px;
}
.home-advantage-coverage-icon {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border-radius:50%;
  background:#e8e9f6;
  color:#5E60A9;
  font-size:1.2rem;
}
.home-advantage-coverage p {
  margin:0;
  color:#303b57;
  font-size:1.08rem;
  line-height:1.8;
}
@media(max-width:767.98px) {
  .home-advantage {
    padding:54px 0;
  }
  .home-advantage-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
  .home-advantage-coverage {
    min-height:unset;
    padding:26px;
  }
  .home-advantage-coverage p {
    font-size:1rem;
  }
}
.hero-slider {
  position:relative;
  z-index:1;
  min-height:clamp(430px,39vw,570px);
  overflow:hidden;
}
.hero-slide {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  padding:64px clamp(60px,8vw,150px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .55s ease,visibility .55s ease;
}
.hero-slide.is-active {
  position:relative;
  min-height:clamp(430px,39vw,570px);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.hero-slide-content {
  width:min(100%,1120px);
  margin:0 auto;
}
.hero-slide--cinematic {
  isolation:isolate;
  background:#07111f;
}
.hero-cinematic-image,.hero-cinematic-overlay {
  position:absolute;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
}
.hero-cinematic-image {
  object-fit:cover;
  object-position:center 42%;
}
.hero-cinematic-overlay {
  background:linear-gradient(90deg,rgba(5,12,27,.88) 0%,rgba(5,12,27,.68) 36%,rgba(5,12,27,.14) 72%,rgba(5,12,27,.08) 100%);
}
.hero-slide--cinematic .hero-slide-content {
  position:relative;
  z-index:1;
}
.hero-slide h1 {
  max-width:900px;
  margin:0 0 25px;
  color:#fff;
  font-size:clamp(2.75rem,5.2vw,5.1rem);
  line-height:1.04;
  font-weight:600;
  letter-spacing:-.045em;
}
.hero-slide .hero-subtitle {
  max-width:760px;
  margin:-5px 0 28px;
  color:#e0e8f7;
  font-size:clamp(1.15rem,2vw,1.6rem);
  line-height:1.55;
}
.hero-slide .btn {
  padding:.86rem 1.3rem;
}
.hero-slide--preferred {
  background:#f1f1f1;
}
.hero-slide--preferred .hero-slide-content {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:center;
  gap:34px;
}
.hero-slide--preferred h1 {
  margin:0;
  color:#211b64;
  font-size:clamp(2.7rem,4.6vw,4.6rem);
}
.hero-preferred-frame {
  width:100%;
  max-width:700px;
  aspect-ratio:2.47;
  overflow:hidden;
  background:#f1f1f1;
}
.hero-preferred-frame img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.hero-slider-arrow {
  position:absolute;
  z-index:5;
  top:50%;
  width:50px;
  height:58px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.72);
  border-radius:0 12px 12px 0;
  background:#5E60A9;
  color:#fff;
  font-size:1.15rem;
  box-shadow:0 5px 18px rgba(17,25,44,.22);
  transition:background .18s ease,transform .18s ease;
}
.hero-slider-arrow:hover,.hero-slider-arrow:focus-visible {
  background:#211b64;
  color:#fff;
  transform:translateY(-50%);
}
.hero-slider-arrow--previous {
  left:0;
}
.hero-slider-arrow--next {
  right:0;
  border-radius:12px 0 0 12px;
}
.hero-slider-controls {
  position:absolute;
  z-index:6;
  left:50%;
  bottom:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  transform:translateX(-50%);
}
.hero-slider-dots {
  display:flex;
  align-items:center;
  gap:9px;
}
.hero-slider-dot {
  width:9px;
  height:9px;
  padding:0;
  border:1px solid rgba(255,255,255,.8);
  border-radius:50%;
  background:transparent;
  transition:width .18s ease,background .18s ease;
}
.hero-slider-dot[aria-current="true"] {
  width:26px;
  border-radius:8px;
  background:#fff;
}
.hero-slider-toggle {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(17,25,44,.35);
  color:#fff;
  font-size:.8rem;
}
.hero-slider-toggle:hover,.hero-slider-toggle:focus-visible {
  background:#5E60A9;
  color:#fff;
}
.hero-slider--light .hero-slider-arrow,.hero-slider--light .hero-slider-toggle {
  border-color:rgba(30,35,48,.28);
  background:rgba(18,24,36,.52);
}
.hero-slider--light .hero-slider-dot {
  border-color:rgba(33,27,100,.65);
}
.hero-slider--light .hero-slider-dot[aria-current="true"] {
  background:#5E60A9;
}
@media(max-width:767.98px) {
  .hero-slider,.hero-slide.is-active {
    min-height:500px;
  }
  .hero-slide {
    padding:38px 52px 70px;
  }
  .hero-slide h1 {
    font-size:clamp(1.85rem,7.8vw,2.5rem);
    line-height:1.08;
    margin-bottom:18px;
  }
  .hero-slide .hero-subtitle {
    font-size:1.05rem;
  }
  .hero-slide--cinematic {
    align-items:flex-start;
  }
  .hero-slide--cinematic .hero-cinematic-image {
    inset:auto 0 0;
    width:100%;
    height:46%;
    object-fit:contain;
    object-position:center bottom;
  }
  .hero-slide--cinematic .hero-cinematic-overlay {
    background:linear-gradient(180deg,rgba(5,12,27,.98) 0%,rgba(5,12,27,.88) 43%,rgba(5,12,27,.1) 100%);
  }
  .hero-slide--cinematic .hero-slide-content {
    padding-top:20px;
  }
  .hero-slide--cinematic .btn {
    padding:.72rem .8rem;
    font-size:.88rem;
    line-height:1.25;
  }
  .hero-slide--preferred .hero-slide-content {
    grid-template-columns:1fr;
    justify-items:center;
    gap:18px;
  }
  .hero-slide--preferred h1 {
    margin:0;
    text-align:center;
    font-size:clamp(1.85rem,7.8vw,2.5rem);
  }
  .hero-preferred-frame {
    width:100%;
    max-width:460px;
  }
  .hero-slider-arrow {
    width:42px;
    height:50px;
    font-size:.95rem;
  }
  .hero-slider-controls {
    bottom:13px;
  }
  .hero-slider-dots {
    gap:7px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-slide,.hero-slider-arrow,.hero-slider-dot {
    transition:none!important;
  }
}
@media(max-width:1199.98px) {
  .main-menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid rgba(0,61,153,.3);
    border-radius:6px;
    background:#fff;
    color:#003d99;
    font-size:1.1rem;
  }
  .main-menu-toggle:hover,.main-menu-toggle:focus-visible {
    background:#edf2fb;
    color:#211b64;
  }
}
@media(max-width:767.98px) {
  .utility-bar {
    display:block;
    min-height:0;
    padding-top:8px;
    padding-bottom:8px;
  }
  .utility-contact {
    display:none;
  }
  .utility-links {
    display:flex;
    width:100%;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    gap:4px;
  }
  .utility-links a {
    gap:.28rem;
    font-size:.68rem;
    line-height:1.2;
  }
  .utility-links .utility-phone {
    display:inline-flex;
    white-space:nowrap;
    font-weight:700;
  }
  .header-row {
    min-height:68px;
    flex-wrap:nowrap;
    gap:12px;
    padding-top:10px;
    padding-bottom:10px;
  }
  .brand-image-link {
    flex:0 1 auto;
    min-width:0;
  }
  .adheco-logo {
    width:clamp(132px,38vw,218px);
  }
  .header-actions {
    width:auto;
    flex:0 0 auto;
    justify-content:flex-end;
    gap:7px;
  }
  .header-phone {
    display:none;
  }
  .header-contact {
    min-width:0;
    padding:.58rem .72rem;
    font-size:.86rem;
    white-space:nowrap;
  }
  .main-menu-toggle {
    flex-basis:38px;
    width:38px;
    height:38px;
  }
  .site-footer .footer-address,.site-footer .footer-contact-column {
    display:none!important;
  }
  .site-footer .footer-products-column {
    border-left:1px solid rgba(255,255,255,.2);
    padding-left:18px;
  }
  .site-footer .footer-shortcuts-column {
    padding-right:18px;
  }
}
@media(max-width:359.98px) {
  .utility-links a {
    font-size:.62rem;
    gap:.18rem;
  }
  .header-row {
    gap:8px;
  }
  .header-contact {
    padding:.55rem .58rem;
    font-size:.8rem;
  }
  .main-menu-toggle {
    flex-basis:36px;
    width:36px;
    height:36px;
  }
}
