/* PHARMA WASH — Enterprise multi-page design system v2 */
:root {
    --pw-indigo: #0F2B4D;
    --pw-indigo-dark: #071a30;
    --pw-indigo-mid: #1a4a6e;
    --pw-teal: #00B4A0;
    --pw-teal-light: #2FD5C0;
    --pw-teal-dark: #008f7f;
    --pw-pearl: #F8F9FC;
    --pw-pearl-deep: #EEF3F8;
    --pw-ink: #1E2F3E;
    --pw-muted: #5A6B7D;
    --pw-border: #DDE6EF;
    --pw-surface: #ffffff;
    --pw-white: #ffffff;
    --pw-radius-sm: 0.75rem;
    --pw-radius: 1.25rem;
    --pw-radius-lg: 1.75rem;
    --pw-radius-xl: 2rem;
    --pw-shadow: 0 20px 45px -15px rgba(15, 43, 77, 0.14);
    --pw-shadow-sm: 0 8px 24px -10px rgba(15, 43, 77, 0.1);
    --pw-shadow-glow: 0 12px 32px -8px rgba(0, 180, 160, 0.35);
    --pw-font-heading: 'Playfair Display', Georgia, serif;
    --pw-font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
    --pw-ease: cubic-bezier(0.2, 0.9, 0.4, 1.05);
    --pw-header-h: 76px;
    --pw-space-xs: 0.5rem;
    --pw-space-sm: 0.75rem;
    --pw-space-md: 1rem;
    --pw-space-lg: 1.5rem;
    --pw-space-xl: 2rem;
    --pw-space-2xl: 3rem;
    --pw-space-section: clamp(3rem, 6vw, 5rem);
    --pw-texture-grain: url('../svg/bg-grain.svg');
}

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--pw-header-h) + 16px);
}

body.pw-site {
    font-family: var(--pw-font-body);
    color: var(--pw-ink);
    background: var(--pw-pearl);
    line-height: 1.65;
    margin: 0;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    color: var(--pw-teal-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

a:hover { color: var(--pw-teal); }

h1, h2, h3, h4, h5, .heading-font {
    font-family: var(--pw-font-heading);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--pw-indigo);
}

.text-teal { color: var(--pw-teal) !important; }
.text-indigo { color: var(--pw-indigo) !important; }

/* Ambient background */
.pw-bg {
    position: fixed;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    pointer-events: none;
}

.pw-bg-mesh {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.98;
}

.pw-bg-grain {
    position: absolute;
    inset: 0;
    background-image: var(--pw-texture-grain);
    background-size: 180px 180px;
    opacity: 0.045;
    mix-blend-mode: multiply;
    pointer-events: none;
}

/* Premium texture overlay for surfaces */
.pw-surface-textured {
    position: relative;
    isolation: isolate;
}

.pw-surface-textured::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: var(--pw-texture-grain);
    background-size: 140px 140px;
    opacity: 0.035;
    mix-blend-mode: multiply;
    pointer-events: none;
    z-index: 0;
}

.pw-surface-textured > * { position: relative; z-index: 1; }

.pw-bg-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    animation: orbFloat 22s ease-in-out infinite alternate;
}

.pw-bg-orb--teal {
    width: 420px;
    height: 420px;
    background: rgba(0, 180, 160, 0.12);
    top: -8%;
    left: -5%;
}

.pw-bg-orb--indigo {
    width: 500px;
    height: 500px;
    background: rgba(15, 43, 77, 0.08);
    bottom: -15%;
    right: -8%;
    animation-delay: -8s;
}

@keyframes orbFloat {
    from { transform: translate(0, 0) scale(1); }
    to { transform: translate(30px, 20px) scale(1.06); }
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
}

.glass-nav {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--pw-border);
    box-shadow: var(--pw-shadow-sm);
}

.glass-nav.pw-surface-textured::before { opacity: 0.025; }

.nav-link {
    font-weight: 600;
    color: var(--pw-indigo) !important;
    border-radius: 999px;
    padding: 0.45rem 0.85rem !important;
    transition: color 0.2s, background 0.2s;
}

