:root{--navy:#071b2f;--blue:#0b4f88;--cyan:#0ea5b7;--gold:#f5b942;--soft:#f4f7fa;--text:#172033}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:#fff}a{text-decoration:none}.dam-navbar{background:rgba(7,27,47,.96);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.dam-navbar .nav-link{color:rgba(255,255,255,.76);font-weight:500}.dam-navbar .nav-link:hover,.dam-navbar .nav-link.active{color:#fff}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),#0f70b7);color:#fff;box-shadow:0 6px 16px rgba(14,165,183,.3)}.brand-mark-lg{width:62px;height:62px;border-radius:18px;font-size:1.7rem}.hero-section{position:relative;background:linear-gradient(120deg,#061726 0%,#0b3656 65%,#0d5e78 100%);overflow:hidden}.hero-section:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-160px;bottom:-300px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,35,.92),rgba(4,20,35,.5))}.hero-content{position:relative;z-index:2}.min-vh-75{min-height:75vh}.text-white-75{color:rgba(255,255,255,.78)}.eyebrow,.section-kicker{font-size:.78rem;font-weight:800;letter-spacing:.15em;color:var(--gold)}.section-heading{max-width:720px}.section-heading h2,.section-kicker+h2{font-weight:800;margin-top:.4rem}.service-card,.fleet-card,.news-card,.info-panel,.schedule-card{background:#fff;border:1px solid #e6edf3;border-radius:18px;box-shadow:0 12px 35px rgba(15,50,75,.07)}.service-card{padding:28px;transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,50,75,.12)}.service-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#eaf7fa;color:#087e97;font-size:1.5rem;margin-bottom:20px}.fleet-card,.news-card{position:relative;overflow:hidden}.fleet-placeholder,.news-placeholder,.gallery-placeholder{height:190px;display:grid;place-items:center;background:linear-gradient(135deg,#0b3554,#0e7d98);color:rgba(255,255,255,.85);font-size:3rem}.news-placeholder{background:linear-gradient(135deg,#e9f4fb,#c7e2f2);color:#0b4f88}.schedule-card{overflow:hidden}.schedule-card thead th{background:#071b2f;color:#fff;border:0;padding:14px 16px;white-space:nowrap}.schedule-card td{padding:14px 16px}.bg-navy{background:var(--navy)}.page-header{background:linear-gradient(120deg,#071b2f,#0c5c77)}.info-panel{padding:28px}.stat-box{background:var(--soft);border-radius:14px;padding:18px}.stat-box small,.contact-line small{display:block;color:#748094}.stat-box strong{display:block;margin-top:4px}.gallery-card{position:relative;overflow:hidden;border-radius:18px;margin:0;min-height:280px;background:#eef3f7}.gallery-card img{width:100%;height:280px;object-fit:cover}.gallery-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff}.gallery-card figcaption strong,.gallery-card figcaption span{display:block}.gallery-card figcaption span{font-size:.85rem;color:rgba(255,255,255,.75)}.contact-line{display:flex;gap:16px;margin:24px 0}.contact-line>i{display:grid;place-items:center;min-width:46px;height:46px;background:#e8f5f9;color:#087e97;border-radius:14px}.contact-line strong{display:block}.footer-dark{background:#051421;color:#fff}.footer-dark a{color:rgba(255,255,255,.7)}.footer-dark a:hover{color:#fff}.admin-body{background:#f4f7fa}.admin-sidebar{width:250px;background:#071b2f;color:#fff;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:1.25rem;font-weight:800;margin-bottom:24px}.sidebar-caption{font-size:.68rem;letter-spacing:.14em;color:#71869c;font-weight:800;margin:10px 12px}.sidebar-link{display:flex;align-items:center;gap:10px;color:#adbed0;padding:10px 12px;border-radius:10px;background:transparent}.sidebar-link:hover,.sidebar-link.active{color:#fff;background:rgba(255,255,255,.08)}.admin-main{min-width:0}.admin-topbar{background:#fff;border-bottom:1px solid #e1e8ef;position:sticky;top:0;z-index:20}.admin-card{background:#fff;border:1px solid #e3e9ef;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(10,35,55,.04)}.admin-card-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid #e7edf2;background:#fff}.stat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3e9ef;border-radius:16px;padding:18px;height:100%}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.55rem;font-weight:800;line-height:1}.stat-label{font-size:.78rem;color:#798696;margin-top:6px}.table>:not(caption)>*>*{padding:.85rem 1rem}.form-control,.form-select{border-color:#d7e0e8;padding:.7rem .85rem}.form-control:focus,.form-select:focus{border-color:#5ca9c2;box-shadow:0 0 0 .2rem rgba(14,165,183,.12)}.message-box{background:#f6f8fa;border-radius:14px;padding:24px;min-height:160px}.login-page{background:radial-gradient(circle at 80% 10%,#155b77 0,transparent 35%),linear-gradient(145deg,#04111d,#092942);color:#172033}.login-card{background:rgba(255,255,255,.98);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}@media(max-width:991px){.hero-section .display-3{font-size:2.7rem}.min-vh-75{min-height:68vh}}@media(max-width:576px){.hero-section .display-3{font-size:2.2rem}.service-card,.info-panel{padding:22px}}

.map-embed iframe{width:100%!important;min-height:360px;border:0;border-radius:18px}.object-fit-cover{object-fit:cover}

/* Route input editor */
.route-guide{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px dashed #c9d7e5;border-radius:14px;background:#f8fbfd}.route-guide>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;flex:1}.route-guide>div small{grid-column:2;color:#738092}.route-guide-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0b4f88;color:#fff;font-weight:800}.route-guide>i{color:#91a3b5;font-size:1.15rem}.route-stop-card{display:flex;gap:16px;padding:18px;border:1px solid #dce5ed;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(10,35,55,.035)}.route-stop-number{flex:0 0 40px}.stop-number{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e9f5fb;color:#0b4f88;font-weight:800}.route-stop-fields{flex:1;min-width:0}

/* Public multi-port schedule table - output layout follows the reference schedule board */
.public-schedule-table{min-width:1080px;margin:0}.public-schedule-table thead th{background:#08275b!important;color:#fff!important;border:1px solid #60769a!important;padding:.62rem .6rem!important;font-weight:800;font-size:.78rem;letter-spacing:.025em;line-height:1.15;vertical-align:middle;text-transform:uppercase}.public-schedule-table tbody td{padding:.72rem .62rem!important;border:1px solid #c9d4e2!important;color:#11367a;font-size:.82rem;line-height:1.2;background:#fff}.public-schedule-table tbody td:nth-child(2),.public-schedule-table tbody td:last-child{font-weight:800}.public-schedule-table tbody tr:hover td{background:#f8fbff}.schedule-card{border-radius:16px}.schedule-card .table-responsive{background:#fff}

@media(max-width:991px){.route-guide{align-items:stretch;flex-direction:column}.route-guide>i{transform:rotate(90deg);align-self:center}.route-stop-card{align-items:flex-start}.route-stop-number{flex-basis:34px}.stop-number{width:34px;height:34px}.public-schedule-table{min-width:1000px}}

/* Passenger and vehicle manifest */
.schedule-load-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:1px;background:#dfe7ef;border-bottom:1px solid #dfe7ef}.schedule-load-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fbfd}.schedule-load-item>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#e4f1f8;color:#0b4f88;font-size:1.1rem}.schedule-load-item small{display:block;color:#738092;font-size:.72rem;text-transform:uppercase;font-weight:700}.schedule-load-item strong{display:block;font-size:1.15rem;color:#102b49}.vessel-detail-image{height:360px;object-fit:cover}.detail-data-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e8edf2}.detail-data-row:last-child{border-bottom:0}.detail-data-row span{color:#748094}.detail-data-row strong{text-align:right}.manifest-detail-box{height:100%;padding:18px;border:1px solid #e1e8ef;border-radius:14px;background:#fff}.manifest-detail-box i{font-size:1.35rem;color:#0b4f88}.manifest-detail-box span{display:block;color:#748094;font-size:.78rem;margin-top:10px}.manifest-detail-box strong{display:block;font-size:1.55rem;margin-top:2px}.home-schedule-table{min-width:980px}
@media(max-width:991px){.schedule-load-summary{grid-template-columns:repeat(2,minmax(140px,1fr))}.schedule-load-item:nth-child(3){grid-column:span 2}.vessel-detail-image{height:280px}}
@media(max-width:576px){.schedule-load-summary{grid-template-columns:1fr}.schedule-load-item:nth-child(3){grid-column:auto}.detail-data-row{flex-direction:column;gap:4px}.detail-data-row strong{text-align:left}.vessel-detail-image{height:220px}}

/* =========================================================
   Public pages - match DAM Shipping homepage visual language
   ========================================================= */
.public-site {
  --dam-teal: #007880;
  --dam-teal-dark: #005f66;
  --dam-orange: #f86000;
  font-family: Poppins, Arial, sans-serif;
  color: #333;
}
.public-site .dam-navbar {
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(20,40,45,.08);
  padding: 8px 0;
}
.public-site .dam-navbar .nav-link {
  color: #252525 !important;
  font-size: 13px;
  font-weight: 500;
  padding: .9rem .72rem;
}
.public-site .dam-navbar .nav-link:hover,
.public-site .dam-navbar .nav-link.active { color: var(--dam-teal) !important; }
.public-site .dam-logo-plate {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.public-site .dam-site-logo { width: 205px; max-width: 44vw; }
.public-site .dam-contact-button {
  background: var(--dam-teal);
  border: 1px solid var(--dam-teal);
  color: #fff;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  padding: .72rem 1.1rem;
}
.public-site .dam-contact-button:hover {
  background: var(--dam-orange);
  border-color: var(--dam-orange);
  color: #fff;
}
.public-site .navbar-toggler { border-radius: 10px; }

.public-site .dam-inner-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(100deg, rgba(0,95,102,.97), rgba(0,120,128,.86)), url('/images/home-hero-top.jpg') center/cover no-repeat;
}
.public-site .dam-inner-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,34,39,.22), rgba(4,34,39,.04));
}
.public-site .page-header .eyebrow { color: rgba(255,255,255,.82); }
.public-site .text-white-75 { color: rgba(255,255,255,.78); }
.public-site .section-kicker { color: var(--dam-teal); }

