/* =========================================================
   Aainball site v2 — inner pages design system.
   Inner pages render inside <main class="home-v2 site-v2">, so every
   home component (.hv2-btn, .hv2-head, .hv2-news, .hv2-card, .hv2-tile …)
   works the same. This file adds the parts the home page does not have.
   ========================================================= */

.site-v2 { min-height: 50vh; }

/* ---------- Layout helpers ---------- */
.site-v2 .hv2-section--tight { padding: 56px 0; }
.site-v2 .hv2-section--top0 { padding-top: 0; }
.site-v2 .hv2-stack > * + * { margin-top: 24px; }
.site-v2 .hv2-grid { display: grid; gap: 24px; }
.site-v2 .hv2-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-v2 .hv2-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-v2 .hv2-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.site-v2 .hv2-split { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
.site-v2 .hv2-split--wide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.site-v2 .hv2-split--left { grid-template-columns: 360px minmax(0, 1fr); }
.site-v2 .hv2-sticky { position: sticky; top: 76px; }
.site-v2 .hv2-center { text-align: center; }
.site-v2 .hv2-muted { color: var(--muted); }

/* ---------- Page hero (all inner pages) ---------- */
.site-v2 .hv2-page-hero {
    position: relative; overflow: hidden; color: #fff; background-color: var(--navy);
    background-size: cover; background-position: center; padding: 88px 0 72px;
}
.site-v2 .hv2-page-hero::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(15, 27, 61, .92) 0%, rgba(15, 27, 61, .6) 50%, rgba(15, 27, 61, .15) 100%);
}
.site-v2 .hv2-page-hero > * { position: relative; }
.site-v2 .hv2-page-hero--plain { background: var(--gray); color: var(--ink); padding: 64px 0 56px; border-bottom: 1px solid var(--line); }
.site-v2 .hv2-page-hero--plain::before {
    background: none; inset: auto; top: -90px; right: -70px; width: 280px; height: 280px;
    border-radius: 50%; border: 40px solid rgba(247, 148, 29, .12);
}
.site-v2 .hv2-page-hero__crumbs {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; margin: 0 0 18px;
    color: rgba(255, 255, 255, .8);
}
.site-v2 .hv2-page-hero--plain .hv2-page-hero__crumbs { color: var(--muted); }
.site-v2 .hv2-page-hero__crumbs a:hover { color: var(--orange); }
.site-v2 .hv2-page-hero__crumbs li + li::before { content: "/"; margin-right: 8px; opacity: .6; }
.site-v2 .hv2-page-hero .hv2-eyebrow { color: rgba(255, 255, 255, .85); }
.site-v2 .hv2-page-hero--plain .hv2-eyebrow { color: var(--orange-text); }
.site-v2 .hv2-page-hero h1 { color: #fff; font-size: clamp(32px, 4.6vw, 54px); margin: 10px 0 14px; max-width: 780px; }
.site-v2 .hv2-page-hero--plain h1 { color: var(--ink); }
.site-v2 .hv2-page-hero p.hv2-page-hero__sub { color: #D1D5E0; font-size: 17px; max-width: 620px; }
.site-v2 .hv2-page-hero--plain p.hv2-page-hero__sub { color: var(--muted); }
.site-v2 .hv2-page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.site-v2 .hv2-page-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* chips */
.site-v2 .hv2-chip-s {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
    font-size: 12.5px; font-weight: 600; background: #fff; border: 1px solid var(--line); color: #374151;
}
.site-v2 .hv2-page-hero:not(.hv2-page-hero--plain) .hv2-chip-s { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .25); color: #fff; }
.site-v2 .hv2-chip-s--orange { background: var(--orange-l); border-color: #FCD9A8; color: var(--orange-text); }
.site-v2 .hv2-chip-s--live { background: #FEE2E2; border-color: #FECACA; color: #B91C1C; }
.site-v2 .hv2-chip-s .hv2-i { font-size: 14px; }

/* ---------- Media wrappers (broken/missing/black images → default image via JS) ---------- */
.site-v2 .hv2-media {
    position: relative; display: block; overflow: hidden;
    background: var(--gray-2) url('../../img/hv2-default.svg') center / cover no-repeat;
    aspect-ratio: 16 / 9;
}
.site-v2 .hv2-media--square { aspect-ratio: 1 / 1; }
.site-v2 .hv2-media--portrait { aspect-ratio: 4 / 5; }
.site-v2 .hv2-media--wide { aspect-ratio: 21 / 9; }
.site-v2 .hv2-media > img, .site-v2 .hv2-media > iframe, .site-v2 .hv2-media > video {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; display: block;
}
.site-v2 .hv2-media--contain > img { object-fit: contain; padding: 14px; background: #fff; }

/* ---------- Filter pills ---------- */
.site-v2 .hv2-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.site-v2 .hv2-pill {
    display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px;
    background: #fff; border: 1px solid var(--line); color: #374151; font-size: 14px; font-weight: 600;
    transition: background var(--ease), color var(--ease), border-color var(--ease); cursor: pointer;
}
.site-v2 .hv2-pill:hover { border-color: var(--ink); color: var(--ink); }
.site-v2 .hv2-pill.is-active, .site-v2 .hv2-pill[aria-current="page"], .site-v2 .hv2-pill[aria-selected="true"] {
    background: var(--ink); border-color: var(--ink); color: #fff;
}
.site-v2 .hv2-filterbar { background: #fff; border-bottom: 1px solid var(--line); padding: 18px 0; }
.site-v2 .hv2-filterbar__inner { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.site-v2 .hv2-filterbar__label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }

/* ---------- Generic content cards ---------- */
.site-v2 .hv2-box { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px; }
.site-v2 .hv2-box--gray { background: var(--gray); }
.site-v2 .hv2-box__title { font-size: 20px; margin-bottom: 18px; }
.site-v2 .hv2-box__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.site-v2 .hv2-box__head .hv2-box__title { margin: 6px 0 0; }

/* person card (executives, members, coaches, players) */
.site-v2 .hv2-person {
    display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
    overflow: hidden; transition: transform var(--ease), box-shadow var(--ease);
}
.site-v2 .hv2-person:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.site-v2 .hv2-person__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.site-v2 .hv2-person__name { font-size: 18px; font-weight: 700; line-height: 1.3; }
.site-v2 .hv2-person__role { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-text); }
.site-v2 .hv2-person__meta { display: grid; gap: 6px; margin: 10px 0 14px; font-size: 13.5px; color: var(--muted); }
.site-v2 .hv2-person__meta div { display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); padding-top: 6px; }
.site-v2 .hv2-person__meta strong { color: var(--ink); font-weight: 600; text-align: right; }
.site-v2 .hv2-person .hv2-link { margin-top: auto; }

/* entity card (federations / clubs / franchises) */
.site-v2 .hv2-entity {
    display: flex; align-items: center; gap: 16px; padding: 20px; background: #fff; border: 1px solid var(--line);
    border-radius: var(--radius-lg); transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.site-v2 .hv2-entity:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--orange); }
.site-v2 .hv2-entity__logo {
    position: relative; width: 64px; height: 64px; flex-shrink: 0; border-radius: 16px; overflow: hidden;
    background: var(--gray) url('../../img/hv2-default.svg') center / cover;
}
.site-v2 .hv2-entity__logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.site-v2 .hv2-entity__body { min-width: 0; flex: 1; }
.site-v2 .hv2-entity__name { font-size: 17px; font-weight: 700; line-height: 1.3; }
.site-v2 .hv2-entity__sub { font-size: 13.5px; color: var(--muted); display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.site-v2 .hv2-entity__arrow {
    width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--line); flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center; color: var(--ink); transition: all var(--ease);
}
.site-v2 .hv2-entity:hover .hv2-entity__arrow { background: var(--orange); border-color: var(--orange); color: #fff; transform: rotate(45deg); }

/* list rows (documents, jobs, posts) */
.site-v2 .hv2-rows { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.site-v2 .hv2-row { display: flex; align-items: center; gap: 16px; padding: 16px 22px; border-top: 1px solid var(--line); transition: background var(--ease); }
.site-v2 .hv2-row:first-child { border-top: 0; }
.site-v2 a.hv2-row:hover, .site-v2 .hv2-row--hover:hover { background: #FFFBF5; }
.site-v2 .hv2-row__icon {
    width: 42px; height: 42px; flex-shrink: 0; border-radius: var(--radius-sm); background: var(--orange-l); color: var(--orange-d);
    display: inline-flex; align-items: center; justify-content: center; font-size: 19px;
}
.site-v2 .hv2-row__body { flex: 1; min-width: 0; }
.site-v2 .hv2-row__title { font-weight: 600; color: var(--ink); line-height: 1.35; }
.site-v2 .hv2-row__sub { font-size: 13px; color: var(--muted); }
.site-v2 .hv2-row__end { flex-shrink: 0; color: var(--muted); font-size: 13px; display: flex; align-items: center; gap: 10px; }

/* key/value list */
.site-v2 .hv2-kv { display: grid; margin: 0; }
.site-v2 .hv2-kv > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 14.5px; }
.site-v2 .hv2-kv > div:first-child { border-top: 0; padding-top: 0; }
.site-v2 .hv2-kv dt { color: var(--muted); font-weight: 500; margin: 0; }
.site-v2 .hv2-kv dd { color: var(--ink); font-weight: 600; margin: 0; text-align: right; word-break: break-word; }

/* stat tiles */
.site-v2 .hv2-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.site-v2 .hv2-stat { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; }
.site-v2 .hv2-stat__num { font-family: var(--head); font-weight: 800; font-size: 28px; color: var(--navy); letter-spacing: -0.02em; line-height: 1.1; }
.site-v2 .hv2-stat__label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: 4px; }

/* ---------- Rich text (CMS HTML) ---------- */
.site-v2 .hv2-prose { color: #374151; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.site-v2 .hv2-prose > * + * { margin-top: 1em; }
.site-v2 .hv2-prose p + p { margin-top: 1em; }
.site-v2 .hv2-prose h1, .site-v2 .hv2-prose h2 { font-size: 26px; margin-top: 1.6em; }
.site-v2 .hv2-prose h3 { font-size: 21px; margin-top: 1.4em; }
.site-v2 .hv2-prose h4, .site-v2 .hv2-prose h5, .site-v2 .hv2-prose h6 { font-size: 17px; margin-top: 1.2em; }
.site-v2 .hv2-prose ul, .site-v2 .hv2-prose ol { padding-left: 1.4em; }
.site-v2 .hv2-prose ul { list-style: disc; }
.site-v2 .hv2-prose ol { list-style: decimal; }
.site-v2 .hv2-prose li + li { margin-top: .4em; }
.site-v2 .hv2-prose li::marker { color: var(--orange-d); }
.site-v2 .hv2-prose a { color: var(--orange-text); text-decoration: underline; text-underline-offset: 3px; }
.site-v2 .hv2-prose strong, .site-v2 .hv2-prose b { color: var(--ink); }
.site-v2 .hv2-prose img { border-radius: var(--radius); height: auto; max-width: 100%; display: block; }
.site-v2 .hv2-prose blockquote { border-left: 4px solid var(--orange); background: var(--gray); padding: 16px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.site-v2 .hv2-prose table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.site-v2 .hv2-prose th, .site-v2 .hv2-prose td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; }
.site-v2 .hv2-prose th { background: var(--gray); }
.site-v2 .hv2-prose iframe { max-width: 100%; border-radius: var(--radius); }

/* ---------- Tables ---------- */
.site-v2 .hv2-table-wrap { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: auto; background: #fff; }
.site-v2 .hv2-table { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 560px; }
.site-v2 .hv2-table th {
    text-align: left; background: var(--gray); color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; padding: 14px 18px; border-bottom: 1px solid var(--line); white-space: nowrap;
}
.site-v2 .hv2-table td { padding: 14px 18px; border-top: 1px solid var(--line); color: #374151; vertical-align: middle; }
.site-v2 .hv2-table tr:first-child td { border-top: 0; }
.site-v2 .hv2-table tbody tr:hover td { background: #FFFBF5; }

/* ranking table (top players / club ranking) */
.site-v2 .hv2-rank-table { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
.site-v2 .hv2-rank-table__head, .site-v2 .hv2-rank-table__row {
    display: grid; grid-template-columns: 72px minmax(0, 1fr) 220px 120px; align-items: center; gap: 16px; padding: 14px 24px;
}
.site-v2 .hv2-rank-table__head { background: var(--gray); color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; border-bottom: 1px solid var(--line); }
.site-v2 .hv2-rank-table__row { border-top: 1px solid var(--line); transition: background var(--ease); }
.site-v2 .hv2-rank-table__head + .hv2-rank-table__row { border-top: 0; }
.site-v2 .hv2-rank-table__row:hover { background: #FFFBF5; }
.site-v2 .hv2-rank-table__pos { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--head); font-weight: 800; font-size: 13px; color: #fff; background: #0F8F82; }
.site-v2 .is-top-1 .hv2-rank-table__pos { background: #F5B301; }
.site-v2 .is-top-2 .hv2-rank-table__pos { background: #8A95A5; }
.site-v2 .is-top-3 .hv2-rank-table__pos { background: #CD7F45; }
.site-v2 .hv2-rank-table__name { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--ink); font-weight: 600; }
.site-v2 .hv2-rank-table__name:hover { color: var(--orange-text); }
.site-v2 .hv2-rank-table__av { position: relative; width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: var(--gray-2); color: var(--navy); display: inline-flex; align-items: center; justify-content: center; font: 800 13px var(--head); }
.site-v2 .hv2-rank-table__av--square { border-radius: 10px; }
.site-v2 .hv2-rank-table__av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.site-v2 .hv2-rank-table__meta { color: var(--muted); font-size: 14px; }
.site-v2 .hv2-rank-table__label { display: none; }
.site-v2 .hv2-rank-table__num { text-align: right; font-family: var(--head); font-weight: 800; font-size: 18px; color: var(--orange-text); }
.site-v2 .hv2-rank-table__head .hv2-rank-table__num { font: inherit; color: inherit; }

/* ---------- Forms ---------- */
.site-v2 .hv2-form { display: grid; gap: 18px; }
.site-v2 .hv2-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.site-v2 .hv2-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.site-v2 .hv2-label, .site-v2 .hv2-field > label { font-size: 13.5px; font-weight: 600; color: var(--ink); margin: 0; }
.site-v2 .req { color: #B91C1C; }
.site-v2 .hv2-input,
.site-v2 .hv2-form input[type="text"], .site-v2 .hv2-form input[type="email"], .site-v2 .hv2-form input[type="password"],
.site-v2 .hv2-form input[type="number"], .site-v2 .hv2-form input[type="tel"], .site-v2 .hv2-form input[type="date"],
.site-v2 .hv2-form input[type="search"], .site-v2 .hv2-form input[type="url"], .site-v2 .hv2-form select, .site-v2 .hv2-form textarea {
    width: 100%; min-height: 48px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background-color: #fff;
    padding: 11px 15px; font: 400 15px var(--body); color: var(--ink); outline: none; box-shadow: none; margin: 0;
    transition: border-color var(--ease), box-shadow var(--ease);
}
.site-v2 .hv2-form select, .site-v2 select.hv2-input {
    -webkit-appearance: none; appearance: none; padding-right: 40px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center no-repeat;
}
.site-v2 .hv2-form textarea, .site-v2 textarea.hv2-input { min-height: 130px; resize: vertical; }
.site-v2 .hv2-input:focus, .site-v2 .hv2-form input:focus, .site-v2 .hv2-form select:focus, .site-v2 .hv2-form textarea:focus {
    border-color: var(--orange); box-shadow: 0 0 0 4px rgba(247, 148, 29, .18);
}
.site-v2 .hv2-form input::placeholder, .site-v2 .hv2-form textarea::placeholder { color: #9CA3AF; }
.site-v2 .hv2-form input[type="file"] { width: 100%; padding: 12px; border: 1.5px dashed #D1D5DB; border-radius: var(--radius-sm); background: var(--gray); font-size: 14px; }
.site-v2 .hv2-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #374151; font-weight: 400; }
.site-v2 .hv2-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--orange); flex-shrink: 0; }
.site-v2 .hv2-error, .site-v2 .hv2-form .invalid-feedback, .site-v2 .hv2-form label.error, .site-v2 .hv2-form span.error, .site-v2 .hv2-form .text-danger { color: #B91C1C; font-size: 13px; font-weight: 500; display: block; }
.site-v2 .hv2-form .is-invalid, .site-v2 .hv2-form input.error, .site-v2 .hv2-form select.error, .site-v2 .hv2-form textarea.error { border-color: #DC2626 !important; }
.site-v2 .hv2-help { font-size: 12.5px; color: var(--muted); }
.site-v2 .hv2-form .iti { width: 100%; }
.site-v2 .hv2-form .iti input { padding-left: 54px !important; }
.site-v2 .hv2-form-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-xl); padding: 36px; box-shadow: var(--shadow); }
.site-v2 .hv2-form-card__title { font-size: 26px; margin-bottom: 6px; }
.site-v2 .hv2-form-card__sub { color: var(--muted); margin-bottom: 26px; }
.site-v2 .hv2-btn--block { width: 100%; }
.site-v2 .hv2-btn--lg { padding: 14px 28px; font-size: 15px; }
.site-v2 .hv2-btn:disabled { opacity: .55; cursor: not-allowed; }
.site-v2 .hv2-divider { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 13px; }
.site-v2 .hv2-divider::before, .site-v2 .hv2-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.site-v2 .hv2-btn--google { background: #fff; border-color: var(--line); color: var(--ink); }
.site-v2 .hv2-btn--google:hover { border-color: var(--ink); color: var(--ink); }

/* alerts */
.site-v2 .hv2-alert { border-radius: var(--radius-sm); padding: 14px 18px; font-size: 14.5px; border: 1px solid; }
.site-v2 .hv2-alert--ok { background: #ECFDF5; border-color: #A7F3D0; color: #065F46; }
.site-v2 .hv2-alert--err { background: #FEF2F2; border-color: #FECACA; color: #991B1B; }
.site-v2 .hv2-alert--info { background: var(--orange-l); border-color: #FCD9A8; color: #7C3F00; }

/* ---------- Accordion (FAQ) ---------- */
.site-v2 .hv2-acc { display: grid; gap: 12px; }
.site-v2 .hv2-acc details { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: border-color var(--ease), box-shadow var(--ease); }
.site-v2 .hv2-acc details[open] { border-color: var(--orange); box-shadow: var(--shadow); }
.site-v2 .hv2-acc summary {
    list-style: none; cursor: pointer; padding: 20px 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px;
    font-family: var(--head); font-weight: 700; font-size: 17px; color: var(--ink);
}
.site-v2 .hv2-acc summary::-webkit-details-marker { display: none; }
.site-v2 .hv2-acc__icon {
    width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; background: var(--gray); display: inline-flex; align-items: center; justify-content: center;
    transition: transform var(--ease), background var(--ease), color var(--ease);
}
.site-v2 .hv2-acc details[open] .hv2-acc__icon { transform: rotate(180deg); background: var(--orange); color: #fff; }
.site-v2 .hv2-acc__body { padding: 0 24px 22px; }

/* ---------- Profile header (people / federations) ---------- */
.site-v2 .hv2-profile { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; }
.site-v2 .hv2-profile__photo {
    position: relative; width: 148px; height: 148px; border-radius: 50%; overflow: hidden; flex-shrink: 0;
    background: #fff url('../../img/hv2-default.svg') center / cover; box-shadow: 0 0 0 5px #fff, 0 0 0 7px var(--orange);
}
.site-v2 .hv2-profile__photo--square { border-radius: 28px; }
.site-v2 .hv2-profile__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.site-v2 .hv2-profile__actions { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.site-v2 .hv2-socials { display: flex; gap: 8px; flex-wrap: wrap; }
.site-v2 .hv2-socials a {
    width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink);
    display: inline-flex; align-items: center; justify-content: center; font-size: 16px; transition: all var(--ease);
}
.site-v2 .hv2-socials a:hover { background: var(--orange); border-color: var(--orange); color: #fff; }

/* tabs */
.site-v2 .hv2-tabs { display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 28px; }
.site-v2 .hv2-tabpanel[hidden] { display: none; }

/* ---------- Empty state ---------- */
.site-v2 .hv2-empty-state { text-align: center; padding: 56px 24px; border: 1.5px dashed #D1D5DB; border-radius: var(--radius-lg); background: var(--gray); }
.site-v2 .hv2-empty-state .hv2-icon-box { margin: 0 auto 14px; }
.site-v2 .hv2-empty-state h3 { font-size: 20px; margin-bottom: 6px; }
.site-v2 .hv2-empty-state p { color: var(--muted); }

/* Pagination: one shared design, see resources/views/vendor/pagination/hv2.blade.php (<x-pagination>) */

/* ---------- Page parts ---------- */
/* about */
.site-v2 .hv2-about__img { border-radius: var(--radius-xl); }
.site-v2 .hv2-about__lead { margin-top: 18px; }
.site-v2 .hv2-about__card { cursor: default; }
.site-v2 .hv2-about__card .hv2-prose { font-size: 15px; color: var(--muted); }
.site-v2 .hv2-about__note { margin-top: 32px; grid-template-columns: 1fr; padding: 44px 48px; }
.site-v2 .hv2-about__note-text { font-size: 17px; color: var(--ink); margin-top: 10px; max-width: 820px; }

/* table of contents + long document */
.site-v2 .hv2-toc ol { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 2px; }
.site-v2 .hv2-toc a { display: flex; gap: 12px; padding: 9px 10px; border-radius: 10px; font-size: 14px; font-weight: 500; color: #374151; }
.site-v2 .hv2-toc a span { color: var(--orange-text); font-weight: 700; font-size: 12px; padding-top: 2px; }
.site-v2 .hv2-toc a:hover { background: var(--gray); color: var(--ink); }
.site-v2 .hv2-doc__block { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
.site-v2 .hv2-doc__title { font-size: clamp(24px, 2.6vw, 30px); margin: 8px 0 16px; }
.site-v2 .hv2-doc__callout { grid-template-columns: 1fr; padding: 44px 48px; scroll-margin-top: 80px; }
.site-v2 .hv2-doc__callout-text { color: var(--ink); font-size: 16px; line-height: 1.8; }

/* profile */
.site-v2 .hv2-profile-hero { padding: 56px 0 48px; }
.site-v2 .hv2-profile-hero h1 { margin: 6px 0 4px; font-size: clamp(30px, 4vw, 46px); }
.site-v2 .hv2-profile__initials {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font: 800 40px var(--head); color: var(--navy); background: var(--orange-l);
}
.site-v2 .hv2-profile__photo img { z-index: 1; }
.site-v2 .hv2-kv--spaced { margin-top: 14px; }
.site-v2 .hv2-overview { display: grid; gap: 24px; }
.site-v2 .hv2-overview.has-image { grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
.site-v2 .hv2-overview__img { border-radius: var(--radius); }
.site-v2 .hv2-tiles--3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 900px) {
    .site-v2 .hv2-tiles--3 { grid-template-columns: repeat(2, 1fr); }
    .site-v2 .hv2-about__note, .site-v2 .hv2-doc__callout { padding: 32px; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-overview.has-image { grid-template-columns: 1fr; }
    .site-v2 .hv2-tiles--3 { grid-template-columns: 1fr; }
    .site-v2 .hv2-about__note, .site-v2 .hv2-doc__callout { padding: 26px 22px; }
}

/* article (news / blog post) */
.site-v2 .hv2-article { min-width: 0; display: grid; gap: 32px; }
.site-v2 .hv2-article__img { border-radius: var(--radius-lg); margin: 0; }
.site-v2 .hv2-article__body { font-size: 17px; }
.site-v2 .hv2-article__share { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--line); }
.site-v2 .hv2-article__share .hv2-btn { margin-left: auto; }
.site-v2 .hv2-socials__txt { font: 700 14px var(--body); }
.site-v2 .hv2-mini-list { display: grid; gap: 4px; margin-top: 6px; }
.site-v2 .hv2-mini { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; align-items: center; padding: 8px; margin: 0 -8px; border-radius: 12px; transition: background var(--ease); }
.site-v2 .hv2-mini:hover { background: var(--gray); }
.site-v2 .hv2-mini__img { aspect-ratio: 4 / 3; border-radius: 10px; }
.site-v2 .hv2-mini__title { display: block; font-weight: 600; font-size: 14px; line-height: 1.35; color: var(--ink); }
.site-v2 .hv2-mini:hover .hv2-mini__title { color: var(--orange-text); }
.site-v2 .hv2-mini__date { display: block; font-size: 12.5px; color: var(--muted); margin-top: 3px; }
.site-v2 .hv2-pill__count { display: inline-flex; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; align-items: center; justify-content: center; background: var(--gray); color: var(--muted); font-size: 12px; }
.site-v2 .hv2-pill:hover .hv2-pill__count { background: var(--orange-l); color: var(--orange-text); }
.site-v2 .hv2-archive { display: grid; gap: 2px; margin-top: 10px; }
.site-v2 .hv2-archive a { display: flex; justify-content: space-between; padding: 8px 10px; border-radius: 10px; font-size: 14px; }
.site-v2 .hv2-archive a:hover { background: var(--gray); }
.site-v2 .hv2-author { display: flex; gap: 20px; align-items: flex-start; }
.site-v2 .hv2-author__avatar, .site-v2 .hv2-comment__avatar {
    width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; background: var(--orange-l); color: var(--orange-text);
    display: inline-flex; align-items: center; justify-content: center; font: 800 20px var(--head);
}
.site-v2 .hv2-author__name { font-size: 20px; margin: 4px 0 6px; }
.site-v2 .hv2-comments { display: grid; gap: 18px; }
.site-v2 .hv2-comments__title { font-size: 24px; }
.site-v2 .hv2-comment { display: flex; gap: 14px; }
.site-v2 .hv2-comment__avatar { width: 42px; height: 42px; font-size: 15px; }
.site-v2 .hv2-comment__main { flex: 1; min-width: 0; background: var(--gray); border-radius: var(--radius); padding: 14px 18px; }
.site-v2 .hv2-comment--reply { margin-top: 12px; }
.site-v2 .hv2-comment--reply .hv2-comment__main { background: #fff; }
.site-v2 .hv2-comment__head { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; margin-bottom: 4px; }
.site-v2 .hv2-comment__head time { font-size: 12.5px; color: var(--muted); }

/* blog */
.site-v2 .hv2-blog__result { margin-bottom: 24px; }
.site-v2 .hv2-blog__result a { color: var(--orange-text); font-weight: 600; text-decoration: underline; }
.site-v2 .hv2-blog__head { margin: 56px 0 28px; }
.site-v2 .hv2-blog__search { margin-top: 12px; gap: 12px; }
.site-v2 .hv2-blog__about { color: var(--muted); font-size: 14.5px; margin-top: 8px; }
.site-v2 .hv2-news--feature .hv2-news__title { font-size: clamp(22px, 2.6vw, 30px); }
.site-v2 .hv2-news--feature .hv2-news__body { padding: 28px 30px; }
.site-v2 .hv2-news--feature .hv2-news__text { -webkit-line-clamp: 3; font-size: 15.5px; }

/* video cards */
.site-v2 .hv2-vcard { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: transform var(--ease), box-shadow var(--ease); }
.site-v2 .hv2-vcard:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.site-v2 .hv2-vcard__media { width: 100%; border: 0; padding: 0; cursor: pointer; }
.site-v2 .hv2-vcard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 27, 61, 0) 40%, rgba(15, 27, 61, .55) 100%); }
.site-v2 .hv2-vcard__media img { transition: transform .6s ease; }
.site-v2 .hv2-vcard:hover .hv2-vcard__media img { transform: scale(1.04); }
.site-v2 .hv2-vcard__play {
    position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 60px; height: 60px; border-radius: 50%; background: var(--orange); color: #fff; font-size: 22px;
    display: flex; align-items: center; justify-content: center; padding-left: 3px;
    box-shadow: 0 0 0 10px rgba(247, 148, 29, .25); transition: transform var(--ease);
}
.site-v2 .hv2-vcard:hover .hv2-vcard__play { transform: translate(-50%, -50%) scale(1.08); }
.site-v2 .hv2-vcard__body { padding: 20px 22px 22px; }
.site-v2 .hv2-vcard__title { font-size: 17px; font-weight: 700; line-height: 1.3; }
.site-v2 .hv2-vcard__text { font-size: 14px; color: var(--muted); margin-top: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

@media (max-width: 620px) {
    .site-v2 .hv2-article__body { font-size: 16px; }
    .site-v2 .hv2-article__share .hv2-btn { margin-left: 0; }
    .site-v2 .hv2-news--feature .hv2-news__body { padding: 20px 22px; }
}

/* contact */
.site-v2 .hv2-contact__card .hv2-icon-box { margin-bottom: 14px; }
.site-v2 .hv2-contact__card .hv2-box__title { font-size: 18px; margin: 6px 0 8px; }
.site-v2 .hv2-contact__addr { font-style: normal; color: var(--muted); font-size: 14.5px; line-height: 1.7; }
.site-v2 .hv2-contact__line { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-weight: 600; color: var(--ink); }
.site-v2 .hv2-contact__line .hv2-i { color: var(--orange-d); }
.site-v2 .hv2-contact__line:hover { color: var(--orange-text); }
.site-v2 .hv2-contact__line--big { font-size: 17px; word-break: break-all; }
.site-v2 .hv2-contact__map { border-radius: var(--radius-lg); border: 1px solid var(--line); }

/* faq */
.site-v2 .hv2-faq { max-width: 920px; }
.site-v2 .hv2-faq__search { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto auto; align-items: center; margin-bottom: 32px; }
.site-v2 .hv2-faq__search .hv2-btn { height: 48px; }
.site-v2 .hv2-faq__cta { margin-top: 48px; }

/* jobs */
.site-v2 .hv2-jobs { display: grid; gap: 14px; }
.site-v2 .hv2-job {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 20px; align-items: center;
    padding: 22px 26px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
    transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.site-v2 .hv2-job:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--orange); }
.site-v2 .hv2-job__main { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.site-v2 .hv2-job__title { font: 700 19px var(--head); color: var(--ink); letter-spacing: -0.01em; }
.site-v2 .hv2-job__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13.5px; color: var(--muted); }
.site-v2 .hv2-job__meta span + span::before { content: "\2022"; margin-right: 14px; color: #D1D5DB; }
.site-v2 .hv2-job__date { font-size: 13px; color: var(--muted); white-space: nowrap; }
.site-v2 .hv2-job__stats { margin-bottom: 22px; }
.site-v2 .hv2-job__statval { font: 700 16px var(--head); color: var(--ink); margin-top: 6px; word-break: break-word; }
.site-v2 .hv2-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.site-v2 .hv2-step { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px 22px; }
.site-v2 .hv2-step__num { display: inline-flex; width: 42px; height: 42px; border-radius: 12px; background: var(--orange); color: #fff; align-items: center; justify-content: center; font: 800 15px var(--head); margin-bottom: 16px; }
.site-v2 .hv2-step h3 { font-size: 18px; margin-bottom: 6px; }
.site-v2 .hv2-step p { font-size: 14px; color: var(--muted); }
.site-v2 .hv2-upload {
    display: flex !important; align-items: center; gap: 14px; padding: 16px; border: 1.5px dashed #D1D5DB; border-radius: var(--radius-sm);
    background: var(--gray); cursor: pointer; transition: border-color var(--ease), background var(--ease); font-weight: 400 !important;
}
.site-v2 .hv2-upload:hover { border-color: var(--orange); background: var(--orange-l); }
.site-v2 .hv2-upload .hv2-icon-box { margin: 0; width: 42px; height: 42px; background: #fff; }
.site-v2 .hv2-upload strong { display: block; font-size: 14px; color: var(--ink); }
.site-v2 .hv2-upload small { display: block; font-size: 12.5px; color: var(--muted); }
.site-v2 .error-text { display: none; }

/* stakeholders: alternating feature rows */
.site-v2 .hv2-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; padding: 48px 0; border-top: 1px solid var(--line); }
.site-v2 .hv2-feature:first-child { border-top: 0; padding-top: 0; }
.site-v2 .hv2-feature.is-reverse .hv2-feature__img { order: 2; }
.site-v2 .hv2-feature__img { border-radius: var(--radius-xl); }
.site-v2 .hv2-feature__body .hv2-prose { margin-top: 14px; color: var(--muted); }

/* franchise */
.site-v2 .hv2-franchise {
    display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; padding: 24px; margin-bottom: 20px;
    background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); transition: box-shadow var(--ease);
}
.site-v2 .hv2-franchise:hover { box-shadow: var(--shadow); }
.site-v2 .hv2-franchise__img { border-radius: var(--radius); }
.site-v2 .hv2-franchise__title { font-size: 24px; margin: 6px 0 8px; }
.site-v2 .hv2-franchise__title a:hover { color: var(--orange-text); }
.site-v2 .hv2-franchise__desc { color: var(--muted); font-size: 14.5px; }
.site-v2 .hv2-franchise__stats { margin: 18px 0; }
.site-v2 .hv2-franchise__stats .hv2-stat { padding: 14px 16px; background: var(--gray); border: 0; }
.site-v2 .hv2-franchise__actions, .site-v2 .hv2-profile__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.site-v2 .hv2-razorpay { margin: 0; }
.site-v2 .razorpay-payment-button {
    display: inline-flex; align-items: center; justify-content: center; padding: 11px 24px; border-radius: 999px;
    background: var(--orange); border: 1.5px solid var(--orange); color: #fff; font: 600 14px var(--body); cursor: pointer;
    transition: background var(--ease), border-color var(--ease);
}
.site-v2 .razorpay-payment-button:hover { background: var(--orange-d); border-color: var(--orange-d); }
.site-v2 .hv2-subnav { position: sticky; top: 54px; z-index: 20; padding: 12px 0; }
.site-v2 .hv2-anchor { scroll-margin-top: 130px; }
.site-v2 .hv2-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 22px; }
.site-v2 .hv2-gallery .hv2-media { border-radius: 12px; }
.site-v2 .hv2-gallery__main { grid-column: span 4; aspect-ratio: 16 / 8; }
.site-v2 .hv2-regions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.site-v2 .hv2-region { background: var(--gray); border-radius: var(--radius-sm); padding: 14px 16px; }
.site-v2 .hv2-region__name { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-text); margin-bottom: 4px; }
.site-v2 .hv2-region__list { font-size: 14px; color: var(--ink); }

/* library */
.site-v2 .hv2-lib__desc { color: var(--muted); font-size: 14.5px; margin: -8px 0 18px; }
.site-v2 .hv2-rows--flat { border: 0; border-radius: 0; margin: 0 -14px; background: transparent; }
.site-v2 .hv2-rows--flat .hv2-row { padding: 12px 14px; border-radius: 12px; border-top: 0; }
.site-v2 .hv2-back { margin-top: 32px; }
.site-v2 .hv2-modal--doc .hv2-modal__box { width: min(1100px, 100%); }
.site-v2 .hv2-modal--doc .hv2-modal__frame { aspect-ratio: auto; height: min(82vh, 900px); background: #fff; }

/* awards */
.site-v2 .hv2-award { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: transform var(--ease), box-shadow var(--ease); }
.site-v2 .hv2-award:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.site-v2 .hv2-award__chip { position: absolute; top: 16px; left: 16px; z-index: 1; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--navy); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-v2 .hv2-award__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.site-v2 .hv2-award__body .hv2-icon-box { margin: -48px 0 6px; position: relative; background: #fff; box-shadow: var(--shadow); }
.site-v2 .hv2-award__title { font-size: 20px; }
.site-v2 .hv2-award__name { color: var(--muted); }
.site-v2 .hv2-award__body .hv2-link { margin-top: auto; }
.site-v2 .hv2-award__hero-img { border-radius: var(--radius-xl); }
.site-v2 .hv2-award__desc { margin-top: 22px; }

@media (max-width: 1080px) {
    .site-v2 .hv2-steps { grid-template-columns: repeat(3, 1fr); }
    .site-v2 .hv2-job { grid-template-columns: auto minmax(0, 1fr) auto; }
    .site-v2 .hv2-job__date { display: none; }
}
@media (max-width: 900px) {
    .site-v2 .hv2-feature { grid-template-columns: 1fr; gap: 28px; }
    .site-v2 .hv2-feature.is-reverse .hv2-feature__img { order: 0; }
    .site-v2 .hv2-franchise { grid-template-columns: 1fr; }
    .site-v2 .hv2-franchise__img { aspect-ratio: 16 / 9; }
    .site-v2 .hv2-regions { grid-template-columns: repeat(2, 1fr); }
    .site-v2 .hv2-faq__search { grid-template-columns: 1fr 1fr; }
    .site-v2 .hv2-faq__search .hv2-field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-steps { grid-template-columns: 1fr; }
    .site-v2 .hv2-job { grid-template-columns: 1fr; padding: 20px; gap: 14px; }
    .site-v2 .hv2-job .hv2-row__icon { display: none; }
    .site-v2 .hv2-job .hv2-btn { justify-self: start; }
    .site-v2 .hv2-gallery { grid-template-columns: repeat(2, 1fr); }
    .site-v2 .hv2-gallery__main { grid-column: span 2; }
    .site-v2 .hv2-regions { grid-template-columns: 1fr; }
    .site-v2 .hv2-faq__search { grid-template-columns: 1fr; }
    .site-v2 .hv2-hide-sm { display: none; }
    .site-v2 .hv2-row { flex-wrap: wrap; }
    .site-v2 .hv2-subnav { top: 0; }
}

/* federation cards (global structure + sub-federations) */
.site-v2 .hv2-fed {
    position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line);
    border-radius: var(--radius-lg); overflow: hidden; transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.site-v2 .hv2-fed:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--orange); }
.site-v2 .hv2-fed__banner { aspect-ratio: 16 / 9; }
.site-v2 .hv2-fed__logo {
    position: relative; z-index: 1; width: 64px; height: 64px; margin: -32px 0 0 20px; border-radius: 16px; overflow: hidden;
    background: #fff url('../../img/hv2-default.svg') center / cover; border: 3px solid #fff; box-shadow: 0 6px 18px rgba(15, 27, 61, .12);
}
.site-v2 .hv2-fed__logo img { width: 100%; height: 100%; object-fit: cover; }
.site-v2 .hv2-fed__body { padding: 12px 20px 22px; display: flex; flex-direction: column; gap: 4px; padding-right: 64px; }
.site-v2 .hv2-fed__name { font: 700 18px var(--head); color: var(--ink); letter-spacing: -0.01em; line-height: 1.25; }
.site-v2 .hv2-fed__sub { display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--muted); }
.site-v2 .hv2-fed__sub .hv2-i { color: var(--orange-d); }
.site-v2 .hv2-fed__arrow { position: absolute; right: 18px; bottom: 22px; }
.site-v2 .hv2-fed:hover .hv2-fed__arrow { background: var(--orange); border-color: var(--orange); color: #fff; transform: rotate(45deg); }
.site-v2 .hv2-fed__links { margin-top: 56px; }

/* federation / profile extras */
.site-v2 .hv2-share { display: flex; align-items: center; gap: 8px; }
.site-v2 .hv2-share .hv2-eyebrow { margin-right: 4px; }
.site-v2 .hv2-share a {
    width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid var(--line); color: var(--ink); font-size: 14px; transition: all var(--ease);
}
.site-v2 .hv2-share a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.site-v2 .hv2-fd__head { margin-top: 56px; }
.site-v2 .hv2-fd__sponsors { grid-template-columns: repeat(5, 1fr); }
.site-v2 .hv2-overview--wide.has-image { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); }
.site-v2 .hv2-overview--wide .hv2-overview__img { aspect-ratio: 16 / 10; }

@media (max-width: 900px) {
    .site-v2 .hv2-fd__sponsors { grid-template-columns: repeat(3, 1fr); }
    .site-v2 .hv2-overview--wide.has-image { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-fd__sponsors { grid-template-columns: repeat(2, 1fr); }
    .site-v2 .hv2-share { flex-wrap: wrap; }
}

/* auth (login) */
.site-v2 .hv2-auth { min-height: calc(100vh - 260px); display: flex; align-items: center; }
.site-v2 .hv2-auth__grid { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 64px; align-items: center; }
.site-v2 .hv2-auth__crumbs { color: var(--muted); }
.site-v2 .hv2-auth__title { font-size: clamp(32px, 4vw, 48px); margin: 10px 0 14px; max-width: 560px; }
.site-v2 .hv2-auth__list { margin-top: 32px; max-width: 460px; }
.site-v2 .hv2-auth__card .hv2-form { gap: 16px; }
.site-v2 .hv2-auth__list { list-style: none; padding: 0; display: grid; gap: 18px; }
.site-v2 .hv2-auth__list li { display: flex; gap: 14px; align-items: flex-start; }
.site-v2 .hv2-auth__list .hv2-icon-box { margin: 0; flex-shrink: 0; }
.site-v2 .hv2-auth__list strong { display: block; font: 700 15.5px var(--head); color: var(--ink); }
.site-v2 .hv2-auth__list small { display: block; font-size: 13.5px; color: var(--muted); line-height: 1.5; margin-top: 2px; }
/* Login: flat, no card box */
.site-v2 .hv2-auth.hv2-bg-gray { background: #fff; }
.site-v2 .hv2-auth__card.hv2-form-card { background: none; border: 0; border-left: 1px solid var(--line); border-radius: 0; box-shadow: none; padding: 8px 0 8px 48px; }
@media (max-width: 1080px) {
    .site-v2 .hv2-auth__card.hv2-form-card { border-left: 0; border-top: 1px solid var(--line); padding: 28px 0 0; }
}
.site-v2 .hv2-auth__link { color: var(--orange-text); font-weight: 600; }
.site-v2 .hv2-auth__link:hover { text-decoration: underline; }
.site-v2 .hv2-auth__options { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; }
.site-v2 .hv2-auth__foot { margin-top: 22px; text-align: center; font-size: 14px; color: var(--muted); }
.site-v2 .hv2-auth .hv2-alert { margin-bottom: 16px; }
.site-v2 .hv2-pass { position: relative; }
.site-v2 .hv2-pass input { padding-right: 70px !important; }
.site-v2 .hv2-pass__toggle {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%); height: 32px; padding: 0 12px; border-radius: 999px;
    background: var(--gray) !important; color: var(--ink); font-size: 12.5px; font-weight: 600;
}
.site-v2 .hv2-pass__toggle:hover { background: var(--gray-2) !important; }
.site-v2 .hv2-captcha { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(15, 27, 61, .8); padding: 20px; }
.site-v2 .hv2-captcha__box { background: #fff; border-radius: var(--radius-lg); padding: 28px; display: grid; gap: 18px; justify-items: center; box-shadow: var(--shadow); }
.site-v2 .hv2-captcha__box h3 { font-size: 20px; }

@media (max-width: 1080px) {
    .site-v2 .hv2-auth__grid { grid-template-columns: 1fr; gap: 36px; }
    .site-v2 .hv2-auth__card { max-width: 560px; width: 100%; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-auth__list { display: none; }
}

/* narrow containers (forms) */
.site-v2 .hv2-narrow { max-width: 640px; }
.site-v2 .hv2-narrow--wide { max-width: 980px; }

/* match cards (results) */
.site-v2 .hv2-match { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: transform var(--ease), box-shadow var(--ease); }
.site-v2 .hv2-match:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.site-v2 .hv2-match.is-live { border-color: #FECACA; }
.site-v2 .hv2-match__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 20px; background: var(--gray); border-bottom: 1px solid var(--line); }
.site-v2 .hv2-match__type { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-text); }
.site-v2 .hv2-match__meta { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--muted); }
.site-v2 .hv2-match__body { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 26px 20px; }
.site-v2 .hv2-match__team { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; min-width: 0; }
.site-v2 .hv2-match__logo { position: relative; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--gray) url('../../img/hv2-default.svg') center / cover; border: 1px solid var(--line); }
.site-v2 .hv2-match__logo img { width: 100%; height: 100%; object-fit: cover; }
.site-v2 .hv2-match__name { font-weight: 600; font-size: 14.5px; color: var(--ink); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-v2 .hv2-match__score { display: flex; align-items: center; gap: 10px; font: 800 34px var(--head); color: var(--navy); letter-spacing: -0.02em; white-space: nowrap; }
.site-v2 .hv2-match__sep { color: var(--muted); font-weight: 600; }
.site-v2 .hv2-match__foot { padding: 0 20px 20px; display: flex; justify-content: center; }
.site-v2 .hv2-win-pill { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 12px; border-radius: 999px; background: #DCFCE7; border: 1px solid #BBF7D0; color: #15803D; font: 700 12.5px var(--body); line-height: 1.2; text-align: center; }
.site-v2 .hv2-win-pill .hv2-i { font-size: 14px; color: #16A34A; flex-shrink: 0; }
.site-v2 .hv2-win-pill--draw { background: var(--gray); border-color: var(--line); color: var(--muted); }
.site-v2 .hv2-live__dot { width: 8px; height: 8px; border-radius: 50%; background: #EF4444; display: inline-block; position: relative; }
.site-v2 .hv2-live__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #EF4444; animation: hv2-pulse 1.6s ease-out infinite; }
.site-v2 .hv2-chip-s--ok { background: #ECFDF5; border-color: #A7F3D0; color: #065F46; }

/* match detail */
.site-v2 .hv2-matchbar { background: #fff; border-bottom: 1px solid var(--line); padding: 14px 0; }
.site-v2 .hv2-matchbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.site-v2 .hv2-matchbar .hv2-page-hero__crumbs { margin: 0; color: var(--muted); }
.site-v2 .hv2-matchbar__back { padding: 8px 18px; font-size: 13px; }
.site-v2 .match-action-buttons .hv2-btn { margin: 0 4px; }
.site-v2 .hv2-match-media__msg { margin-bottom: 24px; }
.site-v2 .hv2-match-media__cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.site-v2 .hv2-bsmodal .modal-content { border: 0; border-radius: var(--radius-lg); box-shadow: 0 24px 64px rgba(15, 27, 61, .3); overflow: hidden; }
.site-v2 .hv2-bsmodal .modal-header { border-bottom: 1px solid var(--line); padding: 22px 24px; }
.site-v2 .hv2-bsmodal .modal-title { font: 800 20px var(--head); color: var(--ink); }
.site-v2 .hv2-bsmodal .modal-body { padding: 22px 24px; }
.site-v2 .hv2-bsmodal .modal-footer { border-top: 1px solid var(--line); padding: 16px 24px; gap: 10px; }
.site-v2 .hv2-bsmodal label { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.site-v2 .hv2-bsmodal .form-control { min-height: 48px; border: 1.5px solid var(--line); border-radius: 12px; }
.site-v2 .hv2-bsmodal .form-control:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(247, 148, 29, .18); }
.site-v2 .hv2-bsmodal .close { font-size: 26px; opacity: .6; }

/* events */
.site-v2 .hv2-event .hv2-news__img { position: relative; }
.site-v2 .hv2-event__date {
    position: absolute; top: 14px; left: 14px; z-index: 1; width: 56px; padding: 6px 0; border-radius: 14px; background: #fff;
    text-align: center; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-text); box-shadow: var(--shadow);
}
.site-v2 .hv2-event__date strong { display: block; font: 800 22px/1.1 var(--head); color: var(--navy); letter-spacing: 0; }
.site-v2 .hv2-event__kv { font-size: 13.5px; }
.site-v2 .hv2-event__kv > div { padding: 6px 0; font-size: 13.5px; }
.site-v2 .hv2-event-hero { padding: 110px 0 90px; }
.site-v2 .hv2-countdown-v2 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.site-v2 .hv2-countdown-v2 > div { background: var(--gray); border-radius: var(--radius); padding: 18px; text-align: center; }
.site-v2 .hv2-countdown-v2 > div > div { font: 800 38px var(--head); color: var(--navy); letter-spacing: -0.02em; }
.site-v2 .hv2-countdown-v2 span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }

/* certificate preview */
.site-v2 .hv2-cert-frame { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); }
.site-v2 .hv2-cert-frame iframe { width: 100%; height: 78vh; border: 0; display: block; }

/* bootstrap-grid forms restyled (old edit profile) */
.site-v2 .hv2-bsform .card-body, .site-v2 .hv2-bsform .card-footer { padding: 0; background: transparent; border: 0; }
.site-v2 .hv2-bsform .card-footer { margin-top: 20px; }
.site-v2 .hv2-bsform .form-label, .site-v2 .hv2-bsform label { font: 600 13.5px var(--body); color: var(--ink); margin-bottom: 7px; }
.site-v2 .hv2-bsform .form-control, .site-v2 .hv2-bsform select, .site-v2 .hv2-bsform textarea {
    min-height: 48px; border: 1.5px solid var(--line); border-radius: 12px; padding: 11px 15px; font: 400 15px var(--body); color: var(--ink); box-shadow: none;
}
.site-v2 .hv2-bsform .form-control:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(247, 148, 29, .18); }
.site-v2 .hv2-bsform .is-invalid { border-color: #DC2626 !important; }
.site-v2 .hv2-bsform .text-danger, .site-v2 .hv2-bsform .invalid-feedback { color: #B91C1C !important; font-size: 12.5px; }
.site-v2 .hv2-bsform .iti { width: 100%; }

/* account dashboard */
.site-v2 .hv2-acc-stats { border-bottom: 1px solid var(--line); }
.site-v2 .hv2-stat__num--sm { font-size: 20px; overflow-wrap: anywhere; }
.site-v2 .hv2-acc-bio { margin-top: 24px; }
.site-v2 .hv2-wallet { grid-template-columns: minmax(0, 1fr) auto; }
.site-v2 .hv2-wallet__balance { font: 800 clamp(40px, 5vw, 56px) var(--head); color: var(--navy); letter-spacing: -0.02em; line-height: 1.1; margin: 8px 0 4px; }
.site-v2 .hv2-wallet__balance span { font-size: 20px; color: var(--orange-text); }
.site-v2 .hv2-wallet__stats { margin-top: 24px; }
.site-v2 .hv2-row__icon.is-credit { background: #ECFDF5; color: #047857; }
.site-v2 .hv2-row__icon.is-credit .hv2-i { transform: rotate(90deg); }
.site-v2 .hv2-row__icon.is-debit { background: #FEF2F2; color: #B91C1C; }
.site-v2 .hv2-ledger__amt { font: 800 16px var(--head); white-space: nowrap; }
.site-v2 .hv2-ledger__amt.is-credit { color: #047857; }
.site-v2 .hv2-ledger__amt.is-debit { color: #B91C1C; }
.site-v2 .donation-card { cursor: pointer; }

/* receipt */
.site-v2 .hv2-receipt__top { display: flex; gap: 18px; align-items: center; padding-bottom: 22px; border-bottom: 1px dashed #D1D5DB; margin-bottom: 8px; }
.site-v2 .hv2-receipt__check { width: 56px; height: 56px; border-radius: 50%; background: #ECFDF5; color: #047857; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
.site-v2 .hv2-receipt__amount { font: 800 34px var(--head); color: var(--navy); line-height: 1.1; }
.site-v2 .hv2-receipt__block { padding: 18px 0; border-bottom: 1px solid var(--line); }
.site-v2 .hv2-receipt__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
@media print { .home-v2.hv2-chrome, .hv2-page-hero, .hv2-receipt__actions { display: none !important; } }

@media (max-width: 760px) {
    .site-v2 .hv2-countdown-v2 { grid-template-columns: repeat(2, 1fr); }
    .site-v2 .hv2-match__score { font-size: 28px; }
    .site-v2 .hv2-matchbar__inner { flex-wrap: wrap; }
    .site-v2 .hv2-wallet { grid-template-columns: 1fr; }
}

/* anganwadi hero with stats */
.site-v2 .hv2-ag-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.site-v2 .hv2-ag-hero__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.site-v2 .hv2-ag-hero__stats .hv2-icon-box { margin: 0 0 12px; }
.site-v2 .hv2-ag-hero .hv2-stat { padding: 20px; }

/* child profile */
.site-v2 .hv2-child { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: center; }
.site-v2 .hv2-child__photo { position: relative; aspect-ratio: 1; border-radius: var(--radius-xl); overflow: hidden; background: #fff url('../../img/hv2-default.svg') center / cover; border: 1px solid var(--line); box-shadow: var(--shadow); }
.site-v2 .hv2-child__photo img { width: 100%; height: 100%; object-fit: cover; }
.site-v2 .hv2-child__badge { position: absolute; left: 14px; top: 14px; }
.site-v2 .hv2-child h1 { margin: 8px 0 6px; }
.site-v2 .hv2-child__story { color: var(--muted); font-size: 15px; line-height: 1.7; margin-top: 4px; }
.site-v2 .hv2-child__mini { display: flex; gap: 14px; align-items: center; }
.site-v2 .hv2-child__mini img { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; background: var(--gray); flex-shrink: 0; }
.site-v2 .hv2-child__mini-name { font-size: 20px; margin: 6px 0 2px; }
.site-v2 .hv2-fund { margin-top: 18px; }
.site-v2 .hv2-fund__row { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.site-v2 .hv2-fund__bar { height: 8px; border-radius: 999px; background: var(--gray-2); overflow: hidden; }
.site-v2 .hv2-fund__bar span { display: block; height: 100%; border-radius: 999px; background: var(--orange); }
.site-v2 .hv2-pillar { background: var(--gray); border-radius: var(--radius); padding: 20px; }
.site-v2 .hv2-pillar .hv2-icon-box { margin: 0 0 12px; background: #fff; }
.site-v2 .hv2-pillar h3 { font-size: 17px; margin-bottom: 4px; }
.site-v2 .hv2-pillar p { font-size: 14px; color: var(--muted); }
.site-v2 .hv2-trust { display: grid; gap: 10px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.site-v2 .hv2-trust li { display: flex; gap: 10px; align-items: center; font-size: 14px; font-weight: 600; color: var(--ink); }
.site-v2 .hv2-trust .hv2-i { color: var(--orange-d); font-size: 18px; }
.site-v2 .hv2-ag-main { padding-top: 48px; }

@media (max-width: 1080px) {
    .site-v2 .hv2-ag-hero__grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 760px) {
    .site-v2 .hv2-child { grid-template-columns: 1fr; gap: 24px; }
    .site-v2 .hv2-child__photo { max-width: 260px; }
    .site-v2 .hv2-ag-hero__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .site-v2 .hv2-ag-hero .hv2-stat { padding: 14px 12px; }
    .site-v2 .hv2-ag-hero .hv2-stat__num { font-size: 22px; }
    .site-v2 .hv2-ag-hero__stats .hv2-icon-box { width: 36px; height: 36px; }
}

.site-v2 .hv2-ag-hero__stats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-v2 .hv2-adopt-pack { margin-top: 20px; padding: 18px 20px; }
.site-v2 .hv2-adopt-pack__form { display: grid; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); justify-items: start; }

/* ===== Step popup (franchise request, job apply) + side CTA card — JS in home-v2.js ===== */
.site-v2 .fr-cta { position: relative; overflow: hidden; padding: 28px; border-radius: var(--radius-xl); color: #fff; background: radial-gradient(120% 120% at 100% 0%, #22346B 0%, var(--navy) 60%); box-shadow: 0 24px 50px rgba(15, 27, 61, .2); }
.site-v2 .fr-cta__ring { position: absolute; width: 220px; height: 220px; right: -90px; top: -90px; border-radius: 50%; border: 34px solid rgba(247, 148, 29, .16); }
.site-v2 .fr-cta > * { position: relative; }
.site-v2 .fr-cta .hv2-eyebrow { color: var(--orange); }
.site-v2 .fr-cta__title { font: 800 24px/1.2 var(--head); color: #fff; margin: 6px 0 8px; }
.site-v2 .fr-cta__sub { color: #C9D1E4; font-size: 14.5px; }
.site-v2 .fr-cta__ok { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 12px 14px; border-radius: 14px; background: rgba(34, 197, 94, .14); border: 1px solid rgba(134, 239, 172, .35); color: #BBF7D0; font-size: 14px; font-weight: 600; }
.site-v2 .fr-cta__ok svg { width: 18px; height: 18px; flex-shrink: 0; color: #4ADE80; }
.site-v2 .fr-cta__facts { margin: 20px 0 22px; border-radius: 16px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); }
.site-v2 .fr-cta__facts li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; font-size: 14px; }
.site-v2 .fr-cta__facts li + li { border-top: 1px solid rgba(255, 255, 255, .08); }
.site-v2 .fr-cta__facts span { color: #9AA6C4; }
.site-v2 .fr-cta__facts b { color: #fff; font-weight: 700; text-align: right; }
.site-v2 .fr-cta__spacer { height: 22px; }
.site-v2 .fr-cta__note { margin-top: 12px; text-align: center; font-size: 12.5px; color: #9AA6C4; }

.fr-modal { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; padding: 24px; }
.fr-modal[hidden] { display: none; }
.fr-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 27, 61, .62); backdrop-filter: blur(4px); animation: frFade .2s ease; }
.fr-modal__dialog { position: relative; width: 100%; min-width: 0; max-width: 720px; max-height: calc(100vh - 48px); display: flex; flex-direction: column; background: #fff; border-radius: 26px; box-shadow: 0 40px 90px rgba(0, 0, 0, .35); overflow: hidden; animation: frIn .28s cubic-bezier(.2, .9, .3, 1.1); }
@keyframes frFade { from { opacity: 0; } }
@keyframes frIn { from { opacity: 0; transform: translateY(24px) scale(.97); } }
@keyframes frUp { from { transform: translateY(100%); } }
.fr-modal__head { display: flex; align-items: flex-start; gap: 16px; padding: 24px 28px 20px; background: linear-gradient(180deg, #FFF7EC 0%, #fff 100%); border-bottom: 1px solid #E5E7EB; }
.fr-modal__brand { width: 52px; height: 52px; border-radius: 16px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: #F7941D; color: #fff; font-size: 24px; box-shadow: 0 10px 22px rgba(247, 148, 29, .35); }
.fr-modal__heading { flex: 1; min-width: 0; }
.fr-modal__heading .hv2-eyebrow { color: #B45F00; }
.fr-modal__heading h2 { font: 800 22px/1.25 "Plus Jakarta Sans", system-ui, sans-serif; color: #111827; margin: 4px 0; }
.fr-modal__heading > p:not(.hv2-eyebrow) { font-size: 14px; color: #6B7280; margin: 0; }
.fr-modal .fr-modal__close { background: #fff; }
.fr-modal__close { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #E5E7EB; background: #fff; color: #374151; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: background .2s ease, color .2s ease; }
.fr-modal__close:hover { background: #0F1B3D; color: #fff; border-color: #0F1B3D; }
.fr-modal__close svg { width: 18px; height: 18px; }
.fr-modal__body { padding: 22px 28px 26px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; min-width: 0; }
.fr-modal__body .select2-container { width: 100% !important; }
.fr-modal__body .hv2-form { gap: 16px; }
.fr-modal__actions { display: flex; justify-content: flex-end; gap: 10px; }
.fr-modal__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 28px; border-top: 1px solid #E5E7EB; background: #FAFBFC; }
.fr-modal__count { font: 600 13px "Inter", system-ui, sans-serif; color: #6B7280; }
.fr-step { display: grid; gap: 16px; animation: frStep .25s ease; }
.fr-step[hidden] { display: none; }
@keyframes frStep { from { opacity: 0; transform: translateX(14px); } }
.fr-modal ol.fr-stepbar { display: flex; align-items: center; margin: 0; padding: 16px 28px; list-style: none; background: #fff; border-bottom: 1px solid #E5E7EB; flex-shrink: 0; min-width: 0; }
.fr-stepbar li { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.fr-stepbar li:last-child { flex: 0 0 auto; }
.fr-stepbar li:not(:last-child)::after {
    content: ""; flex: 1; height: 3px; margin: 0 14px; border-radius: 3px;
    background: linear-gradient(90deg, #16A34A 50%, #E5E7EB 50%) right / 200% 100% no-repeat; transition: background-position .4s ease;
}
.fr-stepbar li.is-done:not(:last-child)::after { background-position: left; }
.fr-stepbar__dot {
    position: relative; width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
    background: #fff; border: 2px solid #E5E7EB; color: #9CA3AF; font: 800 14px "Plus Jakarta Sans", system-ui, sans-serif; transition: all .3s ease;
}
.fr-stepbar__dot svg { display: none; width: 16px; height: 16px; }
.fr-stepbar__text { display: flex; flex-direction: column; line-height: 1.2; font: 700 14px "Plus Jakarta Sans", system-ui, sans-serif; color: #9CA3AF; white-space: nowrap; transition: color .3s ease; }
.fr-stepbar__text small { font: 600 10.5px "Inter", system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #B4BAC5; margin-bottom: 2px; }
.fr-stepbar li.is-active .fr-stepbar__dot { background: #F7941D; border-color: #F7941D; color: #fff; box-shadow: 0 0 0 5px rgba(247, 148, 29, .18); }
.fr-stepbar li.is-active .fr-stepbar__text { color: #111827; }
.fr-stepbar li.is-active .fr-stepbar__text small { color: #B45F00; }
.fr-stepbar li.is-done .fr-stepbar__dot { background: #16A34A; border-color: #16A34A; color: #fff; }
.fr-stepbar li.is-done .fr-stepbar__dot b { display: none; }
.fr-stepbar li.is-done .fr-stepbar__dot svg { display: block; }
.fr-stepbar li.is-done .fr-stepbar__text { color: #374151; }
.fr-stepbar li.is-done .fr-stepbar__text small { color: #16A34A; }
.fr-ranges { border: 0; padding: 0; margin: 0; min-width: 0; }
.fr-ranges legend { font-size: 13.5px; font-weight: 600; color: #111827; margin-bottom: 10px; padding: 0; }
.fr-ranges__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.fr-range { position: relative; margin: 0; cursor: pointer; }
.fr-range input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.fr-range span { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px; border: 1.5px solid #E5E7EB; border-radius: 14px; background: #fff; font: 700 15px "Plus Jakarta Sans", system-ui, sans-serif; color: #111827; transition: all .2s ease; }
.fr-range:hover span { border-color: #FCD9A8; }
.fr-range input:checked + span { border-color: #F7941D; background: #FFF3E3; color: #B45F00; box-shadow: 0 0 0 4px rgba(247, 148, 29, .15); }
.fr-range input:focus-visible + span { outline: 2px solid #0F1B3D; outline-offset: 2px; }
.fr-range input.hv2-invalid + span { border-color: #DC2626; }
.fr-ranges .hv2-field-error { grid-column: 1 / -1; }
.fr-review { position: relative; padding: 16px 18px; border-radius: 16px; background: #F4F5F7; border: 1px dashed #D5D9E0; }
.fr-review__title { font: 800 14px "Plus Jakarta Sans", system-ui, sans-serif; color: #111827; margin: 0 0 8px; }
.fr-review dl { margin: 0; display: grid; gap: 6px; }
.fr-review dl div { display: flex; justify-content: space-between; gap: 16px; font-size: 13.5px; }
.fr-review dt { color: #6B7280; font-weight: 500; }
.fr-review dd { margin: 0; color: #111827; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.fr-review__edit { position: absolute; top: 12px; right: 14px; border: 0; background: none; color: #B45F00; font: 700 13px "Inter", system-ui, sans-serif; cursor: pointer; padding: 2px 4px; }
.fr-review__edit:hover { text-decoration: underline; }
body.fr-modal-open { overflow: hidden; }
@media (max-width: 620px) {
    .fr-modal { padding: 0; align-items: flex-end; }
    .fr-modal__dialog { max-height: 94vh; border-radius: 24px 24px 0 0; animation-name: frUp; }
    .fr-modal__head { padding: 20px 18px 16px; }
    .fr-modal__brand { display: none; }
    .fr-modal__body { padding: 18px 18px 22px; }
    .fr-modal__body .hv2-form__row { grid-template-columns: 1fr; }
    .fr-modal__foot { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); flex-wrap: wrap; }
    .fr-modal__count { width: 100%; text-align: center; }
    .fr-modal__actions { width: 100%; }
    .fr-modal__actions .hv2-btn { flex: 1; justify-content: center; }
    .fr-modal ol.fr-stepbar { padding: 14px 18px; }
    .fr-stepbar li { gap: 8px; }
    .fr-stepbar li:not(:last-child)::after { margin: 0 8px; }
    .fr-stepbar__dot { width: 30px; height: 30px; font-size: 13px; }
    .fr-stepbar li:not(.is-active) .fr-stepbar__text { display: none; }
    .fr-stepbar__text { font-size: 13px; }
    .fr-ranges__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- List tools: search + filters above card grids ---------- */
.site-v2 .hv2-ltools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 22px; }
.site-v2 .hv2-ltools__search { position: relative; flex: 1 1 260px; max-width: 420px; }
.site-v2 .hv2-ltools__search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--muted); pointer-events: none; }
.site-v2 .hv2-ltools__search input { width: 100%; height: 46px; padding: 0 14px 0 42px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font: 500 14.5px var(--body); color: var(--ink); outline: none; transition: border-color var(--ease), box-shadow var(--ease); }
.site-v2 .hv2-ltools__search input:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(247, 148, 29, .15); }
.site-v2 .hv2-ltools__filter select { height: 46px; padding: 0 38px 0 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px; -webkit-appearance: none; appearance: none; font: 600 14px var(--body); color: var(--ink); cursor: pointer; max-width: 230px; outline: none; }
.site-v2 .hv2-ltools__filter select:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(247, 148, 29, .15); }
.site-v2 .hv2-ltools__filter select.is-set { border-color: var(--orange); background-color: var(--orange-l); color: var(--orange-text); }
.site-v2 .hv2-ltools__count { margin: 0 0 0 auto; font: 600 13.5px var(--body); color: var(--muted); white-space: nowrap; }
.site-v2 .hv2-ltools__reset { height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--gray); color: var(--navy); font: 700 13px var(--body); cursor: pointer; }
.site-v2 .hv2-ltools__reset:hover { background: var(--orange-l); color: var(--orange-text); }
.site-v2 .hv2-ltools__filter { width: 210px; }
.site-v2 .hv2-ltools .select2-container--default .select2-selection--single { height: 46px; min-height: 46px; border-radius: 999px; padding-left: 6px; border-color: var(--line); }
.site-v2 .hv2-ltools .select2-container--default .select2-selection--single .select2-selection__rendered { font-weight: 600; font-size: 14px; color: var(--ink); }
.site-v2 .hv2-ltools__filter.is-set .select2-selection--single { border-color: var(--orange) !important; background: var(--orange-l); }
.site-v2 .hv2-ltools__filter.is-set .select2-selection__rendered { color: var(--orange-text) !important; }
.site-v2 [data-hv2-item][hidden] { display: none !important; }
.site-v2 .hv2-ltools__more { display: flex; justify-content: center; align-items: center; min-height: 64px; margin-top: 20px; }
.site-v2 .hv2-ltools__more[hidden] { display: none; }
.site-v2 .hv2-ltools__more button { padding: 10px 22px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink, inherit); font-weight: 600; font-size: 14px; cursor: pointer; }
.site-v2 .hv2-ltools__more button:hover { border-color: currentColor; }
.site-v2 .hv2-ltools__spin { display: none; width: 28px; height: 28px; border: 3px solid var(--line); border-top-color: var(--orange, #f26b1d); border-radius: 50%; animation: hv2-ltools-spin .8s linear infinite; }
.site-v2 .hv2-ltools__more.is-auto .hv2-ltools__spin { display: block; }
.site-v2 .hv2-ltools__more.is-auto button { display: none; }
@keyframes hv2-ltools-spin { to { transform: rotate(360deg); } }
.site-v2 .hv2-ltools__more.is-loading .hv2-ltools__spin { display: block; }
.site-v2 .hv2-ltools__more.is-loading button { display: none; }
.site-v2 .hv2-ltools-in { animation: hv2-ltools-in .45s ease both; }
@keyframes hv2-ltools-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .site-v2 .hv2-ltools-in, .site-v2 .hv2-ltools__spin { animation: none; } }
.site-v2 .hv2-ltools__none { padding: 40px 16px; text-align: center; color: var(--muted); font-size: 15px; border: 1px dashed var(--line); border-radius: 18px; }
@media (max-width: 640px) {
    .site-v2 .hv2-ltools__search { max-width: none; flex-basis: 100%; }
    .site-v2 .hv2-ltools__filter { flex: 1 1 140px; width: auto; }
    .site-v2 .hv2-ltools__filter select { width: 100%; max-width: none; }
    .site-v2 .hv2-ltools__count { margin-left: 0; }
}

/* ---------- Legal pages (Terms, Privacy) ---------- */
.site-v2 .lg-page { background: #fff; }
.site-v2 .lg-wrap { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 56px; align-items: start; }
.site-v2 .lg-side__inner { position: sticky; top: 96px; }
.site-v2 .lg-side__label { font: 700 12px var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; }
.site-v2 .lg-toc { list-style: none; margin: 0; padding: 0 0 0 2px; border-left: 2px solid var(--line); display: grid; gap: 2px; }
.site-v2 .lg-toc a { display: flex; gap: 10px; align-items: baseline; padding: 7px 12px; margin-left: -2px; border-left: 2px solid transparent; color: var(--muted); font: 600 14px/1.35 var(--body); text-decoration: none; transition: color var(--ease), border-color var(--ease); }
.site-v2 .lg-toc a span { font: 700 11.5px var(--head); color: #9CA3AF; min-width: 16px; }
.site-v2 .lg-toc a:hover { color: var(--ink); }
.site-v2 .lg-toc a.is-active { color: var(--ink); border-left-color: var(--orange); }
.site-v2 .lg-toc a.is-active span { color: var(--orange-text); }
.site-v2 .lg-side__more { display: grid; gap: 8px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.site-v2 .lg-side__more a { font: 700 14px var(--body); color: var(--navy); text-decoration: none; }
.site-v2 .lg-side__more a:hover { color: var(--orange-text); }
.site-v2 .lg-body { max-width: 760px; font-size: 16px; line-height: 1.75; color: #334155; }
.site-v2 .lg-lead { font-size: 18px; line-height: 1.7; color: var(--ink); margin: 0 0 8px; }
.site-v2 .lg-intro { padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.site-v2 .lg-sec { padding: 34px 0 6px; scroll-margin-top: 100px; }
.site-v2 .lg-sec h2 { display: flex; align-items: baseline; gap: 12px; font: 800 22px/1.3 var(--head); color: var(--ink); margin: 0 0 12px; }
.site-v2 .lg-sec__no { font: 800 13px var(--head); color: var(--orange-text); background: var(--orange-l); padding: 3px 8px; border-radius: 8px; flex-shrink: 0; transform: translateY(-2px); }
.site-v2 .lg-sec ul { padding-left: 20px; margin: 0 0 12px; }
.site-v2 .lg-sec li { margin-bottom: 8px; }
.site-v2 .lg-sec li::marker { color: var(--orange); }
.site-v2 .lg-body a { color: var(--orange-text); font-weight: 600; }
.site-v2 .lg-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 44px; padding: 26px 0 0; border-top: 1px solid var(--line); }
.site-v2 .lg-contact h3 { font: 800 20px var(--head); color: var(--ink); margin: 4px 0 6px; }
.site-v2 .lg-contact p { margin: 0; font-size: 14px; color: var(--muted); }
.site-v2 .lg-contact__links { display: flex; flex-wrap: wrap; gap: 10px; }
.site-v2 .lg-contact__links a { color: inherit; }

/* ---------- FAQ ---------- */
.site-v2 .fq-page { background: #fff; }
.site-v2 .fq-search { position: relative; max-width: 760px; margin: 0 auto 40px; }
.site-v2 .fq-search svg { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; color: var(--muted); pointer-events: none; }
.site-v2 .fq-search input { width: 100%; height: 62px; padding: 0 130px 0 56px; border: 1.5px solid var(--line); border-radius: 999px; background: #fff; font: 500 16px var(--body); color: var(--ink); box-shadow: 0 14px 34px rgba(15, 27, 61, .07); outline: none; transition: border-color var(--ease), box-shadow var(--ease); }
.site-v2 .fq-search input:focus { border-color: var(--orange); box-shadow: 0 0 0 5px rgba(247, 148, 29, .15); }
.site-v2 .fq-search__count { position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font: 600 13px var(--body); color: var(--muted); }
.site-v2 .fq-wrap { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.site-v2 .fq-side { position: sticky; top: 96px; }
.site-v2 .fq-side__label { font: 700 12px var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; }
.site-v2 .fq-cats { display: grid; gap: 4px; }
.site-v2 .fq-cat { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; padding: 11px 14px; border: 0; border-radius: 12px; background: none; text-align: left; font: 600 14.5px var(--body); color: var(--ink); cursor: pointer; transition: background var(--ease), color var(--ease); }
.site-v2 .fq-cat span { min-width: 26px; padding: 2px 8px; border-radius: 999px; background: var(--gray); font: 700 12px var(--body); color: var(--muted); text-align: center; }
.site-v2 .fq-cat:hover { background: var(--gray); }
.site-v2 .fq-cat.is-active { background: var(--navy); color: #fff; }
.site-v2 .fq-cat.is-active span { background: rgba(255, 255, 255, .16); color: #fff; }
.site-v2 .fq-help { margin-top: 26px; padding: 22px; border-radius: 20px; background: var(--gray); }
.site-v2 .fq-help__icon { width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--orange-l); color: var(--orange-text); margin-bottom: 10px; }
.site-v2 .fq-help__title { font: 800 17px var(--head); color: var(--ink); margin: 0 0 4px; }
.site-v2 .fq-help p { font-size: 14px; color: var(--muted); margin: 0 0 14px; }
.site-v2 .fq-help__mail { display: block; margin-top: 10px; text-align: center; font: 600 13px var(--body); color: var(--navy); word-break: break-all; }
.site-v2 .fq-group { margin-bottom: 34px; }
.site-v2 .fq-group__title { font: 800 20px var(--head); color: var(--ink); margin: 0 0 12px; }
.site-v2 .fq-list { border-top: 1px solid var(--line); }
.site-v2 .fq-item { border-bottom: 1px solid var(--line); }
.site-v2 .fq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 20px 4px; list-style: none; cursor: pointer; }
.site-v2 .fq-item summary::-webkit-details-marker { display: none; }
.site-v2 .fq-item__q { font: 700 17px/1.45 var(--head); color: var(--ink); }
.site-v2 .fq-item summary:hover .fq-item__q { color: var(--orange-text); }
.site-v2 .fq-item__icon { width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--gray); color: var(--navy); transition: transform .25s ease, background .25s ease, color .25s ease; }
.site-v2 .fq-item__icon svg { width: 16px; height: 16px; }
.site-v2 .fq-item[open] .fq-item__icon { transform: rotate(45deg); background: var(--orange); color: #fff; }
.site-v2 .fq-item__a { padding: 0 54px 22px 4px; font-size: 15.5px; line-height: 1.75; color: #475569; }
.site-v2 .fq-item__a > *:first-child { margin-top: 0; }
.site-v2 .fq-none { padding: 48px 20px; text-align: center; border: 1px dashed var(--line); border-radius: 20px; color: var(--muted); }
.site-v2 .fq-none h3 { font: 800 19px var(--head); color: var(--ink); margin: 0 0 6px; }
.site-v2 .fq-none a, .site-v2 .fq-legal a { color: var(--orange-text); font-weight: 700; }
.site-v2 .fq-legal { margin-top: 30px; font-size: 14px; color: var(--muted); }
@media (max-width: 900px) {
    .site-v2 .lg-wrap, .site-v2 .fq-wrap { grid-template-columns: 1fr; gap: 26px; }
    .site-v2 .lg-side__inner, .site-v2 .fq-side { position: static; }
    .site-v2 .lg-side { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
    .site-v2 .lg-toc { grid-template-columns: 1fr 1fr; border-left: 0; }
    .site-v2 .lg-toc a { border-left: 0; padding: 6px 0; }
    .site-v2 .lg-side__more { display: none; }
    .site-v2 .fq-cats { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
    .site-v2 .fq-cat { width: auto; white-space: nowrap; border: 1px solid var(--line); border-radius: 999px; }
    .site-v2 .fq-help { display: none; }
    .site-v2 .fq-search input { height: 54px; padding-right: 20px; }
    .site-v2 .fq-search__count { display: none; }
    .site-v2 .fq-item__a { padding-right: 4px; }
}

/* ---------- Contact page (flat) ---------- */
.site-v2 .ct-page { background: #fff; }
.site-v2 .ct-wrap { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 0; align-items: start; }
.site-v2 .ct-info { padding-right: 48px; }
.site-v2 .ct-form { padding-left: 48px; border-left: 1px solid var(--line); }
.site-v2 .ct-label { font: 700 12px var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 6px; }
.site-v2 .ct-list { list-style: none; margin: 0 0 30px; padding: 0; }
.site-v2 .ct-list li { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.site-v2 .ct-ico { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: var(--orange-l); color: var(--orange-text); }
.site-v2 .ct-item small { display: block; font: 600 12.5px var(--body); color: var(--muted); margin-bottom: 3px; }
.site-v2 .ct-item strong { display: block; font: 700 15.5px/1.4 var(--head); color: var(--ink); }
.site-v2 .ct-item address { font-style: normal; font-size: 14px; color: #475569; line-height: 1.6; margin: 2px 0 0; padding: 0; text-indent: 0; }
.site-v2 .ct-big { font: 700 17px var(--head); color: var(--ink); text-decoration: none; word-break: break-all; }
.site-v2 .ct-big:hover { color: var(--orange-text); }
.site-v2 .ct-copy { align-self: center; height: 34px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy); font: 700 12.5px var(--body); cursor: pointer; display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; transition: border-color var(--ease), color var(--ease); }
.site-v2 .ct-copy:hover { border-color: var(--orange); color: var(--orange-text); }
.site-v2 .ct-copy--wa:hover { border-color: #22C55E; color: #15803D; }
.site-v2 .ct-social { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 26px; }
.site-v2 .ct-social a { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; font: 600 13.5px var(--body); color: var(--ink); text-decoration: none; }
.site-v2 .ct-social a:hover { border-color: var(--orange); color: var(--orange-text); }
.site-v2 .ct-social .hv2-i { width: 16px; height: 16px; }
.site-v2 .ct-faq { font-size: 14px; color: var(--muted); margin: 0; }
.site-v2 .ct-faq a, .site-v2 .ct-privacy a { color: var(--orange-text); font-weight: 700; }
.site-v2 .ct-title { font: 800 clamp(26px, 3vw, 34px)/1.15 var(--head); color: var(--ink); margin: 6px 0 6px; }
.site-v2 .ct-sub { color: var(--muted); margin: 0 0 22px; }
.site-v2 .ct-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.site-v2 .ct-topic { height: 38px; padding: 0 15px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font: 600 13.5px var(--body); color: var(--ink); cursor: pointer; transition: all var(--ease); }
.site-v2 .ct-topic:hover { border-color: var(--orange); }
.site-v2 .ct-topic.is-on { background: var(--navy); border-color: var(--navy); color: #fff; }
.site-v2 .ct-count { display: block; text-align: right; font: 600 12px var(--body); color: var(--muted); margin-top: 6px; }
.site-v2 .ct-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.site-v2 .ct-privacy { margin: 0; font-size: 13px; color: var(--muted); }
.site-v2 .ct-alert { margin: 0 0 18px; padding: 12px 16px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.site-v2 .ct-alert--ok { background: #ECFDF5; border: 1px solid #BBF7D0; color: #166534; }
.site-v2 .ct-map { height: 420px; background: var(--gray); border-top: 1px solid var(--line); }
.site-v2 .ct-map iframe { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(.25); }
@media (max-width: 960px) {
    .site-v2 .ct-wrap { grid-template-columns: 1fr; }
    .site-v2 .ct-info { padding: 0 0 8px; order: 2; border-top: 1px solid var(--line); margin-top: 36px; padding-top: 28px; }
    .site-v2 .ct-form { padding: 0; border-left: 0; }
    .site-v2 .ct-map { height: 300px; }
}
@media (max-width: 480px) {
    .site-v2 .ct-list li { grid-template-columns: 40px minmax(0, 1fr); }
    .site-v2 .ct-ico { width: 40px; height: 40px; }
    .site-v2 .ct-copy { grid-column: 2; justify-self: start; }
}

/* ---------- India map with location pins ---------- */
.site-v2 .im-section { background: var(--gray); border-top: 1px solid var(--line); }
.site-v2 .im-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 26px; }
.site-v2 .im-hint { margin: 0; font: 600 13.5px var(--body); color: var(--muted); }
.site-v2 .im-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 48px; align-items: center; }
.site-v2 .im-map { position: relative; }
.site-v2 .im-map svg { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto; overflow: visible; filter: drop-shadow(0 18px 30px rgba(15, 27, 61, .08)); }
.site-v2 .im-pin { cursor: pointer; outline: none; }
.site-v2 .im-pin__drop { fill: var(--navy); stroke: #fff; stroke-width: 3; transition: fill .2s ease, transform .2s ease; transform-origin: 0 0; }
.site-v2 .im-pin__dot { fill: #fff; }
.site-v2 .im-pin__pulse { fill: rgba(247, 148, 29, .25); opacity: 0; transform-origin: 0 0; }
.site-v2 .im-pin__label { font: 800 22px var(--head); fill: var(--ink); paint-order: stroke; stroke: #F4F5F7; stroke-width: 6px; stroke-linejoin: round; pointer-events: none; }
.site-v2 .im-pin:hover .im-pin__drop, .site-v2 .im-pin:focus-visible .im-pin__drop { fill: var(--orange-text); transform: scale(1.12); }
.site-v2 .im-pin.is-on .im-pin__drop { fill: var(--orange); transform: scale(1.22); }
.site-v2 .im-pin.is-on .im-pin__pulse { animation: imPulse 1.8s ease-out infinite; }
@keyframes imPulse { 0% { opacity: .9; transform: scale(.4); } 100% { opacity: 0; transform: scale(2.6); } }
.site-v2 .im-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
.site-v2 .im-chip { height: 38px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font: 600 13.5px var(--body); color: var(--ink); cursor: pointer; }
.site-v2 .im-chip.is-on { background: var(--navy); border-color: var(--navy); color: #fff; }
.site-v2 .im-detail { min-width: 0; }
.site-v2 .im-card { animation: imIn .3s ease; }
@keyframes imIn { from { opacity: 0; transform: translateY(8px); } }
.site-v2 .im-card__type { font: 700 12px var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--orange-text); margin: 0 0 6px; }
.site-v2 .im-card__name { font: 800 clamp(22px, 2.4vw, 28px)/1.2 var(--head); color: var(--ink); margin: 0 0 8px; }
.site-v2 .im-card__note { color: var(--muted); margin: 0 0 16px; }
.site-v2 .im-card__rows { list-style: none; margin: 0 0 18px; padding: 0; border-top: 1px solid var(--line); }
.site-v2 .im-card__rows li { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 14.5px; color: var(--ink); line-height: 1.5; }
.site-v2 .im-card__rows span { font: 600 12.5px var(--body); color: var(--muted); padding-top: 2px; }
.site-v2 .im-card__rows a { color: var(--ink); font-weight: 600; word-break: break-all; }
.site-v2 .im-card__rows a:hover { color: var(--orange-text); }
.site-v2 .im-card__map { height: 190px; border-radius: 16px; overflow: hidden; background: #E2E8F0; margin-bottom: 18px; }
.site-v2 .im-card__map iframe { display: block; width: 100%; height: 100%; border: 0; }
.site-v2 .im-card__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.site-v2 .im-credit { margin: 28px 0 0; font-size: 11.5px; color: #9CA3AF; text-align: center; }
@media (max-width: 960px) {
    .site-v2 .im-wrap { grid-template-columns: 1fr; gap: 28px; }
    .site-v2 .im-map svg { max-width: 420px; }
}

/* ---------- Job detail ---------- */
.site-v2 .hv2-jh { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: 56px 0 60px; }
.site-v2 .hv2-jh::before { content: ""; position: absolute; right: -180px; top: -220px; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(closest-side, rgba(247,148,29,.22), transparent); pointer-events: none; }
.site-v2 .hv2-jh::after { content: ""; position: absolute; right: 8%; bottom: -120px; width: 300px; height: 300px; border-radius: 50%; border: 40px solid rgba(255,255,255,.04); pointer-events: none; }
.site-v2 .hv2-jh .hv2-container { position: relative; z-index: 1; }
.site-v2 .hv2-jh__crumbs { color: rgba(255,255,255,.6); }
.site-v2 .hv2-jh__crumbs a { color: rgba(255,255,255,.75); }
.site-v2 .hv2-jh__crumbs a:hover { color: var(--orange); }
.site-v2 .hv2-jh__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 28px 0 0; padding: 6px 14px 6px 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); font-size: 13px; font-weight: 600; color: rgba(255,255,255,.9); }
.site-v2 .hv2-jh__dot { width: 8px; height: 8px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 4px rgba(34,197,94,.2); }
.site-v2 .hv2-jh__sep { opacity: .5; }
.site-v2 .hv2-jh__title { font: 800 clamp(38px, 5.4vw, 64px)/1.05 var(--head); letter-spacing: -0.03em; color: #fff; margin: 18px 0 18px; max-width: 860px; }
.site-v2 .hv2-jh__meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.site-v2 .hv2-jh__meta li { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 500; color: rgba(255,255,255,.85); }
.site-v2 .hv2-jh__meta svg { width: 19px; height: 19px; color: var(--orange); }
.site-v2 .hv2-jh__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px 48px; }
.site-v2 .hv2-jh__info { min-width: 0; }
.site-v2 .hv2-jh__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; flex: none; }
.site-v2 .hv2-jh__actions .hv2-btn { min-width: 220px; justify-content: center; }
.site-v2 .hv2-jh__share { display: flex; align-items: center; gap: 8px; }
.site-v2 .hv2-jh__share > span { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.6); margin-right: 4px; }
.site-v2 .hv2-jh__share a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); color: #fff; text-decoration: none; font-weight: 700; font-size: 13px; transition: background var(--ease), border-color var(--ease); }
.site-v2 .hv2-jh__share a:hover { background: var(--orange); border-color: var(--orange); color: var(--navy); }
.site-v2 .hv2-jh__share .hv2-i { width: 16px; height: 16px; }

.site-v2 .hv2-jd { padding-top: 24px; }
.site-v2 .hv2-jd__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; align-items: start; }
.site-v2 .hv2-jd__main { max-width: 760px; }
.site-v2 .hv2-jd__side { position: sticky; top: 100px; display: grid; gap: 28px; padding-top: 48px; }
.site-v2 .hv2-jd__side-label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; }
.site-v2 .hv2-jd__toc { display: grid; border-left: 2px solid var(--line); }
.site-v2 .hv2-jd__toc .hv2-jd__side-label { padding-left: 16px; }
.site-v2 .hv2-jd__toc a { margin-left: -2px; padding: 8px 0 8px 16px; border-left: 2px solid transparent; font-size: 14.5px; font-weight: 500; color: var(--muted); text-decoration: none; transition: color var(--ease), border-color var(--ease); }
.site-v2 .hv2-jd__toc a:hover { color: var(--ink); }
.site-v2 .hv2-jd__toc a.is-active { color: var(--ink); font-weight: 700; border-left-color: var(--orange); }
.site-v2 .hv2-jd__apply { padding-top: 24px; border-top: 1px solid var(--line); }
.site-v2 .hv2-jd__steps { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 12px; }
.site-v2 .hv2-jd__steps li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; font-weight: 600; color: var(--ink); }
.site-v2 .hv2-jd__steps b { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--orange-l); color: var(--orange-text); font: 800 13px var(--head); }
.site-v2 .hv2-jd__note { margin: 10px 0 0; text-align: center; font-size: 12.5px; color: var(--muted); }

.site-v2 .hv2-jd__sec { padding: 48px 0 4px; scroll-margin-top: 120px; }
.site-v2 .hv2-jd__sec + .hv2-jd__sec { border-top: 1px solid var(--line); }
.site-v2 .hv2-jd__sechead { border: 0; padding: 0; display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.site-v2 .hv2-jd__num { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px; background: var(--navy); color: var(--orange); font: 800 14px var(--head); flex: none; }
.site-v2 .hv2-jd__sechead h2 { font: 800 30px/1.15 var(--head); letter-spacing: -0.02em; color: var(--ink); margin: 0; }
.site-v2 .hv2-jd__prose { font-size: 16.5px; line-height: 1.8; color: #374151; }
.site-v2 .hv2-jd__prose h1, .site-v2 .hv2-jd__prose h2, .site-v2 .hv2-jd__prose h3, .site-v2 .hv2-jd__prose h4 { font: 700 19px var(--head) !important; color: var(--ink); margin: 28px 0 8px !important; padding: 0 !important; border: 0 !important; }
.site-v2 .hv2-jd__prose > :first-child { margin-top: 0 !important; }
.site-v2 .hv2-jd__prose p { margin: 0 0 16px; }
.site-v2 .hv2-jd__prose ul, .site-v2 .hv2-jd__prose ol { padding-left: 0; margin: 0 0 16px; list-style: none; }
.site-v2 .hv2-jd__prose li { position: relative; padding-left: 26px; margin-bottom: 10px; }
.site-v2 .hv2-jd__prose li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 2px; background: var(--orange); transform: rotate(45deg); }
.site-v2 .hv2-jd__prose li::marker { content: none; }
.site-v2 .hv2-jd__prose li:empty { display: none; }
.site-v2 .hv2-jd__prose strong, .site-v2 .hv2-jd__prose b { color: var(--ink); font-weight: 700; }
.site-v2 .hv2-jd__lead { margin: 0 0 16px; color: var(--muted); font-size: 16px; }
.site-v2 .hv2-jd__quals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.site-v2 .hv2-jd__quals li { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 600; color: var(--ink); }
.site-v2 .hv2-jd__quals svg { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: #DCFCE7; color: #15803D; flex: none; }
.site-v2 .hv2-jd__end { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 56px; padding: 32px 36px; border-radius: var(--radius-lg); background: var(--orange-l); }
.site-v2 .hv2-jd__end-title { font: 800 26px var(--head); color: var(--ink); margin: 0 0 4px; letter-spacing: -0.02em; }
.site-v2 .hv2-jd__end-sub { margin: 0; color: #4B5563; font-size: 15px; }
.site-v2 .hv2-jd__end-actions { display: flex; align-items: center; gap: 20px; flex: none; }
.site-v2 .hv2-jd__alljobs { font-weight: 700; font-size: 15px; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.site-v2 .hv2-jd__alljobs:hover { color: var(--orange-text); }
.site-v2 .hv2-jd__bar { display: none; }

@media (max-width: 1080px) {
    .site-v2 .hv2-jd__grid { grid-template-columns: minmax(0, 1fr) 260px; gap: 44px; }
}
@media (max-width: 860px) {
    .site-v2 .hv2-jh__row { flex-direction: column; align-items: stretch; }
    .site-v2 .hv2-jh__actions { align-items: flex-start; }
    .site-v2 .hv2-jd__grid { grid-template-columns: 1fr; }
    .site-v2 .hv2-jd__side { display: none; }
    .site-v2 .hv2-jd__end { flex-direction: column; align-items: flex-start; }
    .site-v2 .hv2-jd__bar:not([hidden]) {
        display: flex; align-items: center; justify-content: space-between; gap: 14px;
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line);
        box-shadow: 0 -8px 24px rgba(15,27,61,.08); animation: hv2-jd-bar .25s ease both;
    }
    .site-v2 .hv2-jd__bar div { min-width: 0; display: grid; }
    .site-v2 .hv2-jd__bar strong { font: 700 15px var(--head); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .site-v2 .hv2-jd__bar span { font-size: 12.5px; color: var(--muted); }
    .site-v2 .hv2-jd__bar .hv2-btn { flex: none; }
    body.has-jd-bar .hv2-fab { bottom: 84px !important; }
    body.has-jd-bar { padding-bottom: 72px; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-jh { padding: 36px 0 40px; }
    .site-v2 .hv2-jh__meta li { font-size: 14.5px; }
    .site-v2 .hv2-jh__actions .hv2-btn { width: 100%; }
    .site-v2 .hv2-jd__sec { padding-top: 36px; }
    .site-v2 .hv2-jd__sechead h2 { font-size: 24px; }
    .site-v2 .hv2-jd__num { width: 32px; height: 32px; border-radius: 10px; font-size: 13px; }
    .site-v2 .hv2-jd__quals { grid-template-columns: 1fr; }
    .site-v2 .hv2-jd__end { padding: 24px 20px; }
    .site-v2 .hv2-jd__end-actions { width: 100%; flex-direction: column; align-items: stretch; text-align: center; gap: 14px; }
    .site-v2 .hv2-jd__end-actions .hv2-btn { justify-content: center; }
}
@keyframes hv2-jd-bar { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .site-v2 .hv2-jd__bar:not([hidden]) { animation: none; } }

/* ---------- Jobs: open positions (flat list) ---------- */
.site-v2 .hv2-roles__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.site-v2 .hv2-roles__stats { display: flex; gap: 36px; margin: 0; }
.site-v2 .hv2-roles__stats div { border-left: 2px solid var(--orange); padding-left: 14px; }
.site-v2 .hv2-roles__stats dt { font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.site-v2 .hv2-roles__stats dd { font: 800 34px/1.1 var(--head); color: var(--ink); margin: 4px 0 0; letter-spacing: -0.02em; }
.site-v2 .hv2-roles .hv2-ltools { margin-bottom: 8px; }
.site-v2 .hv2-roles__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.site-v2 .hv2-role { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 28px 20px 28px 0; border-bottom: 1px solid var(--line); transition: background var(--ease); }
.site-v2 .hv2-role[hidden] { display: none; }
.site-v2 .hv2-role::before { content: ""; position: absolute; left: 0; top: -1px; bottom: -1px; width: 3px; background: var(--orange); transform: scaleY(0); transition: transform var(--ease); }
.site-v2 .hv2-role:hover { background: linear-gradient(90deg, var(--orange-l), rgba(255,243,227,0)); }
.site-v2 .hv2-role:hover::before { transform: scaleY(1); }
.site-v2 .hv2-role__num { font: 800 28px var(--head); color: #D1D5DB; text-align: center; letter-spacing: -0.02em; transition: color var(--ease); }
.site-v2 .hv2-role:hover .hv2-role__num { color: var(--orange); }
.site-v2 .hv2-role__title { font: 700 22px var(--head); letter-spacing: -0.015em; margin: 0 0 6px; }
.site-v2 .hv2-role__title a { color: var(--ink); text-decoration: none; }
.site-v2 .hv2-role__title a::after { content: ""; position: absolute; inset: 0; } /* whole row clickable */
.site-v2 .hv2-role__about { font-size: 14.5px; line-height: 1.55; color: var(--muted); margin: 0 0 12px; max-width: 680px; }
.site-v2 .hv2-role__tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.site-v2 .hv2-role__tags li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: var(--gray); font-size: 13px; font-weight: 500; color: #374151; }
.site-v2 .hv2-role__tags li.is-accent { background: var(--orange-l); color: var(--orange-text); }
.site-v2 .hv2-role__tags svg { width: 14px; height: 14px; flex: none; }
.site-v2 .hv2-role__side { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.site-v2 .hv2-role__date { font-size: 13px; color: var(--muted); white-space: nowrap; }
.site-v2 .hv2-role__apply { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; font: 700 15px var(--head); color: var(--ink); text-decoration: none; white-space: nowrap; }
.site-v2 .hv2-role__arrow { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--orange); color: #fff; transition: transform var(--ease), background var(--ease); }
.site-v2 .hv2-role__arrow svg { width: 18px; height: 18px; }
.site-v2 .hv2-role:hover .hv2-role__arrow { transform: translateX(4px); background: var(--navy); }
.site-v2 .hv2-role:focus-within { outline: 2px solid var(--orange); outline-offset: -2px; }
@media (max-width: 991px) {
    .site-v2 .hv2-roles__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-role { grid-template-columns: 1fr; gap: 14px; padding: 22px 0; }
    .site-v2 .hv2-role__num { display: none; }
    .site-v2 .hv2-role:hover { background: none; }
    .site-v2 .hv2-role::before { display: none; }
    .site-v2 .hv2-role__title { font-size: 19px; }
    .site-v2 .hv2-role__side { flex-direction: row-reverse; justify-content: space-between; align-items: center; }
    .site-v2 .hv2-roles__stats dd { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .site-v2 .hv2-role, .site-v2 .hv2-role::before, .site-v2 .hv2-role__arrow { transition: none; } }

/* ---------- Jobs: recruitment process (navy timeline) ---------- */
.site-v2 .hv2-hire { background: var(--navy); color: #fff; position: relative; overflow: hidden; }
.site-v2 .hv2-hire::before { content: ""; position: absolute; inset: auto -10% -60% auto; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(closest-side, rgba(247,148,29,.18), transparent); pointer-events: none; }
.site-v2 .hv2-hire .hv2-container { position: relative; }
.site-v2 .hv2-hire__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 56px; }
.site-v2 .hv2-hire .hv2-eyebrow { color: var(--orange); }
.site-v2 .hv2-hire .hv2-h2 { color: #fff; }
.site-v2 .hv2-hire .hv2-sub { color: rgba(255,255,255,.7); }
.site-v2 .hv2-hire__cta { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; background: var(--orange); color: var(--navy); font: 700 15px var(--head); white-space: nowrap; text-decoration: none; transition: background var(--ease), transform var(--ease); }
.site-v2 .hv2-hire__cta:hover { background: #fff; color: var(--navy); transform: translateY(-1px); }
.site-v2 .hv2-hire__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; position: relative; counter-reset: none; }
.site-v2 .hv2-hire__steps::before { content: ""; position: absolute; top: 32px; left: 32px; right: calc((100% - 96px) / 5 - 32px); height: 2px; background: linear-gradient(90deg, var(--orange), rgba(247,148,29,.15)); }
.site-v2 .hv2-hire__step { position: relative; padding-right: 8px; }
.site-v2 .hv2-hire__node { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--navy-2); border: 2px solid rgba(247,148,29,.55); color: var(--orange); margin-bottom: 22px; box-shadow: 0 0 0 8px var(--navy); transition: background var(--ease), color var(--ease), transform var(--ease); }
.site-v2 .hv2-hire__node svg { width: 26px; height: 26px; }
.site-v2 .hv2-hire__step:first-child .hv2-hire__node,
.site-v2 .hv2-hire__step:hover .hv2-hire__node { background: var(--orange); color: var(--navy); border-color: var(--orange); }
.site-v2 .hv2-hire__step:hover .hv2-hire__node { transform: translateY(-3px); }
.site-v2 .hv2-hire__num { display: block; font: 700 12px var(--head); letter-spacing: .12em; text-transform: uppercase; color: var(--orange); margin-bottom: 6px; }
.site-v2 .hv2-hire__title { font: 700 20px var(--head); color: #fff; margin: 0 0 6px; letter-spacing: -0.01em; }
.site-v2 .hv2-hire__text { font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,.68); margin: 0; }
@media (max-width: 991px) {
    .site-v2 .hv2-hire__head { flex-direction: column; align-items: flex-start; margin-bottom: 36px; }
    .site-v2 .hv2-hire__steps { grid-template-columns: 1fr; gap: 0; }
    .site-v2 .hv2-hire__steps::before { top: 24px; bottom: 24px; left: 27px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, var(--orange), rgba(247,148,29,.15)); }
    .site-v2 .hv2-hire__step { display: grid; grid-template-columns: 56px 1fr; column-gap: 18px; padding: 0 0 28px; }
    .site-v2 .hv2-hire__step:last-child { padding-bottom: 0; }
    .site-v2 .hv2-hire__node { grid-row: span 3; width: 56px; height: 56px; margin: 0; box-shadow: 0 0 0 6px var(--navy); }
    .site-v2 .hv2-hire__node svg { width: 22px; height: 22px; }
    .site-v2 .hv2-hire__num { margin-top: 4px; }
}
@media (prefers-reduced-motion: reduce) { .site-v2 .hv2-hire__node, .site-v2 .hv2-hire__cta { transition: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
    .site-v2 .hv2-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .site-v2 .hv2-split { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 900px) {
    .site-v2 .hv2-grid--3, .site-v2 .hv2-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-v2 .hv2-split, .site-v2 .hv2-split--wide, .site-v2 .hv2-split--left { grid-template-columns: 1fr; }
    .site-v2 .hv2-sticky { position: static; }
    .site-v2 .hv2-page-hero { padding: 72px 0 56px; }
    .site-v2 .hv2-profile { grid-template-columns: auto minmax(0, 1fr); }
    .site-v2 .hv2-profile__actions { grid-column: 1 / -1; align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 760px) {
    .site-v2 .hv2-rank-table__head { display: none; }
    .site-v2 .hv2-rank-table__row { grid-template-columns: 44px minmax(0, 1fr) auto; padding: 14px 16px; gap: 12px; }
    .site-v2 .hv2-rank-table__meta { grid-column: 2 / 3; grid-row: 2; font-size: 13px; margin-top: -6px; }
    .site-v2 .hv2-rank-table__label { display: inline; margin-right: 6px; font-weight: 600; }
    .site-v2 .hv2-rank-table__num { grid-column: 3; grid-row: 1; }
}
@media (max-width: 620px) {
    .site-v2 .hv2-grid--2, .site-v2 .hv2-grid--3, .site-v2 .hv2-grid--4 { grid-template-columns: 1fr; }
    .site-v2 .hv2-form__row { grid-template-columns: 1fr; }
    .site-v2 .hv2-page-hero { padding: 56px 0 44px; }
    .site-v2 .hv2-page-hero p.hv2-page-hero__sub { font-size: 15.5px; }
    .site-v2 .hv2-box, .site-v2 .hv2-form-card { padding: 22px; }
    .site-v2 .hv2-profile { grid-template-columns: 1fr; }
    .site-v2 .hv2-profile__photo { width: 112px; height: 112px; }
    .site-v2 .hv2-row { padding: 14px 16px; }
}

/* ---------- Team / school logo (<x-team-logo>): branded initials when there is no logo ---------- */
.site-v2 span.hv2-tlogo {
    position: relative; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0;
    container-type: inline-size; color: #fff; font-family: var(--head); font-weight: 800; line-height: 1; letter-spacing: .02em;
    background: radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .3), transparent 58%), linear-gradient(145deg, var(--orange) 0%, var(--orange-d) 100%);
}
.site-v2 span.hv2-tlogo--2 { background: radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .3), transparent 58%), linear-gradient(145deg, var(--teal) 0%, #0F8F82 100%); }
.site-v2 span.hv2-tlogo.has-img { background: #fff; }
.site-v2 .hv2-tlogo__ini { font-size: 18px; text-transform: uppercase; text-shadow: 0 1px 2px rgba(0, 0, 0, .18); }
@supports (font-size: 1cqw) { .site-v2 .hv2-tlogo__ini { font-size: 34cqw; } }
.site-v2 .hv2-tlogo__crest { width: 46%; height: 46%; }
.site-v2 .hv2-tlogo.has-img .hv2-tlogo__ini, .site-v2 .hv2-tlogo.has-img .hv2-tlogo__crest { visibility: hidden; }
.site-v2 .hv2-tlogo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #fff; }

/* ---------- Contact: send result (stays until "Send another message") ---------- */
.site-v2 .ct-form [hidden] { display: none !important; }
.site-v2 .ct-alert--err { background: #FEF2F2; border: 1px solid #FECACA; color: #B91C1C; }
.site-v2 .ct-done { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px; border-radius: var(--radius-lg); background: #ECFDF5; border: 1px solid #BBF7D0; outline: none; }
.site-v2 .ct-done__icon { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #16A34A; color: #fff; }
.site-v2 .ct-done__icon svg { width: 26px; height: 26px; }
.site-v2 .ct-done__title { font: 800 22px/1.25 var(--head); color: #14532D; margin: 4px 0 0; }
.site-v2 .ct-done__text { color: #166534; font-size: 15px; margin: 0 0 6px; overflow-wrap: anywhere; }
.site-v2 .ct-captcha { margin-bottom: 18px; }
.site-v2 .ct-captcha .g-recaptcha { max-width: 100%; overflow: hidden; }
.site-v2 [data-ct-submit][disabled] { opacity: .7; cursor: progress; }
@media (max-width: 760px) { .site-v2 .ct-done { padding: 20px; } }
@media (max-width: 360px) { .site-v2 .ct-captcha .g-recaptcha { transform: scale(.88); transform-origin: 0 0; } }

/* ---------- Step popup: send result (job apply) ---------- */
.fr-modal .fr-stepbar[hidden], .fr-modal .fr-modal__foot[hidden], .fr-modal form[hidden], .fr-done[hidden], .fr-alert[hidden] { display: none !important; }
.fr-alert { margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; background: #FEF2F2; border: 1px solid #FECACA; color: #B91C1C; font-size: 14px; font-weight: 600; }
.fr-done { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 28px 8px; outline: none; }
.fr-done__icon { width: 60px; height: 60px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #16A34A; color: #fff; box-shadow: 0 0 0 8px #DCFCE7; }
.fr-done__icon svg { width: 30px; height: 30px; }
.fr-done__title { font: 800 24px/1.25 var(--head); color: var(--ink); margin: 8px 0 0; }
.fr-done__text { color: var(--muted); font-size: 15px; max-width: 420px; margin: 0; overflow-wrap: anywhere; }
.fr-done__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }
[data-fr-submit][disabled] { opacity: .7; cursor: progress; }
@media (max-width: 760px) { .fr-done__actions { flex-direction: column; width: 100%; } .fr-done__actions .hv2-btn { width: 100%; justify-content: center; } }

/* Video card whose YouTube video was removed / made private (detected in home-v2.js) */
.site-v2 .hv2-vcard__off { display: none; }
.site-v2 .hv2-vcard.is-off .hv2-vcard__off { display: flex; position: absolute; inset: 0; z-index: 2; align-items: center; justify-content: center; background: rgba(15, 27, 61, .72); color: #fff; font: 700 14px var(--body); letter-spacing: .02em; }
.site-v2 .hv2-vcard.is-off .hv2-vcard__play { display: none; }
.site-v2 .hv2-vcard.is-off .hv2-vcard__media { cursor: default; }

/* Global Structure detail pages: "KHELSHALA — A project of Aainball" under the name */
.site-v2 .hv2-fd__project { margin: 4px 0 10px; font: 700 13px var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--orange-text); }

/* ---------- Brand-coloured social buttons (Global Structure detail pages) ---------- */
.site-v2 .hv2-socials--brand a,
.site-v2 .hv2-orbit__item { border: 0; color: #fff; box-shadow: 0 6px 16px rgba(15, 27, 61, .14); }
.site-v2 .hv2-social--facebook { background: #1877F2 !important; }
.site-v2 .hv2-social--twitter { background: #000 !important; }
.site-v2 .hv2-social--youtube { background: #FF0000 !important; }
.site-v2 .hv2-social--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important; }
.site-v2 .hv2-social--linkedin { background: #0A66C2 !important; }
.site-v2 .hv2-social--whatsapp { background: #25D366 !important; }
.site-v2 .hv2-social--mail { background: #EA4335 !important; }
.site-v2 .hv2-social--phone { background: #0F1B3D !important; }
.site-v2 .hv2-social--globe, .site-v2 .hv2-social--link { background: var(--navy) !important; }
.site-v2 .hv2-socials--brand a { color: #fff !important; transition: transform var(--ease), box-shadow var(--ease), filter var(--ease); }
.site-v2 .hv2-socials--brand a:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(15, 27, 61, .22); filter: brightness(1.08); }
.site-v2 .hv2-socials--brand .hv2-i, .site-v2 .hv2-orbit__item .hv2-i { width: 18px; height: 18px; }

/* ---------- Share orbit: one button, options spin out around it ---------- */
.site-v2 .hv2-orbit { --r: 78px; --s: 44px; position: relative; width: 52px; height: 52px; flex: none; }
.site-v2 .hv2-orbit.is-open { z-index: 30; }
.site-v2 .hv2-orbit__btn {
    position: relative; z-index: 3; width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
    background: var(--orange); color: #fff; display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 10px 24px rgba(247, 148, 29, .38); transition: transform .35s cubic-bezier(.2, .9, .3, 1.2), background var(--ease);
}
.site-v2 .hv2-orbit__btn:hover { transform: scale(1.06); }
.site-v2 .hv2-orbit__btn:focus-visible { outline: 3px solid rgba(247, 148, 29, .45); outline-offset: 3px; }
.site-v2 .hv2-orbit__btn .hv2-i { width: 22px; height: 22px; position: absolute; transition: transform .35s ease, opacity .25s ease; }
.site-v2 .hv2-orbit__ico-close { opacity: 0; transform: rotate(-90deg) scale(.6); }
.site-v2 .hv2-orbit.is-open .hv2-orbit__btn { background: var(--navy); transform: rotate(180deg); box-shadow: 0 10px 24px rgba(15, 27, 61, .3); }
.site-v2 .hv2-orbit.is-open .hv2-orbit__ico-share { opacity: 0; transform: rotate(90deg) scale(.6); }
.site-v2 .hv2-orbit.is-open .hv2-orbit__ico-close { opacity: 1; transform: rotate(-180deg) scale(1); }
/* pulse ring behind the button while open */
.site-v2 .hv2-orbit::before {
    content: ""; position: absolute; left: 50%; top: 50%; width: calc(var(--r) * 2 + var(--s)); height: calc(var(--r) * 2 + var(--s));
    margin: calc((var(--r) * 2 + var(--s)) / -2) 0 0 calc((var(--r) * 2 + var(--s)) / -2); border-radius: 50%;
    border: 1.5px dashed rgba(247, 148, 29, .5); background: #fff; box-shadow: 0 18px 44px rgba(15, 27, 61, .16);
    transform: scale(.2) rotate(-90deg); opacity: 0; pointer-events: none; z-index: 1;
    transition: transform .5s cubic-bezier(.2, .9, .3, 1.1), opacity .35s ease;
}
.site-v2 .hv2-orbit.is-open::before { transform: scale(1) rotate(0); opacity: 1; }
/* the ring rotates in; each item sits at its angle and stays upright */
.site-v2 .hv2-orbit__ring {
    position: absolute; left: 50%; top: 50%; width: 0; height: 0; z-index: 2; pointer-events: none;
    transform: rotate(-200deg) scale(.15); opacity: 0;
    transition: transform .55s cubic-bezier(.2, .9, .3, 1.15), opacity .3s ease;
}
.site-v2 .hv2-orbit.is-open .hv2-orbit__ring { transform: rotate(0) scale(1); opacity: 1; pointer-events: auto; }
.site-v2 .hv2-orbit__item {
    position: absolute; left: calc(var(--s) / -2); top: calc(var(--s) / -2); width: var(--s); height: var(--s); border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
    transform: rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)));
    transition: box-shadow var(--ease), filter var(--ease);
}
.site-v2 .hv2-orbit__item:hover, .site-v2 .hv2-orbit__item:focus-visible { filter: brightness(1.1); box-shadow: 0 0 0 4px rgba(255, 255, 255, .9), 0 10px 22px rgba(15, 27, 61, .25); outline: none; }
.site-v2 .hv2-orbit__ico-done { display: none; }
.site-v2 .hv2-orbit__item.is-copied { background: #16A34A !important; }
.site-v2 .hv2-orbit__item.is-copied .hv2-orbit__ico-link { display: none; }
.site-v2 .hv2-orbit__item.is-copied .hv2-orbit__ico-done { display: block; }
.site-v2 .hv2-orbit__toast {
    position: absolute; left: 50%; top: calc(100% + var(--r) + 14px); transform: translate(-50%, 6px); z-index: 4;
    padding: 6px 12px; border-radius: 999px; background: var(--ink); color: #fff; font: 600 12.5px var(--body); white-space: nowrap;
    opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease;
}
.site-v2 .hv2-orbit__toast.is-shown { opacity: 1; transform: translate(-50%, 0); }
.site-v2 .hv2-profile__actions .hv2-orbit { margin: 4px 6px; }
@media (prefers-reduced-motion: reduce) {
    .site-v2 .hv2-orbit__ring, .site-v2 .hv2-orbit::before, .site-v2 .hv2-orbit__btn, .site-v2 .hv2-orbit__btn .hv2-i { transition: opacity .15s ease; }
}
.site-v2 .hv2-orbit.is-half::before { display: none; }
.site-v2 .hv2-orbit.is-half .hv2-orbit__item { box-shadow: 0 0 0 3px #fff, 0 8px 20px rgba(15, 27, 61, .22); }

/* Socials + share sit in one row; the share options open below the button (never over the social buttons) */
.site-v2 .hv2-social-row { display: flex; align-items: center; gap: 12px; flex-wrap: nowrap; }
.site-v2 .hv2-social-row .hv2-socials { flex-wrap: nowrap; }
.site-v2 .hv2-social-row .hv2-orbit { margin: 0; }
.site-v2 .hv2-orbit::before { display: none !important; }
.site-v2 .hv2-orbit__item { box-shadow: 0 0 0 3px #fff, 0 8px 20px rgba(15, 27, 61, .22); }
.site-v2 .hv2-orbit__toast { top: calc(100% + var(--r) + 34px); }
.site-v2 .hv2-orbit.is-side .hv2-orbit__toast { top: calc(100% + 12px); }
/* Let the share arc hang below the profile header (sideways stays clipped), above the sticky tab bar */
.site-v2 .hv2-profile-hero { overflow: visible; overflow-x: clip; }
.site-v2 .hv2-profile-hero:has(.hv2-orbit.is-open) { z-index: 25; }

/* Share: options fan out on the right of the button; desktop keeps room for that on the right */
.site-v2 .hv2-orbit__btn:hover { transform: scale(1.12); }
.site-v2 .hv2-orbit.is-open .hv2-orbit__btn:hover { transform: rotate(180deg) scale(1.12); }
.site-v2 .hv2-orbit__item { transition: transform .2s ease, box-shadow var(--ease), filter var(--ease); }
.site-v2 .hv2-orbit.is-open .hv2-orbit__item:hover,
.site-v2 .hv2-orbit.is-open .hv2-orbit__item:focus-visible {
    transform: rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))) scale(1.18);
}
.site-v2 .hv2-orbit.is-side .hv2-orbit__toast { top: calc(100% + 12px); }
@media (max-width: 600px) { .site-v2 .hv2-orbit { --s: 40px; } }

/* Old look for the social + share option buttons: white with a border, orange on hover */
.site-v2 .hv2-socials--brand a,
.site-v2 .hv2-orbit__item {
    background: #fff !important; color: var(--ink) !important; border: 1px solid var(--line) !important;
}
.site-v2 .hv2-socials--brand a { box-shadow: none; }
.site-v2 .hv2-orbit__item { box-shadow: 0 6px 16px rgba(15, 27, 61, .12); }
.site-v2 .hv2-socials--brand a:hover,
.site-v2 .hv2-orbit__item:hover,
.site-v2 .hv2-orbit__item:focus-visible {
    background: var(--orange) !important; border-color: var(--orange) !important; color: #fff !important; filter: none;
}
.site-v2 .hv2-orbit__item.is-copied { background: #16A34A !important; border-color: #16A34A !important; color: #fff !important; }
.site-v2 .hv2-orbit { --s: 40px; }


/* Share button next to its label (blog, news, events, jobs) */
.site-v2 .hv2-article__share { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; }
.site-v2 .hv2-article__share .hv2-eyebrow { margin: 0; }
.site-v2 .hv2-article__share .hv2-btn { margin-left: auto; }
/* open state: keep the share button visible on dark banners too */
.site-v2 .hv2-orbit.is-open .hv2-orbit__btn { background: var(--orange-d, #E07B05); box-shadow: 0 10px 24px rgba(224, 123, 5, .38); }

/* Share inside content: options slide out in a line (and slide back in reverse order) */
.site-v2 .hv2-orbit.is-slide .hv2-orbit__ring { transform: none; opacity: 1; transition: none; }
.site-v2 .hv2-orbit.is-slide .hv2-orbit__item {
    opacity: 0; transform: translate(0, 0) scale(.4); pointer-events: none;
    transition: transform .42s cubic-bezier(.16, 1, .3, 1), opacity .25s ease, background var(--ease), border-color var(--ease), color var(--ease);
    transition-delay: calc((var(--n, 6) - 1 - var(--i, 0)) * 35ms);   /* closing: last one first */
}
.site-v2 .hv2-orbit.is-slide.is-open .hv2-orbit__item {
    opacity: 1; transform: translate(var(--tx, 0), var(--ty, 0)) scale(1); pointer-events: auto;
    transition-delay: calc(var(--i, 0) * 45ms);                        /* opening: one after another */
}
.site-v2 .hv2-orbit.is-slide.is-open .hv2-orbit__item:hover,
.site-v2 .hv2-orbit.is-slide.is-open .hv2-orbit__item:focus-visible { transform: translate(var(--tx, 0), var(--ty, 0)) scale(1.15); transition-delay: 0s; }
.site-v2 .hv2-orbit.is-slide.is-open .hv2-orbit__btn { transform: rotate(90deg); }
.site-v2 .hv2-orbit.is-slide .hv2-orbit__toast { top: calc(100% + 12px); }
@media (max-width: 600px) {
    /* phones: label on its own line, share button at the start of the next one, so the options have room to slide right */
    .site-v2 .hv2-article__share .hv2-eyebrow { flex-basis: 100%; }
    .site-v2 .hv2-article__share .hv2-btn { margin-left: 0; flex-basis: 100%; justify-content: center; }
    .site-v2 .evx-share { flex-direction: column; align-items: flex-start; }
}

/* Job detail: share row under the "Sounds like you?" box (options slide out to the right) */
.site-v2 .hv2-jd__share { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.site-v2 .hv2-jd__share .hv2-eyebrow { margin: 0; }
@media (max-width: 560px) {
    .site-v2 .hv2-jd__share .hv2-eyebrow { flex-basis: 100%; }
}