.nav-link:hover,
.nav-link.active {
    color: var(--pw-teal) !important;
    background: rgba(0, 180, 160, 0.08);
}

.nav-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #25d366 !important;
}

.nav-link-icon:hover {
    background: rgba(37, 211, 102, 0.12) !important;
    color: #128c7e !important;
}

.brand-logo { height: 48px; width: auto; }

/* Buttons */
.btn-luxury {
    background: linear-gradient(95deg, var(--pw-indigo), #1a4a6e);
    color: #fff !important;
    border: none;
    border-radius: 999px;
    font-weight: 600;
    transition: transform 0.25s var(--pw-ease), box-shadow 0.25s;
    box-shadow: 0 8px 20px rgba(15, 43, 77, 0.18);
}

.btn-luxury:hover {
    transform: translateY(-2px);
    box-shadow: var(--pw-shadow-glow);
    color: #fff !important;
}

.btn-outline-teal {
    border: 2px solid var(--pw-teal);
    color: var(--pw-teal);
    border-radius: 999px;
    font-weight: 600;
    background: transparent;
}

.btn-outline-teal:hover {
    background: var(--pw-teal);
    color: #fff;
}

.btn-submit {
    background: linear-gradient(95deg, var(--pw-indigo), var(--pw-teal));
    border: none;
    border-radius: 999px;
    font-weight: 700;
    color: #fff;
}

/* Cards */
.glass-card,
.premium-card {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(14px);
    border: 1px solid var(--pw-border);
    border-radius: var(--pw-radius-lg);
    box-shadow: var(--pw-shadow);
    transition: transform 0.3s var(--pw-ease), border-color 0.3s, box-shadow 0.3s;
}

.glass-card,
.premium-card,
.stats-panel,
.cta-panel,
.accordion-item,
.compliance-metric {
    position: relative;
    isolation: isolate;
}

.glass-card::before,
.premium-card::before,
.stats-panel::before,
.cta-panel::before,
.accordion-item::before,
.compliance-metric::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: var(--pw-texture-grain);
    background-size: 120px 120px;
    opacity: 0.04;
    mix-blend-mode: multiply;
    pointer-events: none;
    z-index: 0;
}

.glass-card > *,
.premium-card > *,
.stats-panel > *,
.cta-panel > * {
    position: relative;
    z-index: 1;
}

.premium-card:hover,
.glass-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 180, 160, 0.35);
}

.premium-card--bordered {
    position: relative;
    overflow: hidden;
}

.premium-card--bordered::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--pw-teal), var(--pw-indigo));
}

.hero-badge {
    display: inline-block;
    background: rgba(0, 180, 160, 0.12);
    color: var(--pw-teal);
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.4rem 1rem;
    border-radius: 999px;
}

/* Home hero */
.home-hero {
    position: relative;
    padding: calc(var(--pw-header-h) + 2rem) 0 0;
    min-height: min(92vh, 880px);
    display: flex;
    align-items: center;
    overflow: visible;
}

.home-hero-panel {
    padding: 2.5rem;
}

.home-hero-panel .icon-wrap {
    width: 88px;
    height: 88px;
    margin: 0 auto 1rem;
    color: var(--pw-teal);
    background: linear-gradient(145deg, #eef8f6, #fff);
    border-radius: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--pw-shadow);
}

.trust-chip {
    background: #fff;
    border: 1px solid #e8eef5;
    border-radius: 999px;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 600;
}

/* Page hero (interior) */
.page-hero {
    position: relative;
    padding: calc(var(--pw-header-h) + 2.5rem) 0 7.5rem;
    margin-bottom: 0;
    overflow: visible;
    background:
        linear-gradient(165deg, rgba(255, 255, 255, 0.94) 0%, rgba(238, 243, 248, 0.75) 55%, rgba(0, 180, 160, 0.05) 100%);
    isolation: isolate;
    border-bottom: 1px solid var(--pw-border);
}

