:root{
  --navy-950:#0a1b2b;
  --navy-900:#0e2a44;
  --navy-700:#123a5f;
  --navy-500:#1d5f94;
  --navy-400:#2d79b3;
  --accent:#f59e0b;
  --accent-600:#d97706;
  --accent-100:#fef3c7;
  --bg:#f5f7fa;
  --surface:#ffffff;
  --ink:#23303c;
  --muted:#5d6b78;
  --soft:#eef2f6;
  --line:#e2e8ef;
  --warn-bg:#fff7e6;
  --warn-line:#fcd34d;
  --ok:#15803d;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(14,42,68,.06),0 1px 3px rgba(14,42,68,.1);
  --shadow-md:0 6px 18px rgba(14,42,68,.10);
  --shadow-lg:0 18px 44px rgba(14,42,68,.18);
  --font-head:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --maxw:1180px;
  --transition:.25s ease;
}
[data-theme="dark"]{
  --bg:#0b1520;
  --surface:#10212f;
  --ink:#e7eef4;
  --muted:#9db0bf;
  --soft:#16293a;
  --line:#22374a;
  --warn-bg:#2a2312;
  --warn-line:#b07d10;
  --shadow-md:0 6px 18px rgba(0,0,0,.4);
  --shadow-lg:0 18px 44px rgba(0,0,0,.5);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.7;
  font-size:16px;
  transition:background var(--transition),color var(--transition);
}
img,svg{max-width:100%;vertical-align:middle}
a{color:var(--navy-500);text-decoration:none}
a:hover{color:var(--navy-700)}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.25;font-weight:700;color:inherit}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}
h3{font-size:1.18rem}
p{max-width:72ch}
button{font:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
.container--wide{max-width:1480px}
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section--tint{background:var(--soft)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-600);margin-bottom:14px;
}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--accent)}
.lead{font-size:1.06rem;color:var(--muted);margin-top:12px}
.section-head{max-width:720px;margin-bottom:clamp(1.6rem,4vw,2.6rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head.center .eyebrow::after,.section-head.center .eyebrow::before{content:"—";width:auto;background:none;color:var(--accent)}

.header-fix{height:var(--hdr);}
:root{--hdr:72px}
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:60;height:var(--hdr);
  background:color-mix(in srgb,var(--surface) 86%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header__inner{height:100%;display:flex;align-items:center;gap:20px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand__mark{
  width:38px;height:38px;border-radius:50%;flex:none;overflow:hidden;
  background:var(--soft);border:2px solid var(--accent);display:grid;place-items:center;
}
.brand__mark img{width:100%;height:100%;object-fit:cover;display:block}
.brand__text{font-family:var(--font-head);font-weight:800;letter-spacing:.02em;font-size:1.02rem;display:flex;flex-direction:column;line-height:1.15}
.brand__text b{font-size:1.02rem;font-weight:800}
.brand__text small{font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-600)}
.nav{margin-left:auto}
.nav__list{display:flex;list-style:none;gap:2px;align-items:center}
.nav a{
  display:block;padding:8px 10px;border-radius:8px;color:var(--muted);
  font-size:.88rem;font-weight:600;white-space:nowrap;line-height:1.3;
}
.nav a:hover{color:var(--ink);background:var(--soft)}
.nav a[aria-current="page"]{color:var(--navy-700);background:var(--accent-100)}
.header__tools{display:flex;align-items:center;gap:8px}
.icon-btn{
  width:40px;height:40px;border-radius:10px;border:1px solid var(--line);
  background:var(--surface);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;transition:var(--transition);
}
.icon-btn:hover{border-color:var(--accent);color:var(--accent-600);transform:translateY(-1px)}
.nav-toggle{display:none}
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:70;
  background:linear-gradient(90deg,var(--accent),var(--accent-600));
  transition:width .1s linear;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:999px;border:1px solid transparent;
  font-weight:700;font-size:.95rem;cursor:pointer;line-height:1.2;
  transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition);
}
.btn:hover{transform:translateY(-2px)}
.btn--accent{background:var(--accent);color:var(--navy-950)}
.btn--accent:hover{background:var(--accent-600);color:#fff;box-shadow:0 10px 24px rgba(245,158,11,.35)}
.btn--ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.14)}
.btn--outline{border-color:var(--line);color:var(--ink);background:var(--surface)}
.btn--outline:hover{border-color:var(--accent);color:var(--accent-600)}
.btn--navy{background:var(--navy-700);color:#fff}
.btn--navy:hover{background:var(--navy-900)}
.btn--sm{padding:9px 16px;font-size:.88rem}
.btn--block{width:100%}
.btn svg{flex:none}

.hero{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(900px 420px at 85% -10%,rgba(245,158,11,.22),transparent 60%),
    linear-gradient(135deg,var(--navy-950),var(--navy-700) 60%,var(--navy-500));
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:26px 26px;mask-image:radial-gradient(720px 400px at 80% 20%,#000 20%,transparent 75%);
  -webkit-mask-image:radial-gradient(720px 400px at 80% 20%,#000 20%,transparent 75%);
}
.hero__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:clamp(4rem,9vw,6.5rem) 0}
.hero__badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 13px;border-radius:999px;font-size:.8rem;font-weight:700;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;
}
.chip--accent{background:var(--accent);border-color:var(--accent);color:var(--navy-950)}
.mk-tabs{display:flex;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 28px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:var(--shadow-sm)}
.mk-tab{border:0;background:transparent;font-family:var(--font-head);font-weight:700;font-size:.92rem;color:var(--muted);padding:10px 24px;border-radius:999px;cursor:pointer;transition:var(--transition);white-space:nowrap}
.mk-tab:hover{color:var(--ink)}
.mk-tab.is-active{background:var(--navy-700);color:#fff}
@media(max-width:560px){.mk-tab{padding:9px 16px;font-size:.85rem}}
.hero h1{font-size:clamp(1.8rem,4.2vw,2.7rem);line-height:1.2}
.hero h1 .hl{color:var(--accent)}
.hero__sub{margin-top:18px;font-size:1.05rem;color:rgba(255,255,255,.86);max-width:52ch}
.hero__meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:26px}
.hero__meta b{display:block;font-family:var(--font-head);font-size:1.05rem}
.hero__meta span{font-size:.82rem;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.08em}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__quote{
  margin-top:30px;padding:16px 20px;border-left:4px solid var(--accent);
  background:rgba(255,255,255,.08);border-radius:0 12px 12px 0;font-style:italic;
  color:rgba(255,255,255,.92);font-size:.98rem;
}
.hero__art{position:relative;display:grid;place-items:center}
.hero-art__card{
  width:min(100%,400px);border-radius:24px;padding:30px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(6px);box-shadow:0 30px 70px rgba(6,20,32,.5);
  display:flex;flex-direction:column;gap:18px;
}
.hero-art__row{display:flex;align-items:center;gap:14px}
.hero-art__ic{
  width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(245,158,11,.18);color:var(--accent);
}
.hero-art__row b{font-family:var(--font-head);font-size:.95rem;display:block}
.hero-art__row span{font-size:.8rem;color:rgba(255,255,255,.66)}
.hero-art__track{margin-top:6px}
.hero-art__bar{height:10px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}
.hero-art__bar i{display:block;height:100%;width:64%;border-radius:99px;background:linear-gradient(90deg,var(--accent),#ffd26b)}

.hero-art__caption{margin-top:16px;text-align:center}
.hero-art__caption b{font-family:var(--font-head);font-size:1.15rem;display:block}
.hero-art__caption>span{font-size:.85rem;color:rgba(255,255,255,.66);display:block;margin-top:2px}
.hero-art__social{display:flex;justify-content:center;gap:10px;margin-top:12px}
.hero-art__social a{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.82);transition:transform .2s ease,background .2s ease,color .2s ease;
}
.hero-art__social a i{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.hero-art__social a:hover{background:var(--accent);color:#0b1f3a;transform:translateY(-3px)}
.hero-art__social a img{width:20px;height:20px;display:block}
.hero-art__card--photo .hero-art__photo{
  width:100%;display:block;padding:0;overflow:hidden;border-radius:18px;cursor:pointer;
  border:2px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);
}
.hero-art__card--photo .hero-art__photo img{width:100%;height:auto;display:block;transition:transform .35s ease}
.hero-art__card--photo .hero-art__photo:hover img{transform:scale(1.03)}
.hero-art__card--photo .hero-art__photo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.page-hero{
  position:relative;color:#fff;overflow:hidden;
  background:radial-gradient(700px 320px at 90% -20%,rgba(245,158,11,.2),transparent 60%),linear-gradient(120deg,var(--navy-950),var(--navy-700));
}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.4;background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1px);background-size:24px 24px}
.page-hero__inner{position:relative;padding:clamp(2.6rem,7vw,4.5rem) 0;text-align:center}
.page-hero h1{font-size:clamp(1.9rem,4.6vw,2.8rem)}
.page-hero__lead{margin-top:10px;color:rgba(255,255,255,.82);max-width:64ch;margin-inline:auto}
.page-hero__back{margin-top:20px;justify-content:center}
.page-hero__link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.page-hero__link:hover{color:#ffd26b}

.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
  display:flex;flex-direction:column;gap:14px;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.card__num{
  width:40px;height:40px;border-radius:12px;flex:none;
  display:grid;place-items:center;font-family:var(--font-head);font-weight:800;
  background:var(--accent-100);color:var(--accent-600);font-size:.95rem;
}
.card h3{font-size:1.08rem}
.card p{color:var(--muted);font-size:.94rem}
.card .btn{margin-top:auto}

.grid{display:grid;gap:22px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}

.mk-card{position:relative;display:flex;flex-direction:column;gap:12px}
.mk-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mk-card h3{font-size:1.1rem}
.mk-card p{color:var(--muted);font-size:.93rem}
.mk-card__tags{display:flex;flex-wrap:wrap;gap:8px}
.mk-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:6px}
.mk-card__link{
  display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent-600);font-size:.9rem;
}
.mk-card__link:hover{color:var(--accent)}

