/* La Sol Land — site styles (white theme). Brand: #FF3131 red, #8D1B1E deep red, #952613 intro, Montserrat. */
:root{--red:#FF3131;--deep:#8D1B1E;--intro:#952613;--ink:#1A1A1A;--muted:#5A5A5A;--soft:#6B6B6B;--line:#E3E1DE;--line2:#ECEAE7;--card:#F8F6F3;--ph:#F4F1EE;--hd:76px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.lsl{margin:0;background:#FFFFFF;color:var(--ink);font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;overflow-x:clip}
.lsl a{color:inherit;text-decoration:none}
.lsl a:hover{color:var(--deep)}
.lsl img{max-width:100%;height:auto;display:block}
.lsl h1,.lsl h2,.lsl h3{margin:0;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.lsl p{margin:0}
.lsl :focus-visible{outline:2px solid var(--deep);outline-offset:3px}
.lsl-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:10px 16px;border-radius:8px}
.lsl-skip:focus{left:8px}
.lsl-wrap{max-width:1240px;margin:0 auto;padding-left:clamp(20px,5vw,40px);padding-right:clamp(20px,5vw,40px)}
.lsl-muted{color:var(--soft)}
.lsl-main{display:block}

/* header (inner pages) */
.lsl-hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.07)}
.lsl-hd__in{max-width:1240px;height:var(--hd);margin:0 auto;padding:0 clamp(16px,4vw,40px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.lsl-hd__nav{display:flex;gap:24px;font-size:14px;white-space:nowrap;grid-column:1}
.lsl-hd__nav a{display:inline-flex;align-items:center;min-height:44px;color:#4A4A4A}
.lsl-hd__nav a[aria-current="page"]{color:var(--deep);font-weight:500}
.lsl-hd__burger{display:none;grid-column:1;justify-self:start;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.16);background:transparent;color:var(--ink);cursor:pointer}
.lsl-hd__burger .lsl-ico-close{display:none}
.lsl-hd__burger[aria-expanded="true"] .lsl-ico-open{display:none}
.lsl-hd__burger[aria-expanded="true"] .lsl-ico-close{display:inline}
.lsl-hd__logo{grid-column:2;display:block}
.lsl-logo{display:block;width:75px;height:40px;background:var(--red);-webkit-mask:url(../img/logo.png) center/contain no-repeat;mask:url(../img/logo.png) center/contain no-repeat}
.lsl-hd__phone{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(141,27,30,.4);color:var(--deep)!important;font-size:14px;font-weight:500;letter-spacing:.04em;white-space:nowrap}
.lsl-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line2);box-shadow:0 12px 24px rgba(0,0,0,.06);padding:8px clamp(20px,5vw,40px) 24px;display:flex;flex-direction:column;max-height:calc(100vh - var(--hd));overflow-y:auto}
.lsl-menu[hidden]{display:none}
.lsl-menu a:not(.lsl-btn){display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--line2);font-size:19px}
.lsl-menu .lsl-btn{margin-top:20px}
@media (max-width:1199px){:root{--hd:64px}.lsl-hd__nav{display:none}.lsl-hd__burger{display:inline-flex}.lsl-logo{width:64px;height:34px}}
@media (min-width:1200px){.lsl-menu{display:none!important}}
@media (max-width:600px){.lsl-hd__phone span{display:none}.lsl-hd__phone{padding:0;width:40px;justify-content:center}}
.lsl-noscript-nav{display:flex;flex-wrap:wrap;gap:16px;padding:16px 20px}

/* buttons */
.lsl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid var(--line);font-size:16px;font-weight:500;cursor:pointer;background:#fff;color:var(--ink);font-family:inherit}
.lsl-btn--red{background:var(--deep);border-color:var(--deep);color:#fff!important}
.lsl-btn--red:hover{background:#741619}
.lsl-btns{display:flex;flex-wrap:wrap;gap:12px}

/* sections */
.lsl-sec{padding:clamp(64px,9vw,120px) 0}
.lsl-sec + .lsl-sec{border-top:1px solid var(--line)}
.lsl-sec--tint{background:var(--card)}
.lsl-eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(16px,2.4vw,24px)!important}
.lsl-eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red);flex:none}
.lsl-h1{font-size:clamp(34px,5.4vw,60px)!important;line-height:1.08!important;letter-spacing:-.03em!important}
.lsl-h2{font-size:clamp(28px,4.4vw,44px)!important}
.lsl-lead{font-size:clamp(17px,2vw,20px);line-height:1.6;color:var(--muted);max-width:760px}
.lsl-head{display:flex;flex-direction:column;gap:clamp(14px,2vw,20px);margin-bottom:clamp(32px,4.5vw,56px)}
.lsl-red{color:var(--red)}
.lsl-page-hero{padding:clamp(48px,7vw,96px) 0 clamp(32px,5vw,64px);border-bottom:1px solid var(--line)}
.lsl-crumbs{font-size:13px;color:var(--soft);margin-bottom:20px}
.lsl-crumbs a{color:var(--soft)}
.lsl-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.lsl-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(28px,4vw,56px)}
.lsl-cols{display:flex;flex-wrap:wrap;gap:clamp(36px,6vw,72px)}
.lsl-cols > *{flex:1 1 420px;min-width:0}

/* cards */
.lsl-card{display:flex;flex-direction:column;gap:14px}
.lsl-card__img{position:relative;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:var(--ph)}
.lsl-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.lsl-card:hover .lsl-card__img img{transform:scale(1.03)}
.lsl-card h3{font-size:clamp(21px,2.3vw,25px)}
.lsl-card__meta{font-size:14px;color:var(--soft)}
.lsl-card__more{display:inline-flex;align-items:center;min-height:44px;border-top:1px solid var(--line);color:var(--muted);font-size:15px}
.lsl-tag{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.92);border-radius:999px;padding:4px 12px;font-size:12px;letter-spacing:.06em}

