/* Long, colour-matched crossfades between public-site sections. */

/* Homepage flow */
.hero::after{
  height:180px;
  background:linear-gradient(180deg,transparent 0%,rgba(38,42,112,.08) 22%,rgba(226,231,242,.56) 68%,#F5F7FB 100%);
}

.layanan{
  background-image:
    linear-gradient(180deg,rgba(245,247,251,.98) 0%,rgba(250,251,253,.97) 14%,rgba(255,255,255,.95) 34%,rgba(255,251,240,.93) 72%,rgba(238,225,185,.88) 100%),
    url('coretax-bg-v2.jpg');
}

.proses{
  background-image:
    linear-gradient(180deg,rgba(238,225,185,.9) 0%,rgba(250,244,226,.96) 15%,rgba(255,252,244,.96) 34%,rgba(248,248,246,.95) 72%,rgba(211,214,232,.92) 87%,rgba(39,42,120,.94) 100%),
    url('proses-kerjasama-bg.jpg');
}

.kelas{
  background-image:
    url('spiral-flow-features-bottom.svg'),
    linear-gradient(180deg,rgba(39,42,120,.95) 0%,rgba(39,42,120,.94) 13%,rgba(27,30,96,.9) 66%,rgba(174,180,205,.88) 88%,rgba(247,245,239,.96) 100%),
    url('home-training-bg-ai.jpg');
}

.kelas::after{
  height:156px;
  background:linear-gradient(180deg,transparent 0%,rgba(235,234,230,.48) 58%,#F7F5EE 100%);
}

.testi{
  background-image:
    url('spiral-flow-features-bottom.svg'),
    linear-gradient(180deg,rgba(247,245,238,.97) 0%,rgba(250,248,241,.95) 14%,rgba(255,252,245,.92) 40%,rgba(241,245,240,.91) 80%,rgba(160,166,189,.88) 91%,rgba(23,25,77,.99) 100%),
    url('testimonials-trust-bg-ai.jpg');
}

.cta-footer-connect{
  background-image:
    url('spiral-flow-cta.svg'),
    linear-gradient(180deg,#17194D 0%,#161849 22%,#141642 58%,#11133E 100%),
    url('cta-dataviz-bg.jpg');
}

/* Pelatihan Pajak: retain the existing spiral artwork while softening seams. */
.brevet-hero{
  box-shadow:inset 0 -190px 150px -120px rgba(245,246,250,.98);
}

.brevet-features{
  box-shadow:
    inset 0 150px 130px -118px rgba(245,246,250,.96),
    inset 0 -190px 145px -112px rgba(24,26,84,.96);
}

.brevet-cta{
  box-shadow:inset 0 135px 120px -112px rgba(24,26,84,.94);
}

/* Harga: light pricing content gradually settles into the closing CTA. */
.harga-content::after{
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:230px;
  background:linear-gradient(180deg,transparent 0%,rgba(226,221,210,.18) 28%,rgba(119,121,161,.5) 72%,rgba(27,29,86,.96) 100%);
  pointer-events:none;
}

.harga-cta{
  background-image:
    url('spiral-flow-cta.svg'),
    linear-gradient(180deg,#1B1D56 0%,rgba(23,25,77,.97) 30%,#11133E 100%),
    linear-gradient(135deg,#15174B,#0C4948);
}

/* Jadwal: dark hero -> paper planner -> closing CTA. */
.jadwal-hero::after{
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:185px;
  background:linear-gradient(180deg,transparent 0%,rgba(67,73,139,.12) 30%,rgba(218,224,239,.62) 72%,#F5F7FB 100%);
  pointer-events:none;
}

.jadwal-content::after{
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:230px;
  background:linear-gradient(180deg,transparent 0%,rgba(223,218,207,.16) 25%,rgba(114,117,159,.48) 72%,rgba(27,29,86,.96) 100%);
  pointer-events:none;
}

.jadwal-cta{
  background-image:
    url('spiral-flow-cta.svg'),
    linear-gradient(180deg,#1B1D56 0%,rgba(23,25,77,.97) 32%,#11133E 100%),
    linear-gradient(135deg,#15174B,#0C4948);
}

/* Registration and single-section pages fade over more vertical space. */
.reg-page::after{
  height:390px;
  background:linear-gradient(180deg,transparent 0%,rgba(225,221,213,.12) 25%,rgba(126,128,163,.38) 63%,rgba(44,46,104,.78) 84%,#11133E 100%);
}

.lokasi-page::after,
.faq-page::after,
.policy-page::after{
  height:470px;
  background:linear-gradient(180deg,transparent 0%,rgba(226,224,218,.1) 22%,rgba(132,134,168,.32) 57%,rgba(52,54,111,.72) 82%,#11133E 100%);
}

@media(max-width:560px){
  .hero::after{height:130px;}
  .kelas::after{height:116px;}
  .harga-content::after,
  .jadwal-content::after{height:180px;}
  .jadwal-hero::after{height:140px;}
  .reg-page::after{height:290px;}
  .lokasi-page::after,
  .faq-page::after,
  .policy-page::after{height:350px;}
}

/* Final seam-smoothing pass. Gradients use OKLab interpolation so the colour
   movement stays perceptually even instead of forming visible horizontal bands. */
:root{
  --seam-paper:#F4F6FA;
  --seam-warm:#EFE5C9;
  --seam-indigo:#282B78;
  --seam-cream:#F7F5EF;
  --seam-deep:#17194D;
  --seam-footer:#11133E;
}

section + section,
section + .cta-footer-connect,
.cta-footer-connect,
footer{margin-top:-1px;}

footer{
  border-top:0!important;
  box-shadow:none!important;
  background-color:var(--seam-footer)!important;
  background-image:
    linear-gradient(180deg in oklab,#11133E 0%,rgba(17,19,62,.96) 14%,rgba(17,19,62,.6) 38%,transparent 70%),
    radial-gradient(circle at 12% 130%,rgba(216,166,61,.12),transparent 36%),
    radial-gradient(circle at 92% -40%,rgba(14,166,114,.14),transparent 38%),
    linear-gradient(108deg,rgba(8,10,52,.99),rgba(24,27,87,.97) 58%,rgba(8,62,61,.96)),
    url('finance-photo.jpg')!important;
}

footer::before{display:none;}

/* Homepage */
.hero::after{
  height:clamp(320px,34vh,470px);
  border:0;
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(43,46,131,.05) 15%,rgba(74,79,139,.18) 34%,
    rgba(130,139,177,.46) 57%,rgba(201,207,224,.82) 80%,#F4F6FA 100%);
}

.layanan{
  background-color:var(--seam-paper);
  background-image:
    linear-gradient(180deg in oklab,
      #F4F6FA 0%,rgba(246,248,251,.99) 10%,rgba(252,253,254,.97) 27%,
      rgba(255,255,255,.95) 45%,rgba(255,252,245,.95) 68%,
      rgba(249,243,224,.96) 84%,#EFE5C9 100%),
    url('coretax-bg-v2.jpg');
}

.proses{
  background-color:var(--seam-warm);
  background-image:
    linear-gradient(180deg in oklab,
      #EFE5C9 0%,rgba(244,237,216,.98) 9%,rgba(252,248,237,.97) 23%,
      rgba(250,249,246,.96) 52%,rgba(237,238,241,.96) 70%,
      rgba(168,172,200,.95) 84%,rgba(75,79,143,.97) 94%,#282B78 100%),
    url('proses-kerjasama-bg.jpg');
}

.kelas{
  background-color:var(--seam-indigo);
  background-image:
    linear-gradient(180deg in oklab,
      #282B78 0%,rgba(40,43,120,.94) 8%,rgba(40,43,120,.28) 24%,
      transparent 36%,transparent 61%,rgba(125,129,166,.28) 74%,
      rgba(211,211,211,.72) 89%,#F7F5EF 100%),
    url('spiral-flow-features-bottom.svg'),
    linear-gradient(180deg,rgba(39,42,120,.95),rgba(26,29,94,.91)),
    url('home-training-bg-ai.jpg');
  background-position:center,center,center,center 45%;
  background-size:100% 100%,100% 100%,100% 100%,cover;
  background-repeat:no-repeat;
}

.kelas::after{
  height:clamp(300px,30vh,430px);
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(114,118,157,.08) 24%,rgba(180,182,196,.34) 52%,
    rgba(228,226,220,.75) 79%,#F7F5EF 100%);
}

.testi{
  background-color:var(--seam-cream);
  background-image:
    linear-gradient(180deg in oklab,
      #F7F5EF 0%,rgba(247,245,239,.96) 8%,rgba(247,245,239,.22) 23%,
      transparent 34%,transparent 66%,rgba(82,85,124,.26) 79%,
      rgba(37,40,91,.76) 91%,#17194D 100%),
    url('spiral-flow-features-bottom.svg'),
    linear-gradient(180deg,rgba(248,246,239,.94),rgba(241,245,240,.9) 68%,rgba(23,25,77,.97)),
    url('testimonials-trust-bg-ai.jpg');
  background-position:center,center,center,center 34%;
  background-size:100% 100%,100% 100%,100% 100%,cover;
  background-repeat:no-repeat;
}

.cta-footer-connect{
  background-color:var(--seam-deep);
  background-image:
    linear-gradient(180deg in oklab,
      #17194D 0%,rgba(23,25,77,.96) 14%,rgba(23,25,77,.34) 34%,
      transparent 52%,rgba(17,19,62,.78) 82%,#11133E 100%),
    url('spiral-flow-cta.svg'),
    linear-gradient(180deg,#17194D,#11133E),
    url('cta-dataviz-bg.jpg');
  background-position:center,center,center,center 25%;
  background-size:100% 100%,100% 100%,100% 100%,cover;
  background-repeat:no-repeat;
}

.cta-footer-connect footer{
  margin-top:0;
  background:transparent!important;
  background-image:none!important;
}

/* Pelatihan Pajak */
.brevet-hero{
  box-shadow:none;
  background-image:
    linear-gradient(180deg in oklab,transparent 48%,rgba(116,123,164,.16) 66%,rgba(193,199,216,.58) 84%,#F1F3F8 100%),
    radial-gradient(circle at 82% 12%,rgba(14,166,114,.3) 0,rgba(14,166,114,.08) 20%,transparent 39%),
    linear-gradient(118deg,rgba(8,11,57,.97) 0%,rgba(35,38,119,.92) 52%,rgba(8,71,67,.88) 100%),
    url('kelas-classroom-bg.jpg');
}

.brevet-features{
  box-shadow:none;
  background-image:
    linear-gradient(180deg in oklab,
      #F1F3F8 0%,rgba(241,243,248,.86) 9%,transparent 25%,transparent 62%,
      rgba(105,109,154,.24) 75%,rgba(47,50,116,.72) 90%,#1B1D56 100%),
    radial-gradient(circle at 8% 12%,rgba(43,46,131,.13) 0,rgba(43,46,131,.045) 18%,transparent 38%),
    radial-gradient(circle at 93% 78%,rgba(216,166,61,.15) 0,rgba(216,166,61,.045) 20%,transparent 42%),
    linear-gradient(135deg,rgba(247,248,255,.92) 0%,rgba(255,255,255,.8) 46%,rgba(255,251,242,.92) 100%),
    url('brevet-curriculum-bg-ai.jpg');
}

.brevet-cta{
  box-shadow:none;
  background-image:
    linear-gradient(180deg in oklab,
      #1B1D56 0%,rgba(27,29,86,.78) 12%,transparent 31%,transparent 64%,
      rgba(17,19,62,.62) 85%,#11133E 100%),
    radial-gradient(circle at 18% 110%,rgba(216,166,61,.2),transparent 34%),
    radial-gradient(circle at 87% -10%,rgba(14,166,114,.25),transparent 32%),
    linear-gradient(115deg,rgba(8,11,57,.92) 0%,rgba(41,45,128,.84) 54%,rgba(17,19,62,.96) 100%),
    url('brevet-cta-bg-ai.jpg');
}

/* Pricing and schedule pages */
.harga-content::after,
.jadwal-content::after{
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:clamp(390px,39vh,560px);
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(231,225,210,.08) 16%,rgba(196,192,193,.23) 35%,
    rgba(142,144,170,.48) 57%,rgba(80,83,134,.76) 78%,
    rgba(39,42,101,.94) 93%,#17194D 100%);
  pointer-events:none;
}

.harga-cta,
.jadwal-cta{
  background-color:var(--seam-deep);
  background-image:
    linear-gradient(180deg in oklab,
      #17194D 0%,rgba(23,25,77,.84) 12%,transparent 31%,transparent 63%,
      rgba(17,19,62,.66) 84%,#11133E 100%),
    url('spiral-flow-cta.svg'),
    linear-gradient(180deg,#17194D,#11133E),
    linear-gradient(135deg,#15174B,#0C4948);
}

.jadwal-hero::after{
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:clamp(330px,34vh,480px);
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(66,71,136,.08) 17%,rgba(111,120,164,.3) 40%,
    rgba(171,181,207,.62) 65%,rgba(225,230,240,.9) 87%,#F5F7FB 100%);
  pointer-events:none;
}

.jadwal-content{
  background-color:#F5F7FB;
  background-image:
    linear-gradient(180deg in oklab,#F5F7FB 0%,rgba(245,247,251,.76) 12%,transparent 28%),
    url('spiral-flow-features-bottom.svg'),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,251,241,.92) 58%,rgba(241,226,184,.86)),
    url('schedule-planner-bg-ai.jpg');
  background-position:center,center,center,center;
  background-size:100% 100%,100% 100%,100% 100%,cover;
}

/* Single-section pages and their footer connection */
.reg-page::after{
  height:clamp(520px,48vh,720px);
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(225,221,213,.06) 15%,rgba(186,184,192,.18) 33%,
    rgba(125,127,162,.43) 55%,rgba(68,70,125,.72) 75%,
    rgba(31,33,87,.93) 92%,#11133E 100%);
}

.lokasi-page::after,
.faq-page::after,
.policy-page::after{
  height:clamp(620px,55vh,860px);
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(226,224,218,.045) 13%,rgba(197,196,198,.14) 29%,
    rgba(151,152,175,.32) 48%,rgba(96,98,145,.55) 67%,
    rgba(49,51,108,.82) 84%,rgba(25,27,76,.96) 95%,#11133E 100%);
}

/* Dark single-section pages: conceal where their vector layer ends. */
.comingsoon-page::after,
.err-page::after{
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:clamp(240px,28vh,380px);
  background:linear-gradient(180deg in oklab,
    transparent 0%,rgba(17,19,62,.2) 34%,rgba(17,19,62,.72) 72%,#11133E 100%);
  pointer-events:none;
}

.comingsoon-wrap,
.err-wrap{position:relative;z-index:1;}

@media(max-width:560px){
  .hero::after{height:260px;}
  .kelas::after{height:260px;}
  .harga-content::after,
  .jadwal-content::after{height:340px;}
  .jadwal-hero::after{height:280px;}
  .reg-page::after{height:460px;}
  .lokasi-page::after,
  .faq-page::after,
  .policy-page::after{height:520px;}
  .comingsoon-page::after,
  .err-page::after{height:220px;}
}

/* True crossfades: the incoming section overlaps the outgoing section and is
   revealed gradually. This removes the hard line that remains when two
   separately painted backgrounds merely touch at the same coordinate. */
.layanan,
.proses,
.kelas,
.testi{
  margin-top:-200px;
  padding-top:288px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,
    rgba(0,0,0,.025) 18px,
    rgba(0,0,0,.11) 48px,
    rgba(0,0,0,.28) 84px,
    rgba(0,0,0,.52) 122px,
    rgba(0,0,0,.76) 158px,
    #000 200px,
    #000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,
    rgba(0,0,0,.025) 18px,
    rgba(0,0,0,.11) 48px,
    rgba(0,0,0,.28) 84px,
    rgba(0,0,0,.52) 122px,
    rgba(0,0,0,.76) 158px,
    #000 200px,
    #000 100%);
}

.cta-footer-connect{
  margin-top:-200px;
  padding-top:200px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.08) 42px,rgba(0,0,0,.3) 88px,
    rgba(0,0,0,.62) 138px,#000 200px,#000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.08) 42px,rgba(0,0,0,.3) 88px,
    rgba(0,0,0,.62) 138px,#000 200px,#000 100%);
}

.brevet-features{
  margin-top:-240px;
  padding-top:304px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.025) 22px,rgba(0,0,0,.1) 58px,
    rgba(0,0,0,.27) 102px,rgba(0,0,0,.5) 148px,
    rgba(0,0,0,.75) 194px,#000 240px,#000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.025) 22px,rgba(0,0,0,.1) 58px,
    rgba(0,0,0,.27) 102px,rgba(0,0,0,.5) 148px,
    rgba(0,0,0,.75) 194px,#000 240px,#000 100%);
}

.brevet-cta{
  margin-top:-220px;
  padding-top:310px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 24px,rgba(0,0,0,.12) 58px,
    rgba(0,0,0,.3) 96px,rgba(0,0,0,.56) 140px,
    rgba(0,0,0,.8) 182px,#000 220px,#000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 24px,rgba(0,0,0,.12) 58px,
    rgba(0,0,0,.3) 96px,rgba(0,0,0,.56) 140px,
    rgba(0,0,0,.8) 182px,#000 220px,#000 100%);
}

.harga-cta{
  margin-top:-210px;
  padding-top:304px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 22px,rgba(0,0,0,.13) 58px,
    rgba(0,0,0,.34) 100px,rgba(0,0,0,.64) 150px,#000 210px,#000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 22px,rgba(0,0,0,.13) 58px,
    rgba(0,0,0,.34) 100px,rgba(0,0,0,.64) 150px,#000 210px,#000 100%);
}

.jadwal-content{
  margin-top:-220px;
  padding-top:314px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 24px,rgba(0,0,0,.12) 60px,
    rgba(0,0,0,.31) 102px,rgba(0,0,0,.59) 150px,#000 220px,#000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 24px,rgba(0,0,0,.12) 60px,
    rgba(0,0,0,.31) 102px,rgba(0,0,0,.59) 150px,#000 220px,#000 100%);
}

.jadwal-cta{
  margin-top:-210px;
  padding-top:300px;
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 22px,rgba(0,0,0,.13) 58px,
    rgba(0,0,0,.34) 100px,rgba(0,0,0,.64) 150px,#000 210px,#000 100%);
  mask-image:linear-gradient(to bottom,
    transparent 0,rgba(0,0,0,.03) 22px,rgba(0,0,0,.13) 58px,
    rgba(0,0,0,.34) 100px,rgba(0,0,0,.64) 150px,#000 210px,#000 100%);
}

@media(max-width:560px){
  .layanan,
  .proses,
  .kelas,
  .testi{
    margin-top:-130px;
    padding-top:190px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 34px,rgba(0,0,0,.48) 78px,#000 130px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 34px,rgba(0,0,0,.48) 78px,#000 130px,#000 100%);
  }
  .cta-footer-connect{
    margin-top:-130px;
    padding-top:130px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 34px,rgba(0,0,0,.48) 78px,#000 130px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 34px,rgba(0,0,0,.48) 78px,#000 130px,#000 100%);
  }
  .brevet-features{
    margin-top:-150px;
    padding-top:214px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 38px,rgba(0,0,0,.5) 92px,#000 150px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 38px,rgba(0,0,0,.5) 92px,#000 150px,#000 100%);
  }
  .brevet-cta{
    margin-top:-145px;
    padding-top:211px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 38px,rgba(0,0,0,.5) 90px,#000 145px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 38px,rgba(0,0,0,.5) 90px,#000 145px,#000 100%);
  }
  .harga-cta{
    margin-top:-140px;
    padding-top:208px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.14) 38px,rgba(0,0,0,.52) 88px,#000 140px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.14) 38px,rgba(0,0,0,.52) 88px,#000 140px,#000 100%);
  }
  .jadwal-content{
    margin-top:-145px;
    padding-top:209px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.13) 38px,rgba(0,0,0,.5) 90px,#000 145px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.13) 38px,rgba(0,0,0,.5) 90px,#000 145px,#000 100%);
  }
  .jadwal-cta{
    margin-top:-140px;
    padding-top:206px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.14) 38px,rgba(0,0,0,.52) 88px,#000 140px,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.14) 38px,rgba(0,0,0,.52) 88px,#000 140px,#000 100%);
  }
}

/* Content-safe transition zones.
   All meaningful content ends before the next section begins to crossfade. */
.hero{padding-bottom:270px;}

.layanan,
.proses,
.kelas,
.testi{padding-bottom:260px;}

section + .cta-footer-connect{margin-top:-200px;}

.brevet-hero{padding-bottom:280px;}
.brevet-features{padding-bottom:280px;}
.brevet-cta{padding-bottom:220px;}

.harga-content{padding-bottom:270px;}
.harga-cta{padding-bottom:220px;}

.jadwal-hero{padding-bottom:280px;}
.jadwal-content{padding-bottom:270px;}
.jadwal-cta{padding-bottom:220px;}

/* Final single-section pages keep their last card/CTA above a dedicated,
   content-free runway that gently settles into the footer colour. */
.reg-page{padding-bottom:420px;}
.reg-page::after{height:360px;}

.lokasi-page,
.faq-page,
.policy-page{padding-bottom:430px;}

.lokasi-page::after,
.faq-page::after,
.policy-page::after{height:370px;}

@media(max-width:560px){
  .hero{padding-bottom:190px;}
  .layanan,
  .proses,
  .kelas,
  .testi{padding-bottom:180px;}
  section + .cta-footer-connect{margin-top:-130px;}

  .brevet-hero{padding-bottom:200px;}
  .brevet-features{padding-bottom:195px;}
  .brevet-cta{padding-bottom:150px;}

  .harga-content{padding-bottom:190px;}
  .harga-cta{padding-bottom:150px;}
  .jadwal-hero{padding-bottom:200px;}
  .jadwal-content{padding-bottom:190px;}
  .jadwal-cta{padding-bottom:150px;}

  .reg-page{padding-bottom:300px;}
  .reg-page::after{height:260px;}
  .lokasi-page,
  .faq-page,
  .policy-page{padding-bottom:310px;}
  .lokasi-page::after,
  .faq-page::after,
  .policy-page::after{height:270px;}
}

/* Precision content locks.
   Crossfades intentionally overlap the visual section edges, so locking to the
   section box would stop inside the transition runway. Snap to the first real
   content wrapper instead and keep it clear of the sticky header. */
:root{
  --section-lock-offset:101px;
}

html.scroll-lock-enabled{
  scroll-snap-type:y mandatory!important;
  scroll-behavior:smooth;
}

html.scroll-lock-enabled section{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  scroll-margin-top:calc(var(--section-lock-offset) - var(--section-lock-inset, 0px))!important;
}

html.scroll-lock-enabled footer{
  scroll-snap-align:end;
  scroll-snap-stop:always;
}

html.scroll-lock-enabled .final-cta-lock-target{
  scroll-snap-align:center!important;
  scroll-snap-stop:always!important;
  scroll-margin-top:var(--section-lock-header-height,83px)!important;
}

html.scroll-lock-enabled .final-cta-lock-target.reveal{
  transform:none!important;
}

html.scroll-lock-enabled .final-cta-lock-bridge{
  overflow:clip!important;
}

@media(max-width:768px){
  :root{--section-lock-offset:83px;}
}

@media(prefers-reduced-motion:reduce){
  html.scroll-lock-enabled{scroll-snap-type:none!important;scroll-behavior:auto;}
  html.scroll-lock-enabled section,
  html.scroll-lock-enabled footer,
  html.scroll-lock-enabled .final-cta-lock-target{scroll-snap-align:none!important;scroll-snap-stop:normal!important;}
}