.step{display:grid;grid-template-columns:auto 1fr;gap:18px}
.step__dot{
  width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:var(--font-head);font-weight:800;color:var(--navy-700);
  background:var(--accent-100);border:2px solid var(--accent);
}
.step__dot--done{background:var(--accent);color:var(--navy-950);border-color:var(--accent)}
.step__line{position:relative}
.step__line::after{content:"";position:absolute;top:52px;left:23px;bottom:-18px;width:2px;background:var(--line)}
.step:last-child .step__line::after{display:none}

.timeline{list-style:none;display:flex;flex-direction:column;gap:0}
.timeline li{position:relative;padding:0 0 26px 44px}
.timeline li::before{content:"";position:absolute;left:8px;top:6px;bottom:-2px;width:2px;background:var(--line)}
.timeline li:last-child::before{display:none}
.timeline li::after{
  content:"";position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;
  background:var(--surface);border:3px solid var(--accent);
}
.timeline b{font-family:var(--font-head)}
.timeline p{color:var(--muted);font-size:.95rem}

.flow{list-style:none;display:flex;flex-wrap:wrap;gap:0;align-items:stretch}
.flow li{position:relative;flex:1 1 130px;text-align:center}
.flow li + li::before{
  content:"↓";position:absolute;left:-12px;top:calc(50% - 14px);color:var(--accent);font-weight:800;font-size:1.3rem;z-index:2;
}
.flow__bd{
  height:100%;padding:18px 10px;border-radius:14px;background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
}
.flow b{display:block;font-size:.88rem;margin-top:4px}
.flow span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
@media(min-width:860px){.flow li + li::before{content:"→";top:calc(50% - 16px)}}
@media(max-width:860px){.flow{flex-direction:column;gap:14px}.flow li + li::before{content:"↓";left:calc(50% - 6px);top:-18px}}

