
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,500&display=swap');
:root{--green:#6f5a8f;--green2:#8a73aa;--gold:#d8b56a;--cream:#f6f1f8;--ink:#2d2740;--muted:#746d80;--line:rgba(111,90,143,.18);--white:#fff;--shadow:0 18px 60px rgba(76,57,102,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1180px,calc(100% - 36px));margin:auto}.serif{font-family:'Playfair Display',serif}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:800;color:var(--gold)}
.header{position:sticky;top:0;z-index:50;background:rgba(63,48,82,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;color:#fff;min-width:220px}.brand-mark{width:46px;height:46px;border:1px solid var(--gold);border-radius:12px;display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:24px}.brand-txt b{display:block;letter-spacing:.08em}.brand-txt span{font-size:.68rem;opacity:.7;letter-spacing:.15em}.menu{display:flex;align-items:center;justify-content:center;gap:24px;flex:1}.menu a{color:#fff;font-size:.82rem;font-weight:650;white-space:nowrap}.menu a:hover{color:var(--gold)}.hotline{border:1px solid var(--gold);color:#fff;padding:12px 16px;border-radius:999px;font-weight:800;font-size:.8rem}.burger{display:none;margin-left:auto;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:none;color:#fff;font-size:22px}
.hero{min-height:760px;position:relative;display:grid;align-items:end;background:linear-gradient(90deg,rgba(54,41,71,.88) 0%,rgba(54,41,71,.62) 38%,rgba(54,41,71,.08) 75%),url('../images/hero.webp') center/cover no-repeat}.hero:after{content:'';position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,#4b3b63)}.hero .shell{position:relative;z-index:2;padding:120px 0 120px}.hero-copy{max-width:700px;color:#fff}.hero h1{font-size:clamp(3.2rem,6vw,6.2rem);line-height:.92;margin:14px 0 26px;letter-spacing:-.04em}.hero h1 em{display:block;color:var(--gold);font-family:'Playfair Display',serif;font-weight:500}.hero p{font-size:1.08rem;line-height:1.8;max-width:630px;color:rgba(255,255,255,.85)}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:16px 22px;border-radius:12px;font-weight:800;font-size:.86rem;transition:.2s}.btn-gold{background:var(--gold);color:#2d2740}.btn-dark{background:var(--green);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.6);color:#fff}.btn:hover{transform:translateY(-2px)}.hero-facts{margin-top:50px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;max-width:820px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18)}.hero-fact{padding:18px;background:rgba(54,41,71,.48)}.hero-fact b{display:block;font-size:1.25rem;color:var(--gold)}.hero-fact span{font-size:.72rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.08em}
.section{padding:96px 0}.section-cream{background:var(--cream)}.section-green{background:var(--green);color:#fff}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:48px}.section-head h2{font-size:clamp(2.25rem,4vw,4.6rem);line-height:1.02;margin:8px 0 0;letter-spacing:-.04em}.section-head h2 em{font-family:'Playfair Display',serif;color:#b65939;font-weight:500}.section-head p{max-width:520px;line-height:1.8;color:var(--muted)}.section-green .section-head p{color:rgba(255,255,255,.7)}
.overview-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:36px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.overview-copy{padding:42px}.overview-copy h3{font-size:2rem;margin:0 0 18px}.overview-copy p{line-height:1.8;color:var(--muted)}.specs{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.spec{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.spec small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.spec b{display:block;margin-top:7px}.media-fill{height:100%;min-height:560px}.media-fill img{width:100%;height:100%;object-fit:cover}
.location-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}.map-card img{width:100%;aspect-ratio:1.34/1;object-fit:cover}.location-list{display:grid;gap:12px}.location-item{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.location-item b{color:var(--green)}.location-item p{margin:6px 0 0;color:var(--muted);line-height:1.6}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.visual-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.visual-card img{width:100%;aspect-ratio:1.28/1;object-fit:cover}.visual-card .cap{padding:20px}.visual-card h3{margin:0 0 8px}.visual-card p{margin:0;color:var(--muted);line-height:1.6}
.floor-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;align-items:center}.floor-copy h2{font-size:clamp(2.4rem,4vw,4.6rem);line-height:1.02;margin:8px 0 18px}.floor-copy p{line-height:1.8;color:rgba(255,255,255,.72)}.floor-img{background:#f0e8da;padding:18px;border-radius:24px}.floor-img img{width:100%;height:auto;border-radius:16px}.unit-grid{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.unit{padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:12px}.unit b{color:var(--gold);display:block}.unit span{font-size:.75rem;color:rgba(255,255,255,.7)}
.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.progress-img{border-radius:24px;overflow:hidden;background:#ddd}.progress-img img{width:100%;height:100%;min-height:480px;object-fit:cover}.timeline{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px}.timeline h3{font-size:2rem;margin:0 0 18px}.timeline p{color:var(--muted);line-height:1.8}.timeline-list{margin-top:24px;display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.timeline-item b{color:#b65939}.timeline-item span{line-height:1.6}
.developer{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.developer img{border-radius:24px}.developer h2{font-size:clamp(2.4rem,4vw,4.5rem);margin:10px 0 20px;line-height:1.02}.developer p{line-height:1.8;color:rgba(255,255,255,.72)}
.lead{padding:82px 0;background:linear-gradient(135deg,#67527f,#8b74a8);color:#fff}.lead-grid{display:grid;grid-template-columns:1fr .9fr;gap:42px;align-items:center}.lead h2{font-size:clamp(2.4rem,4vw,4.5rem);line-height:1.03;margin:10px 0 18px}.lead p{color:rgba(255,255,255,.7);line-height:1.8}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;padding:22px;border-radius:20px}.form input,.form select,.form textarea{width:100%;padding:15px;border:1px solid #d9dedb;border-radius:10px;font:inherit}.form textarea{grid-column:1/-1;min-height:105px}.form button{grid-column:1/-1;border:0;cursor:pointer}.form small{grid-column:1/-1;color:#7a8580;font-size:.72rem;line-height:1.5}
.footer{background:#3d304f;color:#fff;padding:54px 0 100px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px}.footer p,.footer a{color:rgba(255,255,255,.7);line-height:1.7;font-size:.85rem}.footer h4{color:var(--gold)}.footer-links{display:grid;gap:7px}.copyright{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-size:.75rem}
.mobile-cta{display:none}.drawer{display:none}
.page-hero{padding:115px 0 72px;background:var(--green);color:#fff}.page-hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1;margin:10px 0 16px}.page-hero p{max-width:700px;line-height:1.8;color:rgba(255,255,255,.74)}.content-image{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.content-image img{width:100%;height:auto}.article{max-width:900px}.article h2{font-size:2.2rem;margin-top:48px}.article p,.article li{line-height:1.85;color:var(--muted)}
@media(max-width:920px){.menu,.hotline{display:none}.burger{display:block}.nav{height:72px}.brand{min-width:0}.drawer{position:fixed;inset:72px 0 0;background:rgba(46,34,61,.56);z-index:49}.drawer.open{display:block}.drawer-panel{margin-left:auto;width:min(84vw,360px);height:100%;background:#67527f;padding:26px;display:grid;align-content:start;gap:4px}.drawer-panel a{color:#fff;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.12);font-weight:700}.hero{min-height:690px;background-position:62% center}.hero .shell{padding:80px 0 110px}.hero-facts{grid-template-columns:1fr 1fr}.overview-grid,.location-grid,.floor-wrap,.progress-grid,.developer,.lead-grid{grid-template-columns:1fr}.cards3{grid-template-columns:1fr 1fr}.section{padding:70px 0}.section-head{display:block}.section-head p{margin-top:18px}.media-fill{min-height:400px}.unit-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.mobile-cta{display:grid;position:fixed;z-index:48;bottom:12px;left:12px;right:12px;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:rgba(255,255,255,.94);box-shadow:0 8px 32px rgba(0,0,0,.16);border-radius:18px}.mobile-cta a{padding:14px 12px;border-radius:12px;text-align:center;font-weight:800;font-size:.82rem}.mobile-cta .call{background:var(--gold);color:#2d2740}.mobile-cta .zalo{background:var(--green);color:#fff}}
@media(max-width:620px){.shell{width:min(100% - 26px,1180px)}.brand-mark{width:40px;height:40px}.brand-txt b{font-size:.85rem}.hero h1{font-size:3.2rem}.hero p{font-size:.95rem}.hero-actions .btn{width:100%}.hero-facts{margin-top:32px}.hero-fact{padding:14px}.section{padding:58px 0}.section-head h2{font-size:2.55rem}.overview-copy{padding:26px}.specs{grid-template-columns:1fr}.cards3{grid-template-columns:1fr}.map-card img{aspect-ratio:auto}.floor-img{padding:8px}.unit-grid{grid-template-columns:1fr 1fr}.progress-img img{min-height:360px}.form{grid-template-columns:1fr}.form textarea,.form button,.form small{grid-column:auto}.page-hero{padding:90px 0 52px}.page-hero h1{font-size:3rem}.footer{padding-bottom:120px}}


/* Norton Park V2 — Lilac identity */
.brand-logo{width:132px;height:auto;max-height:42px;object-fit:contain;filter:brightness(0) invert(1);opacity:.98}
.footer .brand-logo{filter:none;background:#fff;border-radius:8px;padding:5px 8px;width:142px}
.gamuda-strip{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.gamuda-strip img{width:220px;max-height:54px;object-fit:contain;object-position:left center;background:#fff;border-radius:10px;padding:8px 12px}
.gamuda-about{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center}
.gamuda-about h2{font-size:clamp(2.4rem,4vw,4.6rem);line-height:1.02;margin:8px 0 20px}
.gamuda-about p{line-height:1.85;color:var(--muted)}
.gamuda-projects{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.gamuda-projects img{width:100%;height:auto}
.gamuda-note{margin-top:14px;color:var(--muted);font-size:.83rem}
.footer-related{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.footer-related a{display:inline-flex;padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px}
.popup-backdrop{position:fixed;inset:0;background:rgba(30,22,41,.68);z-index:1000;display:none;align-items:center;justify-content:center;padding:18px}
.popup-backdrop.open{display:flex}
.popup-card{position:relative;width:min(760px,100%);background:#f8f4fa;border:1px solid rgba(111,90,143,.25);border-radius:24px;box-shadow:0 30px 90px rgba(31,22,43,.35);overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr}
.popup-media{background:url('../images/project.webp') center/cover no-repeat;min-height:460px}
.popup-content{padding:34px}
.popup-content h3{font-size:2.15rem;line-height:1.05;margin:8px 0 14px;color:var(--ink)}
.popup-content p{color:var(--muted);line-height:1.7}
.popup-content .form{padding:0;background:transparent;grid-template-columns:1fr}
.popup-content .form input,.popup-content .form select{background:#fff}
.popup-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:22px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.12);z-index:2}
.footer-disclaimer{margin-top:18px;max-width:920px;color:rgba(255,255,255,.7);line-height:1.75;font-size:.82rem}
.footer-disclaimer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:920px){
  .gamuda-about{grid-template-columns:1fr}
  .popup-card{grid-template-columns:1fr}
  .popup-media{min-height:220px}
  .brand-logo{width:118px}
}
@media(max-width:620px){
  .gamuda-strip img{width:180px}
  .popup-content{padding:26px 20px 22px}
  .popup-content h3{font-size:1.7rem}
  .popup-media{min-height:190px}
}


/* Norton Park V2.1 refinements */
.gamuda-about h2.gamuda-title-refined{
  font-size:clamp(2rem,3.05vw,3.35rem);
  line-height:1.08;
  letter-spacing:-.035em;
  max-width:650px;
}
.footer-contact-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  margin-top:8px;
}
.hotline-glow{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:12px 18px;
  border-radius:999px;
  color:#fff !important;
  background:linear-gradient(110deg,#725b91,#9679b8,#725b91);
  border:1px solid rgba(226,197,127,.72);
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 8px 28px rgba(139,108,177,.26);
  font-size:.96rem;
  text-decoration:none;
  transition:transform .25s ease,box-shadow .25s ease;
}
.hotline-glow::after{
  content:"";
  position:absolute;
  top:-70%;
  left:-45%;
  width:32%;
  height:240%;
  z-index:-1;
  transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  animation:nortonShine 2.8s ease-in-out infinite;
}
.hotline-glow:hover{
  transform:translateY(-2px);
  box-shadow:0 0 18px rgba(226,197,127,.38),0 12px 34px rgba(139,108,177,.35);
}
.hotline-glow strong{font-weight:800;white-space:nowrap}
.footer-site{color:rgba(255,255,255,.82);text-decoration:none;padding-left:3px}
.footer-site:hover{color:#fff}
@keyframes nortonShine{
  0%,28%{left:-45%;opacity:0}
  38%{opacity:1}
  58%{left:125%;opacity:.95}
  59%,100%{left:125%;opacity:0}
}
.footer-disclaimer{
  width:100%;
  max-width:none;
  margin:28px 0 0;
  padding:22px 0 0;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.74);
  line-height:1.75;
  font-size:.84rem;
  text-align:justify;
  text-justify:inter-word;
}
.footer-disclaimer br{display:none}
.footer-disclaimer a{font-weight:700}
@media(max-width:760px){
  .gamuda-about h2.gamuda-title-refined{font-size:clamp(1.9rem,8vw,2.55rem)}
  .footer-disclaimer{text-align:left}
  .hotline-glow{font-size:.9rem;padding:11px 15px}
}
@media (prefers-reduced-motion:reduce){
  .hotline-glow::after{animation:none}
}


/* ===== Norton Park V2.3: refined hero + interactive CTA/facts ===== */
.hero-copy h1{
  max-width:760px;
  font-size:clamp(3.15rem,5.7vw,6.2rem);
  line-height:.92;
  letter-spacing:-.055em;
  margin:18px 0 0;
}
.hero-copy h1 em{
  display:block;
  margin-top:12px;
  font-family:'Playfair Display',serif;
  font-size:.62em;
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:500;
  color:var(--gold);
}

/* Light sweep on the two main hero buttons */
.hero-actions .btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.hero-actions .btn::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-55%;
  left:-45%;
  width:34%;
  height:210%;
  transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  opacity:0;
}
.hero-actions .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 34px rgba(20,13,36,.28);
}
.hero-actions .btn:hover::after{
  opacity:1;
  animation:nortonHeroSweep .8s ease forwards;
}
.hero-actions .btn-gold:hover{
  box-shadow:0 12px 34px rgba(228,190,101,.35);
}
.hero-actions .btn-outline:hover{
  border-color:rgba(255,255,255,.95);
  background:rgba(255,255,255,.08);
}
@keyframes nortonHeroSweep{
  from{left:-45%}
  to{left:125%}
}

/* Hover effect for the four hero facts */
.hero-fact{
  position:relative;
  overflow:hidden;
  cursor:default;
  transition:transform .28s ease, background .28s ease, box-shadow .28s ease;
}
.hero-fact::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 55%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}
.hero-fact:hover{
  transform:translateY(-6px);
  background:rgba(70,52,91,.72);
  box-shadow:0 16px 28px rgba(20,13,36,.2);
  z-index:2;
}
.hero-fact:hover::before{opacity:1}
.hero-fact b,
.hero-fact span{
  position:relative;
  z-index:1;
}
.hero-fact b{
  transition:transform .28s ease, text-shadow .28s ease;
}
.hero-fact:hover b{
  transform:translateY(-1px);
  text-shadow:0 0 18px rgba(228,190,101,.35);
}

/* Mobile refinement */
@media (max-width:760px){
  .hero-copy h1{
    max-width:100%;
    font-size:clamp(2.55rem,12vw,4.15rem);
    line-height:.94;
    letter-spacing:-.05em;
  }
  .hero-copy h1 em{
    margin-top:10px;
    font-size:.56em;
    line-height:1.08;
  }
  .hero-actions{
    gap:10px;
  }
  .hero-actions .btn{
    flex:1 1 100%;
    min-height:54px;
  }
  .hero-facts{
    margin-top:30px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
  }
  .hero-fact{
    padding:15px 14px;
  }
  .hero-fact:hover{
    transform:none;
    box-shadow:none;
  }
}
