
:root{
  --gft-shadow: 0 18px 60px rgba(15, 31, 64, .08);
  --gft-shadow-soft: 0 10px 30px rgba(15, 31, 64, .05);
  --gft-radius: 22px;
  --gft-gap: clamp(1rem, 2vw, 1.5rem);
  --gft-primary: var(--wp--preset--color--primary);
  --gft-secondary: var(--wp--preset--color--secondary);
  --gft-accent: var(--wp--preset--color--accent);
  --gft-surface: var(--wp--preset--color--surface);
  --gft-surface-2: var(--wp--preset--color--surface-2);
  --gft-line: var(--wp--preset--color--line);
  --gft-muted: var(--wp--preset--color--muted);
  --gft-white: var(--wp--preset--color--white);
}

html{scroll-behavior:smooth}
body{
  background: var(--gft-surface);
  color: var(--wp--preset--color--ink);
}
.site-content > * + *{margin-block-start:0}

.gft-topbar{
  background: #0e1d38;
  color: #e7effd;
  padding: .45rem 0;
}
.gft-topbar p{margin:0}
.gft-site-header{
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(215,226,240,.65);
  transition: box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}
.gft-site-header.is-scrolled{
  box-shadow: 0 14px 36px rgba(15,31,64,.10);
  background: rgba(255,255,255,.94);
}
.gft-site-header__inner{
  min-height: 84px;
  gap: 1rem;
}
.gft-brand-lockup{gap:.15rem}
.gft-brand-lockup .wp-block-site-title{font-weight:800}
.gft-brand-lockup .wp-block-site-tagline{margin:0;color:var(--gft-muted)}
.gft-header-actions{display:flex}
.wp-block-navigation .wp-block-navigation-item__content{font-weight:600}

.eyebrow-pill{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.48rem .9rem;
  border-radius:999px;
  background:rgba(15,111,255,.08);
  border:1px solid rgba(15,111,255,.12);
  color:var(--gft-primary);
  font-size:.88rem;
  font-weight:700;
  text-transform:none;
}
.eyebrow-pill--light{
  background: rgba(255,255,255,.16);
  color: #fff;
  border-color: rgba(255,255,255,.22);
}
.section-shell{
  padding: clamp(3.2rem, 7vw, 6rem) 0;
}
.bg-soft{
  background:
    radial-gradient(circle at top right, rgba(20,211,236,.12), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}
.center-copy{
  text-align:center;
}
.section-heading{
  max-width: 920px;
  margin-inline:auto;
}
.section-intro{
  max-width: 760px;
  margin-inline:auto;
  color: var(--gft-muted);
}

.gft-hero-shell{
  padding: clamp(1.2rem, 3vw, 2rem) 0 1rem;
  background:
    radial-gradient(circle at 80% 8%, rgba(20,211,236,.16), transparent 22%),
    radial-gradient(circle at 15% 20%, rgba(15,111,255,.10), transparent 25%),
    var(--wp--preset--gradient--hero);
}
.hero-slider{
  position:relative;
}
.gft-slider{
  position:relative;
}
.gft-slider-track{
  display:flex;
  gap:var(--gft-gap);
  overflow-x:auto;
  overflow-y:hidden;
  padding:.2rem;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.gft-slider-track::-webkit-scrollbar{display:none}
.gft-slide{
  scroll-snap-align:start;
  min-width:100%;
}
.hero-slide{
  padding: clamp(1.4rem, 3vw, 1.8rem);
  border-radius: calc(var(--gft-radius) + 6px);
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.88));
  box-shadow: var(--gft-shadow);
  border: 1px solid rgba(215,226,240,.9);
}
.hero-slide__columns{
  gap: clamp(1rem, 4vw, 2rem);
}
.hero-slide p{color:var(--gft-muted)}
.float-soft img,.hero-slide img{
  width:100%;
  height:auto;
  display:block;
  border-radius:calc(var(--gft-radius) - 4px);
}
.gft-float-card{
  position:absolute;
  right:1rem;
  padding:.75rem 1rem;
  background: rgba(255,255,255,.92);
  border:1px solid rgba(215,226,240,.95);
  box-shadow: var(--gft-shadow-soft);
  border-radius:999px;
  font-size:.86rem;
  font-weight:600;
  max-width:280px;
}
.gft-float-card--top{top: 18%}
.gft-float-card--bottom{bottom: 12%}

.gft-slider-nav{
  display:flex;
  justify-content:flex-end;
  gap:.75rem;
  margin-bottom:1rem;
}
.gft-slider-nav--hero{
  position:absolute;
  right:1.2rem;
  top:1.2rem;
  margin:0;
  z-index:4;
}
.gft-slider-button{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(215,226,240,.9);
  background:#fff;
  color: var(--gft-secondary);
  font-size:1.45rem;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow: var(--gft-shadow-soft);
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.gft-slider-button:hover{
  transform: translateY(-2px);
  background: var(--gft-primary);
  color:#fff;
}
.gft-slider.is-static .gft-slider-button{opacity:.45;pointer-events:none}

.gft-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.2rem;
}
.gft-stat-card{
  padding:1rem;
  border-radius:18px;
  border:1px solid rgba(215,226,240,.9);
  background:#fff;
  box-shadow: var(--gft-shadow-soft);
}
.gft-stat-card span{
  display:block;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight:800;
  line-height:1;
  margin-bottom:.35rem;
  color: var(--gft-secondary);
}
.gft-stat-card small{
  color: var(--gft-muted);
  display:block;
}

