.nav-menu a.active {
  color: #4a148c;
}
body {
  text-decoration: none !important;
}
.nav-menu a.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background: #4a148c;
  transition: width 0.3s ease;
}
:root{
    --full-home-section1-img: url('Images/image/pg1.jpg');
  }

  .full-home-section1{
    position: relative;
    min-height: 320px;
    height: 40vh;
    max-height: 520px;
    display: grid;
    place-items: center;
    color: #fff;
    background:
      linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.45)),
      var(--full-home-section1-img) center/cover no-repeat;
    isolation: isolate;
    margin-top: 27px;
  }

  .full-home-section1__inner{
    width: 100%;
    max-width: 1200px;
    padding: 0 20px;
    text-align: center;
    position: relative;
    z-index: 2;
  }

  .full-home-section1__eyebrow{
    display: inline-block;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.28);
    color: #f0f0f0;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    /* text-transform: uppercase; */
    margin-bottom: 10px;
  }

  .full-home-section1__title{
    margin: 6px 0 8px;
    font-weight: 800;
    font-size: clamp(22px, 3.6vw, 40px);
    line-height: 1.2;
    text-shadow: 0 2px 14px rgba(0,0,0,.25);
  }

  .full-home-section1__sub{
    margin: 0;
    color: #e8e8e8;
    font-size: clamp(13px, 2vw, 16px);
  }

  @media (max-width:768px){
    .full-home-section1__title{
      font-size: 1.8rem;
    }
  }

/* /////////////////////////////////////////// full-home section2 ////////////////////////////////// */
:root{
    --fh2-ink:#0f0f0f;
    --fh2-muted:#6b6f76;
    --fh2-line:#e6e7ec;
    --fh2-soft:#f6f7f9;
    --fh2-shadow:0 14px 36px rgba(0,0,0,.10);
  }

  .full-home-section2{
    background:#fff;color:var(--fh2-ink);
    padding:44px 20px 30px;
  }
  .full-home-section2__shell{max-width:1000px;margin:0 auto;text-align:center}

  .full-home-section2__title{
    margin:0 0 10px;font-weight:900;letter-spacing:.02em;
    font-size:clamp(22px,3.2vw,34px);
  }
  .full-home-section2__title span{color:#2b2b2b;text-transform: none;}
  .full-home-section2__title::after{
    content:"";display:block;width:120px;height:2px;margin:12px auto 0;
    background:linear-gradient(90deg,#111,#bfbfbf,#111);opacity:.35;border-radius:2px
    
  }

  .full-home-section2__lead{
    margin:12px auto 0;max-width:900px;
    line-height:1.9;color:#2a2f35;font-size:15.5px;
  }

  /* highlight chips */
  .full-home-section2__highlights{
    margin:18px auto 0;padding:0;list-style:none;
    display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
  }
  .full-home-section2__chip{
    background:var(--fh2-soft);border:1px solid var(--fh2-line);
    padding:8px 12px;border-radius:999px;
    font-size:12.5px;font-weight:800;color:#222;
    box-shadow:var(--fh2-shadow);
  }

  /* //////////////////////////////// full-home-section 3 ///////////////////// */
:root{
  --s3-ink:#0f0f0f;
  --s3-line:#e6e7ec;
  --s3-shadow:0 22px 50px rgba(0,0,0,.16);
}

/* wrapper */
.full-home-section3{
  padding: 40px 2vw;                  /* tighter side padding */
}
.full-home-section3__shell{
  width: min(96vw, 1400px);           /* a bit wider than before */
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* each frame now uses height instead of aspect-ratio */
.full-home-section3__frame{
  height: 80vh;                       /* requested height */
  min-height: 420px;                  /* sensible floor */
  max-height: 860px;                  /* prevent extreme tallness */
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #e6e7ec;
  box-shadow: 0 22px 50px rgba(0,0,0,.16);
  background: #ddd;
  /* transform-style: preserve-3d; */
  perspective: 1000px;
}

/* image always covers the frame */
.full-home-section3__frame img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: translateZ(0) scale(1);
  transition: transform .7s cubic-bezier(.22,.61,.36,1);
}

/* caption sticks to bottom as before */
.full-home-section3__cap{
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 18px 20px; color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.55) 55%, rgba(0,0,0,.70));
  transform: translateY(20%); opacity: .92; transition: transform .45s ease;
}

/* hover effects retained */
.full-home-section3__frame:hover img{ transform: scale(1.065) rotateZ(.01deg); }
.full-home-section3__frame:hover{ transform: perspective(1000px) rotateY(-1.2deg) rotateX(.4deg); }
.full-home-section3__frame:hover .full-home-section3__cap{ transform: translateY(0%); }

/* ========== Responsive ========== */
@media (max-width: 1000px){
  .full-home-section3__shell{ gap: 20px; }
}
@media (max-width: 900px){
  .full-home-section3__shell{ grid-template-columns: 1fr; }
  .full-home-section3__frame{
    height: 55vh;                     /* slightly shorter on mobile */
    min-height: 360px;
  }
}
@media (max-width: 520px){
  .full-home-section3__frame{
    height: 50vh;
    min-height: 320px;
  }
}

