/* =====================================================================
   V80 · Programs, Camps and Para Fencing pages + two-row menu
   Built on the V71 design system (navy #071B33, red #E31B34).
   ===================================================================== */

/* ---------- Two-row header: brand and tools on top, the menu below ---------- */
@media (min-width:1100px){
  .v80-header:not(.v71-compact) .v71-header__bar{flex-wrap:wrap;row-gap:0;padding-bottom:0}
  .v80-header:not(.v71-compact) .v71-nav{order:3;flex:1 0 100%;margin:0;border-top:1px solid var(--v-navy-line);min-height:54px;display:flex;align-items:center}
  .v80-header:not(.v71-compact) .v71-nav__links{gap:4px 30px;flex-wrap:nowrap}
  .v80-header:not(.v71-compact) .v71-brand{margin-inline-end:auto}
}
.v80-header .v71-nav__links a{font-size:15px}
.v80-header .v71-sub{min-width:280px}
.v80-header .v71-sub a{white-space:normal!important;line-height:1.35;padding-block:10px!important}
.v80-header .v71-has-sub>a{gap:6px}
/* the drop-down also opens from the caret button for touch and keyboard */
.v80-sub-toggle{display:none}
.v71-page .v71-drawer .v80-drawer-sub{padding-inline-start:26px!important;font-size:16px!important;font-weight:600!important;color:var(--v-silver)!important;justify-content:flex-start!important;min-height:46px!important}
.v80-drawer-sub::before{content:"";width:10px;height:2px;background:var(--v-red);margin-inline-end:12px;border-radius:2px;flex:none}

/* ---------- Page hero shared by the new pages ---------- */
.v80-hero{position:relative;overflow:hidden;background:var(--v-navy);color:#fff;padding:clamp(48px,7vw,104px) var(--v-pad) clamp(56px,8vw,112px);isolation:isolate}
.v80-hero__grid{position:relative;z-index:2;max-width:var(--v-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5vw,72px);align-items:center}
@media (max-width:900px){.v80-hero__grid{grid-template-columns:1fr}}
.v80-hero__copy{display:flex;flex-direction:column;gap:24px;min-width:0}
.v80-hero h1{margin:0;font-family:var(--v-font-head);font-size:clamp(40px,6vw,86px);line-height:1;font-weight:900;letter-spacing:-.035em}
html:lang(fa) .v80-hero h1,html:lang(ar) .v80-hero h1{line-height:1.3;letter-spacing:0}
.v80-hero h1 .v71-mask:last-child>span{color:var(--v-red)}
.v80-hero__lead{margin:0;max-width:600px;font-size:19px;line-height:1.75;color:var(--v-silver)}
.v80-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.v80-glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(700px circle at var(--mx,75%) var(--my,35%),rgba(227,27,52,.18),transparent 60%)}

/* giant outlined word that drifts behind the camps hero */
.v80-bigword{position:absolute;z-index:1;left:0;right:0;bottom:-.12em;pointer-events:none;overflow:hidden;white-space:nowrap;font-family:var(--v-font-head);font-weight:900;font-size:clamp(110px,19vw,300px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.09);direction:ltr}
.v80-bigword span{display:inline-block;padding-inline-end:.4em;animation:v80Drift 38s linear infinite}
@keyframes v80Drift{to{transform:translateX(-100%)}}

