.tibra-university-finder-body { background:#f7f8f5; color:#192a2c; font-family:'DM Sans',Arial,sans-serif; }
.tuf-page { --tuf-ink:#192a2c; --tuf-muted:#667579; --tuf-green:#04aa6d; --tuf-dark:#102d31; --tuf-line:#e2e9e5; max-width:1440px; margin:0 auto; padding:0 5.3% 80px; }
.tuf-page *, .tuf-dialog-backdrop * { box-sizing:border-box; }
body.tuf-dialog-open { overflow:hidden; }
.tuf-hero { padding:120px 0 52px; }
.tuf-hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.72fr); gap:6%; align-items:center; }
.tuf-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; color:#bfe9d7; font:700 11px/1.4 'DM Sans',Arial,sans-serif; letter-spacing:.17em; }
.tuf-eyebrow-dark { color:#119265; }
.tuf-eyebrow-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#43d39a; box-shadow:0 0 0 5px rgba(67,211,154,.13); }
.tuf-hero h1 { max-width:760px; margin:0; color:#172b2e; font:800 clamp(44px,6vw,78px)/1.04 'Manrope',Arial,sans-serif; letter-spacing:-.06em; }
.tuf-hero h1 span { color:#079467; }
.tuf-hero-lead { max-width:595px; margin:22px 0 25px; color:#68777a; font-size:16px; line-height:1.8; }
.tuf-hero-link { color:#617174; font-size:13px; text-decoration:none; }
.tuf-hero-link span { margin-left:8px; color:#08794f; font-weight:700; }
.tuf-hero-link i { font-size:17px; font-style:normal; vertical-align:-1px; }
.tuf-hero-aside { position:relative; min-height:310px; overflow:hidden; border-radius:26px; padding:28px 30px; background:radial-gradient(circle at 80% 0%,rgba(83,191,151,.28),transparent 34%),linear-gradient(150deg,#163c3e 0%,#0b292e 80%); color:#fff; box-shadow:0 24px 70px rgba(22,59,58,.16); }
.tuf-hero-aside:after { position:absolute; right:-64px; bottom:-110px; width:260px; height:260px; border:1px solid rgba(183,239,213,.2); border-radius:50%; content:""; box-shadow:0 0 0 25px rgba(255,255,255,.025),0 0 0 52px rgba(255,255,255,.025); }
.tuf-globe { position:relative; height:150px; margin-bottom:12px; color:#b8f3d9; }
.tuf-globe:before,.tuf-globe:after { position:absolute; top:0; left:0; width:142px; height:142px; border:1px solid rgba(182,244,216,.4); border-radius:50%; content:""; }
.tuf-globe:after { left:32px; width:78px; border-width:0 1px; border-radius:50%; }
.tuf-globe span { position:absolute; top:17px; left:55px; font-size:53px; opacity:.92; }
.tuf-globe i { position:absolute; top:77px; left:112px; font-size:23px; font-style:normal; }
.tuf-globe b { position:absolute; top:34px; left:17px; font-size:25px; font-weight:400; }
.tuf-aside-kicker { margin:0 0 8px; color:#78d4ae; font-size:10px; font-weight:700; letter-spacing:.18em; }
.tuf-aside-text { max-width:240px; margin:0; font:700 20px/1.35 'Manrope',Arial,sans-serif; }
.tuf-aside-rule { display:flex; gap:6px; margin:20px 0 9px; }
.tuf-aside-rule span { width:24px; height:3px; border-radius:4px; background:#54d2a1; }
.tuf-aside-rule span:nth-child(n+4) { background:rgba(255,255,255,.2); }
.tuf-aside-small { margin:0; color:rgba(255,255,255,.58); font-size:11px; }
.tuf-finder { padding:26px 0 68px; }
.tuf-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.tuf-section-head h2 { margin:0; color:var(--tuf-ink); font:800 clamp(28px,3vw,38px)/1.18 'Manrope',Arial,sans-serif; letter-spacing:-.04em; }
.tuf-section-copy { margin:9px 0 0; color:var(--tuf-muted); font-size:14px; }
.tuf-count-pill { display:flex; align-items:center; gap:7px; padding:10px 15px; border:1px solid #dce8e1; border-radius:999px; background:#fff; color:#6d7c7b; font-size:12px; }
.tuf-count-pill strong { color:#0d7851; font-size:15px; }
.tuf-filter-panel { display:grid; grid-template-columns:minmax(220px,1fr) minmax(190px,260px) auto; gap:10px; padding:12px; border:1px solid #e2e9e5; border-radius:17px; background:#fff; box-shadow:0 12px 35px rgba(33,64,58,.045); }
.tuf-search-field,.tuf-country-field { display:flex; min-width:0; min-height:48px; align-items:center; gap:11px; padding:0 14px; border:1px solid #e6ece8; border-radius:11px; background:#fbfcfb; color:#81908d; }
.tuf-field-icon { flex:0 0 auto; color:#0e9663; font-size:22px; line-height:1; }
.tuf-search-field input,.tuf-country-field select,.tuf-sort-wrap select { width:100%; border:0; outline:0; background:transparent; color:#253638; font:500 14px 'DM Sans',Arial,sans-serif; }
.tuf-search-field input::placeholder { color:#9aa5a3; }
.tuf-search-field kbd { flex:0 0 auto; padding:4px 7px; border:1px solid #e0e7e3; border-radius:5px; color:#84918f; font:11px 'DM Sans',Arial,sans-serif; }
.tuf-country-field { position:relative; }
.tuf-country-field select { appearance:none; padding-right:18px; cursor:pointer; }
.tuf-select-caret { position:absolute; right:14px; color:#6f817d; pointer-events:none; }
.tuf-clear-button { min-width:75px; border:0; border-radius:10px; background:#e9f6ef; color:#0c7b50; font:700 12px 'DM Sans',Arial,sans-serif; cursor:pointer; transition:.2s ease; }
.tuf-clear-button:hover { background:#d8efe3; }
.tuf-result-meta { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 2px 16px; color:#7b8887; font-size:12px; }
.tuf-result-meta p { margin:0; }
.tuf-result-meta strong { color:#24383a; }
.tuf-sort-wrap { display:flex; align-items:center; gap:7px; }
.tuf-sort-wrap select { width:auto; color:#23383a; font-size:12px; font-weight:700; }
.tuf-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.tuf-university-card { display:flex; min-height:198px; flex-direction:column; padding:20px; border:1px solid #e4eae6; border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(33,64,58,.035); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.tuf-university-card:hover { transform:translateY(-3px); border-color:#b4dec9; box-shadow:0 16px 32px rgba(28,74,57,.09); }
.tuf-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.tuf-card-monogram { display:flex; width:39px; height:39px; flex:0 0 auto; align-items:center; justify-content:center; border-radius:12px; background:#eaf7f0; color:#0a8658; font:800 15px 'Manrope',Arial,sans-serif; }
.tuf-card-arrow { display:flex; width:29px; height:29px; align-items:center; justify-content:center; border:1px solid #e8eeea; border-radius:50%; color:#67817a; font-size:15px; transition:.2s ease; }
.tuf-university-card:hover .tuf-card-arrow { border-color:#0c9862; background:#0c9862; color:#fff; }
.tuf-university-card h3 { margin:0 0 8px; color:#213537; font:700 16px/1.42 'Manrope',Arial,sans-serif; letter-spacing:-.02em; }
.tuf-card-country { display:flex; align-items:center; gap:7px; margin:0; color:#768583; font-size:12px; }
.tuf-card-country span { color:#0d9863; font-size:14px; }
.tuf-card-location { margin:7px 0 0 22px; color:#98a29f; font-size:11px; }
.tuf-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:17px; }
.tuf-card-tag { display:inline-flex; align-items:center; gap:6px; color:#74827f; font-size:10px; }
.tuf-card-tag:before { width:6px; height:6px; border-radius:50%; background:#f0b94b; content:""; }
.tuf-card-open { padding:0; border:0; background:transparent; color:#087f54; font:700 11px 'DM Sans',Arial,sans-serif; cursor:pointer; }
.tuf-card-open span { margin-left:3px; font-size:14px; }
.tuf-load-more { display:flex; min-width:235px; align-items:center; justify-content:center; gap:10px; margin:26px auto 0; padding:14px 20px; border:1px solid #cfe5d8; border-radius:11px; background:#fff; color:#08784f; font:700 13px 'DM Sans',Arial,sans-serif; cursor:pointer; transition:.2s ease; }
.tuf-load-more:hover { background:#eaf7f0; }
.tuf-empty-state { padding:54px 20px; text-align:center; }
.tuf-empty-icon { display:inline-flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:50%; background:#e9f7ef; color:#098457; font-size:25px; }
.tuf-empty-state h3 { margin:14px 0 7px; color:#25393b; font:700 19px 'Manrope',Arial,sans-serif; }
.tuf-empty-state p { margin:0 0 18px; color:#778582; font-size:13px; }
.tuf-cta-band { position:relative; display:flex; min-height:260px; align-items:center; justify-content:space-between; gap:40px; overflow:hidden; margin:0 0 25px; padding:42px 48px; border-radius:23px; background:linear-gradient(112deg,#12373a,#0a292e); color:#fff; }
.tuf-cta-band:after { position:absolute; top:-145px; right:16%; width:340px; height:340px; border:1px solid rgba(172,233,208,.2); border-radius:50%; content:""; box-shadow:0 0 0 32px rgba(255,255,255,.022),0 0 0 72px rgba(255,255,255,.022); }
.tuf-cta-copy { position:relative; z-index:1; max-width:620px; }
.tuf-cta-copy h2 { margin:0 0 13px; color:#fff!important; font:800 clamp(25px,3vw,36px)/1.17 'Manrope',Arial,sans-serif; letter-spacing:-.04em; }
.tuf-cta-copy > p:last-child { max-width:520px; margin:0; color:rgba(255,255,255,.7); font-size:13px; line-height:1.7; }
.tuf-cta-orbit { position:absolute; top:10px; right:17%; z-index:0; width:180px; height:180px; border:1px solid rgba(177,241,213,.24); border-radius:50%; }
.tuf-cta-orbit span { position:absolute; top:35px; left:35px; width:108px; height:108px; border:1px solid rgba(177,241,213,.31); border-radius:50%; }
.tuf-cta-orbit span:nth-child(2) { top:75px; left:2px; width:12px; height:12px; background:#55d8a3; }
.tuf-cta-orbit span:nth-child(3) { top:24px; left:133px; width:8px; height:8px; background:#ffcf69; }
.tuf-button { position:relative; z-index:1; display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:12px; padding:12px 18px; border:1px solid transparent; border-radius:10px; font:700 12px/1.3 'DM Sans',Arial,sans-serif; text-align:center; text-decoration:none; transition:transform .2s ease,background .2s ease,color .2s ease; cursor:pointer; }
.tuf-button:hover { transform:translateY(-2px); text-decoration:none; }
.tuf-button-light { flex:0 0 auto; background:#cbf5df; color:#0e5840; }
.tuf-button-light:hover { background:#fff; color:#0e5840; }
.tuf-button-primary { background:#079665; color:#fff; }
.tuf-button-primary:hover { background:#087b55; color:#fff; }
.tuf-button-outline { border-color:#dbe7e1; background:#fff; color:#27413d; }
.tuf-button-outline:hover { border-color:#8ccbab; background:#eef8f2; color:#087f54; }
.tuf-data-note { max-width:940px; margin:0 auto; color:#85918e; font-size:11px; line-height:1.6; text-align:center; }
.tuf-sr-only { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.tuf-dialog-backdrop { position:fixed; inset:0; z-index:10050; display:flex; align-items:center; justify-content:center; padding:22px; background:rgba(8,22,23,.7); backdrop-filter:blur(7px); }
.tuf-dialog-backdrop[hidden] { display:none; }
.tuf-dialog { position:relative; width:min(780px,100%); max-height:min(90vh,900px); overflow:hidden; border:1px solid rgba(255,255,255,.55); border-radius:22px; outline:0; background:#f9fbf9; box-shadow:0 30px 110px rgba(0,0,0,.28); }
.tuf-dialog-close { position:absolute; top:16px; right:17px; z-index:3; display:flex; width:37px; height:37px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font:300 29px/1 Arial,sans-serif; cursor:pointer; }
.tuf-dialog-scroll { position:relative; max-height:min(90vh,900px); overflow-y:auto; padding:34px 38px 32px; }
.tuf-dialog-scroll:before { position:absolute; top:0; right:0; left:0; z-index:0; height:350px; background:radial-gradient(circle at 78% 0%,rgba(95,194,154,.28),transparent 35%),linear-gradient(125deg,#174143,#0c2b30); content:""; pointer-events:none; }
.tuf-dialog-scroll > * { position:relative; z-index:1; }
.tuf-dialog-topline { display:flex; align-items:center; gap:9px; margin-bottom:18px; color:#b2ebd0; font-size:10px; font-weight:700; letter-spacing:.15em; }
.tuf-dialog-mark { color:#5fe0aa; font-size:19px; }
.tuf-dialog h2 { max-width:620px; margin:0 46px 8px 0; color:#fff; font:800 clamp(26px,4vw,37px)/1.15 'Manrope',Arial,sans-serif; letter-spacing:-.045em; }
.tuf-dialog-location { margin:0 0 13px; color:#c7e0d6; font-size:12px; }
.tuf-dialog-intro { min-height:20px; margin:0 0 34px; color:rgba(255,255,255,.77); font-size:13px; line-height:1.65; }
.tuf-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tuf-detail-card { min-height:142px; padding:18px; border:1px solid #e3ebe6; border-radius:14px; background:#fff; }
.tuf-detail-fact { background:#eef8f1; border-color:#d9ecdf; }
.tuf-detail-label { margin:0 0 12px; color:#14845a; font-size:9px; font-weight:800; letter-spacing:.13em; }
.tuf-detail-label span { margin-right:5px; color:#24a773; font-size:13px; }
.tuf-detail-card > p:last-of-type { margin:0; color:#536361; font-size:12px; line-height:1.7; }
.tuf-source-link { display:inline-block; margin-top:10px; color:#087e53; font-size:11px; font-weight:700; text-decoration:none; }
.tuf-source-link:hover { text-decoration:underline; }
.tuf-scholarship-section { margin-top:26px; }
.tuf-scholarship-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:13px; }
.tuf-scholarship-heading-row .tuf-detail-label { margin:0 0 5px; }
.tuf-scholarship-heading-row h3 { margin:0; color:#26393a; font:800 20px 'Manrope',Arial,sans-serif; letter-spacing:-.03em; }
.tuf-scholarship-note { color:#87938f; font-size:10px; }
.tuf-scholarship-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tuf-scholarship-column { min-width:0; padding:17px; border:1px solid #e3ebe6; border-radius:14px; background:#fff; }
.tuf-scholarship-column h4 { display:flex; align-items:center; gap:8px; margin:0 0 13px; color:#344644; font:700 12px 'Manrope',Arial,sans-serif; }
.tuf-funding-dot { display:block; width:8px; height:8px; border-radius:50%; background:#0a9c67; }
.tuf-funding-partial { background:#e0ac41; }
.tuf-scholarship-list { display:flex; flex-direction:column; gap:11px; }
.tuf-scholarship-item { padding-top:10px; border-top:1px solid #edf1ee; }
.tuf-scholarship-item:first-child { padding-top:0; border-top:0; }
.tuf-scholarship-item h5 { margin:0 0 4px; color:#293d3d; font:700 12px/1.4 'DM Sans',Arial,sans-serif; }
.tuf-scholarship-item p,.tuf-scholarship-empty { margin:0; color:#73817e; font-size:11px; line-height:1.6; }
.tuf-scholarship-item a { display:inline-block; margin-top:5px; color:#0c8559; font-size:10px; font-weight:700; text-decoration:none; }
.tuf-scholarship-item a:hover { text-decoration:underline; }
.tuf-scholarship-footnote { margin:11px 0 0; color:#8c9693; font-size:10px; line-height:1.5; }
.tuf-profile-sources { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:12px; color:#83908c; font-size:10px; }
.tuf-profile-sources a { color:#0b8055; font-size:10px; font-weight:700; text-decoration:none; }
.tuf-profile-sources a:hover { text-decoration:underline; }
.tuf-link-disabled { opacity:.55; cursor:not-allowed; pointer-events:none; }
.tuf-dialog-actions { display:grid; grid-template-columns:1fr 1.2fr; gap:10px; margin-top:22px; }
.tuf-dialog-actions .tuf-button { width:100%; min-height:50px; }
@media (max-width:1050px) { .tuf-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tuf-page { padding-right:4%; padding-left:4%; } }
@media (max-width:760px) { .tuf-hero { padding-top:100px; } .tuf-hero-grid { grid-template-columns:1fr; gap:30px; } .tuf-hero-aside { min-height:280px; } .tuf-globe { height:132px; } .tuf-section-head { align-items:flex-start; } .tuf-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tuf-cta-band { align-items:flex-start; flex-direction:column; padding:34px 28px; } .tuf-cta-band .tuf-button { width:100%; } .tuf-cta-orbit { right:2%; opacity:.7; } }
@media (max-width:540px) { .tuf-page { padding-right:18px; padding-left:18px; } .tuf-hero h1 { font-size:43px; } .tuf-hero-lead { font-size:14px; } .tuf-filter-panel { grid-template-columns:1fr; padding:9px; } .tuf-clear-button { min-height:42px; } .tuf-result-meta { align-items:flex-start; } .tuf-sort-wrap { flex-direction:column; align-items:flex-end; gap:2px; } .tuf-card-grid { grid-template-columns:1fr; } .tuf-university-card { min-height:182px; } .tuf-section-head h2 { font-size:28px; } .tuf-count-pill { padding:8px 10px; white-space:nowrap; } .tuf-count-pill strong { font-size:13px; } .tuf-count-pill span { font-size:10px; } .tuf-dialog-backdrop { padding:12px; align-items:center; } .tuf-dialog { max-height:94vh; max-height:94dvh; border-radius:20px; } .tuf-dialog-scroll { max-height:94vh; max-height:94dvh; padding:27px 18px 22px; } .tuf-dialog-scroll:before { height:340px; } .tuf-dialog h2 { font-size:26px; } .tuf-dialog-intro { margin-bottom:25px; } .tuf-detail-grid,.tuf-scholarship-columns { grid-template-columns:1fr; } .tuf-detail-card { min-height:0; } .tuf-scholarship-heading-row { align-items:flex-start; flex-direction:column; } .tuf-scholarship-note { margin-top:-5px; } .tuf-dialog-actions { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .tuf-university-card,.tuf-button,.tuf-card-arrow { transition:none; } .tuf-university-card:hover,.tuf-button:hover { transform:none; } }

/* LPDP-aligned catalog */

        :root {
            --lpdp-ink: #0c0e1a;
            --lpdp-accent: #2e5ce6;
            --lpdp-green: #04aa6d;
            --lpdp-gold: #f5a623;
            --lpdp-soft: #697080;
            --lpdp-line: #e5e8ef;
            --lpdp-mist: #f4f6fb;
            --lpdp-white: #ffffff;
        }

        .lpdp-catalog-page,
        .lpdp-catalog-page button,
        .lpdp-catalog-page input,
        .lpdp-catalog-page select {
            font-family: 'DM Sans', sans-serif;
        }

        .lpdp-catalog-hero {
            position: relative;
            overflow: hidden;
            padding: 132px 0 72px;
            background:
                radial-gradient(circle at 8% 15%, rgba(46, 92, 230, .14), transparent 28%),
                radial-gradient(circle at 92% 85%, rgba(4, 170, 109, .12), transparent 28%),
                var(--lpdp-ink);
        }

        .lpdp-catalog-hero::after {
            position: absolute;
            inset: 0;
            opacity: .2;
            background-image:
                linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
            background-size: 54px 54px;
            pointer-events: none;
            content: '';
        }

        .lpdp-hero-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
            gap: 58px;
            align-items: center;
        }

        .lpdp-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 18px;
            color: var(--lpdp-gold);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .17em;
            text-transform: uppercase;
        }

        .lpdp-eyebrow::before {
            width: 27px;
            height: 2px;
            border-radius: 10px;
            background: currentColor;
            content: '';
        }

        .lpdp-catalog-hero h1 {
            max-width: 760px;
            margin: 0 0 19px;
            color: var(--lpdp-white);
            font-family: 'DM Serif Display', serif;
            font-size: clamp(43px, 5vw, 68px);
            font-weight: 400;
            line-height: 1.04;
        }

        .lpdp-catalog-hero h1 em {
            color: var(--lpdp-green);
            font-style: italic;
        }

        .lpdp-hero-copy > p {
            max-width: 690px;
            margin: 0;
            color: rgba(255,255,255,.69);
            font-size: 16px;
            line-height: 1.72;
        }

        .lpdp-hero-stats {
            display: flex;
            flex-wrap: wrap;
            gap: 11px;
            margin-top: 28px;
        }

        .lpdp-hero-stat {
            min-width: 144px;
            padding: 13px 16px;
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 14px;
            background: rgba(255,255,255,.055);
        }

        .lpdp-hero-stat strong {
            display: block;
            margin-bottom: 3px;
            color: var(--lpdp-white);
            font-size: 21px;
            line-height: 1;
        }

        .lpdp-hero-stat span {
            color: rgba(255,255,255,.54);
            font-size: 11px;
        }

        .lpdp-support-explainer {
            padding: 28px;
            border: 1px solid rgba(255,255,255,.13);
            border-radius: 22px;
            background: rgba(255,255,255,.075);
            backdrop-filter: blur(12px);
        }

        .lpdp-support-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            margin-bottom: 17px;
            border-radius: 15px;
            background: rgba(4,170,109,.17);
            color: #45d79c;
            font-size: 22px;
        }

        .lpdp-support-explainer h2 {
            margin: 0 0 9px;
            color: white;
            font-size: 18px;
            line-height: 1.35;
        }

        .lpdp-support-explainer p {
            margin: 0 0 19px;
            color: rgba(255,255,255,.62);
            font-size: 12px;
            line-height: 1.65;
        }

        .lpdp-support-explainer a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            padding: 12px 17px;
            border-radius: 50px;
            background: var(--lpdp-green);
            color: white;
            font-size: 12px;
            font-weight: 700;
            text-decoration: none;
            transition: transform .2s ease, background .2s ease;
        }

        .lpdp-support-explainer a:hover {
            color: white;
            background: #039b63;
            transform: translateY(-2px);
        }

        .lpdp-catalog-main {
            padding: 62px 0 76px;
            background: var(--lpdp-mist);
        }

        .lpdp-mobile-filter-toggle {
            display: none;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            margin-bottom: 16px;
            padding: 13px 16px;
            border: 1px solid var(--lpdp-line);
            border-radius: 13px;
            background: white;
            color: var(--lpdp-ink);
            font-size: 13px;
            font-weight: 700;
        }

        .lpdp-active-count {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 22px;
            height: 22px;
            padding: 0 6px;
            border-radius: 50px;
            background: var(--lpdp-accent);
            color: white;
            font-size: 10px;
        }

        .lpdp-catalog-layout {
            display: grid;
            grid-template-columns: 292px minmax(0, 1fr);
            gap: 30px;
            align-items: start;
        }

        .lpdp-filter-panel {
            position: sticky;
            top: 98px;
            padding: 23px;
            border: 1px solid var(--lpdp-line);
            border-radius: 18px;
            background: white;
            box-shadow: 0 12px 34px rgba(12,14,26,.055);
        }

        .lpdp-filter-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 20px;
        }

        .lpdp-filter-head h2 {
            margin: 0;
            color: var(--lpdp-ink);
            font-size: 16px;
        }

        .lpdp-reset-button {
            padding: 0;
            border: 0;
            background: transparent;
            color: var(--lpdp-accent);
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }

        .lpdp-filter-group {
            margin-bottom: 15px;
        }

        .lpdp-filter-group label,
        .lpdp-filter-label {
            display: block;
            margin-bottom: 7px;
            color: #505767;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .055em;
            text-transform: uppercase;
        }

        .lpdp-filter-control {
            width: 100%;
            height: 42px;
            padding: 0 12px;
            border: 1px solid #dfe3eb;
            border-radius: 10px;
            outline: none;
            background: #fbfcfe;
            color: var(--lpdp-ink);
            font-size: 12px;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        select.lpdp-filter-control {
            padding-right: 30px;
            cursor: pointer;
        }

        .lpdp-filter-control:focus {
            border-color: var(--lpdp-accent);
            box-shadow: 0 0 0 3px rgba(46,92,230,.1);
        }

        .lpdp-support-filter {
            display: flex;
            gap: 11px;
            align-items: flex-start;
            margin-top: 19px;
            padding: 14px;
            border: 1px solid rgba(4,170,109,.2);
            border-radius: 12px;
            background: rgba(4,170,109,.065);
            cursor: pointer;
        }

        .lpdp-support-filter input {
            width: 17px;
            height: 17px;
            margin: 2px 0 0;
            accent-color: var(--lpdp-green);
            flex: 0 0 auto;
        }

        .lpdp-support-filter strong {
            display: block;
            margin-bottom: 3px;
            color: #08764f;
            font-size: 11.5px;
            line-height: 1.4;
        }

        .lpdp-support-filter span {
            display: block;
            color: #51816f;
            font-size: 9.5px;
            line-height: 1.45;
        }

        .lpdp-results-toolbar {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 18px;
            margin-bottom: 20px;
        }

        .lpdp-results-toolbar h2 {
            margin: 0 0 5px;
            color: var(--lpdp-ink);
            font-family: 'DM Serif Display', serif;
            font-size: 30px;
            font-weight: 400;
        }

        .lpdp-result-count {
            margin: 0;
            color: var(--lpdp-soft);
            font-size: 12px;
        }

        .lpdp-result-count strong {
            color: var(--lpdp-ink);
        }

        .lpdp-result-legend {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            flex: 0 0 auto;
            color: #167453;
            font-size: 10.5px;
            font-weight: 600;
        }

        .lpdp-result-legend i {
            color: var(--lpdp-green);
            font-size: 15px;
        }

        .lpdp-card-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 17px;
        }

        .lpdp-university-card {
            display: flex;
            min-width: 0;
            min-height: 355px;
            flex-direction: column;
            padding: 21px;
            border: 1px solid var(--lpdp-line);
            border-radius: 18px;
            background: white;
            box-shadow: 0 8px 28px rgba(12,14,26,.045);
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
        }

        .lpdp-university-card:hover {
            border-color: rgba(46,92,230,.26);
            transform: translateY(-3px);
            box-shadow: 0 14px 34px rgba(12,14,26,.08);
        }

        .lpdp-card-topline {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 14px;
        }

        .lpdp-country-badge,
        .lpdp-support-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            min-width: 0;
            padding: 6px 9px;
            border-radius: 50px;
            font-size: 9.5px;
            font-weight: 700;
            line-height: 1;
        }

        .lpdp-country-badge {
            overflow: hidden;
            max-width: 48%;
            background: #edf1fb;
            color: #465168;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .lpdp-support-badge {
            background: rgba(4,170,109,.105);
            color: #08764f;
        }

        .lpdp-university-card h3 {
            min-height: 52px;
            margin: 0 0 7px;
            color: var(--lpdp-ink);
            font-family: 'DM Serif Display', serif;
            font-size: 22px;
            font-weight: 400;
            line-height: 1.2;
        }

        .lpdp-match-summary {
            margin: 0 0 14px;
            color: var(--lpdp-soft);
            font-size: 10.5px;
        }

        .lpdp-program-list {
            display: grid;
            gap: 8px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .lpdp-program-item {
            padding: 10px 11px;
            border: 1px solid #edf0f5;
            border-radius: 11px;
            background: #fafbfe;
        }

        .lpdp-program-name {
            display: -webkit-box;
            overflow: hidden;
            margin: 0 0 5px;
            color: #242937;
            font-size: 11px;
            font-weight: 700;
            line-height: 1.42;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .lpdp-program-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 5px 9px;
            color: #7b8291;
            font-size: 9px;
            line-height: 1.35;
        }

        .lpdp-program-meta span {
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        .lpdp-more-programs {
            margin: 10px 0 0;
            color: var(--lpdp-accent);
            font-size: 9.5px;
            font-weight: 700;
        }

        .lpdp-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-top: auto;
            padding-top: 16px;
        }

        .lpdp-category-chip {
            overflow: hidden;
            max-width: 55%;
            color: #747b89;
            font-size: 9px;
            font-weight: 700;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .lpdp-card-consultation {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #08764f;
            font-size: 10px;
            font-weight: 700;
            text-decoration: none;
        }

        .lpdp-card-consultation:hover { color: #055f3f; }

        .lpdp-loading-state,
        .lpdp-empty-state,
        .lpdp-error-state {
            grid-column: 1 / -1;
            padding: 54px 24px;
            border: 1px dashed #d7dce6;
            border-radius: 18px;
            background: white;
            color: var(--lpdp-soft);
            text-align: center;
        }

        .lpdp-loading-state i,
        .lpdp-empty-state i,
        .lpdp-error-state i {
            display: block;
            margin-bottom: 12px;
            color: var(--lpdp-accent);
            font-size: 30px;
        }

        .lpdp-empty-state h3,
        .lpdp-error-state h3 {
            margin: 0 0 7px;
            color: var(--lpdp-ink);
            font-size: 17px;
        }

        .lpdp-empty-state p,
        .lpdp-error-state p {
            max-width: 480px;
            margin: 0 auto 16px;
            font-size: 11px;
            line-height: 1.6;
        }

        .lpdp-inline-reset {
            padding: 9px 15px;
            border: 0;
            border-radius: 50px;
            background: var(--lpdp-accent);
            color: white;
            font-size: 10px;
            font-weight: 700;
            cursor: pointer;
        }

        .lpdp-pagination {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 7px;
            margin-top: 27px;
        }

        .lpdp-page-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 37px;
            height: 37px;
            padding: 0 11px;
            border: 1px solid #dce1e9;
            border-radius: 10px;
            background: white;
            color: #4f5665;
            font-size: 10.5px;
            font-weight: 700;
            cursor: pointer;
        }

        .lpdp-page-button:hover:not(:disabled),
        .lpdp-page-button.is-active {
            border-color: var(--lpdp-accent);
            background: var(--lpdp-accent);
            color: white;
        }

        .lpdp-page-button:disabled {
            opacity: .42;
            cursor: not-allowed;
        }

        .lpdp-catalog-note {
            display: grid;
            grid-template-columns: 24px minmax(0, 1fr);
            gap: 10px;
            margin-top: 32px;
            padding: 17px 19px;
            border: 1px solid #dce1e9;
            border-radius: 14px;
            background: rgba(255,255,255,.6);
            color: #697080;
            font-size: 10px;
            line-height: 1.65;
        }

        .lpdp-catalog-note i {
            color: var(--lpdp-gold);
            font-size: 18px;
        }

        .lpdp-catalog-note strong { color: #3e4553; }

        .lpdp-page-button:focus-visible,
        .lpdp-reset-button:focus-visible,
        .lpdp-mobile-filter-toggle:focus-visible,
        .lpdp-inline-reset:focus-visible,
        .lpdp-card-consultation:focus-visible,
        .lpdp-support-explainer a:focus-visible {
            outline: 3px solid rgba(46,92,230,.3);
            outline-offset: 3px;
        }

        @media (max-width: 1080px) {
            .lpdp-hero-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 34px; }
            .lpdp-catalog-layout { grid-template-columns: 270px minmax(0, 1fr); gap: 22px; }
            .lpdp-card-grid { grid-template-columns: 1fr; }
        }

        @media (max-width: 900px) {
            .lpdp-catalog-hero { padding: 116px 0 58px; }
            .lpdp-hero-grid { grid-template-columns: 1fr; }
            .lpdp-support-explainer { max-width: 600px; }
            .lpdp-catalog-main { padding: 42px 0 60px; }
            .lpdp-mobile-filter-toggle { display: flex; }
            .lpdp-catalog-layout { display: block; }
            .lpdp-filter-panel {
                position: static;
                display: none;
                margin-bottom: 20px;
            }
            .lpdp-filter-panel.is-open { display: block; }
            .lpdp-filter-form {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0 14px;
            }
            .lpdp-filter-head,
            .lpdp-support-filter { grid-column: 1 / -1; }
            .lpdp-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }

        @media (max-width: 680px) {
            .lpdp-catalog-hero { padding: 102px 0 48px; }
            .lpdp-catalog-hero h1 { font-size: 41px; }
            .lpdp-hero-copy > p { font-size: 14px; }
            .lpdp-hero-stat { min-width: calc(50% - 6px); }
            .lpdp-support-explainer { padding: 23px; }
            .lpdp-filter-form { display: block; }
            .lpdp-results-toolbar { align-items: flex-start; flex-direction: column; }
            .lpdp-card-grid { grid-template-columns: 1fr; }
            .lpdp-university-card { min-height: 0; }
            .lpdp-university-card h3 { min-height: 0; }
            .lpdp-result-legend { align-self: flex-start; }
        }

        @media (max-width: 420px) {
            .lpdp-catalog-hero h1 { font-size: 36px; }
            .lpdp-hero-stat { min-width: 100%; }
            .lpdp-filter-panel { padding: 19px; }
            .lpdp-university-card { padding: 18px; }
            .lpdp-card-topline { align-items: flex-start; flex-direction: column; }
            .lpdp-country-badge { max-width: 100%; }
            .lpdp-card-footer { align-items: flex-start; flex-direction: column; }
            .lpdp-category-chip { max-width: 100%; }
        }
    
.tibra-university-finder-body { margin:0; background:#f4f6fb; color:#0c0e1a; }
.tuf-page { max-width:none; padding:0; }
.tuf-page .container { width:100%; max-width:1140px; margin:auto; padding:0 12px; }
.tuf-page .lpdp-eyebrow { color:#f5a623; }
.tuf-page .lpdp-filter-panel { display:block; }
.tuf-filter-group { display:block; margin-bottom:18px; }
.tuf-filter-group > span { display:block; margin-bottom:7px; color:#505767; font-size:10px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.tuf-page .lpdp-filter-control { font-family:'DM Sans',sans-serif; }
.tuf-page .tuf-university-card { min-height:245px; padding:21px; border-color:#e5e8ef; border-radius:18px; }
.tuf-page .tuf-university-card h3 { margin-bottom:12px; color:#0c0e1a; font:400 22px/1.2 'DM Serif Display',serif; letter-spacing:normal; }
.tuf-page .tuf-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.tuf-card-summary { padding:12px; margin:14px 0 0; border:1px solid #edf0f5; border-radius:11px; background:#fafbfe; color:#697080; font-size:11px; line-height:1.65; }
.tuf-page .tuf-card-footer { border-top:1px solid #edf0f5; margin-top:auto; padding-top:14px; }
.tuf-page .tuf-card-tag:before { background:#04aa6d; }
.tuf-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:26px; }
.tuf-pagination button { min-width:38px; min-height:38px; border:1px solid #e5e8ef; border-radius:10px; background:white; color:#505767; cursor:pointer; font:600 12px 'DM Sans',sans-serif; }
.tuf-pagination button[aria-current=page] { background:#2e5ce6; border-color:#2e5ce6; color:white; }
.tuf-pagination button:disabled { opacity:.4; cursor:default; }
.tuf-page :is(button,input,select,a):focus-visible { outline:3px solid #2e5ce6; outline-offset:3px; }
.tuf-page .tuf-data-note { margin-top:28px; text-align:left; }
.tuf-dialog h2,.tuf-scholarship-heading-row h3 { font-family:'DM Serif Display',serif; font-weight:400; letter-spacing:normal; }
@media(max-width:1080px) { .tuf-page .tuf-card-grid { grid-template-columns:1fr; } }
@media(max-width:900px) { .tuf-page .lpdp-filter-panel { display:none; } .tuf-page .lpdp-filter-panel.is-open { display:block; } .tuf-page .tuf-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .tuf-page .tuf-card-grid { grid-template-columns:1fr; } .tuf-page .lpdp-hero-stat { min-width:calc(50% - 6px); } }