.four-c{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:760px){.four-c{grid-template-columns:1fr}}
.c-card{
  position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 24px 24px 26px;box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.c-card__letter{
  font-family:var(--font-head);font-weight:800;font-size:3rem;line-height:1;
  background:linear-gradient(135deg,var(--accent),var(--accent-600));
  -webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9;
}
.c-card h3{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-700)}
.c-card p{margin-top:8px;color:var(--muted);font-size:.95rem}

.profile-box{
  display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow-sm);
}
.avatar{
  width:110px;height:110px;border-radius:24px;display:grid;place-items:center;
  color:#fff;font-family:var(--font-head);font-weight:800;font-size:2.4rem;
  background:linear-gradient(135deg,var(--navy-700),var(--navy-900));border:2px solid var(--accent);
}
.profile-box__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px;margin-top:8px}
.profile-box__grid b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.profile-box__grid span{font-weight:600}
.profile-layout{display:grid;grid-template-columns:320px 1fr;gap:clamp(20px,4vw,44px);padding:clamp(2rem,5vw,3.5rem) 0}
.profile-side{min-width:0}
.profile-card{position:sticky;top:7rem;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:10px}
.profile-card:hover{transform:none;box-shadow:var(--shadow-sm)}
.profile-card .profile-photo__img{width:100%;height:auto;aspect-ratio:auto;border-radius:18px;display:block}
.profile-card .profile-photo__img img{width:100%;height:auto;object-fit:cover}
.profile-card .profile-photo__img:hover img{transform:scale(1.03)}
.profile-card__name{font-family:var(--font-head);font-weight:800;font-size:1.3rem;text-align:center}
.profile-card__role{font-size:.88rem;color:var(--muted);margin-top:-10px}
@media(max-width:920px){
  .profile-layout{grid-template-columns:1fr}
  .profile-card{position:static}
}
@media(max-width:640px){.profile-box{grid-template-columns:1fr;text-align:center}.profile-box__grid{grid-template-columns:1fr}}

