/* General Styles */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: Inter, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height:1.6; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }

/* Brand colors */
:root{
    --navy:#090711;
    --indigo:#1a1330;
    --purple:#6d46d9;
    --purple-2:#8862f0;
    --lavender:#d8c8ff;
    --muted:#b9aadf;
    --text:#f4eeff;
    --text-soft:#d7cef1;
    --surface:#141020;
    --surface-2:#1a132c;
    --surface-3:#241a3a;
    --surface-alt:#1c1530;
    --bg:#07050d;
    --bg-2:#0a0714;
    --bg-3:#100a1c;
    --border-soft:rgba(177,138,255,0.24);
    --border-mid:rgba(177,138,255,0.3);
    --border-strong:rgba(184,150,255,0.35);
    --accent-soft:rgba(140,102,230,0.14);
    --accent-hover:rgba(189,125,255,0.24);
    --highlight-warm:#f3be98;
}

body{
    color:var(--text);
    background:
      radial-gradient(circle at 15% 10%, rgba(186, 103, 255, 0.22), transparent 32%),
      radial-gradient(circle at 85% 20%, rgba(255, 90, 177, 0.18), transparent 36%),
      linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 48%, var(--bg-3) 100%);
}

/* Utility top bar */
.utility-nav{ background:linear-gradient(90deg,#110a20,var(--purple)); color:rgba(255,255,255,0.92); font-size:0.95rem; }
.utility-nav .container{ max-width:100%; padding-left:28px; padding-right:28px; }
.utility-content{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; }
.utility-link{ color:var(--lavender); margin-left:18px; text-decoration:none; font-weight:600; }

/* Header / Navigation */
.navbar{ background:rgba(10,8,18,0.92); border-bottom:1px solid var(--border-soft); position:sticky; top:0; z-index:100; backdrop-filter: blur(8px); }
.navbar .container{ max-width:100%; padding-left:28px; padding-right:28px; }
.header-content{ display:flex; gap:20px; align-items:center; justify-content:space-between; padding:18px 0; }
.header-content{ flex-wrap:nowrap; }
.logo{ display:flex; align-items:center; gap:12px; }
.logo-mark{ font-size:28px; color:var(--purple); }
.logo-text h1{ font-size:1.25rem; color:var(--text); margin:0; }
.logo-sub{ font-size:0.8rem; color:var(--muted); margin-top:2px; }
.nav-menu{ display:flex; gap:8px; align-items:center; flex:1 1 auto; justify-content:center; min-width:0; white-space:nowrap; }
.nav-link{ color:var(--text); text-decoration:none; font-weight:600; padding:6px 8px; border-radius:6px; font-size:0.9rem; }
.nav-link:hover{ background:var(--accent-soft); }
.nav-cta{ display:flex; gap:10px; align-items:center; flex:0 0 auto; }
.primary-cta{ background:linear-gradient(135deg,var(--navy),var(--purple)); color:white; border:none; padding:10px 16px; border-radius:8px; cursor:pointer; font-weight:700; }
.secondary-cta{ background:transparent; color:var(--text); border:1px solid var(--border-strong); padding:9px 14px; border-radius:8px; cursor:pointer; }
.danger-cta{
    background:rgba(140, 28, 56, 0.25);
    color:#ffd7e0;
    border:1px solid rgba(255, 130, 162, 0.55);
    padding:9px 14px;
    border-radius:8px;
    cursor:pointer;
}
.danger-cta:hover{
    background:rgba(140, 28, 56, 0.4);
}

/* Hero */
.hero{ padding:56px 0; background:linear-gradient(180deg, rgba(17,12,33,0.86) 0%, rgba(10,8,20,0.95) 100%); }
.hero-grid{ display:grid; grid-template-columns: 1fr 420px; gap:32px; align-items:start; }
.hero-copy h2{ font-size:2rem; color:var(--text); margin-bottom:12px; }
.lead{ color:var(--muted); font-size:1.05rem; margin-bottom:18px; }
.hero-actions{ display:flex; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.hero-segments{ display:flex; gap:8px; flex-wrap:wrap; }
.segment-cta{
    background:var(--accent-soft);
    color:var(--text);
    border:1px solid var(--border-strong);
    padding:7px 10px;
    border-radius:999px;
    font-size:0.76rem;
    letter-spacing:0.03em;
    font-weight:700;
    cursor:pointer;
}
.segment-cta:hover{ background:var(--accent-hover); }
.hero-panel{ display:flex; flex-direction:column; gap:14px; }
.panel-card{ background:var(--surface); padding:18px; border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,0.35); border-left:4px solid var(--purple); }
.pill{ display:inline-block; margin-top:10px; padding:6px 10px; background:linear-gradient(90deg,var(--purple),var(--purple-2)); border-radius:999px; font-weight:700; color:#fff; }

/* Overview snapshot section */
.overview-shell{
    background:linear-gradient(180deg, #080611 0%, #0a0d1d 52%, #060914 100%);
    padding:48px 0;
}
.overview-stage{
    background:linear-gradient(180deg, #120d22 0%, #161028 100%);
    border:1px solid var(--border-soft);
    border-radius:10px;
    padding:36px;
}
.overview-stage h3{
    color:var(--lavender);
    font-size:1.5rem;
    margin-bottom:20px;
}
.overview-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.overview-card{
    position:relative;
    padding:28px 14px 14px;
    background:#140f22;
    border:1px solid var(--border-mid);
    border-radius:6px;
}
.overview-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:7px;
    background:var(--purple-2);
    border-radius:6px 6px 0 0;
}
.card-step{
    position:absolute;
    top:-19px;
    left:50%;
    transform:translateX(-50%);
    width:38px;
    height:38px;
    border-radius:999px;
    background:var(--purple-2);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}
.overview-card h4{
    color:#ffffff;
    font-size:1.1rem;
    margin-bottom:8px;
}
.overview-card p{
    color:var(--muted);
}
.overview-bottom{
    display:grid;
    grid-template-columns:1.6fr 1fr;
    gap:14px;
    margin-top:18px;
    padding-top:18px;
    border-top:2px solid var(--border-strong);
}
.why-card{
    border:1px solid var(--border-soft);
    background:var(--surface-2);
    padding:16px;
}
.why-card h4{
    color:var(--lavender);
    font-size:2rem;
    margin-bottom:8px;
}
.why-card p{
    color:var(--muted);
}
.trust-card{
    border:1px solid var(--border-soft);
    background:var(--surface-3);
    padding:16px;
    border-radius:10px;
}
.trust-card h4{
    color:var(--text);
    margin-bottom:8px;
}
.trust-card ul{
    padding-left:20px;
}
.trust-card li{
    margin-bottom:6px;
    color:var(--muted);
}

/* Platform core modules section */
.platform-core-shell{
    background:linear-gradient(180deg, #0a0714 0%, #0f0a1b 100%);
    padding:48px 0;
}
.platform-core-stage{
    background:linear-gradient(180deg, #120d22 0%, #17112b 100%);
    border:1px solid var(--border-soft);
    border-radius:10px;
    padding:34px;
}
.platform-core-stage h3{
    color:var(--lavender);
    font-size:2rem;
    margin-bottom:20px;
}
.platform-core-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding:14px;
    border:1px solid var(--border-soft);
    margin-bottom:14px;
}
.platform-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.platform-module{
    background:linear-gradient(180deg, #30206a 0%, #271d5c 100%);
    border:1px solid var(--border-mid);
    border-radius:6px;
    padding:14px;
}
.platform-module h4{
    color:#ece5ff;
    font-size:1.05rem;
    margin-bottom:8px;
}
.platform-module p{
    color:var(--text-soft);
}
.platform-module-wide{
    grid-column:1 / -1;
}
.platform-core-note{
    color:var(--muted);
}

/* How it works workflow section */
.how-workflow-shell{
    background:linear-gradient(90deg, #130a31 0%, #0b0423 100%);
    padding:52px 0;
}
.how-workflow-stage h3{
    color:var(--lavender);
    font-size:2rem;
    margin-bottom:24px;
}
.how-workflow-stage h3 span{
    color:var(--highlight-warm);
}
.workflow-track{
    display:flex;
    gap:18px;
    align-items:flex-start;
    margin-bottom:28px;
}
.workflow-step{
    position:relative;
    flex:1 1 0;
    min-width:140px;
    text-align:center;
}
.workflow-step::after{
    content:"";
    position:absolute;
    top:72px;
    right:-14px;
    width:0;
    height:0;
    border-top:14px solid transparent;
    border-bottom:14px solid transparent;
    border-left:18px solid var(--purple-2);
}
.workflow-step:last-child::after{
    display:none;
}
.workflow-node{
    width:170px;
    height:170px;
    border-radius:999px;
    border:11px solid var(--purple-2);
    background:#1b0d48;
    margin:0 auto 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,0.04);
}
.workflow-node span{
    color:#d8cbff;
    font-size:1.1rem;
    font-weight:700;
    letter-spacing:0.08em;
}
.workflow-step h4{
    color:#efe7ff;
    font-size:1.9rem;
    font-weight:700;
    line-height:1.15;
}
.workflow-note{
    color:var(--muted);
    max-width:1060px;
    font-size:1.2rem;
}

/* Sections */
.section{ padding:48px 0; }
.section.light{ background:var(--surface-alt); }
.section h3{ color:var(--text); font-size:1.25rem; margin-bottom:8px; }
.section-sub{ color:var(--muted); margin-bottom:14px; }
.features{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:18px; }
.feature-card{ background:var(--surface); padding:18px; border-radius:10px; border:1px solid var(--border-soft); }

/* Solutions and markets grids */
.solutions-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:18px; }
.solution{ background:var(--surface); padding:16px; border-radius:10px; border:1px solid var(--border-soft); }
.markets-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:18px; }

.how-list{ list-style:decimal; padding-left:20px; margin-top:12px; color:var(--muted); }

.tech-grid{ display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; }
.tech{ background:var(--surface); padding:12px 14px; border-radius:8px; border:1px solid var(--border-soft); font-weight:600; color:var(--text); }

.about-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin-top:16px; }

/* About page custom layout */
.about-page{
    background:#00164a;
}
.about-page .about-showcase{
    padding:72px 0 88px;
}
.about-showcase-inner{
    display:grid;
    grid-template-columns:1.45fr 0.55fr;
    gap:44px;
    align-items:center;
}
.about-copy h2{
    color:#ff86c6;
    font-size:3rem;
    margin-bottom:28px;
    font-family:Georgia, "Times New Roman", serif;
}
.about-mini-logo{
    width:150px;
    height:auto;
    display:block;
    margin-bottom:24px;
    border-radius:22px;
}
.about-copy p{
    color:#f3efff;
    font-size:clamp(1.15rem, 1.45vw, 1.75rem);
    line-height:1.55;
    font-family:Georgia, "Times New Roman", serif;
    margin-bottom:26px;
    max-width:56ch;
}
.about-copy strong{
    color:#ffffff;
}
.about-graphic-card{
    border-radius:72px;
    max-width:380px;
    justify-self:end;
}
.about-graphic-card img{
    width:100%;
    display:block;
    border-radius:58px;
}

/* Overview page custom layout */
.overview-page{
    background:#34134f;
}
.overview-page .overview-shell{
    background:transparent;
    padding:48px 0 56px;
}
.overview-page .overview-stage{
    background:transparent;
    border:none;
    border-radius:0;
    padding:22px 0;
}
.overview-page .overview-stage h3{
    color:#1f9be6;
    font-size:2.5rem;
    font-family:Georgia, "Times New Roman", serif;
    margin-bottom:14px;
}
.overview-page .overview-grid{
    gap:18px 10px;
}
.overview-page .overview-card{
    background:#080025;
    border:0;
    border-radius:9px;
    padding:26px 16px 14px;
}
.overview-page .overview-card::before{
    height:10px;
    background:#9877ee;
}
.overview-page .card-step{
    width:42px;
    height:36px;
    border-radius:8px;
    background:#3f88d9;
    clip-path:polygon(18% 0,82% 0,100% 50%,82% 100%,18% 100%,0 50%);
    top:-14px;
}
.overview-page .overview-card h4{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2rem;
    margin-bottom:4px;
}
.overview-page .overview-card p{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1rem, 1.2vw, 1.35rem);
    line-height:1.2;
}
.overview-page .overview-bottom{
    margin-top:14px;
    border-top:3px solid rgba(212,169,255,0.6);
    padding-top:14px;
    gap:16px;
}
.overview-page .why-card{
    background:transparent;
    border:none;
    padding:0;
}
.overview-page .why-card h4{
    color:#ff7cb7;
    font-size:2.2rem;
    font-family:Georgia, "Times New Roman", serif;
}
.overview-page .why-card p{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1rem, 1.2vw, 1.35rem);
    line-height:1.22;
}
.overview-page .trust-card{
    background:#a35f9b;
    border:none;
    border-radius:14px;
}
.overview-page .trust-card h4{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2rem;
}
.overview-page .trust-card li{
    color:#0e001f;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1rem, 1.2vw, 1.35rem);
}

/* Pro-Solution page custom layout */
.pro-solution-page{
    background:#a7679b;
}
.pro-solution-page .global-topbar{
    padding:10px 10px 0;
}
.pro-solution-page .global-top-row{
    margin-bottom:0;
}
.pro-solution-page .pro-problem-shell{
    padding:0;
    background:#b173a8;
}
.pro-solution-page .footer{
    margin-top:0;
}
.pro-problem-grid{
    display:grid;
    grid-template-columns:37% 63%;
    min-height:calc(100vh - 180px);
}
.pro-problem-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.pro-problem-copy{
    padding:64px 72px 52px;
}
.pro-problem-copy h2{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3.1rem;
    margin-bottom:18px;
}
.pro-problem-copy p{
    color:#13061d;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.1rem, 1.45vw, 1.75rem);
    line-height:1.45;
    margin-bottom:8px;
    max-width:48ch;
}
.pro-problem-copy h3{
    color:#f5e8ef;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.1rem;
    margin-top:8px;
    margin-bottom:6px;
    display:flex;
    align-items:center;
    gap:10px;
}
.pro-dot{
    width:11px;
    height:11px;
    border-radius:999px;
    background:#79a8ff;
    display:inline-block;
}
.pro-problem-copy ul{
    padding-left:28px;
    margin:0 0 10px;
}
.pro-problem-copy li{
    color:#04010f;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.05rem, 1.35vw, 1.6rem);
    line-height:1.45;
    margin-bottom:4px;
}
.pro-solution-detail{
    padding:52px 0 62px;
    background:#a7679b;
}
.pro-solution-inner{
    padding:0 28px 0 72px;
}
.pro-solution-inner h2{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3.1rem;
    margin-bottom:18px;
}
.pro-solution-inner h2 span{
    color:#8fc2ff;
}
.pro-solution-inner h2 .brand-e{
    color:#5e98f1;
}
.pro-solution-inner > p{
    color:#090111;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.1rem, 1.45vw, 1.75rem);
    line-height:1.5;
    max-width:64ch;
    margin-bottom:36px;
}
.pro-solution-features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.pro-feature{
    display:grid;
    grid-template-columns:118px 1fr;
    gap:16px;
    align-items:start;
}
.pro-feature img{
    width:118px;
    height:144px;
    object-fit:cover;
    border-radius:8px;
    display:block;
}
.pro-feature h3{
    color:#060012;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.2rem;
    margin-bottom:2px;
}
.pro-feature p{
    color:#090111;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.05rem, 1.35vw, 1.6rem);
    line-height:1.42;
}

/* Who We Serve page */
.who-serve-page{
    background:#31134b;
}
.who-serve-shell{
    padding:56px 0 76px;
}
.who-serve-shell h2{
    color:#1593eb;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3rem;
    margin-bottom:38px;
}
.who-serve-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:26px;
}
.serve-card img{
    width:132px;
    height:132px;
    object-fit:cover;
    border-radius:12px;
    display:block;
    margin-bottom:16px;
}
.serve-card h3{
    color:#f5e7f1;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.05rem;
    line-height:1.15;
    margin-bottom:8px;
}
.serve-card p{
    color:#f3e9f6;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.05rem, 1.35vw, 1.55rem);
    line-height:1.45;
}

/* Core Modules page */
.core-modules-page{
    background:#31134b;
}
.core-modules-shell{
    padding:56px 0 72px;
}
.core-modules-shell h2{
    color:#1593eb;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3rem;
    margin-bottom:22px;
}
.core-modules-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.core-module-card{
    background:#35226f;
    border:1px solid rgba(126,105,225,0.45);
    border-radius:10px;
    padding:16px 18px;
}
.core-module-card h3{
    color:#f2e8ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.45rem;
    margin-bottom:6px;
}
.core-module-card p{
    color:#f2e8ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1rem, 1.2vw, 1.25rem);
    line-height:1.45;
}
.core-module-wide{
    grid-column:span 2;
}
.core-modules-note{
    margin-top:22px;
    color:#f1e8ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1rem, 1.2vw, 1.25rem);
}

/* Sectors page */
.sectors-page{
    background:#a7679b;
}
.sectors-shell{
    padding:56px 0 62px;
}
.sectors-shell h2{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3.1rem;
    margin-bottom:18px;
}
.sectors-image-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-bottom:18px;
}
.sectors-image-grid img{
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    border-radius:52px;
    display:block;
}
.sectors-text-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.sector-case h3{
    color:#090111;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.45rem;
    line-height:1.2;
    margin-bottom:8px;
    display:flex;
    gap:10px;
    align-items:flex-start;
}
.sector-step{
    display:inline-flex;
    width:42px;
    height:42px;
    border-radius:10px;
    align-items:center;
    justify-content:center;
    color:#ffffff;
    background:#372c86;
    font-weight:700;
    flex:0 0 auto;
}
.sector-case p{
    color:#12021d;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.05rem, 1.35vw, 1.6rem);
    line-height:1.45;
    max-width:28ch;
    margin-left:52px;
}