.gft-logo-row{padding: 1rem 0 0}
.gft-logo-card{
  min-width: 100%;
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(215,226,240,.9);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:90px;
  box-shadow: var(--gft-shadow-soft);
}
.gft-logo-card img{
  max-width:160px;
  height:auto;
  display:block;
}

.gft-feature-grid,
.gft-pricing-grid{
  display:grid;
  gap:1rem;
}
.gft-feature-grid{
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top:2rem;
}
.gft-feature-card,
.gft-card,
.gft-price-card,
.gft-review-card,
.gft-gallery-card,
.gft-video-card,
.gft-form-shell,
.gft-compare-shell{
  border-radius: var(--gft-radius);
  background:#fff;
  border: 1px solid rgba(215,226,240,.9);
  box-shadow: var(--gft-shadow-soft);
}
.gft-feature-card{
  padding:1.3rem;
}
.gft-icon-badge{
  width: 52px;
  height: 52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(15,111,255,.12), rgba(20,211,236,.18));
  color: var(--gft-primary);
  font-weight:800;
  margin-bottom:.8rem;
}
.gft-feature-card p{color:var(--gft-muted)}

.gft-gallery-card,
.gft-video-card,
.gft-post-card,
.gft-product-card{
  min-width:100%;
  overflow:hidden;
}
.gft-gallery-card img,
.gft-video-card img,
.gft-post-card__image img,
.gft-product-card__image img{
  width:100%;
  height:auto;
  display:block;
}
.gft-gallery-card span{
  display:block;
  padding:1rem;
  font-weight:600;
}
.gft-video-card__body,
.gft-post-card__body,
.gft-product-card__body{
  padding:1.05rem 1.1rem 1.2rem;
}
.gft-card-meta{
  font-size:.84rem;
  color:var(--gft-muted);
  margin-bottom:.45rem;
}
.gft-text-link,
.gft-ghost-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-weight:700;
  text-decoration:none;
}
.gft-product-card__foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:1rem;
}
.gft-empty-card{
  padding:1.25rem;
}
.gft-dynamic-section{
  text-align:left;
}
.gft-section-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.gft-section-top h3{margin:.25rem 0 0}
.gft-mini-label{
  display:inline-block;
  font-size:.82rem;
  color: var(--gft-primary);
  font-weight:700;
  margin-bottom:.15rem;
}

.gft-pricing-grid{
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top:2rem;
}
.gft-price-card{
  position:relative;
  padding:1.35rem;
}
.gft-price-card--featured{
  border-color: rgba(15,111,255,.25);
  box-shadow: 0 18px 60px rgba(15,111,255,.13);
  transform: translateY(-6px);
}
.gft-price-badge{
  position:absolute;
  top:1rem;
  right:1rem;
  background: rgba(15,111,255,.1);
  color: var(--gft-primary);
  font-weight:700;
  font-size:.82rem;
  padding:.35rem .75rem;
  border-radius:999px;
}
.gft-price{
  font-size: clamp(2rem,4vw,2.8rem);
  font-weight:800;
  color: var(--gft-secondary);
  line-height:1;
  margin-bottom:.55rem;
}
.icon-list{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
}
.icon-list li{
  position:relative;
  padding-left:1.4rem;
  margin:.5rem 0;
}
.icon-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.56rem;
  width:.52rem;
  height:.52rem;
  border-radius:999px;
  background: linear-gradient(135deg, var(--gft-primary), var(--gft-accent));
  box-shadow:0 0 0 4px rgba(15,111,255,.08);
}

.gft-compare-shell{
  max-width: 1100px;
  margin: 2rem auto 0;
  padding:1.1rem;
}
.gft-compare-frame{
  position:relative;
  overflow:hidden;
  border-radius: calc(var(--gft-radius) - 4px);
}
.gft-compare-frame img{
  display:block;
  width:100%;
  height:auto;
}
.gft-compare-before-wrap{
  position:absolute;
  inset:0 auto 0 0;
  overflow:hidden;
}
.gft-compare-handle{
  position:absolute;
  top:0;
  bottom:0;
  width:3px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(15,23,42,.12);
}
.gft-compare-handle::before{
  content:"↔";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--gft-secondary);
  box-shadow: var(--gft-shadow-soft);
}
.gft-compare-range{
  width:100%;
  margin-top:1rem;
}
.gft-compare-label{
  position:absolute;
  top:1rem;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  font-size:.8rem;
  font-weight:700;
}
.gft-compare-label--before{left:1rem}
.gft-compare-label--after{right:1rem}

