/* UPL marketplace modules: cards, dashboard, forms, community CTA */
.upl-card{border-radius:14px;transition:transform .15s ease,box-shadow .15s ease;position:relative}
.upl-card:hover{transform:translateY(-3px);box-shadow:0 .75rem 1.5rem rgba(15,23,42,.12)!important}
.upl-service{border-radius:16px;transition:transform .15s ease,box-shadow .15s ease}
.upl-service:hover{transform:translateY(-3px);text-decoration:none;box-shadow:0 .75rem 1.5rem rgba(16,185,129,.2)!important}
.upl-placement-promo{background:linear-gradient(135deg,#1e3a8a,#2563eb)}
.upl-community{background:#0f172a}
.upl-avatar{display:inline-flex;width:64px;height:64px;border-radius:50%;background:#e0e7ff;color:#1e3a8a;font-weight:700;font-size:1.5rem;align-items:center;justify-content:center;flex:none}
.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";}
.badge-soft-primary{background:#e0e7ff;color:#1e3a8a}
.upl-dash-nav .nav-link{border-radius:10px;color:#334155;padding:.6rem .9rem}
.upl-dash-nav .nav-link.active{background:#1e3a8a;color:#fff}
.upl-stat{border-radius:14px}
.req::after{content:" *";color:#dc2626}
:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.table-responsive-upl{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:575.98px){.btn{min-height:44px}}

/* Smooth in-page navigation under the sticky header */
html{scroll-behavior:smooth}
.upl-anchor{scroll-margin-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Videos */
.upl-video-frame{position:relative;background:#0f172a;border-radius:14px 14px 0 0;overflow:hidden;aspect-ratio:16/9}
.upl-video{width:100%;height:100%;border:0;display:block;background:#000}
.upl-video-poster{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}
.upl-video-poster img{width:100%;height:100%;object-fit:cover;display:block}
.upl-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(30,58,138,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.upl-video-poster:focus-visible{outline:3px solid #60a5fa;outline-offset:-3px}
.upl-video-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#fff;padding:1rem;text-align:center}
.upl-video-error.d-none{display:none!important}

/* =====================================================================
   Header navigation menus (Resources, Placements, Upload, Account)
   The theme switches to an off-canvas drawer below 1200px and the header
   had overflow:hidden, which clipped every dropdown to a thin white strip.
   ===================================================================== */
.upl-wide-only { display: none !important; }

@media (min-width: 1200px) {
  .upl-wide-only { display: block !important; }
  .upl-drawer-only { display: none !important; }
  .library-header { overflow: visible; }
  .library-header .dropdown-menu {
    background: #ffffff; border: 0; border-radius: 12px; padding: .5rem; margin-top: .6rem; min-width: 15rem;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .28);
  }
  .library-header .dropdown-item {
    color: #0f172a !important; font-weight: 600; font-size: .95rem; padding: .6rem .9rem; border-radius: 8px;
    background: transparent; text-align: left;
  }
  .library-header .dropdown-item:hover, .library-header .dropdown-item:focus { background: #eef2ff; color: #1e3a8a !important; }
  .library-header .dropdown-divider { border-top-color: #e2e8f0; margin: .35rem 0; }
}

@media (max-width: 1199.98px) {
  /* inside the drawer the sub-menus expand in place, light text on the dark drawer */
  .library-header .navbar-nav .dropdown-menu {
    position: static !important; float: none; transform: none !important; width: 100%;
    background: rgba(255, 255, 255, .07); border: 0; border-radius: 10px; box-shadow: none;
    margin: .25rem 0 .6rem; padding: .35rem .5rem;
  }
  .library-header .dropdown-item {
    color: #ffffff !important; font-weight: 600; padding: .6rem .75rem; border-radius: 8px; background: transparent; text-align: left;
  }
  .library-header .dropdown-item:hover, .library-header .dropdown-item:focus { background: rgba(255, 255, 255, .14); }
  .library-header .dropdown-divider { border-top-color: rgba(255, 255, 255, .2); }
}

/* =====================================================================
   Homepage / About: one calm section system
   ===================================================================== */
.upl-section{padding:4.5rem 0}
.upl-section--white{background:#ffffff}
.upl-section--muted{background:#f8fafc}
@media (max-width:767.98px){.upl-section{padding:3.25rem 0}}
.upl-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}
.upl-section-sub{color:#64748b;font-size:1rem;line-height:1.7;max-width:620px}
.upl-link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:#1e3a8a!important;text-decoration:none!important}
.upl-link-arrow i{font-size:.8rem;transition:transform .15s ease}
.upl-link-arrow:hover i,.upl-link-arrow:focus i{transform:translateX(3px)}
.tab-pane>.upl-link-arrow{margin-top:.25rem}


/* Write-up services as pills */
.upl-service-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem}
.upl-service-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;border:1px solid #e2e8f0;background:#ffffff;color:#0f172a!important;font-weight:600;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.upl-service-pill i{color:#25d366;font-size:1.15rem}
.upl-service-pill:hover,.upl-service-pill:focus{border-color:#25d366;box-shadow:0 6px 16px rgba(37,211,102,.18);transform:translateY(-2px)}

/* Tabs as pills */
.upl-pills{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.upl-pills .nav-link{padding:.5rem 1.1rem;border-radius:999px;border:1px solid #e2e8f0;background:#ffffff;color:#334155!important;font-weight:600;font-size:.92rem;text-decoration:none!important}
.upl-pills .nav-link:hover{border-color:#93c5fd}
.upl-pills .nav-link.active{background:#1e3a8a;border-color:#1e3a8a;color:#ffffff!important}

/* Merged project development & mentorship section */
.upl-dev{background:#ffffff;padding:4.5rem 0}
@media (max-width:767.98px){.upl-dev{padding:3.25rem 0}}
.upl-dev-title{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;line-height:1.2;color:#0f172a;margin-bottom:1rem}
.upl-dev-title span{background:linear-gradient(135deg,#3b82f6,#1e3a8a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#1e3a8a}
.upl-dev-desc{font-size:1.05rem;line-height:1.8;color:#475569;margin-bottom:1.5rem}
.upl-dev-fields-title{font-size:.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#64748b;margin-bottom:.75rem}
.upl-dev-fields{list-style:none;padding:0;margin:0 0 1.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.upl-dev-fields li{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;font-weight:600;font-size:.95rem;color:#0f172a}
.upl-dev-fields .ico{width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.1);color:#1e3a8a;font-size:.85rem}
@media (max-width:399.98px){.upl-dev-fields{grid-template-columns:1fr}}
.upl-dev-mosaic{height:460px}
.upl-dev-mosaic img{object-position:center}
@media (max-width:991.98px){.upl-dev-mosaic{height:auto}}

@media (prefers-reduced-motion:reduce){.whatsapp-fab,.upl-service-pill,.upl-link-arrow i{transition:none}}

/* =====================================================================
   About page
   ===================================================================== */
.upl-ab-heading{font-family:"Merriweather",serif;font-size:clamp(1.65rem,3vw,2.3rem);font-weight:700;line-height:1.3;color:#0f172a;margin-bottom:1.1rem}
.upl-ab-text{color:#475569;font-size:1.03rem;line-height:1.85}
.upl-ab-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.upl-ab-photo{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#e2e8f0;box-shadow:0 20px 45px rgba(15,23,42,.14)}
.upl-ab-photo img{width:100%;height:100%;object-fit:cover;object-position:75% 40%;display:block}
.upl-ab-stats-band{background:#f8fafc;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;padding:2.75rem 0}
.upl-ab-stat{padding:.75rem 0}
.upl-ab-stat strong{display:block;font-size:2.4rem;font-weight:800;color:#1e3a8a;line-height:1.1}
.upl-ab-stat span{display:block;margin-top:.3rem;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#64748b}
@media (min-width:768px){.upl-ab-stat+.upl-ab-stat{border-left:1px solid #e2e8f0}}
.upl-ab-service{display:flex;flex-direction:column;height:100%;padding:1.6rem;border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;color:inherit!important;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.upl-ab-service:hover,.upl-ab-service:focus{border-color:#bfdbfe;box-shadow:0 14px 30px rgba(15,23,42,.08);transform:translateY(-3px)}
.upl-ab-service .ico{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(59,130,246,.1);color:#1e3a8a;font-size:1.15rem;margin-bottom:1rem}
.upl-ab-service h3{font-size:1.05rem;font-weight:700;color:#0f172a;margin-bottom:.4rem}
.upl-ab-service p{color:#64748b;font-size:.95rem;line-height:1.65;margin-bottom:1rem}
.upl-ab-service .more{margin-top:auto;font-size:.9rem;font-weight:600;color:#2563eb}
.upl-ab-service .more i{font-size:.75rem;margin-left:.25rem;transition:transform .15s ease}
.upl-ab-service:hover .more i{transform:translateX(3px)}
.upl-ab-banner{display:flex;align-items:stretch;margin-top:1.5rem;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:#ffffff}
.upl-ab-banner-img{flex:0 0 40%;min-height:260px}
.upl-ab-banner-img img{width:100%;height:100%;object-fit:cover;display:block}
.upl-ab-banner-body{flex:1;padding:2.25rem 2.5rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.upl-ab-banner-body h3{font-size:1.5rem;font-weight:800;color:#0f172a;margin-bottom:.6rem}
.upl-ab-banner-body p{color:#475569;line-height:1.75;margin-bottom:1.25rem;max-width:520px}
@media (max-width:767.98px){.upl-ab-banner{flex-direction:column}.upl-ab-banner-img{flex-basis:auto;min-height:200px;height:200px}.upl-ab-banner-body{padding:1.5rem}}
.upl-ab-steps{position:relative}
.upl-ab-step{text-align:center;position:relative;margin-bottom:2rem}
.upl-ab-step .num{position:relative;z-index:1;display:inline-flex;width:52px;height:52px;border-radius:50%;align-items:center;justify-content:center;background:#1e3a8a;color:#ffffff;font-weight:800;font-size:1.15rem;margin-bottom:1rem;box-shadow:0 0 0 6px #f8fafc}
.upl-ab-step h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:.4rem}
.upl-ab-step p{color:#64748b;font-size:.95rem;line-height:1.65;max-width:280px;margin:0 auto}
@media (min-width:768px){.upl-ab-step:not(:last-child)::after{content:"";position:absolute;top:26px;left:calc(50% + 40px);right:calc(-50% + 40px);height:2px;background:#cbd5e1}}
.upl-ab-trust{text-align:center}
.upl-ab-trust>i{display:inline-flex;width:52px;height:52px;border-radius:14px;align-items:center;justify-content:center;background:#f1f5f9;color:#1e3a8a;font-size:1.25rem;margin-bottom:.9rem}
.upl-ab-trust h3{font-size:1.02rem;font-weight:700;color:#0f172a;margin-bottom:.35rem}
.upl-ab-trust p{color:#64748b;font-size:.93rem;line-height:1.6;margin:0 auto;max-width:250px}
.upl-ab-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2.5rem;padding:2.25rem 2.5rem;border-radius:20px;background:linear-gradient(135deg,#0f172a,#1e3a8a)}
.upl-ab-cta h2{color:#ffffff!important;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:800;margin-bottom:.35rem}
.upl-ab-cta p{color:rgba(255,255,255,.75);margin:0}
.upl-ab-cta .upl-ab-actions{margin-top:0}
@media (max-width:575.98px){.upl-ab-cta{padding:1.75rem 1.5rem}}
@media (prefers-reduced-motion:reduce){.upl-ab-service,.upl-ab-service .more i{transition:none}}

/* 4-per-row cards */
.upl-doc-cover--card{height:120px;font-size:13px}
.upl-doc-cover--card .upl-doc-sheet{padding:.8em 1em .75em}
.upl-doc-cover--card .upl-doc-title{-webkit-line-clamp:2}
.upl-doc-cover--card .upl-doc-lines{display:none}
.upl-doc-cover--card .upl-doc-badge{margin-top:auto}
.upl-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* =====================================================================
   Navbar: refined dark navy
   ===================================================================== */
.library-header{padding:.7rem 0;border-bottom:0;box-shadow:none;transition:box-shadow .2s ease}
/* AOS side-fades must never create a horizontal scrollbar; clip keeps the sticky header working */
main{overflow-x:clip}
.library-header.is-scrolled{box-shadow:0 8px 24px rgba(2,6,23,.35)}
.upl-nav-logo{height:34px;width:auto;filter:brightness(0) invert(1)}
@media (min-width:1200px){
  .library-header .navbar-nav{gap:.15rem}
  .library-header .library-nav-link{padding:.5rem .85rem!important;border-radius:8px;color:rgba(255,255,255,.75)!important;font-size:.94rem;transition:color .15s ease,background-color .15s ease}
  .library-header .library-nav-link:hover,.library-header .library-nav-link:focus{color:#ffffff!important;background:rgba(255,255,255,.06)}
  .library-header .library-nav-link::after{bottom:-.15rem;height:2px;border-radius:2px;background:#3b82f6}
  .library-header .library-nav-link:hover::after{width:0}
  .library-header .library-nav-link.active{color:#ffffff!important}
  .library-header .library-nav-link.active::after{width:calc(100% - 1.7rem)}
  .library-header .dropdown-toggle::after{vertical-align:.15em}
  .library-header .dropdown-menu{margin-top:.5rem}
}
.upload-btn{background:#3b82f6!important;box-shadow:none;font-size:.88rem!important;padding:.55rem 1.2rem!important;letter-spacing:0}
.upload-btn::before{display:none}
.upload-btn:hover,.upload-btn:focus{background:#2563eb!important;transform:none!important;box-shadow:0 6px 18px rgba(59,130,246,.35)!important}

/* =====================================================================
   Hero: centered, search-first, real photo behind a navy overlay
   ===================================================================== */
.upl-hero{position:relative;padding:6rem 0 5rem;color:#ffffff;background:linear-gradient(180deg,rgba(15,23,42,.97) 0%,rgba(15,23,42,.86) 45%,rgba(15,23,42,.94) 100%),url("../../images/home/dev-mentorship.jpg") center 35%/cover no-repeat}
.upl-hero-inner{max-width:760px;margin:0 auto}
.upl-hero-title{font-family:"Merriweather",serif;font-weight:700;font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.2;color:#ffffff!important;letter-spacing:-.3px;margin-bottom:1rem}
.upl-hero-sub{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.75);max-width:600px;margin:0 auto 2rem}
.upl-hero-search{display:flex;align-items:center;max-width:640px;margin:0 auto;background:#ffffff;border-radius:12px;padding:.4rem .4rem .4rem 1.1rem;box-shadow:0 12px 32px rgba(2,6,23,.35)}
.upl-hero-search i{color:#94a3b8;margin-right:.6rem}
.upl-hero-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:1rem;color:#0f172a;padding:.6rem 0}
.upl-hero-search input::placeholder{color:#94a3b8}
.upl-hero-search button{border:0;border-radius:9px;background:#2563eb;color:#ffffff;font-weight:600;padding:.7rem 1.5rem;cursor:pointer;transition:background-color .15s ease}
.upl-hero-search button:hover,.upl-hero-search button:focus{background:#1d4ed8}
.upl-hero-search:focus-within{box-shadow:0 12px 32px rgba(2,6,23,.35),0 0 0 3px rgba(96,165,250,.45)}
.upl-hero-popular{margin:1rem 0 0;font-size:.9rem;color:rgba(255,255,255,.6)}
.upl-hero-popular a{color:rgba(255,255,255,.88)!important;margin-left:.75rem;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.upl-hero-popular a:hover{color:#ffffff!important;text-decoration-color:#ffffff}
.upl-hero-stats{list-style:none;padding:0;margin:2.5rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 2rem;font-size:.95rem;color:rgba(255,255,255,.65)}
.upl-hero-stats strong{color:#ffffff;font-size:1.15rem;margin-right:.25rem}
@media (max-width:767.98px){.upl-hero{padding:3.75rem 0 3.25rem}.upl-hero-sub{font-size:1rem}.upl-hero-popular a{display:inline-block;margin:.25rem 0 0 .6rem}}
@media (max-width:420px){.upl-hero-search i{display:none}.upl-hero-search{padding-left:.8rem}.upl-hero-search button{padding:.65rem 1rem}}

/* =====================================================================
   Inner pages (shared page header + body)
   ===================================================================== */
.upl-contact-item{display:flex;align-items:center;gap:.9rem;padding:.9rem 1rem;margin-bottom:.75rem;border:1px solid #e2e8f0;border-radius:14px;background:#ffffff;color:inherit!important;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease}
.upl-contact-item:hover,.upl-contact-item:focus{border-color:#bfdbfe;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.upl-contact-item .ico{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.1);color:#1e3a8a;font-size:1.1rem}
.upl-contact-item .ico-green{background:rgba(37,211,102,.12);color:#16a34a}
.upl-contact-item strong{display:block;color:#0f172a}
.upl-contact-item small{color:#64748b}
.upl-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:1.75rem 0 1rem}
.upl-prose h2{margin-top:1.75rem;margin-bottom:.6rem;font-weight:700;color:#0f172a}
.upl-prose p,.upl-prose li{color:#475569;line-height:1.8}

/* =====================================================================
   Footer (identical on every page)
   ===================================================================== */
.upl-footer{padding:4rem 0 0;color:#94a3b8}
.upl-footer-brand img{height:36px;width:auto;margin-bottom:1rem}
.upl-footer-text{color:#94a3b8;font-size:.92rem;line-height:1.7}
.upl-footer .footer-heading{font-family:var(--lib-body-font);font-size:.8rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#ffffff;margin-bottom:1.1rem}
.upl-footer-links li{margin-bottom:.6rem}
.upl-footer-links a{color:#cbd5e1;font-size:.93rem;text-decoration:none}
.upl-footer-links a:hover,.upl-footer-links a:focus{color:#ffffff}
.upl-footer-social{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}
.upl-footer-social a{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#e2e8f0!important;text-decoration:none!important;transition:background-color .15s ease}
.upl-footer-social a:hover,.upl-footer-social a:focus{background:#3b82f6;color:#ffffff!important}
.upl-footer-caption{font-size:.85rem;color:#94a3b8;margin-bottom:.6rem}
.upl-footer-channels{display:flex;flex-wrap:wrap;gap:.5rem}
.upl-channel{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border-radius:999px;font-weight:600;font-size:.88rem;color:#ffffff!important;text-decoration:none!important;transition:filter .15s ease}
.upl-channel:hover,.upl-channel:focus{filter:brightness(1.1)}
.upl-channel--wa{background:#25a244}
.upl-channel--tg{background:#229ed9}
.upl-footer-input{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#ffffff!important;border-radius:10px}
.upl-footer-input::placeholder{color:rgba(255,255,255,.5)}
.upl-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:3rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem}
.upl-footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.1rem}
.upl-footer-bottom a{color:#94a3b8;text-decoration:none}
.upl-footer-bottom a:hover,.upl-footer-bottom a:focus{color:#ffffff}
@media (max-width:575.98px){.upl-footer-bottom{justify-content:center;text-align:center}.upl-footer-bottom nav{justify-content:center}}
@media (prefers-reduced-motion:reduce){.library-header,.upl-contact-item,.upl-footer-social a,.upl-channel{transition:none}}

/* =====================================================================
   Document covers (partials/_doc_cover.html): uploaded image, or a full-size designed paper sheet
   ===================================================================== */
.upl-doc-cover{--tone:#475569;position:relative;display:block;overflow:hidden;background:#ffffff;text-decoration:none!important;color:inherit}
.upl-doc-cover--pdf{--tone:#dc2626}
.upl-doc-cover--word{--tone:#2563eb}
.upl-doc-cover--slides{--tone:#ea580c}
.upl-doc-cover--sheet{--tone:#16a34a}
.upl-doc-cover--archive{--tone:#7c3aed}
.upl-doc-cover--sm{height:180px}
.upl-doc-cover--md{height:200px;width:100%;border:1px solid #e2e8f0;border-radius:.375rem}
.upl-doc-cover--rel{height:400px}
.upl-doc-cover--lg{height:600px}
.upl-doc-cover>img{width:100%;height:100%;object-fit:cover;display:block}
.card>.upl-doc-cover:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0;border-bottom:1px solid #f1f5f9}

/* the sheet fills the whole cover: tone strip on top, category, title, text lines, file-type badge */
.upl-doc-sheet{display:flex;flex-direction:column;width:100%;height:100%;padding:1.1em 1.25em 1em;background:#ffffff;border-top:4px solid var(--tone)}
.upl-doc-cat{font-size:.62em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tone);margin-bottom:.55em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upl-doc-title{font-family:"Merriweather",serif;font-size:.9em;font-weight:700;line-height:1.4;color:#0f172a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.upl-doc-lines{display:flex;flex-direction:column;gap:.45em;margin-top:auto;margin-bottom:.85em}
.upl-doc-lines i{display:block;height:.3em;border-radius:2px;background:#eef2f7}
.upl-doc-lines i:nth-child(2){width:88%}
.upl-doc-lines i:nth-child(3){width:64%}
.upl-doc-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:.3em;padding:.28em .65em;border-radius:4px;background:var(--tone);color:#ffffff;font-size:.66em;font-weight:700;letter-spacing:.04em}
.upl-doc-badge svg{width:1.1em;height:1.1em}
/* type scale follows the cover size */
.upl-doc-cover--sm{font-size:16px}
.upl-doc-cover--md{font-size:14px}
.upl-doc-cover--md .upl-doc-title{-webkit-line-clamp:5}
.upl-doc-cover--rel{font-size:20px}
.upl-doc-cover--rel .upl-doc-title{-webkit-line-clamp:6}
.upl-doc-cover--lg{font-size:26px}
.upl-doc-cover--lg .upl-doc-sheet{padding:1.4em 1.4em 1.2em}
.upl-doc-cover--lg .upl-doc-title{-webkit-line-clamp:7}

/* WhatsApp button: brand green, dark enough for white text */
.btn-whatsapp{background:#1faa53;border-color:#1faa53;color:#ffffff!important;font-weight:600}
.btn-whatsapp:hover,.btn-whatsapp:focus{background:#178a43;border-color:#178a43;color:#ffffff!important}