.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse;min-width:620px;font-size:.94rem}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--font-head);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--navy-700);background:var(--soft)}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:color-mix(in srgb,var(--accent-100) 30%,transparent)}

.note{
  display:flex;gap:12px;align-items:flex-start;
  background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-sm);
  padding:14px 16px;font-size:.9rem;
}
.note svg{flex:none;margin-top:2px;color:var(--accent-600)}
.note p{color:var(--ink)}

.empty{
  color:var(--muted);font-style:italic;font-size:.95rem;
  border:1px dashed var(--line);border-radius:var(--radius-sm);
  padding:16px 18px;background:var(--soft);
}

.ready{
  display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;
  padding:3px 10px;border-radius:99px;
  background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);
}
.wait{
  display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;
  padding:3px 10px;border-radius:99px;
  background:var(--accent-100);color:var(--accent-600);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);
}

.alert{
  border-radius:var(--radius);padding:18px 20px;display:flex;gap:12px;align-items:flex-start;
  background:var(--warn-bg);border:1px solid var(--warn-line);
}
.alert svg{flex:none;color:var(--accent-600)}
.alert b{display:block;margin-bottom:2px}

.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.roadmap__item{position:relative;padding-top:34px}
.roadmap__item::before{content:"";position:absolute;top:12px;left:0;right:0;height:2px;background:var(--line)}
.roadmap__item::after{
  content:"";position:absolute;top:7px;left:0;width:12px;height:12px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 0 4px var(--accent-100);
}
.roadmap__item h3 .k{color:var(--accent-600)}
@media(max-width:860px){.roadmap{grid-template-columns:1fr;gap:26px}}

.solution{
  position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:stretch;
  background:linear-gradient(135deg,var(--navy-950),var(--navy-700));color:#fff;
  border-radius:var(--radius);padding:clamp(22px,4vw,32px);overflow:hidden;
}
.solution__col{border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:center;text-align:center}
.solution__col--end{background:rgba(245,158,11,.18);border:1px solid rgba(245,158,11,.45)}
.solution__col--mid{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}
.solution svg{color:var(--accent)}
.solution b{font-family:var(--font-head);font-size:1.02rem}
.solution span{font-size:.8rem;opacity:.75;text-align:center}
.solution__arrow{display:grid;place-items:center;color:var(--accent)}
@media(max-width:860px){.solution{grid-template-columns:1fr}.solution__arrow{transform:rotate(90deg)}}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.gal-item{display:flex;flex-direction:column;gap:8px}
.gal-item__actions{display:flex;gap:10px;margin-top:auto;padding-top:8px}

.gal-image{
  aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;
  background:var(--soft);display:grid;place-items:center;color:var(--muted);
  border:1px solid var(--line);position:relative;
}
.gal-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gal-item:hover .gal-image img{transform:scale(1.05)}

