:root {
    --navy-950: #00172d;
    --navy-900: #00203d;
    --navy-850: #06294c;
    --navy-800: #08335d;
    --navy-700: #124f82;
    --coral: #00d1b3;
    --coral-dark: #00a894;
    --ink: #1a5ca1;
    --muted: #667286;
    --line: #dfe6ed;
    --soft: #f5f8fb;
    --white: #ffffff;
    --shadow: 0 16px 40px rgba(2, 35, 67, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    line-height: 1.7;
    overflow-x: hidden;
    animation: pageFadeIn .45s ease;
}
@keyframes pageFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Top loading bar shown while navigating to another page */
#page-loading-bar { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--coral), var(--coral-dark)); z-index: 9999; opacity: 0; box-shadow: 0 0 8px rgba(0,209,179,.6); }
#page-loading-bar.is-loading { opacity: 1; width: 82%; transition: width 5s cubic-bezier(.1,.6,.2,1), opacity .2s ease; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: .25s ease; }
.container-xl { max-width: 1180px; }

h1, h2, h3, h4, p { margin-top: 0; }
h2 { font-size: clamp(1.85rem, 2.8vw, 2.7rem); font-weight: 700; line-height: 1.18; color: var(--ink); margin-bottom: 16px; }
p { color: var(--muted); font-size: 1rem; }
.section { position: relative; padding: 72px 0; }
.section-eyebrow { margin-bottom: 9px; color: var(--coral); font-size: .85rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

/* Anchor offset so sticky nav (mobile) doesn't cover section headings */
#home, #about, #services, #sectors, #why-us, #sustainability, #verify, #contact { scroll-margin-top: 20px; }

@media (max-width: 991.98px) {
    #home, #about, #services, #sectors, #why-us, #sustainability, #verify, #contact { scroll-margin-top: 110px; }
}

/* Buttons */
.btn { border-radius: 4px; font-size: .9rem; font-weight: 700; letter-spacing: .01em; padding: 13px 22px; transition: .25s ease; border: 1px solid transparent; }
.btn i { margin-left: 10px; }
.btn-coral { color: #fff; background: var(--coral); border-color: var(--coral); box-shadow: 0 8px 18px rgba(0, 209, 179, .18); }
.btn-coral:hover, .btn-coral:focus { color: #fff; background: var(--coral-dark); border-color: var(--coral-dark); transform: translateY(-2px); }
.btn-outline-light-custom { color: #fff; border-color: rgba(255,255,255,.75); background: rgba(5, 33, 61, .34); }
.btn-outline-light-custom:hover { color: #fff; border-color: var(--coral); background: rgba(0, 209, 179, .1); }
.btn-outline-navy { color: var(--ink); border-color: var(--ink); background: transparent; }
.btn-outline-navy:hover { color: #fff; background: var(--ink); transform: translateY(-2px); }
.btn-white { color: var(--ink); background: #fff; border-color: #fff; }
.btn-white:hover { color: var(--ink); background: var(--soft); transform: translateY(-2px); }

/* Header / nav */
.site-header { position: relative; z-index: 20; }

@media (max-width: 991.98px) {
    .site-header { position: sticky; top: 0; z-index: 1030; }
}
.brand-lockup { display: inline-flex; align-items: center; color: var(--ink); }
.brand-lockup:hover { color: var(--ink); }
.brand-logo { height: 55px; width: auto; transition: transform .3s ease, filter .3s ease; }
.brand-lockup:hover .brand-logo { transform: scale(1.05); }

@media (max-width: 575.98px) {
    .brand-logo { height: 34px; }
}

/* Language switcher (sits inside the collapsible nav, after the link list) */
.lang-switch { display: inline-flex; align-items: center; gap: 2px; width: fit-content; margin-top: 14px; padding: 4px; border-radius: 30px; background: var(--soft); border: 1px solid var(--line); }
.lang-switch-link { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px 7px 7px; border-radius: 24px; color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .02em; line-height: 1; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.lang-switch-link:hover { color: var(--ink); }
.lang-switch-link.active { color: var(--ink); background: #fff; box-shadow: 0 4px 12px rgba(4,40,72,.14); }
.lang-flag { width: 22px; height: 16px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); flex: 0 0 auto; transition: transform .2s ease; }
.lang-switch-link:hover .lang-flag { transform: scale(1.08); }

@media (min-width: 992px) {
    .lang-switch { margin: 0 0 0 18px; }
}

/* Nav row */
.main-nav { position: relative; z-index: 8; min-height: 80px; background: var(--navy-900); box-shadow: 0 2px 18px rgba(0,10,25,.15); }
.main-nav .container-xl { align-items: center; }
.main-nav .navbar-nav { gap: 4px; }
.main-nav .nav-link { position: relative; margin: 0 4px; padding: 28px 14px !important; color: rgba(255,255,255,.82); font-size: .9rem; font-weight: 600; letter-spacing: .01em; transition: color .25s ease; }
.main-nav .nav-link::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 22px; height: 2px; background: var(--coral); border-radius: 2px; transform: scaleX(0); transform-origin: center; transition: transform .25s ease; }
.main-nav .nav-link:hover, .main-nav .nav-link.active { color: #fff; }
.main-nav .nav-link:hover::after, .main-nav .nav-link.active::after { transform: scaleX(1); }
.main-nav .dropdown-toggle::after { vertical-align: 2px; opacity: .7; }
.main-nav .dropdown-menu { min-width: 220px; margin-top: 0; padding: 10px; border: none; border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.main-nav .dropdown-item { border-radius: 6px; color: var(--ink); font-size: .9rem; font-weight: 500; padding: 10px 12px; transition: .2s ease; }
.main-nav .dropdown-item:hover, .main-nav .dropdown-item.active { color: var(--coral); background: var(--soft); }

/* Light nav variant */
.main-nav-light { background: #fff; box-shadow: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 56px; padding-top: 10px; padding-bottom: 10px; }
.main-nav-light .brand-lockup, .main-nav-light .brand-lockup:hover { color: var(--ink); margin-right: 24px; }
.main-nav-light .brand-logo { height: 42px; }
.main-nav-light .navbar-nav { gap: 0; }
.main-nav-light .nav-item { display: flex; align-items: center; }
.main-nav-light .nav-link { display: inline-flex; align-items: center; white-space: nowrap; margin: 0; padding: 17px 16px !important; border-radius: 0; color: var(--muted); text-transform: uppercase; font-size: .85rem; font-weight: 600; letter-spacing: .03em; transition: color .2s ease; }
.main-nav-light .nav-link i { margin-right: 9px; color: var(--muted); font-size: 1.05rem; transition: color .2s ease; }
.main-nav-light .nav-link::after { left: 16px; right: 16px; bottom: 0; height: 2px; border-radius: 0; background: var(--coral); }
.main-nav-light .nav-link:hover { color: var(--ink); background: transparent; }
.main-nav-light .nav-link.active { color: var(--ink); }
.main-nav-light .nav-link:hover i, .main-nav-light .nav-link.active i { color: var(--coral); }
.main-nav-light .dropdown-toggle::after { margin-left: 8px; vertical-align: 2px; opacity: .8; }

@media (min-width: 992px) {
    .main-nav-light .navbar-nav { display: flex; margin-left: auto; }
    .main-nav-light .nav-item { position: relative; }
    .main-nav-light .nav-item:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 50%; width: 1px; height: 22px; background: var(--line); transform: translateY(-50%); }
}

/* Services mega menu */
.mega-dropdown { position: static; }
.main-nav-light .nav-item.mega-dropdown { position: static; }
.mega-menu {
    display: block;
    position: absolute; left: 50%; top: 100%; z-index: 30;
    width: min(1180px, 94vw);
    margin: 0; padding: 30px;
    border: 1px solid var(--line); border-radius: 18px;
    background: #fff;
    box-shadow: 0 30px 60px rgba(4,40,72,.18);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translate(-50%, 14px);
    transition: opacity .28s ease, transform .28s ease, visibility .28s;
}
.mega-menu.show { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 12px); }
.mega-menu-item { display: block; text-decoration: none; }
.mega-menu-image { position: relative; display: block; height: 150px; border-radius: 12px; overflow: hidden; background-size: cover; background-position: center; margin-bottom: 14px; box-shadow: 0 10px 22px rgba(4,40,72,.14); transition: transform .35s ease, box-shadow .35s ease; }
.mega-menu-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,20,40,0) 55%, rgba(0,20,40,.42) 100%); opacity: 0; transition: opacity .3s ease; }
.mega-menu-item:hover .mega-menu-image { transform: translateY(-5px) scale(1.02); box-shadow: 0 16px 30px rgba(4,40,72,.22); }
.mega-menu-item:hover .mega-menu-image::after { opacity: 1; }
.mega-menu-label { display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center; color: var(--ink); font-size: .9rem; font-weight: 700; line-height: 1.3; transition: color .25s ease; }
.mega-menu-label i { flex: 0 0 auto; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(0,209,179,.12); color: var(--coral); font-size: .85rem; transition: .25s ease; }
.mega-menu-item:hover .mega-menu-label { color: var(--coral); }
.mega-menu-item:hover .mega-menu-label i { background: var(--coral); color: #fff; }

.mega-menu-footer { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); text-align: center; }
.mega-menu-all { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; transition: color .2s ease; }
.mega-menu-all i { font-size: .8rem; transition: transform .2s ease; }
.mega-menu-all:hover { color: var(--coral); }
.mega-menu-all:hover i { transform: translateX(3px); }

@media (max-width: 991.98px) {
    .mega-menu { display: none; position: static; width: auto; opacity: 1; visibility: visible; pointer-events: auto; transform: none; margin: 10px 0 0; padding: 16px; box-shadow: none; border-radius: 10px; transition: none; }
    .mega-menu.show { display: block; }
}

/* Services index grid */
.services-index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 32px; margin-top: 40px; }
.service-index-card { display: block; text-align: center; text-decoration: none; }
.service-index-image { position: relative; display: block; height: 230px; margin: 0 auto 20px; border-radius: 16px; overflow: hidden; background-size: cover; background-position: center; box-shadow: 0 18px 34px rgba(4,40,72,.16); transition: transform .35s ease, box-shadow .35s ease; }
.service-index-card:hover .service-index-image { transform: translateY(-6px); box-shadow: 0 24px 44px rgba(4,40,72,.24); }
.service-index-title { font-size: 1.1rem; font-weight: 700; color: var(--ink); transition: color .2s ease; }
.service-index-card:hover .service-index-title { color: var(--coral); }

@media (max-width: 991.98px) {
    .services-index-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; }
}

@media (max-width: 575.98px) {
    .services-index-grid { grid-template-columns: 1fr; }
    .service-index-image { height: 200px; }
}

/* Hero */
.hero-section { position: relative; overflow: hidden; min-height: clamp(560px, 82vh, 760px); display: flex; align-items: center; color: #fff; }
.hero-media { position: absolute; inset: 0; z-index: 0; }
.hero-media video, .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,10,22,.5) 0%, rgba(0,10,22,.2) 45%, rgba(0,10,22,.5) 100%); }
.hero-overlay-content { position: relative; z-index: 1; width: 100%; opacity: 0; transform: translateY(18px); animation: heroOverlayRise .8s ease .15s forwards; }
.hero-overlay-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--coral); font-size: .85rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero-overlay-eyebrow::before, .hero-overlay-eyebrow::after { content: ''; width: 28px; height: 1px; background: var(--coral); opacity: .7; }
.hero-overlay-content h1 { margin-bottom: 0; font-family: "Open Sans", sans-serif; font-weight: 800; font-size: clamp(2rem, 4.4vw, 3.3rem); line-height: 1.2; letter-spacing: -.01em; text-shadow: 0 6px 26px rgba(0,0,0,.45); }

/* Hero thumbnail slider */
.hero-thumb-slider { position: absolute; z-index: 3; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 18px; background: rgba(4,20,40,.4); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 24px 48px rgba(0,10,25,.4); }
.hero-thumb-arrow { flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; border: none; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; font-size: 1rem; cursor: pointer; transition: .25s ease; }
.hero-thumb-arrow:hover { background: var(--coral); transform: scale(1.08); }
.hero-thumbs { display: flex; gap: 8px; max-width: min(840px, 62vw); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hero-thumbs::-webkit-scrollbar { display: none; }
.hero-thumb { scroll-snap-align: start; display: flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; width: 166px; height: 96px; padding: 14px; text-align: left; font-size: .82rem; font-weight: 700; line-height: 1.3; color: #fff; border-radius: 12px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.hero-thumb-image { position: relative; background-size: cover; background-position: center; box-shadow: 0 8px 18px rgba(0,0,0,.25); }
.hero-thumb-image::before { content: ''; position: absolute; inset: 0; background: linear-gradient(190deg, rgba(0,20,40,.1) 0%, rgba(0,20,40,.75) 100%); transition: background .3s ease; }
.hero-thumb-image span { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; }
.hero-thumb-image:hover { transform: translateY(-4px); box-shadow: 0 14px 26px rgba(0,0,0,.32); }
.hero-thumb-image:hover::before { background: linear-gradient(190deg, rgba(0,209,179,.2) 0%, rgba(0,209,179,.82) 100%); }

@media (max-width: 767.98px) {
    .hero-thumb-slider { right: 12px; bottom: 12px; left: 12px; }
    .hero-thumbs { max-width: 100%; }
    .hero-thumb { width: 138px; height: 84px; }
}

@keyframes heroOverlayRise { to { opacity: 1; transform: none; } }


/* About */
.section-about { padding-top: 96px; padding-bottom: 42px; }
.section-about p { font-size: 1rem; }
.about-heading-center { max-width: 720px; margin: 0 auto 46px; text-align: center; }
.about-heading-center .section-eyebrow { justify-content: center; }
.about-heading-center .section-divider { display: block; width: 90px; height: 4px; margin: 6px auto 0; background: var(--coral); border-radius: 2px; }
.about-subheading { margin: 20px 0 10px; font-size: 1.15rem; font-weight: 700; color: var(--ink); }
.about-image-card, .why-image-card { overflow: hidden; border-radius: 24px 24px 24px 10px; box-shadow: 0 18px 35px rgba(4, 43, 80, .16); }
.about-image-card { height: 300px; }
.why-image-card { height: 201px; }
.about-image-card img, .why-image-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.about-image-card:hover img, .why-image-card:hover img { transform: scale(1.08); }
.about-benefits { display: grid; gap: 16px; }
.about-benefit { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center; }
.about-benefit { padding: 8px; border-radius: 14px; transition: .25s ease; }
.about-benefit:nth-child(odd) { background: rgba(0,209,179,.06); }
.about-benefit:nth-child(even) { background: var(--soft); }
.about-benefit:nth-child(odd):hover { background: rgba(0,209,179,.12); }
.about-benefit:nth-child(even):hover { background: #eef2f7; }
.about-benefit > span { display: grid; place-items: center; overflow: hidden; width: 72px; height: 72px; border: 1px solid #dce5ef; border-radius: 50%; color: var(--navy-700); background: #f8fafc; font-size: 1.3rem; transition: .3s ease; }
.about-benefit > span img { width: 100%; height: 100%; object-fit: cover; }
.about-benefit:hover > span { border-color: var(--coral); transform: scale(1.06); box-shadow: 0 8px 18px rgba(0,209,179,.28); }
.about-benefit h3 { margin-bottom: 2px; font-size: 1rem; font-weight: 700; }
.about-benefit p { margin: 0; font-size: .9rem; line-height: 1.5; }

/* Mission / Vision cards (About page) */
.about-benefits.mission-vision { gap: 20px; }
.mission-vision .about-benefit { display: block; padding: 24px 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(4,40,72,.05); }
.mission-vision .about-benefit:nth-child(odd), .mission-vision .about-benefit:nth-child(even) { background: #fff; }
.mission-vision .about-benefit:nth-child(odd):hover, .mission-vision .about-benefit:nth-child(even):hover { background: #fff; }
.mission-vision .about-benefit:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(4,40,72,.12); }
.mission-vision .about-benefit > span { width: 46px; height: 46px; margin-bottom: 14px; font-size: 1.05rem; }
.mission-vision .about-benefit h3 { margin-bottom: 8px; font-size: 1.05rem; }
.mission-vision .about-benefit p { font-size: .89rem; line-height: 1.6; }


/* Our Values block */
.values-block { margin-top: 44px; padding: 32px 34px; border-radius: 20px; border: 1px solid var(--line); background: linear-gradient(165deg, #ffffff 0%, var(--soft) 70%, #eef3f9 100%); }
.values-block h3 { margin-bottom: 18px; font-size: 1.2rem; font-weight: 700; color: var(--ink); }

/* Services */
.section-services { padding-top: 52px; padding-bottom: 54px; background: var(--soft); }
.section-services .section-heading { margin-bottom: 34px; }
.section-services .section-heading h2 { font-weight: 600; }
.service-card { position: relative; min-height: 0; height: 100%; display: flex; flex-direction: column; padding: 16px 14px 14px; text-align: center; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 6px 16px rgba(4,40,72,.05); transition: .25s ease; }
.service-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--coral); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.service-card:hover { transform: translateY(-5px); border-color: var(--coral); background: #fff; box-shadow: 0 16px 30px rgba(4,40,72,.14); }
.service-card:hover::before { transform: scaleX(1); }
.service-card > .service-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin: 0 auto 10px; border-radius: 50%; background: rgba(0,209,179,.14); color: var(--coral); font-size: 1.15rem; transition: .3s ease; }
.service-card:hover .service-icon { background: var(--coral); color: #fff; transform: scale(1.08); }
.service-card h3 { margin-bottom: 6px; color: var(--ink); font-size: .92rem; line-height: 1.3; font-weight: 500; }
.service-card p { flex: 1; margin-bottom: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.service-card .circle-link { display: inline-grid; place-items: center; width: 32px; height: 32px; margin: 0 auto; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); font-size: .8rem; }
.service-card:hover .circle-link { border-color: var(--coral); background: var(--coral); color: #fff; }
.service-card-compact { flex-direction: row; align-items: center; gap: 14px; padding: 16px 18px; text-align: left; }
.service-card-compact .service-icon { margin: 0; flex: 0 0 auto; }
.service-card-compact h3 { margin-bottom: 0; font-size: .88rem; }

/* Why choose (core advantages) */
.section-why { padding-top: 90px; padding-bottom: 90px; }
.section-why h2 { font-size: clamp(1.8rem, 2.7vw, 2.4rem); }
.check-list { list-style: none; margin: 18px 0 24px; padding: 0; display: grid; gap: 10px; }
.check-list li { position: relative; padding-left: 26px; color: var(--muted); font-size: .95rem; }
.check-list li::before { content: "\f26a"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 0; color: var(--coral); font-weight: 700; }

/* Why-choose teaser grid (short icon + label items) */
.why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.why-grid article { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 8px 18px rgba(4,40,72,.06); }
.why-grid article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: var(--navy-800); font-size: 1.05rem; }
.why-grid h3 { margin-bottom: 2px; font-size: .9rem; font-weight: 700; }
.why-grid p { margin: 0; font-size: .85rem; line-height: 1.4; color: var(--muted); }

/* Sectors */
.section-sectors { position: relative; overflow: hidden; background: #fff; }
.section-sectors::before { content: ""; position: absolute; z-index: 0; top: -12%; right: -8%; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(18,79,130,.1) 0%, transparent 70%); pointer-events: none; }
.section-sectors .container-xl { position: relative; z-index: 1; }

/* Sector / vessel-type image cards */
.sector-card { overflow: hidden; height: 100%; border: 1px solid #e2e8ef; border-radius: 15px; background: #fff; box-shadow: 0 8px 22px rgba(1, 33, 62, .05); transition: .25s ease; }
.sector-card:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(1, 33, 62, .12); }
.sector-card img { width: 100%; height: 230px; object-fit: cover; transition: transform .5s ease; }
.sector-card:hover img { transform: scale(1.08); }
.sector-body { position: relative; padding: 20px; }
.sector-body h3 { margin-bottom: 6px; font-size: 1.05rem; font-weight: 700; }
.sector-body p { margin-bottom: 0; font-size: .9rem; line-height: 1.55; }

/* Sustainability teaser */
.sustainability-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; }
.sustainability-values span { display: grid; grid-template-columns: 30px auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font-size: .76rem; font-weight: 600; line-height: 1.25; box-shadow: 0 6px 16px rgba(4,40,72,.05); transition: .25s ease; }
.sustainability-values span:hover { transform: translateY(-3px); border-color: transparent; box-shadow: 0 12px 24px rgba(4,40,72,.12); }
.sustainability-values i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--soft); color: var(--navy-700); font-size: .9rem; transition: .25s ease; }
.sustainability-values span:hover i { background: var(--coral); color: #fff; transform: scale(1.06); }
.sustainability-gallery { position: relative; }
.sustainability-gallery::before { content: ''; position: absolute; z-index: 0; top: -18px; right: -18px; bottom: -18px; left: 18px; border-radius: 20px; background: linear-gradient(135deg, var(--coral) 0%, var(--navy-700) 100%); opacity: .12; }
.sustainability-gallery img { position: relative; z-index: 1; width: 100%; height: 340px; object-fit: cover; border-radius: 16px; box-shadow: var(--shadow); }

/* Generic info card (advantages, pillars, commitments, differentiators) */
.info-card { height: 100%; padding: 26px 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(4,40,72,.06); transition: .25s ease; }
.info-card:hover { transform: translateY(-4px); border-color: var(--coral); }
.info-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 14px; border-radius: 50%; background: var(--soft); color: var(--navy-700); font-size: 1.3rem; transition: .3s ease; }
.info-card:hover .info-icon { background: var(--coral); color: #fff; transform: scale(1.06); box-shadow: 0 8px 18px rgba(0,209,179,.28); }
.info-card h3 { margin-bottom: 8px; font-size: 1.05rem; font-weight: 700; color: var(--ink); }
.info-card p { margin-bottom: 8px; font-size: .92rem; line-height: 1.65; }
.info-card p:last-child { margin-bottom: 0; }

/* Shared content helpers (inner pages) */
.subsection-title { position: relative; margin: 44px 0 20px; font-size: 1.15rem; font-weight: 700; color: var(--ink); }
.subsection-title.mt-0 { margin-top: 0; }
.section-intro { max-width: 760px; }
.card-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--coral); font-size: .9rem; font-weight: 600; transition: gap .2s ease, color .2s ease; }
.card-link:hover { color: var(--coral-dark); gap: 10px; }
.content-card { padding: 32px 34px; border-radius: 20px; border: 1px solid var(--line); background: #fff; box-shadow: 0 10px 24px rgba(4,40,72,.06); }

/* Tag pills (values, commodities, risk items) */
.tag-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.tag-pill { display: inline-flex; align-items: center; gap: 7px; padding: 10px 18px 10px 14px; border: 1px solid var(--line); border-radius: 30px; background: #fff; color: var(--ink); font-size: .875rem; font-weight: 600; box-shadow: 0 4px 12px rgba(4,40,72,.05); transition: .25s ease; }
.tag-pill i { color: var(--coral); font-size: .8rem; transition: color .25s ease; }
.tag-pill:hover { border-color: var(--coral); background: var(--coral); color: #fff; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,209,179,.28); }
.tag-pill:hover i { color: #fff; }
.tag-pill-light { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.08); color: #fff; }
.values-block .tag-list { flex-wrap: nowrap; gap: 8px; }
.values-block .tag-pill { flex: 1 1 0; justify-content: center; padding: 10px 10px; font-size: .8rem; white-space: nowrap; }
.values-block .tag-pill i { font-size: .75rem; }

/* Callout / disclaimer note */
.callout-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; padding: 16px 18px; border: 1px solid #f0dca0; border-radius: 12px; background: #fdf8ea; }
.callout-note i { flex: 0 0 auto; color: #c8930a; font-size: 1.1rem; margin-top: 2px; }
.callout-note p { margin: 0; color: #7a5b12; font-size: .875rem; line-height: 1.6; }

/* Sustainability, Leadership, Quality, Why Partner */
.section-sustainability { padding-top: 90px; padding-bottom: 90px; background: var(--soft); }
.section-leadership { padding-top: 30px; padding-bottom: 30px; background: var(--soft); }
.section-quality { padding-top: 90px; padding-bottom: 90px; }
.section-why-partner { padding-top: 90px; padding-bottom: 90px; background: var(--soft); }
.leadership-photo { display: grid; place-items: center; overflow: hidden; height: 220px; border-radius: 24px 24px 24px 10px; background: radial-gradient(circle at 30% 25%, var(--navy-700) 0%, var(--navy-850) 60%, var(--navy-950) 100%); box-shadow: 0 18px 35px rgba(4, 43, 80, .16); }
.leadership-photo i { color: var(--coral); font-size: 3.8rem; filter: drop-shadow(0 8px 16px rgba(0,209,179,.3)); }
.leadership-photo img { width: 100%; height: 100%; object-fit: cover; }
.leadership-body { position: relative; padding: 34px 36px; border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(4,40,72,.07); }
.leadership-quote-mark { font-family: Georgia, "Times New Roman", serif; font-weight: 700; font-size: 3.2em; color: rgba(0,209,179,.45); vertical-align: -.32em; }
.leadership-quote-mark-end { margin-left: 4px; }
.leadership-body p { position: relative; z-index: 1; font-size: 1rem; margin-bottom: 14px; }
.leadership-signature { position: relative; z-index: 1; margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 1.05rem; font-weight: 700; color: var(--ink); }
.leadership-signature small { display: block; margin-top: 2px; font-size: .85rem; font-weight: 400; color: var(--muted); }

/* Verify + industries */
.verify-card { padding: 28px 26px; border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.verify-head { display: flex; gap: 14px; margin-bottom: 18px; }
.verify-head i { flex: 0 0 auto; color: var(--coral); font-size: 1.6rem; }
.verify-head h2 { font-size: 1.3rem; margin-bottom: 6px; }
.verify-head p { margin: 0; font-size: .92rem; }
.verify-card .form-control, .contact-modal-content .form-control { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 8px; padding: 11px 14px; font-size: 1rem; }
.verify-card .form-control:focus, .contact-modal-content .form-control:focus { border-color: var(--coral); box-shadow: 0 0 0 .2rem rgba(0,209,179,.15); }
.verify-alert { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; padding: 12px 14px; border-radius: 10px; font-size: .9rem; }
.verify-alert-success { color: #0a6a44; background: #e8f7ef; border: 1px solid #bfead0; }
.verify-alert-error { color: #b3261e; background: #fdecec; border: 1px solid #f6c6c3; }
.verify-note { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; color: var(--muted); font-size: .82rem; }
.verify-note i { color: var(--navy-700); }

/* Contact page info panel */
.contact-info-list { display: grid; gap: 16px; height: 100%; }
.contact-info-item { display: grid; grid-template-columns: 60px 1fr; gap: 16px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(4,40,72,.05); transition: .25s ease; }
.contact-info-item:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 16px 32px rgba(4,40,72,.12); }
.contact-info-item > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--coral) 0%, var(--coral-dark) 100%); font-size: 1.2rem; transition: .3s ease; }
.contact-info-item:hover > span { transform: scale(1.08); box-shadow: 0 8px 18px rgba(0,209,179,.32); }
.contact-info-item h3 { margin-bottom: 3px; font-size: .82rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
.contact-info-item p { margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--ink); }
.contact-info-item p a { color: var(--ink); }
.contact-info-item p a:hover { color: var(--coral); }
/* Why Work With Us */
.section-why-work { padding-top: 90px; padding-bottom: 90px; }
.section-heading-underline { margin-bottom: 50px; }
.section-divider-bar { display: block; width: 90px; height: 4px; margin-top: 12px; background: var(--coral); border-radius: 2px; }
.section-heading-underline.text-center .section-divider-bar { margin-left: auto; margin-right: auto; }
.why-diagram { position: relative; width: 100%; max-width: 460px; aspect-ratio: 1; margin: 0 auto; }
.why-diagram-ring { position: absolute; inset: 0; border: 1px solid var(--line); border-radius: 50%; }
.why-diagram-center { position: absolute; top: 50%; left: 50%; width: 72%; height: 72%; padding: 20px; border-radius: 50%; background: #fff; box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: translate(-50%, -50%); }
.why-diagram-center i { margin-bottom: 10px; font-size: 1.8rem; color: var(--ink); }
.why-diagram-center h3 { margin-bottom: 6px; font-size: 1rem; font-weight: 700; color: var(--ink); text-transform: uppercase; letter-spacing: .02em; }
.why-diagram-center p { margin: 0; font-size: .82rem; color: var(--muted); line-height: 1.5; }
.why-diagram-node { position: absolute; top: 50%; left: 50%; width: 90px; height: 90px; margin: -45px 0 0 -45px; display: grid; place-items: center; border-radius: 50%; background: #fff; padding: 6px; box-shadow: 0 8px 18px rgba(15,23,42,.18); transform: rotate(var(--angle)) translate(0, -182px) rotate(calc(-1 * var(--angle))); }
.why-diagram-node img { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
.why-work-subheading { margin-bottom: 24px; font-size: 1.15rem; font-weight: 700; color: var(--ink); }
.why-work-list { display: grid; gap: 22px; }
.why-work-item { display: grid; grid-template-columns: 30px 1fr; gap: 14px; }
.why-work-number { display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid var(--coral); border-radius: 50%; color: var(--coral); font-weight: 700; font-size: .85rem; }
.why-work-item h4 { margin-bottom: 4px; font-size: .95rem; font-weight: 700; color: var(--ink); text-transform: uppercase; letter-spacing: .02em; }
.why-work-item p { margin: 0; font-size: .9rem; color: var(--muted); line-height: 1.6; }

@media (max-width: 575.98px) {
    .why-diagram { max-width: 320px; }
    .why-diagram-node { width: 66px; height: 66px; margin: -33px 0 0 -33px; transform: rotate(var(--angle)) translate(0, -124px) rotate(calc(-1 * var(--angle))); }
}

@media (max-width: 380px) {
    .why-diagram-node { width: 50px; height: 50px; margin: -25px 0 0 -25px; transform: rotate(var(--angle)) translate(0, -104px) rotate(calc(-1 * var(--angle))); }
}

/* CTA band */
.section-cta { padding-top: 0; padding-bottom: 90px; }
.cta-band { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; padding: 40px 42px; border-radius: 20px; color: #fff; background: linear-gradient(115deg, var(--navy-900) 0%, var(--navy-800) 55%, var(--coral-dark) 130%); box-shadow: 0 22px 45px rgba(3,30,58,.25); }
.cta-band::before { content: ""; position: absolute; z-index: 0; top: -40%; right: -6%; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%); pointer-events: none; }
.cta-band::after { content: ""; position: absolute; z-index: 1; inset: 0; background-image: repeating-radial-gradient(ellipse at 20% 100%, transparent 0 18px, rgba(255,255,255,.05) 19px 20px, transparent 21px 34px); pointer-events: none; }
.cta-band > * { position: relative; z-index: 2; }
.cta-band h2 { color: #fff; margin-bottom: 6px; font-size: clamp(1.4rem, 2.2vw, 1.9rem); }
.cta-band p { margin: 0; color: rgba(255,255,255,.85); font-size: .95rem; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Contact modal */
.contact-modal-content { border: 0; border-radius: 16px; overflow: hidden; }
.contact-modal-content .modal-header { border-bottom: 1px solid var(--line); }
.contact-modal-content .modal-title { display: flex; align-items: center; gap: 10px; font-size: 1.15rem; color: var(--ink); }
.contact-modal-content .modal-title i { color: var(--coral); }
.contact-modal-intro { margin-bottom: 16px; font-size: .92rem; }

/* Inner page header banner */
.page-header { position: relative; overflow: hidden; padding: 30px 0; color: #fff; background: #1e3a5c; }
.page-header .hero-contours { opacity: .12; }
.page-header .container-xl { position: relative; z-index: 2; }
.page-header .section-eyebrow { color: var(--coral); }
.page-header h1 { margin-bottom: 0; font-size: clamp(1.6rem, 2.6vw, 2.2rem); color: #fff; }
.page-header p { margin: 0; max-width: 620px; color: rgba(255,255,255,.85); font-size: 1.05rem; }
.page-header-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.page-header nav[aria-label="breadcrumb"] { margin-bottom: 0; font-size: .75rem; }
.page-header nav[aria-label="breadcrumb"] a { color: rgba(255,255,255,.65); }
.page-header nav[aria-label="breadcrumb"] a:hover { color: var(--coral); }
.page-header nav[aria-label="breadcrumb"] .current { color: var(--coral); font-weight: 700; }

/* Service detail content */
.service-intro-section { padding-top: 48px; padding-bottom: 12px; }
.service-intro-text { max-width: none; font-size: 1.15rem; line-height: 1.8; }

.service-quotes { margin-bottom: 32px; }
.service-quote { margin: 0 0 20px; padding: 0; color: var(--ink); font-size: 1.1rem; font-style: italic; line-height: 1.7; }
.service-quote:last-child { margin-bottom: 0; }
.service-sub { display: block; padding: 22px 0; border-bottom: 1px solid var(--line); }
.service-sub:first-child { padding-top: 0; }
.service-sub:last-child { border-bottom: none; padding-bottom: 0; }
.service-sub h3 { margin-bottom: 8px; font-size: 1.1rem; font-weight: 700; color: var(--ink); }
.service-sub p { margin: 0; font-size: .96rem; line-height: 1.7; }
.service-sub-linked h3 { transition: color .2s ease; }
.service-sub-linked h3 i { margin-left: 6px; font-size: .85rem; opacity: 0; transform: translateX(-4px); transition: opacity .2s ease, transform .2s ease; }
.service-sub-linked:hover h3 { color: var(--coral); }
.service-sub-linked:hover h3 i { opacity: 1; transform: translateX(0); }

/* Sub-service detail page */
.service-sub-content { padding-top: 48px; }
.service-sub-detail-subtitle { font-size: 1.4rem; margin-bottom: 16px; }
.service-sub-detail-text { font-size: .9rem; line-height: 1.8; margin-bottom: 18px; }
.service-sub-detail-section { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.service-sub-detail-section:first-of-type { margin-top: 40px; }
.service-sub-detail-heading { margin-bottom: 14px; font-size: 1.2rem; font-weight: 700; color: var(--ink); text-transform: uppercase; letter-spacing: .02em; }
.service-sub-detail-items { display: grid; gap: 20px; margin-top: 4px; }
.service-sub-detail-item h4 { margin-bottom: 6px; font-size: 1rem; font-weight: 700; color: var(--ink); }
.service-sub-detail-item p { margin: 0 0 4px; font-size: .96rem; line-height: 1.7; }
.service-sub-detail-item p:last-child { margin-bottom: 0; }

/* Simple CTA at the end of sub-service detail pages */
.service-sub-cta { padding: 28px 30px; border: 1px solid var(--line); border-radius: 16px; background: var(--soft); }
.service-sub-cta h3 { margin-bottom: 8px; font-size: 1.2rem; color: var(--ink); }
.service-sub-cta p { margin: 0 0 18px; font-size: .92rem; }

/* Service page sidebar */
.service-sidebar { display: grid; gap: 24px; position: sticky; top: 24px; }
.service-sidebar-box { padding: 26px 24px; border-radius: 16px; background: var(--soft); }
.service-sidebar-heading { margin-bottom: 18px; font-size: 1.05rem; font-weight: 700; color: var(--ink); }
.service-sidebar-list { display: grid; gap: 16px; margin: 0; }
.service-sidebar-list dt { margin-bottom: 3px; font-size: .68rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
.service-sidebar-list dd { margin: 0; font-size: .80rem; font-weight: 600; color: var(--ink); }
.service-sidebar-list dd a { color: var(--ink); }
.service-sidebar-list dd a:hover { color: var(--coral); }
.service-sidebar-form .form-control { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 8px; padding: 11px 14px; font-size: .95rem; background: #fff; }
.service-sidebar-form .form-control:focus { border-color: var(--coral); box-shadow: 0 0 0 .2rem rgba(0,209,179,.15); }

@media (max-width: 991.98px) {
    .service-sidebar { position: static; margin-top: 8px; }
}

/* Sub-service photo grid (used when each sub-service has its own image) */
.service-sub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 32px; margin-bottom: 8px; }
.service-sub-card { display: block; text-align: center; }
.service-sub-image { display: block; width: 100%; aspect-ratio: 1 / 1; margin: 0 auto 22px; border-radius: 16px; background-size: cover; background-position: center; box-shadow: 0 18px 34px rgba(4,40,72,.16); transition: transform .3s ease, box-shadow .3s ease; }
.service-sub-card h3 { margin-bottom: 10px; font-size: 1.3rem; font-weight: 700; color: var(--ink); transition: color .2s ease; }
.service-sub-card p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.7; }
a.service-sub-card:hover .service-sub-image { transform: translateY(-4px); box-shadow: 0 24px 40px rgba(4,40,72,.22); }
a.service-sub-card:hover h3 { color: var(--coral); }

@media (max-width: 991.98px) {
    .service-sub-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; }
}

@media (max-width: 575.98px) {
    .service-sub-grid { grid-template-columns: 1fr; }
}

/* Marine and Cargo Insurances category page */
.insurance-hero-section { padding-top: 40px; padding-bottom: 0; }
.insurance-hero { padding: 40px; border-radius: 20px; background: #f3ece1; }
.insurance-hero h1 { margin-bottom: 12px; font-size: clamp(1.7rem, 2.8vw, 2.3rem); color: var(--ink); }
.insurance-hero > p { max-width: 720px; font-size: 1.05rem; }
.insurance-badges { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
.insurance-badge { display: flex; align-items: flex-start; gap: 12px; padding: 20px; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(4,40,72,.06); }
.insurance-badge-icon { flex: 0 0 auto; display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--coral); color: var(--coral); font-size: .8rem; }
.insurance-badge h3 { margin-bottom: 6px; font-size: .92rem; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; color: var(--ink); }
.insurance-badge p { margin: 0; font-size: .88rem; line-height: 1.6; }

.insurance-essential-section .section-intro { margin-bottom: 28px; }
.insurance-accordion { display: grid; gap: 16px; }
.insurance-accordion-item { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; }
.insurance-accordion-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 18px 22px; border: none; background: none; color: var(--ink); font-size: 1rem; font-weight: 700; text-align: left; cursor: pointer; }
.insurance-accordion-toggle i { flex: 0 0 auto; color: var(--coral); transition: transform .25s ease; }
.insurance-accordion-toggle[aria-expanded="false"] i { transform: rotate(-90deg); }
.insurance-accordion-body div { padding: 0 22px 20px; }
.insurance-accordion-body h4 { margin-bottom: 8px; font-size: .95rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--coral); }
.insurance-accordion-body p { margin: 0; font-size: .95rem; line-height: 1.75; }

.insurance-text-sections { padding-top: 8px; }
.insurance-text-block { margin-bottom: 36px; }
.insurance-text-block:last-child { margin-bottom: 0; }
.insurance-text-block h2 { font-size: 1.4rem; margin-bottom: 12px; }
.insurance-text-block p { font-size: .98rem; line-height: 1.8; margin-bottom: 12px; }
.insurance-text-block p:last-child { margin-bottom: 0; }

.insurance-clause-section { padding-top: 60px; background: #f3ece1; }
.insurance-clause-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.insurance-clause-card { padding: 24px; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(4,40,72,.06); text-align: center; }
.insurance-clause-image { display: block; width: 100%; height: 170px; margin-bottom: 18px; border-radius: 12px; background-size: cover; background-position: center; }
.insurance-clause-card h3 { margin-bottom: 8px; font-size: 1rem; font-weight: 700; color: var(--ink); }
.insurance-clause-card p { margin: 0 0 10px; font-size: .9rem; line-height: 1.65; }
.insurance-clause-card .check-list { display: inline-block; margin: 10px 0 0; text-align: left; }
.insurance-clause-card .check-list li { font-size: .88rem; }

.insurance-cta-section { padding-top: 60px; }

@media (max-width: 991.98px) {
    .insurance-badges { grid-template-columns: 1fr; }
    .insurance-clause-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .insurance-hero { padding: 26px 20px; }
}

/* Legal pages */
.legal-page { padding-top: 100px; padding-bottom: 80px; }
.legal-page .container-xl { max-width: 860px; }
.legal-page h1 { font-size: clamp(1.7rem, 3vw, 2.3rem); color: var(--ink); margin-bottom: 6px; }
.legal-page h3 { margin: 26px 0 8px; font-size: 1.05rem; color: var(--ink); }
.legal-page p { font-size: 1rem; }
.legal-page .updated { margin-bottom: 20px; font-size: .85rem; color: var(--coral); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.legal-page-with-image .container-xl { max-width: 1180px; }
.legal-page-photo { position: sticky; top: 20px; overflow: hidden; border-radius: 20px; box-shadow: 0 18px 35px rgba(4,43,80,.16); }
.legal-page-photo img { width: 100%; height: auto; display: block; }

@media (max-width: 991.98px) {
    .legal-page-photo { position: static; max-width: 420px; margin: 0 auto; }
}

/* Footer */
.site-footer { position: relative; padding: 60px 0 10px; color: #fff; background: linear-gradient(180deg, var(--navy-850) 0%, var(--navy-950) 100%); }
.footer-main { padding-bottom: 24px; }
.footer-brand { display: inline-flex; align-items: center; margin-bottom: 16px; }
.footer-brand .brand-logo { height: 42px; border-radius: 6px; }
.site-footer > .container-xl > .row > div > p { max-width: 100%; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.6; }
.social-links { display: flex; gap: 10px; margin-top: 14px; }
.social-links a { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--navy-900); background: #fff; font-size: .9rem; }
.social-links a:hover { background: var(--coral); color: #fff; }
.site-footer h4 { margin: 0 0 14px; font-size: .85rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: #fff; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 9px; font-size: .9rem; line-height: 1.6; color: rgba(255,255,255,.72); }
.site-footer li a { color: rgba(255,255,255,.72); }
.site-footer li a:hover { color: var(--coral); }
.footer-links li a { display: inline-flex; align-items: center; gap: 6px; }
.footer-links li a i { font-size: .72rem; color: rgba(255,255,255,.4); }
.footer-links li a:hover i { color: var(--coral); }
.footer-links li a.active { color: var(--coral); }
.footer-links li a.active i { color: var(--coral); }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 0 16px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.6); font-size: .82rem; }
.footer-bottom-nav { display: flex; flex-wrap: wrap; gap: 22px; }
.footer-bottom-nav a { display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.72); font-size: .85rem; }
.footer-bottom-nav a i { color: var(--coral); font-size: .9rem; }
.footer-bottom-nav a:hover { color: var(--coral); }
.back-to-top { position: fixed; right: 24px; bottom: 24px; z-index: 40; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #fff; background: rgba(0,23,45,.85); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .3s ease; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { border-color: var(--coral); background: var(--coral); }

/* Reveal animation */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.reveal.in-view { opacity: 1; transform: none; }

/* Tablet */
@media (max-width: 1199.98px) {
    .main-nav .nav-link { margin: 0 7px; }
    .main-nav-light .nav-link { padding: 26px 14px !important; font-size: .78rem; }
    .main-nav-light .nav-link::after { left: 14px; right: 14px; }
}

@media (max-width: 991.98px) {
    .utility-bar { display: none !important; }
    .main-nav .navbar-collapse { margin-top: 10px; padding: 18px; border-radius: 12px; background: var(--navy-850); box-shadow: 0 15px 35px rgba(0,0,0,.28); }
    .main-nav-light .navbar-collapse { background: #fff; box-shadow: 0 15px 35px rgba(1,33,62,.14); border: 1px solid var(--line); }
    .main-nav .navbar-nav { gap: 0; }
    .main-nav-light .navbar-nav { flex-wrap: wrap; }
    .main-nav .nav-link { margin: 0; padding: 12px 4px !important; border-bottom: 1px solid rgba(255,255,255,.08); }
    .main-nav-light .nav-item { border-left: 0; }
    .main-nav-light .nav-item:hover, .main-nav-light .nav-item:has(.nav-link.active) { background: none; }
    .main-nav-light .nav-item:last-child { border-right: 0; }
    .main-nav-light .nav-link { height: auto; padding: 12px 4px !important; border-bottom: 1px solid var(--line); }
    .main-nav-light .nav-link::after { display: none; }
    .main-nav .nav-item:last-child .nav-link { border-bottom: none; }
    .main-nav .nav-link::after { display: none; }
    .section-about { padding-top: 70px; }
    .about-image-card { max-width: 520px; margin: 0 auto 24px; }
    .about-benefits { grid-template-columns: repeat(2, 1fr); margin-top: 14px; }
    .why-image-card { max-width: 320px; margin: 0 auto 20px; }
    .leadership-photo { max-width: 220px; margin: 0 auto 24px; }
    .sustainability-gallery img { height: 320px; }
    .page-header { padding: 26px 0; }
    .verify-card { padding: 24px 20px; }
}

@media (max-width: 767.98px) {
    .section, .legal-page { padding: 55px 0; }
    .container-xl { padding-inline: 22px; }
    .about-benefits { grid-template-columns: 1fr; }
    .why-grid { grid-template-columns: 1fr; }
    .sustainability-gallery img { height: 260px; }
    .sustainability-values { grid-template-columns: repeat(2, 1fr); }
    .leadership-body { padding: 24px 20px; }
    .values-block { padding: 24px 20px; }
    .values-block .tag-list { flex-wrap: wrap; }
    .values-block .tag-pill { flex: 0 0 auto; }
    .leadership-body p, .info-card p, .service-card p { font-size: .92rem; }
    .cta-band { flex-direction: column; text-align: center; }
    .cta-actions { justify-content: center; width: 100%; }
    .cta-actions .btn { flex: 1; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .footer-bottom a { margin: 0 8px; }
    .footer-bottom-nav { justify-content: center; }
    .page-header { padding: 22px 0; }
    .page-header-row { flex-direction: column; align-items: flex-start; gap: 6px; }
    .page-header p { font-size: .95rem; }

    /* Footer — center stacked columns and add a divider between them */
    .site-footer { padding-top: 48px; text-align: center; }
    .footer-main { --bs-gutter-y: 0; }
    .footer-main > div { padding-top: 28px; }
    .footer-main > div:first-child { padding-top: 0; }
    .footer-main > div:not(:first-child) { border-top: 1px solid rgba(255,255,255,.12); }
    .site-footer > .container-xl > .row > div > p { margin-left: auto; margin-right: auto; }
    .social-links { justify-content: center; }
    .footer-links li a { justify-content: center; }
}