/* photo deck: three full photos that fan out, follow the pointer, and can be shuffled */
.v80-deck{position:relative;height:clamp(360px,42vw,560px);perspective:1200px}
.v80-deck__card{position:absolute;inset:8% 10%;margin:0;border-radius:22px;overflow:hidden;background:var(--v-navy-3);box-shadow:0 30px 70px rgba(0,0,0,.45);transform-origin:50% 90%;transition:transform 900ms var(--v-ease),opacity 600ms ease;display:flex;align-items:center;justify-content:center}
.v80-deck__card img{width:100%;height:100%;object-fit:contain}
.v80-deck__card::before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover;filter:blur(24px) brightness(.55);z-index:-1}
.v80-deck__card figcaption{position:absolute;inset-inline-start:14px;bottom:14px;font-size:13px;font-weight:700;color:#fff;background:rgba(7,27,51,.78);padding:7px 11px;border-radius:8px}
.v80-deck[data-ready] .v80-deck__card:nth-child(1){transform:rotate(-9deg) translate(-9%,3%)}
.v80-deck[data-ready] .v80-deck__card:nth-child(2){transform:rotate(7deg) translate(9%,1%)}
.v80-deck[data-ready] .v80-deck__card:nth-child(3){transform:rotate(-1deg) translate(0,-3%)}
.v80-deck__card{transform:translateY(40px) scale(.9);opacity:0}
.v80-deck[data-ready] .v80-deck__card{opacity:1}
.v80-deck__card:nth-child(2){transition-delay:120ms}.v80-deck__card:nth-child(3){transition-delay:240ms}
.v80-deck__shuffle{position:absolute;z-index:5;inset-inline-end:4%;bottom:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(7,27,51,.6);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;backdrop-filter:blur(6px)}
.v80-deck__shuffle:hover{border-color:#fff}
.v80-badge{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:999px;background:#fff;color:var(--v-navy);font-size:13px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.35);animation:v80Float 6s ease-in-out infinite}
.v80-badge img{width:28px;height:20px;border-radius:4px;object-fit:cover}
.v80-badge:nth-of-type(2){animation-delay:-2s}.v80-badge:nth-of-type(3){animation-delay:-4s}
@keyframes v80Float{0%,100%{translate:0 0}50%{translate:0 -12px}}

/* ---------- Sections ---------- */
.v80-sec{padding:var(--v-sec) var(--v-pad)}
.v80-wrap{max-width:var(--v-max);margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)}
.v80-sec-head{display:flex;flex-direction:column;gap:14px;max-width:820px}
.v80-num{font-variant-numeric:tabular-nums}

/* format cards with an animated gradient border */
.v80-formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.v80-formats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.v80-formats{grid-template-columns:1fr}}
.v80-format{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 24px;border-radius:20px;background:#fff;border:1px solid var(--v-line);overflow:hidden;isolation:isolate;transition:transform 300ms var(--v-ease),box-shadow 300ms ease}
.v80-format::before{content:"";position:absolute;inset:-2px;z-index:-2;background:conic-gradient(from var(--a,0deg),transparent 0 70%,var(--v-red) 80%,transparent 90%);opacity:0;transition:opacity 300ms ease;animation:v80Spin 3.2s linear infinite}
.v80-format::after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:18px;background:#fff}
.v80-format:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(7,27,51,.16)}
.v80-format:hover::before{opacity:1}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes v80Spin{to{--a:360deg}}
.v80-icon{width:56px;height:56px;border-radius:16px;background:var(--v-navy);color:#fff;display:flex;align-items:center;justify-content:center}
.v80-icon svg{width:28px;height:28px}
.v80-format h3{margin:0;font-size:21px;font-weight:800;line-height:1.25}
.v80-format p{margin:0;font-size:16px;line-height:1.65;color:var(--v-muted)}

/* where camps took place: a strip that moves sideways as the page scrolls (desktop) */
.v80-hscroll{position:relative}
.v80-hscroll__sticky{position:sticky;top:var(--v80-head,112px);height:calc(100vh - var(--v80-head,112px));min-height:560px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,44px)}
.v80-hscroll__head{padding:0 var(--v-pad);max-width:var(--v-max);width:100%;margin:0 auto;box-sizing:border-box}
.v80-hscroll__track{display:flex;gap:24px;will-change:transform;padding-inline:var(--v-pad)}
.v80-place{flex:0 0 min(420px,80vw);display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--v-navy-2);color:#fff;border:1px solid var(--v-navy-border)}
.v80-place__media{position:relative;aspect-ratio:16/10;background:var(--v-navy-3);display:flex;align-items:center;justify-content:center;overflow:hidden}
.v80-place__media img.v80-photo{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.v80-place__media::before{content:"";position:absolute;inset:-30px;background:var(--bg,none) center/cover;filter:blur(22px) brightness(.5)}
.v80-place__flagbig{width:44%;height:auto;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.4);position:relative;z-index:1}
.v80-place__big{position:absolute;z-index:2;inset-inline-end:16px;bottom:10px;font-size:64px;font-weight:900;line-height:1;color:#fff;text-shadow:0 6px 24px rgba(0,0,0,.4)}
.v80-place__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.v80-place__country{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800}
.v80-place__country img{width:34px;height:24px;border-radius:5px;object-fit:cover}
.v80-place__body p{margin:0;font-size:16px;line-height:1.65;color:var(--v-silver)}
@media (max-width:900px){
  .v80-hscroll{height:auto!important}
  .v80-hscroll__sticky{position:static;height:auto;min-height:0;display:block;overflow:visible}
  .v80-hscroll__track{transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--v-pad);-webkit-overflow-scrolling:touch;padding-bottom:12px;scrollbar-width:thin}
  .v80-hscroll__head{margin-bottom:24px}
  .v80-place{scroll-snap-align:start}
}

/* focus chips moving in two directions */
.v80-chips{display:flex;flex-direction:column;gap:14px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);direction:ltr}
.v80-chips__row{display:flex;width:max-content;gap:14px;animation:v71Slide 36s linear infinite}
.v80-chips__row--rev{animation-direction:reverse;animation-duration:42s}
.v80-chips:hover .v80-chips__row{animation-play-state:paused}
.v80-chip{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 24px;border-radius:999px;border:1px solid var(--v-navy-border);font-size:20px;font-weight:800;white-space:nowrap;color:#fff;background:rgba(255,255,255,.04)}
.v80-chip::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--v-red)}

