/*
Theme Name: Gesit
Theme URI: https://gesit.example.com
Author: Gesit Studio
Author URI: https://gesit.example.com
Description: Tema company profile yang energetik dan modern untuk bootcamp coding, kelas digital, dan kursus anak muda. Desain techy dengan hero gelap, gradasi biru-elektrik, ungu, dan teal. Dilengkapi Program, Mentor, Testimoni, FAQ, dan formulir pendaftaran. Layout terkunci, konten mudah diganti. Tanpa plugin berbayar.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gesit
Tags: education, business, portfolio, two-columns, custom-logo, custom-menu, featured-images, threaded-comments
*/

/* =========================================================
   1. TOKENS
   ========================================================= */
:root{
  --bg:#ffffff;
  --bg-2:#f5f6fc;
  --bg-3:#eef0fb;
  --ink:#0e1230;
  --ink-soft:#383d63;
  --muted:#6b7099;
  --muted-2:#9499c0;
  --line:#e6e8f5;
  --line-soft:#f0f1fa;

  --blue:#4361ee;
  --blue-deep:#2f45c5;
  --blue-tint:#e9edff;
  --violet:#7c3aed;
  --violet-deep:#6d28d9;
  --violet-tint:#f0e8ff;
  --teal:#06b6d4;
  --teal-deep:#0891b2;
  --teal-tint:#dffafe;

  --dark:#0b0f26;
  --dark-2:#121736;
  --dark-card:#1a1f44;

  --wa:#25d366;
  --wa-deep:#1da851;

  --grad:linear-gradient(120deg,#4361ee 0%,#7c3aed 55%,#06b6d4 110%);
  --grad-bv:linear-gradient(120deg,#4361ee,#7c3aed);
  --grad-bt:linear-gradient(120deg,#4361ee,#06b6d4);
  --grad-vt:linear-gradient(120deg,#7c3aed,#06b6d4);

  --maxw:1220px;
  --gutter:clamp(20px,5vw,56px);
  --r-sm:10px;
  --r:16px;
  --r-lg:24px;
  --r-xl:32px;
  --r-pill:999px;
  --shadow-xs:0 2px 8px rgba(14,18,48,.06);
  --shadow-sm:0 10px 30px rgba(14,18,48,.08);
  --shadow-md:0 22px 50px rgba(14,18,48,.14);
  --glow-blue:0 16px 40px rgba(67,97,238,.40);
  --glow-violet:0 16px 40px rgba(124,58,237,.36);

  --font-display:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-mono:"Space Grotesk",ui-monospace,SFMono-Regular,Menlo,monospace;

  --t-hero:clamp(2.5rem,5.6vw,4.4rem);
  --t-h2:clamp(1.9rem,3.6vw,2.9rem);
  --t-h3:clamp(1.2rem,1.8vw,1.5rem);
  --t-lead:clamp(1.06rem,1.4vw,1.22rem);

  --ease:cubic-bezier(.22,.7,.3,1);
}

/* =========================================================
   2. BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;color:var(--ink-soft);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.12;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5em;}
p{margin:0 0 1.1em;}
a{color:var(--blue);text-decoration:none;transition:color .2s var(--ease);}
a:hover{color:var(--violet);}
img{max-width:100%;height:auto;display:block;}
ul,ol{margin:0 0 1.1em;padding-left:1.2em;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--violet);color:#fff;}

/* =========================================================
   3. LAYOUT
   ========================================================= */
.gs-container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
.gs-narrow{max-width:780px;margin-inline:auto;}
.gs-section{padding-block:clamp(56px,7vw,108px);position:relative;}
.gs-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-weight:600;font-size:.84rem;letter-spacing:.04em;text-transform:lowercase;color:var(--blue);margin-bottom:1.1rem;}
.gs-eyebrow::before{content:"//";color:var(--violet);font-weight:700;}
.gs-eyebrow.is-violet{color:var(--violet);}
.gs-eyebrow.is-teal{color:var(--teal-deep);}
.gs-eyebrow.is-light{color:#a9b2ff;}
.gs-eyebrow.is-light::before{color:#7c3aed;}
.gs-section__head{max-width:680px;margin-bottom:clamp(36px,5vw,58px);}
.gs-section__head.is-center{margin-inline:auto;text-align:center;}
.gs-section__head.is-center .gs-eyebrow{justify-content:center;}
.gs-section__title{font-size:var(--t-h2);}
.gs-section__intro{font-size:var(--t-lead);color:var(--muted);margin-top:.9rem;}

.bg-2{background:var(--bg-2);}
.bg-dark{background:var(--dark);color:rgba(255,255,255,.78);}
.bg-dark .gs-section__title,.bg-dark h2,.bg-dark h3{color:#fff;}
.bg-dark .gs-section__intro{color:rgba(255,255,255,.7);}

.gs-grad-text{background:var(--grad-bv);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

/* =========================================================
   4. BUTTONS
   ========================================================= */
.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:600;font-size:1rem;padding:.85rem 1.7rem;border-radius:var(--r-pill);border:2px solid transparent;transition:.25s var(--ease);line-height:1;white-space:nowrap;}
.gs-btn svg{width:1.1em;height:1.1em;}
.gs-btn--grad{background:var(--grad-bv);color:#fff;box-shadow:var(--glow-blue);}
.gs-btn--grad:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--glow-violet);}
.gs-btn--solid{background:var(--blue);color:#fff;}
.gs-btn--solid:hover{background:var(--blue-deep);color:#fff;transform:translateY(-2px);}
.gs-btn--ghost{background:var(--bg);color:var(--ink);border-color:var(--line);}
.gs-btn--ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);}
.gs-btn--light{background:#fff;color:var(--blue-deep);}
.gs-btn--light:hover{background:var(--bg-2);color:var(--violet-deep);transform:translateY(-2px);}
.gs-btn--outline-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28);}
.gs-btn--outline-light:hover{background:#fff;color:var(--blue-deep);border-color:#fff;}
.gs-btn--wa{background:var(--wa);color:#03301a;}
.gs-btn--wa:hover{background:var(--wa-deep);color:#fff;transform:translateY(-2px);}
.gs-btn--lg{padding:1.05rem 2.1rem;font-size:1.08rem;}
.gs-btn--block{width:100%;}

.gs-arrowlink{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--blue);}
.gs-arrowlink svg{width:1.05em;height:1.05em;transition:transform .25s var(--ease);}
.gs-arrowlink:hover svg{transform:translateX(4px);}

/* =========================================================
   5. HEADER
   ========================================================= */
.gs-header{position:fixed;inset:0 0 auto 0;z-index:1000;padding-block:1rem;transition:.3s var(--ease);}
.gs-header.is-scrolled{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);box-shadow:0 4px 24px rgba(14,18,48,.08);padding-block:.55rem;}
.gs-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.gs-logo{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:700;font-size:1.45rem;letter-spacing:-.03em;color:#fff;transition:color .2s var(--ease);}
.gs-logo img{max-height:44px;width:auto;}
.gs-logo__mark{width:42px;height:42px;border-radius:13px;background:var(--grad-bv);color:#fff;display:grid;place-items:center;flex:none;box-shadow:var(--glow-blue);}
.gs-logo__mark svg{width:23px;height:23px;}
.gs-header.is-scrolled .gs-logo{color:var(--ink);}
.gs-nav ul{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0;}
.gs-nav a{font-family:var(--font-display);font-weight:500;font-size:.97rem;color:rgba(255,255,255,.85);padding:.5rem .9rem;border-radius:var(--r-pill);transition:.2s var(--ease);}
.gs-nav a:hover,.gs-nav .current-menu-item>a{color:var(--blue);background:var(--blue-tint);}
.gs-header.is-scrolled .gs-nav a{color:var(--ink);}
.gs-header__cta{display:flex;align-items:center;gap:.7rem;}
.gs-burger{display:none;flex-direction:column;gap:5px;width:46px;height:46px;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--line);border-radius:12px;}
.gs-burger span{width:22px;height:2.5px;background:var(--ink);border-radius:2px;transition:.3s var(--ease);}
.gs-burger.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.gs-burger.is-open span:nth-child(2){opacity:0;}
.gs-burger.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* =========================================================
   6. HERO (dark + glow)
   ========================================================= */
.gs-hero{position:relative;background:var(--dark);color:#fff;padding-top:clamp(130px,16vw,180px);padding-bottom:clamp(60px,8vw,110px);overflow:hidden;}
.gs-hero::before{content:"";position:absolute;top:-20%;left:-10%;width:55vw;max-width:700px;height:55vw;max-height:700px;background:radial-gradient(circle,rgba(67,97,238,.55),transparent 62%);z-index:0;}
.gs-hero::after{content:"";position:absolute;bottom:-30%;right:-12%;width:55vw;max-width:700px;height:55vw;max-height:700px;background:radial-gradient(circle,rgba(124,58,237,.5),transparent 62%);z-index:0;}
.gs-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.gs-hero__badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:.45rem 1rem .45rem .5rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:.86rem;font-weight:500;color:#cdd3ff;margin-bottom:1.5rem;}
.gs-hero__badge .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(6,182,212,.25);}
.gs-hero h1{font-size:var(--t-hero);margin-bottom:1.1rem;color:#fff;font-weight:700;letter-spacing:-.03em;}
.gs-hero h1 .hl{background:linear-gradient(120deg,#6f8bff,#a978ff,#22d3ee);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.gs-hero__sub{font-size:var(--t-lead);color:rgba(255,255,255,.74);max-width:540px;margin-bottom:2rem;}
.gs-hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.3rem;}
.gs-hero__trust{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.66);font-size:.95rem;}
.gs-hero__avatars{display:flex;}
.gs-hero__avatars span{width:42px;height:42px;border-radius:50%;border:2px solid var(--dark);margin-left:-12px;background:var(--dark-card);background-size:cover;background-position:center;}
.gs-hero__avatars span:first-child{margin-left:0;}
.gs-hero__stars{color:#fff;font-weight:700;font-family:var(--font-display);}

.gs-hero__media{position:relative;}
.gs-hero__window{background:var(--dark-card);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);box-shadow:0 30px 70px rgba(0,0,0,.5);overflow:hidden;}
.gs-hero__bar{display:flex;align-items:center;gap:.45rem;padding:.85rem 1.1rem;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08);}
.gs-hero__bar i{width:12px;height:12px;border-radius:50%;display:block;}
.gs-hero__bar i:nth-child(1){background:#ff5f57;}
.gs-hero__bar i:nth-child(2){background:#febc2e;}
.gs-hero__bar i:nth-child(3){background:#28c840;}
.gs-hero__bar span{margin-left:.6rem;font-family:var(--font-mono);font-size:.8rem;color:rgba(255,255,255,.5);}
.gs-hero__code{padding:1.3rem 1.5rem;font-family:var(--font-mono);font-size:.92rem;line-height:1.85;color:#cdd3ff;}
.gs-hero__code .ln{display:block;white-space:pre;}
.gs-hero__code .k{color:#a978ff;}
.gs-hero__code .s{color:#22d3ee;}
.gs-hero__code .f{color:#6f8bff;}
.gs-hero__code .c{color:#5a6099;}
.gs-hero__shot{width:100%;border-radius:var(--r-lg);box-shadow:0 30px 70px rgba(0,0,0,.5);}
.gs-hero__float{position:absolute;background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow-md);padding:.8rem 1.05rem;display:flex;align-items:center;gap:.65rem;z-index:3;}
.gs-hero__float .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none;}
.gs-hero__float b{font-family:var(--font-display);font-size:1.2rem;display:block;line-height:1;}
.gs-hero__float span{font-size:.78rem;color:var(--muted);}
.gs-hero__float--1{left:-6%;top:18%;}
.gs-hero__float--1 .ic{background:var(--grad-bt);}
.gs-hero__float--2{right:-4%;bottom:12%;}
.gs-hero__float--2 .ic{background:var(--grad-vt);}

/* =========================================================
   7. STATS
   ========================================================= */
.gs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.gs-stat{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem 1.5rem;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease);}
.gs-stat:hover{transform:translateY(-5px);}
.gs-stat__ic{width:48px;height:48px;border-radius:13px;margin-bottom:1rem;display:grid;place-items:center;background:var(--blue-tint);color:var(--blue);}
.gs-stat:nth-child(2) .gs-stat__ic{background:var(--violet-tint);color:var(--violet);}
.gs-stat:nth-child(3) .gs-stat__ic{background:var(--teal-tint);color:var(--teal-deep);}
.gs-stat:nth-child(4) .gs-stat__ic{background:var(--blue-tint);color:var(--blue);}
.gs-stat__ic svg{width:25px;height:25px;}
.gs-stat__n{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;background:var(--grad-bv);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.gs-stat__l{font-size:.92rem;color:var(--muted);margin-top:.45rem;font-weight:500;}
@media(max-width:760px){.gs-stats{grid-template-columns:1fr 1fr;}}

/* =========================================================
   8. ABOUT
   ========================================================= */
.gs-about__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.gs-about__media{position:relative;}
.gs-about__media img{width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow-md);aspect-ratio:4/3.4;object-fit:cover;background:var(--bg-3);}
.gs-about__media::before{content:"";position:absolute;inset:auto -14px -14px auto;width:62%;height:62%;background:var(--grad);border-radius:var(--r-lg);z-index:-1;opacity:.85;}
.gs-about__media .badge{position:absolute;left:-16px;bottom:24px;background:#fff;border-radius:var(--r);padding:1rem 1.3rem;box-shadow:var(--shadow-md);}
.gs-about__media .badge b{display:block;font-family:var(--font-display);font-size:1.8rem;line-height:1;background:var(--grad-bv);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.gs-about__media .badge span{font-size:.78rem;color:var(--muted);}
.gs-points{display:grid;gap:1rem;margin:1.6rem 0;}
.gs-point{display:flex;gap:.85rem;align-items:flex-start;}
.gs-point .tick{flex:none;width:30px;height:30px;border-radius:9px;background:var(--grad-bv);color:#fff;display:grid;place-items:center;}
.gs-point .tick svg{width:16px;height:16px;}
.gs-point b{font-family:var(--font-display);color:var(--ink);}
.gs-point p{margin:.1rem 0 0;color:var(--muted);font-size:.95rem;}

/* =========================================================
   9. PROGRAM CARDS
   ========================================================= */
.gs-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.gs-program{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);}
.gs-program:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--blue-tint);}
.gs-program__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-3);}
.gs-program__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.gs-program:hover .gs-program__media img{transform:scale(1.06);}
.gs-program__cat{position:absolute;top:12px;left:12px;background:rgba(11,15,38,.78);color:#fff;backdrop-filter:blur(6px);font-family:var(--font-mono);font-weight:500;font-size:.74rem;padding:.32rem .75rem;border-radius:var(--r-pill);}
.gs-program__body{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
.gs-program__body h3{font-size:1.25rem;margin-bottom:.5rem;}
.gs-program__body p{color:var(--muted);font-size:.95rem;flex:1;margin:0 0 1.1rem;}
.gs-program__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;color:var(--muted);font-size:.85rem;margin-bottom:1.1rem;}
.gs-program__meta span{display:inline-flex;align-items:center;gap:.35rem;}
.gs-program__meta svg{width:15px;height:15px;color:var(--violet);}
.gs-program__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;border-top:1px solid var(--line);}
.gs-program__price{font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:1.15rem;}
.gs-program__price small{display:block;font-size:.72rem;color:var(--muted-2);font-weight:500;}
.gs-center{text-align:center;margin-top:clamp(36px,5vw,54px);}

/* =========================================================
   10. FEATURES
   ========================================================= */
.gs-grid-feat{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.gs-feature{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.9rem 1.6rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease);overflow:hidden;}
.gs-feature::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.gs-feature:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.gs-feature:hover::before{transform:scaleX(1);}
.gs-feature__icon{width:58px;height:58px;border-radius:16px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:1.2rem;transition:.3s var(--ease);}
.gs-feature:hover .gs-feature__icon{background:var(--grad-bv);color:#fff;}
.gs-feature:nth-child(2) .gs-feature__icon{background:var(--violet-tint);color:var(--violet);}
.gs-feature:nth-child(2):hover .gs-feature__icon{background:var(--grad-vt);color:#fff;}
.gs-feature:nth-child(3) .gs-feature__icon{background:var(--teal-tint);color:var(--teal-deep);}
.gs-feature:nth-child(3):hover .gs-feature__icon{background:var(--grad-bt);color:#fff;}
.gs-feature__icon svg{width:29px;height:29px;}
.gs-feature h3{font-size:1.14rem;margin-bottom:.4rem;}
.gs-feature p{color:var(--muted);font-size:.93rem;margin:0;}
@media(max-width:900px){.gs-grid-feat{grid-template-columns:1fr 1fr;}}

/* =========================================================
   11. MENTOR
   ========================================================= */
.gs-grid-mentor{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.gs-mentor{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.gs-mentor:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.gs-mentor__media{aspect-ratio:1/1;overflow:hidden;background:var(--bg-3);position:relative;}
.gs-mentor__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.gs-mentor:hover .gs-mentor__media img{transform:scale(1.05);}
.gs-mentor__body{padding:1.3rem;}
.gs-mentor h3{font-size:1.16rem;margin-bottom:.1rem;}
.gs-mentor__role{color:var(--violet);font-weight:600;font-size:.88rem;font-family:var(--font-display);}
.gs-mentor__spec{color:var(--muted);font-size:.85rem;margin-top:.5rem;padding-top:.7rem;border-top:1px solid var(--line-soft);}
.gs-mentor__socials{display:flex;gap:.6rem;margin-top:.8rem;}
.gs-mentor__socials a{width:34px;height:34px;border-radius:10px;background:var(--bg-2);color:var(--muted);display:grid;place-items:center;transition:.2s var(--ease);}
.gs-mentor__socials a:hover{background:var(--grad-bv);color:#fff;}
.gs-mentor__socials svg{width:15px;height:15px;}
@media(max-width:900px){.gs-grid-mentor{grid-template-columns:1fr 1fr;}}

/* =========================================================
   12. TESTIMONIALS
   ========================================================= */
.gs-testi__track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;margin:0 calc(-1*var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;}
.gs-testi__track::-webkit-scrollbar{display:none;}
.gs-testi-card{scroll-snap-align:start;flex:0 0 clamp(300px,40%,440px);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;position:relative;}
.gs-testi-card__quote{position:absolute;top:1rem;right:1.6rem;font-family:var(--font-display);font-size:4rem;line-height:1;color:var(--blue-tint);}
.gs-testi-card__stars{color:#f5a524;margin-bottom:1rem;display:flex;gap:.15rem;}
.gs-testi-card__stars svg{width:18px;height:18px;}
.gs-testi-card__text{color:var(--ink-soft);font-size:1.03rem;flex:1;margin-bottom:1.4rem;}
.gs-testi-card__who{display:flex;align-items:center;gap:.85rem;}
.gs-testi-card__who img{width:50px;height:50px;border-radius:50%;object-fit:cover;background:var(--bg-3);}
.gs-testi-card__name{font-family:var(--font-display);font-weight:600;color:var(--ink);}
.gs-testi-card__prog{font-size:.84rem;color:var(--violet);font-weight:500;}
.gs-testi__nav{display:flex;gap:.6rem;justify-content:center;margin-top:1.5rem;}
.gs-testi__nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);display:grid;place-items:center;transition:.2s var(--ease);}
.gs-testi__nav button:hover{background:var(--grad-bv);color:#fff;border-color:transparent;}
.gs-testi__nav svg{width:20px;height:20px;}

/* =========================================================
   13. FAQ
   ========================================================= */
.gs-faq{max-width:840px;margin:0 auto;display:grid;gap:.85rem;}
.gs-faq__item{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .3s var(--ease),border-color .3s var(--ease);}
.gs-faq__item.is-open{box-shadow:var(--shadow-sm);border-color:var(--blue-tint);}
.gs-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:none;border:none;padding:1.25rem 1.5rem;font-family:var(--font-display);font-weight:600;font-size:1.06rem;color:var(--ink);}
.gs-faq__q .ic{flex:none;width:32px;height:32px;border-radius:9px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:.3s var(--ease);}
.gs-faq__item.is-open .ic{background:var(--grad-bv);color:#fff;transform:rotate(45deg);}
.gs-faq__q .ic svg{width:16px;height:16px;}
.gs-faq__a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.gs-faq__a-inner{padding:0 1.5rem 1.25rem;color:var(--muted);}

/* =========================================================
   14. PENDAFTARAN
   ========================================================= */
.gs-enroll__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.gs-enroll__info h2{color:#fff;}
.gs-enroll__list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem;}
.gs-enroll__list li{display:flex;gap:.8rem;align-items:flex-start;color:rgba(255,255,255,.86);}
.gs-enroll__list .ic{flex:none;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;}
.gs-enroll__list svg{width:16px;height:16px;}
.gs-form{background:#fff;border-radius:var(--r-lg);padding:clamp(1.6rem,3vw,2.4rem);box-shadow:var(--shadow-md);}
.gs-form h3{font-size:1.4rem;margin-bottom:.3rem;color:var(--ink);}
.gs-form__sub{color:var(--muted);font-size:.93rem;margin-bottom:1.5rem;}
.gs-field{margin-bottom:1.05rem;}
.gs-field label{display:block;font-family:var(--font-display);font-weight:500;font-size:.9rem;color:var(--ink);margin-bottom:.4rem;}
.gs-field input,.gs-field select,.gs-field textarea{width:100%;padding:.82rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--bg-2);font-family:inherit;font-size:1rem;color:var(--ink);transition:.2s var(--ease);}
.gs-field input:focus,.gs-field select:focus,.gs-field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px var(--blue-tint);}
.gs-field textarea{resize:vertical;min-height:92px;}
.gs-form__note{font-size:.82rem;color:var(--muted-2);margin-top:.9rem;text-align:center;}
@media(max-width:860px){.gs-enroll__grid{grid-template-columns:1fr;}}

/* =========================================================
   15. CTA
   ========================================================= */
.gs-cta__box{position:relative;background:var(--grad);border-radius:var(--r-xl);padding:clamp(2.4rem,5vw,4rem);text-align:center;color:#fff;overflow:hidden;box-shadow:var(--glow-violet);}
.gs-cta__box::before{content:"";position:absolute;top:-50%;left:-6%;width:300px;height:300px;background:rgba(255,255,255,.12);border-radius:50%;}
.gs-cta__box::after{content:"";position:absolute;bottom:-60%;right:-2%;width:360px;height:360px;background:rgba(255,255,255,.1);border-radius:50%;}
.gs-cta__inner{position:relative;max-width:660px;margin:0 auto;}
.gs-cta h2{color:#fff;font-size:var(--t-h2);margin-bottom:.8rem;}
.gs-cta p{color:rgba(255,255,255,.92);font-size:var(--t-lead);margin-bottom:2rem;}
.gs-cta__actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;}

/* =========================================================
   16. FOOTER
   ========================================================= */
.gs-footer{background:var(--dark);color:rgba(255,255,255,.66);padding-top:clamp(56px,7vw,84px);}
.gs-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:clamp(2rem,4vw,3.5rem);padding-bottom:3rem;}
.gs-footer .gs-logo{color:#fff;margin-bottom:1.1rem;}
.gs-footer__about{font-size:.95rem;max-width:32ch;}
.gs-footer h4{color:#fff;font-family:var(--font-display);font-size:1.05rem;margin-bottom:1.2rem;}
.gs-footer ul{list-style:none;margin:0;padding:0;}
.gs-footer__links li{margin-bottom:.6rem;}
.gs-footer__links a{color:rgba(255,255,255,.66);}
.gs-footer__links a:hover{color:#fff;}
.gs-footer__contact li{display:flex;gap:.7rem;margin-bottom:.9rem;font-size:.94rem;align-items:flex-start;}
.gs-footer__contact svg{width:18px;height:18px;color:var(--teal);flex:none;margin-top:3px;}
.gs-footer__socials{display:flex;gap:.55rem;margin-top:1.3rem;}
.gs-footer__socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;transition:.25s var(--ease);}
.gs-footer__socials a:hover{background:var(--grad-bv);transform:translateY(-3px);}
.gs-footer__socials svg{width:18px;height:18px;}
.gs-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:1.6rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.86rem;color:rgba(255,255,255,.5);}
@media(max-width:900px){.gs-footer__grid{grid-template-columns:1fr 1fr;}.gs-footer__brand{grid-column:1/-1;}}
@media(max-width:560px){.gs-footer__grid{grid-template-columns:1fr;}}

/* =========================================================
   17. PAGEHEAD
   ========================================================= */
.gs-pagehead{position:relative;background:var(--dark);color:#fff;padding-top:clamp(120px,15vw,180px);padding-bottom:clamp(44px,6vw,72px);overflow:hidden;}
.gs-pagehead::before{content:"";position:absolute;top:-30%;right:-8%;width:40vw;max-width:520px;height:40vw;max-height:520px;background:radial-gradient(circle,rgba(124,58,237,.5),transparent 62%);}
.gs-pagehead__inner{position:relative;z-index:2;}
.gs-pagehead__crumb{font-family:var(--font-mono);font-size:.86rem;color:rgba(255,255,255,.55);margin-bottom:.7rem;}
.gs-pagehead__crumb a{color:#a9b2ff;}
.gs-pagehead h1{color:#fff;font-size:clamp(2rem,4.6vw,3.3rem);}
.gs-pagehead__intro{font-size:var(--t-lead);color:rgba(255,255,255,.72);max-width:56ch;margin-top:.8rem;}

.gs-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(34px,5vw,52px);}
.gs-filter a{font-family:var(--font-display);font-weight:500;font-size:.9rem;color:var(--muted);padding:.55rem 1.1rem;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg);transition:.2s var(--ease);}
.gs-filter a:hover,.gs-filter a.is-active{background:var(--grad-bv);color:#fff;border-color:transparent;}

/* =========================================================
   18. SINGLE PROGRAM
   ========================================================= */
.gs-prog__layout{display:grid;grid-template-columns:1fr 340px;gap:clamp(2rem,5vw,3.5rem);align-items:start;}
.gs-prog__banner{aspect-ratio:16/8;overflow:hidden;border-radius:var(--r-lg);margin-bottom:2rem;background:var(--bg-3);box-shadow:var(--shadow-sm);}
.gs-prog__banner img{width:100%;height:100%;object-fit:cover;}
.gs-prog__body{font-size:1.07rem;line-height:1.8;}
.gs-prog__body h2{font-size:1.6rem;margin-top:1.8rem;}
.gs-prog__benefits{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.8rem;}
.gs-prog__benefits li{display:flex;gap:.7rem;align-items:flex-start;}
.gs-prog__benefits .ic{flex:none;width:26px;height:26px;border-radius:8px;background:var(--grad-bv);color:#fff;display:grid;place-items:center;margin-top:2px;}
.gs-prog__benefits svg{width:14px;height:14px;}
.gs-prog__side{position:sticky;top:92px;display:grid;gap:1.2rem;}
.gs-prog__card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem;box-shadow:var(--shadow-sm);}
.gs-prog__price-big{font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1;background:var(--grad-bv);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.gs-prog__price-big small{display:block;font-size:.8rem;color:var(--muted-2);font-weight:500;margin-top:.3rem;-webkit-text-fill-color:initial;}
.gs-prog__facts{margin:1.3rem 0;display:grid;gap:.9rem;}
.gs-prog__fact{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line);font-size:.93rem;}
.gs-prog__fact:last-child{border-bottom:none;padding-bottom:0;}
.gs-prog__fact dt{color:var(--muted);}
.gs-prog__fact dd{margin:0;font-weight:600;color:var(--ink);text-align:right;font-family:var(--font-display);}
@media(max-width:900px){.gs-prog__layout{grid-template-columns:1fr;}.gs-prog__side{position:static;}}

/* =========================================================
   19. BLOG
   ========================================================= */
.gs-grid-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.gs-post{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.gs-post:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.gs-post__media{aspect-ratio:16/10;overflow:hidden;background:var(--bg-3);}
.gs-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.gs-post:hover .gs-post__media img{transform:scale(1.05);}
.gs-post__body{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
.gs-post__cat{font-family:var(--font-mono);font-weight:500;font-size:.76rem;color:var(--violet);margin-bottom:.55rem;}
.gs-post__body h3{font-size:1.2rem;margin-bottom:.5rem;line-height:1.25;}
.gs-post__exc{color:var(--muted);font-size:.93rem;flex:1;}
.gs-post__date{font-size:.83rem;color:var(--muted-2);margin-top:1rem;}
@media(max-width:900px){.gs-grid-blog{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.gs-grid-blog{grid-template-columns:1fr;}}

.gs-article{max-width:760px;margin:0 auto;}
.gs-article__content{font-size:1.1rem;line-height:1.85;}
.gs-article__content h2{font-size:1.7rem;margin-top:2rem;}
.gs-article__content h3{font-size:1.35rem;margin-top:1.6rem;}
.gs-article__content img{border-radius:var(--r-lg);margin:1.5rem 0;}
.gs-article__content blockquote{border-left:4px solid var(--violet);background:var(--bg-2);padding:1rem 1.4rem;margin:1.6rem 0;border-radius:0 var(--r-sm) var(--r-sm) 0;font-style:italic;color:var(--ink-soft);}
.gs-article__content pre{background:var(--dark-card);color:#cdd3ff;padding:1.2rem 1.4rem;border-radius:var(--r);overflow-x:auto;font-family:var(--font-mono);font-size:.92rem;}
.gs-article__content code{font-family:var(--font-mono);background:var(--bg-3);padding:.15em .4em;border-radius:5px;font-size:.9em;}
.gs-article__content pre code{background:none;padding:0;}
.gs-article__content ul{padding-left:1.3rem;margin:1rem 0;}
.gs-article__content li{margin-bottom:.4rem;}

/* Galeri foto artikel Blog (multi-upload di admin) */
.gs-post-gallery-wrap{position:relative;margin:2rem 0}
.gs-post-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.gs-post-gallery::-webkit-scrollbar{display:none}
.gs-post-gallery__item{flex:0 0 calc(25% - 9px);scroll-snap-align:start;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1}
.gs-post-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.gs-post-gallery__item:hover img{transform:scale(1.06)}
.gs-post-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm);z-index:2;color:var(--ink);transition:.2s}
.gs-post-gallery__nav:hover{background:var(--violet);color:#fff;border-color:var(--violet)}
.gs-post-gallery__prev{left:8px}
.gs-post-gallery__next{right:8px}
@media(max-width:640px){.gs-post-gallery__item{flex:0 0 calc(50% - 6px)}.gs-post-gallery__nav{width:38px;height:38px}}

.gs-wa-block{background:var(--grad);color:#fff;border-radius:var(--r-lg);padding:2rem 2.2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;margin:2.5rem 0;box-shadow:var(--glow-blue);}
.gs-wa-block h3{color:#fff;margin:0 0 .3rem;font-size:1.35rem;}
.gs-wa-block p{margin:0;color:rgba(255,255,255,.85);}

.gs-wa-float{position:fixed;right:20px;bottom:20px;z-index:900;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(37,211,102,.45);transition:transform .2s var(--ease);}
.gs-wa-float:hover{transform:scale(1.08);color:#fff;}
.gs-wa-float svg{width:28px;height:28px;}

.gs-pagination{display:flex;justify-content:center;gap:.5rem;margin-top:clamp(40px,5vw,64px);}
.gs-pagination .page-numbers{min-width:46px;height:46px;display:grid;place-items:center;padding:0 .7rem;border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line);font-family:var(--font-display);font-weight:600;color:var(--ink);}
.gs-pagination .page-numbers.current,.gs-pagination .page-numbers:hover{background:var(--grad-bv);color:#fff;border-color:transparent;}

.gs-alert{padding:1rem 1.2rem;border-radius:var(--r-sm);margin-bottom:1.2rem;font-size:.93rem;font-weight:600;}
.gs-alert--ok{background:var(--teal-tint);color:var(--teal-deep);}
.gs-alert--err{background:#fee2e2;color:#b91c1c;}

/* =========================================================
   20. REVEAL
   ========================================================= */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
.reveal[data-d="4"]{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* =========================================================
   21. RESPONSIVE
   ========================================================= */
@media(max-width:980px){
  .gs-hero__grid,.gs-about__grid{grid-template-columns:1fr;}
  .gs-hero__media{max-width:460px;margin:0 auto;}
  .gs-grid-3,.gs-grid-blog,.gs-grid-mentor{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .gs-nav,.gs-header__cta .gs-btn{display:none;}
  .gs-burger{display:flex;}
  .gs-nav.is-open{display:block;position:absolute;top:100%;left:var(--gutter);right:var(--gutter);background:#fff;border-radius:var(--r);box-shadow:var(--shadow-md);padding:.8rem;margin-top:.5rem;}
  .gs-nav.is-open ul{flex-direction:column;align-items:stretch;gap:0;}
  .gs-nav.is-open a{padding:.85rem 1rem;border-radius:var(--r-sm);color:var(--ink);}
}
@media(max-width:560px){
  .gs-grid-3,.gs-grid-blog,.gs-grid-mentor,.gs-grid-feat{grid-template-columns:1fr;}
  .gs-hero__actions{flex-direction:column;align-items:stretch;}
  .gs-hero__actions .gs-btn{width:100%;}
  .gs-wa-block{flex-direction:column;align-items:flex-start;}
  .gs-hero__float{display:none;}
}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}


/* ==================== COMMENTS (universal styled) ==================== */
.wpc-comments{margin-top:3rem;max-width:820px;}
.wpc-title,.comment-reply-title{font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:1.4rem;color:#0e1230;margin:0 0 1.3rem;letter-spacing:-.01em;}
.wpc-list{list-style:none;margin:0 0 2.6rem;padding:0;}
.wpc-list .children{list-style:none;margin:1.1rem 0 0;padding:0 0 0 clamp(.9rem,4vw,2.4rem);border-left:2px solid #e6e8f5;}
.wpc-item{margin:0 0 1.1rem;}
.wpc-body{display:flex;gap:1rem;background:#ffffff;border:1px solid #e6e8f5;border-radius:24px;padding:1.25rem;}
.wpc-avatar img{width:48px;height:48px;border-radius:50%;display:block;}
.wpc-main{flex:1;min-width:0;}
.wpc-head{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin-bottom:.45rem;}
.wpc-author{font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:1rem;color:#0e1230;}
.wpc-author a{color:#0e1230;text-decoration:none;}
.wpc-date{font-size:.78rem;color:#6b7099;}
.wpc-moder{font-size:.82rem;color:#4361ee;font-style:italic;margin:.1rem 0 .4rem;}
.wpc-text{color:#383d63;line-height:1.7;font-size:.95rem;}
.wpc-text p{margin:0 0 .6rem;} .wpc-text p:last-child{margin-bottom:0;}
.wpc-actions{margin-top:.55rem;display:flex;gap:.4rem;}
.wpc-actions a{font-size:.8rem;font-weight:700;color:#4361ee;text-decoration:none;}
.wpc-actions a:hover{color:#2f45c5;}
.wpc-closed{color:#6b7099;font-size:.88rem;margin-top:1rem;}

.comment-respond{background:#f6f6f4;border:1px solid #e6e8f5;border-radius:24px;padding:clamp(1.3rem,3vw,2rem);}
.comment-reply-title small{font-size:.8rem;font-weight:400;margin-left:.6rem;}
.comment-reply-title small a{color:#6b7099;}
.comment-respond .logged-in-as,.comment-notes{font-size:.85rem;color:#6b7099;margin:0 0 1rem;}
.comment-respond .logged-in-as a{color:#4361ee;}
.comment-form{display:grid;gap:1rem;}
@media(min-width:620px){.comment-form{grid-template-columns:1fr 1fr;}.comment-form-comment,.comment-notes,.comment-form-cookies-consent,.form-submit{grid-column:1/-1;}}
.comment-form-author,.comment-form-email,.comment-form-url{margin:0;}
.comment-form label{display:block;font-size:.8rem;font-weight:700;color:#0e1230;margin-bottom:.35rem;}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;box-sizing:border-box;border:1px solid #e6e8f5;border-radius:16px;background:#ffffff;padding:.7rem .85rem;font:inherit;color:#0e1230;transition:border-color .15s,box-shadow .15s;}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:#4361ee;box-shadow:0 0 0 3px rgba(0,0,0,.08);}
.comment-form textarea{min-height:120px;resize:vertical;}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:.55rem;}
.comment-form-cookies-consent input{margin-top:.25rem;}
.comment-form-cookies-consent label{margin:0;font-weight:400;font-size:.82rem;color:#6b7099;}
.form-submit{margin:0;}
.wpc-submit,.form-submit input[type=submit],.form-submit .submit{display:inline-flex;align-items:center;justify-content:center;background:#4361ee;color:#ffffff;border:1px solid #4361ee;border-radius:16px;padding:.8rem 1.7rem;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .2s,border-color .2s;}
.wpc-submit:hover,.form-submit input[type=submit]:hover,.form-submit .submit:hover{background:#2f45c5;border-color:#2f45c5;}
.wpc-comments .comment-navigation,.wpc-comments .comments-pagination{margin:0 0 2rem;display:flex;gap:.5rem;flex-wrap:wrap;}
.wpc-comments .comments-pagination a,.wpc-comments .comments-pagination .current{padding:.4rem .8rem;border:1px solid #e6e8f5;border-radius:16px;color:#0e1230;text-decoration:none;font-size:.85rem;}
.wpc-comments .comments-pagination .current{background:#4361ee;color:#ffffff;border-color:#4361ee;}