/* Home page custom layout */
.home-page{
    background:#00174b;
}
.home-page .footer{
    margin-top:0;
}
.global-topbar{
    background:#00174b;
    padding:10px 10px 0;
}
.global-top-row{
    display:grid;
    grid-template-columns:260px 1fr auto;
    align-items:start;
    gap:14px;
    margin-bottom:14px;
}
.home-hero-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:62% 38%;
    grid-template-rows:auto 1fr;
    background:#00174b;
}
.home-hero-left{
    padding:10px 10px 18px;
    grid-column:1 / 2;
    grid-row:2;
}
.home-hero-right{
    grid-column:2 / 3;
    grid-row:1 / 3;
}
.home-top-row{
    grid-column:1 / -1;
    grid-row:1;
    display:grid;
    grid-template-columns:260px 1fr auto;
    align-items:start;
    gap:14px;
    margin-bottom:14px;
    padding:10px 10px 0;
    z-index:2;
}
.home-main-logo{
    width:260px;
    max-width:100%;
    height:auto;
    border-radius:14px;
    display:block;
}
.home-nav-pills{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    padding-top:18px;
}
.home-pill{
    color:#ffffff;
    text-decoration:none;
    background:#2458a9;
    border-radius:8px;
    padding:8px 14px;
    font-weight:600;
    font-size:1rem;
}
.home-exchange-btn{
    background:#16b6ef;
    color:#ffffff;
    border:none;
    border-radius:9px;
    padding:10px 18px;
    font-weight:700;
    font-size:1.1rem;
    margin-top:16px;
    cursor:pointer;
}
.home-copy{
    padding-left:64px;
    padding-top:44px;
    max-width:980px;
}
.home-copy h2{
    color:#028ee1;
    font-size:6rem;
    font-family:Arial, sans-serif;
    margin-bottom:8px;
}
.home-copy h2 .brand-e{
    color:#5e98f1;
}
.overview-page .brand-e{
    color:#5e98f1;
}
.home-copy h2 .brand-tm{
    font-size:2.1rem;
    vertical-align:super;
    margin-left:4px;
}
.home-tagline{
    color:#f3e9ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.15rem;
    margin-bottom:16px;
}
.home-lead{
    color:#f3e9ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.2rem, 1.7vw, 2.2rem);
    line-height:1.4;
    max-width:44ch;
    margin-bottom:16px;
}
.home-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
.home-actions .primary-cta{
    background:#16b6ef;
    font-size:1rem;
    padding:10px 18px;
}
.home-actions .secondary-cta{
    background:#13052f;
    border-color:#6f47ce;
    color:#8664d8;
    font-size:1rem;
    padding:9px 18px;
}
.home-segments{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.home-segments .segment-cta{
    background:#2458a9;
    border-color:#2458a9;
    font-size:0.95rem;
    padding:7px 12px;
}
.home-hero-right img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* How it works custom page */
.how-page{
    background:#000f2e;
}
.how-page .how-workflow-shell{
    background:#000f2e;
    padding:52px 0 64px;
}
.how-page .how-layout{
    max-width:1260px;
}
.how-page .how-workflow-stage h3{
    color:#ff8ac0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3.1rem;
    margin-bottom:26px;
}
.how-page .how-bubbles-wrap{
    margin-bottom:16px;
}
.how-page .how-bubbles-wrap img{
    width:100%;
    max-width:1160px;
    display:block;
}
.how-page .how-labels{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    max-width:1160px;
    margin-bottom:34px;
}
.how-page .how-labels span{
    color:#f6e4ec;
    text-align:center;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.2rem;
    font-weight:700;
    line-height:1.18;
}
.how-page .workflow-note{
    color:#f3e9ff;
    max-width:1160px;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.1rem, 1.35vw, 1.6rem);
    line-height:1.5;
}
.how-page .tech-compliance-shell{
    background:#000f2e;
    padding:6px 0 56px;
}
.how-page .tech-compliance-shell h3{
    color:#ff8ac0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3rem;
    margin-bottom:20px;
}
.how-page .tech-compliance-grid{
    display:grid;
    grid-template-columns:42% 58%;
    gap:28px;
    align-items:stretch;
}
.how-page .architecture-card{
    background:#a3619c;
    border-radius:14px;
    padding:18px 20px;
    min-height:0;
    height:100%;
}
.how-page .architecture-card h4{
    color:#ffffff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.2rem;
    margin-bottom:8px;
}
.how-page .architecture-card p{
    color:#11011a;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.1rem, 1.35vw, 1.65rem);
    line-height:1.45;
    max-width:30ch;
}
.how-page .compliance-points{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.how-page .point-item{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:10px;
    align-items:flex-start;
}
.how-page .point-icon-img{
    width:46px;
    height:46px;
    object-fit:contain;
    margin-top:2px;
}
.how-page .point-item h4{
    color:#f6e5ee;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.2rem;
    margin-bottom:2px;
}
.how-page .point-item p{
    color:#f3e9ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.05rem, 1.25vw, 1.5rem);
    line-height:1.42;
    max-width:42ch;
}
.how-page .tech-compliance-note{
    margin-top:20px;
    color:#f3e9ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(1.05rem, 1.25vw, 1.5rem);
    line-height:1.45;
}

/* Contact page */
.contact-page{
    background:#06001c;
}
.contact-page .footer{
    display:none;
}
.contact-page-shell{
    padding:22px 0 30px;
}
.contact-page-wrap{
    max-width:1020px;
    margin:0 auto;
    padding:0 16px;
}
.contact-page-shell .contact-page-wrap{
    display:grid;
    grid-template-columns:56% 44%;
    gap:30px;
    align-items:start;
}
.contact-left-col h1{
    color:#ff7ab4;
    font-family:Georgia, "Times New Roman", serif;
    font-size:3rem;
    line-height:1.1;
    margin-bottom:14px;
}
.contact-left-col p{
    color:#f4eaff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.2rem;
    line-height:1.35;
    margin-bottom:14px;
}
.contact-left-col strong{
    color:#ffffff;
}
.contact-page .brand-e{
    color:#5e98f1;
}
.about-page .about-copy strong{
    color:#ffffff;
}
.about-page .brand-e{
    color:#5e98f1;
}
.contact-left-col ul{
    margin:4px 0 18px 30px;
}
.contact-left-col li{
    color:#f4eaff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.05rem;
    line-height:1.2;
}
.contact-left-col h2{
    color:#00c9ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.3rem;
    margin-bottom:6px;
}
.contact-label{
    color:#f4eaff;
    font-weight:700;
    margin-bottom:8px;
}
.contact-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.contact-input-stack{
    border:1px solid rgba(181, 166, 255, 0.42);
    border-radius:8px;
    overflow:hidden;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
    width:100%;
    border:0;
    border-bottom:1px solid rgba(181, 166, 255, 0.22);
    background:rgba(12, 7, 34, 0.88);
    color:#f4eeff;
    padding:10px 14px;
    font-size:1rem;
    outline:none;
}
.contact-form select{
    border-bottom:0;
}
.contact-form textarea{
    border:1px solid rgba(181, 166, 255, 0.42);
    border-radius:8px;
    min-height:122px;
    resize:vertical;
    margin-bottom:10px;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:#e3d8ff;
}
.contact-submit-btn{
    width:max-content;
    margin-top:6px;
    background:#7f68e8;
    color:#efeaff;
    border:0;
    border-radius:6px;
    padding:10px 20px;
    font-size:1.05rem;
    cursor:pointer;
}
.contact-submit-btn:hover{
    background:#6f58d7;
}
.contact-right-col{
    padding-top:26px;
}
.contact-compliance-card h2{
    color:#00c9ff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.2rem;
    margin-bottom:6px;
}
.contact-compliance-card p{
    color:#f4eaff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.12rem;
    line-height:1.35;
}
.contact-policy-links{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}
.contact-policy-links a{
    text-decoration:none;
    color:#bdc8ff;
    border:1px solid #5f61a5;
    border-radius:4px;
    padding:4px 10px;
    font-size:0.83rem;
    text-transform:uppercase;
}
.contact-map-card{
    position:relative;
    margin-top:10px;
    border:1px solid rgba(153, 122, 244, 0.45);
    background:#050117;
    padding:8px;
}
.country-tag{
    position:absolute;
    left:18px;
    top:18px;
    background:#bc0000;
    color:#ffffff;
    border:2px solid #f4f4f4;
    font-size:0.82rem;
    font-weight:700;
    padding:2px 10px;
}
.contact-map-card img{
    width:100%;
    display:block;
}
.contact-address{
    color:#f4eaff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1rem;
    margin-top:10px;
    line-height:1.2;
}
.contact-address span{
    color:#ffffff;
}
.contact-footer{
    margin-top:18px;
    border-top:2px solid rgba(218, 198, 255, 0.55);
    padding:12px 0 20px;
}
.contact-footer p{
    color:#f4eaff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1rem;
}
.contact-footer a{
    color:#f4eaff;
}

/* Modal */
.modal{ display:none; position:fixed; inset:0; background:rgba(13,27,77,0.55); z-index:1200; }
.modal-content{ background:#120d1f; width:100%; max-width:420px; margin:6% auto; border-radius:10px; box-shadow:0 14px 40px rgba(0,0,0,0.45); overflow:hidden; border:1px solid var(--border-soft); }
.close{ float:right; font-size:22px; color:var(--muted); padding:14px; cursor:pointer; }
.login-container{ padding:28px; }
.login-container h2{ margin-bottom:6px; color:var(--text); }
.login-subtitle{ margin-bottom:12px; color:var(--muted); }
.form-group{ margin-bottom:12px; }
.form-group input{ width:100%; padding:10px; border:1px solid var(--border-strong); border-radius:8px; background:#0f0b19; color:var(--text); }
.checkbox{ display:flex; align-items:center; gap:8px; }
.submit-btn{ background:linear-gradient(135deg,var(--navy),var(--purple)); color:#fff; border:none; padding:10px 12px; border-radius:8px; cursor:pointer; }
.auth-alt-btn{
    width:100%;
    margin-top:8px;
    background:transparent;
    color:var(--text);
    border:1px solid var(--border-strong);
    padding:10px 12px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
}
.auth-status{
    min-height:20px;
    margin-top:10px;
    font-size:0.9rem;
    color:var(--muted);
}
.auth-status[data-state="error"]{
    color:#ff93b7;
}
.auth-status[data-state="ok"]{
    color:#9df2cf;
}

/* Footer */
.footer{ background:linear-gradient(135deg,#0b0814,var(--indigo)); color:#fff; padding:36px 0 18px 0; margin-top:40px; }
.footer-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; }
.footer a{ color:var(--lavender); text-decoration:none; }

/* Signup page */
.signup-shell{
    padding:44px 20px 80px;
}
.signup-card{
    background:linear-gradient(180deg, #120d22 0%, #17112b 100%);
    border:1px solid var(--border-soft);
    border-radius:12px;
    padding:24px;
}
.signup-card h1{
    color:var(--lavender);
    margin-bottom:8px;
}
.signup-form{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:10px;
}
.signup-form .form-row{
    flex-direction:column;
}
.signup-form .form-row label{
    width:100%;
}
.secondary-link{
    display:inline-flex;
    align-items:center;
    color:var(--lavender);
    text-decoration:none;
    border:1px solid var(--border-strong);
    border-radius:8px;
    padding:10px 14px;
}

/* Exporter info page */
.exporter-info-shell{
    padding:44px 20px 80px;
}
.exporter-info-card{
    background:linear-gradient(180deg, #120d22 0%, #17112b 100%);
    border:1px solid var(--border-soft);
    border-radius:12px;
    padding:24px;
}
.exporter-info-card h1{
    color:var(--lavender);
    margin-bottom:12px;
}
.exporter-info-card h2{
    color:var(--text);
    margin:16px 0 6px;
    font-size:1.15rem;
}
.info-hero{
    margin:0 0 14px;
    border:1px solid var(--border-soft);
    border-radius:12px;
    overflow:hidden;
    background:#120d22;
}
.info-hero img{
    width:100%;
    max-height:260px;
    object-fit:cover;
    display:block;
}
.info-hero figcaption{
    margin:0;
    padding:8px 12px;
    color:var(--muted);
    font-size:0.95rem;
    background:rgba(10, 8, 18, 0.88);
}
.exporter-info-card p{
    color:var(--muted);
}
.exporter-info-card ul{
    margin:8px 0 0 20px;
}
.exporter-info-card li{
    color:var(--muted);
    margin-bottom:8px;
}
.exporter-actions{
    margin-top:20px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

/* Admin page */
.admin-shell{
    padding:44px 20px 80px;
}
.admin-topbar{
    border-bottom:1px solid var(--border-soft);
}
.admin-nav-links{
    display:flex;
    gap:8px;
    align-items:center;
}
.admin-nav-link{
    color:var(--lavender);
    text-decoration:none;
    font-weight:700;
    border:1px solid transparent;
    border-radius:999px;
    padding:6px 12px;
}
.admin-nav-link:hover{
    background:var(--accent-soft);
}

/* Logged-in uploads page */
.top-nav{
    border-bottom:1px solid var(--border-soft);
    background:rgba(10, 8, 18, 0.92);
    backdrop-filter:blur(8px);
}
.top-nav-links{
    display:flex;
    gap:10px;
    align-items:center;
}
.top-nav-inner{
    max-width:1200px;
    margin:0 auto;
    padding:12px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.top-nav-links .secondary-link{
    background:transparent;
    cursor:pointer;
}
.user-data-shell{
    padding:44px 20px 80px;
}
.user-data-card{
    background:linear-gradient(180deg, #120d22 0%, #17112b 100%);
    border:1px solid var(--border-soft);
    border-radius:12px;
    padding:24px;
}
.panel-hidden{
    display:none;
}
.user-panel #uploadEquipmentBtn{
    margin-bottom:14px;
}
.user-panel .secondary-link,
.user-panel .secondary-cta,
.user-panel .upload-btn{
    background:transparent;
    color:var(--text);
    border:1px solid var(--border-strong);
    border-radius:8px;
    padding:9px 14px;
    cursor:pointer;
}
.user-data-header{
    display:flex;
    justify-content:flex-end;
    margin-bottom:8px;
}
.equipment-actions{
    justify-content:space-between;
}
#saveEquipmentBtn{
    margin-top:14px;
}
#deleteListingBtn{
    margin-top:14px;
}
#equipmentDescription{
    width:100%;
    padding:10px;
    border:1px solid var(--border-strong);
    border-radius:8px;
    background:#0f0b19;
    color:var(--text);
    resize:vertical;
}
.equipment-list-wrap{
    margin-top:18px;
}
.equipment-list-wrap h2{
    color:var(--text);
    font-size:1.15rem;
    margin-bottom:10px;
}
.equipment-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.equipment-bubble{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    background:var(--surface-2);
    border:1px solid var(--border-soft);
    border-radius:999px;
    padding:10px 14px;
}
.equipment-bubble-title{
    color:var(--text);
    margin:0;
    font-weight:700;
}
.marketplace-post{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    background:var(--surface-2);
    border:1px solid var(--border-soft);
    border-radius:12px;
    padding:12px;
}
.marketplace-post-info{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.marketplace-post-description{
    margin:0;
    color:var(--text-soft);
}
.marketplace-post-owner{
    margin:0;
    color:var(--muted);
    font-size:0.9rem;
}
.equipment-empty{
    color:var(--muted);
}
.equipment-details-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}
.equipment-detail-card{
    border:1px solid var(--border-soft);
    background:#140f22;
    border-radius:10px;
    padding:12px;
}
.equipment-detail-card h2{
    color:var(--lavender);
    font-size:1rem;
    margin-bottom:8px;
}
.equipment-files{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.equipment-file-item{
    border:1px solid var(--border-soft);
    border-radius:8px;
    background:#17112b;
    padding:10px;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.equipment-file-name{
    margin:0;
    color:var(--text-soft);
    word-break:break-word;
}
.equipment-photo-preview{
    width:100%;
    max-height:220px;
    object-fit:cover;
    border-radius:8px;
}
.user-data-card h1{
    color:var(--lavender);
    margin-bottom:8px;
}
.user-data-card > p{
    color:var(--muted);
    margin-bottom:16px;
}
.user-data-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}
.upload-item{
    border:1px solid var(--border-soft);
    background:#140f22;
    border-radius:10px;
    padding:12px;
}
.upload-btn{
    display:inline-flex;
    width:100%;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:#2458a9;
    color:#ffffff;
    border-radius:8px;
    padding:10px 12px;
    cursor:pointer;
    font-weight:700;
}
.upload-item input[type="file"]{
    display:none;
}
.upload-status{
    margin-top:8px;
    color:var(--muted);
    font-size:0.95rem;
    min-height:22px;
}
.upload-status[data-state="ok"]{
    color:#9df2cf;
}
.user-data-status{
    margin-top:12px;
}
.admin-nav-link.active{
    border-color:var(--border-strong);
    background:var(--accent-soft);
}
.admin-card{
    background:linear-gradient(180deg, #120d22 0%, #17112b 100%);
    border:1px solid var(--border-soft);
    border-radius:12px;
    padding:24px;
}
.admin-header{
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px;
}
.admin-header h1{
    color:var(--lavender);
}
.admin-grid{
    margin-top:14px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:12px;
}
.admin-account-card{
    background:var(--surface-2);
    border:1px solid var(--border-soft);
    border-radius:10px;
    padding:14px;
}
.admin-account-card p{
    margin:0 0 6px;
    color:var(--text-soft);
    word-break:break-word;
}
.admin-approve-btn{
    margin-top:8px;
}
.admin-post-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:110px;
}
.admin-overview-grid{
    margin-top:14px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
}
.admin-overview-card{
    background:var(--surface-2);
    border:1px solid var(--border-soft);
    border-radius:10px;
    padding:14px;
}
.admin-overview-card h3{
    color:var(--lavender);
    margin-bottom:8px;
}
.admin-overview-value{
    font-size:2rem;
    font-weight:800;
    color:var(--text);
}

/* Responsive */
@media(max-width:980px){
    .hero-grid{ grid-template-columns:1fr; }
    .nav-cta{ display:none; }
    .overview-grid{ grid-template-columns:1fr; }
    .overview-bottom{ grid-template-columns:1fr; }
    .platform-core-grid{ grid-template-columns:1fr; }
    .workflow-track{
        flex-wrap:wrap;
        justify-content:center;
    }
    .workflow-step{
        flex:0 1 calc(50% - 18px);
    }
    .workflow-step::after{
        display:none;
    }
    .about-showcase-inner{
        grid-template-columns:1fr;
        gap:26px;
    }
    .about-copy p{
        max-width:none;
    }
    .about-graphic-card{
        max-width:560px;
        margin:0 auto;
    }
    .overview-page .overview-bottom{
        grid-template-columns:1fr;
    }
    .pro-problem-grid{
        grid-template-columns:1fr;
        min-height:auto;
    }
    .pro-problem-image{
        max-height:460px;
    }
    .pro-problem-copy{
        padding:34px 26px 30px;
    }
    .pro-solution-features{
        grid-template-columns:1fr;
        gap:18px;
    }
    .pro-feature{
        grid-template-columns:118px 1fr;
    }
    .who-serve-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .core-modules-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .core-module-wide{
        grid-column:span 2;
    }
    .home-hero-shell{
        grid-template-columns:1fr;
        grid-template-rows:auto auto auto;
    }
    .global-top-row{
        grid-template-columns:1fr;
        gap:10px;
        margin-bottom:10px;
    }
    .home-top-row{
        grid-column:1;
        grid-row:1;
        grid-template-columns:1fr;
        gap:10px;
        margin-bottom:28px;
        padding:10px 10px 0;
    }
    .home-nav-pills{
        padding-top:0;
    }
    .home-copy{
        padding-left:12px;
    }
    .home-hero-right{
        grid-column:1;
        grid-row:3;
        max-height:520px;
    }
    .home-hero-left{
        grid-column:1;
        grid-row:2;
    }
    .sectors-image-grid{
        grid-template-columns:1fr;
    }
    .sectors-image-grid img{
        max-height:320px;
        border-radius:28px;
    }
    .sectors-text-grid{
        grid-template-columns:1fr;
    }
    .how-page .how-labels{
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:8px;
    }
    .how-page .how-labels span{
        font-size:1.5rem;
    }
    .how-page .tech-compliance-grid{
        grid-template-columns:1fr;
        gap:16px;
    }
    .how-page .architecture-card{
        min-height:0;
    }
    .contact-page-shell .contact-page-wrap{
        grid-template-columns:1fr;
        gap:18px;
    }
    .contact-right-col{
        padding-top:0;
    }
    .contact-map-card{
        max-width:620px;
    }
}
@media(max-width:1200px){
    .utility-nav .container,
    .navbar .container{
        padding-left:16px;
        padding-right:16px;
    }
    .nav-menu{
        gap:4px;
    }
    .nav-link{
        font-size:0.82rem;
        padding:6px 6px;
    }
    .contact-left-col h1{
        font-size:2.5rem;
    }
    .contact-left-col li{
        font-size:1rem;
    }
    .contact-left-col h2,
    .contact-compliance-card h2{
        font-size:1.95rem;
    }
    .contact-address{
        font-size:0.98rem;
    }
    .contact-footer p{
        font-size:0.98rem;
    }
}
@media(max-width:640px){
    .nav-menu{ display:none; }
    .utility-content{ flex-direction:column; gap:6px; }
    .hero-actions{ flex-direction:column; align-items:flex-start; }
    .overview-stage{ padding:22px 16px; }
    .why-card h4{ font-size:1.5rem; }
    .platform-core-stage{ padding:22px 16px; }
    .platform-core-stage h3{ font-size:1.6rem; }
    .platform-col{ grid-template-columns:1fr; }
    .platform-core-grid{ padding:10px; }
    .workflow-step{
        flex:1 1 100%;
    }
    .workflow-node{
        width:140px;
        height:140px;
        border-width:9px;
    }
    .how-workflow-stage h3{
        font-size:1.6rem;
    }
    .workflow-step h4{
        font-size:1.5rem;
    }
    .workflow-note{
        font-size:1rem;
    }
    .signup-card{
        padding:18px;
    }
    .exporter-info-card{
        padding:18px;
    }
    .info-hero img{
        max-height:200px;
    }
    .admin-card{
        padding:18px;
    }
    .user-data-card{
        padding:18px;
    }
    .admin-header{
        flex-direction:column;
        align-items:flex-start;
    }
    .admin-nav-links{
        flex-wrap:wrap;
        justify-content:flex-end;
    }
    .user-data-grid{
        grid-template-columns:1fr;
    }
    .equipment-details-grid{
        grid-template-columns:1fr;
    }
    .equipment-bubble{
        border-radius:16px;
        align-items:flex-start;
        flex-direction:column;
    }
    .marketplace-post{
        flex-direction:column;
    }
    .top-nav-links{
        flex-wrap:wrap;
    }
    .top-nav-inner{
        flex-wrap:wrap;
    }
    .about-page .about-showcase{
        padding:38px 0 56px;
    }
    .about-copy h2{
        font-size:2.2rem;
        margin-bottom:16px;
    }
    .about-copy p{
        font-size:1.25rem;
        margin-bottom:16px;
    }
    .about-graphic-card{
        border-radius:34px;
        padding:10px;
    }
    .about-graphic-card img{
        border-radius:24px;
    }
    .overview-page .overview-stage h3{
        font-size:2.1rem;
    }
    .overview-page .overview-card h4{
        font-size:1.75rem;
    }
    .overview-page .overview-card p{
        font-size:1.25rem;
    }
    .overview-page .why-card h4{
        font-size:2rem;
    }
    .overview-page .why-card p{
        font-size:1.15rem;
    }
    .overview-page .trust-card h4{
        font-size:1.6rem;
    }
    .overview-page .trust-card li{
        font-size:1.05rem;
    }
    .pro-problem-copy{
        padding:24px 18px 22px;
    }
    .pro-problem-copy h2{
        font-size:2.1rem;
    }
    .pro-problem-copy h3{
        font-size:1.5rem;
    }
    .pro-problem-copy p{
        font-size:1.05rem;
    }
    .pro-problem-copy li{
        font-size:1rem;
    }
    .pro-solution-detail{
        padding:32px 0 36px;
    }
    .pro-solution-inner{
        padding:0 16px 0 18px;
    }
    .pro-solution-inner h2{
        font-size:2.1rem;
    }
    .pro-solution-inner > p{
        font-size:1.05rem;
        margin-bottom:18px;
    }
    .pro-feature{
        grid-template-columns:90px 1fr;
        gap:12px;
    }
    .pro-feature img{
        width:90px;
        height:112px;
    }
    .pro-feature h3{
        font-size:1.55rem;
    }
    .pro-feature p{
        font-size:1rem;
    }
    .who-serve-shell{
        padding:34px 0 40px;
    }
    .who-serve-shell h2{
        font-size:2.2rem;
        margin-bottom:20px;
    }
    .who-serve-grid{
        grid-template-columns:1fr;
        gap:18px;
    }
    .serve-card img{
        width:116px;
        height:116px;
    }
    .serve-card h3{
        font-size:1.6rem;
    }
    .serve-card p{
        font-size:1rem;
    }
    .core-modules-shell{
        padding:34px 0 40px;
    }
    .core-modules-shell h2{
        font-size:2.2rem;
        margin-bottom:16px;
    }
    .core-modules-grid{
        grid-template-columns:1fr;
        gap:12px;
    }
    .core-module-wide{
        grid-column:span 1;
    }
    .core-module-card h3{
        font-size:1.3rem;
    }
    .home-main-logo{
        width:180px;
    }
    .home-pill{
        font-size:1rem;
        padding:6px 10px;
    }
    .home-exchange-btn{
        font-size:1rem;
        padding:8px 12px;
        margin-top:0;
    }
    .home-copy h2{
        font-size:2.9rem;
    }
    .home-tagline{
        font-size:1.18rem;
    }
    .home-lead{
        font-size:1.02rem;
    }
    .home-actions .primary-cta,
    .home-actions .secondary-cta{
        font-size:1.05rem;
        padding:8px 12px;
    }
    .home-segments .segment-cta{
        font-size:0.95rem;
        padding:6px 10px;
    }
    .sectors-shell{
        padding:34px 0 40px;
    }
    .sectors-shell h2{
        font-size:2.2rem;
        margin-bottom:14px;
    }
    .sector-case h3{
        font-size:1.15rem;
    }
    .sector-step{
        width:34px;
        height:34px;
        font-size:1.1rem;
    }
    .sector-case p{
        font-size:1rem;
        margin-left:44px;
    }
    .how-page .how-workflow-shell{
        padding:34px 0 42px;
    }
    .how-page .how-workflow-stage h3{
        font-size:2rem;
        margin-bottom:16px;
    }
    .how-page .how-labels{
        grid-template-columns:1fr;
        gap:6px;
        margin-bottom:16px;
    }
    .how-page .how-labels span{
        font-size:1.35rem;
    }
    .how-page .workflow-note{
        font-size:1rem;
    }
    .how-page .tech-compliance-shell{
        padding:4px 0 30px;
    }
    .how-page .tech-compliance-shell h3{
        font-size:2rem;
        margin-bottom:14px;
    }
    .how-page .architecture-card{
        padding:14px;
    }
    .how-page .architecture-card h4{
        font-size:1.7rem;
    }
    .how-page .architecture-card p{
        font-size:1rem;
    }
    .how-page .point-item{
        grid-template-columns:42px 1fr;
    }
    .how-page .point-icon-img{
        width:34px;
        height:34px;
    }
    .how-page .point-item h4{
        font-size:1.65rem;
    }
    .how-page .point-item p{
        font-size:1rem;
    }
    .how-page .tech-compliance-note{
        font-size:1rem;
    }
    .contact-page-shell{
        padding:14px 0 22px;
    }
    .contact-page-wrap{
        padding:0 12px;
    }
    .contact-left-col h1{
        font-size:2rem;
    }
    .contact-left-col p{
        font-size:1.02rem;
    }
    .contact-left-col li{
        font-size:0.95rem;
    }
    .contact-left-col h2,
    .contact-compliance-card h2{
        font-size:1.62rem;
    }
    .contact-label{
        margin-bottom:6px;
    }
    .contact-form input,
    .contact-form select,
    .contact-form textarea{
        font-size:0.95rem;
    }
    .contact-submit-btn{
        width:100%;
        font-size:1rem;
        padding:10px 12px;
    }
    .contact-policy-links a{
        font-size:0.72rem;
    }
    .contact-address{
        font-size:0.95rem;
    }
    .contact-footer p{
        font-size:1rem;
    }
}

/* Global typography policy */
h1, h2, h3, h4, h5, h6{
    font-family: Inter, Calibri, "Segoe UI", sans-serif !important;
}
p, li, a, button, input, select, textarea, label, small, strong, em, span{
    font-family: Candara, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}

/* =========================================================
   White / Blue Redesign Refresh
   Reference: clean institutional layout, white navigation,
   blue accents, preserved existing content and functionality.
   ========================================================= */
:root{
    --brand-blue:#0f6ec9;
    --brand-blue-2:#1497df;
    --brand-navy:#10213a;
    --brand-ink:#172033;
    --brand-muted:#64748b;
    --brand-line:#e3eaf3;
    --brand-soft:#f5f9fd;
    --brand-soft-blue:#eef7ff;
    --brand-card:#ffffff;
    --brand-shadow:0 22px 60px rgba(15, 39, 70, 0.10);
}

html{ background:#ffffff; }
body,
.home-page,
.about-page,
.overview-page,
.pro-solution-page,
.who-serve-page,
.core-modules-page,
.sectors-page,
.how-page,
.contact-page{
    background:#ffffff !important;
    color:var(--brand-ink) !important;
}

body{
    font-family: Candara, "Segoe UI", Arial, sans-serif;
    background:#ffffff !important;
}

.container{
    max-width:1180px;
    padding-left:24px;
    padding-right:24px;
}

/* Shared white top navigation */
.global-topbar,
.home-top-row{
    position:sticky;
    top:0;
    z-index:1000;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:26px;
    width:100%;
    margin:0 !important;
    padding:14px clamp(18px, 4vw, 58px) !important;
    background:rgba(255,255,255,0.96) !important;
    border-bottom:1px solid rgba(16,33,58,0.10);
    box-shadow:0 10px 32px rgba(16,33,58,0.07);
    backdrop-filter:blur(12px);
}

.global-top-row{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:26px;
    width:100%;
    margin:0;
}

.home-main-logo{
    width:190px !important;
    max-width:190px;
    height:auto;
    display:block;
    border-radius:0 !important;
    background:transparent;
}

.home-nav-pills{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:22px;
    padding-top:0 !important;
    flex-wrap:wrap;
}

.home-pill{
    position:relative;
    padding:8px 0 !important;
    color:var(--brand-navy) !important;
    background:transparent !important;
    border-radius:0 !important;
    text-decoration:none;
    font-size:0.98rem !important;
    font-weight:700 !important;
    letter-spacing:0.02em;
}

.home-pill::after{
    content:"";
    position:absolute;
    left:0;
    bottom:2px;
    width:0;
    height:2px;
    background:var(--brand-blue);
    transition:width .2s ease;
}

.home-pill:hover,
.home-pill:focus-visible{
    color:var(--brand-blue) !important;
}

.home-pill:hover::after,
.home-pill:focus-visible::after{
    width:100%;
}

.home-exchange-btn,
.primary-cta,
.submit-btn,
.contact-submit-btn,
.upload-btn,
.logout-btn,
.top-logout-btn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border:1px solid var(--brand-blue) !important;
    border-radius:4px !important;
    box-shadow:0 10px 24px rgba(15,110,201,0.20);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.home-exchange-btn{
    margin-top:0 !important;
    padding:10px 18px !important;
    font-size:0.96rem !important;
    white-space:nowrap;
}

.home-exchange-btn:hover,
.primary-cta:hover,
.submit-btn:hover,
.contact-submit-btn:hover,
.upload-btn:hover,
.logout-btn:hover,
.top-logout-btn:hover{
    background:#0b5cad !important;
    box-shadow:0 14px 30px rgba(15,110,201,0.25);
    transform:translateY(-1px);
}

.secondary-cta,
.auth-alt-btn,
.secondary-link,
.danger-cta{
    color:var(--brand-blue) !important;
    background:#ffffff !important;
    border:1px solid rgba(15,110,201,0.26) !important;
    border-radius:4px !important;
}

.secondary-cta:hover,
.auth-alt-btn:hover,
.secondary-link:hover{
    background:var(--brand-soft-blue) !important;
    border-color:var(--brand-blue) !important;
}

/* Home page */
.home-hero-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(420px,0.95fr);
    grid-template-rows:auto 1fr;
    background:
        linear-gradient(90deg, #ffffff 0%, #ffffff 52%, #eef7ff 52%, #eef7ff 100%) !important;
}

.home-hero-left{
    grid-column:1 / 2;
    grid-row:2;
    display:flex;
    align-items:center;
    padding:74px 38px 82px clamp(38px, 7vw, 110px) !important;
}

.home-copy{
    padding:0 !important;
    max-width:760px;
}

.home-copy h2{
    color:var(--brand-navy) !important;
    font-size:clamp(3.4rem, 7.5vw, 7rem) !important;
    line-height:0.92;
    letter-spacing:-0.06em;
    margin-bottom:20px !important;
    font-weight:800;
}

.home-copy h2 .brand-e,
.brand-e,
.overview-page .brand-e,
.about-page .brand-e,
.contact-page .brand-e{
    color:var(--brand-blue-2) !important;
}

.home-copy h2 .brand-tm{
    color:var(--brand-blue-2) !important;
    font-size:clamp(1.05rem, 2vw, 1.9rem) !important;
    letter-spacing:0;
}

.home-tagline{
    color:var(--brand-blue) !important;
    font-size:clamp(1.25rem, 2vw, 2rem) !important;
    line-height:1.35;
    margin-bottom:16px !important;
    font-weight:700;
}

.home-lead,
.lead,
.section-sub{
    color:var(--brand-muted) !important;
}

.home-lead{
    font-size:clamp(1.05rem, 1.3vw, 1.25rem) !important;
    line-height:1.75 !important;
    max-width:58ch !important;
    margin-bottom:28px !important;
}

.home-actions{
    gap:12px !important;
    margin-bottom:22px !important;
}

.home-actions .primary-cta,
.home-actions .secondary-cta{
    padding:12px 18px !important;
    font-size:0.96rem !important;
    font-weight:700;
}

.home-segments{
    gap:10px !important;
}

.segment-cta,
.home-segments .segment-cta{
    color:var(--brand-blue) !important;
    background:#ffffff !important;
    border:1px solid rgba(15,110,201,0.22) !important;
    border-radius:999px !important;
    padding:8px 13px !important;
    font-size:0.78rem !important;
    font-weight:800;
    letter-spacing:0.08em;
}

.segment-cta:hover,
.home-segments .segment-cta:hover{
    background:var(--brand-soft-blue) !important;
    border-color:var(--brand-blue) !important;
}

.home-hero-right{
    grid-column:2 / 3;
    grid-row:2;
    padding:74px clamp(34px, 5vw, 80px) 82px 8px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.home-hero-right img{
    width:100% !important;
    height:min(650px, calc(100vh - 190px)) !important;
    min-height:420px;
    object-fit:cover !important;
    border-radius:2px !important;
    box-shadow:var(--brand-shadow);
    border:1px solid rgba(16,33,58,0.08);
}

/* Section and card system */
.section,
.about-page .about-showcase,
.overview-page .overview-shell,
.pro-solution-page .pro-problem-shell,
.pro-solution-detail,
.who-serve-shell,
.core-modules-shell,
.sectors-shell,
.how-page .how-workflow-shell,
.how-page .tech-compliance-shell,
.contact-page-shell,
.exporter-info-shell,
.signup-shell,
.user-data-shell,
.admin-shell{
    background:#ffffff !important;
    padding-top:72px !important;
    padding-bottom:76px !important;
}

.section.light{
    background:var(--brand-soft) !important;
}

h1, h2, h3, h4{
    color:var(--brand-navy) !important;
    letter-spacing:-0.02em;
}

p, li, label, input, select, textarea{
    color:var(--brand-ink) !important;
}

.about-copy h2,
.overview-page .overview-stage h3,
.pro-problem-copy h2,
.pro-solution-inner h2,
.who-serve-shell h2,
.core-modules-shell h2,
.sectors-shell h2,
.how-page .how-workflow-stage h3,
.how-page .tech-compliance-shell h3,
.contact-left-col h1,
.contact-left-col h2,
.contact-compliance-card h2,
.info-hero h1{
    color:var(--brand-navy) !important;
    font-size:clamp(2.1rem, 4vw, 3.4rem) !important;
    line-height:1.08 !important;
    margin-bottom:22px !important;
}

.about-copy h2::after,
.overview-page .overview-stage h3::after,
.pro-problem-copy h2::after,
.pro-solution-inner h2::after,
.who-serve-shell h2::after,
.core-modules-shell h2::after,
.sectors-shell h2::after,
.how-page .how-workflow-stage h3::after,
.how-page .tech-compliance-shell h3::after,
.contact-left-col h1::after,
.info-hero h1::after{
    content:"";
    display:block;
    width:74px;
    height:3px;
    margin-top:14px;
    background:var(--brand-blue);
}

.about-showcase-inner,
.overview-page .overview-stage,
.pro-problem-grid,
.pro-solution-inner,
.who-serve-grid,
.core-modules-grid,
.sectors-text-grid,
.how-page .how-workflow-stage,
.how-page .tech-compliance-grid,
.contact-page-shell .contact-page-wrap,
.exporter-info-card,
.signup-card,
.user-data-card,
.admin-card{
    color:var(--brand-ink) !important;
}

.about-copy p,
.overview-page .overview-card p,
.overview-page .why-card p,
.pro-problem-copy p,
.pro-problem-copy li,
.pro-solution-inner > p,
.pro-feature p,
.serve-card p,
.core-module-card p,
.sector-case p,
.how-page .architecture-card p,
.how-page .point-item p,
.how-page .tech-compliance-note,
.workflow-note,
.contact-left-col p,
.contact-compliance-card p,
.contact-left-col li,
.info-hero p,
.exporter-info-card p,
.exporter-info-card li{
    color:var(--brand-muted) !important;
    font-size:clamp(1rem, 1.1vw, 1.16rem) !important;
    line-height:1.72 !important;
}

/* About */
.about-showcase-inner{
    grid-template-columns:minmax(0,1.1fr) minmax(280px,0.65fr) !important;
    align-items:center;
    gap:42px !important;
}

.about-mini-logo{
    width:145px !important;
    border-radius:0 !important;
    margin-bottom:20px !important;
}

.about-copy strong{
    color:var(--brand-navy) !important;
}

.about-graphic-card{
    justify-self:end;
    padding:18px;
    background:var(--brand-soft-blue);
    border:1px solid rgba(15,110,201,0.10);
    border-radius:2px !important;
    box-shadow:var(--brand-shadow);
}

.about-graphic-card img{
    border-radius:2px !important;
}

/* Overview */
.overview-page .overview-stage{
    padding:0 !important;
    background:#ffffff !important;
    border:none !important;
}

.overview-page .overview-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px !important;
}

.overview-page .overview-card,
.overview-page .trust-card,
.overview-page .why-card,
.solution,
.feature-card,
.core-module-card,
.serve-card,
.sector-case,
.pro-feature,
.how-page .architecture-card,
.how-page .point-item,
.contact-compliance-card,
.contact-map-card,
.exporter-info-card,
.signup-card,
.user-data-card,
.admin-card,
.upload-item{
    background:#ffffff !important;
    border:1px solid var(--brand-line) !important;
    border-radius:2px !important;
    box-shadow:0 12px 36px rgba(16,33,58,0.06) !important;
}

.overview-page .overview-card{
    padding:30px 24px 24px !important;
}

.overview-page .overview-card::before{
    height:4px !important;
    background:var(--brand-blue) !important;
    border-radius:2px 2px 0 0 !important;
}

.overview-page .card-step,
.sector-step{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
}

.overview-page .overview-card h4,
.overview-page .trust-card h4,
.pro-feature h3,
.serve-card h3,
.core-module-card h3,
.sector-case h3,
.how-page .architecture-card h4,
.how-page .point-item h4{
    color:var(--brand-navy) !important;
    font-size:clamp(1.25rem, 1.75vw, 1.8rem) !important;
    line-height:1.2 !important;
}

.overview-page .overview-bottom{
    border-top:1px solid var(--brand-line) !important;
    grid-template-columns:1.15fr 0.85fr !important;
    gap:18px !important;
}

.overview-page .why-card,
.overview-page .trust-card{
    padding:24px !important;
}

.overview-page .trust-card ul{
    padding-left:22px;
}

.overview-page .trust-card li{
    color:var(--brand-muted) !important;
    font-size:1rem !important;
    line-height:1.55 !important;
}

/* Solutions */
.pro-solution-page .pro-problem-shell{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.pro-problem-grid{
    grid-template-columns:minmax(340px,0.8fr) minmax(0,1.2fr) !important;
    min-height:auto !important;
    background:var(--brand-soft) !important;
    border-top:1px solid var(--brand-line);
    border-bottom:1px solid var(--brand-line);
}

.pro-problem-image{
    padding:42px 0 42px clamp(24px, 4vw, 62px);
}

.pro-problem-image img{
    border-radius:2px !important;
    box-shadow:var(--brand-shadow);
    border:1px solid rgba(16,33,58,0.08);
}

.pro-problem-copy{
    padding:62px clamp(28px, 5vw, 78px) !important;
}

.pro-dot{
    background:var(--brand-blue) !important;
}

.pro-solution-inner{
    padding:0 24px !important;
}

.pro-solution-features{
    gap:20px !important;
}

.pro-feature{
    padding:18px !important;
    grid-template-columns:88px 1fr !important;
}

.pro-feature img{
    width:88px !important;
    height:104px !important;
    border-radius:2px !important;
}

/* Who/Core/Sectors */
.who-serve-grid,
.core-modules-grid{
    gap:18px !important;
}

.serve-card,
.core-module-card,
.sector-case{
    padding:22px !important;
}

.serve-card img{
    width:100% !important;
    height:160px !important;
    object-fit:cover;
    border-radius:2px !important;
    margin-bottom:18px !important;
}

.sectors-image-grid{
    gap:18px !important;
    margin-bottom:24px !important;
}

.sectors-image-grid img{
    border-radius:2px !important;
    box-shadow:var(--brand-shadow);
    border:1px solid var(--brand-line);
}

.sectors-text-grid{
    gap:18px !important;
}

.sector-case p{
    margin-left:0 !important;
    max-width:none !important;
}

.sector-case h3{
    display:flex;
    gap:12px;
    align-items:center;
}

/* How / Tech */
.how-page .how-layout{
    max-width:1180px !important;
}

.how-page .how-bubbles-wrap{
    background:var(--brand-soft-blue);
    border:1px solid rgba(15,110,201,0.10);
    border-radius:2px;
    padding:24px;
    box-shadow:var(--brand-shadow);
}

.how-page .how-bubbles-wrap img{
    max-width:100% !important;
}

.how-page .how-labels span{
    color:var(--brand-navy) !important;
    font-size:clamp(1.1rem, 2vw, 1.55rem) !important;
}

.how-page .tech-compliance-grid{
    align-items:stretch !important;
}

.how-page .architecture-card{
    padding:26px !important;
}

.how-page .compliance-points{
    gap:14px !important;
}

.how-page .point-item{
    padding:18px !important;
}

/* Contact */
.contact-page-shell .contact-page-wrap{
    max-width:1180px !important;
    grid-template-columns:minmax(0,1.02fr) minmax(320px,0.72fr) !important;
    gap:46px !important;
}

.contact-input-stack,
.contact-form textarea{
    border:1px solid var(--brand-line) !important;
    border-radius:2px !important;
}

.contact-form input,
.contact-form select,
.contact-form textarea,
.form-group input,
.signup-form input,
.signup-form select,
.upload-item input,
.upload-item textarea{
    background:#ffffff !important;
    color:var(--brand-ink) !important;
    border-color:var(--brand-line) !important;
}

.contact-form input,
.contact-form select{
    border-bottom:1px solid var(--brand-line) !important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:#8a98ab !important;
}

.contact-submit-btn{
    width:max-content !important;
    padding:12px 22px !important;
}

.contact-policy-links a{
    color:var(--brand-blue) !important;
    background:var(--brand-soft-blue);
    border-color:rgba(15,110,201,0.18) !important;
}

.contact-map-card{
    padding:14px !important;
}

.country-tag{
    background:var(--brand-blue) !important;
}

.contact-address,
.contact-footer p,
.contact-footer a{
    color:var(--brand-muted) !important;
}

.contact-footer{
    border-top:1px solid var(--brand-line) !important;
    background:#ffffff !important;
}

/* Footer */
.footer{
    background:var(--brand-navy) !important;
    border-top:none !important;
    margin-top:0 !important;
    padding:30px 0 !important;
}

.footer h4,
.footer p{
    color:#ffffff !important;
}

.footer-grid{
    display:flex !important;
    justify-content:space-between;
    gap:24px;
}

/* Modal / auth / admin pages */
.modal{
    background:rgba(16,33,58,0.46) !important;
}

.modal-content{
    background:#ffffff !important;
    border:1px solid var(--brand-line) !important;
    border-radius:2px !important;
    box-shadow:0 30px 80px rgba(16,33,58,0.22) !important;
}

.close{
    color:var(--brand-muted) !important;
}

.login-container h2,
.login-subtitle,
.form-group label{
    color:var(--brand-navy) !important;
}

.auth-status{
    color:var(--brand-muted) !important;
}

.auth-status[data-state="error"]{
    color:#b42318 !important;
}

.auth-status[data-state="ok"]{
    color:#067647 !important;
}

.utility-nav,
.admin-topbar,
.top-nav{
    background:#ffffff !important;
    color:var(--brand-navy) !important;
    border-bottom:1px solid var(--brand-line) !important;
    box-shadow:0 10px 30px rgba(16,33,58,0.06);
}

.utility-link,
.admin-nav-link,
.top-nav-links a{
    color:var(--brand-navy) !important;
}

.admin-nav-link.active,
.admin-nav-link:hover,
.top-nav-links a:hover{
    color:var(--brand-blue) !important;
    background:var(--brand-soft-blue) !important;
}

.user-data-status,
.upload-status{
    color:var(--brand-muted) !important;
}

/* Audience info pages */
.info-hero{
    background:linear-gradient(135deg,#ffffff 0%,#eef7ff 100%) !important;
    border-bottom:1px solid var(--brand-line);
}

.exporter-info-card{
    padding:28px !important;
}

.exporter-actions{
    gap:12px !important;
}

/* Responsive */
@media (max-width: 1080px){
    .global-topbar,
    .home-top-row,
    .global-top-row{
        grid-template-columns:1fr;
        gap:12px;
        justify-items:start;
    }
    .home-nav-pills{
        justify-content:flex-start;
        gap:14px 18px;
    }
    .home-exchange-btn{
        justify-self:start;
    }
    .home-hero-shell{
        grid-template-columns:1fr !important;
        background:#ffffff !important;
    }
    .home-hero-left,
    .home-hero-right{
        grid-column:1 / -1 !important;
    }
    .home-hero-left{
        padding:52px clamp(22px, 6vw, 64px) 20px !important;
    }
    .home-hero-right{
        padding:20px clamp(22px, 6vw, 64px) 62px !important;
    }
    .home-hero-right img{
        height:auto !important;
        min-height:0;
        max-height:520px;
    }
    .about-showcase-inner,
    .pro-problem-grid,
    .overview-page .overview-bottom,
    .how-page .tech-compliance-grid,
    .contact-page-shell .contact-page-wrap{
        grid-template-columns:1fr !important;
    }
    .about-graphic-card{
        justify-self:start;
        max-width:420px;
    }
    .pro-problem-image{
        padding:34px clamp(22px, 6vw, 64px) 0 !important;
    }
}

@media (max-width: 760px){
    .home-main-logo{
        width:165px !important;
        max-width:165px;
    }
    .home-nav-pills{
        gap:10px 14px;
    }
    .home-pill{
        font-size:0.9rem !important;
    }
    .home-copy h2{
        font-size:clamp(2.7rem, 14vw, 4rem) !important;
    }
    .home-actions .primary-cta,
    .home-actions .secondary-cta,
    .contact-submit-btn{
        width:100% !important;
    }
    .overview-page .overview-grid,
    .pro-solution-features,
    .who-serve-grid,
    .core-modules-grid,
    .sectors-image-grid,
    .sectors-text-grid,
    .how-page .how-labels{
        grid-template-columns:1fr !important;
    }
    .pro-feature{
        grid-template-columns:1fr !important;
    }
    .pro-feature img{
        width:100% !important;
        height:170px !important;
    }
    .footer-grid{
        flex-direction:column;
    }
}

/* Display typography aligned with the reference style */
.home-copy h2,
.about-copy h2,
.overview-page .overview-stage h3,
.pro-problem-copy h2,
.pro-solution-inner h2,
.who-serve-shell h2,
.core-modules-shell h2,
.sectors-shell h2,
.how-page .how-workflow-stage h3,
.how-page .tech-compliance-shell h3,
.contact-left-col h1,
.contact-left-col h2,
.contact-compliance-card h2,
.info-hero h1,
.exporter-info-card h1,
.exporter-info-card h2,
.signup-card h1,
.user-data-card h1,
.admin-card h1,
.admin-card h2{
    font-family: Georgia, "Times New Roman", serif !important;
}


/* =========================================================
   Homepage Toronto hero revision
   - Raw image only; no overlay layer
   - Taller hero so the image reaches lower on the page
   - Smaller homepage copy without text shadows
   ========================================================= */
.home-page .home-hero-shell{
    min-height:100vh !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(760px, calc(100vh - 78px)) !important;
    background:#ffffff !important;
    overflow:hidden;
}

.home-page .home-top-row{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
}

.home-page .home-hero-left{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    position:relative;
    display:flex !important;
    align-items:center !important;
    min-height:760px;
    padding:clamp(70px, 9vw, 130px) clamp(28px, 8vw, 148px) clamp(92px, 10vw, 150px) !important;
    background-image:url("Homepage_Toronto.png");
    background-size:cover;
    background-position:center 58%;
    background-repeat:no-repeat;
}

.home-page .home-hero-left::after{
    content:none !important;
    display:none !important;
}

.home-page .home-copy{
    position:relative;
    z-index:1;
    max-width:790px !important;
    padding:0 !important;
    background:transparent !important;
    transform:scale(0.88);
    transform-origin:left center;
}

.home-page .home-copy h2{
    display:none !important;
}

.home-page .home-eyebrow{
    color:#ffffff !important;
    font-size:clamp(0.72rem, 0.76vw, 0.90rem);
    font-weight:700;
    letter-spacing:0.16em;
    text-transform:uppercase;
    margin-bottom:14px;
    text-shadow:none !important;
}

.home-page .home-tagline{
    color:#ffffff !important;
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:clamp(2.25rem, 4.45vw, 5.15rem) !important;
    line-height:1.04 !important;
    font-weight:400 !important;
    letter-spacing:-0.035em;
    margin-bottom:20px !important;
    max-width:760px;
    text-shadow:none !important;
}

.home-page .home-lead{
    color:#ffffff !important;
    font-family:Candara, "Segoe UI", Arial, sans-serif !important;
    font-size:clamp(0.92rem, 1.25vw, 1.20rem) !important;
    line-height:1.58 !important;
    max-width:680px !important;
    margin-bottom:26px !important;
    text-shadow:none !important;
}

.home-page .home-actions{
    gap:12px !important;
    margin-bottom:22px !important;
}

.home-page .home-actions .primary-cta,
.home-page .home-actions .secondary-cta{
    min-width:152px;
    padding:11px 19px !important;
    border-radius:6px !important;
    font-size:0.88rem !important;
    font-weight:800 !important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.home-page .home-actions .primary-cta{
    color:#ffffff !important;
    background:rgba(15,110,201,0.92) !important;
    border:1px solid rgba(255,255,255,0.28) !important;
    box-shadow:0 14px 32px rgba(0,36,85,0.20) !important;
}

.home-page .home-actions .secondary-cta{
    color:#0d3d76 !important;
    background:rgba(255,255,255,0.76) !important;
    border:1px solid rgba(255,255,255,0.58) !important;
    box-shadow:0 14px 32px rgba(0,36,85,0.12) !important;
}

.home-page .home-actions .primary-cta:hover,
.home-page .home-actions .secondary-cta:hover{
    transform:translateY(-2px);
}

.home-page .home-segments{
    gap:10px !important;
    max-width:880px;
}

.home-page .home-segments .segment-cta{
    color:#0d3d76 !important;
    background:rgba(255,255,255,0.78) !important;
    border:1px solid rgba(255,255,255,0.60) !important;
    border-radius:999px !important;
    padding:9px 16px !important;
    font-size:0.74rem !important;
    font-weight:900 !important;
    letter-spacing:0.11em !important;
    box-shadow:0 12px 28px rgba(0,36,85,0.10);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.home-page .home-segments .segment-cta:hover{
    color:#ffffff !important;
    background:rgba(15,110,201,0.92) !important;
    border-color:rgba(255,255,255,0.72) !important;
    transform:translateY(-2px);
}

.home-page .home-hero-right{
    display:none !important;
}

.home-page .footer{
    background:#ffffff !important;
    border-top:1px solid rgba(16,33,58,0.10);
}

@media (max-width:1080px){
    .home-page .home-hero-shell{
        grid-template-rows:auto minmax(700px, auto) !important;
    }
    .home-page .home-hero-left{
        min-height:700px;
        padding:74px clamp(24px, 7vw, 76px) 90px !important;
        background-position:center 58%;
    }
    .home-page .home-copy{
        max-width:730px !important;
        transform:scale(0.86);
        transform-origin:left center;
    }
}

@media (max-width:760px){
    .home-page .home-hero-left{
        min-height:720px;
        padding:62px 22px 70px !important;
        background-image:url("Homepage_Toronto.png");
        background-position:center 58%;
    }
    .home-page .home-copy{
        transform:none;
    }
    .home-page .home-tagline{
        font-size:clamp(2.0rem, 10vw, 3.35rem) !important;
    }
    .home-page .home-actions .primary-cta,
    .home-page .home-actions .secondary-cta{
        width:100% !important;
    }
    .home-page .home-segments .segment-cta{
        flex:1 1 145px;
    }
}


/* =========================================================
   Homepage in-page navigation + 1:1 embedded sections
   ========================================================= */
.home-nav-item{
    position:relative;
    display:inline-flex;
}
.home-dropdown{
    align-items:flex-start;
}
.home-dropdown-menu{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:190px;
    background:#ffffff;
    border:1px solid rgba(16, 33, 58, 0.12);
    border-radius:10px;
    box-shadow:0 18px 42px rgba(0, 20, 55, 0.18);
    padding:8px;
    z-index:200;
}
.home-dropdown:hover .home-dropdown-menu,
.home-dropdown:focus-within .home-dropdown-menu{
    display:block;
}
.home-dropdown-menu a{
    display:block;
    color:#10213a;
    text-decoration:none;
    font-weight:700;
    font-size:0.92rem;
    padding:10px 12px;
    border-radius:8px;
    white-space:nowrap;
}
.home-dropdown-menu a:hover{
    background:#eef5ff;
    color:#126fc9;
}
.homepage-inpage-copy{
    width:100%;
    scroll-margin-top:18px;
}
.homepage-inpage-copy .footer,
.homepage-inpage-copy .global-topbar,
.homepage-inpage-copy #loginModal{
    display:none !important;
}

/* =========================================================
   Homepage color-banded section separation
   - Keeps the existing embedded page layouts/content
   - Adds clear full-width color sections between homepage blocks
   ========================================================= */
.home-page .homepage-inpage-copy{
    position:relative;
    width:100%;
    scroll-margin-top:96px;
}

.home-page .homepage-inpage-copy .overview-shell,
.home-page .homepage-inpage-copy .who-serve-shell,
.home-page .homepage-inpage-copy .sectors-shell{
    background:transparent !important;
}

/* Overview: light institutional band */
.home-page .homepage-inpage-copy.overview-page{
    background:linear-gradient(180deg, #f5f9fd 0%, #eef7ff 100%) !important;
    padding:clamp(72px, 7vw, 112px) 0 !important;
    border-top:1px solid rgba(16,33,58,0.10);
    border-bottom:1px solid rgba(16,33,58,0.08);
}

.home-page .homepage-inpage-copy.overview-page .overview-shell{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.home-page .homepage-inpage-copy.overview-page .overview-stage{
    background:#ffffff !important;
    padding:clamp(34px, 4.5vw, 58px) !important;
    border:1px solid rgba(16,33,58,0.10) !important;
    border-left:8px solid var(--brand-blue) !important;
    box-shadow:0 28px 80px rgba(16,33,58,0.10) !important;
}

/* Who We Serve: dark blue section like the reference */
.home-page #who-we-serve.homepage-inpage-copy{
    background:#294760 !important;
    padding:clamp(82px, 8vw, 128px) 0 !important;
    border-top:1px solid rgba(255,255,255,0.10);
    border-bottom:1px solid rgba(16,33,58,0.18);
}

.home-page #who-we-serve .who-serve-shell{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.home-page #who-we-serve .who-serve-shell h2{
    color:#ffffff !important;
}

.home-page #who-we-serve .who-serve-shell h2::after{
    background:#ffffff !important;
    opacity:0.86;
}

.home-page #who-we-serve .serve-card{
    background:rgba(255,255,255,0.96) !important;
    border:1px solid rgba(255,255,255,0.40) !important;
    box-shadow:0 24px 70px rgba(0,18,42,0.20) !important;
}

.home-page #who-we-serve .serve-card img{
    height:190px !important;
}

/* Sectors: clean white section with a stronger visual image rail */
.home-page #sectors.homepage-inpage-copy{
    background:#ffffff !important;
    padding:clamp(76px, 7vw, 116px) 0 clamp(88px, 8vw, 132px) !important;
    border-top:10px solid #eef7ff;
}

.home-page #sectors .sectors-shell{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.home-page #sectors .sectors-image-grid{
    background:#f5f9fd !important;
    border:1px solid rgba(16,33,58,0.10);
    padding:clamp(14px, 2vw, 24px);
    box-shadow:0 22px 60px rgba(16,33,58,0.07);
}

.home-page #sectors .sectors-image-grid img{
    height:clamp(180px, 20vw, 270px) !important;
    width:100% !important;
    object-fit:cover !important;
}

.home-page #sectors .sector-case{
    border-top:4px solid var(--brand-blue) !important;
}

/* Extra breathing room when navigating from the Home dropdown */
.home-page #overview,
.home-page #who-we-serve,
.home-page #sectors{
    scroll-margin-top:96px;
}

@media (max-width:760px){
    .home-page .homepage-inpage-copy.overview-page,
    .home-page #who-we-serve.homepage-inpage-copy,
    .home-page #sectors.homepage-inpage-copy{
        padding-top:58px !important;
        padding-bottom:64px !important;
    }

    .home-page .homepage-inpage-copy.overview-page .overview-stage{
        padding:26px 18px !important;
        border-left-width:5px !important;
    }

    .home-page #who-we-serve .serve-card img{
        height:170px !important;
    }
}

/* =========================================================
   Homepage section refinements
   - Adds slim image panels between homepage sections
   - Removes the outer Overview container box
   - Makes embedded section text/images smaller
   - Does not modify the Toronto hero block
   ========================================================= */
.home-page .homepage-image-panel{
    height:clamp(150px, 16vw, 230px);
    width:100%;
    overflow:hidden;
    background:#eef7ff;
    border-top:1px solid rgba(16,33,58,0.08);
    border-bottom:1px solid rgba(16,33,58,0.08);
}
.home-page .homepage-image-panel img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.home-page .homepage-image-panel-alt{
    background:#f7fbff;
}

/* Remove the large box around Overview only on the homepage */
.home-page .homepage-inpage-copy.overview-page .overview-stage{
    background:transparent !important;
    border:none !important;
    border-left:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:0 !important;
}
.home-page .homepage-inpage-copy.overview-page{
    padding:clamp(52px, 5.5vw, 82px) 0 !important;
}
.home-page .homepage-inpage-copy.overview-page .overview-shell{
    padding:0 !important;
}

/* Smaller Overview content */
.home-page .homepage-inpage-copy.overview-page .overview-stage h3{
    font-size:clamp(1.85rem, 3vw, 2.75rem) !important;
    margin-bottom:22px !important;
}
.home-page .homepage-inpage-copy.overview-page .overview-grid{
    gap:12px !important;
}
.home-page .homepage-inpage-copy.overview-page .overview-card{
    padding:22px 13px 13px !important;
}
.home-page .homepage-inpage-copy.overview-page .card-step{
    width:32px !important;
    height:32px !important;
    top:-16px !important;
    font-size:0.88rem !important;
}
.home-page .homepage-inpage-copy.overview-page .overview-card h4{
    font-size:0.98rem !important;
    margin-bottom:5px !important;
}
.home-page .homepage-inpage-copy.overview-page .overview-card p{
    font-size:0.88rem !important;
    line-height:1.42 !important;
}
.home-page .homepage-inpage-copy.overview-page .overview-bottom{
    gap:12px !important;
    margin-top:14px !important;
    padding-top:14px !important;
}
.home-page .homepage-inpage-copy.overview-page .why-card,
.home-page .homepage-inpage-copy.overview-page .trust-card{
    padding:14px !important;
}
.home-page .homepage-inpage-copy.overview-page .why-card h4,
.home-page .homepage-inpage-copy.overview-page .trust-card h4{
    font-size:1.22rem !important;
}
.home-page .homepage-inpage-copy.overview-page .why-card p,
.home-page .homepage-inpage-copy.overview-page .trust-card li{
    font-size:0.9rem !important;
    line-height:1.46 !important;
}

/* Smaller Who We Serve section */
.home-page #who-we-serve.homepage-inpage-copy{
    padding:clamp(58px, 6vw, 92px) 0 !important;
}
.home-page #who-we-serve .who-serve-shell h2{
    font-size:clamp(2rem, 3.4vw, 3rem) !important;
    margin-bottom:24px !important;
}
.home-page #who-we-serve .who-serve-grid{
    gap:18px !important;
}
.home-page #who-we-serve .serve-card{
    padding:18px !important;
}
.home-page #who-we-serve .serve-card img{
    height:145px !important;
    width:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    border-radius:10px !important;
    margin-bottom:12px !important;
}
.home-page #who-we-serve .serve-card h3{
    font-size:clamp(1.05rem, 1.5vw, 1.45rem) !important;
    margin-bottom:6px !important;
}
.home-page #who-we-serve .serve-card p{
    font-size:0.9rem !important;
    line-height:1.42 !important;
}

