/**
 * Swiper 14.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 26, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
:root{
  --navy:#132C56;
  --navy-dark:#0c1e3d;
  --gold:#F5B942;
  --gold-dark:#d99f2e;
  --ink:#1b2436;
  --ink-soft:#5c6479;
  --bg:#f4f6fb;
  --card:#ffffff;
  --line:#e2e7f2;
  color-scheme: light
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth
}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  line-height:1.6
}
img{
  max-width:100%;
  display:block
}
a{
  color:inherit;
  text-decoration:none
}
h1,h2,h3,h4{
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-weight:700;
  margin:0
}
.wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px
}
section{
  position:relative
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:14px
}
.eyebrow i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  display:inline-block
}
.shead{
  max-width:620px;
  margin:0 auto 46px;
  text-align:center
}
.shead h2{
  font-size:clamp(24px,3.2vw,36px)
}
.shead p{
  color:var(--ink-soft);
  margin-top:12px;
  font-size:15.5px
}

.nav{
  position:sticky;
  top:0;
  z-index:60;
  background:#fff;
  border-bottom:1px solid var(--line)
}
.nav .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 24px;
  gap:16px
}
.brand{
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:700;
  font-size:15.5px
}
.brand img{
  height:34px;
  width:auto
}
.brand-badge{
  font-family:'Caveat',cursive;
  font-weight:700;
  font-size:19px;
  color:var(--navy-dark);
  background:var(--gold);
  padding:2px 13px 6px;
  border-radius:999px;
  line-height:1;
  transform:rotate(-3deg);
  white-space:nowrap
}
.navlinks{
  display:flex;
  gap:28px;
  font-weight:600;
  font-size:14px;
  color:var(--ink-soft)
}
.navlinks a{
  position:relative;
  padding-bottom:4px
}
.navlinks a:hover{
  color:var(--navy)
}
.navlinks a:hover::after,.navlinks a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:2px;
  background:var(--gold)
}
.navlinks a.active{
  color:var(--navy)
}
.nav-actions{
  position:relative;
  z-index:1;
  display:flex;
  gap:10px;
  align-items:center
}
.nav-actions::before{
  content:"";
  position:absolute;
  top:-16px;
  bottom:-16px;
  right:-24px;
  width:190px;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 78% 50%, var(--gold) 0%, transparent 68%);
  opacity:.5;
  filter:blur(22px)
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 20px;
  border-radius:8px;
  font-weight:700;
  font-size:14px;
  border:1.5px solid transparent;
  cursor:pointer;
  white-space:nowrap
}
.btn-pill{
  border-radius:999px
}
.btn-gold{
  background:var(--gold);
  color:var(--navy-dark)
}
.btn-gold:hover{
  background:var(--gold-dark)
}
.btn-navy{
  background:var(--navy);
  color:#fff
}
.btn-navy:hover{
  background:var(--navy-dark)
}
.btn-outline{
  border-color:var(--line);
  color:var(--ink)
}
.btn-outline:hover{
  border-color:var(--navy);
  color:var(--navy)
}
@media (max-width:900px){
  .navlinks{
    display:none
  }
}
@media (max-width:480px){
  .nav-actions .btn-outline{
    display:none
  }
  .nav .wrap{
    padding:14px 16px
  }
}

/* HERO dashboard card */
.hero{
  padding:56px 20px 0
}
.hero-panel{
  max-width:1200px;
  margin:0 auto;
  background:radial-gradient(circle at 20% 20%, rgba(245,185,66,.12), transparent 45%), linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);
  border-radius:28px;
  padding:76px 40px 110px;
  position:relative;
  overflow:hidden;
  text-align:center;
  color:#fff
}
.hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,.09) 1.4px, transparent 1.4px);
  background-size:22px 22px;
  opacity:.5
}
.hero-panel > *{
  position:relative;
  z-index:2
}
.hero-tag{
  display:inline-block;
  padding:7px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.05em;
  margin-bottom:22px
}
.hero h1{
  font-size:clamp(30px,4.6vw,50px);
  max-width:800px;
  margin:0 auto;
  color:#fff
}
.hero .lead{
  font-size:16.5px;
  max-width:600px;
  margin:20px auto 32px;
  color:rgba(255,255,255,.85)
}
.hero .actions{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap
}
.dash{
  max-width:920px;
  margin:-58px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 48px -20px rgba(19,44,86,.35);
  position:relative;
  z-index:5
}
.dash-cell{
  background:#fff;
  padding:24px 18px;
  text-align:center
}
.dash-cell b{
  display:block;
  font-family:'Sora';
  font-size:22px;
  color:var(--navy);
  font-weight:700
}
.dash-cell span{
  font-size:12px;
  color:var(--ink-soft);
  font-weight:600
}
@media (max-width:760px){
  .dash{
    grid-template-columns:repeat(2,1fr)
  }
}