/* ---------- Para page: section bar that follows the reader ---------- */
.v80-subnav{position:sticky;top:var(--v80-head,84px);z-index:150;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--v-line)}
.v80-subnav__in{max-width:var(--v-max);margin:0 auto;padding:10px var(--v-pad);display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.v80-subnav__in::-webkit-scrollbar{display:none}
.v71-page .v80-subnav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;color:var(--v-navy);text-decoration:none;font-size:15px;font-weight:700;border:1px solid var(--v-line);transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.v71-page .v80-subnav a:hover{border-color:var(--v-navy)}
.v71-page .v80-subnav a.is-active{background:var(--v-navy);color:#fff;border-color:var(--v-navy)}

.v80-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:900px){.v80-split{grid-template-columns:1fr}}
.v80-prose{display:flex;flex-direction:column;gap:16px}
.v80-prose p{margin:0;font-size:18px;line-height:1.75;color:var(--v-muted)}
.v80-dark .v80-prose p{color:var(--v-silver)}
.v80-prose p:first-child{font-size:20px;font-weight:600;color:var(--v-navy)}
.v80-dark .v80-prose p:first-child{color:#fff}
.v80-dark{background:var(--v-navy);color:#fff}
.v80-grey{background:var(--v-grey)}
.v80-warm{background:var(--v-warm)}

/* photo mosaic: whole photos, never cropped */
.v80-mosaic{columns:2;column-gap:16px}
.v80-mosaic figure{break-inside:avoid;margin:0 0 16px;border-radius:18px;overflow:hidden;background:var(--v-line);position:relative}
.v80-mosaic img{width:100%;height:auto;display:block}
.v80-mosaic figcaption{position:absolute;inset-inline-start:12px;bottom:12px;max-width:calc(100% - 24px);font-size:13px;font-weight:700;color:#fff;background:rgba(7,27,51,.8);padding:6px 10px;border-radius:8px}
@media (max-width:560px){.v80-mosaic{columns:1}}

.v80-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:28px}
.v80-stat{position:relative;padding-top:20px;display:flex;flex-direction:column;gap:8px}
.v80-stat::before{content:"";position:absolute;top:0;inset-inline:0;height:2px;background:var(--v-line)}
.v80-dark .v80-stat::before{background:var(--v-navy-border)}
.v80-stat::after{content:"";position:absolute;top:0;inset-inline-start:0;width:100%;height:2px;background:var(--v-red);transform:scaleX(var(--s,1));transform-origin:left center;transition:transform 1100ms var(--v-ease) 200ms}
[dir=rtl] .v80-stat::after{transform-origin:right center}
html.v71-motion .v80-stat:not(.is-in)::after{--s:0}
.v80-stat strong{font-size:clamp(30px,3.2vw,44px);font-weight:900;letter-spacing:-.02em;line-height:1.05}
.v80-stat span{font-size:16px;line-height:1.55;color:var(--v-muted)}
.v80-dark .v80-stat span{color:var(--v-silver)}

.v80-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}
.v80-card{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:18px;background:#fff;border:1px solid var(--v-line)}
.v80-dark .v80-card{background:var(--v-navy-2);border-color:var(--v-navy-border)}
.v80-card__head{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800}
.v80-card__head img{width:36px;height:25px;border-radius:5px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.v80-card p{margin:0;font-size:16px;line-height:1.65;color:var(--v-muted)}
.v80-dark .v80-card p{color:var(--v-silver)}

/* rules: icon cards + the frame diagram */
.v80-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.v80-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.v80-rules{grid-template-columns:1fr}}
.v80-rule{display:flex;flex-direction:column;gap:12px;padding:26px 24px;border-radius:18px;background:#fff;border:1px solid var(--v-line);transition:transform 300ms var(--v-ease),border-color 200ms ease}
.v80-rule:hover{transform:translateY(-4px);border-color:var(--v-red)}
.v80-rule h3{margin:0;font-size:19px;font-weight:800}
.v80-rule p{margin:0;font-size:16px;line-height:1.65;color:var(--v-muted)}
.v80-diagram{border-radius:22px;background:var(--v-navy);padding:clamp(18px,3vw,32px);color:#fff}
.v80-diagram svg{display:block;width:100%;height:auto}
.v80-diagram .v80-draw{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1600ms var(--v-ease)}
.v80-diagram.is-in .v80-draw{stroke-dashoffset:0}
html:not(.v71-motion) .v80-diagram .v80-draw{stroke-dashoffset:0}
.v80-sources{margin:0;font-size:14px;color:var(--v-muted)}

/* history timeline with a line that fills as you scroll */
.v80-timeline{position:relative;display:flex;flex-direction:column;gap:0;padding-inline-start:44px}
.v80-timeline::before{content:"";position:absolute;inset-inline-start:13px;top:8px;bottom:8px;width:2px;background:var(--v-line)}
.v80-timeline__fill{position:absolute;inset-inline-start:13px;top:8px;width:2px;height:calc((100% - 16px) * var(--t,1));background:var(--v-red)}
.v80-tl{position:relative;padding:0 0 40px}
.v80-tl:last-child{padding-bottom:0}
.v80-tl::before{content:"";position:absolute;inset-inline-start:-38px;top:6px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--v-red);box-shadow:0 0 0 6px rgba(227,27,52,.12)}
.v80-tl strong{display:block;font-size:clamp(26px,2.6vw,36px);font-weight:900;color:var(--v-red);line-height:1.1;margin-bottom:8px}
.v80-tl p{margin:0;font-size:18px;line-height:1.7;color:var(--v-muted);max-width:720px}

/* CTA band */
.v80-cta{position:relative;overflow:hidden;background:var(--v-navy);color:#fff;padding:clamp(72px,9vw,128px) var(--v-pad)}
.v80-cta__in{position:relative;z-index:2;max-width:var(--v-max);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.v80-cta h2{margin:0;max-width:900px;font-family:var(--v-font-head);font-size:clamp(34px,5vw,68px);line-height:1.05;font-weight:900;letter-spacing:-.03em}
html:lang(fa) .v80-cta h2,html:lang(ar) .v80-cta h2{line-height:1.35;letter-spacing:0}
.v80-cta p{margin:0;max-width:640px;font-size:19px;line-height:1.7;color:var(--v-silver)}

/* program cards */
.v80-progs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.v80-progs{grid-template-columns:1fr}}
.v80-prog{position:relative;display:flex;flex-direction:column;gap:14px;padding:32px 28px;border-radius:22px;background:#fff;border:1px solid var(--v-line);color:var(--v-navy);text-decoration:none;overflow:hidden;transition:transform 300ms var(--v-ease),box-shadow 300ms ease,border-color 200ms ease}
.v71-page a.v80-prog{color:var(--v-navy)}
.v80-prog:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(7,27,51,.14);border-color:var(--v-red)}
.v80-prog h3{margin:0;font-size:23px;font-weight:800}
.v80-prog p{margin:0;font-size:17px;line-height:1.65;color:var(--v-muted)}
.v80-prog .v71-link{margin-top:auto}
.v80-prog--hot{background:var(--v-navy);color:#fff;border-color:var(--v-navy)}
.v71-page a.v80-prog--hot{color:#fff}
.v80-prog--hot p{color:var(--v-silver)}
.v80-prog--hot .v80-icon{background:var(--v-red)}
.v71-page .v80-prog--hot .v71-link{color:#fff}

/* FAQ snippet */
.v80-qa{border-radius:18px;background:#fff;border:1px solid var(--v-line);padding:26px 28px;display:flex;flex-direction:column;gap:10px;max-width:900px}
.v80-qa h3{margin:0;font-size:20px;font-weight:800}
.v80-qa p{margin:0;font-size:17px;line-height:1.7;color:var(--v-muted)}

/* RTL and scripts */
html:lang(fa) .v80-prose p,html:lang(ar) .v80-prose p,html:lang(fa) .v80-tl p,html:lang(ar) .v80-tl p{line-height:1.95}

/* Reduced motion: everything still and complete */
@media (prefers-reduced-motion: reduce){
  .v80-bigword span,.v80-badge,.v80-chips__row,.v80-format::before{animation:none!important}
  .v80-deck__card{transition:none!important}
  .v80-chips__row{flex-wrap:wrap;width:auto}
  .v80-chips{-webkit-mask-image:none;mask-image:none}
  .v80-chips__row[aria-hidden="true"]{display:none}
}

/* V80 polish */
.v80-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (min-width:1100px){.v80-header:not(.v71-compact) .v71-header__bar{padding-top:12px}}
.v80-dark .v71-h2,.v80-dark h2,.v80-dark h3{color:#fff}
.v80-mosaic:has(>figure:only-child){columns:1}
.v71-footer__nav{grid-auto-flow:column;grid-template-rows:repeat(5,auto)}
@media (min-width:1100px){html{scroll-padding-top:128px}}
html:has(.v80-subnav){scroll-padding-top:118px}
@media (min-width:1100px){html:has(.v80-subnav){scroll-padding-top:168px}}
body:has(.v71-header.is-open) .yfi-social-dock{opacity:0;visibility:hidden;pointer-events:none}
.v80-hscroll__head{padding:0;width:min(var(--v-max),calc(100% - 2 * var(--v-pad)))}