/* Smaller Sectors & Use Cases section */
.home-page #sectors.homepage-inpage-copy{
    padding:clamp(56px, 6vw, 88px) 0 clamp(62px, 6.5vw, 96px) !important;
    border-top:none !important;
}
.home-page #sectors .sectors-shell h2{
    font-size:clamp(2rem, 3.3vw, 3rem) !important;
    margin-bottom:16px !important;
}
.home-page #sectors .sectors-image-grid{
    gap:12px !important;
    padding:14px !important;
    margin-bottom:16px !important;
}
.home-page #sectors .sectors-image-grid img{
    height:clamp(135px, 15vw, 210px) !important;
    border-radius:28px !important;
}
.home-page #sectors .sectors-text-grid{
    gap:14px !important;
}
.home-page #sectors .sector-case h3{
    font-size:clamp(1rem, 1.35vw, 1.28rem) !important;
    margin-bottom:6px !important;
}
.home-page #sectors .sector-step{
    width:34px !important;
    height:34px !important;
    border-radius:8px !important;
    font-size:0.9rem !important;
}
.home-page #sectors .sector-case p{
    font-size:0.9rem !important;
    line-height:1.42 !important;
    margin-left:44px !important;
    max-width:32ch !important;
}

@media (max-width:900px){
    .home-page .homepage-inpage-copy.overview-page .overview-grid,
    .home-page #who-we-serve .who-serve-grid,
    .home-page #sectors .sectors-image-grid,
    .home-page #sectors .sectors-text-grid{
        grid-template-columns:1fr 1fr !important;
    }
}