/* ABOUT + timeline */
.about{
  padding:120px 0 90px;
  background:var(--bg)
}
.about-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:start
}
.about-text p{
  color:var(--ink-soft);
  font-size:15px;
  margin:0 0 16px
}
.steps{
  display:flex;
  flex-direction:column;
  gap:0
}
.step{
  display:flex;
  gap:18px;
  position:relative;
  padding-bottom:34px
}
.step:last-child{
  padding-bottom:0
}
.step::before{
  content:"";
  position:absolute;
  left:19px;
  top:40px;
  bottom:0;
  width:2px;
  background:var(--line)
}
.step:last-child::before{
  display:none
}
.step-n{
  flex:none;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--gold);
  color:var(--navy-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-family:'Sora';
  z-index:1
}
.step-t h4{
  font-size:15.5px;
  margin-bottom:4px
}
.step-t p{
  margin:0;
  font-size:13.5px;
  color:var(--ink-soft)
}

/* PRODUCTS tile grid */
.products{
  padding:90px 0;
  background:var(--card);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.tiles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
.tile{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px 20px;
  transition:transform .15s ease, box-shadow .15s ease
}
.tile:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px -16px rgba(19,44,86,.28);
  border-color:var(--gold)
}
.tile-i{
  width:44px;
  height:44px;
  clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0% 50%);
  background:var(--gold);
  color:var(--navy-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px
}
.tile h3{
  font-size:14.5px;
  margin-bottom:6px;
  line-height:1.3
}
.tile p{
  margin:0;
  font-size:12.5px;
  color:var(--ink-soft);
  line-height:1.5
}
@media (max-width:980px){
  .tiles{
    grid-template-columns:repeat(3,1fr)
  }
}
@media (max-width:700px){
  .tiles{
    grid-template-columns:repeat(2,1fr)
  }
}

/* LEGAL */
.legal{
  padding:86px 0;
  background:var(--card);
  border-top:1px solid var(--line)
}
.legal-tiles{
  grid-template-columns:repeat(3,1fr)
}
@media (max-width:700px){
  .legal-tiles{
    grid-template-columns:1fr
  }
}

/* VALUES left-border list */
.values{
  padding:90px 0;
  background:var(--bg)
}
.flist{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  max-width:900px;
  margin:0 auto
}
.flist-row{
  display:flex;
  gap:16px;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--gold);
  border-radius:8px;
  padding:20px
}
.flist-i{
  flex:none;
  width:36px;
  height:36px;
  border-radius:8px;
  background:var(--navy);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center
}
.flist-row h4{
  font-size:15px;
  margin-bottom:4px
}
.flist-row p{
  margin:0;
  font-size:13.5px;
  color:var(--ink-soft)
}
@media (max-width:700px){
  .flist{
    grid-template-columns:1fr
  }
}

/* CLIENTS light */
.clients{
  padding:86px 0;
  background:#fff;
  border-top:1px solid var(--line)
}
.clients-card{
  max-width:760px;
  margin:0 auto;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:18px;
  padding:36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px
}
.clients-card img{
  max-width:400px;
  width:100%
}
.portal-logos{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:36px;
  width:100%
}
.portal-logos a{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 26px;
  border-radius:16px;
  border:1.5px solid var(--navy);
  background:var(--card);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}