.page-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--pw-texture-grain);
    background-size: 150px 150px;
    opacity: 0.028;
    pointer-events: none;
    z-index: 0;
}

.page-hero .container {
    position: relative;
    z-index: 2;
}

.page-hero--compact {
    padding-bottom: 6rem;
}

.page-hero-lead { max-width: 40rem; }

.page-hero-frame .frame-tl {
    position: absolute;
    top: calc(var(--pw-header-h) + 1rem);
    left: 1rem;
    opacity: 0.5;
}

.page-hero-frame .frame-br {
    position: absolute;
    bottom: 5rem;
    right: 1rem;
    transform: rotate(180deg);
    opacity: 0.35;
}

.page-hero-wave-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 3;
    line-height: 0;
    pointer-events: none;
    opacity: 1;
    filter: drop-shadow(0 -4px 12px rgba(0, 180, 160, 0.12));
}

.page-hero-wave {
    display: block;
    width: 100%;
    min-height: 72px;
    height: clamp(72px, 10vw, 140px);
    object-fit: cover;
    object-position: bottom center;
}

/* Trust strip */
.trust-strip-inline {
    background: linear-gradient(90deg, var(--pw-indigo), #163a5f);
    color: #e8f4ff;
    padding: 0.85rem 0;
    font-size: 0.82rem;
}

.trust-strip-inline .item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: center;
    padding: 0.25rem;
}

/* Stats */
.stats-section { margin: -2rem 0 3rem; position: relative; z-index: 2; }

.stats-panel {
    background: #fff;
    border-radius: var(--pw-radius-lg);
    padding: 2rem 1.5rem;
    box-shadow: var(--pw-shadow);
    border: 1px solid rgba(0, 180, 160, 0.1);
}

