:root {
  --fz-navy-950: #030a18;
  --fz-navy-900: #07152f;
  --fz-navy-800: #0b234d;
  --fz-navy-700: #12386c;
  --fz-gold-500: #dba93b;
  --fz-gold-400: #efc866;
  --fz-gold-200: #f8e7b6;
  --fz-emerald: #168a72;
  --fz-cream: #f7f4ed;
  --fz-paper: #fffefb;
  --fz-ink: #10213a;
  --fz-muted: #667085;
  --fz-line: rgba(16, 33, 58, 0.12);
  --fz-shadow: 0 24px 70px rgba(7, 21, 47, 0.12);
  --fz-shadow-soft: 0 14px 40px rgba(7, 21, 47, 0.08);
  --fz-radius-xl: 36px;
  --fz-radius-lg: 26px;
  --fz-radius-md: 18px;
  --fz-container: 1180px;
  --fz-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Struktur organisasi hierarkis: hubungan atasan langsung dari admin. */
.fz-org-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.fz-org-heading h2 { margin:8px 0; }
.fz-org-heading p { margin:0; color:var(--fz-muted); }
.fz-org-summary { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.fz-org-summary span { display:inline-flex; align-items:center; gap:5px; padding:7px 10px; border:1px solid rgba(182,135,37,.18); border-radius:999px; color:#6f6454; background:#fffaf0; font-size:.68rem; font-weight:720; }
.fz-org-summary strong { color:var(--fz-navy-900); font-size:.74rem; }
.fz-org-summary i { color:#168a72; font-size:.78rem; }
.fz-org-toolbar { display:inline-flex; flex:0 0 auto; align-items:center; overflow:hidden; border:1px solid var(--fz-line); border-radius:12px; background:#fff; box-shadow:var(--fz-shadow-soft); }
.fz-org-toolbar button { display:inline-flex; min-width:40px; height:40px; align-items:center; justify-content:center; gap:6px; padding:0 11px; border:0; border-right:1px solid var(--fz-line); color:var(--fz-navy-900); background:transparent; font-size:.76rem; font-weight:800; cursor:pointer; }
.fz-org-toolbar button:last-child { border-right:0; }
.fz-org-toolbar button:hover { background:var(--fz-cream); }
.fz-org-toolbar button:disabled { opacity:.38; cursor:not-allowed; }
.fz-org-viewport { min-height:460px; max-height:760px; overflow:auto; padding:38px 28px 54px; border:1px solid var(--fz-line); border-radius:26px; background:radial-gradient(circle at 50% 0,rgba(239,200,102,.12),transparent 33%),linear-gradient(#fff,#fffaf0); box-shadow:var(--fz-shadow-soft); }
.fz-org-hierarchy { display:flex; min-width:max-content; justify-content:center; transform-origin:top center; }
.fz-org-hierarchy ul { position:relative; display:flex; justify-content:center; margin:0; padding:34px 0 0; }
.fz-org-hierarchy li { position:relative; padding:34px 10px 0; list-style:none; text-align:center; }
.fz-org-hierarchy > ul { padding-top:0; }
.fz-org-hierarchy > ul > li { padding-top:0; }
.fz-org-hierarchy li::before,.fz-org-hierarchy li::after { position:absolute; top:0; right:50%; width:50%; height:34px; border-top:1.5px solid rgba(182,135,37,.46); content:""; }
.fz-org-hierarchy li::after { right:auto; left:50%; border-left:1.5px solid rgba(182,135,37,.46); }
.fz-org-hierarchy li:only-child::before,.fz-org-hierarchy li:only-child::after { display:none; }
.fz-org-hierarchy li:only-child { padding-top:0; }
.fz-org-hierarchy li:first-child::before,.fz-org-hierarchy li:last-child::after { border:0; }
.fz-org-hierarchy li:last-child::before { border-right:1.5px solid rgba(182,135,37,.46); border-radius:0 8px 0 0; }
.fz-org-hierarchy li:first-child::after { border-radius:8px 0 0; }
.fz-org-hierarchy ul ul::before { position:absolute; top:0; left:50%; height:34px; border-left:1.5px solid rgba(182,135,37,.46); content:""; }
.fz-org-node { position:relative; display:inline-flex; width:260px; min-height:118px; align-items:center; gap:13px; margin-inline:auto; padding:14px; border:1px solid rgba(182,135,37,.22); border-radius:18px; background:#fff; box-shadow:0 14px 34px rgba(7,21,47,.09); text-align:left; vertical-align:top; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.fz-org-node:hover { border-color:rgba(182,135,37,.58); box-shadow:0 20px 42px rgba(7,21,47,.14); transform:translateY(-4px); }
.fz-org-node__photo { flex:0 0 72px; overflow:hidden; width:72px; height:86px; border-radius:14px; background:var(--fz-cream); }
.fz-org-node__photo img { width:100%; height:100%; object-fit:cover; object-position:top; }
.fz-org-node__copy { min-width:0; }
.fz-org-node__copy > span { display:block; margin-bottom:5px; color:#9a7017; font-size:.59rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.fz-org-node h3 { margin:0; font-size:.94rem; line-height:1.32; }
.fz-org-node small { display:flex; align-items:center; gap:5px; margin-top:6px; color:var(--fz-muted); font-size:.65rem; }
.fz-org-node p { margin:7px 0 0; color:var(--fz-muted); font-size:.65rem; line-height:1.4; }
.fz-org-node__count { position:absolute; top:-8px; right:-8px; display:grid; width:26px; height:26px; place-items:center; border:3px solid #fff; border-radius:50%; color:var(--fz-navy-900); background:var(--fz-gold); font-size:.65rem; }

@media (max-width:991px) {
  .fz-org-heading { display:block; }
  .fz-org-toolbar { margin-top:18px; }
}
@media (max-width:640px) {
  .fz-org-viewport { min-height:420px; padding:30px 18px 44px; border-radius:20px; }
  .fz-org-node { width:225px; }
  .fz-org-toolbar button span { display:none; }
  .fz-org-summary { gap:6px; }
  .fz-org-summary span { padding:6px 8px; }
}
@media print {
  body * { visibility:hidden !important; }
  .fz-org-section,.fz-org-section * { visibility:visible !important; }
  .fz-org-section { position:absolute; inset:0 auto auto 0; width:100%; padding:0 !important; }
  .fz-org-heading { margin-bottom:16px; }
  .fz-org-toolbar,.fz-site-header,.fz-floating-contact { display:none !important; }
  .fz-org-viewport { max-height:none; overflow:visible; padding:20px 0; border:0; box-shadow:none; }
  .fz-org-hierarchy { zoom:.72 !important; }
  .fz-org-node { break-inside:avoid; box-shadow:none; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.fz-body {
  margin: 0;
  color: var(--fz-ink);
  background: var(--fz-paper);
  font-family: var(--fz-font);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
.fz-body img { max-width: 100%; }
.fz-body a { color: inherit; text-decoration: none; }
.fz-body button, .fz-body input, .fz-body select, .fz-body textarea { font: inherit; }
.fz-body button { cursor: pointer; }
.fz-body h1, .fz-body h2, .fz-body h3, .fz-body h4, .fz-body p { margin-top: 0; }
.fz-body h1, .fz-body h2, .fz-body h3, .fz-body h4 { color: var(--fz-ink); font-weight: 760; letter-spacing: -0.035em; line-height: 1.13; }
.fz-container { width: min(calc(100% - 40px), var(--fz-container)); margin-inline: auto; }
.fz-section { position: relative; padding: 108px 0; }
.fz-section--cream { background: var(--fz-cream); }
.fz-section--navy { color: #fff; background: var(--fz-navy-900); }
.fz-section--navy h2, .fz-section--navy h3, .fz-section--navy p { color: inherit; }
.fz-section-heading { max-width: 680px; margin-bottom: 42px; }
.fz-section-heading--center { margin-inline: auto; text-align: center; }
.fz-section-heading--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.fz-section-heading h2 { margin-bottom: 14px; font-size: clamp(2.05rem, 4vw, 3.8rem); }
.fz-section-heading p { max-width: 610px; margin-bottom: 0; color: var(--fz-muted); font-size: 1.05rem; }
.fz-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 14px; color: #9a6a09; font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.fz-kicker::before { width: 26px; height: 1px; content: ""; background: currentColor; }
.fz-kicker--light { color: var(--fz-gold-400); }
.fz-skip-link { position: fixed; top: -60px; left: 20px; z-index: 9999; padding: 12px 18px; border-radius: 12px; color: #fff !important; background: var(--fz-navy-900); transition: top .2s; }
.fz-skip-link:focus { top: 18px; }

/* Buttons */
.fz-btn { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 10px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; font-size: .95rem; font-weight: 760; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.fz-btn:hover { transform: translateY(-2px); }
.fz-btn--gold { color: #191300 !important; background: linear-gradient(135deg, var(--fz-gold-400), var(--fz-gold-500)); box-shadow: 0 14px 34px rgba(219, 169, 59, .24); }
.fz-btn--gold:hover { box-shadow: 0 18px 40px rgba(219, 169, 59, .34); }
.fz-btn--light { color: var(--fz-navy-900) !important; background: #fff; }
.fz-btn--outline { color: #fff !important; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.fz-btn--navy { color: #fff !important; background: var(--fz-navy-900); box-shadow: 0 14px 30px rgba(7,21,47,.18); }
.fz-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--fz-navy-800) !important; font-weight: 750; }
.fz-text-link i { transition: transform .2s ease; }
.fz-text-link:hover i { transform: translateX(4px); }

/* Header */
.fz-header { position: relative; z-index: 1000; background: rgba(255,254,251,.92); }
.fz-header.is-sticky { position: sticky; top: 0; box-shadow: 0 12px 32px rgba(7,21,47,.09); backdrop-filter: blur(18px); }
.fz-announcement { color: rgba(255,255,255,.78); background: var(--fz-navy-950); font-size: .78rem; }
.fz-announcement__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.fz-announcement p { margin: 0; }
.fz-announcement__contact { display: flex; gap: 24px; }
.fz-announcement a { display: inline-flex; align-items: center; gap: 7px; }
.fz-live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #44d7b6; box-shadow: 0 0 0 5px rgba(68,215,182,.12); }
.fz-nav { min-height: 86px; display: flex; align-items: center; gap: 34px; }
.fz-brand { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; }
.fz-brand__mark { width: 58px; height: 52px; display: grid; place-items: center; overflow: hidden; }
.fz-brand__mark img { width: 58px; height: auto; object-fit: contain; }
.fz-brand__copy { display: flex; flex-direction: column; color: var(--fz-navy-900); line-height: 1; }
.fz-brand__copy strong { font-size: 1rem; letter-spacing: .12em; }
.fz-brand__copy small { margin-top: 5px; color: #9a6a09; font-size: .61rem; font-weight: 800; letter-spacing: .36em; }
.fz-menu { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 4px; }
.fz-menu__link { position: relative; display: inline-flex; min-height: 42px; align-items: center; gap: 5px; padding: 0 13px; border: 0; border-radius: 999px; color: #31425a; background: transparent; font-size: .88rem; font-weight: 680; white-space: nowrap; }
.fz-menu__link:hover, .fz-menu__link.is-active { color: var(--fz-navy-900); background: rgba(219,169,59,.13); }
.fz-menu__group { position: relative; }
.fz-mega-menu { position: absolute; top: calc(100% + 18px); left: 50%; width: 420px; padding: 12px; border: 1px solid rgba(255,255,255,.75); border-radius: 22px; opacity: 0; visibility: hidden; background: rgba(255,255,255,.98); box-shadow: var(--fz-shadow); transform: translate(-50%, -8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.fz-mega-menu::before { position: absolute; top: -20px; left: 0; width: 100%; height: 24px; content: ""; }
.fz-menu__group:hover .fz-mega-menu, .fz-menu__group.is-open .fz-mega-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.fz-mega-menu > a { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 12px; padding: 11px; border-radius: 15px; transition: background .2s; }
.fz-mega-menu > a:hover { background: var(--fz-cream); }
.fz-mega-menu__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #9a6a09; background: var(--fz-gold-200); font-size: 1.15rem; }
.fz-mega-menu strong, .fz-mega-menu small { display: block; }
.fz-mega-menu strong { color: var(--fz-ink); font-size: .88rem; }
.fz-mega-menu small { margin-top: 2px; color: var(--fz-muted); font-size: .72rem; }
.fz-mega-menu--compact { width: 350px; }
.fz-nav__cta { flex: 0 0 auto; display: inline-flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 18px; border-radius: 999px; color: #fff !important; background: var(--fz-navy-900); font-size: .86rem; font-weight: 760; box-shadow: 0 10px 24px rgba(7,21,47,.16); }
.fz-menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; border-radius: 14px; background: var(--fz-cream); }
.fz-menu-toggle > span:not(.visually-hidden) { width: 20px; height: 2px; border-radius: 4px; background: var(--fz-navy-900); transition: transform .2s, opacity .2s; }
.fz-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.fz-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.fz-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Hero */
.fz-hero { position: relative; min-height: 735px; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--fz-navy-950); isolation: isolate; }
.fz-hero::after { position: absolute; inset: auto 0 0; height: 180px; z-index: -1; content: ""; background: linear-gradient(to top, rgba(3,10,24,.8), transparent); }
.fz-hero__background { position: absolute; inset: 0; z-index: -3; }
.fz-hero__background img { width: 100%; height: 100%; object-fit: cover; opacity: 0; filter: saturate(.7) contrast(1.05); transform: scale(1.08); transition: opacity .9s ease, transform 7s ease; }
.fz-hero__background .fz-hero__slide { position: absolute; inset: 0; }
.fz-hero__background .fz-hero__slide.is-active { opacity: .27; transform: scale(1.03); }
.fz-hero__background::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(3,10,24,.98) 0%, rgba(3,10,24,.87) 43%, rgba(3,10,24,.36) 100%), radial-gradient(circle at 77% 40%, rgba(219,169,59,.19), transparent 32%); }
.fz-hero__noise { position: absolute; inset: 0; z-index: -1; opacity: .18; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); }
.fz-hero__grid { min-height: 650px; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 30px; padding: 62px 0 112px; }
.fz-hero__copy { position: relative; z-index: 3; max-width: 680px; }
.fz-hero__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; padding: 9px 14px; border: 1px solid rgba(239,200,102,.3); border-radius: 999px; color: var(--fz-gold-400); background: rgba(219,169,59,.08); font-size: .76rem; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(10px); }
.fz-hero__eyebrow i { font-size: .92rem; }
.fz-hero h1 { max-width: 720px; margin-bottom: 24px; color: #fff; font-size: clamp(3.25rem, 6.2vw, 6.5rem); letter-spacing: -.065em; line-height: .96; }
.fz-hero h1 em { color: var(--fz-gold-400); font-family: Georgia, serif; font-weight: 500; }
.fz-hero__lead { max-width: 610px; margin-bottom: 30px; color: rgba(255,255,255,.72); font-size: clamp(1.03rem, 1.5vw, 1.22rem); line-height: 1.75; }
.fz-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.fz-hero__trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.fz-hero__trust span { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.72); font-size: .83rem; }
.fz-hero__trust i { color: var(--fz-gold-400); }
.fz-hero__pagination { display: flex; gap: 8px; margin-top: 26px; }
.fz-hero__pagination button { width: 24px; height: 4px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.28); cursor: pointer; transition: width .25s ease, background .25s ease; }
.fz-hero__pagination button.is-active { width: 46px; background: var(--fz-gold-400); }
.fz-hero__visual { position: relative; min-height: 540px; display: grid; place-items: center; perspective: 1200px; }
.fz-globe-wrap { position: relative; width: min(42vw, 530px); aspect-ratio: 1; transform-style: preserve-3d; transition: transform .25s ease-out; }
.fz-globe-wrap::before { position: absolute; inset: 7%; border: 1px solid rgba(239,200,102,.12); border-radius: 50%; content: ""; box-shadow: 0 0 100px rgba(219,169,59,.14), inset 0 0 80px rgba(219,169,59,.07); }
.fz-globe-wrap::after { position: absolute; inset: 16%; border-radius: 50%; content: ""; background: radial-gradient(circle at 36% 31%, rgba(255,255,255,.17), transparent 22%), radial-gradient(circle at center, rgba(18,56,108,.65), rgba(3,10,24,.92) 68%); box-shadow: inset -28px -24px 70px rgba(0,0,0,.42), 0 0 80px rgba(18,56,108,.36); }
#fz-globe, #fz-globe-routes { position: absolute; inset: 0; width: 100%; height: 100%; }
#fz-globe { z-index: 2; opacity: .15; transition: opacity .55s ease; }
#fz-globe-routes { z-index: 3; cursor: grab; touch-action: pan-y; }
#fz-globe-routes:active { cursor: grabbing; }
.fz-globe-wrap.is-texture-loaded #fz-globe { opacity: 1; }
.fz-orbit { position: absolute; inset: 9%; z-index: 4; border: 1px solid rgba(239,200,102,.24); border-radius: 50%; pointer-events: none; transform: rotateX(65deg) rotateZ(-18deg); animation: fzOrbit 15s linear infinite; }
.fz-orbit::after { position: absolute; top: 49%; left: -6px; width: 11px; height: 11px; border-radius: 50%; content: ""; background: var(--fz-gold-400); box-shadow: 0 0 18px var(--fz-gold-400); }
.fz-visual-card { position: absolute; z-index: 5; display: flex; align-items: center; gap: 11px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.15); border-radius: 17px; color: #fff; background: rgba(7,21,47,.58); box-shadow: 0 18px 40px rgba(0,0,0,.22); pointer-events: none; backdrop-filter: blur(16px); }
.fz-visual-card i { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 12px; color: var(--fz-gold-400); background: rgba(219,169,59,.13); }
.fz-visual-card strong, .fz-visual-card small { display: block; }
.fz-visual-card strong { font-size: .82rem; }
.fz-visual-card small { color: rgba(255,255,255,.55); font-size: .68rem; }
.fz-visual-card--one { top: 17%; right: 1%; animation: fzFloat 5s ease-in-out infinite; }
.fz-visual-card--two { bottom: 16%; left: 1%; animation: fzFloat 6s ease-in-out -2s infinite; }
.fz-hero__scroll { position: absolute; bottom: 34px; left: 50%; z-index: 4; display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; transform: translateX(-50%); }
.fz-hero__scroll::before { width: 34px; height: 1px; content: ""; background: currentColor; }
@keyframes fzOrbit { to { transform: rotateX(65deg) rotateZ(342deg); } }
@keyframes fzFloat { 50% { transform: translateY(-10px); } }

/* Finder */
.fz-finder-wrap { position: relative; z-index: 10; margin-top: -58px; }
.fz-finder { display: grid; grid-template-columns: 1.2fr .9fr auto; gap: 16px; align-items: end; padding: 22px; border: 1px solid rgba(255,255,255,.8); border-radius: 25px; background: rgba(255,255,255,.94); box-shadow: var(--fz-shadow); backdrop-filter: blur(20px); }
.fz-field label { display: block; margin-bottom: 8px; color: #516078; font-size: .72rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.fz-field__control { position: relative; }
.fz-field__control > i { position: absolute; top: 50%; left: 16px; z-index: 2; color: #9a6a09; transform: translateY(-50%); }
.fz-field select, .fz-field input, .fz-field textarea { width: 100%; min-height: 54px; padding: 0 42px 0 45px; border: 1px solid var(--fz-line); border-radius: 15px; outline: none; color: var(--fz-ink); background: #fff; transition: border .2s, box-shadow .2s; appearance: none; }
.fz-field textarea { min-height: 140px; padding-top: 15px; resize: vertical; }
.fz-field select:focus, .fz-field input:focus, .fz-field textarea:focus { border-color: var(--fz-gold-500); box-shadow: 0 0 0 4px rgba(219,169,59,.12); }
.fz-field__chevron { right: 15px !important; left: auto !important; color: var(--fz-muted) !important; pointer-events: none; }
.fz-finder .fz-btn { min-height: 54px; border: 0; }

/* Highlights / stats */
.fz-trust-strip { padding: 62px 0 30px; }
.fz-trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fz-trust-item { display: flex; align-items: center; gap: 13px; padding: 18px; border: 1px solid var(--fz-line); border-radius: 18px; background: #fff; }
.fz-trust-item i { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 14px; color: #9a6a09; background: var(--fz-gold-200); font-size: 1.2rem; }
.fz-trust-item strong, .fz-trust-item small { display: block; }
.fz-trust-item strong { font-size: .9rem; }
.fz-trust-item small { margin-top: 2px; color: var(--fz-muted); font-size: .72rem; }
.fz-assurance { padding: 20px 0 42px; }
.fz-assurance__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.fz-assurance__grid > div,.fz-assurance__grid > a { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; min-height: 82px; padding: 14px; border: 1px solid var(--fz-line); border-radius: 17px; background: rgba(255,255,255,.88); }
.fz-assurance__grid > a { grid-template-columns: 42px 1fr auto; }
.fz-assurance__grid i:first-child { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #76500b; background: var(--fz-gold-200); font-size: 1.15rem; }
.fz-assurance__grid strong,.fz-assurance__grid small { display: block; }
.fz-assurance__grid strong { color: var(--fz-ink); font-size: .8rem; }
.fz-assurance__grid small { color: var(--fz-muted); font-size: .66rem; line-height: 1.45; }

/* Package cards */
.fz-package-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fz-package-card { position: relative; overflow: hidden; border: 1px solid var(--fz-line); border-radius: var(--fz-radius-lg); background: #fff; box-shadow: var(--fz-shadow-soft); transition: transform .3s ease, box-shadow .3s ease; transform-style: preserve-3d; }
.fz-package-card:hover { transform: translateY(-8px); box-shadow: var(--fz-shadow); }
.fz-package-card__image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #e8e1d4; }
.fz-package-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.fz-package-card:hover .fz-package-card__image img { transform: scale(1.055); }
.fz-package-card__overlay { position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(to top, rgba(3,10,24,.68), transparent); }
.fz-package-card__badge { position: absolute; top: 16px; left: 16px; padding: 8px 11px; border-radius: 999px; color: var(--fz-navy-900); background: rgba(255,255,255,.9); font-size: .68rem; font-weight: 800; backdrop-filter: blur(12px); }
.fz-package-card__status { position: absolute; top: 16px; right: 16px; padding: 7px 10px; border-radius: 999px; color: #fff; background: #168a72; font-size: .64rem; font-weight: 820; backdrop-filter: blur(10px); }
.fz-package-card__status.is-limited { color: #2b1d04; background: #f2c759; }
.fz-package-card__status.is-full,.fz-package-card__status.is-departed,.fz-package-card__status.is-archived { background: #7b2632; }
.fz-package-card__status.is-soon { color: #07152f; background: #d6e8ff; }
.fz-package-card__year { position: absolute; right: 16px; bottom: 14px; color: #fff; font-size: .72rem; font-weight: 750; }
.fz-package-card__body { padding: 21px; }
.fz-package-card__meta { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; color: #9a6a09; font-size: .73rem; font-weight: 750; text-transform: uppercase; }
.fz-package-card h3 { min-height: 2.45em; margin-bottom: 14px; font-size: 1.24rem; }
.fz-package-card h3 a:hover { color: #9a6a09; }
.fz-package-card__facts { display: flex; flex-wrap: wrap; gap: 7px 12px; min-height: 26px; margin: -2px 0 12px; color: var(--fz-muted); font-size: .7rem; }
.fz-package-card__facts span { display: inline-flex; align-items: center; gap: 5px; }
.fz-package-card__facts i { color: #8a5a08; }
.fz-package-card__price { display: flex; align-items: baseline; gap: 6px; margin: 0 0 14px; }
.fz-package-card__price strong { color: var(--fz-ink); font-size: 1.12rem; }
.fz-package-card__price small { color: var(--fz-muted); font-size: .65rem; }
.fz-package-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--fz-line); color: var(--fz-muted); font-size: .77rem; }
.fz-package-card__footer span { display: inline-flex; align-items: center; gap: 6px; }
.fz-package-card__arrow { width: 34px; height: 34px; display: grid !important; place-items: center; border-radius: 50%; color: var(--fz-navy-900); background: var(--fz-gold-200); }
.fz-empty { grid-column: 1 / -1; padding: 48px; border: 1px dashed var(--fz-line); border-radius: var(--fz-radius-lg); text-align: center; background: #fff; }
.fz-empty i { display: block; margin-bottom: 12px; color: var(--fz-gold-500); font-size: 2rem; }

/* Journey */
.fz-journey { overflow: hidden; }
.fz-journey::before { position: absolute; top: -10%; right: -7%; width: 520px; height: 520px; border-radius: 50%; content: ""; background: radial-gradient(circle, rgba(219,169,59,.15), transparent 64%); }
.fz-journey-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }
.fz-journey__visual { position: relative; min-height: 560px; perspective: 1100px; }
.fz-journey__photo { position: absolute; inset: 5% 10% 5% 0; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 40px; transform: rotateY(8deg) rotateX(2deg); box-shadow: 40px 50px 80px rgba(0,0,0,.24); }
.fz-journey__photo img { width: 100%; height: 100%; object-fit: cover; opacity: .78; }
.fz-journey__photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(3,10,24,.74), transparent 60%); }
.fz-journey__stamp { position: absolute; right: 0; bottom: 12%; z-index: 3; width: 148px; height: 148px; display: grid; place-items: center; border: 1px solid rgba(239,200,102,.34); border-radius: 50%; color: var(--fz-gold-400); background: rgba(7,21,47,.82); text-align: center; backdrop-filter: blur(12px); }
.fz-journey__stamp i { display: block; font-size: 2rem; }
.fz-journey__stamp span { display: block; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fz-journey-steps { display: grid; gap: 0; }
.fz-journey-step { position: relative; display: grid; grid-template-columns: 54px 1fr; gap: 16px; padding: 16px 0; }
.fz-journey-step:not(:last-child)::after { position: absolute; top: 62px; bottom: -10px; left: 26px; width: 1px; content: ""; background: linear-gradient(var(--fz-gold-500), rgba(219,169,59,.12)); }
.fz-journey-step__number { width: 54px; height: 54px; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(239,200,102,.25); border-radius: 18px; color: var(--fz-gold-400); background: rgba(255,255,255,.06); font-weight: 800; }
.fz-journey-step h3 { margin: 4px 0 6px; color: #fff; font-size: 1.12rem; }
.fz-journey-step p { margin-bottom: 0; color: rgba(255,255,255,.58); font-size: .9rem; }

/* Promo and testimonial */
.fz-promo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.fz-promo-card { position: relative; min-height: 390px; display: flex; align-items: end; overflow: hidden; border-radius: var(--fz-radius-lg); background: var(--fz-navy-900); box-shadow: var(--fz-shadow-soft); }
.fz-promo-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fz-promo-card:hover > img { transform: scale(1.06); }
.fz-promo-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(3,10,24,.92), rgba(3,10,24,.05) 75%); }
.fz-promo-card__content { position: relative; z-index: 2; padding: 26px; color: #fff; }
.fz-promo-card__content span { color: var(--fz-gold-400); font-size: .7rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.fz-promo-card__content h3 { margin: 8px 0 0; color: #fff; font-size: 1.35rem; }
.fz-testimonial-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(330px, 1fr); gap: 20px; overflow-x: auto; padding: 8px 2px 22px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.fz-testimonial { min-height: 280px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border: 1px solid var(--fz-line); border-radius: var(--fz-radius-lg); background: #fff; box-shadow: var(--fz-shadow-soft); scroll-snap-align: start; }
.fz-testimonial__quote { color: var(--fz-gold-500); font-family: Georgia, serif; font-size: 3.6rem; line-height: .7; }
.fz-testimonial blockquote { margin: 18px 0 24px; color: #35455d; font-size: 1rem; line-height: 1.8; }
.fz-testimonial footer { display: flex; align-items: center; gap: 12px; }
.fz-testimonial footer img,.fz-testimonial__initial { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: var(--fz-navy-900); background: var(--fz-gold-200); object-fit: cover; font-weight: 820; }
.fz-testimonial footer strong, .fz-testimonial footer small { display: block; }
.fz-testimonial footer small { color: var(--fz-muted); }
.fz-partner-row { display: flex; align-items: center; justify-content: center; gap: 44px; overflow: hidden; padding-top: 46px; }
.fz-partner-row img { width: 92px; height: 66px; object-fit: contain; filter: grayscale(1); opacity: .6; transition: filter .2s, opacity .2s; }
.fz-partner-row img:hover { filter: none; opacity: 1; }

/* News */
.fz-news-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 26px; }
.fz-news-feature { position: relative; min-height: 480px; display: flex; align-items: end; overflow: hidden; border-radius: var(--fz-radius-xl); color: #fff; background: var(--fz-navy-900); }
.fz-news-feature > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fz-news-feature::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(3,10,24,.92), transparent 75%); }
.fz-news-feature__content { position: relative; z-index: 2; padding: 34px; }
.fz-news-feature h3 { margin-bottom: 12px; color: #fff; font-size: clamp(1.5rem, 3vw, 2.35rem); }
.fz-news-list { display: grid; gap: 14px; }
.fz-news-item { display: grid; grid-template-columns: 118px 1fr; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--fz-line); border-radius: 20px; background: #fff; transition: transform .2s; }
.fz-news-item:hover { transform: translateX(5px); }
.fz-news-item img { width: 118px; height: 100px; border-radius: 14px; object-fit: cover; }
.fz-news-item span { color: #9a6a09; font-size: .68rem; font-weight: 780; text-transform: uppercase; }
.fz-news-item h3 { margin: 7px 0 0; font-size: 1rem; line-height: 1.35; }

/* Page hero */
.fz-page-hero { position: relative; overflow: hidden; padding: 98px 0 82px; color: #fff; background: var(--fz-navy-900); }
.fz-page-hero::before { position: absolute; top: -180px; right: -100px; width: 520px; height: 520px; border: 1px solid rgba(239,200,102,.13); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgba(239,200,102,.035), 0 0 0 160px rgba(239,200,102,.02); }
.fz-page-hero h1 { position: relative; max-width: 760px; margin-bottom: 16px; color: #fff; font-size: clamp(2.7rem, 6vw, 5.5rem); }
.fz-page-hero p { position: relative; max-width: 650px; margin-bottom: 0; color: rgba(255,255,255,.66); font-size: 1.08rem; }
.fz-breadcrumb { position: relative; display: flex; gap: 8px; margin-bottom: 18px; color: var(--fz-gold-400); font-size: .76rem; font-weight: 760; text-transform: uppercase; }

/* Package listing */
.fz-listing-layout { display: grid; grid-template-columns: 285px 1fr; gap: 30px; align-items: start; }
.fz-filter-panel { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--fz-line); border-radius: var(--fz-radius-lg); background: #fff; box-shadow: var(--fz-shadow-soft); }
.fz-filter-panel h2 { margin-bottom: 6px; font-size: 1.35rem; }
.fz-filter-panel > p { margin-bottom: 22px; color: var(--fz-muted); font-size: .82rem; }
.fz-filter-panel .fz-field { margin-bottom: 16px; }
.fz-filter-panel .fz-btn { width: 100%; border: 0; }
.fz-listing-main__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.fz-listing-main__top p { margin: 0; color: var(--fz-muted); }
.fz-listing-main .fz-package-grid { grid-template-columns: repeat(2, 1fr); }

/* Package details */
.fz-detail-hero { padding: 64px 0 78px; background: linear-gradient(180deg, #f7f4ed, #fff); }
.fz-detail-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 54px; align-items: center; }
.fz-detail-media { position: relative; min-height: 590px; overflow: hidden; border-radius: var(--fz-radius-xl); background: #e9e3d7; box-shadow: var(--fz-shadow); }
.fz-detail-media img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.fz-detail-media__chip { position: absolute; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 8px; padding: 11px 14px; border-radius: 999px; color: #fff; background: rgba(3,10,24,.72); font-size: .75rem; backdrop-filter: blur(14px); }
.fz-detail-copy h1 { margin-bottom: 20px; font-size: clamp(2.55rem, 5vw, 5rem); }
.fz-detail-copy__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.fz-detail-copy__meta span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 999px; color: #536279; background: #fff; box-shadow: 0 5px 18px rgba(7,21,47,.06); font-size: .76rem; }
.fz-detail-copy__desc { margin-bottom: 26px; color: var(--fz-muted); }
.fz-detail-copy__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.fz-detail-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 34px; }
.fz-detail-point { padding: 18px; border: 1px solid var(--fz-line); border-radius: 17px; background: #fff; }
.fz-detail-point i { color: #9a6a09; font-size: 1.3rem; }
.fz-detail-point strong, .fz-detail-point small { display: block; }
.fz-detail-point strong { margin-top: 8px; font-size: .86rem; }
.fz-detail-point small { color: var(--fz-muted); font-size: .7rem; }

/* Share panel */
.fz-share-panel { max-width: 1050px; margin-top: 24px; padding: 16px; border: 1px solid var(--fz-line); border-radius: 20px; color: var(--fz-ink); background: rgba(255,255,255,.92); box-shadow: 0 15px 40px rgba(7,21,47,.09); }
.fz-share-panel__intro { display: flex; gap: 11px; align-items: center; margin-bottom: 13px; }
.fz-share-panel__intro > span:last-child,.fz-share-panel__intro strong,.fz-share-panel__intro small { display: block; }
.fz-share-panel__intro strong { color: var(--fz-ink); font-size: .82rem; }
.fz-share-panel__intro small { margin-top: 2px; color: var(--fz-muted); font-size: .68rem; }
.fz-share-panel__mark { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 12px; color: #5c3c05; background: var(--fz-gold-200); font-size: 1.05rem; }
.fz-share-panel__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fz-share-action { min-height: 40px; display: inline-flex; gap: 7px; align-items: center; justify-content: center; padding: 0 11px; border: 0; border-radius: 11px; color: #fff !important; background: var(--fz-navy-900); box-shadow: 0 8px 20px rgba(7,21,47,.1); font-family: inherit; font-size: .69rem; font-weight: 780; line-height: 1; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.fz-share-action:hover { color: #fff; box-shadow: 0 12px 25px rgba(7,21,47,.18); filter: brightness(1.06); transform: translateY(-2px); }
.fz-share-action i { font-size: 1.08rem; }
.fz-share-action.is-whatsapp { background: #087f5b; }
.fz-share-action.is-facebook { background: #1866bd; }
.fz-share-action.is-x { background: #111; }
.fz-share-action.is-telegram { background: #1478a8; }
.fz-share-action.is-linkedin { background: #095b9f; }
.fz-share-action.is-line { background: #087a3b; }
.fz-share-action.is-pinterest { background: #a8071a; }
.fz-share-action.is-instagram { background: linear-gradient(135deg,#6f2da8,#b52f78,#d52d59); }
.fz-share-action.is-email { color: #4e3406 !important; background: #f5d778; }
.fz-share-action.is-more { background: #1d4e7f; }
.fz-share-action.is-copy { border: 1px solid var(--fz-line); color: #3f2d0d !important; background: #fff; box-shadow: none; }
.fz-share-action.is-copy.is-copied { border-color: #7fcab5; color: #075c45 !important; background: #eaf9f4; }
.fz-share-feedback { min-height: 17px; margin: 8px 0 -2px; color: #5d6b7f; font-size: .67rem; font-weight: 680; }
.fz-share-feedback:empty { min-height: 0; margin: 0; }
.fz-share-panel--dark { border-color: rgba(255,255,255,.16); color: #fff; background: rgba(3,10,24,.48); box-shadow: none; backdrop-filter: blur(12px); }
.fz-share-panel--dark .fz-share-panel__intro strong { color: #fff; }
.fz-share-panel--dark .fz-share-panel__intro small,.fz-share-panel--dark .fz-share-feedback { color: rgba(255,255,255,.8); }
.fz-share-panel--dark .fz-share-action.is-copy { border-color: rgba(255,255,255,.26); color: #fff !important; background: rgba(255,255,255,.12); }
.fz-detail-content { display: grid; grid-template-columns: 1fr 320px; gap: 34px; }
.fz-detail-article { padding: 34px; border: 1px solid var(--fz-line); border-radius: var(--fz-radius-lg); background: #fff; }
.fz-detail-article h2 { margin-bottom: 18px; font-size: 1.8rem; }
.fz-detail-article img { height: auto !important; }
.fz-detail-side { position: sticky; top: 110px; padding: 25px; border-radius: var(--fz-radius-lg); color: #fff; background: var(--fz-navy-900); box-shadow: var(--fz-shadow); }
.fz-detail-side h3 { color: #fff; }
.fz-detail-side p { color: rgba(255,255,255,.62); font-size: .86rem; }
.fz-detail-side .fz-btn { width: 100%; margin-top: 10px; }
.fz-status-pill { font-weight: 800; }
.fz-status-pill.is-available,.fz-status-pill.is-limited { color: #0b6a54 !important; background: #e4f7f1 !important; }
.fz-status-pill.is-full,.fz-status-pill.is-departed,.fz-status-pill.is-archived { color: #842f3b !important; background: #fff0f2 !important; }
.fz-btn.is-disabled { color: #665434; border-color: var(--fz-line); background: #eee9de; cursor: not-allowed; }
.fz-package-summary-section { position: relative; z-index: 4; margin: -34px 0 0; }
.fz-package-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 22px; border: 1px solid var(--fz-line); border-radius: 26px; background: rgba(255,255,255,.96); box-shadow: var(--fz-shadow); }
.fz-price-card,.fz-summary-card { min-height: 106px; padding: 18px; border: 1px solid var(--fz-line); border-radius: 18px; background: #fffaf0; }
.fz-price-card small,.fz-price-card span,.fz-summary-card small,.fz-summary-card em { display: block; color: var(--fz-muted); font-size: .68rem; font-style: normal; }
.fz-price-card strong { display: block; margin: 3px 0; color: var(--fz-ink); font-size: 1.22rem; }
.fz-summary-card { display: flex; align-items: center; gap: 12px; }
.fz-summary-card > i { flex: 0 0 42px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #76500b; background: var(--fz-gold-200); font-size: 1.2rem; }
.fz-summary-card strong { display: block; color: var(--fz-ink); font-size: .87rem; }
.fz-inclusion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 32px; }
.fz-inclusion-grid section { padding: 22px; border: 1px solid #bde4d8; border-radius: 18px; background: #f0fbf7; }
.fz-inclusion-grid section.is-excluded { border-color: #f0ccd1; background: #fff5f6; }
.fz-inclusion-grid h3 { display: flex; align-items: center; gap: 8px; color: #0b6a54; font-size: 1rem; }
.fz-inclusion-grid .is-excluded h3 { color: #842f3b; }
.fz-inclusion-grid ul { margin: 0; padding-left: 20px; }
.fz-inclusion-grid li { margin: 7px 0; }
.fz-itinerary { margin-top: 34px; }
.fz-itinerary ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fz-itinerary li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; padding: 13px; border-radius: 14px; background: var(--fz-cream); }
.fz-itinerary li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: #392707; background: var(--fz-gold-400); font-weight: 850; }
.fz-itinerary li p { margin: 4px 0 0; }
.fz-policy-note { margin-top: 22px; padding: 20px; border: 1px solid var(--fz-line); border-radius: 16px; background: #fffaf0; }
.fz-policy-note h3 { display: flex; align-items: center; gap: 8px; font-size: 1rem; }
.fz-policy-note p { margin: 0; font-size: .86rem; }
.fz-policy-layout,.fz-complaint-grid { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 30px; align-items: start; }
.fz-policy-layout > aside { position: sticky; top: 120px; padding: 24px; border-radius: 20px; color: #fff; background: var(--fz-navy-900); }
.fz-policy-layout > aside i { display: grid; width: 50px; height: 50px; margin-bottom: 16px; place-items: center; border-radius: 15px; color: var(--fz-navy-900); background: var(--fz-gold-400); font-size: 1.45rem; }
.fz-policy-layout > aside strong { color: #fff; }
.fz-policy-layout > aside p { margin: 8px 0 0; color: rgba(255,255,255,.75); font-size: .82rem; }
.fz-policy-layout article h2 { margin-top: 1.8em; }
.fz-policy-layout article h2:first-child { margin-top: 0; }
.fz-complaint-steps { display: grid; gap: 14px; margin: 26px 0 0; padding: 0; list-style: none; }
.fz-complaint-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 15px; border-radius: 15px; background: var(--fz-cream); }
.fz-complaint-steps li > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #392707; background: var(--fz-gold-400); font-weight: 850; }
.fz-complaint-steps p { margin: 4px 0 0; color: var(--fz-muted); font-size: .8rem; }

/* About */
.fz-about-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: center; }
.fz-about-media { position: relative; min-height: 610px; }
.fz-about-media__main { position: absolute; inset: 0 70px 70px 0; overflow: hidden; border-radius: var(--fz-radius-xl); box-shadow: var(--fz-shadow); }
.fz-about-media__main img { width: 100%; height: 100%; object-fit: cover; }
.fz-about-media__card { position: absolute; right: 0; bottom: 0; width: 235px; padding: 26px; border-radius: 25px; color: #fff; background: var(--fz-navy-900); box-shadow: var(--fz-shadow); }
.fz-about-media__card strong { display: block; color: var(--fz-gold-400); font-size: 2.6rem; line-height: 1; }
.fz-about-media__card span { display: block; margin-top: 10px; font-size: .78rem; }
.fz-about-copy h2 { margin-bottom: 20px; font-size: clamp(2.2rem, 4vw, 4rem); }
.fz-rich-text { color: #536279; }
.fz-rich-text p, .fz-rich-text li { color: inherit !important; font-family: inherit !important; font-size: .98rem !important; line-height: 1.8 !important; }
.fz-rich-text * { max-width: 100%; }
.fz-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fz-value-card { padding: 28px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--fz-radius-lg); background: rgba(255,255,255,.045); }
.fz-value-card i { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 16px; color: var(--fz-gold-400); background: rgba(219,169,59,.11); font-size: 1.35rem; }
.fz-value-card h3 { color: #fff; font-size: 1.2rem; }
.fz-value-card p { margin: 0; color: rgba(255,255,255,.58); font-size: .88rem; }
.fz-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.fz-team-card { overflow: hidden; border: 1px solid var(--fz-line); border-radius: var(--fz-radius-lg); background: #fff; }
.fz-team-card img { width: 100%; aspect-ratio: 4/4.3; object-fit: cover; object-position: top; }
.fz-team-card div { padding: 20px; }
.fz-team-card h3 { margin-bottom: 5px; font-size: 1.08rem; }
.fz-team-card p { margin: 0; color: #9a6a09; font-size: .77rem; font-weight: 700; }

/* Contact and forms */
.fz-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; }
.fz-contact-info, .fz-form-card { border: 1px solid var(--fz-line); border-radius: var(--fz-radius-xl); background: #fff; box-shadow: var(--fz-shadow-soft); }
.fz-contact-info { padding: 36px; color: #fff; background: var(--fz-navy-900); }
.fz-contact-info h2 { margin-bottom: 14px; color: #fff; font-size: 2rem; }
.fz-contact-info > p { color: rgba(255,255,255,.6); }
.fz-contact-list { display: grid; gap: 15px; margin-top: 30px; }
.fz-contact-list a, .fz-contact-list p { display: grid; grid-template-columns: 45px 1fr; align-items: center; gap: 12px; margin: 0; color: rgba(255,255,255,.82); }
.fz-contact-list i { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 14px; color: var(--fz-gold-400); background: rgba(255,255,255,.07); }
.fz-form-card { padding: 36px; }
.fz-form-card h2 { margin-bottom: 6px; font-size: 2rem; }
.fz-form-card > p { margin-bottom: 26px; color: var(--fz-muted); }
.fz-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.fz-form-grid .fz-field--wide { grid-column: 1 / -1; }
.fz-alert { margin-bottom: 20px; padding: 14px 16px; border-radius: 14px; font-size: .85rem; }
.fz-alert--success { color: #0c654e; background: #e5f7f0; }
.fz-alert--error { color: #9e2d2d; background: #fff0f0; }
.fz-honeypot { position: absolute !important; left: -10000px !important; }

.fz-registration-shell { max-width: 940px; margin-inline: auto; }
.fz-selected-package { display: grid; grid-template-columns: 110px 1fr auto; gap: 20px; align-items: center; margin-bottom: 24px; padding: 16px; border: 1px solid var(--fz-line); border-radius: 20px; background: #fff; box-shadow: var(--fz-shadow-soft); }
.fz-selected-package img { width: 110px; height: 82px; border-radius: 14px; object-fit: cover; }
.fz-selected-package .fz-kicker { margin-bottom: 3px; }
.fz-selected-package h2 { margin: 0 0 4px; font-size: 1.25rem; }
.fz-selected-package p { margin: 0; color: var(--fz-muted); font-size: .78rem; }
.fz-selected-package > a { color: #76500b; font-size: .8rem; font-weight: 800; }
.fz-stepper { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 26px; }
.fz-stepper__item { position: relative; display: flex; align-items: center; gap: 9px; padding: 11px; border: 0; border-radius: 14px; color: var(--fz-muted); background: #fff; text-align: left; }
.fz-stepper__item span { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 10px; background: var(--fz-cream); font-size: .72rem; font-weight: 800; }
.fz-stepper__item small { font-size: .68rem; font-weight: 720; }
.fz-stepper__item.is-active { color: #fff; background: var(--fz-navy-900); }
.fz-stepper__item.is-active span { color: var(--fz-navy-900); background: var(--fz-gold-400); }
.fz-registration-card { padding: 34px; border: 1px solid var(--fz-line); border-radius: var(--fz-radius-xl); background: #fff; box-shadow: var(--fz-shadow); }
.fz-form-step { display: none; }
.fz-form-step.is-active { display: block; animation: fzStepIn .35s ease; }
.fz-form-step__heading { margin-bottom: 24px; }
.fz-form-step__heading h2 { margin-bottom: 6px; font-size: 1.7rem; }
.fz-form-step__heading p { margin: 0; color: var(--fz-muted); font-size: .86rem; }
.fz-form-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--fz-line); }
.fz-form-actions .fz-btn { border: 0; }
.fz-upload-note { grid-column: 1 / -1; padding: 14px; border-radius: 14px; color: #6f591d; background: #fff7df; font-size: .78rem; }
.fz-registration-review { padding: 18px; border: 1px solid var(--fz-line); border-radius: 16px; background: var(--fz-cream); }
.fz-registration-review h3 { margin-bottom: 12px; font-size: 1rem; }
.fz-registration-review dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.fz-registration-review dl > div { padding: 9px; border-radius: 10px; background: #fff; }
.fz-registration-review dt { color: var(--fz-muted); font-size: .65rem; }
.fz-registration-review dd { margin: 2px 0 0; color: var(--fz-ink); font-size: .8rem; font-weight: 750; }
.fz-registration-review p { margin: 12px 0 0; color: var(--fz-muted); font-size: .7rem; }
.fz-consent { display: flex !important; align-items: flex-start; gap: 10px; }
.fz-consent input { width: 18px !important; height: 18px; margin-top: 4px; }
.fz-consent span { color: var(--fz-muted); font-size: .82rem; }
.fz-consent a { color: #76500b; font-weight: 800; text-decoration: underline; }
@keyframes fzStepIn { from { opacity: 0; transform: translateY(8px); } }

/* Prefooter/footer */
.fz-prefooter { position: relative; z-index: 3; margin-bottom: -74px; }
.fz-prefooter__card { position: relative; min-height: 220px; display: flex; align-items: center; justify-content: space-between; gap: 30px; overflow: hidden; padding: 42px 48px; border-radius: var(--fz-radius-xl); color: #fff; background: linear-gradient(135deg, #0b234d, #07152f 65%, #12386c); box-shadow: 0 30px 80px rgba(3,10,24,.28); }
.fz-prefooter__card > div:not(.fz-prefooter__orb) { position: relative; z-index: 2; max-width: 680px; }
.fz-prefooter h2 { margin-bottom: 9px; color: #fff; font-size: clamp(1.8rem, 3vw, 3rem); }
.fz-prefooter p { margin: 0; color: rgba(255,255,255,.62); }
.fz-prefooter .fz-btn { position: relative; z-index: 2; flex: 0 0 auto; }
.fz-prefooter__orb { position: absolute; top: -120px; right: 80px; width: 330px; height: 330px; border: 1px solid rgba(239,200,102,.2); border-radius: 50%; box-shadow: 0 0 0 55px rgba(239,200,102,.035), 0 0 0 110px rgba(239,200,102,.02); }
.fz-footer { padding: 150px 0 0; color: rgba(255,255,255,.6); background: var(--fz-navy-950); }
.fz-footer__grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr 1.1fr; gap: 50px; padding-bottom: 56px; }
.fz-brand--footer .fz-brand__copy { color: #fff; }
.fz-footer__about > p { max-width: 340px; margin: 22px 0; font-size: .88rem; }
.fz-footer__badge { display: flex; align-items: center; gap: 10px; }
.fz-footer__badge > i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--fz-gold-400); background: rgba(255,255,255,.06); }
.fz-footer__badge strong, .fz-footer__badge small { display: block; }
.fz-footer__badge strong { color: #fff; font-size: .8rem; }
.fz-footer__badge small { font-size: .67rem; }
.fz-footer h3 { margin: 10px 0 22px; color: #fff; font-size: .92rem; letter-spacing: -.01em; }
.fz-footer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fz-footer li a { font-size: .83rem; transition: color .2s; }
.fz-footer li a:hover { color: var(--fz-gold-400); }
.fz-footer__contact { display: grid; align-content: start; gap: 12px; }
.fz-footer__contact h3 { margin-bottom: 10px; }
.fz-footer__contact a, .fz-footer__contact p { display: grid; grid-template-columns: 35px 1fr; align-items: start; gap: 10px; margin: 0; font-size: .8rem; }
.fz-footer__contact i { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; color: var(--fz-gold-400); background: rgba(255,255,255,.05); }
.fz-footer__bottom { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.08); font-size: .72rem; }
.fz-footer__bottom p { margin: 0; }
.fz-footer__bottom div { display: flex; gap: 22px; }
.fz-whatsapp-float { position: fixed; right: 22px; bottom: 22px; z-index: 990; display: inline-flex; min-height: 50px; align-items: center; gap: 8px; padding: 0 17px; border: 3px solid #fff; border-radius: 999px; color: #fff !important; background: #15a879; box-shadow: 0 14px 34px rgba(21,168,121,.3); font-size: .78rem; font-weight: 760; }
.fz-whatsapp-float i { font-size: 1.2rem; }
.fz-back-top { position: fixed; right: 24px; bottom: 88px; z-index: 980; width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; opacity: 0; visibility: hidden; color: #fff; background: var(--fz-navy-900); box-shadow: var(--fz-shadow-soft); transform: translateY(8px); transition: .2s; }
.fz-back-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.fz-mobile-dock { display: none; }

/* Reveal */
.fz-js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.fz-js [data-reveal].is-revealed { opacity: 1; transform: none; }

/* Legacy page bridge */
.fz-legacy-page main { min-height: 300px; }
.fz-legacy-page .breadcrumbs-area { padding: 70px 0; background: var(--fz-navy-900) !important; }
.fz-legacy-page .breadcrumbs-area .title, .fz-legacy-page .breadcrumb-item a { color: #fff !important; }
.fz-legacy-page .section-title .title, .fz-legacy-page .border-section-title .title { color: var(--fz-ink); }
.fz-legacy-page .progressParent, .fz-legacy-page .search-overlay { display: none !important; }

@media (max-width: 1100px) {
  .fz-nav { gap: 18px; }
  .fz-menu__link { padding-inline: 9px; font-size: .8rem; }
  .fz-brand__copy { display: none; }
  .fz-hero__grid { grid-template-columns: 1.1fr .9fr; }
  .fz-package-grid { grid-template-columns: repeat(2, 1fr); }
  .fz-promo-grid { grid-template-columns: repeat(2, 1fr); }
  .fz-promo-card:last-child { grid-column: span 2; }
  .fz-footer__grid { grid-template-columns: 1.2fr repeat(3, 1fr); gap: 30px; }
}

@media (max-width: 900px) {
  .fz-section { padding: 82px 0; }
  .fz-announcement__contact a:first-child { display: none; }
  .fz-menu-toggle { display: flex; margin-left: auto; }
  .fz-nav { position: relative; min-height: 74px; }
  .fz-nav__cta { min-width: 45px; padding: 0 13px; }
  .fz-nav__cta span { display: none; }
  .fz-menu { position: absolute; top: calc(100% + 2px); right: 0; left: 0; max-height: calc(100vh - 100px); display: none; align-items: stretch; overflow-y: auto; padding: 14px; border: 1px solid var(--fz-line); border-radius: 22px; background: #fff; box-shadow: var(--fz-shadow); }
  .fz-menu.is-open { display: block; }
  .fz-menu__link { width: 100%; justify-content: space-between; padding: 0 14px; border-radius: 12px; }
  .fz-menu__group { width: 100%; }
  .fz-mega-menu, .fz-mega-menu--compact { position: static; width: 100%; display: none; padding: 4px 8px 10px; border: 0; opacity: 1; visibility: visible; box-shadow: none; transform: none !important; }
  .fz-menu__group.is-open .fz-mega-menu { display: block; }
  .fz-mega-menu > a { padding: 9px; }
  .fz-hero { min-height: auto; }
  .fz-hero__grid { grid-template-columns: 1fr; min-height: 740px; padding: 80px 0 120px; }
  .fz-hero__copy { max-width: 680px; }
  .fz-hero__visual { position: absolute; top: 8%; right: -25%; width: 70%; min-height: 500px; opacity: .55; }
  .fz-globe-wrap { width: 520px; }
  .fz-visual-card { display: none; }
  .fz-finder { grid-template-columns: 1fr 1fr; }
  .fz-finder .fz-btn { grid-column: 1 / -1; width: 100%; }
  .fz-trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .fz-journey-grid, .fz-about-grid, .fz-contact-grid, .fz-detail-grid { grid-template-columns: 1fr; }
  .fz-journey__visual { min-height: 460px; }
  .fz-news-grid { grid-template-columns: 1fr; }
  .fz-listing-layout { grid-template-columns: 1fr; }
  .fz-filter-panel { position: static; }
  .fz-detail-media { min-height: 520px; order: 2; }
  .fz-detail-content { grid-template-columns: 1fr; }
  .fz-detail-side { position: static; }
  .fz-footer__grid { grid-template-columns: 1fr 1fr; }
  .fz-stepper__item small { display: none; }
  .fz-stepper__item { justify-content: center; }
  .fz-assurance__grid { grid-template-columns: repeat(2, 1fr); }
  .fz-package-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fz-policy-layout,.fz-complaint-grid { grid-template-columns: 1fr; }
  .fz-policy-layout > aside { position: static; }
}

@media (max-width: 640px) {
  .fz-container { width: min(calc(100% - 26px), var(--fz-container)); }
  .fz-section { padding: 68px 0; }
  .fz-section-heading { margin-bottom: 30px; }
  .fz-section-heading--split { display: block; }
  .fz-section-heading--split .fz-text-link { margin-top: 18px; }
  .fz-announcement { display: none; }
  .fz-header.is-sticky { position: sticky; }
  .fz-nav { min-height: 68px; }
  .fz-brand__mark, .fz-brand__mark img { width: 48px; }
  .fz-nav__cta { display: none; }
  .fz-hero__grid { min-height: 700px; padding: 76px 0 126px; }
  .fz-hero h1 { font-size: clamp(3.05rem, 15vw, 4.6rem); }
  .fz-hero__lead { font-size: .98rem; }
  .fz-hero__actions { display: grid; grid-template-columns: 1fr; }
  .fz-hero__actions .fz-btn { width: 100%; }
  .fz-hero__trust { gap: 12px; }
  .fz-hero__trust span { font-size: .72rem; }
  .fz-hero__visual { top: 4%; right: -75%; width: 115%; opacity: .42; }
  .fz-hero__scroll { display: none; }
  .fz-finder-wrap { margin-top: -82px; }
  .fz-finder { grid-template-columns: 1fr; padding: 17px; border-radius: 21px; }
  .fz-finder .fz-btn { grid-column: auto; }
  .fz-trust-strip { padding-top: 38px; }
  .fz-trust-strip__grid, .fz-package-grid, .fz-promo-grid, .fz-listing-main .fz-package-grid, .fz-value-grid, .fz-team-grid { grid-template-columns: 1fr; }
  .fz-trust-item { padding: 14px; }
  .fz-promo-card:last-child { grid-column: auto; }
  .fz-package-card h3 { min-height: auto; }
  .fz-journey-grid { gap: 30px; }
  .fz-journey__visual { min-height: 380px; }
  .fz-journey__photo { inset: 0 32px 36px 0; border-radius: 28px; }
  .fz-journey__stamp { width: 116px; height: 116px; }
  .fz-testimonial-track { grid-auto-columns: 88%; }
  .fz-partner-row { justify-content: flex-start; gap: 28px; overflow-x: auto; }
  .fz-news-feature { min-height: 400px; }
  .fz-news-feature__content { padding: 24px; }
  .fz-news-item { grid-template-columns: 88px 1fr; }
  .fz-news-item img { width: 88px; height: 84px; }
  .fz-page-hero { padding: 72px 0 64px; }
  .fz-listing-main__top { align-items: flex-start; flex-direction: column; }
  .fz-detail-hero { padding: 42px 0 62px; }
  .fz-detail-media { min-height: 430px; border-radius: 25px; }
  .fz-detail-points { grid-template-columns: 1fr; }
  .fz-detail-content { gap: 20px; }
  .fz-detail-article { padding: 22px; }
  .fz-about-media { min-height: 470px; }
  .fz-about-media__main { inset: 0 30px 50px 0; border-radius: 26px; }
  .fz-about-media__card { width: 190px; padding: 20px; }
  .fz-form-card, .fz-contact-info, .fz-registration-card { padding: 23px; border-radius: 24px; }
  .fz-form-grid { grid-template-columns: 1fr; }
  .fz-form-grid .fz-field--wide { grid-column: auto; }
  .fz-stepper { gap: 5px; }
  .fz-stepper__item { padding: 7px; }
  .fz-stepper__item span { width: 27px; height: 27px; }
  .fz-assurance__grid,.fz-package-summary-grid,.fz-inclusion-grid,.fz-registration-review dl { grid-template-columns: 1fr; }
  .fz-selected-package { grid-template-columns: 78px 1fr; gap: 13px; }
  .fz-selected-package img { width: 78px; height: 72px; }
  .fz-selected-package > a { grid-column: 1 / -1; }
  .fz-share-panel { padding: 14px; border-radius: 17px; }
  .fz-share-panel__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fz-share-action { width: 100%; justify-content: flex-start; padding-inline: 12px; }
  .fz-prefooter { margin-bottom: -55px; }
  .fz-prefooter__card { min-height: 300px; display: block; padding: 30px 24px; border-radius: 26px; }
  .fz-prefooter .fz-btn { width: 100%; margin-top: 22px; }
  .fz-footer { padding-top: 115px; padding-bottom: 88px; }
  .fz-footer__grid { grid-template-columns: 1fr; gap: 30px; }
  .fz-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; }
  .fz-whatsapp-float, .fz-back-top { display: none; }
  .fz-mobile-dock { position: fixed; right: 8px; bottom: 8px; left: 8px; z-index: 1100; min-height: 67px; display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; padding: 7px; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: rgba(255,255,255,.93); box-shadow: 0 16px 44px rgba(7,21,47,.2); backdrop-filter: blur(18px); }
  .fz-mobile-dock a { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 3px; color: #6a7587; font-size: .57rem; font-weight: 720; }
  .fz-mobile-dock i { font-size: 1.15rem; }
  .fz-mobile-dock__main { width: 53px; height: 53px; justify-self: center; margin-top: -25px; border: 4px solid #fff; border-radius: 50%; color: #fff !important; background: #15a879; box-shadow: 0 10px 24px rgba(21,168,121,.32); }
  .fz-mobile-dock__main span { display: none; }
  .fz-mobile-dock__main i { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .fz-js [data-reveal] { opacity: 1; transform: none; }
}

/* V2.1 — world map, editorial news, organization tree & public channels */
.fz-globe-label { position: absolute; top: 54px; left: 50%; z-index: 6; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 99px; color: rgba(255,255,255,.78); background: rgba(5,22,49,.58); pointer-events: none; backdrop-filter: blur(10px); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }
#fz-globe { touch-action: pan-y; }

.fz-connect-section { position: relative; overflow: hidden; color: #fff; background: linear-gradient(130deg, #06142d 0%, #0d2f5b 62%, #123d70 100%); }
.fz-connect-section::before { position: absolute; top: -45%; left: -12%; width: 520px; height: 520px; border: 1px solid rgba(239,200,102,.13); border-radius: 50%; box-shadow: 0 0 0 80px rgba(239,200,102,.025), 0 0 0 160px rgba(239,200,102,.018); content: ""; }
.fz-connect-grid { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: 72px; align-items: center; }
.fz-connect-copy h2 { max-width: 520px; margin: 15px 0; color: #fff; font-size: clamp(2.3rem, 4vw, 4.4rem); }
.fz-connect-copy p { max-width: 490px; margin: 0; color: rgba(255,255,255,.63); }
.fz-connect-links { display: grid; gap: 12px; }
.fz-connect-card { display: grid; grid-template-columns: 54px 1fr 34px; gap: 16px; align-items: center; min-height: 86px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; color: #fff !important; background: rgba(255,255,255,.07); backdrop-filter: blur(14px); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
a.fz-connect-card:hover { border-color: rgba(239,200,102,.5); color: #fff; background: rgba(255,255,255,.12); transform: translateX(7px); }
.fz-connect-card__icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 15px; font-size: 1.65rem; background: rgba(255,255,255,.12); }
.fz-connect-card--facebook .fz-connect-card__icon { background: #1877f2; }
.fz-connect-card--instagram .fz-connect-card__icon { background: linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045); }
.fz-connect-card--playstore .fz-connect-card__icon { color: #07152f; background: #fff; }
.fz-connect-card strong,.fz-connect-card small { display: block; }
.fz-connect-card strong { margin-bottom: 4px; font-size: 1rem; }
.fz-connect-card small { color: rgba(255,255,255,.58); font-size: .78rem; }
.fz-connect-card__arrow { justify-self: end; color: var(--fz-gold); font-size: 1.2rem; }
.fz-connect-card.is-disabled { opacity: .58; }

.fz-page-hero--news::after,.fz-page-hero--organization::after { position: absolute; right: 5%; bottom: -42%; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(239,200,102,.14), transparent 68%); content: ""; }
.fz-alert { display: flex; gap: 10px; align-items: center; margin-bottom: 28px; padding: 14px 18px; border: 1px solid rgba(205,153,35,.28); border-radius: 14px; color: #73520a; background: #fff8e6; }
.fz-results-count { flex: 0 0 auto; padding: 8px 13px; border: 1px solid var(--fz-line); border-radius: 99px; color: var(--fz-muted); font-size: .76rem; font-weight: 700; }
.fz-news-grid--archive { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.fz-news-card { overflow: hidden; border: 1px solid var(--fz-line); border-radius: 22px; background: #fff; box-shadow: 0 15px 42px rgba(7,21,47,.07); transition: transform .28s ease, box-shadow .28s ease; }
.fz-news-card:hover { box-shadow: 0 24px 58px rgba(7,21,47,.13); transform: translateY(-7px); }
.fz-news-card__image { position: relative; display: block; overflow: hidden; aspect-ratio: 16/10; background: #e9edf2; }
.fz-news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.fz-news-card:hover .fz-news-card__image img { transform: scale(1.045); }
.fz-news-card__category { position: absolute; left: 15px; bottom: 15px; padding: 6px 10px; border-radius: 99px; color: #07152f; background: var(--fz-gold); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.fz-news-card__body { padding: 22px; }
.fz-news-card__body time { display: flex; gap: 7px; align-items: center; margin-bottom: 12px; color: var(--fz-muted); font-size: .73rem; font-weight: 650; }
.fz-news-card__body h2,.fz-news-card__body h3 { margin: 0 0 18px; font-size: 1.25rem; line-height: 1.35; }
.fz-news-card__body h2 a,.fz-news-card__body h3 a { color: var(--fz-navy-900); }
.fz-news-card--featured { grid-column: span 2; display: grid; grid-template-columns: 1.18fr .82fr; }
.fz-news-card--featured .fz-news-card__image { height: 100%; aspect-ratio: auto; }
.fz-news-card--featured .fz-news-card__body { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
.fz-news-card--featured .fz-news-card__body h2 { font-size: clamp(1.55rem,2.5vw,2.35rem); }

.fz-article-hero { position: relative; overflow: hidden; padding: 78px 0 168px; color: #fff; background: linear-gradient(135deg,#06142d,#0b2b54); }
.fz-article-hero::before { position: absolute; top: -240px; right: -80px; width: 580px; height: 580px; border: 1px solid rgba(239,200,102,.15); border-radius: 50%; box-shadow: 0 0 0 90px rgba(239,200,102,.025),0 0 0 180px rgba(239,200,102,.018); content: ""; }
.fz-article-hero__inner { position: relative; }
.fz-article-hero h1 { max-width: 1050px; margin: 16px 0 22px; color: #fff; font-size: clamp(2.35rem,5.4vw,5rem); line-height: 1.04; }
.fz-article-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: rgba(255,255,255,.64); font-size: .82rem; }
.fz-article-meta time,.fz-article-meta span { display: flex; gap: 8px; align-items: center; }
.fz-article-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 42px; align-items: start; margin-top: -104px; padding-bottom: 100px; }
.fz-article-cover { overflow: hidden; margin: 0 0 32px; border: 9px solid #fff; border-radius: 27px; background: #fff; box-shadow: 0 30px 80px rgba(7,21,47,.19); }
.fz-article-cover img { width: 100%; max-height: 590px; object-fit: cover; border-radius: 19px; }
.fz-article-cover figcaption { padding: 11px 8px 4px; color: var(--fz-muted); font-size: .67rem; }
.fz-article-content { padding: 12px 30px; color: #354052; font-size: 1.02rem; line-height: 1.9; }
.fz-article-content h2,.fz-article-content h3,.fz-article-content h4 { margin-top: 1.8em; color: var(--fz-navy-900); }
.fz-article-content img,.fz-article-content iframe { max-width: 100%; height: auto; border-radius: 15px; }
.fz-article-content a { color: #a67400; text-decoration: underline; }
.fz-article-source { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 34px; padding: 16px 18px; border-radius: 14px; background: var(--fz-cream); font-size: .82rem; }
.fz-article-source span { font-weight: 800; }
.fz-article-aside { position: sticky; top: 130px; padding-top: 176px; }
.fz-article-aside__card { padding: 27px; border-radius: 22px; color: #fff; background: var(--fz-navy-900); box-shadow: 0 20px 50px rgba(7,21,47,.16); }
.fz-article-aside__card > i { display: grid; width: 52px; height: 52px; margin-bottom: 20px; place-items: center; border-radius: 14px; color: var(--fz-navy-900); background: var(--fz-gold); font-size: 1.5rem; }
.fz-article-aside__card h2 { color: #fff; font-size: 1.45rem; }
.fz-article-aside__card p { color: rgba(255,255,255,.62); font-size: .84rem; }

.fz-org-section { overflow: hidden; }
.fz-org-tree { position: relative; display: grid; gap: 54px; padding: 22px 0; }
.fz-org-level { position: relative; }
.fz-org-level:not(:first-child)::before { position: absolute; left: 50%; bottom: calc(100% + 10px); width: 2px; height: 34px; background: linear-gradient(var(--fz-gold),rgba(239,200,102,.18)); content: ""; }
.fz-org-level__label { width: max-content; margin: 0 auto 24px; padding: 7px 13px; border: 1px solid rgba(205,153,35,.27); border-radius: 99px; color: #8c650e; background: #fff8e8; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fz-org-level__cards { position: relative; display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; }
.fz-org-level--manager .fz-org-level__cards::before,.fz-org-level--team .fz-org-level__cards::before { position: absolute; top: -13px; left: 12%; right: 12%; height: 1px; background: rgba(205,153,35,.3); content: ""; }
.fz-org-card { position: relative; display: flex; width: min(100%,265px); min-height: 110px; gap: 14px; align-items: center; padding: 15px; border: 1px solid var(--fz-line); border-radius: 18px; background: #fff; box-shadow: 0 15px 38px rgba(7,21,47,.07); }
.fz-org-card::before { position: absolute; bottom: 100%; left: 50%; width: 1px; height: 13px; background: rgba(205,153,35,.34); content: ""; }
.fz-org-card__photo { flex: 0 0 68px; overflow: hidden; width: 68px; height: 78px; border-radius: 13px; background: var(--fz-cream); }
.fz-org-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.fz-org-card span { display: block; margin-bottom: 5px; color: #99701b; font-size: .61rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.fz-org-card h3 { margin: 0; font-size: .95rem; line-height: 1.3; }
.fz-org-card p { margin: 8px 0 0; color: var(--fz-muted); font-size: .7rem; line-height: 1.5; }
.fz-org-card--featured { width: min(100%,330px); min-height: 132px; border-color: rgba(205,153,35,.32); background: linear-gradient(135deg,#fff,#fffaf0); }
.fz-org-card--featured .fz-org-card__photo { flex-basis: 84px; width: 84px; height: 98px; }
.fz-org-card--featured h3 { font-size: 1.13rem; }

.fz-footer-socials { display: flex; gap: 8px; margin-top: 18px; }
.fz-footer-socials a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 11px; color: #fff; background: rgba(255,255,255,.07); font-size: 1.05rem; }
.fz-footer-socials a:hover { border-color: var(--fz-gold); color: var(--fz-navy-900); background: var(--fz-gold); transform: translateY(-3px); }

@media (max-width: 991px) {
  .fz-connect-grid { grid-template-columns: 1fr; gap: 38px; }
  .fz-news-grid--archive { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fz-news-card--featured { grid-column: span 2; }
  .fz-article-layout { grid-template-columns: 1fr; }
  .fz-article-aside { position: static; padding-top: 0; }
  .fz-article-aside__card { display: grid; grid-template-columns: 58px 1fr auto; gap: 14px; align-items: center; }
  .fz-article-aside__card > i,.fz-article-aside__card h2,.fz-article-aside__card p { margin: 0; }
  .fz-article-aside__card p { grid-column: 2/3; }
  .fz-article-aside__card .fz-btn { grid-column: 3; grid-row: 1/3; }
}

@media (max-width: 640px) {
  .fz-globe-label { top: 33px; font-size: .58rem; }
  .fz-connect-card { grid-template-columns: 48px 1fr 25px; padding: 13px; }
  .fz-connect-card__icon { width: 48px; height: 48px; }
  .fz-news-grid--archive { grid-template-columns: 1fr; }
  .fz-news-card--featured { grid-column: auto; display: block; }
  .fz-news-card--featured .fz-news-card__image { aspect-ratio: 16/10; }
  .fz-news-card--featured .fz-news-card__body { padding: 22px; }
  .fz-article-hero { padding: 56px 0 125px; }
  .fz-article-layout { margin-top: -76px; padding-bottom: 70px; }
  .fz-article-cover { border-width: 6px; border-radius: 20px; }
  .fz-article-content { padding: 5px 2px; font-size: .96rem; }
  .fz-article-aside__card { display: block; }
  .fz-article-aside__card > i,.fz-article-aside__card h2,.fz-article-aside__card p { margin-bottom: 14px; }
  .fz-org-tree { gap: 48px; }
  .fz-org-level__cards { display: grid; grid-template-columns: 1fr; }
  .fz-org-card,.fz-org-card--featured { width: 100%; }
  .fz-org-level--manager .fz-org-level__cards::before,.fz-org-level--team .fz-org-level__cards::before { display: none; }
}
