/* NGOC PROPERTY V5.8.245 — centered section hierarchy + logical typography + wider overview.
   Scope: dedicated landing only. This file loads after V244. */
body.np-dedicated-landing-shell{
  --np245-heading:#f3d27c;
  --np245-copy-light:#edf5f2;
  --np245-copy-muted:#d5e4df;
  --np245-ink:#0b2f3d;
}

/* 1) One visual rhythm for every landing section heading. */
body.np-dedicated-landing-shell .np-v236-heading.center,
body.np-dedicated-landing-shell .np-v242-overview-head,
body.np-dedicated-landing-shell .np-v243-location-head{
  width:min(100%,980px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.np-dedicated-landing-shell .np-v236-heading>span,
body.np-dedicated-landing-shell .np-v242-overview-head>span,
body.np-dedicated-landing-shell .np-v243-location-head>span,
body.np-dedicated-landing-shell .np-v241-eyebrow{
  font-size:12px!important;
  line-height:1.3!important;
  letter-spacing:.24em!important;
  font-weight:800!important;
}

/* Main section title: similar scale across Overview / Location / Amenities / Products / etc. */
body.np-dedicated-landing-shell .np-v236-heading h2,
body.np-dedicated-landing-shell .np-v242-overview-head h2,
body.np-dedicated-landing-shell .np-v243-location-head h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(42px,3.8vw,54px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  font-weight:700!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Supporting title and opening description. */
body.np-dedicated-landing-shell .np-v242-overview-head h3{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(24px,2vw,30px)!important;
  line-height:1.18!important;
  font-weight:500!important;
  text-align:center!important;
  margin:8px auto 0!important;
}
body.np-dedicated-landing-shell .np-v236-heading p,
body.np-dedicated-landing-shell .np-v242-overview-head p,
body.np-dedicated-landing-shell .np-v243-location-head p{
  width:min(100%,900px)!important;
  margin:14px auto 0!important;
  font-size:17px!important;
  line-height:1.62!important;
  text-align:center!important;
  font-weight:450!important;
}

/* Intro/developer blocks should not compete with section H2s. */
body.np-dedicated-landing-shell .np-v236-intro h2,
body.np-dedicated-landing-shell .np-v236-developer h2{
  font-size:clamp(36px,3vw,46px)!important;
  line-height:1.12!important;
}
body.np-dedicated-landing-shell .np-v236-intro p,
body.np-dedicated-landing-shell .np-v236-developer p{
  font-size:16.5px!important;
  line-height:1.68!important;
}

/* Card titles/body use a consistent readable scale. */
body.np-dedicated-landing-shell .np-v242-fact-grid b,
body.np-dedicated-landing-shell .np-v243-location-copy h3,
body.np-dedicated-landing-shell .np-v236-product-grid h3,
body.np-dedicated-landing-shell .np-v236-amenity-grid h3,
body.np-dedicated-landing-shell .np-v236-policy-grid h3,
body.np-dedicated-landing-shell .np-v236-adv-grid h3,
body.np-dedicated-landing-shell .np-v240-news-grid h3{
  font-size:18px!important;
  line-height:1.35!important;
}
body.np-dedicated-landing-shell .np-v243-location-copy p,
body.np-dedicated-landing-shell .np-v236-product-grid p,
body.np-dedicated-landing-shell .np-v236-amenity-grid li,
body.np-dedicated-landing-shell .np-v236-policy-grid p,
body.np-dedicated-landing-shell .np-v236-adv-grid p,
body.np-dedicated-landing-shell .np-v240-news-grid p{
  font-size:15.5px!important;
  line-height:1.62!important;
}

/* 2) Overview: use the viewport instead of looking like a narrow content box. */
body.np-dedicated-landing-shell .np-v242-overview{
  width:100%!important;
  min-height:calc(100svh - 68px)!important;
  padding:0!important;
  overflow:hidden!important;
}
body.np-dedicated-landing-shell .np-v242-overview-inner{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100svh - 68px)!important;
  padding:clamp(44px,5vh,66px) clamp(24px,3vw,56px) clamp(28px,3vh,44px)!important;
  box-sizing:border-box!important;
}
body.np-dedicated-landing-shell .np-v242-overview-head{
  max-width:980px!important;
  margin-bottom:clamp(24px,2.8vh,34px)!important;
}
body.np-dedicated-landing-shell .np-v242-overview-head h2{
  font-size:clamp(44px,4vw,56px)!important;
  margin:8px auto 4px!important;
}
body.np-dedicated-landing-shell .np-v242-overview-grid{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(330px,.58fr) minmax(0,1.7fr)!important;
  gap:clamp(22px,2.5vw,42px)!important;
  align-items:stretch!important;
}
body.np-dedicated-landing-shell .np-v242-overview-copy{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
body.np-dedicated-landing-shell .np-v242-fact-grid{
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
body.np-dedicated-landing-shell .np-v242-fact-grid article{
  min-height:98px!important;
  padding:16px 17px!important;
}
body.np-dedicated-landing-shell .np-v242-fact-grid small{
  font-size:10px!important;
  letter-spacing:.08em!important;
}
body.np-dedicated-landing-shell .np-v242-fact-grid b{
  font-size:16px!important;
}
body.np-dedicated-landing-shell .np-v242-masterplan,
body.np-dedicated-landing-shell .np-v242-masterplan-frame{
  width:100%!important;
  max-width:none!important;
}
body.np-dedicated-landing-shell .np-v242-masterplan-frame{
  min-height:0!important;
  height:clamp(500px,62vh,720px)!important;
}
body.np-dedicated-landing-shell .np-v242-masterplan-frame img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.np-dedicated-landing-shell .np-v242-stat-strip{
  width:100%!important;
  margin-top:18px!important;
}
body.np-dedicated-landing-shell .np-v242-stat-strip b{
  font-size:clamp(24px,2vw,32px)!important;
}
body.np-dedicated-landing-shell .np-v242-stat-strip span{
  font-size:11.5px!important;
}

/* Location heading follows the same hierarchy as overview. */
body.np-dedicated-landing-shell .np-v243-location-head{
  max-width:980px!important;
}
body.np-dedicated-landing-shell .np-v243-location-head h2{
  font-size:clamp(42px,3.8vw,54px)!important;
  color:var(--np245-heading)!important;
}
body.np-dedicated-landing-shell .np-v243-location-head p{
  color:var(--np245-copy-muted)!important;
}

/* 360 title participates in the same visual hierarchy but remains over the media. */
body.np-dedicated-landing-shell .np-v241-tour-copy{
  text-align:center!important;
}
body.np-dedicated-landing-shell .np-v241-tour-copy h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(42px,3.8vw,54px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
}
body.np-dedicated-landing-shell .np-v241-tour-copy>p{
  width:min(100%,900px)!important;
  margin:14px auto 0!important;
  font-size:17px!important;
  line-height:1.62!important;
  text-align:center!important;
}

@media(max-width:1180px){
  body.np-dedicated-landing-shell .np-v242-overview,
  body.np-dedicated-landing-shell .np-v242-overview-inner{min-height:auto!important}
  body.np-dedicated-landing-shell .np-v242-overview-inner{padding:50px 24px 38px!important}
  body.np-dedicated-landing-shell .np-v242-overview-grid{grid-template-columns:1fr!important}
  body.np-dedicated-landing-shell .np-v242-masterplan{grid-row:1!important}
  body.np-dedicated-landing-shell .np-v242-overview-copy{grid-row:2!important}
  body.np-dedicated-landing-shell .np-v242-masterplan-frame{height:auto!important}
  body.np-dedicated-landing-shell .np-v242-masterplan-frame img{height:auto!important}
}

@media(max-width:760px){
  body.np-dedicated-landing-shell .np-v236-heading.center,
  body.np-dedicated-landing-shell .np-v242-overview-head,
  body.np-dedicated-landing-shell .np-v243-location-head{
    width:100%!important;
    text-align:center!important;
  }
  body.np-dedicated-landing-shell .np-v236-heading h2,
  body.np-dedicated-landing-shell .np-v242-overview-head h2,
  body.np-dedicated-landing-shell .np-v243-location-head h2,
  body.np-dedicated-landing-shell .np-v241-tour-copy h2{
    font-size:32px!important;
    line-height:1.12!important;
  }
  body.np-dedicated-landing-shell .np-v242-overview-head h3{
    font-size:22px!important;
  }
  body.np-dedicated-landing-shell .np-v236-heading p,
  body.np-dedicated-landing-shell .np-v242-overview-head p,
  body.np-dedicated-landing-shell .np-v243-location-head p,
  body.np-dedicated-landing-shell .np-v241-tour-copy>p{
    font-size:15px!important;
    line-height:1.58!important;
  }
  body.np-dedicated-landing-shell .np-v242-overview-inner{
    padding:42px 14px 30px!important;
  }
  body.np-dedicated-landing-shell .np-v242-fact-grid{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  body.np-dedicated-landing-shell .np-v242-fact-grid article{
    min-height:84px!important;
    padding:12px!important;
  }
  body.np-dedicated-landing-shell .np-v242-fact-grid b{font-size:13px!important}
  body.np-dedicated-landing-shell .np-v242-fact-grid small{font-size:8.5px!important}
  body.np-dedicated-landing-shell .np-v243-location-copy h3{font-size:16px!important}
  body.np-dedicated-landing-shell .np-v243-location-copy p{font-size:14px!important}
}

@media(max-width:430px){
  body.np-dedicated-landing-shell .np-v236-heading h2,
  body.np-dedicated-landing-shell .np-v242-overview-head h2,
  body.np-dedicated-landing-shell .np-v243-location-head h2,
  body.np-dedicated-landing-shell .np-v241-tour-copy h2{font-size:29px!important}
  body.np-dedicated-landing-shell .np-v242-overview-head h3{font-size:20px!important}
  body.np-dedicated-landing-shell .np-v242-fact-grid{grid-template-columns:1fr!important}
}