/* ///////////////////////////////////// full-home-section 4 /////////////////////////// */
 :root{
    --s6-bg: #fff1f3;       /* soft pink background (section) */
    --s6-card: #ffe9ee;     /* card tint */
    --s6-ink: #0f0f0f;
    --s6-muted:#6c6f75;
    --s6-line:#f6cfd6;
    --s6-shadow: 0 18px 44px rgba(0,0,0,.12);
    --s6-gap: 18px;         /* spacing between cards */
  }

  .full-home-section6{
    background: var(--s6-bg);
    color: var(--s6-ink);
    padding: 44px 16px;
  }
  .full-home-section6__shell{ max-width: 1280px; margin: 0 auto; }
  .full-home-section6__head{ text-align:center; margin-bottom: 16px; }
  .full-home-section6__title{
    margin:0; font-weight: 900; font-size: clamp(22px,3.2vw,32px);
  }
  .full-home-section6__sub{ margin:8px 0 0; color: var(--s6-muted); font-size:14.5px; }

  /* Masonry via CSS Grid with auto-rows for varied heights */
  .full-home-section6__grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 180px;          /* base row height */
  gap: var(--s6-gap, 18px);
  grid-auto-flow: dense;          /* <<--- big gap killer */
}

/* 2) Default size: 2 cols x 1 row (no extra margin ever) */
.full-home-section6__card{
  margin: 0;                      /* no stray margins */
  grid-column: span 2;
  grid-row: span 1;
  position: relative;
  overflow: hidden;
  border-radius: 22px;
}

/* 3) Size modifiers (use in combination to balance rows) */
.full-home-section6__card--w2{ grid-column: span 3; }      /* wide */
.full-home-section6__card--h2{ grid-row: span 2; }         /* tall */
.full-home-section6__card--big{ grid-column: span 4; grid-row: span 2; }

/* 4) Image must always fill (no height collapse while loading) */
.full-home-section6__card img{
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}

/* 5) Responsive (dense stays ON) */
@media (max-width:1100px){
  .full-home-section6__grid{
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 170px;
  }
  .full-home-section6__card--big{ grid-column: span 4; grid-row: span 2; }
  .full-home-section6__card--w2{ grid-column: span 2; }
}
@media (max-width:760px){
  .full-home-section6__grid{
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 160px;
    gap: 14px;
  }
  .full-home-section6__card{ grid-column: span 2; grid-row: span 1; }
  .full-home-section6__card--h2{ grid-row: span 2; }
}

/* /////////////////////////////////// section 7 ////////////////////////////////////// */
/* ----- Layout & Header ----- */
.full-home-section8{
  padding: 56px 16px 64px;
  background:#fff;
  color:#0b0b0c;
  overflow: hidden; /* keep the section tidy */
}
.full-home-section8-head{
  max-width:1200px; margin:0 auto 18px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.full-home-section8-head h2{
  margin:0; font:700 clamp(18px,3vw,32px)/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial;
}
.full-home-section8-ctls{ display:flex; gap:10px; }
.full-home-section8-btn{
  border:0; width:46px; height:46px; border-radius:999px;
  background:#0f172a; color:#fff; font-size:18px;
  display:grid; place-items:center; cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.25);
  transition:transform .2s ease, box-shadow .2s ease;
}
.full-home-section8-btn:hover{ transform:translateY(-1px); }
.full-home-section8-btn:active{ transform:translateY(0); box-shadow:0 6px 16px rgba(15,23,42,.25); }

/* ----- Stage ----- */
.full-home-section8-stage{
  max-width:1200px; margin:0 auto;
  position:relative;
  perspective: 1600px;
  perspective-origin: 50% 38%;
  /* height is set by JS to avoid overlap with next section */
}

/* ----- Card (explicit sizes) ----- */
.full-home-section8-card{
  position:absolute; top:50%; left:50%;
  width: 400px;              /* desktop card width */
  height: 260px;             /* desktop card height */
  transform-style:preserve-3d;
  will-change: transform, filter;
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .6s ease, opacity .6s ease;
  opacity:0;
}
.full-home-section8-card.is-visible{ opacity:1; }

/* ----- Figure + Reflection ----- */
.full-home-section8-figure{
  position:relative; width:100%; height:100%;
  border-radius:20px; background:#e9ecf3;
  box-shadow:0 22px 80px rgba(0,0,0,.30);
  overflow:visible;
}
.full-home-section8-img{
  width:100%; height:100%; object-fit:cover; display:block; border-radius:20px;
  /* Water reflection */
  -webkit-box-reflect: below 10px
    linear-gradient(transparent 0%, rgba(0,0,0,0.15) 40%, rgba(0,0,0,0.5) 100%);
}
/* Fallback reflection */
@supports not (-webkit-box-reflect: below 1px) {
  .full-home-section8-figure::after{
    content:""; position:absolute; left:0; top:calc(100% + 10px);
    width:100%; height:100%; background:inherit; background-size:cover;
    border-radius:20px; transform:scaleY(-1); opacity:.35; filter:blur(4px);
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,0) 100%);
    -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,0) 100%);
    pointer-events:none;
  }
}
.full-home-section8-card:hover .full-home-section8-figure{
  filter:saturate(1.05) contrast(1.03);
}

/* ----- Tablet ----- */
@media (max-width:1024px){
  .full-home-section8-card{ width: 330px; height: 220px; }
}

/* ----- Mobile ----- */
@media (max-width:720px){
  .full-home-section8{ padding: 22px 12px 52px; }
  .full-home-section8-card{ width: 85vw; height: 100vw; }
  .full-home-section8-figure, .full-home-section8-img{ border-radius:16px; }
  .full-home-section8-img{
    -webkit-box-reflect: below 8px
      linear-gradient(transparent 0%, rgba(0,0,0,0.2) 35%, rgba(0,0,0,0.55) 100%);
  }
}
@media (max-width:480px){
  .full-home-section8-card{ width: 92vw; height: 110vw; }
}