:root{--navy:#0f2d5b;--blue:#2563eb;--green:#10b981;--ink:#15243a;--muted:#64748b;--line:#e5e7eb;--bg:#f8fafc;--warm:#f5f2eb;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,a{font:inherit}button{cursor:pointer}.topbar{height:72px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2))}.brand{color:#fff;text-decoration:none;display:flex;gap:10px;align-items:center;font-weight:900;letter-spacing:.08em;font-size:.83rem}.brand b{display:grid;place-items:center;background:white;color:var(--navy);width:32px;height:32px;border-radius:10px;font-size:1.2rem}.brand em{display:block;font-size:.56rem;color:#a9bddc;letter-spacing:.18em;font-style:normal}.icon{border:0;background:none;color:white;font-size:1.5rem}.back{color:white;text-decoration:none;font-size:.86rem;opacity:.85}main{max-width:1180px;margin:auto;padding:0 20px 95px}.hero{margin:0 -20px;padding:62px max(20px,calc((100vw - 1180px)/2)) 35px;background:var(--navy);color:white;border-radius:0 0 34px 34px}.kicker{color:#7196d1;font-size:.68rem;letter-spacing:.16em;font-weight:900;margin:0 0 8px}.hero h1{font-size:clamp(2.6rem,8vw,5.8rem);line-height:.96;letter-spacing:-.07em;margin:0 0 18px}.hero h1 i{color:#b9cbed;font-style:normal}.hero>p:last-of-type{color:#ccdaee}.search{max-width:720px;height:58px;background:white;color:var(--navy);border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 16px;margin-top:30px;box-shadow:0 18px 35px #071b3d38}.search span{font-size:1.5rem}.search input{flex:1;border:0;outline:0;font-size:1rem}.search button{border:0;background:none;font-size:1.4rem;color:#94a3b8}.chips,.video-row{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.chips{padding-top:22px}.chip{white-space:nowrap;background:transparent;border:1px solid #6988b7;color:#e6eefb;border-radius:999px;padding:9px 15px}.chip.active,.chip:hover{background:white;color:var(--navy);border-color:white}.section{padding-top:42px}.heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.heading h2{margin:0;font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.04em}.heading small,.muted{color:var(--muted)}.video-card{flex:0 0 190px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding-bottom:13px}.video-card.featured{flex-basis:255px}.video-card strong,.video-card>small{display:block;padding:10px 12px 0}.video-card>small{font-size:.76rem;color:var(--muted)}.video-cover{height:190px;background:linear-gradient(145deg,#163b76,#7295c8);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:2rem}.featured .video-cover{height:220px}.video-cover small{font-size:.6rem;letter-spacing:.16em}.video-cover.warm{background:linear-gradient(145deg,#927550,#ecd9bc)}.toolbar{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:18px}.tab,.filter-button,.text-button{border:0;background:none;color:var(--muted);padding:0 0 11px}.tab{margin-right:18px}.tab.active{color:var(--navy);font-weight:800;border-bottom:2px solid var(--blue)}.filter-button,.text-button{color:var(--blue);font-weight:800}.feed{display:grid;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 12px 28px #0f2d5b0c}.media{height:330px;background:var(--warm);display:block;position:relative;overflow:hidden}.media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.card:hover .media img{transform:scale(1.025)}.count,.pill{position:absolute;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800}.count{bottom:12px;left:12px;background:#0f2d5bcc;color:white}.pill{top:12px;right:12px;background:white;color:var(--navy)}.pill.static{position:static;background:#e6f7f0;color:#07845e}.empty-photo{height:100%;display:grid;place-items:center;color:var(--muted)}.card-body{padding:17px 18px}.location{color:var(--blue);font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.location,.save{display:inline-block}.save{float:right;border:0;background:none;font-size:1.5rem;color:#64748b;padding:0}.save.saved{color:#ef4444}.card h3{font-size:1.2rem;line-height:1.2;margin:10px 0}.card h3 a{color:var(--ink);text-decoration:none}.price,.detail-price{color:var(--navy);font-size:1.25rem;font-weight:900;margin:0}.facts{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;font-size:.84rem}.facts span+span{border-left:1px solid var(--line);padding-left:10px}.access{color:var(--muted);font-size:.82rem}.actions{display:flex;justify-content:space-between;margin-top:16px}.actions a{color:var(--blue);font-weight:800;text-decoration:none}.actions button{border:0;background:var(--bg);border-radius:999px;padding:7px 12px;color:var(--muted)}.map-ready,.map{background:var(--warm);border-radius:22px;padding:25px;margin-top:45px;display:flex;justify-content:space-between;align-items:center;gap:20px}.map-ready h2,.map h2{margin:0 0 7px}.map-ready p,.map p{color:var(--muted);margin:0}.outline,.primary{border:1px solid var(--navy);background:white;color:var(--navy);border-radius:999px;padding:11px 16px;font-weight:800}.bottom{height:68px;position:fixed;z-index:10;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center}.bottom a,.bottom button{border:0;background:none;color:#94a3b8;text-decoration:none;font-size:.68rem;display:flex;flex-direction:column;align-items:center;gap:2px}.bottom a:first-letter,.bottom button:first-letter{font-size:1.35rem}.bottom .active{color:var(--navy);font-weight:800}.sheet{position:fixed;z-index:20;left:0;right:0;bottom:-100%;background:white;border-radius:26px 26px 0 0;padding:14px 20px 28px;transition:bottom .2s;max-height:84vh;overflow:auto}.sheet.open{bottom:0}.handle{height:4px;width:42px;background:#cbd5e1;border-radius:5px;margin:auto}.sheet fieldset{border:0;border-top:1px solid var(--line);padding:14px 0}.sheet legend{font-weight:800;margin-bottom:10px}.opt{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;padding:8px 12px;margin:3px}.opt.selected{color:var(--blue);border-color:#93b4f5;background:#e8effd}.primary{display:block;width:100%;background:var(--navy);color:white;text-align:center}.empty{text-align:center;color:var(--muted);padding:45px 20px}.detail{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr;gap:30px;padding-bottom:100px}.gallery{margin:0 -20px}.hero-img{height:420px;background:var(--warm)}.hero-img img{width:100%;height:100%;object-fit:cover}.thumbs{display:flex;gap:8px;overflow:auto;padding:10px 20px}.thumbs button{padding:0;flex:0 0 70px;height:70px;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none}.thumbs button.active,.thumbs button:first-child{border-color:var(--blue)}.thumbs img{width:100%;height:100%;object-fit:cover}.summary h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;letter-spacing:-.06em;margin:15px 0 10px}.detail-location{color:var(--muted)}.detail-price{font-size:1.7rem;margin-top:20px}.note,.calculation{font-size:.83rem;color:var(--muted);background:var(--warm);border-radius:10px;padding:11px 13px}.keyfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:25px 0;border:1px solid var(--line);border-radius:15px;overflow:hidden}.keyfacts b{background:white;padding:14px 10px;font-size:.9rem}.keyfacts small{display:block;color:var(--muted);font-size:.7rem;font-weight:400}.ctas,.sticky{display:flex;gap:10px}.ctas button,.sticky button{flex:1;border:0;border-radius:12px;padding:14px;color:white;font-weight:900}.ctas button:first-child,.sticky button:first-child{background:var(--green)}.ctas button:last-child,.sticky button:last-child{background:var(--blue)}.detail-section h2{margin:0 0 16px}.advantages{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.advantages div{background:white;border:1px solid var(--line);border-radius:14px;padding:15px}.video-detail{background:var(--navy);color:white;border-radius:18px;padding:42px;text-align:center}.video-detail a{color:white;font-weight:800}.detail-section p,.detail-section li{color:#475569}.calculation{background:#eaf0fa;color:var(--navy)!important}.map strong{font-size:3rem;color:#c4a982}.related{display:grid;gap:16px}.sticky{position:fixed;z-index:8;bottom:78px;left:12px;right:12px}.sticky button{box-shadow:0 8px 20px #0f2d5b2b}
@media(min-width:700px){.hero{padding-top:90px;padding-bottom:56px}.feed{grid-template-columns:repeat(2,1fr)}.bottom{position:static;max-width:1180px;margin:auto;border:0;background:transparent;justify-content:flex-start;gap:28px}.bottom a,.bottom button{flex-direction:row;font-size:.85rem}.detail{grid-template-columns:1.55fr .85fr;gap:38px;padding-top:40px}.gallery{grid-row:1/span 2;margin:0}.hero-img{height:590px;border-radius:24px;overflow:hidden}.detail-section{grid-column:1/-1}.related{grid-template-columns:repeat(3,1fr)}.sticky{position:static;grid-column:2;margin-top:-140px;align-self:end}.sheet{display:none}}
@media(min-width:1050px){.feed{grid-template-columns:repeat(3,1fr)}.media{height:340px}.video-card.featured .video-cover{height:260px}}
.campaign-banner{margin-top:42px;padding:18px 20px;background:var(--navy);color:#fff;border-radius:22px;display:flex;align-items:center;gap:16px;box-shadow:0 12px 28px #0f2d5b1a;transition:transform .2s ease,box-shadow .2s ease}.campaign-banner:hover{transform:translateY(-2px);box-shadow:0 16px 32px #0f2d5b2a}.campaign-banner-mark{flex:0 0 62px;height:62px;border-radius:18px;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:.68rem;line-height:1}.campaign-banner-mark span{font-size:1.15rem}.campaign-banner-copy{flex:1}.campaign-banner-copy .kicker{margin-bottom:3px}.campaign-banner-copy h2{margin:0;font-size:1.05rem}.campaign-banner-copy p:not(.kicker){margin:4px 0 0;color:#cbd8eb;font-size:.82rem}.campaign-banner-link{color:#fff;text-decoration:none;font-size:.8rem;font-weight:900;white-space:nowrap}.campaign-page{background:var(--bg)}.campaign-page main{padding-top:42px}.campaign-hero{display:grid;gap:26px;align-items:center}.campaign-visual{min-height:300px;border-radius:28px;background:radial-gradient(circle at 70% 20%,#6e91c5 0,#254e8a 30%,var(--navy) 75%);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 18px 40px #0f2d5b24}.campaign-visual span{font-size:2rem;font-weight:900;letter-spacing:.2em}.campaign-visual strong{font-size:clamp(3rem,12vw,7rem);line-height:.9;letter-spacing:-.08em}.campaign-visual small{margin-top:18px;letter-spacing:.15em;color:#c6d7f2;font-size:.62rem}.campaign-hero-copy h1{font-size:clamp(2.35rem,7vw,5.7rem);line-height:.98;letter-spacing:-.07em;margin:10px 0 18px;color:var(--navy)}.campaign-lead{font-size:1.1rem;max-width:620px;color:#475569}.campaign-meta{display:flex;gap:10px;margin:26px 0}.campaign-meta span{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;color:var(--navy);min-width:120px}.campaign-meta b{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.campaign-primary{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;border-radius:12px;padding:14px 18px;font-weight:900;transition:transform .2s ease,background .2s ease}.campaign-primary:hover{background:#1d4ed8;transform:translateY(-2px)}.campaign-story,.campaign-actions{margin-top:48px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;max-width:800px}.campaign-story h2,.campaign-actions h2{margin:0 0 12px;font-size:clamp(1.5rem,4vw,2.3rem);letter-spacing:-.04em}.campaign-story>p:not(.kicker),.campaign-actions>p:not(.kicker){color:#475569;font-size:1.03rem}.campaign-story blockquote{margin:24px 0 0;padding:16px 18px;border-left:3px solid var(--blue);background:#eaf0fa;color:var(--navy);font-size:1.1rem;font-weight:800}.campaign-share-row{display:flex;flex-wrap:wrap;gap:10px}.campaign-share-row a,.campaign-share-row button{border:1px solid var(--line);background:var(--bg);color:var(--navy);border-radius:999px;padding:11px 15px;text-decoration:none;font-weight:800}.campaign-share-row a:first-child{background:#e8effd;color:var(--blue);border-color:#bfd1f6}.campaign-share-row button{cursor:pointer}.campaign-copy-status{min-height:1.2em;color:var(--green)!important;font-size:.86rem!important}.campaign-back{padding:30px 0}.campaign-back a{color:var(--blue);font-weight:800}.campaign-ended{padding:80px 0;text-align:center;min-height:55vh}.campaign-ended h1{color:var(--navy)}.campaign-ended p:not(.kicker){color:var(--muted)}.campaign-ended .primary{max-width:240px;margin:22px auto}.campaign-footer{padding:25px 20px;text-align:center;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line)}
@media(min-width:700px){.campaign-hero{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:52px}.campaign-visual{min-height:520px}.campaign-story,.campaign-actions{padding:38px}.campaign-banner{padding:15px 18px}}

@media(max-width:699px){
  .hero{padding-top:41px;padding-bottom:22px}
  .hero h1{margin-bottom:11px}
  .hero>p:last-of-type{margin:0}
  .search{margin-top:18px}
  .chips{position:relative;padding-top:13px;padding-right:42px;scroll-padding-right:42px;overscroll-behavior-x:contain}
  .chips::before{content:"Vuốt →";position:absolute;z-index:2;right:6px;top:14px;color:#dce8fb;font-size:.63rem;font-weight:800;letter-spacing:.02em;pointer-events:none}
  .chips::after{content:"";position:absolute;z-index:1;right:0;top:13px;bottom:0;width:62px;background:linear-gradient(90deg,rgba(15,45,91,0),var(--navy));pointer-events:none}
  .campaign-primary{display:block;text-align:center}
  .campaign-share-row{display:grid;grid-template-columns:1fr 1fr}
  .campaign-share-row button{grid-column:1/-1}
}