@media (max-width:640px){
    .home-page .homepage-image-panel{
        height:140px;
    }
    .home-page .homepage-inpage-copy.overview-page .overview-grid,
    .home-page .homepage-inpage-copy.overview-page .overview-bottom,
    .home-page #who-we-serve .who-serve-grid,
    .home-page #sectors .sectors-image-grid,
    .home-page #sectors .sectors-text-grid{
        grid-template-columns:1fr !important;
    }
    .home-page #who-we-serve .serve-card img,
    .home-page #sectors .sectors-image-grid img{
        height:150px !important;
    }
    .home-page #sectors .sector-case p{
        margin-left:0 !important;
    }
}



/* =========================================================
   Final homepage/navigation tweaks
   - Smaller homepage hero content, without changing the Toronto image
   - Right-aligns menu items on non-home pages
   - Makes the logo clickable via .logo-home-link
   - Restores the homepage footer to match the other pages
   ========================================================= */
.logo-home-link{
    display:inline-flex;
    align-items:center;
    width:max-content;
    text-decoration:none;
    line-height:0;
}
.logo-home-link .home-main-logo{
    display:block;
}
.logo-home-link:focus-visible{
    outline:2px solid var(--brand-blue);
    outline-offset:6px;
    border-radius:4px;
}

/* Homepage top/nav scale: keeps the Toronto image/background untouched. */
.home-page .home-main-logo{
    width:155px !important;
    max-width:155px !important;
}
.home-page .home-top-row{
    min-height:70px !important;
    padding:10px clamp(20px, 4vw, 58px) !important;
    align-items:center !important;
}
.home-page .home-nav-pills{
    gap:18px !important;
    justify-content:flex-end !important;
}
.home-page .home-pill{
    font-size:0.86rem !important;
    padding:6px 0 !important;
}
.home-page .home-exchange-btn{
    padding:8px 15px !important;
    font-size:0.84rem !important;
}