.modal{
  position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;
}
.modal[hidden]{display:none}
.modal__backdrop{position:absolute;inset:0;background:rgba(6,16,26,.78);backdrop-filter:blur(4px)}
.modal__panel{
  position:relative;width:min(940px,100%);max-height:88vh;border-radius:var(--radius);
  background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;
}
.modal__head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.modal__head b{font-family:var(--font-head);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal__head .btn{margin-left:auto}
.modal__close{
  margin-left:auto;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);
  background:var(--surface);cursor:pointer;display:grid;place-items:center;color:var(--ink);flex:none;
}
.modal__body{overflow:auto;padding:18px;background:var(--bg)}
.modal__body iframe{border:0;width:100%;height:72vh;border-radius:10px;background:#fff}
.modal__meta{display:flex;flex-wrap:wrap;gap:8px;padding:0 2px 4px}

.back-top{
  position:fixed;right:22px;bottom:22px;z-index:50;width:46px;height:46px;border-radius:14px;
  border:1px solid var(--line);background:var(--surface);color:var(--navy-700);cursor:pointer;
  display:grid;place-items:center;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(8px);
  transition:var(--transition);
}
.back-top.show{opacity:1;pointer-events:auto;transform:none}
.back-top:hover{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}

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

.quicknav{display:flex;flex-wrap:wrap;gap:10px}
.quicknav a{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;
  background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.9rem;
  transition:var(--transition);
}
.quicknav a:hover{border-color:var(--accent);color:var(--accent-600);transform:translateY(-2px)}
.quicknav a i{color:var(--accent-600);font-style:normal;font-family:var(--font-head);font-weight:800}

.site-footer{margin-top:clamp(3rem,7vw,5rem);background:var(--navy-950);color:rgba(255,255,255,.78)}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding:56px 0 36px}
.footer h4{color:#fff;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.footer a{color:rgba(255,255,255,.78)}
.footer a:hover{color:var(--accent)}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.footer-contact a,.footer-contact__addr{display:inline-flex;align-items:flex-start;gap:8px}
.footer-contact a svg,.footer-contact__addr svg{flex:none;color:var(--accent);margin-top:3px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:.85rem}
@media(max-width:860px){.footer__grid{grid-template-columns:1fr;gap:28px}}

@media(max-width:1180px){
  .nav{
    position:fixed;top:var(--hdr);right:0;bottom:0;left:0;z-index:59;
    background:var(--surface);transform:translateX(105%);transition:transform .3s ease;
    overflow:auto;box-shadow:var(--shadow-lg);padding:18px 24px 40px;
  }
  .nav.open{transform:none}
  .nav__list{flex-direction:column;align-items:stretch;gap:4px}
  .nav a{font-size:1rem;padding:12px 14px}
  .nav-toggle{display:grid}
}
@media(max-width:860px){
  .hero__inner{grid-template-columns:1fr}
  .hero__art{order:-1}
  .profile-box{grid-template-columns:1fr}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stack{display:flex;flex-direction:column;gap:18px}
.artefak-list{display:flex;flex-direction:column;gap:10px}
.artefak-file{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--soft);padding:10px 14px;border-radius:10px;border:1px solid var(--line, rgba(10,32,59,.08))}
.artefak-file__name{font-weight:600;color:var(--navy-800)}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.dok-items{display:flex;flex-direction:column;gap:28px}
.dok-item{display:flex;flex-direction:column;gap:12px}
.dok-item__head{display:flex;flex-direction:column;gap:6px}
.dok-item__head h3{margin:0}
.dok-item__head .lead{margin:0;color:var(--muted,#57708c)}
.dok-item__head .field{margin-top:2px}
.dok-item__head .gal-count{align-self:flex-start;margin-top:4px}
.dok-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.video-wrap{position:relative;width:100%;max-width:880px;aspect-ratio:16/9;margin-inline:auto;border-radius:16px;overflow:hidden;border:1px solid var(--line, rgba(10,32,59,.08));box-shadow:var(--shadow-md, 0 14px 40px rgba(10,32,59,.12))}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-note{margin-top:14px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;color:var(--muted,#57708c)}
.video-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.video-card{display:flex;flex-direction:column;gap:10px}
.video-card h3{margin:0;font-family:var(--font-head);font-size:1rem}
.video-card video{width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;border:1px solid var(--line, rgba(10,32,59,.08));box-shadow:var(--shadow-sm);display:block}
.gal-thumb{aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:var(--soft);cursor:zoom-in;border:1px solid var(--line, rgba(10,32,59,.08))}
.gal-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gal-thumb:hover img{transform:scale(1.06)}
.gal-count{font-size:.82rem;color:var(--muted,#57708c);background:var(--soft);padding:4px 10px;border-radius:999px}
.detail-head{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.detail-nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:6px}
.field__label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--navy-700)}
.field + .field{margin-top:12px}
.c-card__q{font-size:.86rem;color:var(--navy-500);font-weight:600;margin-top:2px}
.c-card .empty{margin-top:10px}
.section-block{display:flex;flex-direction:column;gap:14px}
.gal-ph{display:grid;place-items:center;gap:8px;text-align:center;padding:18px;color:var(--muted);font-size:.82rem;line-height:1.4}
.gal-ph svg{color:var(--accent-600)}

@media print{
  .site-header,.scroll-progress,.back-top,.nav-toggle,.icon-btn{display:none!important}
  body{background:#fff;color:#000}
}
/* Foto profil -- variant hero */
.hero-art__ic--photo{width:54px;height:54px;border-radius:50%;overflow:hidden;padding:0;border:2px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12)}
.hero-art__ic--photo img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:transform .35s ease}
.hero-art__ic--photo:hover img{transform:scale(1.06)}
.hero-art__ic--photo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Foto profil -- variant kartu identitas */
.profile-photo{display:flex;flex-direction:column;align-items:center;gap:14px}
.profile-photo__img{
  width:200px;height:200px;border-radius:28px;overflow:hidden;padding:0;cursor:pointer;
  border:2px solid var(--accent);background:var(--soft);display:grid;place-items:center;
}
.profile-photo__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.profile-photo__img:hover img{transform:scale(1.06)}
.profile-photo__img:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.profile-social{display:flex;gap:10px}
.profile-social a{
  width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:var(--soft);border:1px solid var(--line);transition:var(--transition);
}
.profile-social a:hover{background:var(--accent-100);border-color:var(--accent);transform:translateY(-2px)}
.profile-social a img{width:20px;height:20px;display:block;filter:invert(1)}
[data-theme="dark"] .profile-social a img{filter:none}
body[data-page="tentang"] .profile-photo__img img{transform:scaleX(-1)}
body[data-page="tentang"] .profile-photo__img:hover img{transform:scale(1.06) scaleX(-1)}

/* Kartu pendidikan formal */
.edu-card{display:flex;flex-direction:row;align-items:center;gap:18px}
.edu-card__emblem{
  width:56px;height:56px;border-radius:16px;flex:none;display:grid;place-items:center;
  font-family:var(--font-head);font-weight:800;font-size:.8rem;letter-spacing:.04em;
  border:1px solid transparent;
}
.edu-card__emblem span{line-height:1}
.edu-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.edu-card h3{font-size:1.02rem;line-height:1.35}
.edu-card__meta{color:var(--muted);font-size:.88rem}
.edu-card__year{
  display:inline-flex;align-items:center;align-self:flex-start;margin-top:4px;
  font-size:.78rem;font-weight:700;color:var(--navy-700);
  background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:3px 12px;
}
.edu-card__emblem--mi{background:var(--accent-100);color:var(--accent-600);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}
.edu-card__emblem--smp{background:#dbe9f6;color:var(--navy-700);border-color:color-mix(in srgb,var(--navy-500) 55%,transparent)}
.edu-card__emblem--smk{background:#dff1e5;color:#15803d;border-color:color-mix(in srgb,#15803d 45%,transparent)}
.edu-card__emblem--s1{background:#e9e5f8;color:#5b4bb7;border-color:color-mix(in srgb,#7c6cd6 50%,transparent)}
.edu-card__emblem--ppg{background:#e0f2f1;color:#00796b;border-color:color-mix(in srgb,#00796b 50%,transparent)}
.table-note{padding:12px 16px;font-size:.88rem;color:var(--muted);border-top:1px solid var(--line)}