/* lists */
.lsl-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.lsl-list > div{display:flex;flex-direction:column;gap:8px;padding:24px 0;border-bottom:1px solid var(--line)}
.lsl-list__k{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.lsl-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 28px;border-top:1px solid var(--line)}
.lsl-num > div{padding:28px 0 22px;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:10px}
.lsl-num span{font-size:14px;color:var(--soft)}
.lsl-num h3{font-size:21px}
.lsl-num p{color:var(--muted)}
.lsl-steps{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:32px}
.lsl-steps::before{content:"";position:absolute;left:0;right:0;top:11px;height:1px;background:var(--line)}
.lsl-steps > div{position:relative;display:flex;flex-direction:column;gap:14px}
.lsl-steps i{width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #A8A8A8}
.lsl-steps > div:first-child i{background:var(--red);border-color:var(--red)}
.lsl-steps h3{font-size:20px}
.lsl-steps p{color:var(--muted)}
@media (max-width:720px){.lsl-steps::before{display:none}}

/* facts table */
.lsl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));border-top:1px solid var(--line)}
.lsl-facts > div{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;padding-right:24px}
.lsl-facts dt,.lsl-facts .k{font-size:13px;color:var(--soft);letter-spacing:.06em;text-transform:uppercase}
.lsl-facts dd,.lsl-facts .v{margin:0;font-size:17px;font-weight:500}
.lsl-info{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));border-top:1px solid var(--line)}
.lsl-info > div{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);padding-right:24px}
.lsl-info dt{color:var(--soft);font-size:14px}
.lsl-info dd{margin:0;font-weight:500}
@media (max-width:480px){.lsl-info > div{grid-template-columns:1fr;gap:2px}}
.lsl-note{border-left:3px solid var(--red);background:var(--card);padding:18px 22px;border-radius:0 12px 12px 0;color:var(--muted);font-size:15px}

/* gallery */
.lsl-gal{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.lsl-gal figure{margin:0;border-radius:16px;overflow:hidden;background:var(--ph);aspect-ratio:16/10}
.lsl-gal img{width:100%;height:100%;object-fit:cover}
.lsl-cap{font-size:13px;color:var(--soft);margin-top:10px!important}
.lsl-hero-img{border-radius:20px;overflow:hidden;aspect-ratio:16/8;background:var(--ph)}
.lsl-hero-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:720px){.lsl-hero-img{aspect-ratio:4/3}}

/* news */
.lsl-news{display:grid;gap:clamp(24px,3vw,32px);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.lsl-news__item a{display:flex;flex-direction:column;gap:10px;height:100%}
.lsl-news__img{aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--ph);display:flex;align-items:center;justify-content:center}
.lsl-news__img img{width:100%;height:100%;object-fit:cover}
.lsl-news time{font-size:13px;color:var(--soft)}
.lsl-news h3{font-size:19px;line-height:1.35}
.lsl-news p{font-size:15px;color:var(--muted)}
.lsl-dot{width:12px;height:12px;border-radius:50%;background:var(--red)}

/* article + prose */
.lsl-post{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(56px,8vw,100px);max-width:860px}
.lsl-post h1{font-size:clamp(28px,4.4vw,44px);margin-bottom:12px}
.lsl-post__cover{margin:28px 0;border-radius:18px;overflow:hidden}
.lsl-post__cta{margin-top:40px;padding:22px 24px;border-radius:14px;background:var(--card)}
.lsl-post__cta a{color:var(--deep);font-weight:500}
.lsl-prose{font-size:17px;line-height:1.75;color:#2A2A2A}
.lsl-prose > * + *{margin-top:1.1em}
.lsl-prose h2{font-size:clamp(22px,3vw,28px);margin-top:1.8em}
.lsl-prose h3{font-size:20px;margin-top:1.5em}
.lsl-prose ul,.lsl-prose ol{padding-left:1.3em}
.lsl-prose li + li{margin-top:.4em}
.lsl-prose a{color:var(--deep);text-decoration:underline;text-underline-offset:3px}
.lsl-prose figure{margin:1.6em 0}
.lsl-prose figure img{border-radius:14px}
.lsl-prose figcaption{font-size:13px;color:var(--soft);margin-top:8px}
.lsl-legal{max-width:860px}
.lsl-legal h2{font-size:22px;margin-top:2em}

/* form */
.lsl-form{display:flex;flex-direction:column;gap:18px;padding:clamp(20px,4vw,40px);border-radius:20px;background:var(--card);border:1px solid var(--line)}
.lsl-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
.lsl-form input:not([type=checkbox]),.lsl-form select,.lsl-form textarea{min-height:52px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:16px;width:100%}
.lsl-form textarea{min-height:96px;resize:vertical}
.lsl-form .lsl-check{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}
.lsl-form .lsl-check input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--deep)}
.lsl-form .lsl-check a{color:var(--deep);text-decoration:underline}
.lsl-form__err{padding:12px 16px;border-radius:10px;background:#FFF1F1;color:#8D1B1E;font-size:14px}
.lsl-form__note{font-size:14px;text-align:center}
.lsl-form__note a{color:var(--deep);font-weight:500}
.lsl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lsl-contact a{color:var(--deep)}

/* footer */
.lsl-ft{border-top:1px solid var(--line);padding:clamp(48px,6vw,72px) 0 clamp(28px,4vw,40px);font-size:14px;color:var(--soft)}
.lsl-ft__grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
@media (max-width:860px){.lsl-ft__grid{grid-template-columns:1fr 1fr}.lsl-ft__brand{grid-column:1/-1}}
.lsl-ft__brand{display:flex;flex-direction:column;gap:12px;line-height:1.7}
.lsl-ft__brand strong{color:var(--ink)}
.lsl-ft a{color:var(--muted)}
.lsl-ft__brand a{color:var(--deep)}
.lsl-logo-full{display:block;width:200px;aspect-ratio:1200/721;background:var(--red);-webkit-mask:url(../img/logo-full.png) center/contain no-repeat;mask:url(../img/logo-full.png) center/contain no-repeat;margin-bottom:8px}
.lsl-ft__col{display:flex;flex-direction:column}
.lsl-ft__col a{display:flex;align-items:center;min-height:40px}
.lsl-ft__h{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:6px!important}
.lsl-ft__legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.7}
.lsl-bct{display:inline-flex;align-self:flex-start;margin-top:4px;line-height:0}
.lsl-bct img{width:150px;height:auto;display:block}

/* home intro */
.lsl-intro-app{min-height:480px;background:var(--intro)}
.lsl-home .lsl-intro-fallback{height:100vh;height:var(--lsl-vh,100svh);max-height:1100px;min-height:480px}