/* Smaller hero copy/actions to match the tighter reference sizing. */
.home-page .home-copy{
    max-width:690px !important;
    transform:scale(0.72) !important;
    transform-origin:left center !important;
}
.home-page .home-eyebrow{
    font-size:clamp(0.60rem, 0.62vw, 0.76rem) !important;
    margin-bottom:10px !important;
    letter-spacing:0.15em !important;
}
.home-page .home-tagline{
    font-size:clamp(1.85rem, 3.35vw, 4.05rem) !important;
    line-height:1.02 !important;
    max-width:640px !important;
    margin-bottom:14px !important;
}
.home-page .home-lead{
    font-size:clamp(0.78rem, 0.92vw, 1.0rem) !important;
    line-height:1.48 !important;
    max-width:560px !important;
    margin-bottom:18px !important;
}
.home-page .home-actions{
    gap:9px !important;
    margin-bottom:14px !important;
}
.home-page .home-actions .primary-cta,
.home-page .home-actions .secondary-cta{
    min-width:124px !important;
    padding:8px 13px !important;
    font-size:0.72rem !important;
    border-radius:4px !important;
}
.home-page .home-segments{
    gap:7px !important;
    max-width:640px !important;
}
.home-page .home-segments .segment-cta{
    padding:6px 11px !important;
    font-size:0.60rem !important;
    letter-spacing:0.095em !important;
}

/* Non-homepage nav alignment fix: keep the logo left, menu/right action grouped to the right. */
body:not(.home-page) .global-topbar{
    padding:0 !important;
}
body:not(.home-page) .global-top-row{
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    width:100% !important;
    gap:24px !important;
    padding:14px clamp(18px, 4vw, 58px) !important;
    margin:0 !important;
}
body:not(.home-page) .home-main-logo{
    width:155px !important;
    max-width:155px !important;
}
body:not(.home-page) .home-nav-pills{
    justify-content:flex-end !important;
    justify-self:end !important;
    margin-left:auto !important;
    width:100% !important;
    gap:18px !important;
    flex-wrap:wrap !important;
}
body:not(.home-page) .home-pill{
    font-size:0.86rem !important;
}
body:not(.home-page) .home-exchange-btn{
    justify-self:end !important;
    padding:8px 15px !important;
    font-size:0.84rem !important;
}

/* Homepage footer should match the dark footer used on the other pages. */
.home-page > .footer{
    background:var(--brand-navy) !important;
    color:#ffffff !important;
    border-top:none !important;
    padding:30px 0 !important;
    margin-top:0 !important;
}
.home-page > .footer h4,
.home-page > .footer p{
    color:#ffffff !important;
}
.home-page > .footer .footer-grid{
    display:flex !important;
    justify-content:space-between !important;
    gap:24px !important;
}

@media (max-width:1080px){
    .home-page .home-copy{
        transform:scale(0.76) !important;
    }
    .home-page .home-main-logo,
    body:not(.home-page) .home-main-logo{
        width:142px !important;
        max-width:142px !important;
    }
}

@media (max-width:760px){
    .home-page .home-copy{
        transform:none !important;
        max-width:100% !important;
    }
    .home-page .home-tagline{
        font-size:clamp(2rem, 10vw, 3.15rem) !important;
    }
    body:not(.home-page) .global-top-row,
    .home-page .home-top-row{
        grid-template-columns:1fr !important;
        justify-items:start !important;
    }
    body:not(.home-page) .home-nav-pills,
    .home-page .home-nav-pills{
        justify-content:flex-start !important;
    }
    .home-page > .footer .footer-grid{
        flex-direction:column !important;
    }
}


/* =========================================================
   Requested update: separate PNG panels, corrected nav alignment,
   and slightly larger Toronto hero items
   ========================================================= */

/* Slightly larger homepage hero content, while keeping the Toronto background image unchanged. */
.home-page .home-copy{
    transform:scale(0.80) !important;
    transform-origin:left center !important;
    max-width:720px !important;
}
.home-page .home-eyebrow{
    font-size:clamp(0.66rem, 0.70vw, 0.82rem) !important;
}
.home-page .home-tagline{
    font-size:clamp(2.05rem, 3.65vw, 4.35rem) !important;
}
.home-page .home-lead{
    font-size:clamp(0.86rem, 1.02vw, 1.08rem) !important;
}
.home-page .home-actions .primary-cta,
.home-page .home-actions .secondary-cta{
    min-width:136px !important;
    padding:9px 15px !important;
    font-size:0.78rem !important;
}
.home-page .home-segments .segment-cta{
    padding:7px 12px !important;
    font-size:0.66rem !important;
}

/* Keep every non-homepage top menu on the right side. */
body:not(.home-page) .global-topbar{
    display:block !important;
    width:100% !important;
    padding:0 !important;
}
body:not(.home-page) .global-top-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    gap:24px !important;
    padding:14px clamp(18px, 4vw, 58px) !important;
    margin:0 !important;
}
body:not(.home-page) .logo-home-link{
    flex:0 0 auto !important;
}
body:not(.home-page) .home-nav-pills{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    margin-left:auto !important;
    width:auto !important;
    flex:1 1 auto !important;
    gap:18px !important;
    flex-wrap:wrap !important;
}
body:not(.home-page) .home-exchange-btn{
    flex:0 0 auto !important;
    margin-left:8px !important;
}

/* The two separator panels now use separate real PNG files. */
.home-page .homepage-image-panel img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

@media (max-width:1080px){
    .home-page .home-copy{
        transform:scale(0.84) !important;
    }
}

@media (max-width:760px){
    .home-page .home-copy{
        transform:none !important;
        max-width:100% !important;
    }
    body:not(.home-page) .global-top-row{
        flex-direction:column !important;
        align-items:flex-start !important;
    }
    body:not(.home-page) .home-nav-pills{
        justify-content:flex-start !important;
        margin-left:0 !important;
        width:100% !important;
    }
    body:not(.home-page) .home-exchange-btn{
        margin-left:0 !important;
    }
}

/* =========================================================
   Requested panel + hero text refinements
   - Thicker homepage image panels
   - Overview panel shows the top of the image
   ========================================================= */
.home-page .homepage-image-panel{
    height:clamp(260px, 24vw, 380px) !important;
}

.home-page .homepage-image-panel img{
    object-fit:cover !important;
}

.home-page .homepage-image-panel:not(.homepage-image-panel-alt) img{
    object-position:center top !important;
}

.home-page .homepage-image-panel-alt img{
    object-position:center center !important;
}



/* =========================================================
   Modern text-only homepage subsection redesign
   Scope: Overview, Who We Serve, Sectors & Use Cases only
   ========================================================= */