.stat-number {
    font-size: clamp(1.75rem, 4vw, 2.6rem);
    font-weight: 800;
    background: linear-gradient(135deg, var(--pw-indigo), var(--pw-teal));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Service / feature cards */
.service-elegant,
.feature-card {
    padding: 1.75rem;
    height: 100%;
}

.service-icon-lg {
    width: 64px;
    height: 64px;
    color: var(--pw-teal);
    margin-bottom: 1.25rem;
    padding: 12px;
    background: linear-gradient(145deg, #eef8f6, #fff);
    border-radius: 1rem;
    border: 1px solid rgba(0, 180, 160, 0.15);
}

/* Process timeline */
.process-timeline {
    position: relative;
    padding-left: 0;
}

.process-step-card {
    text-align: center;
    padding: 1.5rem;
}

.process-circle {
    width: 80px;
    height: 80px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--pw-indigo), #254a70);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 14px 28px -8px rgba(15, 43, 77, 0.35);
}

.process-icon {
    width: 48px;
    height: 48px;
    color: var(--pw-teal);
    margin: 0 auto 1rem;
}

/* Industry cards */
.industry-card {
    padding: 2rem;
    height: 100%;
}

.industry-card .icon-wrap {
    width: 56px;
    height: 56px;
    color: var(--pw-teal);
    margin-bottom: 1rem;
}

.industry-card ul {
    padding-left: 1.1rem;
    margin: 1rem 0 0;
    color: var(--pw-muted);
    font-size: 0.92rem;
}

/* Testimonials */
.testimonial-card {
    padding: 2rem;
    margin: 0;
    height: 100%;
    border-left: 4px solid var(--pw-teal);
}

/* Gallery / facility slides */
.facility-slide {
    min-height: 380px;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 2rem;
    border-radius: var(--pw-radius-lg);
    overflow: hidden;
}

.slide-tunnel { background: linear-gradient(115deg, #0F2B4D, #1F5578, #00B4A0); }
.slide-cleanroom { background: linear-gradient(145deg, #1A2E45, #0F2B4D, #004D66); }
.slide-fleet { background: linear-gradient(95deg, #007F6E, #00B4A0, #0F2B4D); }

/* Compliance */
.compliance-metric {
    background: #fff;
    border-radius: var(--pw-radius);
    padding: 1.5rem;
    border: 1px solid #e8eef5;
    height: 100%;
}

.compliance-metric-value {
    font-family: var(--pw-font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--pw-teal);
    display: block;
}

/* CTA band */
.cta-band { padding: 3rem 0; }

.cta-panel {
    background: linear-gradient(115deg, var(--pw-indigo), #0d5c52);
    border-radius: var(--pw-radius-lg);
    padding: 2.5rem;
    box-shadow: var(--pw-shadow-glow);
}

/* Contact */
.contact-form-luxury .form-control,
.contact-form-luxury .form-select {
    border-radius: 0.9rem;
    border-color: #dde4ec;
    padding: 0.75rem 1rem;
}

.contact-form-luxury .form-control:focus,
.contact-form-luxury .form-select:focus {
    border-color: var(--pw-teal);
    box-shadow: 0 0 0 3px rgba(0, 180, 160, 0.15);
}

.contact-sidebar-icon {
    width: 40px;
    height: 40px;
    color: var(--pw-teal);
    flex-shrink: 0;
}

/* FAQ */
.accordion-button:not(.collapsed) {
    background: rgba(0, 180, 160, 0.08);
    color: var(--pw-indigo);
}

.accordion-item {
    border-radius: var(--pw-radius) !important;
    overflow: hidden;
    border: 1px solid #e8eef5 !important;
}

/* Section spacing */
.section-block {
    padding: var(--pw-space-section) 0;
    position: relative;
}

.section-block--alt {
    background: rgba(255, 255, 255, 0.72);
    border-block: 1px solid var(--pw-border);
}

.section-block--alt::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--pw-texture-grain);
    background-size: 160px 160px;
    opacity: 0.03;
    pointer-events: none;
}

/* Breadcrumb */
.pw-breadcrumb {
    font-size: 0.85rem;
    margin-bottom: 0;
}

.pw-breadcrumb a { color: var(--pw-muted); text-decoration: none; }
.pw-breadcrumb a:hover { color: var(--pw-teal); }

/* Legal */
.legal-page {
    padding: calc(var(--pw-header-h) + 2rem) 0 4rem;
    min-height: 60vh;
}

.legal-body h2 { font-size: 1.25rem; margin-top: 2rem; }

/* Footer */
.footer-luxury {
    background: var(--pw-indigo-dark);
    color: #c9d9e8;
    margin-top: 3rem;
    position: relative;
    isolation: isolate;
}

.footer-luxury::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--pw-texture-grain);
    background-size: 140px 140px;
    opacity: 0.04;
    pointer-events: none;
}

.footer-luxury h5 { color: #fff; font-size: 0.95rem; }
.footer-luxury a { color: #b5c9e0; text-decoration: none; }
.footer-luxury a:hover { color: var(--pw-teal); }
.footer-logo { filter: brightness(0) invert(1); }

.footer-icon-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.footer-icon-link:hover { background: var(--pw-teal); color: #fff; }

.back-to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--pw-teal);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1020;
    opacity: 0;
    visibility: hidden;
    transition: 0.25s;
    cursor: pointer;
    box-shadow: var(--pw-shadow);
}

.back-to-top.show { opacity: 1; visibility: visible; }
.back-to-top:hover { background: var(--pw-indigo); }

.alert-luxury { border-left: 4px solid var(--pw-teal); border-radius: var(--pw-radius); }

/* Service detail list on services page */
.service-detail-block {
    padding: 2.5rem 0;
    border-bottom: 1px solid #e8eef5;
}

.service-detail-block:last-child { border-bottom: none; }

/* Link cards on home */
.link-card {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.link-card:hover { color: inherit; }

.link-card .arrow {
    color: var(--pw-teal);
    transition: transform 0.2s;
}

.link-card:hover .arrow { transform: translateX(4px); }

main { position: relative; z-index: 1; }

@media (max-width: 991px) {
    .home-hero { min-height: auto; padding-bottom: 3.5rem; }
    .stats-section { margin-top: 1rem; }
}

/* Contact integrations */
.btn-whatsapp {
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff !important;
    border: none;
    border-radius: 999px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem 1.25rem;
    box-shadow: 0 10px 24px -8px rgba(37, 211, 102, 0.45);
    transition: transform 0.25s var(--pw-ease), box-shadow 0.25s;
}

.btn-whatsapp:hover {
    transform: translateY(-2px);
    color: #fff !important;
    box-shadow: 0 14px 28px -6px rgba(37, 211, 102, 0.5);
}

.pw-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pw-space-sm);
    align-items: center;
}

.pw-contact-actions--stack {
    flex-direction: column;
    align-items: stretch;
}

.pw-contact-actions--stack .btn {
    width: 100%;
    justify-content: center;
}

.pw-contact-actions--hero .btn {
    padding: 0.75rem 1.35rem;
}

.pw-contact-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pw-contact-actions .btn svg {
    flex-shrink: 0;
}

.pw-connect-float {
    position: fixed;
    right: 1.25rem;
    bottom: 5.5rem;
    z-index: 1025;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pw-float-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: 999px;
    background: var(--pw-surface);
    border: 1px solid var(--pw-border);
    box-shadow: var(--pw-shadow);
    color: var(--pw-indigo);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.pw-float-btn:hover {
    transform: translateX(-4px);
    border-color: rgba(0, 180, 160, 0.35);
    color: var(--pw-teal-dark);
}

.pw-float-btn--whatsapp {
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff;
    border-color: transparent;
}

.pw-float-btn--whatsapp:hover { color: #fff; }

.pw-float-label {
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    transition: max-width 0.25s ease;
}

.pw-float-btn:hover .pw-float-label,
.pw-float-btn:focus-visible .pw-float-label {
    max-width: 6rem;
}

.contact-map-wrap {
    border-radius: var(--pw-radius);
    overflow: hidden;
    border: 1px solid var(--pw-border);
    margin-top: var(--pw-space-lg);
    box-shadow: var(--pw-shadow-sm);
}

.contact-map-wrap iframe {
    display: block;
    width: 100%;
    min-height: 220px;
    border: 0;
}

.contact-detail-list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--pw-space-lg);
}

.contact-detail-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--pw-space-sm);
    margin-bottom: var(--pw-space-md);
    padding-bottom: var(--pw-space-md);
    border-bottom: 1px solid var(--pw-border);
}

.contact-detail-list li:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.contact-detail-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #eef8f6, #fff);
    border: 1px solid rgba(0, 180, 160, 0.15);
    border-radius: var(--pw-radius-sm);
    color: var(--pw-teal);
}


.footer-icon-link--whatsapp {
    background: rgba(37, 211, 102, 0.15);
    color: #5ee89a;
}

.footer-icon-link--whatsapp:hover {
    background: #25d366;
    color: #fff;
}

@media (max-width: 575px) {
    .pw-connect-float {
        right: 0.75rem;
        bottom: 5rem;
    }

    .pw-float-label { display: none; }
}

/* --- UX fixes & premium polish --- */

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 9999;
    padding: 0.75rem 1.25rem;
    background: var(--pw-indigo);
    color: #fff;
    border-radius: 0 0 var(--pw-radius) 0;
    font-weight: 600;
    text-decoration: none;
}