.portal-logos a:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  border-color:var(--gold)
}
.portal-logos a:active{
  transform:scale(.94);
  box-shadow:0 4px 10px rgba(0,0,0,.1)
}
.clients-card .portal-logos img{
  height:46px;
  width:auto;
  max-width:none
}
@media (max-width:480px){
  .clients-card{padding:20px 14px}
  .portal-logos{gap:8px;flex-wrap:nowrap;width:100%}
  .portal-logos a{padding:8px 9px;border-radius:10px;flex:1 1 0}
  .clients-card .portal-logos img{height:24px;max-width:100%}
  .badges{gap:6px;flex-wrap:nowrap;width:100%}
  .badge{padding:5px 4px;font-size:9.5px;flex:1 1 0;text-align:center;white-space:normal;border-radius:10px}
}
.badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center
}
.badge{
  padding:8px 15px;
  border-radius:999px;
  border:1.5px solid var(--navy);
  color:var(--navy);
  font-size:12.5px;
  font-weight:700
}

/* CONTACT */
.contact{
  padding:90px 0;
  background:var(--bg)
}
.contact-split{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:24px;
  align-items:stretch
}
.contact-info{
  background:linear-gradient(135deg,var(--navy),var(--navy-dark));
  border-radius:16px;
  padding:clamp(22px,3vw,32px);
  color:#fff;
  display:flex;
  flex-direction:column
}
.ci-list{
  list-style:none;
  margin:0 0 24px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:20px
}
.ci-list li{
  display:flex;
  gap:14px;
  align-items:flex-start
}
.ci-icon{
  flex:none;
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(255,255,255,.12);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center
}
.ci-list h4{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:rgba(255,255,255,.55);
  margin:0 0 4px;
  font-weight:600
}
.ci-list p,.ci-list a{
  font-size:14.5px;
  color:#fff;
  margin:0;
  line-height:1.45
}
.ci-list a:hover{
  color:inherit
}
.ci-wa{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#25D366;
  color:#fff;
  padding:13px;
  border-radius:10px;
  font-weight:700;
  font-size:14px
}
.ci-wa:hover{
  background:#1ebd5a
}
@media (max-width:780px){
  .contact-split{
    grid-template-columns:1fr
  }
}

footer{
  background:var(--navy-dark);
  color:rgba(255,255,255,.65);
  padding:44px 0 26px
}
.fgrid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:30px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:20px
}
.fbrand{
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-weight:700;
  font-size:14.5px;
  margin-bottom:10px
}
.fbrand img{
  height:26px;
  width:26px;
  object-fit:contain;
  background:#fff;
  border-radius:7px;
  padding:3px
}
.fcol h5{
  color:#fff;
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px
}
.fcol a{
  display:block;
  margin-bottom:8px;
  font-size:13.5px
}
.fcol a:hover{
  color:#fff
}
/* Kontak (tel:) bukan navigasi halaman, jadi tidak perlu efek hover berubah warna */
.fcol a[href^="tel:"]:hover{
  color:rgba(255,255,255,.65)
}
footer .bottom{
  display:flex;
  justify-content:space-between;
  font-size:12.5px;
  flex-wrap:wrap;
  gap:10px
}
@media (max-width:700px){
  .fgrid{
    grid-template-columns:1fr
  }
}
.fcol .faddr{
  display:block;
  margin-bottom:8px;
  font-size:13.5px;
  color:rgba(255,255,255,.65);
  line-height:1.5
}
.foot-cta{
  margin-top:14px;
  padding:14px;
  border-radius:10px;
  background:rgba(255,255,255,.07)
}
.foot-cta p{
  font-size:12.5px;
  color:rgba(255,255,255,.6);
  margin-bottom:10px;
  line-height:1.5
}
.btn-wa{
  background:#25D366;
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 16px;
  border-radius:999px;
  font-weight:700;
  font-size:13px
}