.home-page .homepage-image-panel{
    display:none !important;
}
.home-page .modern-home-section{
    padding:clamp(76px, 7vw, 118px) 0 !important;
    overflow:hidden;
}
.home-page .modern-home-section .container{
    max-width:1180px;
}
.home-page .section-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    color:var(--brand-blue);
    font-size:0.78rem;
    font-weight:900;
    letter-spacing:0.18em;
    text-transform:uppercase;
}
.home-page .section-kicker::before{
    content:"";
    width:34px;
    height:2px;
    background:var(--brand-blue);
    border-radius:999px;
}
.home-page .section-heading-row{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(280px, 0.75fr);
    gap:clamp(30px, 5vw, 70px);
    align-items:end;
    margin-bottom:clamp(34px, 4vw, 56px);
}
.home-page .section-heading-row h2{
    margin:0;
    color:#10213a;
    font-size:clamp(2.15rem, 4.4vw, 4.9rem);
    line-height:0.98;
    letter-spacing:-0.055em;
    font-weight:900;
}
.home-page .section-heading-row p{
    margin:0;
    color:#5f6f84;
    font-size:clamp(0.98rem, 1.25vw, 1.16rem);
    line-height:1.72;
}
.home-page .overview-page{
    background:linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%) !important;
    padding:0 !important;
    border-top:1px solid rgba(16,33,58,0.08);
    border-bottom:1px solid rgba(16,33,58,0.08);
}
.home-page .overview-page .overview-shell,
.home-page #who-we-serve .who-serve-shell,
.home-page #sectors .sectors-shell{
    background:transparent !important;
    padding-top:clamp(76px, 7vw, 118px) !important;
    padding-bottom:clamp(76px, 7vw, 118px) !important;
}
.home-page .modern-overview-grid{
    display:grid;
    grid-template-columns:1.18fr 0.91fr 0.91fr;
    gap:18px;
}
.home-page .modern-overview-card,
.home-page .modern-audience-card,
.home-page .modern-usecase-card{
    position:relative;
    border-radius:28px;
    padding:clamp(24px, 3vw, 38px);
    overflow:hidden;
}
.home-page .modern-overview-card{
    background:#ffffff;
    border:1px solid rgba(18,111,201,0.14);
    box-shadow:0 24px 70px rgba(16,33,58,0.08);
}
.home-page .modern-overview-card.featured-card{
    background:#10213a;
    color:#ffffff;
}
.home-page .modern-overview-card::after,
.home-page .modern-usecase-card::after{
    content:"";
    position:absolute;
    inset:auto 24px 0 24px;
    height:4px;
    background:var(--brand-blue);
    border-radius:999px 999px 0 0;
    opacity:0.9;
}
.home-page .modern-card-label,
.home-page .usecase-topline{
    display:inline-flex;
    margin-bottom:28px;
    color:var(--brand-blue);
    font-size:0.76rem;
    font-weight:900;
    letter-spacing:0.16em;
    text-transform:uppercase;
}
.home-page .featured-card .modern-card-label{
    color:#8fcaff;
}
.home-page .modern-overview-card h3,
.home-page .modern-audience-card h3,
.home-page .modern-usecase-card h3{
    margin:0 0 12px;
    font-size:clamp(1.25rem, 2vw, 2rem);
    line-height:1.06;
    letter-spacing:-0.035em;
    color:#10213a;
}
.home-page .modern-overview-card p,
.home-page .modern-audience-card p,
.home-page .modern-usecase-card p{
    margin:0;
    color:#5f6f84;
    font-size:0.98rem;
    line-height:1.65;
}
.home-page .modern-overview-card.featured-card h3,
.home-page .modern-overview-card.featured-card p{
    color:#ffffff;
}
.home-page .modern-overview-card.featured-card p{
    opacity:0.82;
}
.home-page #who-we-serve.homepage-inpage-copy{
    background:#294760 !important;
    padding:0 !important;
}
.home-page .dark-modern-section .section-kicker,
.home-page .dark-modern-section .section-heading-row h2{
    color:#ffffff !important;
}
.home-page .dark-modern-section .section-kicker::before{
    background:#ffffff;
}
.home-page .dark-modern-section .section-heading-row p{
    color:rgba(255,255,255,0.74) !important;
}
.home-page .modern-audience-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
}
.home-page .modern-audience-card{
    min-height:300px;
    background:rgba(255,255,255,0.96) !important;
    border:1px solid rgba(255,255,255,0.34);
    box-shadow:0 28px 70px rgba(0,18,42,0.18);
}
.home-page .modern-audience-card span{
    display:block;
    margin-bottom:56px;
    color:var(--brand-blue);
    font-size:0.82rem;
    font-weight:900;
    letter-spacing:0.16em;
}
.home-page .sectors-page{
    background:#ffffff !important;
    padding:0 !important;
}
.home-page .sectors-modern-section{
    background:linear-gradient(180deg, #ffffff 0%, #f5f9fd 100%) !important;
}
.home-page .modern-usecase-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}
.home-page .modern-usecase-card{
    min-height:310px;
    background:#ffffff;
    border:1px solid rgba(16,33,58,0.10);
    box-shadow:0 24px 70px rgba(16,33,58,0.07);
}
.home-page .modern-usecase-card:nth-child(2){
    transform:translateY(24px);
}
.home-page .modern-usecase-card:nth-child(3){
    transform:translateY(48px);
}
@media (max-width:980px){
    .home-page .section-heading-row,
    .home-page .modern-overview-grid,
    .home-page .modern-audience-grid,
    .home-page .modern-usecase-grid{
        grid-template-columns:1fr 1fr !important;
    }
    .home-page .modern-overview-card.featured-card{
        grid-column:1 / -1;
    }
    .home-page .modern-usecase-card:nth-child(2),
    .home-page .modern-usecase-card:nth-child(3){
        transform:none;
    }
}
@media (max-width:640px){
    .home-page .section-heading-row,
    .home-page .modern-overview-grid,
    .home-page .modern-audience-grid,
    .home-page .modern-usecase-grid{
        grid-template-columns:1fr !important;
    }
    .home-page .modern-audience-card,
    .home-page .modern-usecase-card{
        min-height:auto;
    }
}

/* =========================================================
   Homepage subsection content restore + visibility fixes
   Scope: homepage Overview, Who We Serve, Sectors only
   ========================================================= */
.home-page .modern-overview-card.featured-card,
.home-page .modern-overview-card.featured-card h3,
.home-page .modern-overview-card.featured-card p,
.home-page .modern-overview-card.featured-card .modern-card-label{
    color:#ffffff !important;
}
.home-page .modern-overview-card.featured-card .modern-card-label{
    color:#8fcaff !important;
}
.home-page .source-overview-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
.home-page .source-overview-grid .modern-overview-card.featured-card{
    background:#10213a !important;
}
.home-page .modern-proof-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap:18px;
    margin-top:20px;
}
.home-page .modern-proof-card{
    border-radius:28px;
    padding:clamp(24px, 3vw, 38px);
    background:#ffffff;
    border:1px solid rgba(18,111,201,0.14);
    box-shadow:0 24px 70px rgba(16,33,58,0.07);
}
.home-page .modern-proof-card h3{
    margin:0 0 12px;
    color:#10213a;
    font-size:clamp(1.35rem, 2vw, 2.15rem);
    line-height:1.08;
    letter-spacing:-0.035em;
}
.home-page .modern-proof-card p{
    margin:0;
    color:#5f6f84;
    font-size:0.98rem;
    line-height:1.68;
}
.home-page .trust-card-modern{
    background:#10213a;
}
.home-page .trust-card-modern .modern-card-label{
    color:#8fcaff;
}
.home-page .trust-card-modern ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:16px;
}
.home-page .trust-card-modern li{
    color:#ffffff;
    font-size:0.98rem;
    line-height:1.5;
    padding-left:22px;
    position:relative;
}
.home-page .trust-card-modern li::before{
    content:"";
    position:absolute;
    left:0;
    top:0.62em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--brand-blue);
}
@media (max-width:980px){
    .home-page .source-overview-grid{
        grid-template-columns:1fr 1fr !important;
    }
    .home-page .modern-proof-grid{
        grid-template-columns:1fr !important;
    }
}
@media (max-width:640px){
    .home-page .source-overview-grid{
        grid-template-columns:1fr !important;
    }
}

/* =========================================================
   Hero polish + Trust Signal contrast fix
   Scope: homepage hero visual styling and trust card text only
   ========================================================= */
.home-page .home-copy{
    max-width:760px !important;
    transform:scale(0.92) !important;
    transform-origin:left center !important;
}

.home-page .home-eyebrow{
    display:inline-flex !important;
    align-items:center !important;
    width:max-content !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    color:#ffffff !important;
    background:rgba(16,33,58,0.22) !important;
    border:1px solid rgba(255,255,255,0.35) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    font-family:Inter, "Segoe UI", Arial, sans-serif !important;
    font-size:clamp(0.68rem, 0.72vw, 0.84rem) !important;
    font-weight:900 !important;
    letter-spacing:0.18em !important;
    line-height:1 !important;
    margin-bottom:18px !important;
}

.home-page .home-tagline{
    font-family:Inter, "Segoe UI", Arial, sans-serif !important;
    color:#ffffff !important;
    font-size:clamp(2.55rem, 5vw, 5.65rem) !important;
    line-height:0.96 !important;
    letter-spacing:-0.072em !important;
    font-weight:950 !important;
    margin-bottom:22px !important;
    max-width:790px !important;
}

.home-page .home-lead{
    font-family:Inter, "Segoe UI", Arial, sans-serif !important;
    color:rgba(255,255,255,0.96) !important;
    font-size:clamp(1rem, 1.22vw, 1.22rem) !important;
    line-height:1.58 !important;
    font-weight:600 !important;
    letter-spacing:-0.015em !important;
    max-width:760px !important;
    margin-bottom:28px !important;
}

.home-page .home-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-bottom:18px !important;
}

.home-page .home-actions .primary-cta,
.home-page .home-actions .secondary-cta{
    min-width:158px !important;
    border-radius:999px !important;
    padding:12px 20px !important;
    font-family:Inter, "Segoe UI", Arial, sans-serif !important;
    font-size:0.88rem !important;
    font-weight:900 !important;
    letter-spacing:-0.01em !important;
}

.home-page .home-actions .primary-cta{
    background:#126fc9 !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,0.34) !important;
    box-shadow:0 18px 40px rgba(0,48,112,0.24) !important;
}

.home-page .home-actions .secondary-cta{
    background:rgba(255,255,255,0.82) !important;
    color:#0d2c52 !important;
    border:1px solid rgba(255,255,255,0.62) !important;
    box-shadow:0 18px 40px rgba(0,48,112,0.12) !important;
}

.home-page .home-segments{
    gap:10px !important;
    max-width:900px !important;
}

.home-page .home-segments .segment-cta{
    border-radius:999px !important;
    padding:9px 17px !important;
    color:#0d2c52 !important;
    background:rgba(255,255,255,0.84) !important;
    border:1px solid rgba(255,255,255,0.62) !important;
    font-family:Inter, "Segoe UI", Arial, sans-serif !important;
    font-size:0.73rem !important;
    font-weight:950 !important;
    letter-spacing:0.12em !important;
    box-shadow:0 14px 34px rgba(0,48,112,0.12) !important;
}

.home-page .home-actions .primary-cta:hover,
.home-page .home-actions .secondary-cta:hover,
.home-page .home-segments .segment-cta:hover{
    transform:translateY(-3px) !important;
}

.home-page .trust-card-modern,
.home-page .trust-card-modern *{
    color:#ffffff !important;
}

.home-page .trust-card-modern .modern-card-label{
    color:#8fcaff !important;
}

.home-page .trust-card-modern li{
    color:#ffffff !important;
}

@media (max-width:1080px){
    .home-page .home-copy{
        transform:scale(0.88) !important;
    }
}

@media (max-width:760px){
    .home-page .home-copy{
        transform:none !important;
    }
    .home-page .home-actions .primary-cta,
    .home-page .home-actions .secondary-cta{
        min-width:0 !important;
        flex:1 1 160px !important;
    }
}


/* =========================================================
   Modern detail page redesigns
   Scope: About Us, Pro-Solution, Core Module, How & Tech only
   ========================================================= */