.skip-link:focus {
    left: 0;
}

.site-header.is-scrolled .glass-nav {
    box-shadow: 0 8px 28px rgba(15, 43, 77, 0.1);
    border-bottom-color: rgba(0, 180, 160, 0.22);
}

.navbar-toggler .navbar-toggler-icon {
    filter: brightness(0) saturate(100%) invert(14%) sepia(42%) saturate(1500%) hue-rotate(182deg);
}

.nav-cta.btn-luxury.active,
.nav-cta.btn-luxury {
    box-shadow: 0 6px 16px rgba(15, 43, 77, 0.2);
}

.nav-cta.btn-luxury.active {
    background: linear-gradient(95deg, #0a1f38, var(--pw-indigo));
}

/* Breadcrumbs */
.pw-breadcrumb-nav {
    position: relative;
    z-index: 4;
    padding-top: 0.5rem;
}

.pw-breadcrumb {
    font-size: 0.85rem;
    color: var(--pw-muted);
}

.pw-breadcrumb a {
    color: var(--pw-muted);
    text-decoration: none;
}

.pw-breadcrumb a:hover {
    color: var(--pw-teal);
}

.pw-breadcrumb .active {
    color: var(--pw-indigo);
    font-weight: 600;
}

.pw-breadcrumb-sep {
    color: rgba(90, 107, 125, 0.5);
    user-select: none;
}

/* Content after hero wave */
.main-after-hero > .section-block:first-child,
main > .section-block:first-child {
    padding-top: 2.5rem;
}

.page-hero + main > .section-block:first-child {
    padding-top: 3rem;
}

/* Home hero bottom wave */
.home-hero {
    padding-bottom: 4rem;
    margin-bottom: 0;
}

.home-hero-wave-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 2;
    line-height: 0;
    pointer-events: none;
    filter: drop-shadow(0 -4px 12px rgba(0, 180, 160, 0.1));
}