/* Compact, consistent vertical rhythm on every inner page. */
.public-site main > section.py-5,
.public-site .dam-content-section { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.public-site main > section + section { margin-top: 0 !important; }
.public-site .mt-5 { margin-top: 2rem !important; }
.public-site .mb-5 { margin-bottom: 2rem !important; }
.public-site .g-5 { --bs-gutter-x: 2rem; --bs-gutter-y: 2rem; }

/* 10px corners for all public cards/boxes/controls. */
.public-site .service-card,
.public-site .fleet-card,
.public-site .news-card,
.public-site .info-panel,
.public-site .schedule-card,
.public-site .gallery-card,
.public-site .stat-box,
.public-site .manifest-detail-box,
.public-site .message-box,
.public-site .card,
.public-site .alert,
.public-site .map-embed,
.public-site .map-embed iframe,
.public-site .form-control,
.public-site .form-select,
.public-site .btn,
.public-site .badge,
.public-site .pagination .page-link,
.public-site .dam-content-card,
.public-site .dam-about-image,
.public-site .dam-value-card,
.public-site .contact-line > i,
.public-site .service-icon,
.public-site .fleet-placeholder,
.public-site .news-placeholder,
.public-site .gallery-placeholder {
  border-radius: 10px !important;
}
.public-site .service-card,
.public-site .fleet-card,
.public-site .news-card,
.public-site .info-panel,
.public-site .schedule-card,
.public-site .gallery-card,
.public-site .dam-content-card,
.public-site .dam-value-card {
  border: 1px solid #e7eded;
  box-shadow: 0 10px 28px rgba(20,55,60,.07);
}
.public-site .service-card,
.public-site .info-panel { padding: 24px; }
.public-site .service-card:hover,
.public-site .fleet-card:hover,
.public-site .news-card:hover,
.public-site .gallery-card:hover,
.public-site .dam-value-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(20,55,60,.11);
}
.public-site .service-card,
.public-site .fleet-card,
.public-site .news-card,
.public-site .gallery-card,
.public-site .dam-value-card { transition: .25s ease; }
.public-site .btn-primary {
  background: var(--dam-teal) !important;
  border-color: var(--dam-teal) !important;
}
.public-site .btn-primary:hover {
  background: var(--dam-teal-dark) !important;
  border-color: var(--dam-teal-dark) !important;
}
.public-site a { color: var(--dam-teal); }
.public-site a:hover { color: var(--dam-orange); }
.public-site .schedule-card thead th,
.public-site .public-schedule-table thead th { background: var(--dam-teal-dark) !important; }
.public-site .public-schedule-table tbody td { color: #28565b; }
.public-site .service-icon,
.public-site .contact-line > i { background: rgba(0,120,128,.10); color: var(--dam-teal); }

/* About page. */
.public-site .dam-about-image {
  min-height: 390px;
  overflow: hidden;
  background: #eef4f4;
}
.public-site .dam-about-image img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; display: block; }
.public-site .dam-content-card { background: #fff; }
.public-site .dam-section-heading { max-width: 720px; margin-top: 3rem; margin-bottom: 1.75rem; }
.public-site .dam-value-card { background: #fff; padding: 24px; }
.public-site .dam-value-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 10px;
  background: var(--dam-teal);
  color: #fff;
  font-size: 1.3rem;
}
.public-site .dam-value-card h4 { font-weight: 700; margin-bottom: 10px; }
.public-site .dam-value-card p { color: #737b7d; line-height: 1.75; }

/* Footer matches homepage tone and does not create an oversized gap. */
.public-site .dam-public-footer {
  margin-top: 0 !important;
  background: #15262b;
}
.public-site .dam-public-footer .dam-logo-plate { background: #fff; padding: 8px 12px; }
.public-site .dam-footer-heading { color: #fff; }
.public-site .dam-public-footer a { color: rgba(255,255,255,.72); }
.public-site .dam-public-footer a:hover { color: #fff; }

@media (max-width: 991.98px) {
  .public-site .dam-navbar .navbar-collapse { padding: .75rem 0 1rem; }
  .public-site .dam-navbar .nav-link { padding: .65rem 0; }
  .public-site .dam-contact-button { display: inline-block; margin-top: .35rem; }
  .public-site main > section.py-5,
  .public-site .dam-content-section { padding-top: 2.35rem !important; padding-bottom: 2.35rem !important; }
  .public-site .dam-about-image,
  .public-site .dam-about-image img { min-height: 300px; }
}
.public-site .dam-inner-hero { background-position: center; background-size: cover; background-repeat: no-repeat; }
.public-site img.rounded-3 { border-radius: 10px !important; }

/* =========================================================
   DAM Shipping unified public button system
   Inner pages use the same states as the homepage.
   ========================================================= */
.public-site {
  --dam-button-teal: #007880;
  --dam-button-teal-dark: #005f66;
  --dam-button-orange: #f86000;
  --dam-button-orange-dark: #d94f00;
  --dam-button-focus: rgba(248, 96, 0, .24);
  --dam-button-shadow: 0 8px 20px rgba(0, 120, 128, .16);
  --dam-button-shadow-hover: 0 12px 26px rgba(248, 96, 0, .22);
}

.public-site .btn,
.public-site .dam-contact-button {
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  text-decoration: none !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease,
              box-shadow .22s ease, transform .22s ease !important;
}

.public-site .btn-primary,
.public-site .btn-dark,
.public-site .btn-success,
.public-site .btn-warning,
.public-site .dam-contact-button {
  background: var(--dam-button-teal) !important;
  border-color: var(--dam-button-teal) !important;
  color: #fff !important;
  box-shadow: var(--dam-button-shadow) !important;
}

.public-site .btn-primary:hover,
.public-site .btn-primary:focus,
.public-site .btn-dark:hover,
.public-site .btn-dark:focus,
.public-site .btn-success:hover,
.public-site .btn-success:focus,
.public-site .btn-warning:hover,
.public-site .btn-warning:focus,
.public-site .dam-contact-button:hover,
.public-site .dam-contact-button:focus {
  background: var(--dam-button-orange) !important;
  border-color: var(--dam-button-orange) !important;
  color: #fff !important;
  box-shadow: var(--dam-button-shadow-hover) !important;
  transform: translateY(-2px);
}

.public-site .btn-primary:active,
.public-site .btn-dark:active,
.public-site .btn-success:active,
.public-site .btn-warning:active,
.public-site .dam-contact-button:active {
  background: var(--dam-button-orange-dark) !important;
  border-color: var(--dam-button-orange-dark) !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(217, 79, 0, .20) !important;
  transform: translateY(0);
}

.public-site .btn-outline-primary,
.public-site .btn-outline-success,
.public-site .btn-outline-secondary {
  background: #fff !important;
  border-color: var(--dam-button-teal) !important;
  color: var(--dam-button-teal) !important;
  box-shadow: none !important;
}

.public-site .btn-outline-primary:hover,
.public-site .btn-outline-primary:focus,
.public-site .btn-outline-success:hover,
.public-site .btn-outline-success:focus,
.public-site .btn-outline-secondary:hover,
.public-site .btn-outline-secondary:focus {
  background: var(--dam-button-orange) !important;
  border-color: var(--dam-button-orange) !important;
  color: #fff !important;
  box-shadow: var(--dam-button-shadow-hover) !important;
  transform: translateY(-2px);
}

.public-site .btn-outline-primary:active,
.public-site .btn-outline-success:active,
.public-site .btn-outline-secondary:active {
  background: var(--dam-button-orange-dark) !important;
  border-color: var(--dam-button-orange-dark) !important;
  color: #fff !important;
  transform: translateY(0);
}

.public-site .btn:focus,
.public-site .btn:focus-visible,
.public-site .dam-contact-button:focus,
.public-site .dam-contact-button:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 .22rem var(--dam-button-focus), var(--dam-button-shadow-hover) !important;
}

.public-site .btn:disabled,
.public-site .btn.disabled {
  opacity: .56 !important;
  transform: none !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

.public-site .btn i,
.public-site .btn span,
.public-site .dam-contact-button i,
.public-site .dam-contact-button span {
  color: inherit !important;
}

.public-site .navbar-toggler {
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.public-site .navbar-toggler:hover,
.public-site .navbar-toggler:focus {
  border-color: var(--dam-button-teal) !important;
  background: rgba(0, 120, 128, .06) !important;
  box-shadow: 0 0 0 .18rem rgba(0, 120, 128, .12) !important;
}

/* =========================================================
   DAM Shipping responsive image presentation
   Fill card areas neatly across desktop, tablet, and mobile.
   ========================================================= */
.public-site .dam-about-image img,
.public-site .gallery-card img,
.public-site main img.object-fit-cover,
.public-site .vessel-detail-image,
.public-site article > img,
.public-site .service-card > img,
.public-site .fleet-card > img,
.public-site .news-card > img {
  object-fit: cover !important;
  object-position: center !important;
  background: #0b3444;
}

.public-site .dam-about-image,
.public-site .gallery-card,
.public-site .service-card,
.public-site .fleet-card,
.public-site .news-card {
  overflow: hidden;
}

.public-site .gallery-card img {
  padding: 0;
  background: #0b3444;
}

/* Keep captions/names inside image/card boundaries and readable on every screen. */
.public-site .gallery-card figcaption {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.public-site .gallery-card figcaption strong,
.public-site .gallery-card figcaption span,
.public-site .fleet-card h4,
.public-site .news-card h4,
.public-site .service-card h3 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* =========================================================
   Footer - same information architecture and tone as Home.
   ========================================================= */
.public-site .dam-public-footer.dam-home-footer-style {
  background: #15262b !important;
  color: rgba(255,255,255,.72);
  padding: 4.5rem 0 2rem !important;
}
.public-site .dam-home-footer-style .dam-footer-logo-wrap {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1.15rem;
}
.public-site .dam-home-footer-style .dam-footer-logo {
  width: 220px;
  max-width: 100%;
  height: auto;
  display: block;
}
.public-site .dam-home-footer-style .dam-footer-title {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1.35rem;
}
.public-site .dam-home-footer-style p,
.public-site .dam-home-footer-style li,
.public-site .dam-home-footer-style a,
.public-site .dam-home-footer-style span {
  color: rgba(255,255,255,.67);
}
.public-site .dam-home-footer-style a {
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
.public-site .dam-home-footer-style a:hover,
.public-site .dam-home-footer-style a:focus {
  color: #fff !important;
}
.public-site .dam-home-footer-style .dam-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.public-site .dam-home-footer-style .dam-footer-links li + li {
  margin-top: .62rem;
}
.public-site .dam-home-footer-style .dam-footer-links i {
  color: #b4ae34;
  margin-right: .55rem;
  font-size: .8rem;
}
.public-site .dam-home-footer-style .dam-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}
.public-site .dam-home-footer-style .dam-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: .9rem;
  min-width: 0;
}
.public-site .dam-home-footer-style .dam-footer-contact i {
  color: #fff;
  width: 20px;
  flex: 0 0 20px;
  margin-top: .15rem;
}
.public-site .dam-home-footer-style .dam-footer-contact span,
.public-site .dam-home-footer-style .dam-footer-contact a {
  min-width: 0;
  overflow-wrap: anywhere;
}
.public-site .dam-home-footer-style .dam-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.35rem;
}
.public-site .dam-home-footer-style .dam-footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 50% !important;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  color: #fff !important;
}
.public-site .dam-home-footer-style .dam-footer-social a:hover,
.public-site .dam-home-footer-style .dam-footer-social a:focus {
  background: var(--dam-orange, #f86000);
  transform: translateY(-2px);
}
.public-site .dam-home-footer-style .dam-footer-info-box {
  border-left: 3px solid #b4ae34;
  padding-left: 1rem;
}
.public-site .dam-home-footer-style .dam-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 2.2rem;
  padding-top: 1.35rem;
  text-align: center;
  font-size: .88rem;
}
@media (max-width: 767.98px) {
  .public-site .dam-public-footer.dam-home-footer-style { padding-top: 3rem !important; }
  .public-site .dam-home-footer-style .dam-footer-col { margin-bottom: 1.4rem; }
}

/* =========================================================
   DAM Shipping - Contact page
   Mirrors the visual language of the homepage contact section
   while preserving the existing public contact form fields.
   ========================================================= */
.public-site .dam-contact-page {
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: scroll;
  padding: 4.5rem 0;
}
.public-site .dam-contact-page-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7, 54, 60, .94) 0%, rgba(0, 95, 102, .87) 44%, rgba(5, 42, 47, .78) 100%);
}
.public-site .dam-contact-page .alert {
  position: relative;
  z-index: 2;
  margin-bottom: 1.5rem;
}
.public-site .dam-contact-intro {
  position: relative;
  z-index: 2;
  color: #fff;
  padding-right: 1rem;
}
.public-site .dam-contact-kicker {
  display: inline-block;
  margin-bottom: .75rem;
  color: #ff9a57;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.public-site .dam-contact-intro h1 {
  max-width: 560px;
  margin-bottom: 1rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1.15;
  font-weight: 700;
}
.public-site .dam-contact-intro > p {
  max-width: 570px;
  margin-bottom: 1.8rem;
  color: rgba(255, 255, 255, .82);
  line-height: 1.8;
}
.public-site .dam-contact-info-list {
  display: grid;
  gap: .8rem;
}
.public-site .dam-contact-info-item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 10px;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(5px);
}
.public-site .dam-contact-info-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 1.05rem;
}
.public-site .dam-contact-info-item small {
  display: block;
  margin-bottom: 2px;
  color: rgba(255, 255, 255, .65);
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.public-site .dam-contact-info-item strong {
  display: block;
  color: #fff;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.public-site .dam-contact-form-card {
  position: relative;
  z-index: 2;
  padding: 2rem;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 10px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 22px 60px rgba(0, 25, 30, .22);
}
.public-site .dam-contact-form-card h2 {
  margin: .25rem 0 .45rem;
  color: #2d3436;
  font-size: clamp(1.65rem, 3vw, 2.2rem);
  font-weight: 700;
}
.public-site .dam-contact-form-lead {
  margin-bottom: 1.4rem;
  color: #7a8385;
  line-height: 1.65;
}
.public-site .dam-contact-form .form-label {
  margin-bottom: .45rem;
  color: #354143;
  font-size: .84rem;
  font-weight: 600;
}
.public-site .dam-contact-form .form-control {
  min-height: 48px;
  border: 1px solid #dce4e5;
  border-radius: 10px !important;
  background: #fff;
  color: #293638;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.public-site .dam-contact-form textarea.form-control {
  min-height: 145px;
  resize: vertical;
}
.public-site .dam-contact-form .form-control:focus {
  border-color: var(--dam-teal);
  background: #fff;
  box-shadow: 0 0 0 .22rem rgba(0, 120, 128, .12);
}
.public-site .dam-contact-form .form-control::placeholder {
  color: #a0a9ab;
}
.public-site .dam-contact-submit {
  min-width: 180px;
  min-height: 50px;
  border-radius: 10px !important;
  font-weight: 600;
}
.public-site .dam-contact-map-section {
  padding: 3rem 0;
  background: #f7f9f9;
}
.public-site .dam-contact-map-heading {
  margin-bottom: 1.35rem;
}
.public-site .dam-contact-map-heading h2 {
  margin: .25rem 0 0;
  font-weight: 700;
}
.public-site .dam-contact-map {
  overflow: hidden;
  border-radius: 10px !important;
  border: 1px solid #e2e8e9;
  background: #fff;
  box-shadow: 0 12px 32px rgba(20, 55, 60, .08);
}
.public-site .dam-contact-map iframe {
  display: block;
  width: 100%;
  min-height: 390px;
  border: 0;
}
@media (max-width: 991.98px) {
  .public-site .dam-contact-page {
    padding: 3.25rem 0;
  }
  .public-site .dam-contact-intro {
    padding-right: 0;
  }
}
@media (max-width: 575.98px) {
  .public-site .dam-contact-page {
    padding: 2.5rem 0;
  }
  .public-site .dam-contact-form-card {
    padding: 1.35rem;
  }
  .public-site .dam-contact-submit {
    width: 100%;
  }
  .public-site .dam-contact-map-section {
    padding: 2.35rem 0;
  }
}


/* Contact page final safeguards */
.public-site .dam-contact-page > .container {
  position: relative;
  z-index: 2;
}
.public-site .dam-contact-page-overlay {
  z-index: 1;
  pointer-events: none;
}
.public-site .dam-contact-page .row {
  position: relative;
  z-index: 2;
}
.public-site .dam-contact-form-card {
  backdrop-filter: none;
}
@media (max-width: 767.98px) {
  .public-site .dam-contact-page {
    background-position: 42% center;
  }
  .public-site .dam-contact-intro h1 {
    font-size: clamp(2rem, 10vw, 2.6rem);
  }
}

/* =========================================================
   DAM Shipping mobile navigation - compact floating panel
   ========================================================= */
@media (max-width: 991.98px) {
  .public-site .dam-navbar > .container {
    position: relative;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .public-site .dam-navbar .navbar-toggler {
    width: 44px;
    height: 42px;
    padding: 6px 8px !important;
    display: inline-grid;
    place-items: center;
    border: 1px solid #cbd7d9 !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(19, 55, 61, .08);
  }

  .public-site .dam-navbar .navbar-collapse {
    position: absolute;
    top: calc(100% + 8px);
    left: 16px;
    right: 16px;
    z-index: 1050;
    padding: 10px !important;
    background: #fff;
    border: 1px solid #e2ebec;
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(15, 50, 56, .16);
    max-height: calc(100vh - 92px);
    overflow-y: auto;
  }

  .public-site .dam-navbar .navbar-nav {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    gap: 2px;
    align-items: stretch !important;
  }

  .public-site .dam-navbar .navbar-nav .nav-item {
    width: 100%;
    margin: 0 !important;
  }

  .public-site .dam-navbar .navbar-nav .nav-link {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px;
    line-height: 1.35;
    color: #26383b !important;
  }

  .public-site .dam-navbar .navbar-nav .nav-link:hover,
  .public-site .dam-navbar .navbar-nav .nav-link:focus,
  .public-site .dam-navbar .navbar-nav .nav-link.active {
    color: var(--dam-teal) !important;
    background: rgba(0, 120, 128, .08);
  }

  .public-site .dam-navbar .dam-contact-button {
    display: block !important;
    width: 100%;
    margin: 7px 0 0 !important;
    padding: 10px 14px !important;
    text-align: center;
  }
}

@media (max-width: 575.98px) {
  .public-site .dam-navbar > .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .public-site .dam-navbar .dam-site-logo {
    width: 160px;
    max-width: calc(100vw - 86px);
  }
  .public-site .dam-navbar .navbar-collapse {
    left: 12px;
    right: 12px;
  }
}
