:root {
  --navy: #071a3d;
  --navy-2: #0b295a;
  --blue: #155bc5;
  --blue-bright: #2577f2;
  --gold: #cf981f;
  --gold-light: #e7ba54;
  --ink: #14223b;
  --muted: #536176;
  --line: #dbe3ee;
  --mist: #f3f6fa;
  --white: #ffffff;
  --success: #16845b;
  --shadow: 0 22px 70px rgba(9, 30, 66, .11);
  --radius: 22px;
  --shell: min(1180px, calc(100% - 44px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: Inter, Aptos, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { display: block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); line-height: 1.12; letter-spacing: -.035em; }

.skip-link {
  position: fixed; left: 18px; top: -80px; z-index: 1000;
  padding: 10px 16px; background: var(--navy); color: #fff; border-radius: 8px;
}
.skip-link:focus { top: 12px; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.section-shell { width: var(--shell); margin-inline: auto; }
.section-block { padding-block: 104px; }

.site-header {
  position: sticky; top: 0; z-index: 100;
  border-bottom: 1px solid rgba(219,227,238,.82);
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(18px);
}
.nav-shell {
  width: var(--shell); min-height: 94px; margin-inline: auto;
  display: grid; grid-template-columns: 182px 1fr auto;
  align-items: center; gap: 22px;
}
.brand {
  width: 168px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 3px 0;
}
.brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.primary-nav { display: flex; justify-content: center; align-items: center; gap: clamp(14px, 1.8vw, 28px); }
.primary-nav a { color: #344057; font-size: 13px; font-weight: 700; transition: color .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible, .primary-nav a[aria-current="page"] { color: var(--blue); }
.nav-actions { display: flex; align-items: center; gap: 18px; }
.auth-slot { display: flex; align-items: center; gap: 14px; }
.auth-trigger { background: none; cursor: pointer; border: 0; }
.auth-user { color: var(--navy); font-size: 14px; font-weight: 750; white-space: nowrap; }
.menu-toggle { display: none; }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 14px 22px; border: 1px solid var(--blue);
  border-radius: 11px; background: var(--blue); color: #fff; font-weight: 750;
  line-height: 1.1; cursor: pointer; box-shadow: 0 10px 30px rgba(21,91,197,.2);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover, .button:focus-visible {
  transform: translateY(-2px); background: #0d4cae; box-shadow: 0 14px 36px rgba(21,91,197,.28);
}
.button-small { min-height: 44px; padding: 12px 17px; font-size: 13px; }
.button-light { border-color: #fff; background: #fff; color: var(--navy); box-shadow: none; }
.button-light:hover { background: #eef3fa; color: var(--navy); }
.text-link { color: var(--navy); font-weight: 760; border-bottom: 1px solid #a9b4c5; padding: 7px 0 4px; }
.text-link span, .card-link span { margin-left: 8px; color: var(--gold); }

.hero {
  position: relative; display: grid; grid-template-columns: 1.04fr .96fr;
  align-items: center; gap: clamp(48px,7vw,100px); min-height: 710px; padding-block: 84px 78px;
}
.hero::before {
  content:""; position:absolute; width:520px; height:520px; left:-360px; top:30px;
  border:1px solid #edf1f6; border-radius:50%; pointer-events:none;
}
.eyebrow, .kicker {
  margin: 0 0 16px; color: var(--blue); font-size: 12px; font-weight: 830;
  letter-spacing: .14em; text-transform: uppercase;
}
.eyebrow { display:flex; align-items:center; gap:10px; }
.eyebrow span { width:28px; height:2px; background:var(--gold); }
h1 { max-width: 760px; margin-bottom: 20px; font-size: clamp(43px,5vw,64px); font-weight: 820; }
.hero-lead { max-width: 720px; margin-bottom: 24px; color: var(--muted); font-size: clamp(17px,1.8vw,20px); line-height:1.72; }
.hero-actions { display:flex; align-items:center; gap:27px; flex-wrap:wrap; }
.trust-list {
  display:grid; grid-template-columns:repeat(3,1fr); max-width:650px; margin:44px 0 0;
  padding:0; list-style:none; border-top:1px solid var(--line);
}
.trust-list li { display:flex; flex-direction:column; padding:18px 15px 0 0; }
.trust-list li + li { padding-left:22px; border-left:1px solid var(--line); }
.trust-list strong { color:var(--navy); font-size:23px; line-height:1; }
.trust-list span { margin-top:8px; color:var(--muted); font-size:12px; line-height:1.4; }

.hero-visual { position:relative; min-height:510px; display:grid; place-items:center; }
.orb { position:absolute; border-radius:50%; filter:blur(2px); }
.orb-one { width:390px; height:390px; top:35px; right:30px; background:radial-gradient(circle at 30% 25%,#4f99ff,#145bc5 38%,#0a214a 75%); }
.orb-two { width:230px; height:230px; left:0; bottom:0; border:1px solid rgba(207,152,31,.45); background:rgba(255,255,255,.2); }
.insight-panel {
  position:relative; z-index:2; width:min(470px,94%); min-height:425px; margin-left:18px;
  padding:28px; border:1px solid rgba(255,255,255,.68); border-radius:27px;
  background:rgba(255,255,255,.92); box-shadow:0 40px 100px rgba(5,25,59,.26); backdrop-filter:blur(16px);
}
.panel-topline { display:flex; align-items:center; gap:10px; color:#536176; font-size:13px; font-weight:680; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#2bb673; box-shadow:0 0 0 5px rgba(43,182,115,.12); }
.academic-path { display:grid; gap:11px; margin-block:25px 18px; }
.academic-path div {
  display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center;
  padding:12px 13px; border:1px solid #e0e7f0; border-radius:12px; background:#f8faff;
}
.academic-path span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#eaf2ff; color:var(--blue); font-size:12px; font-weight:850; }
.academic-path strong { font-size:13px; color:var(--navy); }
.academic-path small { display:block; color:var(--muted); font-size:11px; }
.expertise-pills { display:flex; flex-wrap:wrap; gap:8px; }
.expertise-pills span { padding:8px 12px; border:1px solid #dce5f1; border-radius:999px; background:#fff; color:#35445b; font-size:12px; font-weight:760; }
.panel-note { display:flex; align-items:center; gap:13px; margin-top:20px; padding:15px 16px; border-radius:13px; background:var(--navy); color:#fff; }
.note-icon { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; background:var(--gold); color:var(--navy); font-weight:900; }
.panel-note strong { display:block; color:#fff; font-size:13px; }
.panel-note small { display:block; margin-top:2px; color:#bac8dc; font-size:11px; }

.credibility-band { border-block:1px solid #e1e7ef; background:var(--mist); }
.tool-row { min-height:88px; display:flex; align-items:center; gap:42px; }
.tool-label { flex:0 0 auto; color:var(--muted); font-size:11px; font-weight:820; letter-spacing:.12em; text-transform:uppercase; }
.tool-marquee { flex:1; display:flex; justify-content:space-between; gap:24px; overflow:hidden; }
.tool-marquee span { color:#68768b; font-size:14px; font-weight:780; white-space:nowrap; }

.section-intro { display:grid; grid-template-columns:1.1fr .72fr; align-items:end; gap:80px; margin-bottom:50px; }
.section-intro h2, .about-copy h2, .approach h2, .enquiry-section h2, .page-hero h1 { margin-bottom:0; font-size:clamp(34px,4vw,54px); }
.section-intro > p { margin:0; color:var(--muted); font-size:17px; }
.kicker { margin-bottom:14px; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card {
  position:relative; min-height:420px; padding:31px; overflow:hidden; border:1px solid var(--line);
  border-radius:var(--radius); background:#fff; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.service-card:hover { transform:translateY(-5px); border-color:#bbcae0; box-shadow:var(--shadow); }
.service-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:25px; border-radius:14px; background:#ecf3ff; color:var(--blue); font-size:20px; font-weight:800; }
.card-number { position:absolute; top:30px; right:31px; color:#9ca8ba; font-size:12px; font-weight:800; letter-spacing:.12em; }
.service-card h3 { margin-bottom:13px; font-size:23px; }
.service-card > p:not(.card-number) { margin-bottom:18px; color:var(--muted); font-size:14px; }
.service-card ul, .feature-list { margin:0 0 28px; padding:0; list-style:none; display:grid; gap:8px; color:#3d4d64; font-size:14px; }
.service-card li::before, .feature-list li::before { content:"•"; margin-right:9px; color:var(--gold); font-weight:900; }
.card-link { position:absolute; left:31px; bottom:27px; color:var(--blue); font-size:14px; font-weight:800; }

.featured-card { grid-column:1 / -1; min-height:345px; border-color:transparent; background:linear-gradient(125deg,var(--navy),#0b2e67 72%,#0f4ba2); }
.featured-card h3, .featured-card .card-link { color:#fff; }
.featured-card > p:not(.card-number), .featured-card ul { color:#bbc9dc; }
.featured-card .service-icon { background:rgba(255,255,255,.1); color:var(--gold-light); }
.featured-card .card-number { color:#7385a1; }
.featured-card ul { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; max-width:900px; }

.supporting-services { background:var(--mist); }
.mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mini-card { padding:29px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.mini-card h3 { font-size:21px; margin-bottom:10px; }
.mini-card p { color:var(--muted); margin-bottom:0; font-size:14px; }

.approach { position:relative; overflow:hidden; background:var(--navy); color:#fff; }
.approach-grid { position:relative; z-index:1; display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; align-items:center; }
.kicker-light { color:var(--gold-light); }
.approach h2 { color:#fff; margin-bottom:24px; }
.approach-copy > p:not(.kicker) { max-width:480px; color:#b8c5d8; font-size:17px; }
.steps-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.16); }
.steps-list li { display:grid; grid-template-columns:58px 1fr; gap:25px; padding-block:28px; border-bottom:1px solid rgba(255,255,255,.16); }
.step-number { padding-top:4px; color:var(--gold-light); font-size:12px; font-weight:850; letter-spacing:.1em; }
.steps-list h3 { margin-bottom:7px; color:#fff; font-size:23px; }
.steps-list p { margin:0; color:#b8c5d8; }

.about-card { display:grid; grid-template-columns:.7fr 1.3fr; gap:75px; align-items:center; padding:58px; border:1px solid var(--line); border-radius:28px; background:linear-gradient(135deg,#f4f7fb,#fff 62%); }
.about-mark { display:grid; place-items:center; min-height:330px; padding:28px; border-radius:22px; background:#fff; box-shadow:0 20px 60px rgba(9,30,66,.1); }
.about-mark img { width:100%; }
.about-copy > p:not(.kicker) { margin-block:24px 32px; color:var(--muted); font-size:17px; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.values-grid span { display:block; margin-bottom:14px; color:var(--gold); font-size:11px; font-weight:900; }
.values-grid strong { display:block; margin-bottom:7px; color:var(--navy); }
.values-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }

.hub-preview { background:#f8faff; }
.hub-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.hub-card { display:flex; flex-direction:column; min-height:285px; padding:30px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.hub-card .hub-label { color:var(--blue); font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.hub-card h3 { margin:24px 0 12px; font-size:24px; }
.hub-card p { color:var(--muted); font-size:14px; }
.hub-card a { margin-top:auto; color:var(--blue); font-weight:800; }

.enquiry-section { padding-block:108px; background:#edf3fa; }
.enquiry-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:90px; align-items:start; }
.kicker-gold { color:#a16e00; }
.enquiry-section h2 { margin-bottom:24px; }
.enquiry-copy > p:not(.kicker) { color:var(--muted); font-size:17px; }
.enquiry-points { display:grid; gap:17px; margin-top:36px; }
.enquiry-points > div { display:flex; gap:13px; align-items:flex-start; }
.enquiry-points > div > span { display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:50%; background:#dfe9f7; color:var(--blue); font-size:12px; font-weight:900; }
.enquiry-points p { margin:0; }
.enquiry-points strong, .enquiry-points small { display:block; }
.enquiry-points small { color:var(--muted); }
.direct-contact { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:11px; margin-top:32px; }
.direct-contact a { min-width:0; padding:14px 15px; border:1px solid #ccd8e7; border-radius:11px; background:rgba(255,255,255,.65); }
.direct-contact span, .direct-contact strong { display:block; }
.direct-contact span { color:var(--blue); font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.direct-contact strong { margin-top:3px; overflow-wrap:anywhere; color:var(--navy); font-size:12px; }
.enquiry-form { display:grid; gap:18px; padding:28px; border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.enquiry-form label { color:#26364d; font-size:12px; font-weight:790; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea {
  width:100%; margin-top:7px; padding:13px 14px; border:1px solid #cfd9e6; border-radius:9px; outline:none; background:#fff; color:var(--ink);
}
.enquiry-form textarea { resize:vertical; min-height:125px; }
.enquiry-form .invalid { border-color:#b42318; box-shadow:0 0 0 3px rgba(180,35,24,.08); }
.consent-field { display:flex; gap:10px; align-items:flex-start; font-weight:600 !important; }
.consent-field input { width:auto; margin-top:3px; }
.form-actions { display:flex; flex-wrap:wrap; gap:10px; }
.channel-button { min-height:48px; padding:12px 16px; border:1px solid #cbd6e5; border-radius:10px; background:#fff; color:var(--navy); font-weight:750; cursor:pointer; }
.form-footnote { margin:0; color:var(--muted); font-size:12px; }
.form-message { display:none; padding:13px; border-radius:10px; background:#edf7f3; color:#184c3a; font-size:13px; }
.form-message.is-visible { display:grid; gap:4px; }
.form-message a { color:var(--blue); font-weight:800; }

/* Internal public pages */
.page-main { min-height:70vh; }
.breadcrumb { padding-top:36px; color:#6b788d; font-size:13px; }
.breadcrumb a { color:var(--blue); }
.page-hero { padding-block:70px 78px; background:linear-gradient(180deg,#f7faff,#fff); border-bottom:1px solid #edf1f6; }
.page-hero .eyebrow { margin-bottom:18px; }
.page-hero h1 { max-width:850px; margin-bottom:20px; }
.page-hero p { max-width:780px; margin:0; color:var(--muted); font-size:18px; }
.content-section { padding-block:82px; }
.category-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.category-card { padding:32px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.category-card h2 { font-size:27px; margin-bottom:13px; }
.category-card p { color:var(--muted); font-size:14px; }
.category-card ul { margin:20px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; font-size:14px; color:#3d4d64; }
.category-card li::before { content:"✓"; margin-right:8px; color:var(--success); font-weight:900; }
.tag-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.tag-row span { padding:7px 10px; border-radius:999px; background:#eef4fd; color:#375173; font-size:11px; font-weight:750; }
.tool-hub-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tool-tile { min-height:265px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.tool-tile h2 { font-size:22px; margin:16px 0 10px; }
.tool-tile p { color:var(--muted); font-size:14px; }
.tool-tile .status-badge { align-self:flex-start; padding:6px 9px; border-radius:999px; background:#f1f5fa; color:#536176; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.tool-tile .tool-note { margin-top:auto; padding-top:17px; border-top:1px solid var(--line); color:#6e7b8e; font-size:12px; }
.knowledge-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.knowledge-card { padding:29px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.knowledge-card h2 { font-size:22px; }
.knowledge-card p { color:var(--muted); font-size:14px; }
.page-cta { padding:44px; border-radius:24px; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.page-cta h2 { color:#fff; margin-bottom:8px; font-size:32px; }
.page-cta p { color:#b8c5d8; margin:0; }

.site-footer { padding-top:70px; background:#06152f; color:#b8c5d8; }
.footer-grid { display:grid; grid-template-columns:1.4fr .7fr .7fr 1.1fr; gap:50px; padding-bottom:50px; }
.footer-brand img {
  width: 176px;
  margin-bottom: 20px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.footer-brand p { max-width:330px; }
.site-footer h2 { color:#fff; font-size:14px; letter-spacing:.04em; }
.site-footer a { display:block; margin:9px 0; color:#b8c5d8; font-size:13px; }
.footer-note p { font-size:13px; }
.footer-social { color:var(--gold-light) !important; font-weight:750; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-block:20px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; }

.auth-overlay[hidden] { display:none; }
.auth-overlay { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(4,15,34,.72); }
.auth-modal { position:relative; width:min(480px,100%); max-height:92vh; overflow:auto; padding:30px; border-radius:20px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.3); }
.auth-close { position:absolute; right:16px; top:12px; border:0; background:none; color:#5b6678; font-size:27px; cursor:pointer; }
.auth-head h2 { margin-bottom:8px; }
.auth-sub { color:var(--muted); font-size:14px; }
.auth-oauth { display:grid; gap:9px; margin-top:20px; }
.oauth-button { min-height:45px; border:1px solid #d6dfeb; border-radius:9px; background:#fff; color:#26364d; font-weight:730; cursor:pointer; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:20px 0; color:#8a96a7; font-size:11px; }
.auth-divider::before, .auth-divider::after { content:""; flex:1; height:1px; background:#e1e6ed; }
.auth-form { display:grid; gap:12px; }
.auth-form label { color:#26364d; font-size:12px; font-weight:780; }
.auth-form input { width:100%; margin-top:6px; padding:12px; border:1px solid #ccd6e3; border-radius:9px; }
.auth-message { display:none; margin:0; padding:10px; border-radius:8px; background:#eef8f4; color:#21624a; font-size:12px; }
.auth-message.is-visible { display:block; }
.auth-message.is-error { background:#fff0ef; color:#9b241c; }
.auth-toggle, .auth-fallback { color:var(--muted); font-size:12px; }
.auth-switch { border:0; background:none; color:var(--blue); font-weight:800; cursor:pointer; }
.auth-fallback a { color:var(--blue); font-weight:750; }

@media (max-width: 1030px) {
  .nav-shell { grid-template-columns:140px auto auto; }
  .menu-toggle { display:grid; justify-self:end; width:42px; height:42px; place-content:center; gap:4px; border:1px solid var(--line); border-radius:9px; background:#fff; }
  .menu-toggle span:not(.sr-only) { width:20px; height:2px; background:var(--navy); }
  .primary-nav { display:none; position:absolute; left:22px; right:22px; top:82px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow); flex-direction:column; align-items:flex-start; }
  .primary-nav.is-open { display:flex; }
  .nav-actions .nav-cta { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-visual { min-height:470px; }
  .service-grid, .tool-hub-grid, .knowledge-grid { grid-template-columns:repeat(2,1fr); }
  .section-intro, .approach-grid, .enquiry-grid, .about-card { grid-template-columns:1fr; gap:50px; }
  .mini-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
  :root { --shell:min(100% - 28px,1180px); }
  .section-block { padding-block:74px; }
  .nav-shell { min-height:76px; grid-template-columns:110px 1fr auto; gap:8px; }
  .brand { width:122px; height:68px; padding:2px 0; }
  .auth-user { display:none; }
  .hero { min-height:auto; padding-block:58px 64px; }
  h1 { font-size:40px; }
  .hero-visual { min-height:400px; }
  .orb-one { width:300px; height:300px; right:0; }
  .insight-panel { margin-left:0; }
  .trust-list { grid-template-columns:1fr; }
  .trust-list li + li { padding-left:0; border-left:0; }
  .tool-row { align-items:flex-start; flex-direction:column; gap:12px; padding-block:18px; }
  .tool-marquee { width:100%; overflow-x:auto; justify-content:flex-start; }
  .service-grid, .category-grid, .tool-hub-grid, .knowledge-grid, .hub-grid { grid-template-columns:1fr; }
  .featured-card ul, .category-card ul { grid-template-columns:1fr; }
  .service-card { min-height:auto; padding-bottom:76px; }
  .values-grid, .field-row { grid-template-columns:1fr; }
  .about-card { padding:30px; }
  .page-hero { padding-block:50px 58px; }
  .page-cta { padding:30px; flex-direction:column; align-items:flex-start; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}


/* V4.0.2 — Hero Visuals */
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(46px,6vw,90px);align-items:center}
.page-hero-copy{min-width:0}
.hero-art{position:relative;min-height:365px;display:grid;place-items:center}
.hero-art:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(37,119,242,.11),rgba(37,119,242,0) 69%);pointer-events:none}
.hero-visual-card{position:relative;z-index:1;width:min(100%,500px);padding:24px;border:1px solid #dce5f1;border-radius:26px;background:rgba(255,255,255,.95);box-shadow:0 30px 80px rgba(9,30,66,.12)}
.hero-visual-card svg{width:100%;height:auto}
.visual-caption{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:#506078;font-size:12px;font-weight:760;text-align:center}
.caption-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(207,152,31,.12)}
.v-card{fill:#fff;stroke:#d8e3f0;stroke-width:1.2}
.v-soft{fill:#f6f9fd}
.v-blue{fill:#eef4fd}
.v-gold{fill:#fff6df}
.v-navy{fill:#071a3d}
.v-line{fill:none;stroke:#155bc5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v-line-soft{fill:none;stroke:#96b9ec;stroke-width:2.3;stroke-linecap:round;stroke-dasharray:6 8}
.v-line-gold{fill:none;stroke:#cf981f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v-title{fill:#071a3d;font:800 13px Inter,Arial,sans-serif}
.v-sub{fill:#66758b;font:600 9.5px Inter,Arial,sans-serif}
.v-center{fill:#fff;font:850 16px Inter,Arial,sans-serif;text-anchor:middle}
.v-center-sub{fill:#c8d4e7;font:650 8.5px Inter,Arial,sans-serif;text-anchor:middle}
.v-node-title{fill:#071a3d;font:800 11.5px Inter,Arial,sans-serif;text-anchor:middle}
.v-node-sub{fill:#6a788d;font:600 8.5px Inter,Arial,sans-serif;text-anchor:middle}
@media(max-width:1030px){.page-hero-grid{grid-template-columns:1fr;gap:40px}.hero-art{min-height:330px}.hero-visual-card{width:min(100%,620px)}}
@media(max-width:720px){.hero-art{min-height:280px}.hero-visual-card{padding:16px;border-radius:20px}.visual-caption{font-size:11px}}



/* V4.0.3 Tools + Knowledge Readability Upgrade */
.hero-art{min-height:390px}
.hero-visual-card{
  width:min(100%,560px);
  padding:22px 22px 18px;
}
.hero-visual-card svg{display:block}
.hero-visual-card.tools-visual svg,
.hero-visual-card.knowledge-visual svg{overflow:visible}

.v-title{font:800 15px Inter,Arial,sans-serif}
.v-sub{font:600 10.5px Inter,Arial,sans-serif}
.v-center{font:850 18px Inter,Arial,sans-serif;text-anchor:middle}
.v-center-sub{font:650 10px Inter,Arial,sans-serif;text-anchor:middle}
.v-node-title{font:800 13.5px Inter,Arial,sans-serif;text-anchor:middle}
.v-node-sub{font:600 10px Inter,Arial,sans-serif;text-anchor:middle}
.visual-caption{font-size:13px}

.hero-visual-card.tools-visual .visual-caption,
.hero-visual-card.knowledge-visual .visual-caption{
  margin-top:12px;
  font-size:13px;
}

@media (max-width:1030px){
  .hero-art{min-height:350px}
  .hero-visual-card{width:min(100%,620px)}
}
@media (max-width:720px){
  .hero-art{min-height:300px}
  .hero-visual-card{padding:16px}
  .hero-visual-card{width:min(100%,560px)}
  .v-title{font:800 13px Inter,Arial,sans-serif}
  .v-sub{font:600 9px Inter,Arial,sans-serif}
  .v-node-title{font:800 11.5px Inter,Arial,sans-serif}
  .v-node-sub{font:600 8.5px Inter,Arial,sans-serif}
}


/* =========================================================
   V4.0.4 — Responsive UX Polish
   Compact typography, smoother spacing, explicit Home tab,
   refined desktop/mobile navigation and subtle motion.
   ========================================================= */

:root {
  --shell: min(1160px, calc(100% - 48px));
  --radius: 18px;
  --radius-lg: 24px;
  --shadow-soft: 0 16px 48px rgba(9, 30, 66, .08);
  --shadow-lift: 0 22px 60px rgba(9, 30, 66, .12);
}

html {
  scroll-padding-top: 88px;
}

body {
  font-size: 15.5px;
  line-height: 1.66;
  background:
    radial-gradient(circle at 100% 0%, rgba(37,119,242,.035), transparent 28rem),
    #fff;
}

body.menu-open {
  overflow: hidden;
}

h1, h2, h3 {
  letter-spacing: -.028em;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

.section-block {
  padding-block: clamp(76px, 7vw, 96px);
}

/* Header and navigation */
.site-header {
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(219,227,238,.72);
  backdrop-filter: blur(18px) saturate(140%);
  transition: box-shadow .25s ease, background .25s ease, border-color .25s ease;
}

.site-header.is-scrolled {
  background: rgba(255,255,255,.96);
  border-bottom-color: rgba(206,217,232,.9);
  box-shadow: 0 10px 32px rgba(9,30,66,.07);
}

.nav-shell {
  min-height: 78px;
  grid-template-columns: 142px 1fr auto;
  gap: 20px;
}

.brand {
  width: 136px;
  height: 70px;
  padding: 4px 0;
}

.primary-nav {
  gap: clamp(9px, 1.05vw, 18px);
}

.primary-nav a {
  position: relative;
  padding: 9px 5px;
  color: #3d4960;
  font-size: 12.5px;
  font-weight: 730;
  white-space: nowrap;
  transition: color .2s ease;
}

.primary-nav a::after {
  content: "";
  position: absolute;
  left: 5px;
  right: 5px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}

.primary-nav a:hover::after,
.primary-nav a:focus-visible::after,
.primary-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.nav-actions {
  gap: 14px;
}

.button {
  min-height: 48px;
  padding: 13px 19px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(21,91,197,.16);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(21,91,197,.22);
}

.button-small {
  min-height: 42px;
  padding: 11px 15px;
  font-size: 12.5px;
}

.text-link {
  padding: 6px 0 3px;
  font-size: 14px;
}

/* Homepage hero */
.hero {
  min-height: 620px;
  grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr);
  gap: clamp(44px, 5.5vw, 76px);
  padding-block: 66px 68px;
}

.hero::before {
  width: 430px;
  height: 430px;
  left: -315px;
  top: 44px;
}

.eyebrow,
.kicker {
  margin-bottom: 13px;
  font-size: 11px;
  letter-spacing: .13em;
}

h1 {
  max-width: 690px;
  margin-bottom: 18px;
  font-size: clamp(39px, 4.05vw, 52px);
  line-height: 1.06;
  font-weight: 810;
}

.hero-lead {
  max-width: 660px;
  margin-bottom: 22px;
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.7;
}

.hero-actions {
  gap: 22px;
}

.trust-list {
  max-width: 610px;
  margin-top: 34px;
}

.trust-list strong {
  font-size: 20px;
}

.trust-list span {
  margin-top: 7px;
  font-size: 11.5px;
}

.hero-visual {
  min-height: 455px;
}

.orb-one {
  width: 340px;
  height: 340px;
  top: 42px;
  right: 22px;
}

.orb-two {
  width: 190px;
  height: 190px;
}

.insight-panel {
  width: min(438px, 96%);
  min-height: 390px;
  padding: 24px;
  border-radius: 24px;
  box-shadow: 0 28px 75px rgba(5,25,59,.2);
  transition: transform .3s ease, box-shadow .3s ease;
}

.insight-panel:hover {
  transform: translateY(-3px);
  box-shadow: 0 34px 82px rgba(5,25,59,.24);
}

.academic-path {
  gap: 9px;
  margin-block: 20px 16px;
}

.academic-path div {
  grid-template-columns: 34px 1fr;
  gap: 11px;
  padding: 10px 12px;
}

.academic-path span {
  width: 30px;
  height: 30px;
}

.panel-note {
  margin-top: 16px;
  padding: 13px 14px;
}

/* Credibility/tool row */
.credibility-band {
  background: #f7f9fc;
}

.tool-row {
  min-height: 76px;
  gap: 34px;
}

.tool-marquee span {
  font-size: 13px;
}

/* Section typography */
.section-intro {
  grid-template-columns: 1.05fr .8fr;
  gap: 68px;
  margin-bottom: 42px;
}

.section-intro h2,
.about-copy h2,
.approach h2,
.enquiry-section h2 {
  font-size: clamp(30px, 3.2vw, 41px);
  line-height: 1.1;
}

.section-intro > p,
.approach-copy > p:not(.kicker),
.about-copy > p:not(.kicker),
.enquiry-copy > p:not(.kicker) {
  font-size: 16px;
}

/* Main service cards */
.service-grid {
  gap: 18px;
}

.service-card {
  min-height: 368px;
  padding: 27px;
  border-radius: 19px;
  box-shadow: 0 1px 0 rgba(9,30,66,.01);
}

.service-card:hover,
.category-card:hover,
.tool-tile:hover,
.knowledge-card:hover,
.hub-card:hover,
.mini-card:hover {
  transform: translateY(-3px);
  border-color: #c6d4e6;
  box-shadow: var(--shadow-soft);
}

.service-icon {
  width: 46px;
  height: 46px;
  margin-bottom: 21px;
  border-radius: 12px;
}

.service-card h3 {
  font-size: 21px;
  line-height: 1.18;
}

.service-card p,
.service-card li {
  font-size: 13.5px;
}

/* Supporting services */
.supporting-services {
  background: linear-gradient(180deg, #f6f8fc 0%, #f9fbfd 100%);
}

.category-grid {
  gap: 18px;
}

.category-card {
  padding: 27px;
  border-radius: 18px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.category-card h2 {
  font-size: 23px;
  line-height: 1.18;
}

.category-card p,
.category-card ul {
  font-size: 13.5px;
}

/* Process section */
.approach-grid {
  grid-template-columns: .88fr 1.12fr;
  gap: 78px;
}

.steps-list li {
  padding-block: 20px;
}

.steps-list strong {
  font-size: 18px;
}

/* About */
.about-card {
  grid-template-columns: .62fr 1.38fr;
  gap: 58px;
  padding: 46px;
  border-radius: 24px;
}

.about-mark {
  min-height: 270px;
  padding: 26px;
  border-radius: 19px;
}

.values-grid {
  gap: 16px;
}

/* Hub cards */
.hub-preview {
  background: linear-gradient(180deg, #f8faff, #f5f8fc);
}

.hub-grid {
  gap: 18px;
}

.hub-card {
  min-height: 250px;
  padding: 26px;
  border-radius: 18px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hub-card h3 {
  margin: 20px 0 10px;
  font-size: 21px;
}

/* Enquiry */
.enquiry-section {
  padding-block: 92px;
}

.enquiry-grid {
  grid-template-columns: .82fr 1.18fr;
  gap: 72px;
}

.enquiry-points {
  margin-top: 30px;
}

.enquiry-form {
  gap: 16px;
  padding: 25px;
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
  min-height: 46px;
  padding: 12px 13px;
  border-radius: 9px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus {
  border-color: #7ba8e7;
  box-shadow: 0 0 0 4px rgba(37,119,242,.08);
}

.enquiry-form textarea {
  min-height: 118px;
}

.channel-button {
  min-height: 46px;
}

/* Internal pages */
.breadcrumb {
  padding-top: 26px;
  font-size: 12.5px;
}

.page-hero {
  padding-block: 54px 62px;
  background:
    radial-gradient(circle at 86% 18%, rgba(37,119,242,.07), transparent 23rem),
    linear-gradient(180deg,#f8faff,#fff);
}

.page-hero-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
  gap: clamp(42px, 5.2vw, 72px);
}

.page-hero h1 {
  max-width: 720px;
  margin-bottom: 16px;
  font-size: clamp(34px, 3.45vw, 45px);
  line-height: 1.08;
}

.page-hero p {
  max-width: 690px;
  font-size: 16.5px;
  line-height: 1.72;
}

.hero-art {
  min-height: 330px;
}

.hero-visual-card {
  width: min(100%, 515px);
  padding: 18px 18px 15px;
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
  transition: transform .25s ease, box-shadow .25s ease;
}

.hero-visual-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lift);
}

.visual-caption,
.hero-visual-card.tools-visual .visual-caption,
.hero-visual-card.knowledge-visual .visual-caption {
  margin-top: 10px;
  font-size: 11.5px;
}

.content-section {
  padding-block: 68px;
}

.category-card,
.tool-tile,
.knowledge-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.tool-hub-grid,
.knowledge-grid {
  gap: 18px;
}

.tool-tile {
  min-height: 238px;
  padding: 24px;
}

.tool-tile h2,
.knowledge-card h2 {
  font-size: 20px;
  line-height: 1.18;
}

.knowledge-card {
  padding: 25px;
}

.page-cta {
  padding: 36px 38px;
  border-radius: 20px;
}

.page-cta h2 {
  font-size: 27px;
}

/* Footer */
.site-footer {
  padding-top: 58px;
}

.footer-grid {
  grid-template-columns: 1.35fr .75fr .75fr 1.15fr;
  gap: 42px;
  padding-bottom: 42px;
}

.footer-brand img {
  width: 154px;
  margin-bottom: 18px;
  padding: 9px 10px;
  border-radius: 13px;
}

.footer-brand p,
.footer-note p {
  font-size: 12.5px;
}

.site-footer a {
  font-size: 12.5px;
}

/* Modal */
.auth-modal {
  width: min(450px, 100%);
  padding: 27px;
  border-radius: 18px;
}

/* Progressive reveal */
.reveal-enabled .reveal-item {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
}

.reveal-enabled .reveal-item.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive tablet */
@media (max-width: 1120px) {
  :root {
    --shell: min(100% - 40px, 1160px);
  }

  .nav-shell {
    min-height: 74px;
    grid-template-columns: 132px 1fr auto;
  }

  .brand {
    width: 126px;
    height: 66px;
  }

  .menu-toggle {
    display: grid;
    justify-self: end;
    width: 42px;
    height: 42px;
    place-content: center;
    gap: 4px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
  }

  .menu-toggle span:not(.sr-only) {
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background: var(--navy);
    transition: transform .2s ease, opacity .2s ease;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .primary-nav {
    display: flex;
    position: fixed;
    top: 82px;
    left: 20px;
    right: 20px;
    z-index: 120;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 20px 60px rgba(9,30,66,.16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }

  .primary-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .primary-nav a {
    width: 100%;
    padding: 11px 12px;
    border-radius: 9px;
    font-size: 14px;
  }

  .primary-nav a::after {
    display: none;
  }

  .primary-nav a:hover,
  .primary-nav a:focus-visible,
  .primary-nav a[aria-current="page"] {
    background: #f1f6fd;
  }

  .nav-actions .nav-cta {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .hero h1 {
    font-size: clamp(37px, 4.6vw, 47px);
  }

  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }

  .footer-grid {
    grid-template-columns: 1.2fr .8fr .8fr 1.2fr;
    gap: 30px;
  }
}

/* Responsive tablet / small laptop */
@media (max-width: 900px) {
  :root {
    --shell: min(100% - 34px, 1160px);
  }

  .hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 34px;
    padding-block: 52px 58px;
  }

  .hero-copy {
    max-width: 720px;
  }

  .hero-visual {
    min-height: 410px;
  }

  .insight-panel {
    margin-left: 0;
  }

  .section-intro,
  .approach-grid,
  .enquiry-grid,
  .about-card,
  .page-hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .section-intro {
    margin-bottom: 34px;
  }

  .section-intro > p {
    max-width: 680px;
  }

  .page-hero-copy {
    max-width: 760px;
  }

  .hero-art {
    min-height: 300px;
  }

  .hero-visual-card {
    width: min(100%, 600px);
    justify-self: start;
  }

  .about-mark {
    max-width: 360px;
  }

  .category-grid,
  .tool-hub-grid,
  .knowledge-grid,
  .hub-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 34px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  :root {
    --shell: min(100% - 28px, 1160px);
  }

  html {
    scroll-padding-top: 76px;
  }

  body {
    font-size: 15px;
    line-height: 1.62;
  }

  .section-block {
    padding-block: 62px;
  }

  .nav-shell {
    min-height: 68px;
    grid-template-columns: 106px 1fr auto;
    gap: 8px;
  }

  .brand {
    width: 102px;
    height: 60px;
  }

  .menu-toggle {
    width: 40px;
    height: 40px;
  }

  .primary-nav {
    top: 74px;
    left: 14px;
    right: 14px;
  }

  .auth-user {
    display: none;
  }

  .text-link {
    font-size: 13px;
  }

  .hero {
    gap: 28px;
    padding-block: 42px 48px;
  }

  .hero::before {
    display: none;
  }

  h1 {
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1.08;
  }

  .hero-lead {
    font-size: 16px;
  }

  .hero-actions {
    gap: 14px;
    align-items: stretch;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-actions .text-link {
    width: max-content;
  }

  .trust-list {
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin-top: 28px;
  }

  .trust-list li {
    padding: 14px 12px 0 0;
  }

  .trust-list li + li {
    padding-left: 12px;
  }

  .trust-list li:nth-child(3) {
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: 0;
  }

  .hero-visual {
    min-height: 360px;
  }

  .orb-one {
    width: 260px;
    height: 260px;
  }

  .orb-two {
    width: 150px;
    height: 150px;
  }

  .insight-panel {
    width: 100%;
    min-height: 0;
    padding: 18px;
    border-radius: 19px;
  }

  .academic-path div {
    padding: 9px 10px;
  }

  .academic-path strong {
    font-size: 12px;
  }

  .academic-path small {
    font-size: 10px;
  }

  .expertise-pills span {
    padding: 7px 9px;
    font-size: 10.5px;
  }

  .tool-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding-block: 16px;
  }

  .tool-marquee {
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 3px;
  }

  .section-intro h2,
  .about-copy h2,
  .approach h2,
  .enquiry-section h2 {
    font-size: clamp(29px, 8.4vw, 34px);
    line-height: 1.12;
  }

  .service-grid,
  .category-grid,
  .tool-hub-grid,
  .knowledge-grid,
  .hub-grid,
  .values-grid,
  .field-row {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: 0;
    padding: 23px;
  }

  .category-card,
  .tool-tile,
  .knowledge-card,
  .hub-card {
    min-height: 0;
    padding: 22px;
  }

  .about-card {
    padding: 26px;
    border-radius: 20px;
  }

  .about-mark {
    min-height: 220px;
  }

  .enquiry-section {
    padding-block: 66px;
  }

  .enquiry-form {
    padding: 20px;
  }

  .form-actions {
    flex-direction: column;
  }

  .channel-button {
    width: 100%;
  }

  .breadcrumb {
    padding-top: 20px;
  }

  .page-hero {
    padding-block: 38px 46px;
  }

  .page-hero h1 {
    font-size: clamp(32px, 9vw, 38px);
    line-height: 1.1;
  }

  .page-hero p {
    font-size: 15.5px;
  }

  .hero-art {
    min-height: 250px;
  }

  .hero-visual-card {
    width: 100%;
    padding: 12px 12px 11px;
    border-radius: 18px;
  }

  .visual-caption,
  .hero-visual-card.tools-visual .visual-caption,
  .hero-visual-card.knowledge-visual .visual-caption {
    font-size: 10.5px;
  }

  .content-section {
    padding-block: 54px;
  }

  .page-cta {
    padding: 27px;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
  }

  .page-cta h2 {
    font-size: 24px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-brand img {
    width: 142px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 8px;
  }
}

/* Very small phones */
@media (max-width: 390px) {
  :root {
    --shell: min(100% - 22px, 1160px);
  }

  h1 {
    font-size: 32px;
  }

  .page-hero h1 {
    font-size: 30px;
  }

  .nav-shell {
    grid-template-columns: 96px 1fr auto;
  }

  .brand {
    width: 94px;
    height: 56px;
  }

  .trust-list {
    grid-template-columns: 1fr;
  }

  .trust-list li + li,
  .trust-list li {
    padding-left: 0;
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .reveal-enabled .reveal-item {
    opacity: 1;
    transform: none;
  }
}


/* =========================================================
   V4.0.5 — Above-the-Fold UX & Toolkit Visibility
   Reduces unused hero whitespace, improves desktop balance,
   keeps the toolkit bar visible sooner, and further softens
   the first-screen heading/panel proportions.
   ========================================================= */

/* Desktop homepage: calmer first screen */
@media (min-width: 901px) {
  .hero {
    min-height: 548px;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    gap: clamp(38px, 4.2vw, 58px);
    padding-block: 34px 26px;
    align-items: center;
  }

  .hero-copy {
    align-self: center;
  }

  .hero h1 {
    max-width: 635px;
    margin-bottom: 15px;
    font-size: clamp(37px, 3.45vw, 46px);
    line-height: 1.055;
  }

  .hero-lead {
    max-width: 635px;
    margin-bottom: 18px;
    font-size: clamp(15.5px, 1.25vw, 17px);
    line-height: 1.62;
  }

  .hero-actions {
    gap: 18px;
  }

  .trust-list {
    max-width: 590px;
    margin-top: 25px;
  }

  .trust-list li {
    padding-top: 14px;
  }

  .trust-list strong {
    font-size: 19px;
  }

  .trust-list span {
    margin-top: 5px;
    font-size: 10.8px;
  }

  .hero-visual {
    min-height: 425px;
    align-self: center;
  }

  .insight-panel {
    width: min(410px, 96%);
    min-height: 0;
    margin-left: 0;
    padding: 19px 20px;
    border-radius: 22px;
  }

  .panel-topline {
    font-size: 12px;
  }

  .status-dot {
    width: 8px;
    height: 8px;
  }

  .academic-path {
    gap: 7px;
    margin-block: 15px 12px;
  }

  .academic-path div {
    grid-template-columns: 31px 1fr;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 10px;
  }

  .academic-path span {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 10.5px;
  }

  .academic-path strong {
    font-size: 12px;
  }

  .academic-path small {
    margin-top: 1px;
    font-size: 9.5px;
    line-height: 1.35;
  }

  .expertise-pills {
    gap: 6px;
  }

  .expertise-pills span {
    padding: 6px 9px;
    font-size: 10px;
  }

  .panel-note {
    gap: 10px;
    margin-top: 12px;
    padding: 10px 11px;
    border-radius: 11px;
  }

  .note-icon {
    flex-basis: 28px;
    height: 28px;
    font-size: 13px;
  }

  .panel-note strong {
    font-size: 11.5px;
  }

  .panel-note small {
    font-size: 9.5px;
    line-height: 1.35;
  }

  .orb-one {
    width: 300px;
    height: 300px;
    top: 48px;
    right: 22px;
  }

  .orb-two {
    width: 165px;
    height: 165px;
  }

  .credibility-band {
    margin-top: 0;
  }

  .tool-row {
    min-height: 64px;
    gap: 28px;
  }

  .tool-label {
    font-size: 10.5px;
  }

  .tool-marquee {
    gap: 20px;
  }

  .tool-marquee span {
    font-size: 12px;
  }
}

/* Short laptop/desktop screens: make sure the toolkit enters the first view */
@media (min-width: 901px) and (max-height: 850px) {
  .hero {
    min-height: 520px;
    padding-top: 26px;
    padding-bottom: 20px;
  }

  .hero h1 {
    font-size: clamp(36px, 3.2vw, 44px);
  }

  .hero-lead {
    line-height: 1.57;
  }

  .trust-list {
    margin-top: 21px;
  }

  .hero-visual {
    min-height: 405px;
  }

  .insight-panel {
    width: min(400px, 96%);
    padding: 17px 18px;
  }

  .academic-path {
    margin-block: 13px 10px;
  }

  .tool-row {
    min-height: 60px;
  }
}

/* Mid-size tablet keeps comfortable flow without oversized blank space */
@media (max-width: 900px) and (min-width: 641px) {
  .hero {
    padding-block: 42px 46px;
  }

  .hero-visual {
    min-height: 390px;
  }

  .trust-list {
    margin-top: 25px;
  }
}

/* Mobile: compact but not cramped */
@media (max-width: 640px) {
  .hero {
    padding-block: 32px 38px;
  }

  .hero h1 {
    font-size: clamp(31px, 9.2vw, 37px);
  }

  .hero-lead {
    margin-bottom: 18px;
    line-height: 1.58;
  }

  .trust-list {
    margin-top: 23px;
  }

  .hero-visual {
    min-height: 335px;
  }

  .tool-row {
    padding-block: 13px;
  }
}



/* =========================================================
   V4.1.0 — Complete Solutions UX
   Broader positioning, smoother responsive layout, compact
   contact experience and scalable multi-solution architecture.
   ========================================================= */

:root{
  --shadow-soft:0 18px 55px rgba(9,30,66,.08);
  --shadow-lift:0 24px 65px rgba(9,30,66,.12);
}

.section-action{display:flex;justify-content:center;margin-top:32px}
.button-secondary{background:#fff;color:var(--blue);box-shadow:none}
.button-secondary:hover{color:#fff}

/* Navigation: balanced with added Solutions */
@media(min-width:1121px){
  .nav-shell{grid-template-columns:170px 1fr auto;gap:16px}
  .primary-nav{gap:clamp(12px,1.35vw,21px)}
  .primary-nav a{font-size:12.5px}
  .nav-actions{gap:14px}
  .nav-cta{padding-inline:16px}
}

/* Homepage hero */
.hero-v410{min-height:520px}
.hero-v410 h1{max-width:690px;font-size:clamp(38px,3.35vw,47px)}
.solution-visual{min-height:410px}
.solution-panel{
  position:relative;z-index:2;width:min(450px,98%);padding:20px;border:1px solid #dce5f1;
  border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 30px 80px rgba(5,25,59,.18)
}
.solution-map{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0 12px}
.solution-map a{
  display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px;
  border:1px solid #dfe7f1;border-radius:12px;background:#f9fbfe;transition:.2s ease
}
.solution-map a:hover{transform:translateY(-2px);border-color:#b9cce7;background:#fff}
.solution-map a>span{
  display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf2ff;
  color:var(--blue);font-size:10px;font-weight:850
}
.solution-map strong{display:block;color:var(--navy);font-size:11.5px;line-height:1.2}
.solution-map small{display:block;margin-top:2px;color:var(--muted);font-size:8.8px;line-height:1.3}

/* Solutions overview */
.section-intro-balanced{align-items:center}
.solution-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.solution-card{
  position:relative;min-height:285px;padding:25px;border:1px solid var(--line);border-radius:19px;background:#fff;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.solution-card:hover{transform:translateY(-3px);border-color:#c6d4e6;box-shadow:var(--shadow-soft)}
.solution-card-featured{
  grid-column:span 2;min-height:310px;color:#fff;border-color:#0b2d68;
  background:linear-gradient(135deg,#071a3d,#0a3f91)
}
.solution-card-featured h3,.solution-card-featured p{color:#fff}
.solution-card-featured .solution-list span{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.09);color:#fff}
.solution-card-featured .card-link{color:#fff}
.solution-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.solution-code{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#eef4fd;color:var(--blue);font-size:12px;font-weight:850}
.solution-card-featured .solution-code{background:rgba(255,255,255,.11);color:#f2c35b}
.solution-tag{padding:6px 9px;border-radius:999px;background:#fff7e3;color:#8b6200;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.solution-card h3{margin-bottom:11px;font-size:21px;line-height:1.18}
.solution-card p{color:var(--muted);font-size:13.5px}
.solution-list{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.solution-list span{padding:7px 10px;border:1px solid #dce5f1;border-radius:999px;background:#f8faff;color:#40506a;font-size:10px;font-weight:720}

/* Academic priority */
.academic-priority{background:var(--navy);color:#fff}
.priority-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.priority-copy h2{max-width:650px;color:#fff;font-size:clamp(31px,3.2vw,41px)}
.priority-copy>p:not(.kicker){max-width:680px;color:#c4d0e1}
.priority-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}
.priority-points span{padding:12px 13px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.05);font-size:12px}
.priority-side{display:grid;gap:12px}
.mini-solution{padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.06)}
.mini-solution strong{display:block;color:#fff;font-size:16px}
.mini-solution span{display:block;margin-top:5px;color:#bac8dc;font-size:12.5px}

/* Subjects */
.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.subject-grid>div{padding:21px;border:1px solid var(--line);border-radius:16px;background:#fff}
.subject-grid strong{display:block;color:var(--navy);font-size:15px}
.subject-grid span{display:block;margin-top:7px;color:var(--muted);font-size:12.5px;line-height:1.55}

/* Tools teaser */
.tools-teaser{background:linear-gradient(180deg,#f4f7fb,#eef4fb)}
.tools-teaser-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.tools-teaser h2{font-size:clamp(31px,3.1vw,40px)}
.tool-chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tool-chip-grid span{padding:15px 16px;border:1px solid #d6e2ef;border-radius:12px;background:#fff;color:var(--navy);font-size:12px;font-weight:760}

/* Compact homepage contact */
.home-contact-cta{padding-block:64px;background:linear-gradient(135deg,#0a2a5d,#071a3d);color:#fff}
.home-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.home-contact-grid h2{color:#fff;font-size:clamp(30px,3vw,40px)}
.home-contact-grid p:not(.kicker){max-width:630px;color:#c8d4e5}
.home-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-contact-actions .button{grid-column:1/-1}
.home-contact-actions>a:not(.button){padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:11px;color:#c8d4e5;font-size:11px}
.home-contact-actions strong{display:block;margin-top:2px;color:#fff;font-size:12px}

/* Complete solutions directory */
.compact-page-hero{padding-block:44px 52px}
.compact-page-hero .page-hero-grid{align-items:center}
.solution-summary-card{padding:24px;border:1px solid #dbe5f1;border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}
.summary-label{display:inline-flex;margin-bottom:16px;padding:6px 9px;border-radius:999px;background:#eef4fd;color:var(--blue);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.summary-grid span{padding:11px 12px;border:1px solid #e0e7f0;border-radius:10px;background:#f9fbfe;color:var(--navy);font-size:11px;font-weight:750}
.directory-stack{display:grid;gap:16px}
.directory-card{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:27px;border:1px solid var(--line);border-radius:18px;background:#fff}
.directory-featured{border-color:#b8cce8;background:linear-gradient(180deg,#fbfdff,#f4f8fd)}
.directory-number{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#eaf2ff;color:var(--blue);font-weight:850}
.directory-card h2{margin-bottom:9px;font-size:24px}
.directory-card p{color:var(--muted)}
.directory-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.directory-card ul{margin:14px 0 0;padding-left:18px;color:#526176;font-size:13px}
.inline-list{display:flex!important;flex-wrap:wrap;gap:7px!important;padding:0!important;list-style:none}
.inline-list li{padding:7px 9px;border:1px solid #dce5f1;border-radius:999px;background:#f8faff;font-size:10.5px}
.subject-band{background:#f5f8fc}
.scope-note{margin:0;padding:17px 18px;border-left:3px solid var(--gold);background:#fff;color:var(--muted);font-size:13px}

/* Knowledge spectrum */
.knowledge-spectrum{position:relative;min-height:330px;border:1px solid #dbe5f1;border-radius:24px;background:#f7fafe;box-shadow:var(--shadow-soft)}
.knowledge-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:130px;height:130px;border-radius:50%;background:var(--navy);color:#fff;text-align:center}
.knowledge-core strong{font-size:15px}.knowledge-core span{font-size:8.5px;color:#c9d5e6}
.knowledge-node{position:absolute;padding:10px 12px;border:1px solid #d8e3f0;border-radius:12px;background:#fff;color:var(--navy);font-size:10.5px;font-weight:780;box-shadow:0 8px 25px rgba(9,30,66,.06)}
.knowledge-node.n1{left:50%;top:7%;transform:translateX(-50%)}
.knowledge-node.n2{right:7%;top:27%}.knowledge-node.n3{right:5%;bottom:18%}
.knowledge-node.n4{left:5%;bottom:18%}.knowledge-node.n5{left:7%;top:27%}
.knowledge-node.n6{left:50%;bottom:7%;transform:translateX(-50%)}
.knowledge-label{display:inline-flex;margin-bottom:14px;padding:5px 8px;border-radius:999px;background:#eef4fd;color:var(--blue);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}

/* Contact */
.contact-hero{padding-block:45px 52px;background:linear-gradient(180deg,#f7faff,#fff)}
.contact-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.contact-hero h1{max-width:610px;margin-bottom:14px;font-size:clamp(36px,3.4vw,44px)}
.contact-hero p{max-width:650px;color:var(--muted);font-size:16px}
.contact-fast{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:570px;margin-top:25px}
.contact-fast a{padding:13px 14px;border:1px solid #dbe5f1;border-radius:11px;background:#fff}
.contact-fast span{display:block;color:var(--blue);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.contact-fast strong{display:block;margin-top:3px;color:var(--navy);font-size:12px}
.contact-expectation{padding:24px;border:1px solid #dbe5f1;border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
.contact-expectation ul{margin:0;padding-left:20px;color:#4d5c72;font-size:13px;line-height:1.9}
.contact-expectation p{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12px}
.contact-form-section{padding-block:68px;background:#eef4fb}
.contact-form-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:start}
.contact-copy h2{font-size:clamp(30px,3vw,39px)}
.contact-route-list{display:grid;gap:10px;margin-top:26px}
.contact-route-list>div{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start}
.contact-route-list>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf2ff;color:var(--blue);font-size:10px;font-weight:850}
.contact-route-list p{margin:0}.contact-route-list strong{display:block;color:var(--navy);font-size:13px}.contact-route-list small{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.contact-form-v410{padding:23px;background:#fff}
.contact-scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.contact-scope-grid>div{padding:19px;border:1px solid var(--line);border-radius:15px}
.contact-scope-grid strong{display:block;color:var(--navy);font-size:14px}.contact-scope-grid span{display:block;margin-top:5px;color:var(--muted);font-size:11.5px}

/* Footer */
.footer-contact-mini{display:grid;gap:3px;margin-top:14px}
.footer-contact-mini a,.footer-contact-mini span{color:#9fb0c7!important;font-size:10.5px!important}

/* Smooth global section sizing */
.section-block{padding-block:76px}
.content-section{padding-block:62px}
.page-hero h1{font-size:clamp(33px,3.15vw,41px)}
.page-hero p{font-size:15.5px}

/* Tablet */
@media(max-width:1000px){
  .solution-cards{grid-template-columns:repeat(2,1fr)}
  .priority-grid,.tools-teaser-grid,.home-contact-grid,.contact-hero-grid,.contact-form-grid{grid-template-columns:1fr;gap:38px}
  .subject-grid{grid-template-columns:repeat(2,1fr)}
  .contact-scope-grid{grid-template-columns:repeat(2,1fr)}
  .solution-summary-card{max-width:620px}
}

/* Mobile */
@media(max-width:640px){
  .section-block{padding-block:56px}
  .content-section{padding-block:50px}
  .hero-v410{padding-block:30px 34px}
  .hero-v410 h1{font-size:clamp(30px,8.8vw,36px);line-height:1.08}
  .hero-v410 .hero-lead{font-size:15px}
  .solution-visual{min-height:0}
  .solution-panel{width:100%;padding:15px;border-radius:18px}
  .solution-map{grid-template-columns:1fr}
  .solution-map a{padding:9px}
  .solution-cards,.subject-grid,.contact-scope-grid{grid-template-columns:1fr}
  .solution-card-featured{grid-column:auto}
  .solution-card{min-height:0;padding:21px}
  .priority-points{grid-template-columns:1fr}
  .tool-chip-grid{grid-template-columns:1fr 1fr}
  .home-contact-actions{grid-template-columns:1fr}
  .home-contact-actions .button{grid-column:auto}
  .directory-card{grid-template-columns:1fr;gap:12px;padding:22px}
  .directory-number{width:40px;height:40px}
  .directory-columns{grid-template-columns:1fr;gap:0}
  .summary-grid{grid-template-columns:1fr}
  .knowledge-spectrum{min-height:360px}
  .knowledge-core{width:110px;height:110px}
  .knowledge-node{max-width:120px;font-size:9.5px}
  .knowledge-node.n2{right:3%}.knowledge-node.n3{right:2%}.knowledge-node.n4{left:2%}.knowledge-node.n5{left:3%}
  .contact-hero{padding-block:34px 40px}
  .contact-hero h1{font-size:clamp(31px,8.6vw,36px)}
  .contact-fast{grid-template-columns:1fr}
  .contact-form-section{padding-block:52px}
  .contact-form-v410{padding:19px}
}

/* Short desktop screens */
@media(min-width:1001px) and (max-height:820px){
  .hero-v410{min-height:490px;padding-top:24px;padding-bottom:18px}
  .hero-v410 h1{font-size:clamp(36px,3vw,43px)}
  .solution-panel{padding:16px}
  .solution-map{margin:12px 0 9px;gap:7px}
  .solution-map a{padding:8px}
  .solution-map strong{font-size:10.8px}
  .solution-map small{font-size:8.2px}
}


/* V4.1.0 final first-impression polish */
.hero-v410::before{display:none}
.hero-v410 h1{font-size:clamp(36px,3.05vw,44px);line-height:1.06}
.contact-hero h1{font-size:clamp(34px,3.1vw,41px)}
.contact-copy h2{font-size:clamp(28px,2.7vw,36px)}

@media(max-width:640px){
  .hero-v410 h1{font-size:clamp(29px,8.2vw,33px);line-height:1.08}
  .hero-v410 .hero-lead{font-size:14.5px;line-height:1.55}
  .hero-v410 .trust-list{
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin-top:20px;
  }
  .hero-v410 .trust-list li,
  .hero-v410 .trust-list li+li,
  .hero-v410 .trust-list li:nth-child(3){
    grid-column:auto;
    min-width:0;
    padding:11px 8px 0;
    border-left:1px solid var(--line);
  }
  .hero-v410 .trust-list li:first-child{
    padding-left:0;
    border-left:0;
  }
  .hero-v410 .trust-list strong{
    font-size:15px;
    white-space:normal;
  }
  .hero-v410 .trust-list span{
    font-size:8.5px;
    line-height:1.35;
  }
  .contact-hero h1{font-size:clamp(29px,8.1vw,33px)}
  .contact-copy h2{font-size:30px}
}


/* V4.1.1 — Symmetric Footer */
.footer-v411{padding-top:0;background:#061833}
.footer-main-v411{
  display:grid;grid-template-columns:1.2fr .9fr .9fr 1.2fr;
  gap:clamp(34px,4vw,62px);align-items:start;padding-block:54px 38px
}
.footer-brand-v411 img{
  width:154px;height:120px;object-fit:contain;padding:8px;border-radius:16px;background:#fff
}
.footer-brand-v411 p{
  max-width:295px;margin:17px 0 0;color:#b7c5d8;font-size:12.5px;line-height:1.65
}
.footer-column-v411 h2{margin:0 0 14px;color:#fff;font-size:14px;letter-spacing:0}
.footer-column-v411 a{
  display:block;width:max-content;max-width:100%;margin:0 0 9px;color:#b7c5d8;font-size:12px
}
.footer-column-v411 a:hover{color:#fff}
.footer-support-v411 p{
  max-width:300px;margin:0 0 14px;color:#b7c5d8;font-size:12px;line-height:1.65
}
.footer-support-v411 .footer-social{color:#e3b448;font-weight:760}
.footer-contact-strip-v411{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)
}
.footer-contact-strip-v411 a{
  display:flex;align-items:center;justify-content:center;gap:9px;
  min-height:58px;padding:12px 16px;text-align:center
}
.footer-contact-strip-v411 a+a{border-left:1px solid rgba(255,255,255,.12)}
.footer-contact-strip-v411 span{
  color:#8397b2;font-size:9px;font-weight:820;letter-spacing:.09em;text-transform:uppercase
}
.footer-contact-strip-v411 strong{color:#fff;font-size:11.5px;font-weight:700}
.footer-bottom-v411{
  display:flex;justify-content:space-between;align-items:center;
  min-height:66px;padding-block:18px;color:#8295af;font-size:10.5px
}
@media(max-width:900px){
  .footer-main-v411{grid-template-columns:1fr 1fr;gap:34px 46px}
  .footer-contact-strip-v411{grid-template-columns:1fr 1fr}
  .footer-contact-strip-v411 a:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .footer-contact-strip-v411 a:nth-child(4){border-top:1px solid rgba(255,255,255,.12)}
}
@media(max-width:560px){
  .footer-main-v411{grid-template-columns:1fr;padding-block:42px 30px}
  .footer-brand-v411,.footer-column-v411{text-align:center}
  .footer-brand-v411 img{margin-inline:auto}
  .footer-brand-v411 p,.footer-support-v411 p{margin-inline:auto;text-align:center}
  .footer-column-v411 a{margin-inline:auto}
  .footer-contact-strip-v411{grid-template-columns:1fr}
  .footer-contact-strip-v411 a+a{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .footer-bottom-v411{flex-direction:column;justify-content:center;gap:5px;text-align:center}
}



/* =========================================================
   V4.2.0 — Polished Visual UX
   Combined user review: subject symmetry, contact balance,
   Academic journey, Tools vectors, Knowledge visual, subtle shine.
   ========================================================= */

/* Shared premium visual treatment */
.shine-panel-v42{
  position:relative;
  overflow:hidden;
  border:1px solid #d8e3f0;
  background:
    radial-gradient(circle at 18% 16%,rgba(42,112,219,.08),transparent 28%),
    radial-gradient(circle at 82% 78%,rgba(211,161,42,.08),transparent 24%),
    #fff;
  box-shadow:0 28px 70px rgba(9,30,66,.11);
}
.shine-panel-v42::after{
  content:"";
  position:absolute;
  inset:-120% auto auto -45%;
  width:30%;
  height:300%;
  transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:shineSweepV42 9s ease-in-out infinite;
  pointer-events:none;
}
.visual-spark-v42{
  position:absolute;
  z-index:5;
  color:#d8a32a;
  font-size:15px;
  text-shadow:0 0 18px rgba(216,163,42,.55);
  animation:twinkleV42 3.2s ease-in-out infinite;
  pointer-events:none;
}
.spark-one{top:19px;right:24px}
.spark-two{top:30px;left:34px;animation-delay:.8s}
.spark-three{right:34px;bottom:30px;animation-delay:1.5s}
@keyframes shineSweepV42{0%,68%{left:-45%;opacity:0}78%{opacity:.5}100%{left:120%;opacity:0}}
@keyframes twinkleV42{0%,100%{opacity:.35;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}

/* Homepage subject section */
.subject-section-v42{max-width:1180px}
.subject-intro-v42{max-width:760px;margin:0 auto 32px;text-align:center}
.subject-intro-v42 h2{
  max-width:760px;
  margin-inline:auto;
  font-size:clamp(31px,3.05vw,41px);
}
.subject-intro-v42>p:last-child{
  max-width:700px;
  margin:14px auto 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.subject-grid-v42{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  max-width:1120px;
  margin-inline:auto;
}
.subject-grid-v42>.subject-card-v42{
  min-height:155px;
  padding:21px 22px;
  border-color:#d7e2ef;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 8px 24px rgba(9,30,66,.035);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.subject-grid-v42>.subject-card-v42:hover{
  transform:translateY(-3px);
  border-color:#bdcfe7;
  box-shadow:0 16px 38px rgba(9,30,66,.08);
}
.subject-icon-v42{
  display:grid!important;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:14px!important;
  border-radius:11px;
  background:#eef4fd;
  color:#1760c4!important;
}
.subject-icon-v42 svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.subject-grid-v42 strong{font-size:14.5px}
.subject-grid-v42 .subject-card-v42>span:last-child{margin-top:7px;font-size:12.3px}

/* Academic journey */
.academic-hero-art-v42{min-height:390px}
.journey-shell-v42{
  width:min(100%,560px);
  padding:22px 22px 17px;
  border-radius:25px;
}
.journey-title-v42{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  color:#66758b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.journey-title-v42>span{
  width:8px;height:8px;border-radius:50%;background:#2dbf8f;box-shadow:0 0 0 5px rgba(45,191,143,.12)
}
.journey-grid-v42{
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
  align-items:center;
  gap:10px 7px;
}
.journey-step-v42{
  position:relative;
  display:grid;
  grid-template-columns:34px 42px 1fr;
  gap:9px;
  align-items:center;
  min-height:88px;
  padding:11px 12px;
  border:1px solid #d8e3f0;
  border-radius:15px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 20px rgba(9,30,66,.035);
}
.journey-step-v42:hover{border-color:#bfd1e8;box-shadow:0 14px 28px rgba(9,30,66,.07)}
.journey-number-v42{
  display:grid;place-items:center;
  width:31px;height:31px;border-radius:9px;
  background:#eef4fd;color:#1760c4;font-size:9.5px;font-weight:850;
}
.journey-icon-v42{
  display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#f5f8fd;color:#145ec5
}
.journey-icon-v42 svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.journey-step-v42 strong{display:block;color:var(--navy);font-size:12px;line-height:1.2}
.journey-step-v42 small{display:block;margin-top:3px;color:#69788e;font-size:8.8px;line-height:1.35}
.journey-arrow-v42{
  display:grid;place-items:center;color:#8fb3e4;font-size:18px;font-weight:800
}
.journey-final-v42 .journey-number-v42{background:#fff4d8;color:#9a6900}
.journey-final-v42 .journey-icon-v42{background:#fff7e8;color:#c48912}
.journey-footer-v42{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:14px;color:#51617a;font-size:10.5px;font-weight:760
}
.journey-footer-v42 span{width:7px;height:7px;border-radius:50%;background:#d8a32a;box-shadow:0 0 0 4px rgba(216,163,42,.12)}

/* Tools premium vector hub */
.tools-hero-art-v42{min-height:410px}
.tool-hub-v42{
  position:relative;
  width:min(100%,590px);
  min-height:405px;
  padding:22px;
  border-radius:26px;
}
.hub-connectors-v42{
  position:absolute;
  inset:36px 34px 48px;
  z-index:0;
  width:calc(100% - 68px);
  height:calc(100% - 84px);
}
.hub-connectors-v42 path{
  fill:none;
  stroke:#a9c2e5;
  stroke-width:1.8;
  stroke-dasharray:5 7;
  vector-effect:non-scaling-stroke;
}
.tool-node-v42{
  position:absolute;
  z-index:2;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:11px;
  align-items:center;
  width:205px;
  min-height:88px;
  padding:13px 14px;
  border:1px solid #d8e3f0;
  border-radius:16px;
  background:rgba(255,255,255,.95);
  box-shadow:0 10px 25px rgba(9,30,66,.05);
}
.tool-node-v42:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(9,30,66,.09)}
.tool-icon-v42{
  display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:#eef4fd;color:#1760c4
}
.tool-icon-v42.gold-icon-v42{background:#fff4d8;color:#c58b14}
.tool-icon-v42 svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tool-node-v42 strong{display:block;color:var(--navy);font-size:12px;line-height:1.2}
.tool-node-v42 small{display:block;margin-top:3px;color:#66758b;font-size:8.8px;line-height:1.35}
.tool-pdf-v42{left:22px;top:27px}
.tool-ocr-v42{right:22px;top:27px}
.tool-stats-v42{left:22px;top:151px}
.tool-method-v42{right:22px;top:151px}
.tool-image-v42{left:22px;bottom:56px}
.tool-merge-v42{right:22px;bottom:56px}
.tool-center-v42{
  position:absolute;left:50%;top:50%;z-index:3;
  transform:translate(-50%,-52%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:128px;height:140px;
  border:1px solid #d6a329;border-radius:26px;
  background:linear-gradient(145deg,#0a2c63,#071a3d);
  box-shadow:0 18px 40px rgba(7,26,61,.22);
  color:#fff;text-align:center;
}
.tool-center-v42 strong{font-size:20px;line-height:.96;letter-spacing:-.02em}
.tool-center-dot-v42{width:18px;height:18px;margin-bottom:13px;border-radius:50%;background:#e0a622;box-shadow:0 0 18px rgba(224,166,34,.35)}
.tool-center-lines-v42{position:relative;width:34px;height:26px;margin-bottom:8px}
.tool-center-lines-v42::before,.tool-center-lines-v42::after{
  content:"";position:absolute;left:0;width:34px;height:2px;border-radius:4px;background:#8cb5f2
}
.tool-center-lines-v42::before{top:4px;box-shadow:0 9px 0 #8cb5f2}
.tool-center-lines-v42::after{top:22px;width:24px;left:5px}
.tool-hub-caption-v42{
  position:absolute;left:50%;bottom:15px;z-index:4;
  transform:translateX(-50%);
  white-space:nowrap;
  color:#53627a;font-size:10.5px;font-weight:730
}
.tool-hub-caption-v42>span{margin-right:6px;color:#d5a22c}.tool-hub-caption-v42 b{padding:0 4px;color:#d5a22c}

/* Knowledge: richer connected visual */
.knowledge-hub-v42{
  position:relative;
  min-height:355px;
  border-radius:25px;
}
.knowledge-connectors-v42{
  position:absolute;inset:24px;z-index:0;width:calc(100% - 48px);height:calc(100% - 48px)
}
.knowledge-connectors-v42 path{
  fill:none;stroke:#b5cae8;stroke-width:1.7;stroke-dasharray:5 6;vector-effect:non-scaling-stroke
}
.knowledge-core-v42{
  position:absolute;left:50%;top:50%;z-index:3;
  transform:translate(-50%,-50%);
  display:grid;place-items:center;
  width:132px;height:132px;border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#123d7b,#071a3d 68%);
  box-shadow:0 18px 45px rgba(7,26,61,.22),0 0 0 12px rgba(23,96,196,.06);
  color:#fff;text-align:center
}
.knowledge-core-v42 strong{font-size:14px}
.knowledge-core-v42 small{margin-top:-26px;color:#c7d5e8;font-size:8.5px}
.knowledge-orbit-v42{
  position:absolute;inset:-16px;border:1px dashed rgba(23,96,196,.22);border-radius:50%
}
.knowledge-node-v42{
  position:absolute;z-index:2;
  display:flex;align-items:center;gap:9px;
  min-width:145px;max-width:175px;
  padding:10px 12px;border:1px solid #d8e3f0;border-radius:13px;
  background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(9,30,66,.05)
}
.knowledge-node-v42>span{
  display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:10px;background:#eef4fd;color:#1760c4
}
.knowledge-node-v42>span.gold-node-v42{background:#fff4d8;color:#c58b14}
.knowledge-node-v42 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.knowledge-node-v42 strong{color:var(--navy);font-size:10.5px;line-height:1.2}
.know-academic-v42{left:50%;top:19px;transform:translateX(-50%)}
.know-productivity-v42{left:19px;top:94px}
.know-data-v42{right:19px;top:94px}
.know-it-v42{left:19px;bottom:25px}
.know-ai-v42{left:50%;bottom:18px;transform:translateX(-50%)}
.know-gis-v42{right:19px;bottom:25px}

/* Contact: filled, balanced left side */
.contact-form-grid{grid-template-columns:.95fr 1.05fr;gap:46px}
.contact-copy-v42{
  align-self:stretch;
  padding:22px 8px 8px 0;
}
.contact-copy-v42>p:not(.kicker){max-width:520px}
.contact-route-list-v42{margin-top:22px}
.contact-help-grid-v42{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px
}
.contact-help-grid-v42>div{
  display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;
  min-height:76px;padding:11px 12px;
  border:1px solid #cfdef0;border-radius:13px;
  background:rgba(255,255,255,.7)
}
.contact-mini-icon-v42{
  display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eaf2ff;color:#1760c4
}
.contact-mini-icon-v42 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-help-grid-v42 p{margin:0}
.contact-help-grid-v42 strong{display:block;color:var(--navy);font-size:11.5px;line-height:1.2}
.contact-help-grid-v42 small{display:block;margin-top:3px;color:#66758b;font-size:9px;line-height:1.35}
.contact-confidence-v42{
  display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;
  margin-top:12px;padding:12px 13px;border:1px solid #d4e1ef;border-radius:13px;
  background:linear-gradient(135deg,#fff,#f6f9fd)
}
.confidence-mark-v42{
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  background:#071a3d;color:#fff;font-size:15px;font-weight:850
}
.contact-confidence-v42 strong{display:block;color:var(--navy);font-size:12px}
.contact-confidence-v42 small{display:block;margin-top:3px;color:#66758b;font-size:9.5px;line-height:1.4}

/* Tablet */
@media(max-width:1000px){
  .subject-grid-v42{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-form-grid{grid-template-columns:1fr;gap:30px}
  .contact-copy-v42{padding-right:0}
  .contact-help-grid-v42{max-width:720px}
}

/* Mobile */
@media(max-width:640px){
  .subject-intro-v42{text-align:left}
  .subject-intro-v42 h2,.subject-intro-v42>p:last-child{margin-left:0}
  .subject-grid-v42{grid-template-columns:1fr}
  .subject-grid-v42>.subject-card-v42{min-height:0}

  .journey-shell-v42{padding:17px 14px}
  .journey-grid-v42{grid-template-columns:1fr;gap:8px}
  .journey-arrow-v42{transform:rotate(90deg);height:16px}
  .journey-step-v42{min-height:78px}
  .journey-footer-v42{margin-top:11px}

  .tools-hero-art-v42{min-height:0}
  .tool-hub-v42{min-height:auto;padding:18px 14px 16px}
  .hub-connectors-v42{display:none}
  .tool-node-v42,.tool-center-v42{
    position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important
  }
  .tool-hub-v42{
    display:grid;grid-template-columns:1fr 1fr;gap:9px
  }
  .tool-node-v42{width:auto;min-height:82px;grid-template-columns:42px 1fr;padding:10px}
  .tool-icon-v42{width:40px;height:40px}
  .tool-icon-v42 svg{width:22px;height:22px}
  .tool-center-v42{grid-column:1/-1;width:100%;height:88px;border-radius:18px}
  .tool-center-lines-v42{display:none}
  .tool-center-dot-v42{width:13px;height:13px;margin-bottom:6px}
  .tool-center-v42 strong{font-size:18px}
  .tool-hub-caption-v42{position:relative;left:auto;bottom:auto;transform:none;grid-column:1/-1;text-align:center;margin-top:4px}

  .knowledge-hub-v42{min-height:auto;padding:16px}
  .knowledge-connectors-v42{display:none}
  .knowledge-hub-v42{
    display:grid;grid-template-columns:1fr 1fr;gap:9px
  }
  .knowledge-node-v42,.knowledge-core-v42{
    position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;
    min-width:0;max-width:none;width:auto
  }
  .knowledge-core-v42{grid-column:1/-1;width:100%;height:92px;border-radius:18px}
  .knowledge-core-v42 small{margin-top:-12px}
  .knowledge-orbit-v42{display:none}

  .contact-help-grid-v42{grid-template-columns:1fr}
}

/* Motion accessibility */
@media(prefers-reduced-motion:reduce){
  .shine-panel-v42::after,.visual-spark-v42{animation:none!important}
}


/* =========================================================
   V4.3.0 — Free Tools Foundation
   ========================================================= */
.tools-live-hero .page-hero-copy p{max-width:670px}
.tools-intro-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin-top:24px;margin-bottom:58px;border:1px solid #d9e4f0;border-radius:18px;overflow:hidden;background:#d9e4f0
}
.tools-intro-strip>div{padding:19px 21px;background:#fff}
.tools-intro-strip strong{display:block;color:var(--navy);font-size:12.5px}
.tools-intro-strip span{display:block;margin-top:4px;color:#66758b;font-size:10.5px;line-height:1.45}

.tool-category-section{padding-block:34px 26px}
.tool-category-head{display:grid;grid-template-columns:1fr minmax(260px,430px);gap:44px;align-items:end;margin-bottom:22px}
.tool-category-head h2{margin:5px 0 0;font-size:clamp(27px,2.6vw,36px)}
.tool-category-head>p{margin:0;color:#65758b;font-size:13px;line-height:1.6}
.live-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.live-tool-card{
  position:relative;display:block;min-height:205px;padding:20px 20px 18px;border:1px solid #d7e2ef;border-radius:17px;
  background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 24px rgba(9,30,66,.035);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.live-tool-card:hover{transform:translateY(-3px);border-color:#b9cee8;box-shadow:0 16px 38px rgba(9,30,66,.08)}
.live-tool-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.live-tool-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#eef4fd;color:#1760c4}
.live-tool-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.status-live{background:#eaf9f2!important;color:#147552!important;border-color:#bfe9d7!important}
.live-tool-card h3{margin:17px 0 7px;color:var(--navy);font-size:16px}
.live-tool-card p{margin:0;color:#66758b;font-size:11.5px;line-height:1.55}
.tool-open-link{position:absolute;left:20px;bottom:17px;color:#1760c4;font-size:10.5px;font-weight:800}
.coming-tools-section{padding-bottom:54px}
.planned-tools-row{display:flex;flex-wrap:wrap;gap:9px}
.planned-tools-row span{padding:10px 13px;border:1px dashed #c5d4e6;border-radius:999px;color:#64758b;background:#fbfcfe;font-size:10.5px;font-weight:760}

/* Individual tool pages */
.tool-detail-hero{padding:54px 0 30px}
.tool-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:54px;align-items:center}
.tool-detail-hero h1{max-width:770px;margin:9px 0 13px;font-size:clamp(35px,4vw,52px);line-height:1.02}
.tool-detail-hero p{max-width:720px;margin:0;color:#5e6f86;font-size:14.5px;line-height:1.65}
.tool-detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tool-detail-badges span{padding:8px 11px;border:1px solid #cfdded;border-radius:999px;background:#fff;color:#425675;font-size:9.5px;font-weight:800}
.tool-detail-mini-card{
  position:relative;min-height:180px;padding:32px;border:1px solid #d6e2ef;border-radius:24px;
  background:linear-gradient(145deg,#071a3d,#0d3673);box-shadow:0 22px 50px rgba(7,26,61,.16);color:#fff;overflow:hidden
}
.tool-detail-mini-card::after{content:"";position:absolute;right:-45px;bottom:-65px;width:170px;height:170px;border:1px solid rgba(255,255,255,.14);border-radius:50%}
.tool-detail-mini-card strong{display:block;margin-top:38px;font-size:20px}
.tool-detail-mini-card small{display:block;max-width:210px;margin-top:7px;color:#c6d4e7;font-size:10.5px;line-height:1.5}
.mini-orbit{position:absolute;top:27px;left:31px;width:15px;height:15px;border:4px solid #e1aa28;border-radius:50%;box-shadow:0 0 0 8px rgba(225,170,40,.10)}

.tool-workspace-section{padding-block:22px 36px}
.tool-workspace{padding:28px;border-radius:23px}
.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}
.workspace-head h2{margin:4px 0 0;font-size:clamp(23px,2.4vw,31px)}
.workspace-head .kicker{margin:0}
.live-pill,.local-pill{padding:8px 10px;border-radius:999px;background:#eef7ff;color:#145ea9;font-size:9px;font-weight:820;white-space:nowrap}
.local-pill{background:#eaf9f2;color:#147552}
.tool-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:end}
.tool-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-form-grid label,.full-field,.inline-fields label{display:flex;flex-direction:column;gap:7px;color:#263b59;font-size:10.5px;font-weight:780}
.tool-form-grid input,.tool-form-grid select,.full-field textarea,.inline-fields input,.gpa-row input,.gpa-row select{
  width:100%;min-height:46px;padding:11px 12px;border:1px solid #cddaea;border-radius:11px;background:#fff;color:#132b4b;font:inherit;outline:none
}
.full-field textarea{min-height:225px;resize:vertical;font-size:13px;line-height:1.6}
.tool-form-grid input:focus,.tool-form-grid select:focus,.full-field textarea:focus,.inline-fields input:focus,.gpa-row input:focus,.gpa-row select:focus{border-color:#6194d6;box-shadow:0 0 0 3px rgba(23,96,196,.08)}
.swap-button{align-self:end;width:46px;height:46px;border:1px solid #c8d7e8;border-radius:13px;background:#f5f8fd;color:#1760c4;font-size:19px;cursor:pointer}
.currency-grid{grid-template-columns:1fr 1.2fr 46px 1.2fr}
.tool-action{margin-top:18px}
.tool-result{margin-top:18px;padding:18px 19px;border:1px solid #d2e0ef;border-radius:15px;background:linear-gradient(135deg,#f8fbff,#fff)}
.tool-result .result-label,.decision-result .result-label{display:block;margin-bottom:6px;color:#6a7a90;font-size:8.5px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.tool-result strong{display:block;color:var(--navy);font-size:18px}
.tool-result small{display:block;margin-top:5px;color:#6a7a90;font-size:10px}
.tool-source-note,.tool-caution{max-width:900px;margin:12px 0 0;color:#6a7a90;font-size:9.5px;line-height:1.5}
.tool-caution{margin:12px 0 0;padding:11px 13px;border-left:3px solid #d7a12a;background:#fff9ea;color:#67511e;border-radius:0 9px 9px 0}

.calculator-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.mini-calculator{padding:17px;border:1px solid #d6e2ef;border-radius:15px;background:#fff}
.mini-calculator h3{margin:0 0 14px;color:var(--navy);font-size:13px}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.mini-result{margin-top:11px;padding:10px 11px;border-radius:10px;background:#f4f8fd;color:#17365f;font-size:10.5px;font-weight:760;min-height:36px}
.button-row{display:flex;flex-wrap:wrap;gap:8px}.compact-top{margin-top:15px}
.button-secondary{background:#fff!important;color:#17365f!important;border:1px solid #c7d6e8!important}

.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0;overflow:hidden;background:#d6e2ef}
.result-metrics>div{padding:17px;background:#fff}
.result-metrics span{display:block;color:#6a7a90;font-size:9px;font-weight:760}
.result-metrics strong{margin-top:4px;font-size:22px}
.result-metrics .result-foot{grid-column:1/-1;margin:0;padding:10px 16px;background:#f7faff;color:#6b7b90;font-size:9.5px}
.wide-result{grid-column:1/-1!important}
.counter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}
.counter-grid>div{padding:15px;border:1px solid #d6e2ef;border-radius:13px;background:#fff}
.counter-grid span{display:block;color:#6b7a90;font-size:9px}
.counter-grid strong{display:block;margin-top:5px;color:var(--navy);font-size:18px}
.text-button{border:0;background:none;color:#1760c4;font-size:10.5px;font-weight:800;cursor:pointer}
.case-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.case-buttons button{padding:9px 11px;border:1px solid #cbd9ea;border-radius:9px;background:#f7faff;color:#17365f;font-size:9.5px;font-weight:760;cursor:pointer}
.tool-status-line{min-height:22px;margin-top:10px;color:#506681;font-size:10px}

.gpa-table{border:1px solid #d6e2ef;border-radius:14px;overflow:hidden;background:#fff}
.gpa-head,.gpa-row{display:grid;grid-template-columns:1.6fr .65fr .8fr 36px;gap:9px;align-items:center;padding:10px 12px}
.gpa-head{background:#f3f7fc;color:#62738a;font-size:8.5px;font-weight:840;text-transform:uppercase;letter-spacing:.05em}
.gpa-row+.gpa-row{border-top:1px solid #e4ebf3}
.gpa-row input,.gpa-row select{min-height:39px;padding:8px 9px}
.gpa-row button{width:32px;height:32px;border:0;border-radius:8px;background:#fff1f1;color:#a33;font-size:18px;cursor:pointer}

.decision-result{margin-top:18px;padding:19px;border:1px solid #d2e0ef;border-radius:15px;background:linear-gradient(135deg,#f8fbff,#fff)}
.decision-result h3{margin:0 0 9px;color:var(--navy);font-size:18px}
.decision-result p,.decision-result li{color:#5f7087;font-size:10.5px;line-height:1.55}
.decision-result ul{margin:8px 0 10px;padding-left:20px}

.file-drop{position:relative;display:grid;place-items:center;min-height:145px;padding:22px;border:1.5px dashed #afc5e0;border-radius:17px;background:#f9fbfe;text-align:center;cursor:pointer}
.file-drop strong{color:var(--navy);font-size:15px}.file-drop span{margin-top:4px;color:#6a7b90;font-size:10px}
.file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.image-result-shell{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;margin-top:18px;padding:16px;border:1px solid #d4e1ef;border-radius:16px;background:#fff}
.image-result-shell img{width:100%;height:150px;object-fit:contain;border-radius:10px;background:#f2f5f9}
.file-stats{margin-bottom:12px}.file-stats strong{display:block;color:var(--navy);font-size:14px}.file-stats span{display:block;margin-top:4px;color:#6b7a90;font-size:10px}
.optional-tag{font-size:8px;color:#7a8aa0;font-weight:650}

.tool-info-section{padding-block:20px 72px}
.tool-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.tool-info-card{padding:22px;border:1px solid #d8e3f0;border-radius:17px;background:#fff}
.tool-info-card h2{margin:5px 0 9px;font-size:22px}.tool-info-card>p:last-child{color:#65758b;font-size:11.5px;line-height:1.6}
.related-tools{display:grid;gap:8px}
.related-tool-link{display:grid;padding:10px 11px;border:1px solid #dbe5f1;border-radius:11px;background:#fbfdff}
.related-tool-link strong{color:#17365f;font-size:10.5px}.related-tool-link span{margin-top:2px;color:#6b7b90;font-size:9px}

@media(max-width:1000px){
  .live-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool-detail-hero-grid{grid-template-columns:1fr .55fr;gap:30px}
  .tool-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .currency-grid{grid-template-columns:1fr 1fr}.currency-grid .swap-button{display:none}
  .calculator-stack{grid-template-columns:1fr}
}
@media(max-width:760px){
  .tools-intro-strip{grid-template-columns:1fr}.tools-intro-strip>div+div{border-top:1px solid #d9e4f0}
  .tool-category-head{grid-template-columns:1fr;gap:10px}
  .live-tool-grid{grid-template-columns:1fr}
  .live-tool-card{min-height:185px}
  .tool-detail-hero{padding-top:34px}
  .tool-detail-hero-grid{grid-template-columns:1fr}
  .tool-detail-mini-card{min-height:135px}.tool-detail-mini-card strong{margin-top:22px}
  .tool-workspace{padding:19px 14px}
  .workspace-head{flex-direction:column;margin-bottom:17px}
  .tool-form-grid,.tool-form-grid.two-col,.currency-grid{grid-template-columns:1fr}
  .inline-fields{grid-template-columns:1fr}
  .result-metrics,.counter-grid{grid-template-columns:1fr 1fr}
  .tool-info-grid{grid-template-columns:1fr}
  .image-result-shell{grid-template-columns:1fr}
  .gpa-head{display:none}.gpa-row{grid-template-columns:1fr 1fr 1fr 34px;padding:9px}
}
@media(max-width:480px){
  .result-metrics,.counter-grid{grid-template-columns:1fr}
  .gpa-row{grid-template-columns:1fr 1fr}.gpa-row button{justify-self:end}
  .tool-detail-badges span{padding:7px 9px}
}



/* V4.3.2 — Sticky Tool Finder refinement */
.tools-live-hero-v431{padding-bottom:18px}
.tools-command-wrap-v431{
  position:sticky;
  top:78px;
  z-index:80;
  padding:10px 0 12px;
  background:linear-gradient(180deg,rgba(248,251,255,.98),rgba(248,251,255,.94) 78%,rgba(248,251,255,.72));
  backdrop-filter:blur(12px);
  box-shadow:0 10px 24px rgba(13,34,66,.06);
}
.tools-command-v431{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(500px,1.15fr);
  gap:18px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #d7e3f1;
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 12px 28px rgba(9,30,66,.07);
}
.tools-command-copy-v431{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.tools-command-copy-v431 strong{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 16px;
  border-radius:14px;
  background:linear-gradient(135deg,#0b2558 0%,#1760c4 78%);
  box-shadow:0 10px 22px rgba(23,96,196,.18);
  color:#fff;
  font-size:17px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.tools-command-copy-v431 span{
  display:block;
  color:#45617d;
  font-size:10.5px;
  font-weight:700;
  line-height:1.45;
  max-width:320px;
}
.tools-command-controls-v431{
  display:grid;
  grid-template-columns:1fr 220px;
  gap:10px;
}
.tools-search-v431 input,.tools-select-v431 select{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #cbd9e9;
  border-radius:12px;
  background:#fff;
  color:#17365f;
  font-size:10.5px;
  outline:none;
}
.tools-search-v431 input:focus,.tools-select-v431 select:focus{
  border-color:#6194d6;
  box-shadow:0 0 0 3px rgba(23,96,196,.08)
}
.quick-tools-v431{
  display:flex;
  align-items:center;
  gap:7px;
  overflow:auto;
  padding:10px 2px 2px;
  scrollbar-width:thin;
}
.quick-tools-v431>span{
  flex:0 0 auto;
  color:#6d7c91;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-right:3px
}
.quick-tools-v431 a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid #d4e0ed;
  border-radius:999px;
  background:#fff;
  color:#23476f;
  font-size:9.5px;
  font-weight:750
}
.quick-tools-v431 a span{color:#d49b20;font-weight:900}
.quick-tools-v431 a:hover{border-color:#aec6e4;background:#f6f9fd}

.tools-category-v431{position:relative;padding:34px 0 40px;scroll-margin-top:146px}
.tools-category-v431::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.96}
.tools-category-v431>.section-shell{position:relative;z-index:1}
.tools-category-blue::before{background:linear-gradient(180deg,#f4f8ff,#fbfdff)}
.tools-category-navy::before{background:linear-gradient(180deg,#fbfcff,#f5f8fc)}
.tools-category-gold::before{background:linear-gradient(180deg,#fffdf7,#fbfcff)}
.tools-category-slate::before{background:linear-gradient(180deg,#f7fafc,#fff)}
.tools-category-coming::before{background:linear-gradient(180deg,#fbfcfe,#f4f7fb)}

.category-heading-v431{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,430px);
  gap:40px;
  align-items:end;
  margin-bottom:17px
}
.category-kicker-v431{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#1760c4;
  font-size:8px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase
}
.category-kicker-v431::before{
  content:"";
  width:26px;height:2px;border-radius:99px;
  background:linear-gradient(90deg,#1760c4,#d9a52b,#1760c4);
  background-size:180% 100%;
  box-shadow:0 0 12px rgba(217,165,43,.22);
  animation:categoryFlashV431 4.5s ease-in-out infinite
}
.category-heading-v431 h2{
  position:relative;
  display:inline-block;
  margin:6px 0 0;
  font-size:clamp(25px,2.25vw,33px);
  line-height:1.08
}
.category-heading-v431 h2::after{
  content:"";
  position:absolute;left:0;bottom:-7px;width:58px;height:3px;border-radius:99px;
  background:linear-gradient(90deg,#1760c4,#d9a52b);
  box-shadow:0 0 14px rgba(217,165,43,.18)
}
.category-heading-v431>p{margin:0;color:#64758b;font-size:11.5px;line-height:1.55}

.tool-grid-v431{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.tool-card-v431{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:start;
  min-height:132px;
  padding:15px;
  border:1px solid rgba(202,216,233,.94);
  border-radius:14px;
  background:rgba(255,255,255,.9);
  box-shadow:0 6px 18px rgba(9,30,66,.03);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease
}
.tool-card-v431:hover{
  transform:translateY(-2px);
  border-color:#b5cae4;
  background:#fff;
  box-shadow:0 12px 28px rgba(9,30,66,.075)
}
.tool-card-v431-icon{
  display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#edf4ff;color:#1760c4
}
.tools-category-gold .tool-card-v431-icon{background:#fff4d9;color:#b97d08}
.tools-category-slate .tool-card-v431-icon{background:#eef3f7;color:#355e7c}
.tool-card-v431-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tool-card-v431-copy{min-width:0}
.tool-card-v431-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.tool-card-v431 h3{margin:1px 0 0;color:var(--navy);font-size:13px;line-height:1.22}
.tool-card-v431-topline span{
  flex:0 0 auto;
  padding:4px 6px;
  border-radius:999px;
  background:#eaf9f2;
  color:#147552;
  font-size:7px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase
}
.tool-card-v431 p{margin:6px 0 8px;color:#68788d;font-size:9.8px;line-height:1.42}
.tool-card-v431 strong{color:#1760c4;font-size:8.8px}
.planned-tools-row-v431{padding-top:3px}

@keyframes categoryFlashV431{
  0%,100%{background-position:0 0;filter:brightness(1)}
  50%{background-position:100% 0;filter:brightness(1.15)}
}
@media(prefers-reduced-motion:reduce){.category-kicker-v431::before{animation:none}}
@media(max-width:1120px){
  .tools-command-wrap-v431{top:74px}
  .tools-command-v431{grid-template-columns:1fr}
  .tools-command-copy-v431{flex-wrap:wrap;align-items:flex-start}
  .tools-command-copy-v431 span{max-width:none}
  .tool-grid-v431{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-heading-v431{grid-template-columns:1fr;gap:10px}
}
@media(max-width:640px){
  .tools-command-wrap-v431{top:68px;padding-top:8px}
  .tools-command-v431{padding:12px}
  .tools-command-copy-v431{gap:10px}
  .tools-command-copy-v431 strong{font-size:15px;min-height:42px;padding:0 14px}
  .tools-command-copy-v431 span{font-size:9.5px}
  .tools-command-controls-v431{grid-template-columns:1fr}
  .tool-grid-v431{grid-template-columns:1fr}
  .tool-card-v431{min-height:112px}
  .category-heading-v431 h2{font-size:26px}
  .tools-category-v431{scroll-margin-top:178px;padding:28px 0 34px}
}
@media(max-width:480px){
  .tool-card-v431{grid-template-columns:42px 1fr;padding:13px}
  .tool-card-v431-icon{width:40px;height:40px}
  .tool-card-v431-icon svg{width:21px;height:21px}
}



/* =========================================================
   V4.3.3 — Global Tool Finder on Every Tool Page
   ========================================================= */
.tool-detail-finder-v433{
  position:sticky;
  top:78px;
  z-index:82;
  padding:9px 0;
  border-bottom:1px solid rgba(211,223,237,.9);
  background:rgba(248,251,255,.95);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 22px rgba(9,30,66,.055);
}
.tool-detail-finder-inner-v433{
  display:grid;
  grid-template-columns:minmax(210px,.6fr) minmax(560px,1.4fr);
  gap:20px;
  align-items:center;
}
.tool-detail-finder-title-v433{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.tool-detail-finder-title-v433 strong{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  background:linear-gradient(135deg,#0b2558,#1760c4);
  color:#fff;
  box-shadow:0 8px 18px rgba(23,96,196,.16);
  font-size:15px;
  font-weight:900;
  letter-spacing:-.02em;
}
.tool-detail-finder-title-v433 span{
  color:#55708c;
  font-size:9.5px;
  font-weight:700;
  line-height:1.4;
}
.tool-detail-finder-controls-v433{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 205px auto;
  gap:8px;
  align-items:center;
}
.tool-detail-search-wrap-v433{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px;
}
.tool-detail-search-wrap-v433 input,
.tool-detail-finder-controls-v433 select{
  width:100%;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #cbd9e9;
  border-radius:10px;
  background:#fff;
  color:#17365f;
  font-size:10px;
  outline:none;
}
.tool-detail-search-wrap-v433 input:focus,
.tool-detail-finder-controls-v433 select:focus{
  border-color:#6194d6;
  box-shadow:0 0 0 3px rgba(23,96,196,.08);
}
.tool-detail-search-wrap-v433 button,
.all-tools-link-v433{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 12px;
  border:1px solid #bcd0e7;
  border-radius:10px;
  background:#fff;
  color:#1760c4;
  font-size:9.5px;
  font-weight:850;
  cursor:pointer;
}
.tool-detail-search-wrap-v433 button:hover,
.all-tools-link-v433:hover{
  border-color:#8fb3df;
  background:#f3f8ff;
}
@media(max-width:1120px){
  .tool-detail-finder-v433{top:74px}
  .tool-detail-finder-inner-v433{grid-template-columns:1fr}
  .tool-detail-finder-title-v433 span{max-width:none}
}
@media(max-width:760px){
  .tool-detail-finder-controls-v433{grid-template-columns:1fr 1fr}
  .tool-detail-search-wrap-v433{grid-column:1/-1}
  .all-tools-link-v433{min-height:40px}
}
@media(max-width:640px){
  .tool-detail-finder-v433{top:68px;padding:7px 0}
  .tool-detail-finder-inner-v433{gap:7px}
  .tool-detail-finder-title-v433{gap:8px}
  .tool-detail-finder-title-v433 strong{min-height:38px;padding:0 11px;font-size:13.5px}
  .tool-detail-finder-title-v433 span{font-size:8.8px}
  .tool-detail-finder-controls-v433{grid-template-columns:1fr}
  .tool-detail-search-wrap-v433{grid-column:auto}
  .tool-detail-finder-controls-v433 select,
  .all-tools-link-v433{display:none}
}



/* =========================================================
   V4.3.4 — Unified Tool Experience
   FREE TOOL header + instructions + function area feel like
   one continuous task flow across every tool page.
   ========================================================= */
.tool-detail-page .breadcrumb{
  margin-bottom:10px;
}
.tool-detail-hero-v434{
  padding:24px 0 0;
}
.tool-detail-hero-v434 .tool-detail-hero-grid{
  position:relative;
  z-index:2;
  gap:34px;
  padding:28px 28px 24px;
  border:1px solid #d6e2ef;
  border-bottom:0;
  border-radius:24px 24px 0 0;
  background:
    radial-gradient(circle at 87% 18%,rgba(23,96,196,.07),transparent 27%),
    linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 18px 46px rgba(9,30,66,.07);
}
.tool-detail-hero-v434 h1{
  margin-top:7px;
  margin-bottom:10px;
  font-size:clamp(34px,3.65vw,48px);
}
.tool-detail-hero-v434 p{
  max-width:760px;
  font-size:13.5px;
  line-height:1.58;
}
.tool-detail-hero-v434 .tool-detail-badges{
  margin-top:15px;
}
.tool-detail-hero-v434 .tool-detail-mini-card{
  min-height:158px;
  padding:26px 28px;
  border-radius:20px;
}
.tool-detail-hero-v434 .tool-detail-mini-card strong{
  margin-top:30px;
  font-size:18px;
}
.tool-detail-hero-v434 .tool-detail-mini-card small{
  font-size:9.8px;
}

.tool-steps-v434{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-width:760px;
  margin-top:18px;
}
.tool-steps-v434>div{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:8px;
  align-items:center;
  min-height:48px;
  padding:9px 10px;
  border:1px solid #dbe5f1;
  border-radius:11px;
  background:rgba(247,250,254,.92);
}
.tool-steps-v434 span{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:8px;
  background:#edf4ff;
  color:#1760c4;
  font-size:8px;
  font-weight:900;
}
.tool-steps-v434 strong{
  color:#38516f;
  font-size:9px;
  line-height:1.35;
}

.tool-workspace-section-v434{
  padding:0 0 34px;
}
.tool-workspace-section-v434>.section-shell{
  padding:0;
}
.tool-workspace-section-v434 .tool-workspace{
  margin-top:0;
  padding:24px 28px 28px;
  border-top:1px solid #e6edf5;
  border-radius:0 0 24px 24px;
  box-shadow:0 22px 46px rgba(9,30,66,.07);
}
.tool-workspace-section-v434 .shine-panel-v42::after{
  opacity:.35;
}
.tool-workspace-label-v434{
  display:flex;
  align-items:center;
  gap:12px;
  margin:-2px 0 16px;
  padding-bottom:13px;
  border-bottom:1px solid #e2eaf3;
}
.tool-workspace-label-v434 span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  background:linear-gradient(135deg,#0b2558,#1760c4);
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tool-workspace-label-v434 strong{
  color:#5b6e86;
  font-size:9.5px;
  font-weight:750;
}
.tool-workspace-section-v434 .workspace-head{
  margin-bottom:18px;
}
.tool-workspace-section-v434 .workspace-head h2{
  font-size:clamp(22px,2.15vw,29px);
}
.tool-workspace-section-v434 .tool-result,
.tool-workspace-section-v434 .decision-result{
  margin-top:15px;
}
.tool-workspace-section-v434 + .tool-info-section{
  padding-top:8px;
}

/* Make the overall block align as a single continuous card */
.tool-detail-hero-v434 .section-shell,
.tool-workspace-section-v434 .section-shell{
  max-width:1180px;
}

/* Clear information hierarchy */
.tool-detail-page .tool-caution{
  max-width:1180px;
  margin:12px auto 0;
}
.tool-detail-page .tool-source-note{
  margin-top:10px;
}

@media(max-width:900px){
  .tool-detail-hero-v434 .tool-detail-hero-grid{
    grid-template-columns:1fr;
  }
  .tool-detail-hero-v434 .tool-detail-mini-card{
    min-height:120px;
  }
  .tool-detail-hero-v434 .tool-detail-mini-card strong{
    margin-top:20px;
  }
}
@media(max-width:760px){
  .tool-detail-hero-v434{
    padding-top:15px;
  }
  .tool-detail-hero-v434 .tool-detail-hero-grid{
    padding:20px 16px 18px;
    border-radius:18px 18px 0 0;
  }
  .tool-detail-hero-v434 h1{
    font-size:31px;
  }
  .tool-steps-v434{
    grid-template-columns:1fr;
    margin-top:14px;
  }
  .tool-steps-v434>div{
    min-height:42px;
  }
  .tool-workspace-section-v434 .tool-workspace{
    padding:18px 14px 21px;
    border-radius:0 0 18px 18px;
  }
  .tool-workspace-label-v434{
    align-items:flex-start;
    gap:8px;
  }
}



/* =========================================================
   V4.4.0 — Global Compact UX
   Applied across Home, Solutions, Academic, Tools, Knowledge,
   Contact and every individual Tool page.
   ========================================================= */

/* ---------- Global vertical rhythm ---------- */
:root{
  --compact-section-gap: 52px;
  --compact-card-radius: 14px;
}
.section-block,
.content-section,
.tool-category-section,
.tool-info-section{
  padding-top:38px;
  padding-bottom:38px;
}
.page-main .breadcrumb{
  margin-top:14px;
  margin-bottom:4px;
  font-size:10.5px;
}
.page-hero{
  padding-top:34px;
  padding-bottom:34px;
}
.page-hero-copy h1,
.tool-detail-hero h1{
  letter-spacing:-.025em;
}
.page-hero-copy p,
.tool-detail-hero p,
.section-lead,
.lead{
  font-size:14px;
  line-height:1.58;
}

/* ---------- Compact page headers ---------- */
.page-hero-grid{
  gap:34px;
}
.page-hero-copy .eyebrow,
.tool-detail-hero .eyebrow{
  margin-bottom:6px;
}
.tool-detail-hero-v434{
  padding-top:10px;
}
.tool-detail-hero-v434 .tool-detail-hero-grid{
  grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);
  gap:28px;
  padding:20px 24px 16px;
  border-radius:20px 20px 0 0;
}
.tool-detail-hero-v434 h1{
  margin:5px 0 7px;
  font-size:clamp(32px,3.25vw,44px);
}
.tool-detail-hero-v434 p{
  margin:0;
  max-width:770px;
  font-size:13.3px;
  line-height:1.5;
}
.tool-detail-hero-v434 .tool-detail-badges{
  margin-top:10px;
  gap:6px;
}
.tool-detail-hero-v434 .tool-detail-badges span{
  padding:6px 9px;
  font-size:8.5px;
}
.tool-detail-hero-v434 .tool-detail-mini-card{
  min-height:116px;
  padding:18px 22px;
  border-radius:17px;
}
.tool-detail-hero-v434 .tool-detail-mini-card strong{
  margin-top:18px;
  font-size:16px;
}
.tool-detail-hero-v434 .tool-detail-mini-card small{
  max-width:230px;
  margin-top:4px;
  font-size:9px;
  line-height:1.35;
}
.tool-detail-hero-v434 .mini-orbit{
  top:16px;
  left:21px;
  width:12px;
  height:12px;
  border-width:3px;
  box-shadow:0 0 0 6px rgba(225,170,40,.09);
}

/* Breadcrumb → Free Tool should feel connected */
.tool-detail-page .breadcrumb + .tool-detail-hero-v434{
  margin-top:-2px;
}
.tool-detail-hero-v434 .eyebrow{
  margin-top:0;
}

/* ---------- Very compact 3-step guidance ---------- */
.tool-steps-v434{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.tool-steps-v434>div{
  grid-template-columns:24px 1fr;
  gap:6px;
  min-height:34px;
  padding:6px 8px;
  border-radius:9px;
}
.tool-steps-v434 span{
  width:23px;
  height:23px;
  border-radius:7px;
  font-size:7.5px;
}
.tool-steps-v434 strong{
  font-size:9.3px;
  line-height:1.22;
}

/* ---------- Function area immediately follows header ---------- */
.tool-workspace-section-v434{
  padding:0 0 24px;
}
.tool-workspace-section-v434 .tool-workspace{
  padding:17px 24px 20px;
  border-radius:0 0 20px 20px;
}
.tool-workspace-label-v434{
  gap:9px;
  margin:0 0 10px;
  padding-bottom:9px;
}
.tool-workspace-label-v434 span{
  min-height:24px;
  padding:0 8px;
  font-size:7.5px;
}
.tool-workspace-label-v434 strong{
  font-size:9px;
}
.tool-workspace-section-v434 .workspace-head{
  margin-bottom:12px;
}
.tool-workspace-section-v434 .workspace-head h2{
  margin-top:2px;
  font-size:clamp(20px,2vw,27px);
}
.tool-workspace-section-v434 .workspace-head .kicker{
  font-size:8px;
}
.tool-workspace-section-v434 .live-pill,
.tool-workspace-section-v434 .local-pill{
  padding:6px 8px;
  font-size:8px;
}

/* ---------- Inputs / controls ---------- */
.tool-form-grid{
  gap:9px;
}
.tool-form-grid label,
.full-field,
.inline-fields label{
  gap:5px;
  font-size:9.6px;
}
.tool-form-grid input,
.tool-form-grid select,
.inline-fields input,
.gpa-row input,
.gpa-row select{
  min-height:40px;
  padding:8px 10px;
  border-radius:9px;
  font-size:10px;
}
.full-field textarea{
  min-height:170px;
  padding:10px 11px;
  border-radius:10px;
  font-size:12.5px;
}
.swap-button{
  width:40px;
  height:40px;
  border-radius:10px;
}
.tool-action{
  margin-top:12px;
  min-height:42px;
  padding:0 16px;
}
.button.button-small{
  min-height:38px;
}

/* ---------- Results / messages ---------- */
.tool-result,
.decision-result{
  margin-top:11px !important;
  padding:12px 14px;
  border-radius:11px;
}
.tool-result .result-label,
.decision-result .result-label{
  margin-bottom:3px;
  font-size:7.5px;
}
.tool-result strong{
  font-size:15px;
  line-height:1.3;
}
.tool-result small{
  margin-top:3px;
  font-size:9px;
  line-height:1.35;
}
.tool-source-note{
  margin-top:7px !important;
  font-size:8.7px;
  line-height:1.4;
}
.tool-caution{
  margin-top:8px !important;
  padding:8px 10px;
  font-size:8.8px;
  line-height:1.4;
  border-left-width:2px;
}
.decision-result h3{
  margin-bottom:6px;
  font-size:16px;
}
.decision-result p,
.decision-result li{
  font-size:9.7px;
  line-height:1.45;
}
.result-metrics>div{
  padding:12px;
}
.result-metrics strong{
  font-size:18px;
}

/* ---------- Other tool-specific panels ---------- */
.calculator-stack{
  gap:9px;
}
.mini-calculator{
  padding:12px;
  border-radius:11px;
}
.mini-calculator h3{
  margin-bottom:9px;
  font-size:11.5px;
}
.inline-fields{
  gap:7px;
  margin-bottom:8px;
}
.mini-result{
  margin-top:7px;
  padding:8px 9px;
  min-height:30px;
}
.counter-grid{
  gap:7px;
  margin-top:10px;
}
.counter-grid>div{
  padding:11px;
  border-radius:10px;
}
.counter-grid strong{
  margin-top:3px;
  font-size:16px;
}
.case-buttons{
  gap:6px;
  margin-top:9px;
}
.case-buttons button{
  padding:7px 9px;
}
.file-drop{
  min-height:110px;
  padding:16px;
  border-radius:13px;
}
.image-result-shell{
  grid-template-columns:190px 1fr;
  gap:14px;
  margin-top:12px;
  padding:12px;
}
.image-result-shell img{
  height:120px;
}

/* ---------- Global card compactness across public pages ---------- */
.solution-card,
.directory-card,
.subject-card-v42,
.live-tool-card,
.tool-info-card,
.contact-help-grid-v42>div,
.contact-confidence-v42,
.knowledge-node-v42,
.journey-step-v42{
  border-radius:var(--compact-card-radius);
}
.solution-card,
.directory-card{
  padding:18px;
}
.solution-card h3,
.directory-card h3{
  margin-bottom:6px;
}
.solution-card p,
.directory-card p{
  line-height:1.5;
}
.subject-grid-v42>.subject-card-v42{
  min-height:132px;
  padding:17px 18px;
}
.subject-icon-v42{
  width:34px;
  height:34px;
  margin-bottom:10px !important;
}
.subject-grid-v42 strong{
  font-size:14px;
}
.subject-grid-v42 .subject-card-v42>span:last-child{
  margin-top:5px;
  font-size:11.7px;
}
.contact-help-grid-v42>div{
  min-height:66px;
  padding:9px 10px;
}
.contact-confidence-v42{
  padding:10px 11px;
}
.tool-info-card{
  padding:17px;
}
.tool-info-card h2{
  margin:4px 0 7px;
  font-size:19px;
}
.tool-info-card>p:last-child{
  font-size:10.8px;
}

/* ---------- Contact page compact flow ---------- */
.contact-form-grid{
  gap:34px;
}
.contact-copy-v42{
  padding-top:10px;
}
.contact-route-list-v42{
  margin-top:16px;
}
.contact-help-grid-v42{
  margin-top:16px;
}
.contact-confidence-v42{
  margin-top:9px;
}

/* ---------- Home / Solutions / Knowledge overall compactness ---------- */
.subject-intro-v42{
  margin-bottom:22px;
}
.subject-intro-v42>p:last-child{
  margin-top:10px;
}
.knowledge-hub-v42{
  min-height:325px;
}
.journey-shell-v42{
  padding:18px 18px 14px;
}
.journey-grid-v42{
  gap:7px 6px;
}
.journey-step-v42{
  min-height:74px;
  padding:8px 9px;
}
.journey-step-v42 small{
  font-size:8.4px;
}

/* ---------- Footer slight compaction ---------- */
.footer-main-v411{
  padding-block:42px 30px;
}
.footer-contact-strip-v411 a{
  min-height:52px;
}
.footer-bottom-v411{
  min-height:56px;
  padding-block:14px;
}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .tool-detail-hero-v434 .tool-detail-hero-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .tool-detail-hero-v434 .tool-detail-mini-card{
    min-height:100px;
  }
}
@media(max-width:760px){
  .section-block,
  .content-section,
  .tool-category-section,
  .tool-info-section{
    padding-top:28px;
    padding-bottom:28px;
  }
  .tool-detail-hero-v434{
    padding-top:6px;
  }
  .tool-detail-hero-v434 .tool-detail-hero-grid{
    padding:15px 13px 12px;
    border-radius:16px 16px 0 0;
  }
  .tool-detail-hero-v434 h1{
    font-size:29px;
  }
  .tool-detail-hero-v434 p{
    font-size:12.4px;
  }
  .tool-detail-hero-v434 .tool-detail-mini-card{
    min-height:88px;
    padding:15px 17px;
  }
  .tool-detail-hero-v434 .tool-detail-mini-card strong{
    margin-top:13px;
    font-size:15px;
  }
  .tool-steps-v434{
    grid-template-columns:1fr;
    gap:5px;
    margin-top:9px;
  }
  .tool-steps-v434>div{
    min-height:32px;
  }
  .tool-workspace-section-v434 .tool-workspace{
    padding:14px 12px 16px;
    border-radius:0 0 16px 16px;
  }
  .tool-workspace-label-v434{
    margin-bottom:8px;
  }
  .full-field textarea{
    min-height:145px;
  }
  .subject-grid-v42>.subject-card-v42{
    min-height:0;
  }
}



/* =========================================================
   V4.5.0 — Document Tools Foundation
   ========================================================= */
.selected-file-list{
  display:grid;gap:6px;margin-top:10px
}
.selected-file-list>div{
  display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;
  padding:8px 10px;border:1px solid #dbe5f0;border-radius:9px;background:#fff
}
.selected-file-list span{
  display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef4fd;color:#1760c4;font-size:7px;font-weight:900
}
.selected-file-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#25415f;font-size:9.5px}
.selected-file-list small{color:#718198;font-size:8px}
.pdf-image-output{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px
}
.pdf-image-card{
  display:grid;gap:8px;padding:10px;border:1px solid #d6e2ef;border-radius:12px;background:#fff
}
.pdf-image-card canvas{
  width:100%;height:180px;object-fit:contain;border-radius:8px;background:#f3f6fa
}
.pdf-image-card strong{color:#17365f;font-size:10px}
@media(max-width:900px){
  .pdf-image-output{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .pdf-image-output{grid-template-columns:1fr}
  .pdf-image-card canvas{height:150px}
}



/* =========================================================
   V4.6.0 — OCR, Text Tools & Uniform Document Tiles
   ========================================================= */
.tools-category-slate .tool-grid-v431{align-items:stretch}
.tools-category-slate .tool-card-v431{
  width:auto;min-width:0;min-height:118px
}
.tools-category-slate .tool-card-v431-copy{
  display:flex;min-height:86px;flex-direction:column
}
.tools-category-slate .tool-card-v431 p{flex:1}
.tools-category-slate .tool-card-v431 strong{margin-top:auto}
.ocr-progress-v460{
  display:grid;gap:7px;margin-top:12px;padding:10px 12px;
  border:1px solid #d8e4f0;border-radius:10px;background:#f8fbff
}
.ocr-progress-v460>div{
  height:7px;overflow:hidden;border-radius:99px;background:#e5edf7
}
.ocr-progress-v460>div>span{
  display:block;width:0;height:100%;border-radius:99px;
  background:linear-gradient(90deg,#1760c4,#d5a32b);transition:width .2s ease
}
.ocr-progress-v460 strong{color:#536b85;font-size:9px}
@media(max-width:1020px){
  .tools-category-slate .tool-grid-v431{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .tools-category-slate .tool-grid-v431{grid-template-columns:1fr}
}



/* =========================================================
   V4.7.0 — Document Conversion Tools
   ========================================================= */
.docx-preview-v470{
  max-height:560px;overflow:auto;margin-top:12px;padding:28px 34px;
  border:1px solid #d6e2ef;border-radius:12px;background:#fff;color:#172b45;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)
}
.docx-preview-v470 h1{font-size:26px;line-height:1.18;margin:18px 0 10px}
.docx-preview-v470 h2{font-size:21px;line-height:1.22;margin:17px 0 9px}
.docx-preview-v470 h3{font-size:17px;line-height:1.25;margin:15px 0 8px}
.docx-preview-v470 p,.docx-preview-v470 li{font-size:12px;line-height:1.55}
.docx-preview-v470 table{width:100%;border-collapse:collapse;margin:12px 0}
.docx-preview-v470 td,.docx-preview-v470 th{padding:6px 7px;border:1px solid #ccd8e6;font-size:10px}
.docx-preview-v470 img{max-width:100%;height:auto}
.docx-preview-v470 a{color:#1760c4;text-decoration:underline}
.docx-pdf-export-v470{position:fixed;left:-100000px;top:0;width:794px;background:#fff;z-index:-999}
@media(max-width:760px){.docx-preview-v470{max-height:460px;padding:18px 16px}}



/* V4.7.1 — document conversion reliability */
.conversion-library-note-v471{
  margin-top:8px;
  color:#6a7b90;
  font-size:8.7px;
  line-height:1.4;
}



/* =========================================================
   V4.7.2 — Conversion Fidelity Upgrade
   ========================================================= */
.docx-preview-v472{
  max-height:640px;
  overflow:auto;
  margin-top:12px;
  padding:16px;
  border:1px solid #d6e2ef;
  border-radius:13px;
  background:#edf2f7;
}
.docx-preview-v472 .docx-wrapper{
  padding:0 !important;
  background:transparent !important;
}
.docx-preview-v472 section.docx{
  margin:0 auto 16px !important;
  box-shadow:0 8px 24px rgba(12,35,65,.12);
  background:#fff;
}
.docx-preview-v472 section.docx:last-child{
  margin-bottom:0 !important;
}
.conversion-mode-note-v472{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #d7e3f0;
  border-left:3px solid #1760c4;
  border-radius:10px;
  background:#f8fbff;
  color:#5a6f87;
  font-size:9.4px;
  line-height:1.45;
}
.conversion-mode-note-v472 strong{
  color:#17365f;
}
@media(max-width:760px){
  .docx-preview-v472{
    max-height:500px;
    padding:8px;
  }
}



/* =========================================================
   V4.7.3 — Editable Fidelity Beta
   ========================================================= */
.docx-preview-v473{
  max-height:680px;
  overflow:auto;
  margin-top:12px;
  padding:14px;
  border:1px solid #d5e1ee;
  border-radius:13px;
  background:#eaf0f6;
}
.docx-preview-v473 #docx-pdf-preview{
  min-width:max-content;
}
.docx-preview-v473 section.docx{
  margin:0 auto 16px !important;
  background:#fff;
  box-shadow:0 8px 24px rgba(12,35,65,.12);
}
.docx-preview-v473 section.docx:last-child{margin-bottom:0 !important}
@media(max-width:760px){
  .docx-preview-v473{max-height:520px;padding:8px}
}



/* =========================================================
   V4.7.4 — Conversion Reliability
   ========================================================= */
.docx-preview-v473 #docx-pdf-style:empty{display:none}


/* =========================================================
   V4.8.0 — Digital Utility Tools
   ========================================================= */
.tools-category-digital-v480{position:relative;padding:34px 0 40px;scroll-margin-top:160px}
.tools-category-digital-v480::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#f6f9ff,#fbfdff)}
.tools-category-digital-v480>.section-shell{position:relative;z-index:1}
.qr-output-v480{display:grid;justify-items:center;gap:12px;margin-top:14px;padding:16px;border:1px solid #d7e3ef;border-radius:13px;background:#fff}
#qr-output{display:grid;place-items:center;max-width:100%;padding:10px;border-radius:10px;background:#fff}
#qr-output canvas,#qr-output img{max-width:100%;height:auto}
.speed-summary-v480,.loan-results-v480{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:8px}
.speed-summary-v480>div,.loan-results-v480>div{padding:13px 12px;border:1px solid #d8e3ef;border-radius:11px;background:#fff}
.speed-summary-v480 span,.loan-results-v480 span{display:block;color:#6b7d92;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.speed-summary-v480 strong,.loan-results-v480 strong{display:inline-block;margin-top:5px;color:#0b2558;font-size:21px}
.speed-summary-v480 small{margin-left:3px;color:#7c8da1;font-size:8px}
.speed-progress-v480{display:grid;gap:7px;margin-top:12px;padding:10px 12px;border:1px solid #d8e4f0;border-radius:10px;background:#f8fbff}
.speed-progress-v480>div{height:7px;overflow:hidden;border-radius:99px;background:#e5edf7}
.speed-progress-v480>div>span{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#1760c4,#d5a32b);transition:width .2s ease}
.speed-progress-v480 strong{color:#536b85;font-size:9px}
.three-col-v480{grid-template-columns:repeat(3,minmax(0,1fr))}
.loan-extra-result-v480{margin-top:10px;padding:10px 12px;border:1px solid #d9e4ef;border-left:3px solid #1760c4;border-radius:10px;background:#f8fbff;color:#546b85;font-size:9.5px;line-height:1.45}
.loan-extra-result-v480 strong{color:#17365f}
@media(max-width:900px){.speed-summary-v480,.loan-results-v480{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col-v480{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.speed-summary-v480,.loan-results-v480,.three-col-v480{grid-template-columns:1fr}}



/* =========================================================
   V4.9.0 — Trust & Production Foundation
   ========================================================= */
.skip-link-v490{
  position:fixed;
  left:14px;
  top:10px;
  z-index:99999;
  transform:translateY(-160%);
  padding:9px 12px;
  border-radius:8px;
  background:#0b2558;
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(4,25,60,.2);
}
.skip-link-v490:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(23,96,196,.38);
  outline-offset:3px;
}
.footer-trust-v490{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 18px;
  padding:12px 0 3px;
  border-top:1px solid rgba(113,137,166,.18);
}
.footer-trust-v490 a{
  color:#62768e;
  font-size:8.5px;
  font-weight:750;
  text-decoration:none;
}
.footer-trust-v490 a:hover{color:#1760c4}

.trust-hero-v490{padding:28px 0 22px;background:linear-gradient(180deg,#f6f9ff 0%,#fff 100%)}
.trust-hero-inner-v490{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.55fr);gap:28px;align-items:center}
.trust-hero-inner-v490 h1{max-width:760px;margin:8px 0 10px;font-size:clamp(32px,4vw,54px);line-height:1.02;color:#10244a}
.trust-hero-inner-v490>div>p{max-width:760px;color:#61758d;font-size:14px;line-height:1.7}
.trust-meta-v490{display:flex;align-items:center;gap:8px;margin-top:14px;color:#72859a;font-size:9px}
.trust-meta-v490 strong{color:#17365f}
.trust-summary-v490{display:grid;gap:7px;padding:18px;border:1px solid #dbe5ef;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(20,53,90,.06)}
.trust-summary-v490 p{margin:0;color:#17365f;font-weight:850}
.trust-summary-v490 a{color:#1760c4;font-size:10px;text-decoration:none}
.trust-content-v490{padding:28px 0 45px}
.trust-content-grid-v490{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;align-items:start}
.trust-article-v490{display:grid;gap:10px}
.trust-article-v490 section{padding:18px 20px;border:1px solid #e0e8f1;border-radius:13px;background:#fff}
.trust-article-v490 h2{margin:0 0 8px;color:#17365f;font-size:18px}
.trust-article-v490 p,.trust-article-v490 li{color:#5f7288;font-size:11px;line-height:1.72}
.trust-article-v490 p{margin:0 0 8px}.trust-article-v490 p:last-child{margin-bottom:0}
.trust-article-v490 a{color:#1760c4}
.trust-side-v490{position:sticky;top:108px;display:grid;gap:3px;padding:14px;border:1px solid #dce6f0;border-radius:12px;background:#f8fbff}
.trust-side-v490 strong{padding:5px 7px 8px;color:#17365f;font-size:10px}
.trust-side-v490 a{padding:7px;border-radius:7px;color:#5d7289;font-size:9px;font-weight:700;text-decoration:none}
.trust-side-v490 a:hover{background:#fff;color:#1760c4}

.not-found-v490{min-height:62vh;display:grid;place-items:center;padding:55px 0}
.not-found-inner-v490{text-align:center}
.not-found-code-v490{display:block;color:#d8a72e;font-size:72px;font-weight:950;line-height:1}
.not-found-inner-v490 h1{margin:7px auto 9px;max-width:760px;color:#10244a;font-size:clamp(30px,4vw,50px)}
.not-found-inner-v490>p:not(.kicker){max-width:640px;margin:0 auto 18px;color:#657991;font-size:13px;line-height:1.65}
.not-found-inner-v490 .button-row{justify-content:center}

@media(max-width:860px){
  .trust-hero-inner-v490,.trust-content-grid-v490{grid-template-columns:1fr}
  .trust-side-v490{position:static}
}
@media(max-width:560px){
  .trust-hero-v490{padding-top:20px}
  .trust-article-v490 section{padding:15px}
  .footer-trust-v490{gap:7px 12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}



/* =========================================================
   V5.0.0 — Account & Client Portal Foundation
   ========================================================= */
.auth-support-links-v500{display:flex;justify-content:center;gap:7px;margin:8px 0;font-size:8.5px}
.auth-support-links-v500 a{color:#1760c4;text-decoration:none;font-weight:750}
.auth-support-links-v500 span{color:#a5b0bd}
.auth-dashboard-link-v500{text-decoration:none}

.account-hero-v500{padding:32px 0 52px;background:linear-gradient(180deg,#f6f9ff,#fff)}
.account-grid-v500{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.75fr);gap:42px;align-items:center}
.account-intro-v500 h1{max-width:700px;margin:8px 0 12px;color:#10244a;font-size:clamp(34px,4.2vw,58px);line-height:1.02}
.account-intro-v500>p{max-width:670px;color:#63778f;font-size:14px;line-height:1.7}
.account-security-points-v500{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}
.account-security-points-v500>div{padding:14px;border:1px solid #dce6f0;border-radius:12px;background:#fff}
.account-security-points-v500 span{display:block;margin-bottom:7px;color:#d1a12b;font-size:9px;font-weight:900}
.account-security-points-v500 strong{display:block;color:#17365f;font-size:11px}
.account-security-points-v500 p{margin:4px 0 0;color:#6c7f94;font-size:9px;line-height:1.5}
.account-card-v500{padding:18px;border:1px solid #d7e3ef;border-radius:17px;background:#fff;box-shadow:0 18px 45px rgba(19,54,94,.09)}
.account-tabs-v500{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:10px;background:#f0f5fb}
.account-tabs-v500 button{border:0;border-radius:8px;padding:10px 12px;background:transparent;color:#6b7e94;font-size:10px;font-weight:850;cursor:pointer}
.account-tabs-v500 button.is-active{background:#fff;color:#17365f;box-shadow:0 4px 12px rgba(26,64,105,.08)}
.account-form-v500{display:grid;gap:11px;margin-top:14px}
.account-form-v500 label{display:grid;gap:5px;color:#294768;font-size:9px;font-weight:850}
.account-form-v500 input,.account-form-v500 select,.account-form-v500 textarea{width:100%;box-sizing:border-box;border:1px solid #d7e2ee;border-radius:9px;padding:11px 12px;background:#fff;color:#17365f;font:inherit;font-size:10px;outline:none}
.account-form-v500 input:focus,.account-form-v500 select:focus,.account-form-v500 textarea:focus{border-color:#6ca1df;box-shadow:0 0 0 3px rgba(39,111,196,.10)}
.account-form-v500 button{width:100%;justify-content:center;margin-top:2px}
.account-form-row-v500{display:flex;justify-content:flex-end}
.account-form-row-v500 a,.account-back-v500{color:#1760c4;font-size:9px;font-weight:750;text-decoration:none}
.account-terms-v500{margin:0;color:#77899d;font-size:8.5px;line-height:1.55}
.account-terms-v500 a{color:#1760c4}
.account-message-v500{display:none;margin-top:10px;padding:9px 11px;border:1px solid #cce1d8;border-radius:8px;background:#f2fbf6;color:#21704b;font-size:9px;line-height:1.5}
.account-message-v500.is-visible{display:block}
.account-message-v500.is-error{border-color:#f1cfce;background:#fff6f5;color:#a13d36}
.account-signed-v500{display:grid;gap:4px;margin-bottom:10px;padding:10px 12px;border:1px solid #cfe3d9;border-radius:9px;background:#f3fbf7}
.account-signed-v500 span{color:#6f8278;font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.account-signed-v500 strong{color:#24533d;font-size:10px}
.account-signed-v500 a{color:#1760c4;font-size:9px;font-weight:800;text-decoration:none}
.account-simple-v500{min-height:58vh;display:grid;place-items:center;padding:42px 0 58px;background:linear-gradient(180deg,#f7faff,#fff)}
.account-simple-card-v500{max-width:520px;margin:auto;padding:26px;border:1px solid #dbe5ef;border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(17,50,90,.07)}
.account-simple-card-v500 h1{margin:7px 0 9px;color:#10244a;font-size:32px}
.account-simple-card-v500>p{color:#657990;font-size:11px;line-height:1.65}
.account-confirm-card-v500{text-align:center}
.account-confirm-icon-v500{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:50%;background:#edf9f2;color:#2b8a5d;font-size:22px;font-weight:900}
.account-confirm-card-v500 .button{margin-top:12px}
.is-disabled-v500 form{opacity:.45;pointer-events:none}

.client-loading-v500{min-height:70vh;display:grid;place-items:center;align-content:center;gap:12px;background:#f5f8fc;color:#17365f}
.client-loading-mark-v500{width:34px;height:34px;border:4px solid #dfe8f3;border-top-color:#1760c4;border-radius:50%;animation:client-spin-v500 .8s linear infinite}
@keyframes client-spin-v500{to{transform:rotate(360deg)}}
.client-app-v500{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f8fc}
.client-sidebar-v500{position:sticky;top:0;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;padding:18px 15px;border-right:1px solid #dce5ef;background:#0c2854;color:#fff;z-index:20}
.client-brand-v500{display:flex;align-items:center;gap:10px;padding:3px 5px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.client-brand-v500 img{width:42px;height:42px;object-fit:contain;border-radius:9px;background:#fff;padding:3px}
.client-brand-v500 strong{display:block;font-size:11px}.client-brand-v500 span{display:block;margin-top:2px;color:#aebfd6;font-size:8px}
.client-user-v500{display:grid;gap:2px;margin:14px 2px;padding:11px;border-radius:10px;background:rgba(255,255,255,.07)}
.client-user-v500 span{color:#aebed3;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em}.client-user-v500 strong{font-size:11px}.client-user-v500 small{color:#b9c7da;font-size:8px;overflow:hidden;text-overflow:ellipsis}
.client-nav-v500{display:grid;gap:3px}
.client-nav-v500 button{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:8px;padding:9px 10px;background:transparent;color:#c8d4e4;font-size:9.5px;font-weight:780;text-align:left;cursor:pointer}
.client-nav-v500 button span{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.07);font-size:7px}
.client-nav-v500 button:hover,.client-nav-v500 button.is-active{background:#fff;color:#17365f}
.client-nav-v500 button.is-active span{background:#eaf2ff;color:#1760c4}
.client-sidebar-bottom-v500{display:grid;gap:6px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.client-sidebar-bottom-v500 a,.client-sidebar-bottom-v500 button{border:0;background:none;color:#b9c8da;font-size:8.5px;font-weight:750;text-align:left;text-decoration:none;cursor:pointer;padding:4px}
.client-main-v500{min-width:0}
.client-topbar-v500{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:12px;min-height:64px;padding:0 26px;border-bottom:1px solid #dce5ef;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.client-topbar-v500>button{display:none;border:1px solid #d7e1ec;border-radius:8px;background:#fff;padding:7px 9px;color:#17365f}
.client-topbar-v500>div{display:grid}.client-topbar-v500>div span{color:#75899e;font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.client-topbar-v500>div strong{color:#17365f;font-size:10px}
.client-topbar-v500>a{margin-left:auto;color:#1760c4;font-size:9px;font-weight:800;text-decoration:none}
.client-global-status-v500,.client-role-notice-v500{margin:14px 28px 0;padding:10px 12px;border:1px solid #cce1d8;border-radius:9px;background:#f2fbf6;color:#286748;font-size:9px}
.client-global-status-v500.is-error{border-color:#efcfcd;background:#fff6f5;color:#a13f38}
.client-role-notice-v500{border-color:#d8e2ee;background:#f8fbff;color:#526d8b}
.client-section-v500{padding:26px 28px 42px}
.client-section-head-v500{display:flex;align-items:flex-start;gap:18px;margin-bottom:16px}
.client-section-head-v500>div>span,.client-panel-head-v500>div>span{display:block;color:#3b73b9;font-size:7.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.client-section-head-v500 h1{margin:4px 0 0;color:#10244a;font-size:28px;line-height:1.08}
.client-section-head-v500 p{margin:5px 0 0;color:#71849a;font-size:10px}
.client-section-head-v500>button{margin-left:auto;border:1px solid #cbd9e8;border-radius:8px;padding:8px 11px;background:#fff;color:#1760c4;font-size:8.5px;font-weight:850;cursor:pointer}
.client-stat-grid-v500{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px}
.client-stat-grid-v500 article{padding:15px;border:1px solid #dbe4ee;border-radius:12px;background:#fff}
.client-stat-grid-v500 span{display:block;color:#74879c;font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.client-stat-grid-v500 strong{display:block;margin:4px 0;color:#17365f;font-size:25px}.client-stat-grid-v500 strong.is-date-v500{font-size:18px}
.client-stat-grid-v500 small{color:#8a9aac;font-size:8px}
.client-two-col-v500{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:13px}
.client-two-col-wide-v500{grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr)}
.client-panel-v500{min-width:0;padding:15px;border:1px solid #dce5ef;border-radius:12px;background:#fff}
.client-panel-head-v500{display:flex;gap:12px;align-items:center;padding-bottom:11px;border-bottom:1px solid #edf1f5}
.client-panel-head-v500 h2{margin:3px 0 0;color:#17365f;font-size:15px}
.client-panel-head-v500 button{margin-left:auto;border:0;background:none;color:#1760c4;font-size:8px;font-weight:850;cursor:pointer}
.client-project-list-v500{display:grid;gap:9px;margin-top:11px}
.client-project-card-v500{padding:12px;border:1px solid #e0e7ef;border-radius:10px;background:#fbfdff}
.client-project-card-head-v500{display:flex;align-items:flex-start;gap:10px}
.client-project-card-head-v500 h3{margin:3px 0 0;color:#17365f;font-size:12px}
.client-mini-label-v500{color:#8a9aac;font-size:7px;text-transform:uppercase}
.client-status-v500{margin-left:auto;border-radius:99px;padding:4px 7px;background:#edf3fa;color:#4e6b8a;font-size:7px;font-weight:850;white-space:nowrap}
.status-completed{background:#eaf8f0;color:#28714e}.status-in_progress{background:#eaf2ff;color:#2462aa}.status-awaiting_client{background:#fff6e3;color:#926b13}.status-cancelled{background:#f2f2f2;color:#6f747b}
.client-project-card-v500>p{margin:8px 0;color:#687b90;font-size:9px;line-height:1.55}
.client-project-meta-v500{display:flex;gap:18px}.client-project-meta-v500 span{display:grid;color:#7d8fa2;font-size:8px}.client-project-meta-v500 strong{color:#526b86;font-size:7px;text-transform:uppercase}
.client-card-actions-v500{display:flex;gap:7px;margin-top:9px}.client-card-actions-v500 button{border:0;background:none;padding:0;color:#1760c4;font-size:7.8px;font-weight:800;cursor:pointer}
.client-empty-v500{padding:22px 12px;text-align:center;color:#8090a2}.client-empty-v500 strong{display:block;color:#5b718a;font-size:10px}.client-empty-v500 p{margin:4px 0;font-size:8.5px}
.client-activity-list-v500{display:grid;gap:8px;margin-top:11px}
.client-activity-row-v500{display:grid;grid-template-columns:10px 1fr;gap:9px}.client-activity-row-v500>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#d3a129;box-shadow:0 0 0 4px #fff5d8}
.client-activity-row-v500 strong{display:block;color:#405e7e;font-size:9px}.client-activity-row-v500 p{margin:3px 0;color:#73869a;font-size:8.5px;line-height:1.45}.client-activity-row-v500 small{color:#9aa7b4;font-size:7px}
.client-form-v500{display:grid;gap:10px;margin-top:12px}.client-form-v500 label{display:grid;gap:5px;color:#405e7d;font-size:8.5px;font-weight:850}.client-form-v500 label span{font-weight:600;color:#9aa7b4}
.client-form-v500 input,.client-form-v500 select,.client-form-v500 textarea{width:100%;box-sizing:border-box;border:1px solid #d7e2ed;border-radius:8px;padding:10px 11px;background:#fff;color:#17365f;font:inherit;font-size:9.5px}
.client-form-v500 textarea{resize:vertical}.client-form-v500 .button{justify-content:center}
.client-form-note-v500{margin:0;color:#8796a7;font-size:8px;line-height:1.5}
.client-sync-note-v500{margin:10px 0 0;color:#9aa7b4;font-size:7.5px;text-align:center}
.client-deadline-list-v500{display:grid}.client-deadline-row-v500{display:flex;justify-content:space-between;gap:20px;padding:12px 3px;border-bottom:1px solid #edf1f5}.client-deadline-row-v500:last-child{border-bottom:0}
.client-deadline-row-v500>div{display:grid;gap:2px}.client-deadline-row-v500>div:last-child{text-align:right}.client-deadline-row-v500 strong{color:#405e7d;font-size:10px}.client-deadline-row-v500 span{color:#8a99aa;font-size:8px}
.client-message-list-v500{display:grid;gap:8px;max-height:520px;overflow:auto;margin-top:11px;padding-right:4px}
.client-message-v500{max-width:86%;padding:10px 11px;border:1px solid #e0e7ef;border-radius:10px;background:#f7f9fc}.client-message-v500.is-mine{margin-left:auto;background:#eef5ff;border-color:#d5e4f8}
.client-message-v500>div{display:flex;align-items:center;gap:7px}.client-message-v500 strong{color:#3f5e7d;font-size:8.5px}.client-message-v500 span{color:#8293a6;font-size:7px}.client-message-v500 small{margin-left:auto;color:#9ba9b7;font-size:6.8px}
.client-message-v500 p{margin:6px 0 0;color:#62768c;font-size:8.8px;line-height:1.5;white-space:pre-wrap}
.client-file-list-v500{display:grid;margin-top:10px}.client-file-row-v500{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid #edf1f5}.client-file-row-v500:last-child{border-bottom:0}
.client-file-row-v500>div{display:grid;gap:2px;min-width:0}.client-file-row-v500 strong{overflow:hidden;text-overflow:ellipsis;color:#405f7f;font-size:9px}.client-file-row-v500 span,.client-file-row-v500 small{color:#8a9aaa;font-size:7.5px}
.client-file-row-v500 button{margin-left:auto;border:1px solid #d3dfeb;border-radius:7px;padding:6px 8px;background:#fff;color:#1760c4;font-size:7.5px;font-weight:850;cursor:pointer}
.client-account-summary-v500{display:grid;align-content:start;gap:10px}.client-account-summary-v500>div{display:grid;gap:3px;padding:10px;border-radius:8px;background:#f8fbff}.client-account-summary-v500 span{color:#8191a3;font-size:7px;text-transform:uppercase}.client-account-summary-v500 strong{color:#405f7e;font-size:10px}.client-account-summary-v500 a{color:#1760c4;font-size:8.5px;font-weight:800;text-decoration:none}

@media(max-width:1000px){
  .account-grid-v500{grid-template-columns:1fr}
  .account-security-points-v500{grid-template-columns:repeat(3,1fr)}
  .client-stat-grid-v500{grid-template-columns:repeat(2,1fr)}
  .client-two-col-v500,.client-two-col-wide-v500{grid-template-columns:1fr}
}
@media(max-width:860px){
  .client-app-v500{grid-template-columns:1fr}
  .client-sidebar-v500{position:fixed;left:0;top:0;transform:translateX(-105%);width:248px;transition:transform .2s ease;box-shadow:14px 0 30px rgba(10,31,64,.14)}
  .client-sidebar-v500.is-open{transform:translateX(0)}
  .client-topbar-v500>button{display:block}
}
@media(max-width:620px){
  .account-hero-v500{padding-top:20px}
  .account-security-points-v500{grid-template-columns:1fr}
  .account-card-v500{padding:14px}
  .client-section-v500{padding:20px 14px 32px}
  .client-topbar-v500{padding:0 14px}
  .client-global-status-v500,.client-role-notice-v500{margin:12px 14px 0}
  .client-stat-grid-v500{grid-template-columns:1fr 1fr;gap:8px}
  .client-stat-grid-v500 article{padding:12px}
  .client-section-head-v500{display:grid}
  .client-section-head-v500>button{margin-left:0;justify-self:start}
  .client-project-meta-v500{display:grid;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .client-loading-mark-v500{animation:none}
  .client-sidebar-v500{transition:none}
}


/* =========================================================
   V5.1.0 — Portal UX, Project Details & Notifications
   ========================================================= */
.auth-slot{
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-client-account-v510,
.nav-account-primary-v510,
.nav-account-secondary-v510,
.nav-login-v510,
.nav-account-logout-v510{
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
}
.nav-client-account-v510{
  color:#1760c4;
  text-decoration:none;
  padding:6px 0;
  border-bottom:2px solid rgba(23,96,196,.22);
}
.nav-client-account-v510:hover{border-bottom-color:#1760c4}
.nav-account-primary-v510{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border-radius:8px;
  background:#1760c4;
  color:#fff;
  text-decoration:none;
  box-shadow:0 7px 16px rgba(23,96,196,.15);
}
.nav-account-secondary-v510{color:#1760c4;text-decoration:none}
.nav-account-logout-v510{
  border:0;
  background:none;
  color:#718399;
  cursor:pointer;
  padding:3px 0;
}
.nav-account-logout-v510:hover{color:#17365f}

.password-wrap-v510{
  position:relative;
  display:block;
  width:100%;
}
.password-wrap-v510 input{padding-right:58px!important}
.password-toggle-v510{
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%);
  min-width:42px;
  border:0;
  border-radius:6px;
  padding:5px 6px;
  background:#edf4fd;
  color:#1760c4;
  font-size:7.5px;
  font-weight:850;
  cursor:pointer;
}
.account-signed-actions-v510{display:flex;gap:8px;margin-top:7px}
.account-signed-actions-v510 .button{width:auto;margin:0}

.client-portal-page-v510 .site-header,
.client-portal-page-v510 .site-footer,
.client-portal-page-v510 .auth-overlay,
.client-portal-page-v510 .skip-link-v490{
  display:none!important;
}
.client-portal-page-v510{
  margin:0;
  background:#f5f8fc;
}
.client-portal-page-v510 main#main{min-height:100vh}
.client-portal-page-v510 .client-loading-v500{
  position:fixed;
  inset:0;
  z-index:500;
  min-height:0;
  background:linear-gradient(180deg,#f4f8fd,#eef4fb);
}
.client-portal-page-v510 .client-loading-v500::before{
  content:"Naeem Insights";
  margin-bottom:4px;
  color:#10244a;
  font-size:18px;
  font-weight:900;
}
.client-portal-page-v510 .client-loading-v500 strong{
  color:#60758e;
  font-size:10px;
}
.client-top-actions-v510{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.client-top-actions-v510>a{
  color:#1760c4;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}
.client-notification-wrap-v510{position:relative}
.client-notification-button-v510{
  display:flex;
  align-items:center;
  gap:6px;
  border:1px solid #d5e1ed;
  border-radius:8px;
  padding:7px 9px;
  background:#fff;
  color:#405e7d;
  font-size:8.5px;
  font-weight:850;
  cursor:pointer;
}
.client-notification-button-v510 strong{
  display:grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:99px;
  background:#dba72b;
  color:#fff;
  font-size:7px;
}
.client-notification-panel-v510{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(370px,calc(100vw - 36px));
  max-height:440px;
  overflow:auto;
  border:1px solid #d7e2ee;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 45px rgba(22,53,90,.14);
  z-index:100;
}
.client-notification-head-v510{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border-bottom:1px solid #edf1f5;
  background:#fff;
}
.client-notification-head-v510>div{display:grid}
.client-notification-head-v510 span{color:#8293a6;font-size:7px;text-transform:uppercase;font-weight:850}
.client-notification-head-v510 strong{color:#17365f;font-size:11px}
.client-notification-head-v510 button{margin-left:auto;border:0;background:none;color:#1760c4;font-size:7.5px;font-weight:850;cursor:pointer}
.client-notification-list-v510{display:grid}
.client-notification-item-v510{
  position:relative;
  display:grid;
  grid-template-columns:8px 1fr;
  gap:8px;
  width:100%;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid #eef2f6;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.client-notification-item-v510>span{width:6px;height:6px;margin-top:4px;border-radius:50%;background:#cad5e1}
.client-notification-item-v510.is-unread{background:#f5f9ff}
.client-notification-item-v510.is-unread>span{background:#1760c4;box-shadow:0 0 0 3px #e6f0ff}
.client-notification-item-v510 strong{display:block;color:#405e7d;font-size:8.8px}
.client-notification-item-v510 p{margin:3px 0;color:#75879a;font-size:7.8px;line-height:1.45}
.client-notification-item-v510 small{color:#9ba8b7;font-size:6.8px}
.client-notification-empty-v510{padding:22px;text-align:center;color:#8595a7;font-size:8px}

.client-alert-strip-v510{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:13px;
  padding:12px 14px;
  border:1px solid #dce6f0;
  border-left:3px solid #d5a12c;
  border-radius:11px;
  background:#fffdf7;
}
.client-alert-strip-v510>div{min-width:0}
.client-alert-strip-v510 span{display:block;color:#9c7a29;font-size:7px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.client-alert-strip-v510 strong{display:block;margin-top:2px;color:#405e7d;font-size:10px}
.client-alert-strip-v510 p{margin:3px 0 0;color:#75869a;font-size:8.5px;line-height:1.45}
.client-alert-strip-v510 button{margin-left:auto;border:0;border-radius:7px;padding:7px 9px;background:#17365f;color:#fff;font-size:7.5px;font-weight:850;cursor:pointer}

.client-project-description-v510{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.client-detail-button-v510{color:#0f54aa!important;font-weight:900!important}
.client-activity-button-v510{
  width:100%;
  border:0;
  background:none;
  padding:0;
  text-align:left;
  cursor:pointer;
}
.client-message-project-link-v510{
  margin-top:6px;
  border:0;
  background:none;
  padding:0;
  color:#1760c4;
  font-size:7px;
  font-weight:850;
  cursor:pointer;
}
.client-deadline-row-v500{
  width:100%;
  border-left:0;
  border-right:0;
  border-top:0;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.client-deadline-row-v500:hover{background:#f8fbff}

.project-detail-overlay-v510{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(8,27,54,.58);
  backdrop-filter:blur(5px);
}
.project-detail-modal-v510{
  position:relative;
  width:min(980px,100%);
  max-height:92vh;
  overflow:auto;
  padding:20px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 28px 80px rgba(5,24,50,.24);
}
.project-detail-close-v510{
  position:absolute;
  right:14px;
  top:12px;
  border:0;
  background:none;
  color:#70839a;
  font-size:24px;
  cursor:pointer;
}
.project-detail-head-v510{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding-right:36px;
}
.project-detail-head-v510>div>span{color:#3b73b9;font-size:7.5px;text-transform:uppercase;font-weight:900;letter-spacing:.07em}
.project-detail-head-v510 h2{margin:4px 0 0;color:#10244a;font-size:24px}
.project-detail-head-v510>.client-status-v500{margin-left:auto}
.project-detail-summary-v510{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:15px 0 10px;
}
.project-detail-summary-v510>div{
  padding:10px;
  border:1px solid #e0e7ef;
  border-radius:9px;
  background:#f9fbfd;
}
.project-detail-summary-v510 span,
.project-detail-description-v510>span,
.project-detail-section-head-v510>span{
  display:block;
  color:#8797a8;
  font-size:7px;
  text-transform:uppercase;
  font-weight:850;
  letter-spacing:.06em;
}
.project-detail-summary-v510 strong{display:block;margin-top:3px;color:#405e7d;font-size:9px}
.project-detail-description-v510{
  padding:12px;
  border:1px solid #e0e7ef;
  border-radius:10px;
}
.project-detail-description-v510 p{
  margin:6px 0 0;
  color:#5f738a;
  font-size:9.5px;
  line-height:1.6;
  white-space:pre-wrap;
}
.project-detail-grid-v510{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.project-detail-grid-v510>section,
.project-detail-modal-v510>section{
  padding:12px;
  border:1px solid #e0e7ef;
  border-radius:10px;
  margin-top:10px;
}
.project-detail-grid-v510>section{margin-top:0}
.project-detail-section-head-v510 strong{display:block;margin-top:2px;color:#405e7d;font-size:10px}
.project-detail-feed-v510{display:grid;gap:7px;margin-top:8px;max-height:260px;overflow:auto}
.project-detail-feed-item-v510{
  padding:9px;
  border-radius:8px;
  background:#f7f9fc;
}
.project-detail-feed-item-v510.is-client{background:#eef5ff}
.project-detail-feed-item-v510 strong{color:#405e7d;font-size:8px}
.project-detail-feed-item-v510 p{margin:3px 0;color:#64788f;font-size:8.5px;line-height:1.5;white-space:pre-wrap}
.project-detail-feed-item-v510 small{color:#96a4b3;font-size:6.8px}
.project-detail-files-v510{display:grid;gap:6px;margin-top:8px}
.project-detail-files-v510 button{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  border:1px solid #e0e7ef;
  border-radius:8px;
  padding:8px 9px;
  background:#fff;
  color:#405e7d;
  text-align:left;
  cursor:pointer;
}
.project-detail-files-v510 button span{overflow:hidden;text-overflow:ellipsis;font-size:8.5px}
.project-detail-files-v510 button strong{margin-left:auto;color:#1760c4;font-size:7.5px}
.project-detail-actions-v510{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

@media(max-width:860px){
  .nav-account-secondary-v510{display:none}
  .project-detail-grid-v510{grid-template-columns:1fr}
}
@media(max-width:620px){
  .auth-slot{gap:6px}
  .nav-client-account-v510,.nav-account-primary-v510,.nav-login-v510,.nav-account-logout-v510{font-size:8.5px}
  .nav-account-logout-v510{display:none}
  .client-top-actions-v510>a{display:none}
  .project-detail-overlay-v510{padding:8px}
  .project-detail-modal-v510{padding:15px;max-height:96vh}
  .project-detail-summary-v510{grid-template-columns:1fr}
  .project-detail-head-v510 h2{font-size:20px}
}


/* =========================================================
   V5.1.2 — Standard Login & Registration System
   ========================================================= */
.auth-slot{
  display:flex;
  align-items:center;
  gap:9px;
}
.nav-login-standard-v512{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 2px;
  border-bottom:2px solid transparent;
  color:#10244a;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.nav-login-standard-v512:hover,
.nav-login-standard-v512:focus-visible{
  color:#1760c4;
  border-bottom-color:#1760c4;
}
.nav-dashboard-standard-v512{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:8px;
  background:#1760c4;
  color:#fff;
  font-size:9.5px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 7px 17px rgba(23,96,196,.15);
}
.nav-account-standard-v512{
  color:#1760c4;
  font-size:9px;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.nav-logout-standard-v512{
  border:0;
  background:none;
  color:#74869a;
  padding:0;
  font-size:8.5px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.nav-logout-standard-v512:hover{color:#17365f}

.account-standard-section-v512{
  padding:32px 0 54px;
  background:linear-gradient(180deg,#f6f9ff 0%,#ffffff 100%);
}
.account-standard-layout-v512{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(370px,470px);
  gap:44px;
  align-items:start;
}
.account-standard-intro-v512{
  padding-top:25px;
}
.account-standard-intro-v512 h1{
  max-width:680px;
  margin:8px 0 12px;
  color:#10244a;
  font-size:clamp(34px,4vw,56px);
  line-height:1.03;
}
.account-standard-intro-v512>p{
  max-width:650px;
  color:#64788f;
  font-size:13px;
  line-height:1.7;
}
.account-standard-points-v512{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:22px;
}
.account-standard-points-v512>div{
  padding:13px;
  border:1px solid #dde6ef;
  border-radius:11px;
  background:#fff;
}
.account-standard-points-v512 span{
  display:block;
  color:#d3a22d;
  font-size:8px;
  font-weight:900;
}
.account-standard-points-v512 strong{
  display:block;
  margin-top:5px;
  color:#17365f;
  font-size:10px;
}
.account-standard-points-v512 p{
  margin:4px 0 0;
  color:#74869b;
  font-size:8.5px;
  line-height:1.5;
}
.account-standard-card-v512{
  padding:19px;
  border:1px solid #d6e2ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 46px rgba(18,52,91,.09);
}
.account-standard-tabs-v512{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  border-radius:10px;
  background:#eff4fa;
}
.account-standard-tabs-v512 button{
  border:0;
  border-radius:8px;
  padding:10px;
  background:transparent;
  color:#728399;
  font-size:9.5px;
  font-weight:900;
  cursor:pointer;
}
.account-standard-tabs-v512 button.is-active{
  background:#fff;
  color:#17365f;
  box-shadow:0 4px 12px rgba(25,61,103,.08);
}
.account-standard-heading-v512{
  margin:16px 0 12px;
}
.account-standard-heading-v512>span{
  color:#3b73b9;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.account-standard-heading-v512 h2{
  margin:3px 0 5px;
  color:#10244a;
  font-size:22px;
}
.account-standard-heading-v512 p{
  margin:0;
  color:#718399;
  font-size:9px;
  line-height:1.55;
}
.account-standard-form-v512{
  display:grid;
  gap:11px;
}
.account-standard-form-v512>label:not(.show-password-check-v512){
  display:grid;
  gap:5px;
  color:#405e7d;
  font-size:8.5px;
  font-weight:850;
}
.account-standard-form-v512 input[type="email"],
.account-standard-form-v512 input[type="text"],
.account-standard-form-v512 input[type="password"]{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d6e1ec;
  border-radius:8px;
  padding:10px 11px;
  background:#fff;
  color:#17365f;
  font:inherit;
  font-size:9.5px;
}
.account-standard-form-v512 input:focus{
  border-color:#75a6df;
  outline:3px solid rgba(23,96,196,.10);
  outline-offset:0;
}
.show-password-check-v512{
  display:flex!important;
  align-items:center;
  gap:7px;
  width:max-content;
  color:#657b93!important;
  font-size:8.5px!important;
  font-weight:750!important;
  cursor:pointer;
}
.show-password-check-v512 input{
  width:14px!important;
  height:14px;
  margin:0;
  accent-color:#1760c4;
}
.account-standard-help-row-v512{
  display:flex;
  justify-content:flex-end;
  margin-top:-3px;
}
.account-standard-help-row-v512 a{
  color:#1760c4;
  font-size:8.5px;
  font-weight:800;
  text-decoration:none;
}
.account-standard-submit-v512{
  width:100%;
  justify-content:center;
}
.account-standard-switch-v512{
  margin:13px 0 0;
  padding-top:12px;
  border-top:1px solid #edf1f5;
  color:#75879a;
  font-size:8.8px;
  text-align:center;
}
.account-standard-switch-v512 button{
  border:0;
  background:none;
  padding:0;
  color:#1760c4;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.account-standard-terms-v512{
  margin:0;
  color:#8796a7;
  font-size:7.8px;
  line-height:1.5;
}
.account-standard-terms-v512 a{color:#1760c4}
.account-standard-message-v512{
  display:none;
  margin-top:11px;
  padding:9px 10px;
  border:1px solid #cce2d7;
  border-radius:8px;
  background:#f2fbf6;
  color:#286a4a;
  font-size:8.5px;
  line-height:1.5;
}
.account-standard-message-v512.is-visible{display:block}
.account-standard-message-v512.is-error{
  border-color:#efcfcd;
  background:#fff6f5;
  color:#a33d37;
}
.account-signed-state-v512{
  padding:18px;
  border:1px solid #cfe2d8;
  border-radius:11px;
  background:#f4fbf7;
}
.account-signed-state-v512>span{
  display:block;
  color:#6f8778;
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.account-signed-state-v512>strong{
  display:block;
  margin-top:3px;
  color:#24543d;
  font-size:12px;
}
.account-signed-state-v512>p{
  color:#678273;
  font-size:8.5px;
}
.account-signed-state-v512>div{
  display:flex;
  gap:8px;
  margin-top:10px;
}

@media(max-width:960px){
  .account-standard-layout-v512{grid-template-columns:1fr}
  .account-standard-intro-v512{padding-top:0}
}
@media(max-width:680px){
  .account-standard-points-v512{grid-template-columns:1fr}
  .account-standard-card-v512{padding:14px}
  .nav-account-standard-v512{display:none}
  .nav-logout-standard-v512{display:none}
}


/* =========================================================
   V5.1.3 — Navigation & Dashboard Stability
   ========================================================= */

/* Keep the normal Naeem Insights site navigation available on the client portal. */
.client-portal-page-v510 .site-header{
  display:block!important;
}
.client-portal-page-v510 .site-footer{
  display:block!important;
}
.client-portal-page-v510 .skip-link-v490{
  display:block!important;
}

/* The old public authentication modal is intentionally not used. */
.client-portal-page-v510 .auth-overlay{
  display:none!important;
}

/* Dashboard should sit normally below the website header instead of behaving
   like an isolated full-screen application. */
.client-portal-page-v510{
  background:#f5f8fc;
}
.client-portal-page-v510 main#main{
  min-height:auto;
}

/* Loading state: compact and non-blocking, rather than a fixed full-screen layer. */
.client-portal-page-v510 .client-loading-v500{
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  min-height:320px!important;
  width:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  background:linear-gradient(180deg,#f5f8fc,#eef4fb);
}
.client-portal-page-v510 .client-loading-v500::before{
  content:"Naeem Insights Client Workspace";
  margin-bottom:2px;
  color:#10244a;
  font-size:16px;
  font-weight:900;
}

/* Project Details MUST remain closed until explicitly opened. */
.project-detail-overlay-v510[hidden]{
  display:none!important;
}

/* When open, it appears above the dashboard but does not alter navigation state. */
.project-detail-overlay-v510:not([hidden]){
  display:grid!important;
}

/* Keep the project-details action visible and clear. */
.client-detail-button-v510{
  border-radius:6px!important;
  padding:4px 7px!important;
  background:#edf4fd!important;
  color:#0f54aa!important;
}

/* Prevent narrow desktop header crowding. */
@media(max-width:1120px){
  .nav-account-standard-v512{
    display:none;
  }
}


/* =========================================================
   V5.1.4 — Dashboard Loader Fix
   ========================================================= */
#client-loading[hidden],
.client-loading-v500[hidden]{
  display:none!important;
}
#client-app[hidden],
.client-app-v500[hidden]{
  display:none!important;
}
.client-portal-page-v510 .client-loading-v500{
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  min-height:150px!important;
  width:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  padding:24px 0;
  box-sizing:border-box;
  background:linear-gradient(180deg,#f5f8fc,#f1f6fb);
}
.client-portal-page-v510 .client-loading-v500::before{
  content:"Secure Client Workspace";
  margin:0;
  color:#17365f;
  font-size:11px;
  font-weight:850;
}
.client-portal-page-v510 .client-loading-v500 strong{
  color:#70849a;
  font-size:8.5px;
  font-weight:750;
}
.client-portal-page-v510 .client-loading-mark-v500{
  width:24px;
  height:24px;
  border-width:3px;
}


/* =========================================================
   V5.2.0 — Admin & Staff Portal
   ========================================================= */
.team-portal-page-v520{background:#f5f8fc}
.team-loading-v520{
  min-height:150px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:24px 0;
  background:linear-gradient(180deg,#f5f8fc,#eef4fb);
  color:#17365f;
}
.team-loading-v520[hidden],
.team-app-v520[hidden],
.team-project-overlay-v520[hidden]{display:none!important}
.team-loading-v520 strong{font-size:9px;color:#71849a}

.team-app-v520{
  min-height:760px;
  display:grid;
  grid-template-columns:248px minmax(0,1fr);
  border-top:1px solid #dce5ef;
  background:#f5f8fc;
}
.team-sidebar-v520{
  position:sticky;
  top:76px;
  height:calc(100vh - 76px);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  padding:18px 15px;
  background:#0c2854;
  color:#fff;
  z-index:20;
}
.team-main-v520{min-width:0}
.team-topbar-v520{top:76px}
.team-top-actions-v520{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.team-top-actions-v520>a{
  color:#1760c4;
  font-size:8.5px;
  font-weight:850;
  text-decoration:none;
}

.team-section-v520{padding:25px 28px 42px}
.team-section-head-v520{
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:15px;
}
.team-section-head-v520>div>span,
.team-panel-head-v520>div>span,
.team-detail-head-v520>div>span{
  display:block;
  color:#3b73b9;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.team-section-head-v520 h1{
  margin:4px 0 0;
  color:#10244a;
  font-size:28px;
  line-height:1.08;
}
.team-section-head-v520 p{
  margin:5px 0 0;
  color:#71849a;
  font-size:9.5px;
}
.team-section-head-v520>button{
  margin-left:auto;
  border:1px solid #d3deea;
  border-radius:8px;
  padding:8px 10px;
  background:#fff;
  color:#1760c4;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}

.team-stat-grid-v520{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  margin-bottom:13px;
}
.team-stat-grid-v520 article{
  padding:15px;
  border:1px solid #dbe4ee;
  border-radius:12px;
  background:#fff;
}
.team-stat-grid-v520 span{
  display:block;
  color:#74879c;
  font-size:7px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.team-stat-grid-v520 strong{
  display:block;
  margin:4px 0;
  color:#17365f;
  font-size:25px;
}
.team-stat-grid-v520 small{color:#8a9aac;font-size:7.7px}

.team-two-col-v520{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);
  gap:13px;
}
.team-panel-v520{
  min-width:0;
  padding:15px;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#fff;
}
.team-panel-head-v520{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:10px;
  border-bottom:1px solid #edf1f5;
}
.team-panel-head-v520 h2,
.team-panel-head-v520 h3{
  margin:3px 0 0;
  color:#17365f;
  font-size:14px;
}
.team-panel-head-v520 button{
  margin-left:auto;
  border:0;
  background:none;
  color:#1760c4;
  font-size:7.5px;
  font-weight:850;
  cursor:pointer;
}

.team-toolbar-v520{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.team-toolbar-v520 input,
.team-toolbar-v520 select{
  min-height:36px;
  box-sizing:border-box;
  border:1px solid #d7e2ed;
  border-radius:8px;
  padding:8px 10px;
  background:#fff;
  color:#405e7d;
  font:inherit;
  font-size:8.5px;
}
.team-toolbar-v520 input{flex:1 1 260px}
.team-toolbar-v520 select{flex:0 1 180px}

.team-project-list-v520{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:11px;
}
#team-recent-projects.team-project-list-v520{grid-template-columns:1fr}
.team-project-card-v520{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #e0e7ef;
  border-radius:10px;
  background:#fbfdff;
}
.team-project-card-head-v520{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.team-project-card-head-v520>div>span{
  color:#8a9aac;
  font-size:6.8px;
  text-transform:uppercase;
}
.team-project-card-head-v520 h3{
  margin:3px 0 0;
  color:#17365f;
  font-size:11px;
}
.team-project-card-head-v520>.client-status-v500{margin-left:auto}
.team-project-card-v520>p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
  min-height:40px;
  color:#687b90;
  font-size:8.5px;
  line-height:1.55;
}
.team-project-meta-v520{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.team-project-meta-v520 span{
  display:grid;
  gap:2px;
  color:#718399;
  font-size:7.5px;
}
.team-project-meta-v520 strong{
  color:#8796a7;
  font-size:6.5px;
  text-transform:uppercase;
}
.team-open-project-v520{
  justify-self:start;
  border:0;
  border-radius:7px;
  padding:7px 9px;
  background:#eaf2ff;
  color:#1760c4;
  font-size:7.5px;
  font-weight:900;
  cursor:pointer;
}

.team-table-wrap-v520{overflow:auto}
.team-table-v520{
  width:100%;
  border-collapse:collapse;
  font-size:8.5px;
}
.team-table-v520 th{
  padding:9px;
  border-bottom:1px solid #dce5ef;
  color:#7a8ca0;
  font-size:6.8px;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.team-table-v520 td{
  padding:10px 9px;
  border-bottom:1px solid #edf1f5;
  color:#62768c;
}
.team-table-v520 td strong{color:#405e7d}
.team-table-action-v520{
  border:1px solid #d2dfec;
  border-radius:7px;
  padding:6px 8px;
  background:#fff;
  color:#1760c4;
  font-size:7px;
  font-weight:850;
  cursor:pointer;
}
.team-table-action-v520.is-danger{color:#a04c45}
.team-note-v520{
  margin-bottom:11px;
  padding:10px 12px;
  border:1px solid #d9e4ef;
  border-radius:9px;
  background:#f8fbff;
  color:#63788f;
  font-size:8px;
  line-height:1.5;
}

.team-message-list-v520,
.team-file-list-v520,
.team-notification-list-v520{display:grid}
.team-message-row-v520{
  width:100%;
  border:0;
  border-bottom:1px solid #edf1f5;
  padding:10px 2px;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.team-message-row-v520>div{
  display:flex;
  align-items:center;
  gap:8px;
}
.team-message-row-v520 strong{color:#405e7d;font-size:8.5px}
.team-message-row-v520 span{color:#7c8da0;font-size:7px}
.team-message-row-v520 small{margin-left:auto;color:#9aa8b6;font-size:6.8px}
.team-message-row-v520 p{
  margin:5px 0 0;
  color:#687b90;
  font-size:8.3px;
  line-height:1.45;
}
.team-file-row-v520{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 2px;
  border-bottom:1px solid #edf1f5;
}
.team-file-row-v520>div{display:grid;gap:2px;min-width:0}
.team-file-row-v520 strong{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#405e7d;
  font-size:8.5px;
}
.team-file-row-v520 span,
.team-file-row-v520 small{color:#8796a7;font-size:7px}
.team-file-row-v520 button{
  margin-left:auto;
  border:1px solid #d3dfeb;
  border-radius:7px;
  padding:6px 8px;
  background:#fff;
  color:#1760c4;
  font-size:7px;
  font-weight:850;
  cursor:pointer;
}
.team-notification-row-v520{
  display:grid;
  grid-template-columns:8px 1fr;
  gap:8px;
  width:100%;
  padding:9px 2px;
  border:0;
  border-bottom:1px solid #edf1f5;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.team-notification-row-v520>span{
  width:6px;
  height:6px;
  margin-top:4px;
  border-radius:50%;
  background:#cbd6e2;
}
.team-notification-row-v520.is-unread>span{
  background:#1760c4;
  box-shadow:0 0 0 3px #e6f0ff;
}
.team-notification-row-v520 strong{display:block;color:#405e7d;font-size:8.3px}
.team-notification-row-v520 p{margin:2px 0;color:#72859a;font-size:7.6px;line-height:1.4}
.team-notification-row-v520 small{color:#9aa8b6;font-size:6.7px}

.team-profile-summary-v520{
  display:grid;
  align-content:start;
  gap:9px;
}
.team-profile-summary-v520>div{
  display:grid;
  gap:3px;
  padding:10px;
  border-radius:8px;
  background:#f8fbff;
}
.team-profile-summary-v520 span{color:#8191a3;font-size:6.8px;text-transform:uppercase}
.team-profile-summary-v520 strong{color:#405f7e;font-size:9px}
.team-profile-summary-v520 a{color:#1760c4;font-size:8px;font-weight:850;text-decoration:none}

.team-project-overlay-v520{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(8,27,54,.60);
  backdrop-filter:blur(5px);
}
.team-project-modal-v520{
  position:relative;
  width:min(1080px,100%);
  max-height:94vh;
  overflow:auto;
  box-sizing:border-box;
  padding:19px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 28px 80px rgba(5,24,50,.24);
}
.team-modal-close-v520{
  position:absolute;
  top:11px;
  right:13px;
  border:0;
  background:none;
  color:#70839a;
  font-size:23px;
  cursor:pointer;
}
.team-detail-head-v520{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding-right:34px;
}
.team-detail-head-v520 h2{margin:4px 0 2px;color:#10244a;font-size:22px}
.team-detail-head-v520 p{margin:0;color:#73869a;font-size:8.5px}
.team-detail-head-v520>.client-status-v500{margin-left:auto}
.team-detail-controls-v520{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:end;
  margin:14px 0 10px;
}
.team-detail-controls-v520 label{
  display:grid;
  gap:4px;
  color:#64798f;
  font-size:7px;
  font-weight:850;
}
.team-detail-controls-v520 input,
.team-detail-controls-v520 select,
.team-inline-form-v520 textarea,
.team-file-upload-v520 input,
.team-file-upload-v520 select{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d6e1ec;
  border-radius:8px;
  padding:9px 10px;
  background:#fff;
  color:#405e7d;
  font:inherit;
  font-size:8.5px;
}
.team-detail-description-v520{
  padding:11px;
  border:1px solid #e0e7ef;
  border-radius:9px;
  background:#fbfdff;
}
.team-detail-description-v520>span{
  color:#8796a7;
  font-size:6.7px;
  text-transform:uppercase;
  font-weight:850;
}
.team-detail-description-v520 p{
  margin:5px 0 0;
  color:#5f738a;
  font-size:9px;
  line-height:1.55;
  white-space:pre-wrap;
}
.team-detail-grid-v520{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.team-detail-feed-v520{
  display:grid;
  gap:7px;
  max-height:260px;
  overflow:auto;
  margin:9px 0;
}
.team-feed-item-v520{
  padding:8px 9px;
  border-radius:8px;
  background:#f7f9fc;
}
.team-feed-item-v520.is-mine{background:#eef5ff}
.team-feed-item-v520 strong{color:#405e7d;font-size:7.8px}
.team-feed-item-v520 p{margin:3px 0;color:#64788f;font-size:8.2px;line-height:1.45;white-space:pre-wrap}
.team-feed-item-v520 small{color:#96a4b3;font-size:6.6px}
.team-inline-form-v520{
  display:grid;
  gap:7px;
  padding-top:9px;
  border-top:1px solid #edf1f5;
}
.team-inline-form-v520 button{justify-self:start}
.team-detail-files-panel-v520{margin-top:10px}
.team-detail-file-list-v520{display:grid;margin-top:8px}
.team-file-upload-v520{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px auto;
  gap:7px;
  align-items:end;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #edf1f5;
}

@media(max-width:1100px){
  .team-stat-grid-v520{grid-template-columns:repeat(2,1fr)}
  .team-two-col-v520,.team-detail-grid-v520{grid-template-columns:1fr}
  .team-project-list-v520{grid-template-columns:1fr}
  .team-detail-controls-v520{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .team-app-v520{grid-template-columns:1fr}
  .team-sidebar-v520{
    position:fixed;
    left:0;
    top:0;
    width:248px;
    height:100vh;
    transform:translateX(-105%);
    transition:transform .2s ease;
    box-shadow:14px 0 30px rgba(10,31,64,.14);
  }
  .team-sidebar-v520.is-open{transform:translateX(0)}
  .team-topbar-v520{top:0}
}
@media(max-width:620px){
  .team-section-v520{padding:20px 14px 32px}
  .team-stat-grid-v520{grid-template-columns:1fr 1fr;gap:8px}
  .team-stat-grid-v520 article{padding:12px}
  .team-section-head-v520{display:grid}
  .team-section-head-v520>button{margin-left:0;justify-self:start}
  .team-detail-controls-v520{grid-template-columns:1fr}
  .team-file-upload-v520{grid-template-columns:1fr}
  .team-project-overlay-v520{padding:7px}
  .team-project-modal-v520{padding:14px;max-height:97vh}
}
@media(prefers-reduced-motion:reduce){
  .team-sidebar-v520{transition:none}
}


/* =========================================================
   V5.3.0 — Production Readiness & Portal Polish
   ========================================================= */
:where(a,button,input,select,textarea):focus-visible{
  outline:3px solid rgba(23,96,196,.28)!important;
  outline-offset:2px!important;
}
.password-policy-hint-v530{
  margin:-3px 0 2px;
  padding:8px 10px;
  border-left:3px solid #d5a12c;
  border-radius:6px;
  background:#fffaf0;
  color:#6f7782;
  font-size:7.8px;
  line-height:1.5;
}
.client-nav-v500 button[aria-current="page"]{
  box-shadow:inset 3px 0 0 #d5a12c;
}
.team-table-action-v520,
.team-open-project-v520,
.client-card-actions-v500 button,
.client-file-row-v500 button,
.team-file-row-v520 button{
  min-height:30px;
}
.client-global-status-v500,
.account-standard-message-v512{
  overflow-wrap:anywhere;
}
@media(max-width:860px){
  .client-topbar-v500,
  .team-topbar-v520{
    min-height:58px;
  }
  .client-topbar-v500>div:not(.client-top-actions-v510):not(.team-top-actions-v520){
    min-width:0;
  }
  .client-topbar-v500>div strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
@media(max-width:620px){
  .client-stat-grid-v500,
  .team-stat-grid-v520{
    grid-template-columns:1fr!important;
  }
  .client-project-card-head-v500,
  .team-project-card-head-v520{
    align-items:flex-start;
  }
  .client-card-actions-v500{
    flex-wrap:wrap;
    row-gap:8px;
  }
  .account-standard-section-v512{
    padding-top:20px;
  }
  .account-standard-intro-v512 h1{
    font-size:34px;
  }
}


/* =========================================================
   V5.3.2 — GA4 Analytics Consent
   ========================================================= */
.analytics-consent-v532{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:2500;
  margin:auto;
  max-width:980px;
  border:1px solid #d9e3ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 60px rgba(7,26,61,.18);
}
.analytics-consent-inner-v532{
  display:flex;
  align-items:center;
  gap:22px;
  padding:15px 17px;
}
.analytics-consent-inner-v532>div:first-child{min-width:0;flex:1}
.analytics-consent-inner-v532 strong{
  display:block;
  margin-bottom:3px;
  color:#10244a;
  font-size:10px;
}
.analytics-consent-inner-v532 p{
  margin:0;
  color:#697c91;
  font-size:8px;
  line-height:1.5;
}
.analytics-consent-inner-v532 a{
  display:inline-block;
  margin-top:4px;
  color:#1760c4;
  font-size:7.5px;
  font-weight:800;
  text-decoration:none;
}
.analytics-consent-actions-v532{
  display:flex;
  flex:0 0 auto;
  gap:7px;
}
.analytics-consent-actions-v532 button,
.privacy-consent-manage-v532{
  min-height:34px;
  border:1px solid #cad8e7;
  border-radius:8px;
  padding:8px 11px;
  background:#fff;
  color:#405e7d;
  font:inherit;
  font-size:7.5px;
  font-weight:850;
  cursor:pointer;
}
.analytics-consent-actions-v532 button.is-primary{
  border-color:#1760c4;
  background:#1760c4;
  color:#fff;
}
.privacy-consent-manage-v532{
  margin-top:8px;
  color:#1760c4;
}
@media(max-width:700px){
  .analytics-consent-v532{left:9px;right:9px;bottom:9px}
  .analytics-consent-inner-v532{
    display:grid;
    gap:11px;
    padding:13px;
  }
  .analytics-consent-actions-v532{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .analytics-consent-actions-v532 button{width:100%}
}
