/* Điền Gia Phạm - diengiapham.vn. Bộ màu chung với landing xây thô: mực, đất nung, vàng kim, giấy. */
:root{--ink:#16231F;--ink2:#51605a;--earth:#B25430;--gold:#C9A24A;--paper:#F5F1E9;--white:#FCFAF5;--line:rgba(22,35,31,.16);--lineL:rgba(255,255,255,.2);
--serif:"Noto Serif",Georgia,serif;--sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:100%;object-fit:cover}
figure{margin:0;position:relative;overflow:hidden;background:#e7e2d7}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:500}
h1,h2{font-family:var(--serif);letter-spacing:-.015em;line-height:1.22}
h1{font-size:clamp(36px,5vw,66px)}
h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:.5em}
h3{font-size:18px;font-weight:600;line-height:1.35;margin-bottom:.5em}
p{margin:0 0 1em}
.w{width:min(1200px,90%);margin-inline:auto}
.sec{padding:clamp(64px,8vw,116px) 0}
.sec--tint{background:var(--paper)}
.sec--ink{background:var(--ink);color:#EDEAE2}
.tag{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--earth);margin-bottom:1.1em}
.tag--light{color:var(--gold)}
.small{font-size:14.5px;color:var(--ink2)}
.sec--ink .small{color:#aab5af}
.head{max-width:720px;margin-bottom:clamp(36px,4vw,56px)}
.head p:last-child:not(.tag){color:var(--ink2);margin:0}
.sec--ink .head p:last-child:not(.tag){color:#b9c3bd}

.btn{display:inline-block;padding:.85em 1.7em;border:1px solid transparent;border-radius:2px;font:600 15.5px var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn--gold{background:var(--gold);color:var(--ink)}.btn--gold:hover{background:#d8b45f}
.btn--earth{background:var(--earth);color:#fff}.btn--earth:hover{background:#9a4726}
.btn--ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn--ghost:hover{background:#fff;color:var(--ink)}

.bar{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background .25s,color .25s,box-shadow .25s}
.bar.on{background:var(--white);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.bar__in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font:600 21px var(--serif);text-decoration:none;letter-spacing:.01em}
.menu{display:flex;align-items:center;gap:28px}
.menu a{font-size:14.5px;font-weight:500;text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.menu a:hover{border-color:currentColor}
.menu__tel{font-weight:700!important}
.burger{display:none;background:none;border:0;padding:10px 4px;cursor:pointer;color:inherit}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:6px 0}

.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:flex-end;color:#fff;background:var(--ink)}
.hero__img{position:absolute;inset:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,19,.62) 0,rgba(14,22,19,.18) 62%,transparent 100%),linear-gradient(180deg,rgba(14,22,19,.45) 0,rgba(14,22,19,.08) 26%,rgba(14,22,19,.5) 56%,rgba(14,22,19,.9) 100%)}
.hero__in{position:relative;z-index:1;padding:140px 0 clamp(48px,6vw,76px)}
.hero h1{max-width:15em}
.hero__lead{font-size:clamp(17px,1.5vw,20px);max-width:37em;margin:22px 0 30px;color:#eee9de}
.hero__btn{display:flex;flex-wrap:wrap;gap:14px}

.facts{border-bottom:1px solid var(--line)}
.facts__in{display:grid;grid-template-columns:repeat(4,1fr)}
.facts__in>div{padding:30px 24px 30px 0}
.facts__in>div+div{padding-left:24px;border-left:1px solid var(--line)}
.facts b{display:block;font:500 22px/1.3 var(--serif)}
.facts span{font-size:14.5px;color:var(--ink2);display:block;margin-top:4px}

.why__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,88px);align-items:center}
.why__pic{aspect-ratio:4/5}
.big{font:500 clamp(19px,1.8vw,23px)/1.55 var(--serif);border-left:3px solid var(--earth);padding-left:20px;margin:24px 0}
.big b{color:var(--earth);font-weight:600}

.pt{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px}
.pt__a{aspect-ratio:16/10}.pt__b{grid-row:span 2;grid-column:2}.pt__c{grid-row:span 2;grid-column:3}.pt__d{grid-column:1}
.pt figcaption{position:absolute;inset:auto 0 0;padding:34px 14px 12px;font-size:13.5px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.list{list-style:none;margin:0;padding:0}
.list li{padding:12px 0;border-top:1px solid var(--line)}
.list b{display:block;font-weight:600}
.list span{font-size:15px;color:var(--ink2);display:block;line-height:1.55}

.steps{list-style:none;padding:0;margin:0 0 clamp(44px,5vw,70px);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:b}
.steps li{counter-increment:b}
.steps img{aspect-ratio:4/3;height:auto}
.steps b{display:block;font-weight:600;font-size:15.5px;padding-top:12px}
.steps b::before{content:counter(b,decimal-leading-zero);color:var(--earth);margin-right:10px;font-family:var(--serif)}
.pack{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,5vw,72px);border-top:1px solid var(--ink);padding-top:30px}
.ticks{list-style:none;padding:0;margin:0 0 16px}
.ticks li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:2px;top:17px;width:10px;height:10px;background:var(--gold);transform:rotate(45deg)}
.tv a{display:block;text-decoration:none;padding:12px 28px 12px 0;border-bottom:1px solid var(--line);position:relative}
.tv a::after{content:"↗";position:absolute;right:2px;top:14px;color:var(--earth)}
.tv a:hover b{color:var(--earth)}
.tv b{display:block;font-weight:600}
.tv span{font-size:14.5px;color:var(--ink2)}

.bd{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:280px 220px;gap:16px;margin-bottom:clamp(40px,5vw,60px)}
.bd__a{grid-row:span 2}
.pledge{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px}
.pledge>div{border-top:1px solid var(--lineL);padding-top:20px}
.pledge h3{color:var(--gold)}
.pledge p{font-size:15.5px;color:#c7cfca;margin:0}
.area{margin:40px 0 0;font-size:15.5px;color:#c7cfca}

.fee{border-top:1px solid var(--ink)}
.fee__r{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:30px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.fee__r h3{margin:0;font-size:19px}
.fee__r p{margin:0;font-size:15.5px;color:var(--ink2)}
.fee__n{font:500 clamp(20px,2vw,25px)/1.3 var(--serif);text-align:right}
.fee__n s{display:block;font:400 14.5px var(--sans);color:var(--ink2);margin-bottom:2px}
.fee__cta{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}
.fee__cta p{margin:0;flex:1 1 320px}

.gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(190px,21vw,290px);gap:14px;grid-auto-flow:dense}
.gal a{overflow:hidden;display:block;background:#e7e2d7}
.gal img{transition:transform .5s}
.gal a:hover img{transform:scale(1.03)}
.gw{grid-column:span 2}

.me{display:grid;grid-template-columns:1.1fr .7fr .9fr;gap:24px;align-items:end}
.me>div{padding-right:clamp(0px,3vw,40px);align-self:center}
.me a{color:var(--earth)}
.me__a{aspect-ratio:4/5}.me__b{aspect-ratio:4/3}

.faq-w{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-weight:600;padding:18px 34px 18px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:24px;font-weight:400;color:var(--earth)}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--ink2);padding-right:34px}
.faq a{color:var(--earth)}

.cta{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,90px);align-items:center}
.cta__tel{display:block;font:500 clamp(32px,4vw,50px) var(--serif);color:var(--gold);text-decoration:none;margin:14px 0}
.form{display:grid;gap:16px}
.form label{display:grid;gap:6px;font-size:14px;font-weight:500;color:#c7cfca}
.form input,.form select{font:400 16px var(--sans);padding:12px 2px;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.4);border-radius:0;outline:0;width:100%}
.form input:focus,.form select:focus{border-color:var(--gold)}
.form option{color:var(--ink)}
.form .btn{justify-self:start;margin-top:6px}
.form__msg{margin:0;font-size:14.5px;min-height:1.5em;color:var(--gold)}

.foot{background:#0f1a17;color:#aab5af;padding:32px 0;font-size:14.5px}
.foot__in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot b{color:#fff;font:600 17px var(--serif)}
.foot p{margin:0}
.foot__l{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}

.zalo{position:fixed;right:18px;bottom:18px;z-index:40;background:#0068ff;color:#fff;font-size:14px;font-weight:700;text-decoration:none;padding:11px 18px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(10,16,14,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.lb[hidden]{display:none}
.lb img{width:auto;height:auto;max-width:96vw;max-height:82vh;object-fit:contain}
.lb p{color:#eee;margin:14px 0 0;text-align:center;font-size:15px}
.lb button{position:absolute;top:12px;right:16px;background:none;border:0;color:#fff;font-size:38px;line-height:1;cursor:pointer}

@media (max-width:1000px){
  .menu{gap:18px}.menu a{font-size:14px}
  .pledge{grid-template-columns:repeat(2,1fr);gap:28px 30px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .facts__in{grid-template-columns:repeat(2,1fr)}
  .facts__in>div:nth-child(3){padding-left:0;border-left:0}
  .facts__in>div:nth-child(n+3){border-top:1px solid var(--line)}
  .pt{grid-template-columns:1fr 1fr}.pt__a{grid-column:1/-1;aspect-ratio:16/8}.pt__b,.pt__c{grid-row:auto;grid-column:auto;aspect-ratio:4/5}.pt__d{grid-column:1/-1;columns:2;column-gap:30px}.pt__d li{break-inside:avoid}
  .me{grid-template-columns:1fr 1fr}.me>div{grid-column:1/-1}
  .fee__r{grid-template-columns:1fr auto}.fee__r p{grid-column:1/-1;grid-row:2}
}
@media (max-width:860px){
  .burger{display:block}
  .menu{position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--white);color:var(--ink);padding:8px 5% 18px;box-shadow:0 12px 24px rgba(0,0,0,.14);display:none}
  .menu.open{display:flex}
  .menu a{padding:13px 0;font-size:16px;border-bottom:1px solid var(--line)}
  .bar.open{background:var(--white);color:var(--ink)}
  .why__in,.pack,.faq-w,.cta{grid-template-columns:1fr}
  .why__pic{max-width:420px}
  .bd{grid-template-columns:1fr;grid-template-rows:auto}.bd__a{grid-row:auto}.bd figure{aspect-ratio:16/10}
  .gal{grid-template-columns:1fr 1fr;grid-auto-rows:44vw}
  .gw{grid-column:1/-1}
}
@media (max-width:520px){
  body{font-size:16px}
  .hero{min-height:88vh}
  .pledge{grid-template-columns:1fr}
  .pt__d{columns:1}
  .fee__r{grid-template-columns:1fr;gap:10px}.fee__n{text-align:left}.fee__r p{grid-row:auto}
  .hero__btn .btn{flex:1 1 100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gal img{transition:none}}