/* ===== KIRIM PESAN (contact form) ===== */
.msg-card{
  color:var(--ink,#161513);
  background:#fff;
  border-radius:16px;
  padding:clamp(22px,3vw,34px);
  box-shadow:0 14px 34px rgba(15,15,15,.10);
  border:1px solid rgba(0,0,0,.06)
}
.msg-card h3{
  font-size:1.1rem;
  margin:0 0 6px
}
.msg-card .hint{
  font-size:.85rem;
  opacity:.65;
  margin:0 0 20px
}
.msg-card .field{
  margin-bottom:14px
}
.msg-card .field label{
  display:block;
  font-size:.78rem;
  font-weight:600;
  margin-bottom:6px;
  opacity:.8
}
.msg-card .field input, .msg-card .field textarea{
  width:100%;
  padding:11px 14px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  font-family:inherit;
  font-size:.9rem;
  background:rgba(0,0,0,.02);
  resize:vertical
}
.msg-card .field input:focus, .msg-card .field textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(0,0,0,.05)
}
.msg-card .btn-wa-full{
  display:block;
  width:100%;
  text-align:center;
  background:#25D366;
  color:#fff;
  padding:12px;
  border-radius:10px;
  font-weight:700;
  font-size:.86rem;
  border:none;
  cursor:pointer;
  margin-bottom:10px
}
.msg-card .btn-wa-full:hover{
  background:#1ebd5a
}
.msg-card .btn-submit{
  display:block;
  width:100%;
  background:var(--gold);
  color:#fff;
  padding:12px;
  border-radius:10px;
  font-weight:700;
  font-size:.86rem;
  border:none;
  cursor:pointer
}
.msg-card .btn-submit:disabled{
  opacity:.65;
  cursor:default
}
.msg-card .form-note{
  font-size:.74rem;
  opacity:.55;
  margin-top:12px;
  text-align:center
}
#toast{
  position:fixed;
  top:20px;
  right:20px;
  min-width:260px;
  max-width:360px;
  padding:14px 20px;
  border-radius:10px;
  color:#fff;
  font-size:14px;
  font-weight:600;
  box-shadow:0 8px 25px rgba(0,0,0,.25);
  z-index:9999;
  opacity:0;
  transform:translateY(-16px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease
}
.wa-float{
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:900;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 26px -6px rgba(0,0,0,.4);
  transition:transform .2s ease
}
.wa-float:hover{
  transform:translateY(-3px) scale(1.05)
}
#toast.show{
  opacity:1;
  transform:translateY(0)
}
#toast.success{
  background:#16a34a
}
#toast.error{
  background:#dc2626
}
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease,transform .6s ease
}
.reveal.in{
  opacity:1;
  transform:none
}
.produkSwiper{
  padding:26px 0 58px;
  overflow:visible
}
.produkSwiper .swiper-slide{
  width:264px;
  height:auto
}
.p3d-card{
  cursor:pointer;
  height:346px;
  display:flex;
  flex-direction:column;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);
  border-radius:20px;
  padding:30px 24px;
  color:#fff;
  box-shadow:0 22px 40px -22px rgba(12,30,61,.5);
  transition:transform .2s ease,box-shadow .2s ease
}
.p3d-card:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 46px -20px rgba(12,30,61,.6)
}
.p3d-i{
  flex:none;
  width:50px;
  height:50px;
  clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0% 50%);
  background:var(--gold);
  color:var(--navy-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px
}
.p3d-card h3{
  font-family:'Sora';
  font-size:15.5px;
  margin:0 0 10px;
  color:#fff;
  line-height:1.3
}
.p3d-card p{
  font-size:12.8px;
  color:rgba(255,255,255,.72);
  margin:0;
  line-height:1.55
}
.produkSwiper .swiper-pagination-bullet{
  background:var(--navy);
  opacity:.28
}
.produkSwiper .swiper-pagination-bullet-active{
  background:var(--gold);
  opacity:1
}
.produkSwiper .swiper-wrapper,.pageSwiper .swiper-wrapper{
  pointer-events:none
}
.produkSwiper .swiper-slide,.pageSwiper .swiper-slide{
  pointer-events:auto
}
.produkSwiper .swiper-button-next,.produkSwiper .swiper-button-prev{
  color:var(--navy);
  top:44%;
  width:44px;
  height:44px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 10px 22px -8px rgba(12,30,61,.4);
  border:1px solid rgba(12,30,61,.08);
  transition:background .2s,color .2s
}
.produkSwiper .swiper-button-next:after,.produkSwiper .swiper-button-prev:after{
  font-size:16px;
  font-weight:800
}
.produkSwiper .swiper-button-next:hover,.produkSwiper .swiper-button-prev:hover{
  background:var(--gold);
  color:var(--navy-dark)
}
@media (max-width:600px){
  .produkSwiper .swiper-slide{
    width:222px
  }
  .p3d-card{
    height:346px;
    padding:24px 20px
  }
  .produkSwiper .swiper-button-next,.produkSwiper .swiper-button-prev{
    display:none
  }
}