.about-page,
.pro-solution-page,
.core-modules-page,
.how-page{
    background:#f5f8fc !important;
    color:#10213a !important;
}
.about-page .global-topbar,
.pro-solution-page .global-topbar,
.core-modules-page .global-topbar,
.how-page .global-topbar{
    background:rgba(255,255,255,0.96) !important;
    border-bottom:1px solid rgba(16,33,58,0.08) !important;
    box-shadow:0 8px 28px rgba(16,33,58,0.06) !important;
}
.about-page .global-top-row,
.pro-solution-page .global-top-row,
.core-modules-page .global-top-row,
.how-page .global-top-row{
    justify-content:space-between !important;
}
.about-page .home-nav-pills,
.pro-solution-page .home-nav-pills,
.core-modules-page .home-nav-pills,
.how-page .home-nav-pills{
    margin-left:auto !important;
    justify-content:flex-end !important;
}
.modern-detail-page{
    padding-top:88px;
    background:
        radial-gradient(circle at 12% 4%, rgba(18,111,201,0.13), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #eef5fb 45%, #ffffff 100%);
    min-height:calc(100vh - 88px);
}
.modern-detail-hero{
    padding:clamp(70px, 7vw, 110px) 0 clamp(84px, 8vw, 130px);
}
.modern-detail-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(320px, 0.72fr);
    gap:clamp(34px, 6vw, 78px);
    align-items:center;
}
.modern-detail-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    color:var(--brand-blue, #126fc9);
    font-size:0.76rem;
    font-weight:900;
    letter-spacing:0.18em;
    text-transform:uppercase;
}
.modern-detail-kicker::before{
    content:"";
    width:34px;
    height:2px;
    background:var(--brand-blue, #126fc9);
    border-radius:999px;
}
.modern-detail-copy h1,
.modern-detail-heading h1{
    margin:0;
    max-width:980px;
    color:#10213a;
    font-size:clamp(2.35rem, 5vw, 5.4rem);
    line-height:0.98;
    letter-spacing:-0.055em;
    font-weight:900;
}
.modern-detail-heading{
    max-width:1080px;
    margin-bottom:clamp(38px, 5vw, 68px);
}
.modern-detail-heading p,
.modern-detail-body p,
.modern-statement-card p,
.modern-info-card p,
.modern-bottom-note p{
    color:#5f6f84;
    font-size:clamp(0.98rem, 1.15vw, 1.12rem);
    line-height:1.72;
}
.modern-detail-heading p{
    max-width:720px;
    margin:22px 0 0;
}
.modern-detail-body{
    margin-top:28px;
    max-width:820px;
    display:grid;
    gap:18px;
}
.modern-detail-body strong{
    color:#10213a;
}
.modern-pie-panel{
    position:relative;
}
.modern-pie-card{
    background:#ffffff;
    border:1px solid rgba(16,33,58,0.10);
    border-radius:34px;
    padding:clamp(24px, 3.4vw, 42px);
    box-shadow:0 32px 90px rgba(16,33,58,0.12);
}
.modern-pie-card img{
    width:100%;
    display:block;
    border-radius:26px;
}
.modern-split-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:clamp(46px, 6vw, 76px);
}
.modern-statement-card,
.modern-info-card,
.modern-bottom-note{
    position:relative;
    background:#ffffff;
    border:1px solid rgba(16,33,58,0.10);
    border-radius:30px;
    padding:clamp(24px, 3vw, 40px);
    box-shadow:0 26px 80px rgba(16,33,58,0.08);
    overflow:hidden;
}
.modern-statement-card::after,
.modern-info-card::after,
.modern-bottom-note::after{
    content:"";
    position:absolute;
    inset:auto 26px 0 26px;
    height:4px;
    border-radius:999px 999px 0 0;
    background:var(--brand-blue, #126fc9);
}
.dark-statement-card{
    background:#10213a;
    border-color:rgba(255,255,255,0.12);
}
.dark-statement-card .modern-detail-kicker,
.dark-statement-card h2,
.dark-statement-card p{
    color:#ffffff !important;
}
.dark-statement-card .modern-detail-kicker::before{
    background:#ffffff;
}
.dark-statement-card p{
    opacity:0.82;
}
.modern-statement-card h2,
.modern-card-heading h2{
    margin:0 0 16px;
    color:#10213a;
    font-size:clamp(1.65rem, 3vw, 3rem);
    line-height:1.05;
    letter-spacing:-0.045em;
    font-weight:900;
}
.modern-card-section{
    margin-top:clamp(46px, 6vw, 80px);
}
.compact-card-section{
    margin-top:32px;
}
.modern-card-heading{
    display:grid;
    grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.1fr);
    align-items:end;
    gap:28px;
    margin-bottom:24px;
}
.modern-card-heading .modern-detail-kicker{
    margin-bottom:0;
}
.modern-three-grid,
.modern-module-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}
.modern-module-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}
.modern-info-card span,
.modern-workflow-strip article span{
    display:inline-flex;
    margin-bottom:34px;
    color:var(--brand-blue, #126fc9);
    font-size:0.78rem;
    font-weight:900;
    letter-spacing:0.16em;
    text-transform:uppercase;
}
.modern-info-card h3,
.modern-workflow-strip article h3{
    margin:0 0 12px;
    color:#10213a;
    font-size:clamp(1.18rem, 1.85vw, 1.78rem);
    line-height:1.08;
    letter-spacing:-0.035em;
    font-weight:900;
}
.modern-info-card p{
    margin:0;
}
.muted-card{
    background:#f7fbff;
}
.modern-bottom-note{
    margin-top:28px;
    background:#10213a;
}
.modern-bottom-note p{
    margin:0;
    color:#ffffff;
    opacity:0.86;
}
.modern-workflow-strip{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:14px;
    margin-bottom:28px;
}
.modern-workflow-strip article{
    position:relative;
    min-height:180px;
    background:#ffffff;
    border:1px solid rgba(16,33,58,0.10);
    border-radius:28px;
    padding:28px;
    box-shadow:0 24px 70px rgba(16,33,58,0.07);
}
.modern-workflow-strip article::after{
    content:"";
    position:absolute;
    right:-12px;
    top:50%;
    width:24px;
    height:2px;
    background:rgba(18,111,201,0.35);
}
.modern-workflow-strip article:last-child::after{
    display:none;
}
.tech-modern-section{
    margin-top:clamp(48px, 6vw, 78px);
}
.modern-tech-grid{
    display:grid;
    grid-template-columns:1.22fr 0.92fr 0.92fr;
    gap:18px;
}
.architecture-modern-card{
    grid-row:span 2;
    background:#10213a;
}
.architecture-modern-card span,
.architecture-modern-card h3,
.architecture-modern-card p{
    color:#ffffff !important;
}
.architecture-modern-card p{
    opacity:0.84;
}
.about-page .footer,
.pro-solution-page .footer,
.core-modules-page .footer,
.how-page .footer{
    margin-top:0 !important;
}
@media (max-width:980px){
    .modern-detail-grid,
    .modern-split-grid,
    .modern-card-heading,
    .modern-three-grid,
    .modern-module-grid,
    .modern-tech-grid{
        grid-template-columns:1fr;
    }
    .modern-workflow-strip{
        grid-template-columns:1fr 1fr;
    }
    .modern-workflow-strip article::after{
        display:none;
    }
    .architecture-modern-card{
        grid-row:auto;
    }
}
@media (max-width:640px){
    .modern-detail-page{
        padding-top:76px;
    }
    .modern-workflow-strip{
        grid-template-columns:1fr;
    }
    .modern-detail-copy h1,
    .modern-detail-heading h1{
        font-size:2.35rem;
    }
}

/* =========================================================
   Readability fixes for dark modern detail notes
   Scope: Core Module + How & Tech dark panels only
   ========================================================= */
.core-modules-page .modern-bottom-note,
.how-page .modern-bottom-note,
.how-page .workflow-note-modern{
    background:#10213a !important;
    color:#ffffff !important;
}
.core-modules-page .modern-bottom-note p,
.how-page .modern-bottom-note p,
.how-page .workflow-note-modern p,
.how-page .tech-modern-section .modern-card-heading h2,
.how-page .tech-modern-section .modern-card-heading .modern-detail-kicker{
    color:#ffffff !important;
}
.core-modules-page .modern-bottom-note p,
.how-page .modern-bottom-note p,
.how-page .workflow-note-modern p{
    opacity:0.88 !important;
}
.how-page .tech-modern-section .modern-card-heading{
    color:#ffffff !important;
}

/* How & Tech heading contrast fix */
.how-page .tech-modern-section .modern-card-heading h2{
    color:#10213a !important;
}
.how-page .tech-modern-section .modern-card-heading .modern-detail-kicker{
    color:var(--brand-blue, #126fc9) !important;
}
.how-page .tech-modern-section .modern-card-heading .modern-detail-kicker::before{
    background:var(--brand-blue, #126fc9) !important;
}


/* Modern redesign for contact and sector detail pages */
.contact-redesign-body,
.exporter-redesign-body,
.importer-redesign-body,
.eca-redesign-body,
.investor-redesign-body,
.guarantor-redesign-body{
    background:linear-gradient(180deg,#f9fcff 0%, #eef4fb 48%, #ffffff 100%);
    color:#10213a;
}
.contact-redesign-body .brand-e,
.exporter-redesign-body .brand-e,
.importer-redesign-body .brand-e,
.eca-redesign-body .brand-e,
.investor-redesign-body .brand-e,
.guarantor-redesign-body .brand-e{ color:#126fc9; }
.role-hero-grid,
.contact-hero-grid{
    align-items:stretch;
}
.role-summary-card,
.contact-summary-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.role-summary-card h2,
.contact-summary-card h2,
.contact-form-modern-card h2{
    margin:0 0 14px;
    color:#10213a;
    font-size:clamp(1.45rem,2.1vw,2.1rem);
    line-height:1.08;
    letter-spacing:-0.04em;
    font-weight:900;
}
.role-quick-stack{
    display:grid;
    gap:14px;
}
.role-quick-row{
    padding-top:14px;
    border-top:1px solid rgba(16,33,58,0.12);
}
.role-quick-row:first-child{ padding-top:0; border-top:0; }
.role-quick-row strong{
    display:block;
    margin-bottom:4px;
    color:#126fc9;
    font-size:0.82rem;
    font-weight:900;
    letter-spacing:0.14em;
    text-transform:uppercase;
}
.role-quick-row p,
.contact-modern-list li,
.modern-list-card li,
.contact-modern-form input,
.contact-modern-form select,
.contact-modern-form textarea,
.contact-modern-label,
.contact-link-pills a{
    font-size:0.98rem;
}
.modern-list-card ul{
    margin:0;
    padding-left:20px;
    color:#5f6f84;
    display:grid;
    gap:10px;
}
.modern-list-card li{
    color:#5f6f84;
    line-height:1.7;
}
.role-detail-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.role-span-2{ grid-column:span 2; }
.role-span-3{ grid-column:1 / -1; }
.modern-role-actions{
    margin-top:28px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.role-disclaimer{
    margin-top:24px;
}
.contact-modern-grid{
    display:grid;
    grid-template-columns:minmax(0,1.22fr) minmax(280px,0.78fr);
    gap:18px;
    align-items:start;
}
.contact-form-modern-card{
    background:#ffffff;
}
.contact-modern-form{
    display:grid;
    gap:16px;
}
.contact-modern-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.contact-modern-field-grid select{
    grid-column:1 / -1;
}
.contact-modern-form input,
.contact-modern-form select,
.contact-modern-form textarea{
    width:100%;
    border:1px solid rgba(16,33,58,0.12);
    background:#f8fbff;
    color:#10213a;
    border-radius:18px;
    padding:14px 16px;
    outline:none;
    font-family:inherit;
}
.contact-modern-form textarea{
    min-height:150px;
    resize:vertical;
}
.contact-modern-form input::placeholder,
.contact-modern-form textarea::placeholder{ color:#7d8b9b; }
.contact-modern-form select{ color:#10213a; }
.contact-modern-label{
    color:#10213a;
    font-weight:700;
    margin-top:4px;
}
.contact-side-stack{
    display:grid;
    gap:18px;
}
.contact-modern-list{
    margin:0;
    padding-left:20px;
    display:grid;
    gap:10px;
    color:#5f6f84;
}
.contact-link-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}
.contact-link-pills a{
    display:inline-flex;
    align-items:center;
    padding:8px 12px;
    border-radius:999px;
    text-decoration:none;
    color:#126fc9;
    background:#eef5fb;
    border:1px solid rgba(18,111,201,0.14);
    font-weight:700;
}
@media (max-width: 1000px){
    .role-detail-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .role-span-3{ grid-column:1 / -1; }
    .contact-modern-grid,
    .contact-modern-field-grid{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
    .role-detail-grid,
    .modern-three-grid{ grid-template-columns:1fr; }
    .role-span-2,
    .role-span-3{ grid-column:auto; }
}

/* Disclaimer contrast fix only */
.role-disclaimer,
.role-disclaimer p,
.role-disclaimer strong {
    color: #ffffff !important;
}
.role-disclaimer {
    background: #10213a !important;
}


/* Auth and signup visual redesign only - no backend/auth flow changes */
.signup-shell{
    min-height:calc(100vh - 88px);
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:clamp(70px, 8vw, 115px) 20px 90px;
    background:
        radial-gradient(circle at 18% 8%, rgba(18,111,201,0.14), transparent 30%),
        radial-gradient(circle at 90% 20%, rgba(92,141,190,0.14), transparent 34%),
        linear-gradient(180deg,#f8fbff 0%, #eef5fb 48%, #ffffff 100%);
}
.signup-card{
    width:min(980px, 100%);
    background:rgba(255,255,255,0.92) !important;
    border:1px solid rgba(16,33,58,0.10) !important;
    border-radius:32px !important;
    padding:clamp(28px, 4vw, 54px) !important;
    box-shadow:0 32px 90px rgba(16,33,58,0.12) !important;
    position:relative;
    overflow:hidden;
}
.signup-card::before{
    content:"";
    position:absolute;
    left:clamp(28px, 4vw, 54px);
    top:0;
    width:120px;
    height:5px;
    background:#126fc9;
    border-radius:0 0 999px 999px;
}
.signup-card h1{
    color:#10213a !important;
    font-size:clamp(2.1rem, 4vw, 4.2rem);
    line-height:0.98;
    letter-spacing:-0.055em;
    font-weight:900;
    margin:0 0 14px !important;
}
.signup-card > p{
    color:#5f6f84;
    font-size:1.04rem;
    max-width:560px;
    margin-bottom:28px;
}
.signup-form{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px !important;
    margin-top:18px !important;
}
.signup-form .form-row{
    display:flex;
    flex-direction:column !important;
    gap:7px;
    margin:0;
}
.signup-form .form-row label{
    color:#10213a;
    font-size:0.78rem;
    font-weight:900;
    letter-spacing:0.11em;
    text-transform:uppercase;
}
.signup-form input,
.signup-form select{
    width:100%;
    min-height:48px;
    border:1px solid rgba(16,33,58,0.13);
    border-radius:16px;
    background:#f8fbff;
    color:#10213a;
    padding:12px 14px;
    font:inherit;
    outline:none;
    transition:border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.signup-form input:focus,
.signup-form select:focus{
    border-color:rgba(18,111,201,0.55);
    box-shadow:0 0 0 4px rgba(18,111,201,0.10);
    background:#ffffff;
}
.signup-form .checkbox{
    grid-column:1 / -1;
    flex-direction:row !important;
    align-items:center;
    gap:10px;
    margin-top:2px;
    color:#5f6f84;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
}
.signup-form .checkbox input{
    width:18px;
    min-height:18px;
    height:18px;
    accent-color:#126fc9;
}
.signup-form .checkbox span,
.signup-form .checkbox label{
    color:#5f6f84;
    font-size:0.98rem;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
}
.signup-actions{
    grid-column:1 / -1;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:10px;
}
.signup-actions .primary-cta,
.signup-actions .secondary-link{
    min-height:48px;
    border-radius:16px;
    padding:13px 20px;
}
.signup-actions .primary-cta{
    box-shadow:0 16px 34px rgba(18,111,201,0.22);
}
#signupStatus{
    grid-column:1 / -1;
    color:#5f6f84;
    font-weight:700;
    margin-top:8px;
}

/* Login modal: visual redesign and bottom-to-center slide-in animation only */
.modal{
    background:rgba(16,33,58,0.58) !important;
    backdrop-filter:blur(8px);
}
.modal-content{
    max-width:540px !important;
    margin:0 auto !important;
    position:relative;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,0.96) !important;
    color:#10213a !important;
    border:1px solid rgba(16,33,58,0.10) !important;
    border-radius:30px !important;
    box-shadow:0 34px 100px rgba(16,33,58,0.24) !important;
    overflow:hidden;
    animation:authSlideUp 360ms cubic-bezier(.2,.85,.2,1) both;
}
@keyframes authSlideUp{
    from{
        opacity:0;
        transform:translateY(calc(-50% + 90px)) scale(0.98);
    }
    to{
        opacity:1;
        transform:translateY(-50%) scale(1);
    }
}
.modal-content::before{
    content:"";
    position:absolute;
    left:32px;
    top:0;
    width:96px;
    height:5px;
    background:#126fc9;
    border-radius:0 0 999px 999px;
}
.close{
    color:#5f6f84 !important;
    font-weight:700;
    padding:22px 24px !important;
}
.login-container{
    padding:clamp(30px, 4vw, 46px) !important;
}
.login-container h2{
    color:#10213a !important;
    font-size:clamp(2rem, 3vw, 3rem);
    line-height:1;
    letter-spacing:-0.05em;
    font-weight:900;
    margin:0 0 12px !important;
}
.login-subtitle{
    color:#5f6f84 !important;
    font-size:1.02rem;
    margin-bottom:24px !important;
}
.login-form{
    display:grid;
    gap:16px;
}
.login-form .form-group{
    margin:0 !important;
}
.login-form .form-group label{
    display:block;
    color:#10213a;
    font-size:0.78rem;
    font-weight:900;
    letter-spacing:0.11em;
    text-transform:uppercase;
    margin-bottom:7px;
}
.login-form .form-group input{
    width:100%;
    min-height:50px;
    border:1px solid rgba(16,33,58,0.13) !important;
    border-radius:16px !important;
    background:#f8fbff !important;
    color:#10213a !important;
    padding:12px 14px !important;
    font:inherit;
    outline:none;
    transition:border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.login-form .form-group input:focus{
    border-color:rgba(18,111,201,0.55) !important;
    box-shadow:0 0 0 4px rgba(18,111,201,0.10);
    background:#ffffff !important;
}
.login-form .submit-btn,
.login-form .auth-alt-btn{
    width:max-content;
    min-width:130px;
    min-height:48px;
    border-radius:16px !important;
    padding:13px 20px !important;
    font-weight:900 !important;
}
.login-form .submit-btn{
    background:#126fc9 !important;
    color:#ffffff !important;
    box-shadow:0 16px 34px rgba(18,111,201,0.24);
}
.login-form .auth-alt-btn{
    background:#f8fbff !important;
    color:#10213a !important;
    border:1px solid rgba(16,33,58,0.13) !important;
    margin-top:0 !important;
}
.login-form .auth-status{
    color:#5f6f84 !important;
}
.login-form .auth-status[data-state="error"]{
    color:#b4234b !important;
}
.login-form .auth-status[data-state="ok"]{
    color:#157347 !important;
}
@media (max-width: 720px){
    .signup-form{
        grid-template-columns:1fr;
    }
    .modal-content{
        width:calc(100% - 28px) !important;
    }
}

/* Sector registration link in login modal */
.sector-register-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}


/* Home dropdown hover-gap fix */
.home-dropdown{
    position:relative;
    padding-bottom:14px;
    margin-bottom:-14px;
}
.home-dropdown-menu{
    top:calc(100% - 4px);
}
.home-dropdown-menu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
}

/* =========================================================
   Admin + User Portal Visual Fix
   Scope: admin console pages and logged-in user dashboard only.
   Keeps page content and Firebase/backend scripts untouched.
   ========================================================= */
html,
body{
    background:#ffffff !important;
}

.admin-topbar.utility-nav,
.top-nav{
    background:rgba(255,255,255,0.97) !important;
    color:var(--brand-navy) !important;
    border-bottom:1px solid rgba(16,33,58,0.10) !important;
    box-shadow:0 10px 32px rgba(16,33,58,0.07) !important;
    backdrop-filter:blur(12px);
}

.admin-topbar .utility-content,
.top-nav-inner{
    min-height:68px;
}

.admin-topbar .utility-left{
    color:var(--brand-navy) !important;
    font-weight:900;
    letter-spacing:0.02em;
}

.admin-nav-links,
.top-nav-links{
    gap:10px !important;
    flex-wrap:wrap;
}

.admin-nav-link,
.top-nav-links .secondary-link{
    color:var(--brand-navy) !important;
    background:#ffffff !important;
    border:1px solid rgba(15,110,201,0.18) !important;
    border-radius:999px !important;
    padding:9px 15px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:none !important;
}

.admin-nav-link:hover,
.admin-nav-link:focus-visible,
.top-nav-links .secondary-link:hover,
.top-nav-links .secondary-link:focus-visible{
    color:var(--brand-blue) !important;
    background:var(--brand-soft-blue) !important;
    border-color:rgba(15,110,201,0.34) !important;
}

.admin-nav-link.active{
    color:#ffffff !important;
    background:var(--brand-blue) !important;
    border-color:var(--brand-blue) !important;
}

.admin-shell,
.user-data-shell{
    max-width:1180px !important;
    min-height:calc(100vh - 70px);
    background:#ffffff !important;
    padding-top:72px !important;
    padding-bottom:76px !important;
}

.admin-card,
.user-data-card{
    background:#ffffff !important;
    color:var(--brand-ink) !important;
    border:1px solid var(--brand-line) !important;
    border-radius:18px !important;
    box-shadow:0 22px 60px rgba(15,39,70,0.10) !important;
    padding:clamp(24px, 4vw, 42px) !important;
}

.admin-card h1,
.user-data-card h1{
    color:var(--brand-navy) !important;
    font-size:clamp(2rem, 3.8vw, 3.25rem) !important;
    line-height:1.05 !important;
    margin:0 0 12px !important;
    letter-spacing:-0.04em;
}

.admin-card h1::after,
.user-data-card h1::after{
    content:"";
    display:block;
    width:72px;
    height:3px;
    margin-top:14px;
    background:var(--brand-blue);
    border-radius:999px;
}

.admin-card h2,
.admin-card h3,
.user-data-card h2,
.user-data-card h3,
.equipment-list-wrap h2,
.equipment-detail-card h2{
    color:var(--brand-navy) !important;
}

.admin-card p,
.admin-card li,
.admin-card label,
.admin-card strong,
.user-data-card p,
.user-data-card li,
.user-data-card label,
.user-data-card strong,
.equipment-empty,
.upload-status{
    color:var(--brand-muted) !important;
}

.auth-status,
.user-data-status,
#adminStatus,
#overviewStatus,
#inquiryStatus,
#postsStatus,
#usersStatus,
#pageStatus{
    color:var(--brand-muted) !important;
    font-weight:700;
}

.auth-status[data-state="error"],
.user-data-status[data-state="error"]{
    color:#b4234b !important;
}

.auth-status[data-state="ok"],
.user-data-status[data-state="ok"]{
    color:#157347 !important;
}

.admin-grid,
.admin-overview-grid,
.equipment-list,
.equipment-details-grid,
.user-data-grid{
    gap:16px !important;
}

.admin-account-card,
.admin-overview-card,
.marketplace-post,
.equipment-bubble,
.equipment-detail-card,
.equipment-file-item,
.upload-item{
    background:#ffffff !important;
    color:var(--brand-ink) !important;
    border:1px solid var(--brand-line) !important;
    border-radius:16px !important;
    box-shadow:0 12px 36px rgba(16,33,58,0.06) !important;
}

.admin-account-card,
.admin-overview-card,
.marketplace-post,
.equipment-detail-card,
.equipment-file-item,
.upload-item{
    padding:16px !important;
}

.equipment-bubble{
    padding:14px 16px !important;
}

.admin-account-card p,
.admin-overview-card p,
.marketplace-post p,
.equipment-bubble p,
.equipment-detail-card p,
.equipment-file-item p,
.upload-item p,
.marketplace-post-description,
.marketplace-post-owner,
.equipment-file-name{
    color:var(--brand-muted) !important;
}

.equipment-bubble-title,
.admin-overview-value{
    color:var(--brand-navy) !important;
    font-weight:900 !important;
}

.admin-overview-value{
    font-size:clamp(2rem, 4vw, 3rem) !important;
}

.user-data-header,
.admin-header,
.equipment-actions{
    align-items:center !important;
    gap:14px !important;
}

.user-panel .secondary-link,
.user-panel .secondary-cta,
.admin-card .secondary-cta,
.admin-card .secondary-link,
.equipment-actions .secondary-cta,
.equipment-actions .secondary-link,
#saveEquipmentBtn,
.marketplace-post .secondary-cta,
.equipment-bubble .secondary-cta{
    color:var(--brand-blue) !important;
    background:#ffffff !important;
    border:1px solid rgba(15,110,201,0.28) !important;
    border-radius:12px !important;
    padding:10px 15px !important;
    font-weight:800 !important;
    box-shadow:none !important;
}

.user-panel .secondary-link:hover,
.user-panel .secondary-cta:hover,
.admin-card .secondary-cta:hover,
.admin-card .secondary-link:hover,
.equipment-actions .secondary-cta:hover,
.equipment-actions .secondary-link:hover,
.marketplace-post .secondary-cta:hover,
.equipment-bubble .secondary-cta:hover{
    color:var(--brand-blue) !important;
    background:var(--brand-soft-blue) !important;
    border-color:var(--brand-blue) !important;
}

.primary-cta.admin-approve-btn,
#saveEquipmentBtn,
.upload-btn,
.logout-btn.top-logout-btn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border:1px solid var(--brand-blue) !important;
    border-radius:12px !important;
    box-shadow:0 12px 26px rgba(15,110,201,0.20) !important;
}

.primary-cta.admin-approve-btn:hover,
#saveEquipmentBtn:hover,
.upload-btn:hover,
.logout-btn.top-logout-btn:hover{
    background:#0b5cad !important;
    border-color:#0b5cad !important;
}

.danger-cta,
.admin-post-actions .danger-cta,
#deleteListingBtn{
    background:#ffffff !important;
    color:#b4234b !important;
    border:1px solid rgba(180,35,75,0.34) !important;
    border-radius:12px !important;
    font-weight:800 !important;
    box-shadow:none !important;
}

.danger-cta:hover,
.admin-post-actions .danger-cta:hover,
#deleteListingBtn:hover{
    background:#fff1f4 !important;
    border-color:#b4234b !important;
}

.user-data-card input,
.user-data-card select,
.user-data-card textarea,
#equipmentDescription{
    background:#f8fbff !important;
    color:var(--brand-navy) !important;
    border:1px solid rgba(16,33,58,0.14) !important;
    border-radius:14px !important;
}

.user-data-card input:focus,
.user-data-card select:focus,
.user-data-card textarea:focus,
#equipmentDescription:focus{
    border-color:rgba(15,110,201,0.55) !important;
    box-shadow:0 0 0 4px rgba(15,110,201,0.10) !important;
    outline:none !important;
    background:#ffffff !important;
}

.upload-btn{
    display:flex !important;
    min-height:48px;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.upload-status[data-state="ok"]{
    color:#157347 !important;
}

.panel-hidden{
    display:none !important;
}

@media (max-width: 720px){
    .admin-topbar .utility-content,
    .top-nav-inner,
    .admin-header,
    .user-data-header,
    .equipment-actions{
        align-items:flex-start !important;
        flex-direction:column !important;
    }

    .admin-nav-links,
    .top-nav-links{
        width:100%;
    }

    .admin-nav-link,
    .top-nav-links .secondary-link{
        width:100%;
        justify-content:center;
        text-align:center;
    }

    .admin-shell,
    .user-data-shell{
        padding-top:34px !important;
        padding-left:16px !important;
        padding-right:16px !important;
    }
}


/* =========================================================
   Admin/User Visual Fix v2
   - Keep Firebase/backend scripts untouched.
   - Move admin Sign Out into the top menu visually.
   - Make upload labels/status text clearly readable.
   ========================================================= */
.admin-signout-btn{
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    min-height:40px !important;
    padding:9px 16px !important;
    font:inherit !important;
    font-weight:900 !important;
    text-decoration:none !important;
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border:1px solid var(--brand-blue) !important;
    border-radius:999px !important;
    box-shadow:0 12px 26px rgba(15,110,201,0.20) !important;
}

.admin-signout-btn:hover,
.admin-signout-btn:focus-visible{
    background:#0b5cad !important;
    color:#ffffff !important;
    border-color:#0b5cad !important;
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(15,110,201,0.25) !important;
}

.upload-item{
    background:linear-gradient(180deg, #102b4d 0%, #0d223d 100%) !important;
    border-color:rgba(255,255,255,0.16) !important;
    box-shadow:0 14px 36px rgba(16,33,58,0.12) !important;
}

.user-data-card label.upload-btn,
.user-data-card .upload-item p,
.user-data-card .upload-status,
.user-data-card .upload-status[data-state="ok"]{
    color:#ffffff !important;
}

.user-data-card label.upload-btn{
    background:var(--brand-blue) !important;
    border-color:var(--brand-blue) !important;
}

.user-data-card label.upload-btn:hover,
.user-data-card label.upload-btn:focus-visible{
    background:#0b5cad !important;
    border-color:#0b5cad !important;
}

@media (max-width: 720px){
    .admin-signout-btn{
        width:100% !important;
    }
}


/* =========================================================
   User Portal Visual Fix v3
   - White upload cards with legible text.
   - Shared top account menu on upload/details pages.
   ========================================================= */
.top-nav-links a.secondary-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.user-data-card .upload-item{
    background:#ffffff !important;
    color:var(--brand-ink) !important;
    border:1px solid var(--brand-line) !important;
    box-shadow:0 12px 36px rgba(16,33,58,0.06) !important;
}

.user-data-card .upload-item p,
.user-data-card .upload-status{
    color:var(--brand-muted) !important;
    font-weight:800 !important;
}

.user-data-card .upload-status[data-state="ok"]{
    color:#157347 !important;
}

.user-data-card label.upload-btn{
    color:#ffffff !important;
}

@media (max-width: 720px){
    .top-logout-btn{
        width:100% !important;
    }
}


/* =========================================================
   User Portal Visual Fix v4
   - Match standalone upload/details top menu sizing to the
     main logged-in dashboard menu.
   - Visual-only; Firebase/backend scripts untouched.
   ========================================================= */
.compact-account-page .top-nav-inner{
    padding:12px 20px !important;
}

.compact-account-page .top-nav-links .secondary-link,
.compact-account-page .logout-btn.top-logout-btn{
    font-size:13.3333px !important;
    line-height:normal !important;
    min-height:0 !important;
    height:auto !important;
    padding:9px 14px !important;
    font-weight:800 !important;
}

.compact-account-page .top-nav-links{
    gap:10px !important;
}


/* =========================================================
   Admin/User Navigation Fix v5
   - Adds homepage-style logo/navigation alignment to account/admin pages.
   - Adds logged-in homepage visual state.
   - Visual/navigation only; existing Firebase data flows remain untouched.
   ========================================================= */
.portal-logo-link{
    display:inline-flex !important;
    align-items:center !important;
    width:max-content !important;
    text-decoration:none !important;
    line-height:0 !important;
    flex:0 0 auto !important;
}
.portal-main-logo{
    display:block !important;
    width:155px !important;
    max-width:155px !important;
    height:auto !important;
}
.account-topbar.top-nav,
.admin-topbar.utility-nav{
    background:rgba(255,255,255,0.97) !important;
    color:var(--brand-navy) !important;
    border-bottom:1px solid rgba(16,33,58,0.10) !important;
    box-shadow:0 10px 32px rgba(16,33,58,0.07) !important;
    backdrop-filter:blur(12px) !important;
}
.account-top-row.top-nav-inner{
    max-width:100% !important;
    min-height:70px !important;
    margin:0 !important;
    padding:10px clamp(20px, 4vw, 58px) !important;
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    align-items:center !important;
    gap:24px !important;
}
.account-nav-links.top-nav-links{
    justify-content:flex-end !important;
    justify-self:end !important;
    margin-left:auto !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}
.account-nav-links .secondary-link,
.account-nav-links .top-logout-btn{
    min-height:0 !important;
    height:auto !important;
    font-size:0.86rem !important;
    line-height:1.15 !important;
    padding:8px 15px !important;
    border-radius:999px !important;
    font-weight:800 !important;
}
.admin-header-nav.utility-content{
    max-width:100% !important;
    min-height:70px !important;
    padding:10px clamp(20px, 4vw, 58px) !important;
    display:grid !important;
    grid-template-columns:auto auto 1fr !important;
    align-items:center !important;
    gap:20px !important;
}
.admin-console-title.utility-left{
    margin-left:8px !important;
    white-space:nowrap !important;
    color:var(--brand-navy) !important;
    font-weight:900 !important;
}
.admin-header-nav .admin-nav-links{
    justify-content:flex-end !important;
    justify-self:end !important;
    margin-left:auto !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}
.admin-header-nav .admin-nav-link,
.admin-header-nav .admin-signout-btn{
    font-size:0.86rem !important;
    line-height:1.15 !important;
    padding:8px 15px !important;
}
.home-authenticated .home-segments{
    display:none !important;
}
.home-authenticated .home-exchange-btn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border-color:var(--brand-blue) !important;
}
.home-authenticated #homeLoginActionBtn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border-color:var(--brand-blue) !important;
}
@media (max-width: 860px){
    .account-top-row.top-nav-inner,
    .admin-header-nav.utility-content{
        grid-template-columns:1fr !important;
        justify-items:start !important;
        gap:12px !important;
    }
    .account-nav-links.top-nav-links,
    .admin-header-nav .admin-nav-links{
        justify-self:stretch !important;
        justify-content:flex-start !important;
    }
}
@media (max-width: 720px){
    .account-nav-links .secondary-link,
    .account-nav-links .top-logout-btn,
    .admin-header-nav .admin-nav-link,
    .admin-header-nav .admin-signout-btn{
        width:auto !important;
    }
}


/* v7: site-built logout modal + no-flash authenticated navigation */
body.auth-checking #homeLoginActionBtn,
body.auth-checking #homeSegments {
    visibility: hidden;
}

