/* LinuxLine homepage — inspired by supplied reference */
:root{--ll-yellow:#ffca05;--ll-ink:#20252d;--ll-muted:#727b88;--ll-line:#e9edf2;--ll-bg:#f6f7f9;--ll-shadow:0 4px 15px rgba(18,31,48,.08)}
body.vct-body{background:#f7f8fa;color:var(--ll-ink);font-family:Arial,Helvetica,sans-serif}
.vct-header{position:relative;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);z-index:40}
.vct-topbar{max-width:1280px;min-height:60px;padding:0 20px;gap:22px}
.vct-logo{min-width:190px;display:flex;align-items:center}
.vct-logo img{width:174px;height:52px;object-fit:contain;object-position:left center}
.ll-nav{gap:21px;margin-left:auto;font-size:12px;color:#272d35;white-space:nowrap}
.ll-nav a{padding:12px 0;position:relative}
.ll-nav a.ll-nav-active:after{content:"";height:3px;position:absolute;bottom:0;left:0;right:0;background:var(--ll-yellow)}
.ll-header-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}
.ll-login{font-size:12px;color:#333;text-decoration:none}
.ll-header-cta{background:var(--ll-yellow);color:#161616!important;font-weight:700;font-size:12px;padding:12px 18px;border-radius:7px;text-decoration:none;box-shadow:0 3px 8px #e8b90030}
.vct-menu{display:none}
.ll-hero{height:350px;position:relative;display:flex;align-items:center;justify-content:center;background-image:url('/assets/linuxline-hero.jpg');background-size:cover;background-position:center 53%;color:#fff;overflow:hidden}
.ll-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,19,35,.16),rgba(8,17,29,.48))}
.ll-hero-inner{position:relative;z-index:1;width:min(980px,calc(100% - 32px));text-align:center;padding:20px 0 24px}
.ll-hero h1{font-size:clamp(25px,3vw,38px);line-height:1.18;margin:0 0 9px;font-weight:800;text-shadow:0 2px 6px #0005;letter-spacing:-.5px}
.ll-hero p{margin:0 0 22px;font-size:15px;color:#fff;text-shadow:0 1px 3px #0006}
.ll-search{display:flex;max-width:1000px;margin:0 auto;background:#fff;border-radius:8px;padding:0;overflow:hidden;box-shadow:0 7px 25px #0002;min-height:50px}
.ll-search-query{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 14px;color:#3b4654}
.ll-search-query span{font-size:25px;font-weight:bold}
.ll-search input{width:100%;border:0;outline:0;color:#28313d;font-size:13px;min-width:0}
.ll-search-location{width:180px;border-left:1px solid #e9edf2;display:flex;align-items:center}
.ll-search select{width:100%;height:100%;border:0;outline:0;padding:0 14px;background:#fff;color:#39424d;font-size:13px}
.ll-search button{border:0;background:var(--ll-yellow);color:#111;font-weight:700;padding:0 26px;cursor:pointer;font-size:13px}
.ll-search button:hover,.ll-header-cta:hover{background:#f1b900}
.ll-trending{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:#fff}
.ll-trending b{font-weight:700}.ll-trending a{color:#fff;text-decoration:none}.ll-trending a:hover{text-decoration:underline}.ll-trending i{height:12px;width:1px;background:#ffffff70}
.ll-main{max-width:1280px;margin:0 auto;padding:0 20px}
.ll-panel{margin-top:-22px;position:relative;z-index:2;background:#fff;border:1px solid #edf0f4;border-radius:9px;box-shadow:var(--ll-shadow)}
.ll-industry-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:12px 10px;gap:0}
.ll-industry{min-height:78px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:9px 5px;color:#343a43;text-decoration:none;border-right:1px solid #f0f1f3;border-bottom:1px solid #f0f1f3}
.ll-industry:nth-child(8n){border-right:0}.ll-industry:nth-child(n+9){border-bottom:0}
.ll-industry:hover{background:#fffbed}
.ll-industry-icon{font-size:24px;color:#f6bd00;font-weight:800;line-height:1.15;margin-bottom:7px}
.ll-industry strong{font-size:11px;line-height:1.3;font-weight:700}
.ll-industry small{font-size:10px;color:#6f7781;margin-top:3px}
.ll-section{padding:27px 0 4px}
.ll-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.ll-section-head>div{display:flex;align-items:center;gap:10px;min-width:0}
.ll-section-head h2{font-size:19px;line-height:1.25;margin:0;font-weight:800;color:#242a32;letter-spacing:-.25px}
.ll-section-head p{font-size:12px;color:#7b828c;margin:4px 0 0}
.ll-section-head>a{font-size:11px;color:#e8aa00;font-weight:700;white-space:nowrap;text-decoration:none}
.ll-section-head>a:hover{text-decoration:underline}
.ll-crown,.ll-bolt,.ll-pin,.ll-news-icon{font-size:26px;color:#ffbf00;font-weight:800;line-height:1}
.ll-business-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ll-business-card{display:block;position:relative;background:#fff;border:1px solid #e8ecf1;border-radius:5px;overflow:hidden;text-decoration:none;color:#252b34;box-shadow:0 2px 8px #192b3c08;transition:transform .16s,box-shadow .16s}
.ll-business-card:hover{transform:translateY(-2px);box-shadow:var(--ll-shadow)}
.ll-business-image{height:116px;background:#eef2f6;overflow:hidden}
.ll-business-image img{display:block;width:100%;height:100%;object-fit:cover}
.ll-business-info{padding:10px 11px 11px;min-height:78px;position:relative}
.ll-business-info strong{display:block;font-size:12px;line-height:1.4;margin-bottom:7px;padding-right:17px;min-height:17px}
.ll-business-info small{display:block;color:#747d88;font-size:10px;line-height:1.5;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ll-verified{position:absolute;right:10px;top:11px;background:#ffc800;color:#fff;border-radius:50%;font-size:10px;width:14px;height:14px;text-align:center;line-height:14px}
.ll-empty{background:#fff;border:1px dashed #e1e5eb;border-radius:8px;padding:22px;color:#7b8490;grid-column:1/-1}
.ll-stats{margin:28px 0 0;background:linear-gradient(100deg,#ffcf23,#ffe99a 55%,#ffd139);padding:20px max(20px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ll-stats>div{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;justify-content:center;color:#20252b}
.ll-stats b{grid-row:1/3;font-size:27px;text-align:center}.ll-stats strong{font-size:20px;font-weight:800}.ll-stats small{font-size:11px}
.ll-locations{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid #edf0f3;padding:15px;border-radius:6px}
.ll-vietnam-map{height:235px;position:relative;background:linear-gradient(150deg,#fff,#fffaf0);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ll-map-shape{width:75px;height:208px;background:#ffd54a;clip-path:polygon(38% 0,58% 5%,47% 15%,66% 23%,56% 31%,76% 41%,59% 50%,72% 61%,52% 70%,61% 81%,40% 91%,18% 100%,26% 86%,15% 76%,29% 63%,20% 51%,36% 38%,27% 25%,43% 14%);color:#a87a00;font-size:10px;font-weight:800;text-align:center;padding-top:55px}
.ll-vietnam-map span{position:absolute;background:#fff;border-radius:12px;padding:4px 8px;font-size:10px;font-weight:700;box-shadow:0 2px 7px #0001;white-space:nowrap}.ll-vietnam-map span:nth-of-type(1){top:20%;right:10%}.ll-vietnam-map span:nth-of-type(2){top:49%;right:2%}.ll-vietnam-map span:nth-of-type(3){bottom:15%;right:1%}
.ll-vietnam-map span:first-letter{color:#e43e36}
.ll-location-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:0 18px}
.ll-location-list a{padding:5px 0;font-size:12px;color:#4e5660;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ll-location-list a span{font-size:17px;margin-right:6px;color:#5c6671}.ll-location-list a small{color:#808792;font-size:10px}.ll-location-list a:hover{color:#d89d00}
.ll-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ll-news-card{display:block;color:#252b33;text-decoration:none;background:#fff;border:1px solid #e8ecf1;border-radius:5px;overflow:hidden;box-shadow:0 2px 8px #192b3c08}
.ll-news-image{height:116px;position:relative;overflow:hidden;background:#e8edf3}.ll-news-image img{width:100%;height:100%;object-fit:cover;display:block}.ll-news-image span{position:absolute;bottom:0;left:7px;background:#ffcf17;color:#222;padding:5px 8px;font-size:10px;font-weight:700;border-radius:3px 3px 0 0}
.ll-news-info{padding:10px;min-height:72px}.ll-news-info strong{font-size:12px;line-height:1.45;display:block}.ll-news-info small{display:block;margin-top:8px;color:#7b838d;font-size:10px}
.ll-register-banner{margin:23px 0 0;min-height:160px;background:#ffdc53 url('/assets/linuxline-register-banner.jpg') center/cover no-repeat;border-radius:7px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;padding:20px 5% 20px 8%;box-shadow:var(--ll-shadow)}
.ll-register-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffdb4cde 0,#fff0b4d9 42%,#fff0a4a6 72%,#ffce2460 100%);pointer-events:none}
.ll-register-banner>div{z-index:1;text-align:center;margin:auto}.ll-register-banner h2{font-size:22px;line-height:1.3;margin:0 0 7px;font-weight:900;color:#1c2229}.ll-register-banner p{font-size:12px;line-height:1.5;margin:0 0 10px;color:#42464c}.ll-register-banner a{display:inline-block;padding:10px 20px;border-radius:5px;background:#ffca05;color:#1c2025;text-decoration:none;font-size:11px;font-weight:800}
.ll-register-banner>img{width:24%;max-height:140px;object-fit:cover;mix-blend-mode:multiply;border-radius:6px;opacity:.85}
.ll-partners{padding:23px 0 26px}.ll-partners .ll-section-head{margin-bottom:12px}.ll-partner-logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}.ll-partner-logos span{background:#fff;border:1px solid #eef0f3;border-radius:5px;min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center;padding:5px;font-size:13px;font-weight:900;color:#2c4e9b}.ll-partner-logos span:nth-child(2){color:#ed1b2f}.ll-partner-logos span:nth-child(3){color:#d72832}.ll-partner-logos span:nth-child(4){color:#1b4aaf}.ll-partner-logos span:nth-child(6){color:#e5ad00}
.vct-footer{background:#191d20!important;color:#d8dde1!important;padding:28px 20px 18px!important}.vct-footer-grid{max-width:1240px!important;margin:auto!important}.vct-footer h3{color:#fff!important}.vct-footer a{color:#d8dde1!important}.vct-footer-logo img{max-width:175px!important;max-height:55px!important;object-fit:contain}
@media(max-width:900px){.vct-topbar{padding:0 14px;gap:10px}.vct-logo{min-width:150px}.vct-logo img{width:145px}.ll-nav{gap:12px}.ll-nav a{font-size:11px}.ll-header-cta{padding:10px 11px}.ll-hero{height:330px}.ll-industry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ll-industry:nth-child(4n){border-right:0}.ll-industry:nth-child(8n){border-right:0}.ll-industry:nth-child(n+9){border-bottom:1px solid #f0f1f3}.ll-industry:nth-child(n+13){border-bottom:0}.ll-business-grid,.ll-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-locations{grid-template-columns:180px 1fr}.ll-location-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-partner-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.vct-topbar{min-height:58px;flex-wrap:wrap}.vct-logo{min-width:0;margin-right:auto}.vct-logo img{height:48px;width:152px}.ll-nav,.ll-header-actions{display:none}.vct-menu{display:block;color:#222;background:#fff;border:1px solid #e7e7e7;border-radius:5px;padding:5px 10px;font-size:20px}.vct-mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:8px 14px;background:#fff;gap:4px}.vct-mobile-nav a{font-size:13px;padding:10px;background:#fff9dc;color:#222;border-radius:5px}.ll-hero{height:auto;min-height:365px;background-position:center;padding:24px 0}.ll-hero-inner{width:calc(100% - 24px)}.ll-hero h1{font-size:25px}.ll-hero p{font-size:12px;margin-bottom:17px}.ll-search{display:grid;grid-template-columns:1fr}.ll-search-query{min-height:48px}.ll-search-location{width:100%;height:44px;border-left:0;border-top:1px solid #e9edf2}.ll-search button{height:46px}.ll-trending{font-size:10px;gap:7px}.ll-main{padding:0 12px}.ll-panel{margin-top:-12px}.ll-industry-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:6px}.ll-industry{min-height:78px}.ll-industry strong{font-size:10px}.ll-industry small{font-size:9px}.ll-section{padding-top:23px}.ll-section-head h2{font-size:15px}.ll-section-head p{font-size:10px}.ll-section-head>a{font-size:10px}.ll-business-grid,.ll-news-grid{gap:8px}.ll-business-image,.ll-news-image{height:100px}.ll-business-info{padding:8px;min-height:83px}.ll-business-info strong,.ll-news-info strong{font-size:11px}.ll-business-info small{font-size:9px}.ll-stats{grid-template-columns:repeat(2,1fr);gap:16px;padding:18px 10px}.ll-stats>div{justify-content:start;padding-left:8px}.ll-stats strong{font-size:17px}.ll-locations{grid-template-columns:1fr;padding:10px;gap:8px}.ll-vietnam-map{height:180px}.ll-map-shape{height:170px}.ll-location-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.ll-location-list a{font-size:10px}.ll-register-banner{min-height:180px;padding:18px 12px}.ll-register-banner h2{font-size:17px}.ll-register-banner p{font-size:10px}.ll-register-banner>img{display:none}.ll-partner-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ll-partner-logos span{font-size:10px;min-height:45px}.vct-footer-grid{grid-template-columns:1fr 1fr!important;gap:20px!important}.vct-footer-grid>div:first-child{grid-column:1/-1}}