.page-carousel-wrap{
  min-height:calc(100vh - 72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:44px 0 60px;
  overflow-x:hidden;
  background:linear-gradient(180deg,#f7f8fb 0%,#eef1f7 100%)
}
.page-carousel-wrap>.wrap{
  min-width:0;
  width:100%
}
.pageSwiper{
  padding:20px 0 64px;
  overflow:visible
}
.pageSwiper .swiper-slide{
  width:360px;
  height:auto
}
.page-card{
  cursor:pointer;
  height:460px;
  display:flex;
  flex-direction:column;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);
  border-radius:30px;
  padding:46px 36px;
  color:#fff;
  box-shadow:0 30px 55px -25px rgba(12,30,61,.55);
  text-align:left
}
.page-card .pc-i{
  flex:none;
  width:76px;
  height:76px;
  clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0% 50%);
  background:var(--gold);
  color:var(--navy-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:26px
}
.page-card .pc-i svg{
  width:32px;
  height:32px
}
.page-card h3{
  font-family:'Sora';
  font-size:24px;
  margin:0 0 14px;
  color:#fff;
  line-height:1.3
}
.page-card p{
  font-size:15px;
  color:rgba(255,255,255,.75);
  margin:0;
  line-height:1.65;
  flex:1
}
.page-card .pc-explore{
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
  padding:10px 18px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.02em;
  width:fit-content;
  transition:background .2s,color .2s,border-color .2s
}
.page-card:hover .pc-explore{
  background:var(--gold);
  color:var(--navy-dark);
  border-color:var(--gold)
}
.pageSwiper .swiper-pagination-bullet{
  background:var(--navy);
  opacity:.28
}
.pageSwiper .swiper-pagination-bullet-active{
  background:var(--gold);
  opacity:1
}
.pageSwiper .swiper-button-next,.pageSwiper .swiper-button-prev{
  color:var(--navy);
  top:44%;
  width:50px;
  height:50px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 12px 26px -8px rgba(12,30,61,.45);
  border:1px solid rgba(12,30,61,.08);
  transition:background .2s,color .2s,transform .2s
}
.pageSwiper .swiper-button-next:after,.pageSwiper .swiper-button-prev:after{
  font-size:18px;
  font-weight:800
}
.pageSwiper .swiper-button-next:hover,.pageSwiper .swiper-button-prev:hover{
  background:var(--gold);
  color:var(--navy-dark);
  transform:scale(1.06)
}
.pageSwiper .swiper-button-disabled{
  opacity:.35;
  box-shadow:none
}

.page-panel{
  position:fixed;
  inset:0;
  z-index:500;
  background:#fff;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  opacity:0;
  transform:scale(.92);
  transition:opacity .32s ease,transform .32s ease;
  visibility:hidden
}
.page-panel.active{
  opacity:1;
  transform:scale(1);
  visibility:visible
}
.panel-close{
  position:fixed;
  top:18px;
  right:18px;
  z-index:510;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  border:none;
  cursor:pointer;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.4);
  display:flex;
  align-items:center;
  justify-content:center
}
.panel-close:hover{
  background:var(--gold);
  color:var(--navy-dark)
}
body.panel-open{
  overflow:hidden
}

@media (max-width:600px){
  .pageSwiper .swiper-slide{
    width:290px
  }
  .page-card{
    height:420px;
    padding:36px 28px
  }
  .pageSwiper .swiper-button-next,.pageSwiper .swiper-button-prev{
    display:none
  }
  .page-carousel-wrap{
    min-height:calc(100vh - 60px);
    padding:28px 0 40px
  }
}

.p3d-photo{
  width:100%;
  height:130px;
  border-radius:14px;
  overflow:hidden;
  margin-bottom:16px;
  flex:none
}
.p3d-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}