.home-hero .container {
    position: relative;
    z-index: 2;
}

.home-hero .glass-card.home-hero-panel:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.7);
}

/* Section divider */
.section-divider {
    display: flex;
    justify-content: center;
    padding: 0.5rem 0 1rem;
    opacity: 0.85;
}

.section-divider img {
    width: min(100%, 720px);
    height: auto;
}

/* Icons centered in holders */
.service-icon-lg,
.industry-card .icon-wrap,
.home-hero-panel .icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-icon-lg svg,
.industry-card .icon-wrap svg {
    flex-shrink: 0;
}

/* Process step — icon inside numbered circle */
.process-circle {
    position: relative;
}

.process-circle .step-icon {
    width: 36px;
    height: 36px;
    color: #fff;
}

.process-step-card .process-icon {
    display: none;
}

/* Compliance checklist */
.compliance-check-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: var(--pw-teal);
    margin-top: 0.15rem;
}

/* Service anchors */
.service-detail-block {
    scroll-margin-top: calc(var(--pw-header-h) + 24px);
}

/* Trust strip mobile */
@media (max-width: 767px) {
    .trust-strip-inline {
        font-size: 0.72rem;
    }

    .trust-strip-inline .item {
        text-align: center;
        padding: 0.35rem 0.25rem;
    }

    .trust-strip-inline .item span {
        line-height: 1.3;
    }

    .stats-section {
        margin-top: 0.5rem;
        margin-bottom: 2rem;
    }

    .page-hero-frame .frame-tl,
    .page-hero-frame .frame-br {
        width: 56px;
        height: 56px;
        opacity: 0.25;
    }

    .page-hero-frame .frame-br {
        bottom: 7rem;
    }
}

/* Focus visible */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
    outline: 2px solid var(--pw-teal);
    outline-offset: 2px;
}

.link-card:focus-visible {
    border-radius: var(--pw-radius-lg);
    outline-offset: 4px;
}

/* Form submitting */
.contact-form-luxury.is-submitting {
    opacity: 0.72;
    pointer-events: none;
}

.contact-form-luxury.is-submitting .btn-submit::after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pwSpin 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes pwSpin {
    to { transform: rotate(360deg); }
}

/* Facility slides — caption readability */
.facility-slide .glass-card {
    background: rgba(255, 255, 255, 0.92);
}

.facility-slide .glass-card h3 {
    color: var(--pw-indigo);
}

.facility-slide .glass-card p {
    color: var(--pw-muted);
}

/* Regional landing */
.regional-hero-points {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
}

.regional-hero-points li {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    color: var(--pw-muted);
}

.regional-hero-points svg {
    flex-shrink: 0;
    color: var(--pw-teal);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .pw-bg-orb,
    [data-aos] {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .premium-card:hover,
    .glass-card:hover,
    .link-card:hover .arrow {
        transform: none;
    }

    .contact-form-luxury.is-submitting .btn-submit::after {
        animation: none;
    }
}