.gft-review-card{
  min-width:100%;
  padding:1.4rem;
}
.gft-stars{
  font-size:1.1rem;
  letter-spacing:.12em;
  color:#f59e0b;
  margin-bottom:.6rem;
}

.gft-cta-band{
  background: var(--wp--preset--gradient--cta);
  color:#fff;
}
.gft-cta-band .wp-block-heading,
.gft-cta-band p,
.gft-cta-band a{
  color:#fff;
}
.gft-cta-band__inner{
  padding: clamp(1rem, 2vw, 1.4rem);
  border-radius: calc(var(--gft-radius) + 8px);
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.gft-form-shell{
  padding:1.25rem;
}
.gft-form-shell--large{
  padding: clamp(1.3rem, 3vw, 2rem);
}
.gft-form-shell p:last-child{margin-bottom:0}

.gft-footer{
  background: var(--wp--preset--gradient--footer);
  color:#d9e8ff;
  padding: 2rem 0 0;
}
.gft-footer .wp-block-heading,
.gft-footer a,
.gft-footer .wp-block-site-title a{
  color:#fff;
}
.gft-footer p,
.gft-footer li{color:#d9e8ff}
.gft-footer__cta{
  margin-bottom:1rem;
  padding: 0 0 1rem;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.gft-footer__grid{padding:1.5rem 0}
.gft-footer__bottom{
  padding: 1rem 0 1.5rem;
  border-top:1px solid rgba(255,255,255,.12);
}
.footer-link-list{
  list-style:none;
  padding:0;
  margin:0;
}
.footer-link-list li{margin:.45rem 0}
.gft-footer .wp-block-button.is-style-outline .wp-block-button__link{
  border-color: rgba(255,255,255,.4);
  color:#fff;
}

.gft-page-title{
  padding-top: 2rem;
  margin-bottom:1.2rem;
}
.gft-archive-card,
.gft-search-card{
  background:#fff;
  padding:1rem;
  border-radius:18px;
  border:1px solid rgba(215,226,240,.9);
  box-shadow: var(--gft-shadow-soft);
}
.gft-search-card{margin-bottom:1rem}
.gft-404{
  text-align:center;
  padding:4rem 0;
}

.reveal{
  opacity:0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}

.wp-block-button.is-style-outline .wp-block-button__link{
  background: transparent;
  color: var(--gft-secondary);
  border: 1px solid rgba(15,31,64,.15);
}
.wp-block-button .wp-block-button__link{
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  box-shadow: 0 10px 24px rgba(15,111,255,.18);
}
.wp-block-button .wp-block-button__link:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15,111,255,.24);
}

@media (min-width: 1200px){
  .gft-logo-card{min-width: calc((100% - (var(--gft-gap) * 4)) / 5);}
  .gft-feature-card,
  .gft-price-card,
  .gft-slide.gft-post-card,
  .gft-slide.gft-product-card,
  .gft-slide.gft-gallery-card,
  .gft-slide.gft-video-card{min-width: calc((100% - (var(--gft-gap) * 2)) / 3);}
  .gft-slider[data-columns-desktop="4"] .gft-slide{min-width: calc((100% - (var(--gft-gap) * 3)) / 4);}
  .gft-slider[data-columns-desktop="5"] .gft-slide{min-width: calc((100% - (var(--gft-gap) * 4)) / 5);}
  .gft-slider[data-columns-desktop="2"] .gft-slide{min-width: calc((100% - var(--gft-gap)) / 2);}
}
@media (max-width: 1199px) and (min-width: 782px){
  .gft-feature-grid{grid-template-columns: repeat(2,minmax(0,1fr));}
  .gft-pricing-grid{grid-template-columns: repeat(3,minmax(0,1fr));}
  .gft-slider[data-columns-tablet="3"] .gft-slide{min-width: calc((100% - (var(--gft-gap) * 2)) / 3);}
  .gft-slider[data-columns-tablet="2"] .gft-slide{min-width: calc((100% - var(--gft-gap)) / 2);}
}
@media (max-width: 999px){
  .gft-site-header__inner{
    min-height: 74px;
    flex-wrap:wrap !important;
  }
  .gft-brand-lockup{display:none}
  .gft-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gft-pricing-grid{grid-template-columns:1fr}
}
@media (max-width: 781px){
  .gft-topbar{display:none}
  .gft-feature-grid,
  .gft-pricing-grid,
  .gft-stat-grid{
    grid-template-columns:1fr;
  }
  .gft-float-card{
    position:static;
    margin-top:.75rem;
    max-width:none;
  }
  .gft-slider-nav--hero{
    position:static;
    justify-content:flex-end;
    margin-bottom:.85rem;
  }
  .gft-slider[data-columns-mobile="2"] .gft-slide{min-width: calc((100% - var(--gft-gap)) / 2);}
  .gft-slider[data-columns-mobile="1"] .gft-slide{min-width: 100%;}
  .gft-header-actions{display:none}
  .gft-cta-band__inner .wp-block-buttons{justify-content:flex-start !important}
}