.pdf-header{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f5f6f8 0%,#eceef2 55%,#e2e5ea 100%);
  padding:56px 0 34px;
  margin-bottom:8px
}
.pdf-header::before{
  content:"";
  position:absolute;
  right:-8%;
  top:-40%;
  width:56%;
  height:180%;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);
  clip-path:polygon(58% 0,100% 0,100% 100%,18% 100%);
  opacity:.97
}
.pdf-header .wrap{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:22px
}
.pdf-header-logo{
  flex:none;
  width:192px;
  height:192px;
  border-radius:36px;
  background:#fff;
  background-image:url("../img/logo-artha-indo-anugrah.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:78%;
  box-shadow:0 10px 22px -8px rgba(12,30,61,.3);
  border:1px solid rgba(12,30,61,.06)
}
.pdf-header-text{
  min-width:0
}
.pdf-header .pdf-kicker{
  display:inline-block;
  background:var(--gold);
  color:var(--navy-dark);
  font-weight:800;
  font-size:11.5px;
  letter-spacing:.08em;
  padding:7px 16px;
  text-transform:uppercase;
  margin-bottom:12px
}
.pdf-header h1{
  font-family:'Sora';
  font-weight:800;
  color:var(--navy);
  font-size:clamp(28px,4vw,42px);
  margin:0;
  line-height:1.1
}
.hero-panel::after{
  content:"";
  position:absolute;
  right:-4%;
  bottom:-22%;
  width:34%;
  height:80%;
  background:var(--gold);
  clip-path:polygon(45% 0,100% 0,100% 100%,0 100%);
  opacity:.85;
  z-index:0;
  pointer-events:none
}
.hero-logo{
  position:relative;
  z-index:1;
  display:block;
  width:180px;
  height:180px;
  object-fit:contain;
  margin:0 auto 28px;
  background:#fff;
  border-radius:50%;
  padding:18px;
  box-shadow:0 15px 35px rgba(0,0,0,.18)
}
.main-logo{
  display:block;
  width:150px;
  height:150px;
  object-fit:contain;
  margin:0 auto 18px
}
@media (max-width:600px){
  .hero-logo{
    width:130px;
    height:130px;
    padding:13px;
    margin-bottom:22px
  }
  .main-logo{
    width:120px;
    height:120px;
    margin:0 auto 16px
  }
}
@media (max-width:600px){
  .pdf-header{
    padding:40px 0 26px
  }
  .pdf-header::before{
    width:70%
  }
  .pdf-header .wrap{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding-right:70px
  }
  .pdf-header-logo{
    width:144px;
    height:144px;
    border-radius:28px
  }
  .pdf-header h1{
    font-size:clamp(18px,5.8vw,26px)
  }
}

.product-detail{
  position:fixed;
  inset:0;
  z-index:600;
  background:rgba(15,23,42,.72);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  opacity:0;
  transform:scale(.92);
  transition:opacity .32s ease,transform .32s ease;
  visibility:hidden
}
.product-detail.active{
  opacity:1;
  transform:scale(1);
  visibility:visible
}
.product-detail-inner{
  position:relative;
  background:var(--gold);
  border-radius:28px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);
  max-width:460px;
  width:calc(100% - 40px);
  margin:56px auto 40px;
  padding:56px 28px 48px;
  text-align:center
}
.pd-photo{
  border-radius:18px;
  overflow:hidden;
  margin-bottom:30px;
  box-shadow:0 25px 50px -20px rgba(12,30,61,.4)
}
.pd-photo img{
  width:100%;
  display:block
}
.product-detail h1{
  font-family:'Sora';
  font-weight:800;
  color:var(--navy);
  font-size:clamp(24px,4.4vw,34px);
  line-height:1.22;
  text-transform:uppercase;
  margin:0 0 20px
}
.product-detail p{
  font-size:16px;
  line-height:1.75;
  color:var(--navy-dark);
  margin:0
}
.pd-close{
  position:absolute;
  top:-14px;
  right:-14px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  border:none;
  cursor:pointer;
  box-shadow:0 8px 18px -4px rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease,color .2s ease
}
.pd-close:hover{
  background:var(--navy);
  color:#fff
}
@media (max-width:600px){
  .product-detail-inner{
    width:calc(100% - 24px);
    margin:44px auto 28px;
    padding:48px 20px 36px;
    border-radius:22px
  }
}