body.auth-checking .home-exchange-btn {
    visibility: visible;
}

body.site-confirm-open {
    overflow: hidden;
}

.site-confirm-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(2, 8, 23, 0.72);
    backdrop-filter: blur(10px);
}

.site-confirm-overlay[hidden] {
    display: none !important;
}

.site-confirm-dialog {
    width: min(440px, 100%);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 24px;
    padding: 30px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 28px 80px rgba(2, 8, 23, 0.32);
    color: #0f172a;
    text-align: center;
}

.site-confirm-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 14px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #0b63ce;
    color: #ffffff;
    font-weight: 900;
    font-size: 24px;
    line-height: 1;
}

.site-confirm-dialog h2 {
    margin: 0 0 10px;
    font-size: 1.45rem;
    color: #0f172a;
}

.site-confirm-dialog p {
    margin: 0;
    color: #475569;
    line-height: 1.55;
}

.site-confirm-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.site-confirm-cancel,
.site-confirm-proceed {
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.site-confirm-cancel {
    background: #e2e8f0;
    color: #0f172a;
}

.site-confirm-proceed {
    background: #0b63ce;
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(11, 99, 206, 0.24);
}

.site-confirm-cancel:hover,
.site-confirm-proceed:hover {
    transform: translateY(-1px);
}

.site-confirm-cancel:focus-visible,
.site-confirm-proceed:focus-visible {
    outline: 3px solid rgba(11, 99, 206, 0.28);
    outline-offset: 3px;
}

@media (max-width: 560px) {
    .site-confirm-dialog {
        padding: 24px 18px;
    }

    .site-confirm-actions {
        flex-direction: column-reverse;
    }

    .site-confirm-cancel,
    .site-confirm-proceed {
        width: 100%;
    }
}


/* =========================================================
   Admin/User Navigation + Public Auth No-Flicker Fix v8
   - Keeps the public panel button visible while auth confirms.
   - Makes user portal navigation match admin portal navigation.
   - Adds profile summary card styling.
   ========================================================= */
html.tradexim-cached-signed-in #homeSegments{
    visibility:hidden !important;
}

html.tradexim-cached-signed-in body.auth-checking #homeLoginActionBtn{
    visibility:visible !important;
}

html.tradexim-cached-signed-in .home-exchange-btn,
body.home-authenticated .home-exchange-btn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border-color:var(--brand-blue) !important;
}

.account-nav-links.top-nav-links{
    justify-content:flex-end !important;
    justify-self:end !important;
    margin-left:auto !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.account-nav-links .account-nav-link.admin-nav-link,
.account-nav-links button.account-nav-link.admin-nav-link{
    appearance:none !important;
    -webkit-appearance:none !important;
    border:1px solid rgba(15,110,201,0.18) !important;
    background:#ffffff !important;
    color:var(--brand-navy) !important;
    text-decoration:none !important;
    border-radius:999px !important;
    font-size:0.86rem !important;
    line-height:1.15 !important;
    padding:8px 15px !important;
    font-weight:800 !important;
    min-height:0 !important;
    height:auto !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

.account-nav-links .account-nav-link.admin-nav-link:hover,
.account-nav-links .account-nav-link.admin-nav-link:focus-visible{
    background:var(--brand-soft-blue) !important;
    color:var(--brand-blue) !important;
    border-color:rgba(15,110,201,0.38) !important;
}

.account-nav-links .account-nav-link.admin-nav-link.active{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border-color:var(--brand-blue) !important;
    box-shadow:0 10px 22px rgba(15,110,201,0.20) !important;
}

.account-nav-links .logout-btn.top-logout-btn.admin-signout-btn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border:1px solid var(--brand-blue) !important;
    border-radius:999px !important;
    font-size:0.86rem !important;
    line-height:1.15 !important;
    padding:8px 15px !important;
    font-weight:800 !important;
    min-height:0 !important;
    height:auto !important;
    box-shadow:0 10px 22px rgba(15,110,201,0.20) !important;
}

.account-nav-links .logout-btn.top-logout-btn.admin-signout-btn:hover,
.account-nav-links .logout-btn.top-logout-btn.admin-signout-btn:focus-visible{
    background:#0b5cad !important;
    border-color:#0b5cad !important;
    transform:translateY(-1px);
}

.profile-summary-card{
    margin-top:22px;
    padding:24px;
    background:#f8fbff;
    border:1px solid rgba(15,110,201,0.12);
    border-radius:22px;
}

.profile-summary-card h2{
    margin:0 0 16px;
    color:var(--brand-navy);
    font-size:1.2rem;
}

.profile-details-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:14px;
}

.profile-detail-item{
    background:#ffffff;
    border:1px solid rgba(16,33,58,0.08);
    border-radius:16px;
    padding:14px 16px;
    box-shadow:0 12px 24px rgba(16,33,58,0.05);
}

.profile-detail-label{
    margin:0 0 6px;
    color:var(--brand-muted);
    font-size:0.78rem;
    font-weight:900;
    letter-spacing:0.04em;
    text-transform:uppercase;
}

.profile-detail-value{
    margin:0;
    color:var(--brand-navy);
    font-weight:800;
    overflow-wrap:anywhere;
}

.profile-empty-details{
    color:var(--brand-muted);
    margin:0;
}

@media (max-width: 860px){
    .account-nav-links.top-nav-links{
        justify-content:flex-start !important;
    }
}

/* =========================================================
   Admin/User Visual Fix v9
   - Keep cached homepage sign-out button blue before Firebase finishes.
   - Prevent temporary "Hello, there" greeting flash.
   - Match user logout button shape to admin sign-out button.
   ========================================================= */
html.tradexim-cached-signed-in #homeLoginActionBtn,
html.tradexim-cached-signed-in body.auth-checking #homeLoginActionBtn,
body.home-authenticated #homeLoginActionBtn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border-color:var(--brand-blue) !important;
    box-shadow:0 10px 24px rgba(15,110,201,0.20) !important;
}

.profile-greeting.is-loading{
    visibility:hidden !important;
}

.admin-header-nav .admin-signout-btn,
.account-nav-links .logout-btn.top-logout-btn.admin-signout-btn{
    border-radius:4px !important;
}



/* =========================================================
   Homepage Hero No-Shift Fix v10
   - When a signed-in session is cached, hide the sector buttons
     with display:none before the first paint, matching the final
     authenticated layout and preventing the CN Tower hero copy from
     dropping after Firebase confirms auth.
   ========================================================= */
html.tradexim-cached-signed-in body.home-page.auth-checking #homeSegments,
html.tradexim-cached-signed-in body.home-page #homeSegments,
body.home-page.home-authenticated #homeSegments{
    display:none !important;
    visibility:hidden !important;
}

html.tradexim-cached-signed-in body.home-page.auth-checking .home-copy,
html.tradexim-cached-signed-in body.home-page .home-copy,
body.home-page.home-authenticated .home-copy{
    transform:scale(0.88) !important;
    transform-origin:left center !important;
}


/* v13: prevent Profile tab/menu flicker only during first paint, then allow normal menu switching */
html.tradexim-tab-prerender.tradexim-start-tab-marketplace body.account-page #profilePanel,
html.tradexim-tab-prerender.tradexim-start-tab-equipment body.account-page #profilePanel{
    display:none !important;
}
html.tradexim-tab-prerender.tradexim-start-tab-marketplace body.account-page #marketplacePanel.panel-hidden,
html.tradexim-tab-prerender.tradexim-start-tab-equipment body.account-page #equipmentPanel.panel-hidden{
    display:block !important;
}
html.tradexim-tab-prerender.tradexim-start-tab-marketplace body.account-page #profileNavBtn.active,
html.tradexim-tab-prerender.tradexim-start-tab-equipment body.account-page #profileNavBtn.active{
    background:#ffffff !important;
    color:var(--brand-navy) !important;
    border-color:rgba(15,110,201,0.18) !important;
    box-shadow:none !important;
}
html.tradexim-tab-prerender.tradexim-start-tab-marketplace body.account-page #marketplaceNavBtn,
html.tradexim-tab-prerender.tradexim-start-tab-equipment body.account-page #equipmentNavBtn{
    background:var(--brand-blue) !important;
    color:#ffffff !important;
    border-color:var(--brand-blue) !important;
    box-shadow:0 10px 22px rgba(15,110,201,0.20) !important;
}

.equipment-admin-topbar{
    display:none;
}
html.tradexim-equipment-admin-view .equipment-user-topbar{
    display:none !important;
}
html.tradexim-equipment-admin-view .equipment-admin-topbar{
    display:block !important;
}
html.tradexim-equipment-admin-view body.compact-account-page{
    padding-top:0 !important;
}
