/*
Theme Name: Norton Park
Theme URI: https://example.com/
Author: Tư vấn Norton Park
Description: Theme landing page + tin tức cho dự án Norton Park Gamuda Land. Tối ưu SEO, tốc độ, có form lấy số, popup, mặt bằng căn hộ, bảng tính dòng tiền. Thông tin liên hệ chỉnh trong Giao diện → Tùy biến → Norton Park.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: norton-park
*/

/* Layout: dải toàn chiều rộng xen kẽ nền rừng đậm / nền sương sáng, nội dung căn trái trong khung 1160px */
:root{
  --forest:#123a2c;      /* xanh rừng đậm – nền nhấn */
  --forest-2:#1c4d3b;
  --moss:#5f8f6b;        /* xanh sân golf */
  --mist:#f2f5f1;        /* nền sáng hơi ngả xanh */
  --paper:#ffffff;
  --ink:#16231d;
  --ink-soft:#4b5a52;
  --line:#d9e2da;
  --brass:#b5893e;       /* điểm nhấn đồng */
  --brass-soft:#f3e9d6;
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1160px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--mist);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.15;text-wrap:balance;margin:0}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}
h3{font-size:1.2rem;font-family:var(--f-body);font-weight:700;line-height:1.35}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.lead{font-size:1.08rem;color:var(--ink-soft);max-width:62ch}
.section{padding-block:clamp(56px,8vw,96px)}
.section-head{display:grid;gap:12px;margin-bottom:40px}
.dark{background:var(--forest);color:#e9f0eb}
.dark .lead{color:#bcd0c3}
.dark h2{color:#fff}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}

/* Header */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(18,58,44,.96);backdrop-filter:blur(6px);color:#fff}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.brand b{font-family:var(--f-display);font-size:1.35rem;letter-spacing:.06em}
.brand small{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#a9c3b2}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{text-decoration:none;font-size:.88rem;padding:8px 10px;border-radius:6px;white-space:nowrap;color:#d6e3da}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.hotline{display:inline-flex;align-items:center;gap:8px;background:var(--brass);color:#fff;text-decoration:none;font-weight:700;padding:9px 14px;border-radius:6px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:980px){.nav{display:none}}

/* Hero */
.hero{position:relative;background:var(--forest);color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0;background:
  radial-gradient(120% 80% at 85% 10%,rgba(181,137,62,.28),transparent 55%),
  radial-gradient(90% 90% at 10% 100%,rgba(95,143,107,.55),transparent 60%),
  linear-gradient(160deg,#1c4d3b,#0d2c21)}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:40px;padding-block:clamp(48px,7vw,88px);align-items:end}
.crumbs{font-size:.8rem;color:#a9c3b2;margin-bottom:18px}
.crumbs a{text-decoration:none}
.crumbs span{margin-inline:6px}
.hero h1{font-size:clamp(2.2rem,5.4vw,4rem);color:#fff}
.hero h1 em{font-style:normal;color:#e2c48a}
.hero .lead{color:#cfe0d5;margin-top:18px}
.facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.facts div{display:grid}
.facts strong{font-family:var(--f-display);font-size:1.7rem;font-weight:600;font-variant-numeric:tabular-nums}
.facts span{font-size:.8rem;color:#a9c3b2}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font:inherit;font-weight:700;text-decoration:none;padding:13px 20px;border-radius:6px}
.btn-brass{background:var(--brass);color:#fff}
.btn-brass:hover{background:#a37a33}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}

/* Form card */
.form-card{background:var(--paper);color:var(--ink);border-radius:10px;padding:26px;box-shadow:0 24px 60px -24px rgba(0,0,0,.45)}
.form-card h2{font-size:1.45rem}
.form-card p.note{font-size:.88rem;color:var(--ink-soft);margin-top:6px}
form.lead-form{display:grid;gap:12px;margin-top:18px}
.field{display:grid;gap:5px}
.field label{font-size:.82rem;font-weight:600}
.field input,.field select,.field textarea{font:inherit;font-size:.95rem;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--mist);color:var(--ink);width:100%}
.field textarea{min-height:70px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--moss);border-color:var(--moss);background:#fff}
.hp{position:absolute;left:-9999px}
.form-msg{font-size:.9rem;padding:10px 12px;border-radius:6px}
.form-msg.ok{background:#e3f1e6;color:#1d5b33}
.form-msg.err{background:#fbeaea;color:#8a2323}
.privacy{font-size:.75rem;color:var(--ink-soft)}

/* Photos */
.ph{position:relative;overflow:hidden;border-radius:8px;background:
  linear-gradient(135deg,rgba(18,58,44,.92),rgba(95,143,107,.85)),
  repeating-linear-gradient(45deg,transparent 0 14px,rgba(255,255,255,.05) 14px 15px);
  aspect-ratio:4/3;max-width:100%}
.ph::after{content:attr(data-label);position:absolute;left:14px;bottom:12px;right:14px;font-size:.78rem;color:rgba(255,255,255,.85);letter-spacing:.04em}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

/* Overview */
.ov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.spec{width:100%;border-collapse:collapse;background:var(--paper);border-radius:8px;overflow:hidden}
.spec th,.spec td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.95rem}
.spec th{width:38%;color:var(--ink-soft);font-weight:500}
.spec td{font-weight:600}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}

/* Location */
.loc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}
.dist{list-style:none;margin:0;padding:0;display:grid}
.dist li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.dist li:last-child{border-bottom:0}
.dist .t{font-family:var(--f-display);font-size:1.35rem;color:#e2c48a;font-variant-numeric:tabular-nums;line-height:1.2}
.dist .d{color:#d6e3da}
.dist .d b{color:#fff}
.workforce{margin-top:28px;padding:20px 22px;border-radius:8px;background:var(--forest-2)}
.workforce strong{font-family:var(--f-display);font-size:2rem;color:#fff;font-variant-numeric:tabular-nums}

/* Advantages */
.adv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.adv article{display:grid;gap:16px;background:var(--paper);border-radius:10px;padding:22px}
.adv .ph{aspect-ratio:16/9}
.adv ul{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;gap:6px}
.kicker{font-family:var(--f-display);font-size:1.5rem;color:var(--forest)}

/* Amenities */
.amen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.amen article{display:grid;gap:10px;align-content:start}
.amen .ph{aspect-ratio:1/1}
.amen h3{font-size:1rem}
.amen p{font-size:.9rem;color:var(--ink-soft)}

/* Products */
.types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.types div{background:var(--paper);padding:20px 18px;display:grid;gap:4px}
.types b{font-family:var(--f-display);font-size:1.3rem;color:var(--forest)}
.types span{font-size:.85rem;color:var(--ink-soft)}

/* Savills */
.savills{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.ticks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.ticks li{padding-left:28px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2px solid var(--brass);border-bottom:2px solid var(--brass);transform:rotate(-45deg)}

/* Payment */
.pay{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px}
.pay article{border-top:3px solid var(--brass);background:var(--forest-2);padding:22px;border-radius:0 0 8px 8px;display:grid;gap:8px;align-content:start}
.pay .big{font-family:var(--f-display);font-size:2.6rem;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.pay h3{color:#fff}
.pay p{color:#bcd0c3;font-size:.95rem}
.disclaim{font-size:.82rem;color:#a9c3b2;margin-top:20px}

/* Developer */
.dev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:start}
.portfolio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.portfolio div{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.portfolio b{display:block;font-family:var(--f-display);font-size:1.15rem;color:var(--forest)}
.portfolio span{font-size:.85rem;color:var(--ink-soft)}

/* FAQ */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:0 20px}
.faq summary{cursor:pointer;list-style:none;font-weight:600;padding:16px 28px 16px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.4rem;color:var(--brass)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:18px;color:var(--ink-soft)}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.channels{display:grid;gap:12px;margin-top:24px}
.channel{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--forest-2);border-radius:8px;text-decoration:none}
.channel .ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brass);color:#fff;font-weight:700;flex:none}
.channel small{display:block;font-size:.78rem;color:#a9c3b2}
.channel b{font-size:1.1rem;color:#fff;font-variant-numeric:tabular-nums;word-break:break-all}

footer{background:#0b241b;color:#98b3a3;font-size:.85rem;padding-block:36px 96px}
footer .wrap{display:grid;gap:10px}
footer b{color:#fff}

/* Mobile CTA bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;grid-template-columns:repeat(3,1fr);background:var(--forest);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -6px 20px rgba(0,0,0,.2)}
.mbar a{display:grid;place-items:center;gap:2px;padding:10px 4px;text-decoration:none;color:#fff;font-size:.78rem;font-weight:600}
.mbar a.reg{background:var(--brass)}
.mbar svg{width:20px;height:20px}

@media (max-width:980px){
  .hero .wrap,.ov,.loc,.savills,.dev,.contact{grid-template-columns:minmax(0,1fr)}
  .amen{grid-template-columns:repeat(2,minmax(0,1fr))}
  .types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .types div:last-child{grid-column:1/-1}
  .pay{grid-template-columns:minmax(0,1fr)}
  .mbar{display:grid}
}
@media (max-width:640px){
  .adv{grid-template-columns:minmax(0,1fr)}
  .hotline .num{display:none}
  .dist li{grid-template-columns:78px minmax(0,1fr)}
  .spec th,.spec td{padding:12px 14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Bản 2: thành phần bổ sung ===== */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--brass);z-index:70}
.hero .metro-tag{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:6px 12px 6px 6px;border-radius:999px;font-size:.85rem;margin-bottom:18px}
.metro-tag b{background:var(--brass);color:#fff;border-radius:999px;padding:3px 10px;font-weight:700;letter-spacing:.04em}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);border-radius:10px;overflow:hidden;margin-top:8px}
.steps div{background:var(--forest-2);padding:22px;display:grid;gap:6px}
.steps .t{font-family:var(--f-display);font-size:2.2rem;color:#e2c48a;line-height:1;font-variant-numeric:tabular-nums}
.steps b{color:#fff;font-size:1.05rem}
.steps p{color:#bcd0c3;font-size:.92rem}

/* 3 nhóm khách */
.who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.who a{display:grid;gap:10px;align-content:start;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px;transition:border-color .2s,transform .2s}
.who a:hover{border-color:var(--moss);transform:translateY(-2px)}
.who .tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss)}
.who h3{font-family:var(--f-display);font-weight:600;font-size:1.35rem;color:var(--forest)}
.who p{color:var(--ink-soft);font-size:.95rem}
.who .more{color:var(--brass);font-weight:700;font-size:.9rem}

/* Video */
.video{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:10px;overflow:hidden;background:
  radial-gradient(80% 80% at 70% 20%,rgba(181,137,62,.35),transparent 60%),linear-gradient(160deg,#1c4d3b,#0b241b)}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video button{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;width:100%;background:rgba(11,36,27,.35);border:0;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.video .play{width:84px;height:84px;border-radius:50%;background:var(--brass);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(181,137,62,.25)}
.video .play svg{width:30px;height:30px;margin-left:5px}

/* Calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.calc .in{padding:24px;display:grid;gap:14px}
.calc .out{padding:24px;background:var(--forest);color:#d6e3da;display:grid;gap:14px;align-content:start}
.calc .row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:10px;font-variant-numeric:tabular-nums}
.calc .row b{color:#fff}
.calc .hl{font-family:var(--f-display);font-size:2.6rem;color:#e2c48a;line-height:1}
.calc small{font-size:.78rem;color:var(--ink-soft)}
.calc .out small{color:#a9c3b2}

/* News */
.news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.post{display:grid;gap:12px;align-content:start;text-decoration:none}
.post .ph{aspect-ratio:16/10}
.post .meta{font-size:.78rem;color:var(--ink-soft);letter-spacing:.04em}
.post h3{font-family:var(--f-display);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--forest)}
.post:hover h3{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px}
.post p{color:var(--ink-soft);font-size:.93rem}

/* Article */
.article-hero{background:var(--forest);color:#fff;padding-block:clamp(40px,6vw,72px)}
.article-hero h1{font-size:clamp(1.9rem,4.4vw,3.1rem);color:#fff;max-width:22ch}
.article-hero .meta{margin-top:16px;font-size:.88rem;color:#a9c3b2}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding-block:48px 80px;align-items:start}
.prose{max-width:70ch;font-size:1.06rem}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin-top:1.8em;color:var(--forest)}
.prose h3{margin-top:1.4em;font-size:1.15rem}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.4em}
.prose .ph{aspect-ratio:16/9}
.prose figure{margin:1.6em 0}
.prose figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:8px}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--brass);font-family:var(--f-display);font-size:1.3rem;color:var(--forest)}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--paper)}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--mist)}
.lead-p{font-size:1.18rem;color:var(--ink)}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 22px}
.toc b{display:block;margin-bottom:8px}
.toc ol{margin:0;padding-left:1.2em;display:grid;gap:4px;font-size:.95rem}
.toc a{text-decoration:none;color:var(--forest)}
.toc a:hover{text-decoration:underline}
.inline-cta{background:var(--brass-soft);border:1px solid #e6d3ac;border-radius:10px;padding:22px;display:grid;gap:12px}
.inline-cta h3{margin:0;font-family:var(--f-display);font-weight:600;font-size:1.3rem;color:var(--forest)}
.inline-cta form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;margin:0}
.inline-cta .field input{background:#fff}
.inline-cta .form-msg,.inline-cta .privacy{grid-column:1/-1}
.aside{position:sticky;top:84px;display:grid;gap:20px}
.aside .form-card{box-shadow:none;border:1px solid var(--line)}
.author{display:flex;gap:14px;align-items:center;padding:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.author .av{width:52px;height:52px;border-radius:50%;background:var(--forest);color:#e2c48a;display:grid;place-items:center;font-family:var(--f-display);font-size:1.2rem;flex:none}
.author small{display:block;color:var(--ink-soft)}

/* Popup */
.pop{position:fixed;inset:0;z-index:80;background:rgba(11,36,27,.6);display:grid;place-items:center;padding:16px}
.pop .form-card{width:min(440px,100%);position:relative;max-height:90vh;overflow:auto}
.pop .x{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:var(--ink-soft)}
.pop .gift{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pop .gift span{font-size:.8rem;background:var(--mist);border:1px solid var(--line);padding:4px 10px;border-radius:999px}

@media (max-width:980px){
  .steps,.who,.news{grid-template-columns:minmax(0,1fr)}
  .calc{grid-template-columns:minmax(0,1fr)}
  .article-layout{grid-template-columns:minmax(0,1fr)}
  .aside{position:static}
}
@media (min-width:641px) and (max-width:980px){.news{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.inline-cta form{grid-template-columns:minmax(0,1fr)}}

/* ===== Bản 3: ảnh thật, mặt bằng, tiến độ ===== */
.pic{margin:0;border-radius:8px;overflow:hidden;background:var(--paper)}
.pic img{width:100%;height:auto}
.pic figcaption{font-size:.82rem;color:var(--ink-soft);padding:8px 2px 0;background:transparent}
.dark .pic{background:transparent}
.dark .pic figcaption{color:#a9c3b2}
.steps .ph{aspect-ratio:16/10;margin:-22px -22px 10px;border-radius:0}
.loc-map{margin-top:40px}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);border-radius:10px;overflow:hidden;margin-top:24px}
.timeline div{background:var(--forest-2);padding:18px;display:grid;gap:6px;align-content:start}
.timeline b{font-family:var(--f-display);font-size:1.5rem;color:#e2c48a;font-variant-numeric:tabular-nums}
.timeline span{font-size:.9rem;color:#d6e3da}
.more-amen{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.more-amen span{font-size:.88rem;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--mist)}

/* Mặt bằng */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tabs button{font:inherit;font-weight:600;font-size:.92rem;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.plan{display:grid;grid-template-rows:auto 1fr;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:left;font:inherit;color:inherit;padding:0;cursor:zoom-in}
.plan:hover{border-color:var(--moss)}
.plan .im{aspect-ratio:16/9;background:#f7f7f5;overflow:hidden}
.plan .im img{width:100%;height:100%;object-fit:cover;object-position:right center}
.plan .tx{padding:14px 16px;display:grid;gap:6px;align-content:start}
.plan .ty{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.plan .ty b{font-family:var(--f-display);font-size:1.25rem;color:var(--forest)}
.plan .badge{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--brass-soft);color:#7a5a20;white-space:nowrap}
.plan dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-size:.88rem;font-variant-numeric:tabular-nums}
.plan dt{color:var(--ink-soft)}
.plan dd{margin:0;font-weight:600;text-align:right}
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,20,15,.92);display:grid;grid-template-rows:auto 1fr auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))}
.lb-top{display:flex;justify-content:space-between;align-items:center;color:#fff;gap:12px;padding:4px 6px}
.lb-top b{font-family:var(--f-display);font-size:1.2rem}
.lb-top button,.lb-nav button{font:inherit;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:6px;padding:8px 14px;cursor:pointer}
.lb-img{display:grid;place-items:center;min-height:0;overflow:auto}
.lb-img img{max-height:100%;max-width:100%;object-fit:contain;background:#fff;border-radius:4px}
.lb-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding-top:8px}
.lb-nav .btn{padding:8px 14px}

/* Tiến độ */
.progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.progress-grid .ph{aspect-ratio:4/3}
.progress-grid .ph:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}

@media (max-width:980px){
  .plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .plans{grid-template-columns:minmax(0,1fr)}
  .progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .progress-grid .ph:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}
}

/* ===== WordPress ===== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prose img{border-radius:8px}
.prose .wp-caption,.prose figure.wp-block-image{max-width:100%}
.prose .wp-caption-text,.prose figure figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:8px}
.prose .aligncenter{margin-inline:auto}
.prose a{color:var(--forest);text-decoration-color:var(--brass);text-underline-offset:3px}
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:6px;text-decoration:none;background:var(--paper)}
.pagination .current{background:var(--forest);color:#fff;border-color:var(--forest)}
.page-simple{padding-block:48px 80px}
body.admin-bar .topbar{top:32px}
@media (max-width:782px){body.admin-bar .topbar{top:46px}}

/* ===== Chuyên viên tư vấn ===== */
.agent{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center}
.agent-photo{position:relative;border-radius:12px;overflow:hidden;background:var(--brass-soft);aspect-ratio:1/1;max-width:100%}
.agent-photo img{width:100%;height:100%;object-fit:cover}
.agent-photo .tag{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(18,58,44,.92);color:#fff;border-radius:8px;padding:12px 14px;display:grid;gap:2px}
.agent-photo .tag b{font-family:var(--f-display);font-size:1.15rem}
.agent-photo .tag span{font-size:.82rem;color:#cfe0d5}
.agent h2{margin-top:6px}
.agent .lead{margin-top:14px}
.agent-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:24px}
.agent-stats div{background:var(--paper);padding:16px;display:grid;gap:2px}
.agent-stats strong{font-family:var(--f-display);font-size:1.7rem;color:var(--forest);line-height:1.1;font-variant-numeric:tabular-nums}
.agent-stats span{font-size:.82rem;color:var(--ink-soft)}
.agent-dev{margin-top:22px}
.agent-dev p{font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:.88rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--mist);border:1px solid var(--line);color:var(--forest)}
.awards{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.awards li{display:flex;gap:12px;align-items:flex-start}
.awards .medal{flex:none;width:30px;height:30px;border-radius:50%;background:var(--brass);color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:700}
.awards small{display:block;color:var(--ink-soft)}
.agent-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.btn-forest{background:var(--forest);color:#fff}
.btn-forest:hover{background:var(--forest-2)}
.btn-line{background:transparent;color:var(--forest);box-shadow:inset 0 0 0 1.5px var(--forest)}
.proof{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:auto auto;gap:12px;margin-top:40px}
.proof figure{margin:0;position:relative;border-radius:8px;overflow:hidden;background:var(--brass-soft)}
.proof img{width:100%;height:100%;object-fit:cover;display:block}
.proof figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;font-size:.8rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.proof .tall{grid-row:span 2}
.proof .wide{grid-column:span 2}
.author .av-img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
@media (max-width:980px){
  .agent{grid-template-columns:minmax(0,1fr)}
  .agent-photo{max-width:420px}
  .proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof .tall{grid-row:auto;aspect-ratio:3/4}
  .proof .wide{grid-column:1/-1}
}
@media (max-width:640px){.agent-stats strong{font-size:1.35rem}}

/* Điện thoại: mặt bằng vuốt ngang cho trang ngắn hơn */
@media (max-width:640px){
  .plans{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-20px;padding:0 20px 8px;scrollbar-width:none}
  .plans::-webkit-scrollbar{display:none}
  .plans .plan{flex:0 0 84%;scroll-snap-align:center}
  .plans-hint{display:block!important}
}
.plans-hint{display:none;font-size:.82rem;color:var(--ink-soft);margin:-12px 0 12px}

/* Tổng quan: ảnh cao bằng bảng thông số */
.ov{align-items:stretch}
.ov .section-head{display:flex;flex-direction:column;gap:12px;margin-bottom:0}
.ov-photo{position:relative;flex:1;min-height:320px;border-radius:10px;overflow:hidden;background:var(--brass-soft);margin-top:12px}
.ov-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:980px){.ov-photo{flex:none;min-height:0;aspect-ratio:4/3}}

/* Tiện ích: 2 ảnh mỗi hàng */
.amen{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.amen .ph{aspect-ratio:16/10}
.amen h3{font-size:1.15rem}
.amen p{font-size:.95rem}
.brand small{white-space:nowrap}

/* Menu điện thoại */
.menu-btn{display:none;width:44px;height:40px;border:0;border-radius:6px;background:rgba(255,255,255,.1);cursor:pointer;padding:10px;flex-direction:column;justify-content:space-between}
.menu-btn span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (max-width:980px){
  .topbar .wrap{position:relative}
  .menu-btn{display:flex;margin-left:auto}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--forest);padding:8px 20px 16px;box-shadow:0 12px 24px rgba(0,0,0,.25);max-height:calc(100vh - 64px);overflow-y:auto}
  .nav.open{display:flex}
  .nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.1);font-size:1rem;border-radius:0}
  .nav a:last-child{border-bottom:0}
}

/* ===== Mặt bằng chi tiết (popup) ===== */
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,20,15,.78);display:grid;place-items:center;padding:24px;grid-template-rows:none}
.lb-box{width:min(1180px,100%);height:min(760px,calc(100vh - 48px));background:var(--paper);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 360px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.lb-media{display:grid;grid-template-rows:1fr auto;background:#f7f7f4;min-height:0}
.lb-img{position:relative;overflow:hidden;cursor:zoom-in;display:block;min-height:0}
.lb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;border-radius:0;max-height:none;max-width:none;transition:transform .25s ease;transform-origin:var(--ox,50%) var(--oy,50%)}
.lb-img.zoom{cursor:zoom-out}
.lb-img.zoom img{transform:scale(2.2)}
.lb-tools{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-top:1px solid var(--line);background:var(--paper)}
.lb-tools button{font:inherit;font-weight:600;min-width:44px;height:40px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--forest);cursor:pointer;font-size:1.1rem}
.lb-tools .lb-zoom-btn{font-size:.9rem;margin-left:12px}
.lb-tools span{font-variant-numeric:tabular-nums;color:var(--ink-soft);min-width:64px;text-align:center}
.lb-info{position:relative;overflow-y:auto;padding:28px 26px;display:grid;gap:14px;align-content:start;border-left:1px solid var(--line)}
.lb-info h2{font-size:2rem;color:var(--forest);padding-right:40px}
.lb-info .badge{justify-self:start;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--brass-soft);color:#7a5a20}
.lb-x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--mist);font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink)}
.lb-spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0}
.lb-spec div{background:var(--paper);padding:12px 14px;display:grid;gap:2px}
.lb-spec .full{grid-column:1/-1}
.lb-spec dt{font-size:.78rem;color:var(--ink-soft)}
.lb-spec dd{margin:0;font-weight:700;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}
.lb-cta{background:var(--mist);border-radius:10px;padding:16px;display:grid;gap:10px}
.lb-cta form{display:grid;gap:10px;margin:0}
.lb-cta .field input{background:#fff}
.lb-or{font-size:.85rem;color:var(--ink-soft);margin:0}
.lb-or a{color:var(--forest);font-weight:700}
.lb-note{font-size:.75rem;color:var(--ink-soft)}
@media (max-width:860px){
  .lb{padding:0;place-items:stretch}
  .lb-box{height:100%;width:100%;border-radius:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;overflow-y:auto;display:block}
  .lb-media{display:block}
  .lb-img{height:auto;aspect-ratio:16/10;max-width:100%;margin-top:60px}
  .lb-info{border-left:0;overflow:visible;padding:22px 20px calc(28px + env(safe-area-inset-bottom,0px))}
  .lb-info h2{font-size:1.6rem}
  .lb-x{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:10px;z-index:2;background:var(--paper);box-shadow:0 2px 10px rgba(0,0,0,.2)}
}