/* floating Zalo button — desktop + mobile */
.lsl-zalo{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(48px + env(safe-area-inset-bottom));z-index:9990;width:68px;height:68px;border-radius:50%;background:#0068FF;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,104,255,.35);transition:transform .2s}
.lsl-zalo svg{width:38px;height:38px}
.lsl-zalo::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #0068FF;animation:lslZalo 2.4s ease-out infinite}
.lsl-zalo:hover{transform:scale(1.06)}
@keyframes lslZalo{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.lsl-zalo::before{animation:none}}
@media (max-width:600px){.lsl-zalo{width:64px;height:64px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}.lsl-zalo svg{width:36px;height:36px}}
.lsl-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* v1.0.4 — justified body text */
.lsl-main .lsl-prose p,.lsl-main .lsl-prose li,.lsl-main .lsl-lead,.lsl-main .lsl-note,.lsl-main .lsl-num p,.lsl-main .lsl-card p,.lsl-main .lsl-muted{text-align:justify;text-justify:inter-word}
.lsl-main [style*="text-align:center"] p,.lsl-main .lsl-form p,.lsl-main .lsl-cap,.lsl-main figcaption{text-align:inherit}
.lsl-ft__brand p{text-align:justify}

/* v1.0.4 — project galleries: plans & documents are shown whole, never cropped */
.lsl-gal--fit figure,.lsl-gal--doc figure{aspect-ratio:auto;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.lsl-gal--fit img,.lsl-gal--doc img{height:auto;object-fit:contain}
.lsl-gal--doc{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.lsl-gal figcaption{font-size:13px;color:var(--soft);padding:10px 12px;line-height:1.5}
.lsl-gal a{display:block;line-height:0}
.lsl-plan{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.lsl-plan img{width:100%;height:auto;display:block}
.lsl-plan figcaption{font-size:13px;color:var(--soft);padding:10px 14px}
.lsl-sub{font-size:20px;margin:40px 0 18px}
.lsl-pay{counter-reset:p;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.lsl-pay > div{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:#fff}
.lsl-pay h3{font-size:18px;margin-bottom:8px}
.lsl-pay p{color:var(--muted);font-size:15px}
.lsl-highlights{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:28px}
.lsl-highlights > div{border-top:2px solid var(--red);padding-top:14px}
.lsl-highlights b{display:block;font-size:20px;margin-bottom:4px}
.lsl-highlights span{color:var(--muted);font-size:15px}

/* ===== v1.0.6 — News: warm, lively "story" design ===== */
:root{--sun:#FFB23F;--sun2:#FFD66B;--peach:#FFF1E6;--rose:#FFE4E1}
.lsl-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.lsl-chip--deal{background:#FFE4E1;color:#B3171B}
.lsl-chip--life{background:#FFF0D2;color:#9A5B00}
.lsl-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}

/* news list */
.lsl-news{display:grid;gap:clamp(20px,2.6vw,32px);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.lsl-news__item a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line2);border-radius:22px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.lsl-news__item a:hover{transform:translateY(-6px);box-shadow:0 22px 44px -18px rgba(141,27,30,.28);border-color:transparent;color:inherit}
.lsl-news__img{position:relative;aspect-ratio:16/10;border-radius:0;overflow:hidden;background:var(--ph)}
.lsl-news__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.lsl-news__item a:hover .lsl-news__img img{transform:scale(1.06)}
.lsl-news__date{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;align-items:center;min-width:58px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.94);font-size:11px;font-weight:600;color:var(--muted);line-height:1.2;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.lsl-news__date b{font-size:22px;color:var(--red);font-weight:700;line-height:1}
.lsl-news__pics{position:absolute;right:14px;bottom:14px;padding:6px 11px;border-radius:999px;background:rgba(26,26,26,.68);color:#fff;font-size:12px;font-weight:600;backdrop-filter:blur(6px)}
.lsl-news__txt{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;flex:1}
.lsl-news__txt .lsl-chip{align-self:flex-start}
.lsl-news h3{font-size:clamp(18px,1.6vw,20px);line-height:1.35;font-weight:600}
.lsl-news p{font-size:15px;color:var(--muted);text-align:left!important}
.lsl-news__more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--deep)}
.lsl-news__more i{font-style:normal;display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),var(--sun));color:#fff;transition:transform .3s}
.lsl-news__item a:hover .lsl-news__more i{transform:translateX(5px)}
@media (min-width:900px){
 .lsl-news--feature .lsl-news__item--big{grid-column:1/-1}
 .lsl-news--feature .lsl-news__item--big a{display:grid;grid-template-columns:1.35fr 1fr}
 .lsl-news--feature .lsl-news__item--big .lsl-news__img{aspect-ratio:auto;min-height:420px}
 .lsl-news--feature .lsl-news__item--big .lsl-news__txt{padding:clamp(28px,3.4vw,48px);justify-content:center;gap:18px;background:radial-gradient(circle at 100% 0,var(--peach),transparent 55%)}
 .lsl-news--feature .lsl-news__item--big h3{font-size:clamp(24px,2.4vw,32px);line-height:1.25}
 .lsl-news--feature .lsl-news__item--big .lsl-news__more{margin-top:8px}
}
.lsl-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,3vw,36px)}
.lsl-filter button{font:inherit;font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:all .25s}
.lsl-filter button:hover{border-color:var(--red);color:var(--deep)}
.lsl-filter button.is-on{background:linear-gradient(135deg,var(--red),#FF7A45);border-color:transparent;color:#fff;box-shadow:0 8px 20px -8px rgba(255,49,49,.6)}
.lsl-news__item.is-hidden{display:none}
.lsl-news-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 10%,#FDE3DE 0,transparent 38%),radial-gradient(circle at 6% 100%,var(--rose) 0,transparent 42%),#fff}
.lsl-news-hero .lsl-wrap{position:relative;z-index:1}
.lsl-news-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.lsl-news-stats span{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--line2);font-size:14px;color:var(--muted);box-shadow:0 4px 14px -8px rgba(0,0,0,.15)}
.lsl-news-stats b{color:var(--red);font-weight:700;margin-right:4px}

/* single story */
.lsl-readbar{position:fixed;left:0;right:0;top:var(--hd);height:3px;z-index:60;pointer-events:none}
.lsl-readbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--sun));border-radius:0 3px 3px 0}
.lsl-story__hero{position:relative;overflow:hidden;padding:clamp(36px,6vw,80px) 0 clamp(28px,4vw,48px);background:radial-gradient(circle at 90% 0,#FDE3DE 0,transparent 40%),radial-gradient(circle at 0 100%,var(--rose) 0,transparent 45%),#fff}
@keyframes lslSpin{to{transform:rotate(360deg)}}
.lsl-story__head{position:relative;z-index:1;max-width:980px}
.lsl-story__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:18px 0 18px;font-size:14px;color:var(--soft)}
.lsl-story__count{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--deep)}
.lsl-story__count::before{content:"";width:16px;height:12px;border-radius:3px;border:2px solid currentColor}
.lsl-story h1{font-size:clamp(28px,4.6vw,52px);line-height:1.12;font-weight:600;letter-spacing:-.025em;max-width:22ch}
.lsl-story__coverwrap{max-width:1240px}
.lsl-story__cover{margin:0;border-radius:clamp(18px,2.4vw,28px);overflow:hidden;box-shadow:0 30px 60px -30px rgba(141,27,30,.35);aspect-ratio:16/9;background:var(--ph)}
.lsl-story__cover img{width:100%;height:100%;object-fit:cover}
.lsl-story__body{max-width:880px;padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(40px,6vw,72px)}
.lsl-story__prose{font-size:clamp(16.5px,1.3vw,18px)}
.lsl-story__prose .lsl-article > p:first-child{font-size:clamp(19px,1.8vw,22px);line-height:1.6;color:var(--ink);padding-left:20px;border-left:4px solid;border-image:linear-gradient(var(--red),var(--sun)) 1}
.lsl-story__prose h2{font-size:clamp(23px,2.6vw,30px);font-weight:600;margin-top:2em;padding-top:4px}
.lsl-story__prose h2::before{content:"";display:block;width:52px;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--red),var(--sun));margin-bottom:16px}
.lsl-story__prose ul{list-style:none;padding:0;display:grid;gap:10px}
.lsl-story__prose ul li{position:relative;padding:14px 18px 14px 48px;border-radius:14px;background:linear-gradient(135deg,#FFF6EC,#FFF)!important;border:1px solid #F7E6D3;margin:0!important}
.lsl-story__prose ul li::before{content:"★";position:absolute;left:18px;top:13px;color:var(--sun);font-size:16px}
.lsl-story__prose .lsl-gal{display:block;columns:3 220px;column-gap:12px;margin:1.6em 0}
.lsl-story__prose .lsl-gal figure{break-inside:avoid;margin:0 0 12px!important;aspect-ratio:auto;border:0;border-radius:16px;background:var(--ph);overflow:hidden;cursor:zoom-in;position:relative}
.lsl-story__prose .lsl-gal img,.lsl-story__prose figure img{width:100%;height:auto!important;border-radius:0!important;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s}
.lsl-story__prose .lsl-gal figure:hover img{transform:scale(1.04);filter:saturate(1.12)}
.lsl-story__prose .lsl-gal figure::after{content:"⤢";position:absolute;right:10px;top:10px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:15px;opacity:0;transform:scale(.8);transition:all .25s}
.lsl-story__prose .lsl-gal figure:hover::after{opacity:1;transform:none}
.lsl-story__prose .lsl-gal--fit,.lsl-story__prose .lsl-gal--fit figure{border:0}
.lsl-story__prose > .lsl-article > figure{border-radius:18px;overflow:hidden;cursor:zoom-in}
.lsl-story__prose > .lsl-article > figure figcaption{padding:10px 4px 0;text-align:center;font-weight:500;color:var(--deep)}
.lsl-story__prose .lsl-note{margin-top:2.4em}
.lsl-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;padding-top:24px;border-top:1px dashed var(--line)}
.lsl-share span{font-weight:600;margin-right:6px}
.lsl-share__btn{font:inherit;font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)!important;transition:all .25s}
.lsl-share__btn:hover{border-color:var(--red);color:var(--deep)!important;transform:translateY(-2px)}
.lsl-story__cta{position:relative;overflow:hidden;padding:clamp(48px,7vw,88px) 0;background:linear-gradient(120deg,#8D1B1E 0%,#D8262B 55%,#FF7A45 100%);color:#fff}
.lsl-story__cta .lsl-wrap{position:relative;max-width:880px}
.lsl-story__cta-k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.lsl-story__cta h2{font-size:clamp(26px,3.4vw,40px);font-weight:600;margin:12px 0 14px;color:#fff;max-width:20ch}
.lsl-story__cta p{opacity:.92;font-size:17px}
.lsl-story__cta .lsl-btns{margin-top:26px}
.lsl-btn--white{background:#fff;border-color:#fff;color:var(--deep)!important}
.lsl-btn--white:hover{background:#FFF1E6}
.lsl-btn--ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff!important}
.lsl-btn--ghost:hover{background:rgba(255,255,255,.12)}

/* lightbox */
.lsl-lb{position:fixed;inset:0;z-index:10000;background:rgba(15,10,8,.92);display:flex;align-items:center;justify-content:center;padding:56px 12px}
.lsl-lb[hidden]{display:none}
.lsl-lb img{max-width:min(1400px,100%);max-height:100%;width:auto;height:auto;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:lslPop .3s ease}
@keyframes lslPop{from{opacity:0;transform:scale(.96)}}
.lsl-lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lsl-lb button:hover{background:rgba(255,255,255,.28)}
.lsl-lb__x{top:14px;right:14px}
.lsl-lb__prev{left:14px;top:50%;transform:translateY(-50%)}
.lsl-lb__next{right:14px;top:50%;transform:translateY(-50%)}
.lsl-lb__n{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:14px;opacity:.8}
@media (max-width:600px){.lsl-lb__nav{top:auto!important;bottom:8px;transform:none!important}.lsl-story__prose .lsl-gal{columns:2 140px;column-gap:8px}.lsl-story__prose .lsl-gal figure{margin-bottom:8px!important;border-radius:12px}}

/* project progress */
.lsl-bars{display:grid;gap:18px;max-width:860px;margin-top:28px}
.lsl-bar__top{display:flex;justify-content:space-between;gap:12px;font-size:15px;margin-bottom:8px}
.lsl-bar__top b{color:var(--deep)}
.lsl-bar__track{height:10px;border-radius:10px;background:var(--line2);overflow:hidden}
.lsl-bar__track i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--red),var(--sun))}
.lsl-floors{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
.lsl-floors div{padding:16px 18px;border-radius:14px;border:1px solid var(--line2);background:#fff;display:flex;flex-direction:column;gap:4px}
.lsl-floors span{font-size:13px;color:var(--soft)}
.lsl-floors b{font-size:20px;color:var(--deep)}

/* about photo */
.lsl-about-photo{margin:0;position:relative}
.lsl-about-photo .lsl-hero-img{aspect-ratio:16/8}
@media (max-width:700px){.lsl-about-photo .lsl-hero-img{aspect-ratio:4/3}}
.lsl-photoband{padding-top:clamp(8px,2vw,24px)!important;padding-bottom:clamp(32px,5vw,64px)!important}
.lsl-about-photo .lsl-hero-img{aspect-ratio:16/8;box-shadow:0 30px 60px -32px rgba(141,27,30,.35)}
.lsl-photostrip{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,1.4vw,16px);margin-top:clamp(12px,1.6vw,18px)}
.lsl-photostrip figure{margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--ph)}
.lsl-photostrip img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.lsl-photostrip figure:hover img{transform:scale(1.06)}
@media (max-width:700px){.lsl-photostrip{grid-template-columns:repeat(3,1fr)}.lsl-photostrip figure:nth-child(n+4){display:none}.lsl-about-photo .lsl-hero-img{aspect-ratio:4/3}}

/* ===== v1.0.7 — Org chart (About) ===== */
.lsl-org{display:flex;flex-direction:column;align-items:center;gap:0}
.lsl-org__tier,.lsl-org__teams{width:100%}
.lsl-org__label{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;margin-bottom:22px}
.lsl-org__label b{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);font-weight:700}
.lsl-org__label span{font-size:13px;color:var(--soft)}
.lsl-org__board{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(3,minmax(0,1fr))}
.lsl-person{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 18px 22px;background:#fff;border:1px solid var(--line2);border-radius:22px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.lsl-person:hover{transform:translateY(-5px);box-shadow:0 22px 44px -22px rgba(141,27,30,.3)}
.lsl-person h3{font-size:17px;font-weight:600;margin-top:10px;letter-spacing:-.01em}
.lsl-person__en{font-size:14px;font-weight:600;color:var(--deep);line-height:1.4;text-align:center!important}
.lsl-person__vi{font-size:13px;color:var(--soft);text-align:center!important}
.lsl-person--lead{padding:0 0 26px;overflow:hidden;border-radius:26px}
.lsl-person--lead::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--red),var(--sun));z-index:2}
.lsl-person--lead h3{font-size:clamp(19px,1.7vw,22px);margin-top:4px}
.lsl-person--lead .lsl-person__en{font-size:15px;padding:0 18px}
.lsl-person__txt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 18px 0}
.lsl-person__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:4px}
.lsl-person__tags span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#FFF0D2;color:#9A5B00}
.lsl-person__tags span:first-child{background:#FFE4E1;color:#B3171B}
/* portraits */
.lsl-av{position:relative;width:104px;aspect-ratio:1;border-radius:50%;overflow:hidden;flex:none;background:radial-gradient(circle at 30% 25%,#FFE3B8,#FFC3A8 45%,#F27C64 100%);box-shadow:0 0 0 4px #fff,0 0 0 6px #FFE1D6}
.lsl-av img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.lsl-person:hover .lsl-av img{transform:scale(1.05)}
.lsl-av__ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:600;letter-spacing:.04em;color:#fff;text-shadow:0 2px 10px rgba(141,27,30,.35)}
.lsl-av--lg{width:100%;aspect-ratio:4/5;border-radius:0;box-shadow:none;background:linear-gradient(160deg,#FFF4F1 0%,#FFD2C2 55%,#E9584A 100%)}
.lsl-av--lg:has(img)::after{display:none}
.lsl-av--lg .lsl-av__ini{font-size:clamp(56px,6vw,84px);font-weight:300;letter-spacing:.06em;z-index:1}
/* connectors */
.lsl-org__branch{position:relative;width:100%;height:56px}
.lsl-org__branch::before{content:"";position:absolute;left:50%;top:0;height:28px;border-left:2px dashed #F2B8A8}
.lsl-org__branch i{position:absolute;left:25%;right:25%;top:28px;height:28px;border:2px dashed #F2B8A8;border-bottom:0;border-radius:14px 14px 0 0}
.lsl-org__teams{display:grid;grid-template-columns:2fr 1fr;gap:clamp(16px,2vw,24px)}
.lsl-org__team{padding:24px clamp(14px,2vw,24px) clamp(18px,2vw,24px);border-radius:26px;background:rgba(255,255,255,.6);border:1px solid #F4E3D8}
.lsl-org__people{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.lsl-org__team .lsl-person{padding:22px 12px 18px}
.lsl-org__team--ops .lsl-av{background:radial-gradient(circle at 30% 25%,#FFF0D2,#FFD08A 50%,#F2A33A 100%)}
@media (max-width:1000px){.lsl-org__teams{grid-template-columns:1fr}.lsl-org__branch i{left:50%;right:auto;width:0;border-radius:0;border-width:0 0 0 2px}}
@media (max-width:760px){
 .lsl-org__board{grid-template-columns:1fr;max-width:420px;margin:0 auto}
 .lsl-person--lead{flex-direction:row;align-items:center;text-align:left;padding:0;gap:0}
 .lsl-person--lead .lsl-av--lg{width:120px;align-self:stretch;aspect-ratio:auto;min-height:150px}
 .lsl-person--lead .lsl-av__ini{font-size:40px}
 .lsl-person--lead .lsl-person__txt{align-items:flex-start;padding:16px}
 .lsl-person--lead .lsl-person__en{padding:0;text-align:left!important}
 .lsl-person--lead .lsl-person__vi{text-align:left!important}
 .lsl-person__tags{justify-content:flex-start}
 .lsl-org__people{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lsl-av{width:84px}.lsl-av__ini{font-size:24px}
}

/* v1.0.8 — La Sol mark watermark (replaces the old sun rays) */
@keyframes lslFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(2deg)}}
.lsl-news-hero::after,.lsl-story__mark,.lsl-story__cta::before,.lsl-av--lg::after{content:"";position:absolute;pointer-events:none;-webkit-mask:url(../img/mark.png) center/contain no-repeat;mask:url(../img/mark.png) center/contain no-repeat;animation:lslFloat 9s ease-in-out infinite}
.lsl-news-hero::after{right:-30px;top:-20px;width:260px;height:260px;background:linear-gradient(135deg,var(--red),#FF8A3D);opacity:.1}
.lsl-story__mark{right:clamp(-60px,-3vw,-20px);top:clamp(-50px,-3vw,-10px);width:clamp(200px,26vw,360px);aspect-ratio:1;background:linear-gradient(135deg,var(--red),#FF8A3D);opacity:.09}
.lsl-story__cta::before{right:-40px;bottom:-60px;width:340px;height:340px;background:#fff;opacity:.14}
.lsl-av--lg::after{right:-28px;top:-18px;width:150px;height:150px;background:linear-gradient(135deg,#C7372A,#952613);opacity:.12}
@media (prefers-reduced-motion:reduce){.lsl-news-hero::after,.lsl-story__mark,.lsl-story__cta::before,.lsl-av--lg::after{animation:none}}

/* v1.1.0 — project pages, buyer-first: photo hero, sticky section tabs, mosaic galleries, mid CTA, other projects, mobile action bar */
.lsl-proj .lsl-sec{padding:clamp(56px,7vw,96px) 0;scroll-margin-top:calc(var(--hd) + 56px)}
.lsl-proj [id]{scroll-margin-top:calc(var(--hd) + 56px)}
.lsl-phero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#1d1210}
.lsl-phero__bg{position:absolute;inset:0}
.lsl-phero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:lslHeroIn 1.6s cubic-bezier(.2,.8,.2,1) both}
.lsl-phero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,8,6,.35) 0%,rgba(20,8,6,.05) 30%,rgba(20,8,6,.55) 62%,rgba(20,8,6,.88) 100%)}
@keyframes lslHeroIn{from{transform:scale(1.12);opacity:.6}to{transform:scale(1.04);opacity:1}}
.lsl-phero__in{position:relative;z-index:1;padding-top:clamp(120px,18vh,200px);padding-bottom:clamp(36px,5vw,56px)}
.lsl-phero .lsl-crumbs,.lsl-phero .lsl-crumbs a{color:rgba(255,255,255,.8)}
.lsl-phero .lsl-eyebrow{color:rgba(255,255,255,.9)}
.lsl-phero .lsl-h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.lsl-phero__lead{max-width:760px;margin:18px 0 0;font-size:clamp(16px,1.5vw,19px);line-height:1.65;color:rgba(255,255,255,.92);text-align:left!important}
.lsl-phero .lsl-btns{margin-top:26px}
.lsl-phero__hl{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-top:clamp(28px,4vw,44px)}
.lsl-phero__hl > div{padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lsl-phero__hl b{display:block;font-size:clamp(18px,1.8vw,22px);font-weight:600;margin-bottom:4px}
.lsl-phero__hl span{font-size:14px;color:rgba(255,255,255,.82)}
.lsl-phero__cap{position:absolute;right:16px;bottom:8px;margin:0;font-size:11px;color:rgba(255,255,255,.6);z-index:1}

.lsl-pnav{position:sticky;top:var(--hd);z-index:40;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.lsl-pnav__in{display:flex;align-items:center;gap:16px;min-height:56px}
.lsl-pnav__links{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;-webkit-mask:linear-gradient(90deg,#000 92%,transparent);mask:linear-gradient(90deg,#000 92%,transparent)}
.lsl-pnav__links::-webkit-scrollbar{display:none}
.lsl-pnav__links a{flex:none;padding:8px 14px;border-radius:999px;font-size:14px;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s}
.lsl-pnav__links a:hover{color:var(--ink);background:var(--card)}
.lsl-pnav__links a.is-on{background:var(--deep);color:#fff}
.lsl-pnav__cta{flex:none;padding:10px 18px;border-radius:999px;background:var(--red);color:#fff!important;font-size:14px;font-weight:600}
@media (max-width:768px){.lsl-pnav__cta{display:none}.lsl-pnav__links{-webkit-mask:none;mask:none}.lsl-pnav__in{min-height:50px}}

.lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc){grid-template-columns:repeat(6,1fr);gap:12px}
.lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure{grid-column:span 2}
.lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure:first-child:nth-last-child(3n+1){grid-column:span 6;aspect-ratio:21/9}
.lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure:nth-child(3n+1):nth-last-child(2),
.lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure:nth-child(3n+2):last-child{grid-column:span 3}
.lsl-gal--clip figure:nth-child(n+7){display:none}
.lsl-more{text-align:center;margin:18px 0 0}
.lsl-proj .lsl-gal figure,.lsl-proj .lsl-plan,.lsl-proj .lsl-hero-img{cursor:zoom-in;position:relative}
.lsl-proj .lsl-gal figure img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.lsl-proj .lsl-gal figure:hover img{transform:scale(1.04)}
.lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure::after{content:"⤢";position:absolute;right:10px;top:10px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:15px;opacity:0;transition:opacity .25s}
.lsl-proj .lsl-gal figure:hover::after{opacity:1}
@media (max-width:600px){
 .lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc){grid-template-columns:1fr 1fr;gap:8px}
 .lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure,
 .lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure:nth-child(n){grid-column:auto;aspect-ratio:4/3;border-radius:12px}
 .lsl-proj .lsl-gal:not(.lsl-gal--fit):not(.lsl-gal--doc) figure:first-child:nth-last-child(odd){grid-column:span 2;aspect-ratio:16/10}
 .lsl-gal--clip figure:nth-child(n+7){display:none}
}
.lsl-proj .lsl-sub{margin:44px 0 16px}
.lsl-proj .lsl-prose + .lsl-sub,.lsl-proj .lsl-bars + .lsl-sub{margin-top:36px}

.lsl-pcta{position:relative;overflow:hidden;background:linear-gradient(120deg,#8D1B1E 0%,#C7262B 60%,#E8553E 100%);color:#fff;padding:clamp(44px,6vw,72px) 0}
.lsl-pcta::before{content:"";position:absolute;right:-30px;bottom:-50px;width:300px;height:300px;background:#fff;opacity:.1;-webkit-mask:url(../img/mark.png) center/contain no-repeat;mask:url(../img/mark.png) center/contain no-repeat}
.lsl-pcta__in{position:relative;display:grid;gap:24px;align-items:center;grid-template-columns:1.6fr auto}
.lsl-pcta__k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin:0 0 10px}
.lsl-pcta h2{color:#fff;font-size:clamp(22px,2.6vw,32px);line-height:1.3;margin:0 0 10px}
.lsl-pcta p{margin:0;opacity:.92;text-align:left!important}
@media (max-width:900px){.lsl-pcta__in{grid-template-columns:1fr}}

.lsl-pothers{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.lsl-pother{display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;color:var(--ink)!important;transition:transform .3s,box-shadow .3s}
.lsl-pother:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.lsl-pother__img{min-height:200px;background:var(--ph)}
.lsl-pother__img img{width:100%;height:100%;object-fit:cover}
.lsl-pother__txt{padding:22px 24px;display:flex;flex-direction:column;gap:6px}
.lsl-pother__txt span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.lsl-pother__txt h3{font-size:22px;margin:0}
.lsl-pother__txt p{margin:0;color:var(--muted);font-size:15px;text-align:left!important}
.lsl-pother__txt b{margin-top:auto;padding-top:10px;color:var(--deep);font-weight:600}
@media (max-width:520px){.lsl-pother{grid-template-columns:1fr}.lsl-pother__img{aspect-ratio:16/9;min-height:0}}

.lsl-mbar{display:none}
@media (max-width:768px){
 .lsl-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9991;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
 .lsl-mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:58px;height:50px;border-radius:12px;font-size:11px;color:var(--ink)!important}
 .lsl-mbar svg{color:var(--deep)}
 .lsl-mbar__z{font-size:11px;font-weight:800;color:#fff;background:#0068FF;border-radius:6px;padding:1px 5px}
 .lsl-mbar a.lsl-mbar__main{flex:1;flex-direction:row;font-size:15px;font-weight:600;background:var(--red);color:#fff!important;border-radius:999px}
 /* v1.1.6: floating Zalo stays on project pages, sitting above the bottom bar (88px) */
 body:has(.lsl-mbar){padding-bottom:calc(68px + env(safe-area-inset-bottom))}
 .lsl-phero{min-height:88svh}
 .lsl-phero__hl{grid-template-columns:1fr 1fr}
 .lsl-phero__hl > div:nth-child(3):last-child{grid-column:span 2}
 .lsl-phero__hl > div{padding:12px 14px}
 .lsl-phero__hl span{font-size:12.5px}
 .lsl-phero .lsl-btns .lsl-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){.lsl-phero__bg img{animation:none}}
/* v1.1.1 — hero readability + mobile photo first */
.lsl-phero__bg::after{background:linear-gradient(90deg,rgba(18,8,6,.82) 0%,rgba(18,8,6,.55) 42%,rgba(18,8,6,.12) 78%,rgba(18,8,6,0) 100%),linear-gradient(180deg,rgba(18,8,6,.35) 0%,rgba(18,8,6,0) 22%,rgba(18,8,6,0) 60%,rgba(18,8,6,.7) 100%)}
.lsl-phero .lsl-crumbs,.lsl-phero .lsl-eyebrow,.lsl-phero__lead{text-shadow:0 1px 12px rgba(0,0,0,.45)}
@media (max-width:768px){
 .lsl-phero{min-height:0;display:block;background:#1d1210}
 .lsl-phero__bg{bottom:auto;height:52svh}
 .lsl-phero__bg::after{background:linear-gradient(180deg,rgba(29,18,16,.25) 0%,rgba(29,18,16,0) 30%,rgba(29,18,16,.65) 75%,#1d1210 100%)}
 .lsl-phero__in{padding-top:36svh;padding-bottom:28px}
 .lsl-phero__cap{top:calc(52svh - 26px);bottom:auto}
}
.lsl-phero__bg{overflow:hidden}
@media (max-width:768px){.lsl-phero__cap{top:10px;right:12px;bottom:auto;font-size:10.5px;text-shadow:0 1px 6px rgba(0,0,0,.5)}}
@media (min-width:1200px) and (max-width:1440px){.lsl-hd__nav{gap:18px}}
/* v1.1.4 — justified photo rows: every photo whole, one height per row, tidy edges */
.lsl-proj .lsl-gal.lsl-jgal{display:flex;flex-direction:column;gap:12px}
.lsl-jrow{display:flex;gap:12px}
.lsl-jrow figure{margin:0;min-width:0;border-radius:14px;overflow:hidden;background:var(--ph);grid-column:auto!important}
.lsl-jrow figure img{width:100%;height:100%;object-fit:cover;display:block}
.lsl-gal--clip.lsl-jgal .lsl-jrow:nth-child(n+3){display:none}
.lsl-gal--clip.lsl-jgal figure{display:block!important}
@media (max-width:600px){
 .lsl-proj .lsl-gal.lsl-jgal,.lsl-jrow{gap:8px}
 .lsl-jrow{flex-wrap:wrap}
 .lsl-jrow figure{flex:1 1 100%!important;border-radius:12px}
}
/* v1.1.5 — intro quick-access layer, trust strip, home photo */
.lsl-intro-wrap{position:relative}
.lsl-ihud{position:absolute;left:0;right:0;top:0;height:0;z-index:6;pointer-events:none}
.lsl-ihud > *{pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease}
.lsl-ihud.is-on > *{opacity:1;transform:none}
.lsl-ihud.is-off > *{opacity:0!important;pointer-events:none}
.lsl-ihud__nav{position:absolute;top:22px;left:50%;transform:translateX(-50%) translateY(8px)!important;display:flex;align-items:center;gap:26px;white-space:nowrap}
.lsl-ihud.is-on .lsl-ihud__nav{transform:translateX(-50%)!important}
.lsl-ihud__nav a{color:rgba(255,255,255,.9)!important;font-size:14px;letter-spacing:.02em}
.lsl-ihud__nav a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:5px}
.lsl-ihud__tel{border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:7px 16px}
.lsl-ihud__btn{position:absolute;top:0;display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:600;white-space:nowrap}
.lsl-ihud__btn--l{background:#fff;color:var(--deep)!important}
.lsl-ihud__btn--r{border:1px solid rgba(255,255,255,.75);color:#fff!important;background:rgba(255,255,255,.08)}
.lsl-ihud__short{display:none}
@media (max-width:1099px){.lsl-ihud__nav{display:none}}
@media (max-width:600px){.lsl-ihud__btn{height:44px;padding:0 16px;font-size:14px}.lsl-ihud__long{display:none}.lsl-ihud__short{display:inline}}
@media (prefers-reduced-motion:reduce){.lsl-ihud > *{transition:none}}

.lsl-trust{background:var(--card);border-bottom:1px solid var(--line)}
.lsl-trust__in{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.lsl-trust__in > div{padding:22px 20px;border-left:1px solid var(--line)}
.lsl-trust__in > div:first-child{border-left:0;padding-left:0}
.lsl-trust b{display:block;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px}
.lsl-trust span{display:block;font-size:13.5px;color:var(--muted);line-height:1.5}
@media (max-width:900px){.lsl-trust__in{grid-template-columns:1fr 1fr}.lsl-trust__in > div{padding:16px 14px;border-left:0;border-top:1px solid var(--line)}.lsl-trust__in > div:nth-child(-n+2){border-top:0}.lsl-trust__in > div:nth-child(odd){padding-left:0}}
.lsl-home-photo{margin:clamp(36px,5vw,56px) 0 0}
.lsl-home-photo .lsl-hero-img{aspect-ratio:21/9;border-radius:20px;overflow:hidden}
.lsl-home-photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:600px){.lsl-home-photo .lsl-hero-img{aspect-ratio:4/3}}

/* v1.1.8 — project mobile bar: two wide, equal buttons (Zalo is the floating button above) */
@media (max-width:768px){
 .lsl-mbar{gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
 .lsl-mbar a.lsl-mbar__call,.lsl-mbar a.lsl-mbar__main{flex:1 1 0;flex-direction:row;gap:8px;height:52px;border-radius:999px;font-size:15px;font-weight:600}
 .lsl-mbar a.lsl-mbar__call{border:1.5px solid var(--red);color:var(--red)!important;background:#fff}
 .lsl-mbar a.lsl-mbar__call svg{color:var(--red)}
 body:has(.lsl-mbar){padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 body:has(.lsl-mbar) .lsl-zalo{bottom:calc(92px + env(safe-area-inset-bottom))}
}

/* v1.1.9 — Liên hệ: the intro as a small framed clip */
.lsl-clip{margin:0 auto;max-width:980px}
.lsl-clip__frame{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#952613;box-shadow:0 24px 60px rgba(141,27,30,.18),0 0 0 1px rgba(141,27,30,.08)}
.lsl-clip__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.lsl-clip figcaption{margin-top:12px;text-align:center;font-size:13px;color:var(--muted,#7a6a66)}
@media (max-width:700px){.lsl-clip__frame{aspect-ratio:4/5;border-radius:18px}}
/* phones: the arrow sits below "Xem dự án" / "Gọi ngay" */
.lsl-intro-wrap .scroll-cue{transition:translate .5s cubic-bezier(.2,.8,.2,1)}
@media (max-width:599px){.lsl-intro-wrap.is-m .scroll-cue{translate:0 60px}}
/* phones: on the intro screen the floating Zalo would cover "Gọi ngay"; it returns once the visitor scrolls */
@media (max-width:599px){body:has(.lsl-ihud:not(.is-off)) .lsl-zalo{opacity:0;pointer-events:none;transform:scale(.8)}.lsl-zalo{transition:opacity .3s,transform .3s}}

/* v1.1.11 — two team photos side by side, always one row (desktop and phone) */
.lsl-pair{display:flex;gap:clamp(8px,1.4vw,16px);align-items:stretch}
.lsl-pair figure{margin:0;min-width:0;border-radius:clamp(12px,1.6vw,20px);overflow:hidden;background:var(--ph,#f3ebe8)}
.lsl-pair img{width:100%;height:100%;object-fit:cover;display:block}
.lsl-home-photo .lsl-cap{margin-top:10px;text-align:center}
.lsl-sec--tight{padding-top:0!important}

/* v1.1.11 — contact form in La Sol red, slightly translucent, with the faded mark */
.lsl-form{position:relative;overflow:hidden;border:0;color:#fff;background:linear-gradient(150deg,rgba(149,38,19,.95) 0%,rgba(141,27,30,.92) 55%,rgba(196,40,30,.88) 100%);box-shadow:0 24px 60px rgba(141,27,30,.28)}
.lsl-form::after{content:"";position:absolute;right:-50px;bottom:-60px;width:280px;height:280px;background:url(../img/mark.png) center/contain no-repeat;opacity:.08;pointer-events:none}
.lsl-form>*{position:relative;z-index:1}
.lsl-form label{color:rgba(255,255,255,.9);font-weight:500}
.lsl-form label>span[aria-hidden]{color:#FFC9B8}
.lsl-form input:not([type=checkbox]),.lsl-form select,.lsl-form textarea{background:rgba(255,255,255,.96);border:1px solid transparent;box-shadow:0 2px 10px rgba(60,8,4,.12)}
.lsl-form input:not([type=checkbox]):focus,.lsl-form select:focus,.lsl-form textarea:focus{outline:3px solid rgba(255,255,255,.45);outline-offset:1px}
.lsl-form .lsl-check{color:rgba(255,255,255,.88);font-weight:400}
.lsl-form .lsl-check a{color:#fff}
.lsl-form .lsl-check input{accent-color:#fff}
.lsl-form .lsl-btn--red{background:#fff!important;color:var(--deep)!important;border-color:#fff!important;font-weight:600;box-shadow:0 10px 24px rgba(40,4,2,.25)}
.lsl-form .lsl-btn--red:hover{background:#FFF1EC!important}
.lsl-form .lsl-form__note{color:rgba(255,255,255,.8)}
.lsl-form .lsl-form__note a{color:#fff;font-weight:600}
.lsl-req{color:#FFC9B8;font-weight:600}
