/* =====================================================================
   Yousef Fencing International · Design system V71
   Navy and neutrals carry the page; red is kept for actions and emphasis.
   One shared stylesheet; language typography is a separate layer below.
   ===================================================================== */
:root{
  --v-navy:#071B33; --v-navy-deep:#06182E; --v-navy-2:#0B2340; --v-navy-3:#1A3150; --v-navy-line:#1C3150; --v-navy-border:#2A3E58;
  --v-red:#E31B34; --v-red-hover:#C8152C; --v-red-ink:#B8132A; --v-red-on-dark:#FF5A6E;
  --v-white:#FFFFFF; --v-warm:#ECE9E2; --v-warm-2:#D6D1C6; --v-warm-line:#CFC9BC; --v-grey:#F5F7FA;
  --v-silver:#BFC7D1; --v-muted:#536173; --v-muted-warm:#4A5566; --v-line:#E2E6EC; --v-line-2:#D5DBE3;
  --v-r-photo:24px; --v-r-card:18px; --v-r-btn:12px;
  --v-max:1280px; --v-pad:clamp(20px,5vw,80px); --v-sec:clamp(64px,8vw,112px);
  --v-font:Inter,"Helvetica Neue",Arial,sans-serif;
  --v-font-head:var(--v-font);
  --v-ease:cubic-bezier(.16,1,.3,1);
}
html:lang(fa){--v-font:Vazirmatn,Tahoma,sans-serif;--v-font-head:Estedad,Vazirmatn,Tahoma,sans-serif}
html:lang(ar){--v-font:Vazirmatn,Tahoma,sans-serif;--v-font-head:Vazirmatn,Tahoma,sans-serif}
html:lang(zh){--v-font:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--v-font-head:var(--v-font)}
html:lang(ko){--v-font:Inter,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--v-font-head:var(--v-font)}

/* ---------- Base ---------- */
html.v71{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body.v71-body{margin:0;background:var(--v-white);color:var(--v-navy);font-family:var(--v-font);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.v71 *,.v71 *::before,.v71 *::after{box-sizing:border-box}
.v71-page img{max-width:100%;display:block}
.v71-home .v71-p a{color:var(--v-red)}
.v71-home .v71-p a:hover{color:var(--v-red-ink)}
.v71-skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:1000;background:var(--v-red);color:#fff!important;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.v71-skip:focus{top:12px}
.v71 :focus-visible{outline:3px solid var(--v-red);outline-offset:3px}
.v71-wrap{max-width:var(--v-max);margin:0 auto}
.v71-sec{padding:var(--v-sec) var(--v-pad)}
.v71-dark{background:var(--v-navy);color:#fff}
.v71-dark-2{background:var(--v-navy-2);color:#fff}
.v71-warm{background:var(--v-warm)}
.v71-grey{background:var(--v-grey)}

/* ---------- Type ---------- */
.v71-eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--v-red)}
.v71-dark .v71-eyebrow,.v71-dark-2 .v71-eyebrow{color:var(--v-red-on-dark)}
.v71-warm .v71-eyebrow{color:var(--v-red-ink)}
.v71-eyebrow--bar::before{content:"";width:32px;height:4px;border-radius:2px;background:var(--v-red);flex:none}
.v71-eyebrow--quiet{color:var(--v-silver)!important}
.v71-h1{margin:0;font-family:var(--v-font-head);font-size:clamp(44px,6.6vw,96px);line-height:.98;font-weight:900;letter-spacing:-.035em}
.v71-h2{margin:0;font-family:var(--v-font-head);font-size:clamp(30px,3.8vw,54px);line-height:1.08;font-weight:800;letter-spacing:-.025em;text-wrap:balance}
.v71-h2--xl{font-size:clamp(36px,5vw,72px);line-height:1.02;font-weight:900;letter-spacing:-.035em}
.v71-h3{margin:0;font-family:var(--v-font-head);font-size:clamp(20px,2vw,26px);line-height:1.25;font-weight:800}
.v71-lead{margin:0;font-size:19px;line-height:1.7;color:var(--v-muted);max-width:620px}
.v71-p{margin:0;font-size:18px;line-height:1.7;color:var(--v-muted)}
.v71-dark .v71-lead,.v71-dark .v71-p,.v71-dark-2 .v71-p{color:var(--v-silver)}
.v71-warm .v71-p{color:var(--v-muted-warm)}
.v71-strong-line{margin:0;font-size:22px;line-height:1.4;font-weight:800;letter-spacing:-.01em}
.v71-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.v71-head__copy{display:flex;flex-direction:column;gap:14px;max-width:820px}

/* ---------- Buttons & links ---------- */
.v71-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:var(--v-r-btn);font:inherit;font-size:16px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease,transform 200ms ease;text-align:center}
.v71-btn:hover{transform:translateY(-2px)}
.v71-btn svg{flex:none;transition:transform 260ms var(--v-ease)}
.v71-btn:hover svg,.v71-btn:focus-visible svg{transform:translateX(6px)}
[dir=rtl] .v71-btn svg{transform:scaleX(-1)}
[dir=rtl] .v71-btn:hover svg,[dir=rtl] .v71-btn:focus-visible svg{transform:scaleX(-1) translateX(6px)}
.v71-page .v71-btn--red{background:var(--v-red);color:#fff}
.v71-page .v71-btn--red:hover{background:var(--v-red-hover);color:#fff}
.v71-page .v71-btn--line{background:transparent;color:#fff;border-color:#fff}
.v71-page .v71-btn--line:hover{background:#fff;color:var(--v-navy)}
.v71-page .v71-btn--ink{background:transparent;color:var(--v-navy);border-color:var(--v-navy)}
.v71-page .v71-btn--ink:hover{background:var(--v-navy);color:#fff}
.v71-btn--sm{min-height:44px;padding:0 18px;font-size:15px;border-radius:10px}
.v71-page .v71-link{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;text-decoration:none;color:var(--v-red)}
.v71-page .v71-dark .v71-link{color:#fff}
.v71-page .v71-warm .v71-link{color:var(--v-red-ink)}
.v71-link svg{transition:transform 260ms var(--v-ease)}
.v71-link:hover svg{transform:translateX(6px)}
[dir=rtl] .v71-link svg{transform:scaleX(-1)}
[dir=rtl] .v71-link:hover svg{transform:scaleX(-1) translateX(6px)}

/* ---------- Header ---------- */
.v71-header{position:sticky;top:0;z-index:200;background:var(--v-navy);color:#fff;padding:0 var(--v-pad);transition:box-shadow 220ms ease}
.v71-header.is-scrolled{box-shadow:0 10px 30px rgba(3,12,26,.35)}
.v71-header__bar{max-width:var(--v-max);margin:0 auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.v71-page .v71-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;min-width:0}
.v71-page .v71-brand:hover{color:#fff}
.v71-brand img{width:auto;height:46px;flex:none}
.v71-brand__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.v71-brand__name{font-size:19px;font-weight:900;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}
.v71-brand__role{font-size:13px;font-weight:600;color:var(--v-silver);letter-spacing:.03em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v71-nav{display:flex;align-items:center;gap:6px 22px}
.v71-nav__links{display:flex;align-items:center;gap:6px 22px;list-style:none;margin:0;padding:0}
.v71-page .v71-nav__links a{color:var(--v-silver);text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap;transition:color 200ms ease;padding:10px 0;position:relative}
.v71-page .v71-nav__links a:hover,.v71-page .v71-nav__links a[aria-current=page]{color:#fff}
.v71-nav__links a[aria-current=page]::after{content:"";position:absolute;inset-inline:0;bottom:2px;height:2px;background:var(--v-red);border-radius:2px}
.v71-tools{display:flex;align-items:center;gap:12px;flex:none}
.v71-menu-btn{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--v-navy-border);background:transparent;color:#fff;cursor:pointer}
.v71-menu-btn svg{width:22px;height:22px}
.v71-menu-btn .v71-i-close{display:none}
.v71-header.is-open .v71-menu-btn .v71-i-open{display:none}
.v71-header.is-open .v71-menu-btn .v71-i-close{display:block}

/* Language switcher */
.v71-lang{position:relative}
.v71-lang summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 14px;border:1px solid var(--v-navy-border);border-radius:10px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;user-select:none;transition:border-color 200ms ease,background-color 200ms ease}
.v71-lang summary::-webkit-details-marker{display:none}
.v71-lang summary:hover,.v71-lang[open] summary{border-color:var(--v-silver);background:rgba(255,255,255,.06)}
.v71-lang summary img{width:22px;height:16px;border-radius:3px;object-fit:cover}
.v71-lang__caret{transition:transform 200ms ease}
.v71-lang[open] .v71-lang__caret{transform:rotate(180deg)}
.v71-lang__menu{position:absolute;top:calc(100% + 10px);inset-inline-end:0;z-index:300;min-width:220px;max-height:min(70vh,520px);overflow:auto;padding:8px;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(3,12,26,.35);display:grid;gap:2px;animation:v71Pop 220ms var(--v-ease) both}
@keyframes v71Pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.v71-page .v71-lang__menu a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--v-navy);text-decoration:none;font-size:15px;font-weight:600}
.v71-page .v71-lang__menu a:hover{background:var(--v-grey);color:var(--v-navy)}
.v71-page .v71-lang__menu a[aria-current=page]{background:var(--v-navy);color:#fff}
.v71-lang__menu img{width:26px;height:19px;border-radius:3px;object-fit:cover;flex:none}

/* Mobile drawer */
.v71-drawer{display:none}
@media (max-width:1279px){
  .v71-nav{display:none}
  .v71-menu-btn{display:inline-flex}
  .v71-tools .v71-btn--contact{display:none}
  .v71-drawer{display:block;max-height:0;overflow:hidden;transition:max-height 300ms var(--v-ease)}
  .v71-header.is-open .v71-drawer{max-height:80vh;overflow:auto}
  .v71-drawer__inner{max-width:var(--v-max);margin:0 auto;padding:8px 0 28px;display:grid;gap:4px;border-top:1px solid var(--v-navy-line)}
  .v71-page .v71-drawer a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 4px;color:#fff;text-decoration:none;font-size:18px;font-weight:700;border-bottom:1px solid var(--v-navy-line)}
  .v71-page .v71-drawer a[aria-current=page]{color:var(--v-red-on-dark)}
  .v71-page .v71-drawer .v71-btn{margin-top:16px;justify-content:center;border-bottom:0}
}
@media (max-width:640px){
  .v71-header__bar{min-height:70px;gap:10px}
  .v71-brand img{height:38px}
  .v71-brand__name{font-size:16px}
  .v71-brand__role{font-size:12px;max-width:44vw}
  .v71-lang summary{padding:0 10px}
  .v71-lang__code{display:none}
}
@media (max-width:520px){
  .v71-brand__role{display:none}
  .v71-brand__name{font-size:15px;overflow:hidden;text-overflow:ellipsis}
  .v71-lang summary>svg:first-child{display:none}
  .v71-tools{gap:8px}
  .v71-brand{gap:10px}
  .v71-brand img{height:32px}
  .v71-lang summary{padding:0 8px;gap:6px}
  .v71-menu-btn{width:44px;height:44px}
}
@media (max-width:340px){.v71-brand__text{display:none}}

/* ---------- Hero ---------- */
.v71-hero{position:relative;overflow:hidden;background:var(--v-navy);color:#fff;padding:clamp(40px,6vw,88px) var(--v-pad) clamp(64px,8vw,112px)}
.v71-hero__blade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.v71-hero__grid{position:relative;max-width:var(--v-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.v71-hero__copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:26px}
.v71-hero__role{font-size:clamp(20px,2vw,28px);font-weight:800;color:var(--v-red);letter-spacing:-.01em;line-height:1.25}
.v71-hero__lede{margin:0;max-width:560px;font-size:19px;line-height:1.7;color:var(--v-silver)}
.v71-hero__proof{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:17px;line-height:1.5;color:var(--v-silver)}
.v71-hero__proof strong{color:#fff;font-weight:800}
.v71-hero__proof li{display:flex;gap:10px;align-items:baseline}
.v71-hero__proof li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--v-red);flex:none;transform:translateY(-1px)}
.v71-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.v71-hero__media{flex:1 1 400px;min-width:0}
.v71-hero__photo{position:relative;aspect-ratio:4/5;max-height:640px;width:100%;margin:0 auto;border-radius:var(--v-r-photo);overflow:hidden;background:var(--v-navy-3)}
.v71-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.v71-hero__photo::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to top,rgba(7,27,51,.55),transparent);pointer-events:none}
.v71-hero__name{color:inherit;text-decoration:none}
.v71-page .v71-hero__name:hover{color:inherit}

/* Masked line reveal */
.v71-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.v71-mask>span{display:block;animation:v71LineUp 900ms var(--v-ease) both}
.v71-d1>span{animation-delay:120ms}.v71-d2>span{animation-delay:240ms}.v71-d3>span{animation-delay:380ms}.v71-d4>span{animation-delay:480ms}
@keyframes v71LineUp{from{transform:translateY(105%)}to{transform:none}}
.v71-fade{animation:v71Fade 700ms ease 650ms both}
@keyframes v71Fade{from{opacity:0}to{opacity:1}}
/* Blade stroke and touch */
.v71-blade{stroke-dasharray:1400;stroke-dashoffset:1400;animation:v71Draw 1300ms cubic-bezier(.65,0,.35,1) 300ms forwards}
@keyframes v71Draw{to{stroke-dashoffset:0}}
.v71-touch{transform-box:fill-box;transform-origin:center;opacity:0;animation:v71Touch 900ms ease-out 1500ms forwards}
@keyframes v71Touch{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}
.v71-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:v71Ring 1100ms ease-out 1500ms forwards}
@keyframes v71Ring{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(3.2)}}
/* Photo wipe */
.v71-wipe{animation:v71Wipe 1100ms cubic-bezier(.77,0,.18,1) 200ms both}
@keyframes v71Wipe{from{clip-path:inset(0 100% 0 0 round 24px)}to{clip-path:inset(0 0 0 0 round 24px)}}
[dir=rtl] .v71-wipe{animation-name:v71WipeR}
@keyframes v71WipeR{from{clip-path:inset(0 0 0 100% round 24px)}to{clip-path:inset(0 0 0 0 round 24px)}}

/* ---------- Scroll reveals (only when JS enables motion; content stays visible otherwise) ---------- */
html.v71-motion .v71-lunge{opacity:0;transform:translateX(-56px);transition:opacity 700ms ease,transform 900ms var(--v-ease)}
html.v71-motion .v71-lunge-r{opacity:0;transform:translateX(56px);transition:opacity 700ms ease,transform 900ms var(--v-ease)}
html.v71-motion[dir=rtl] .v71-lunge{transform:translateX(56px)}
html.v71-motion[dir=rtl] .v71-lunge-r{transform:translateX(-56px)}
html.v71-motion .v71-rise:not(.is-in){opacity:0;transform:translateY(20px);transition:opacity 550ms ease,transform 600ms var(--v-ease)}
html.v71-motion .v71-scrollwipe{clip-path:inset(0 100% 0 0 round 24px);transition:clip-path 1100ms cubic-bezier(.77,0,.18,1)}
html.v71-motion[dir=rtl] .v71-scrollwipe{clip-path:inset(0 0 0 100% round 24px)}
html.v71-motion .v71-grow{transform:scaleX(0);transform-origin:left center;transition:transform 1000ms var(--v-ease)}
html.v71-motion[dir=rtl] .v71-grow{transform-origin:right center}
html.v71-motion .is-in.v71-lunge,html.v71-motion .is-in.v71-lunge-r,html.v71-motion .is-in.v71-rise{opacity:1;transform:none}
html.v71-motion .is-in.v71-scrollwipe{clip-path:inset(0 0 0 0 round 24px)}
html.v71-motion .is-in.v71-grow{transform:scaleX(1)}
.v71-stagger>*:nth-child(2){transition-delay:80ms}.v71-stagger>*:nth-child(3){transition-delay:160ms}.v71-stagger>*:nth-child(4){transition-delay:240ms}.v71-stagger>*:nth-child(5){transition-delay:320ms}.v71-stagger>*:nth-child(6){transition-delay:400ms}

/* ---------- Stats band ---------- */
.v71-stats{background:var(--v-navy-2);color:#fff;padding:40px var(--v-pad)}
.v71-stats__grid{max-width:var(--v-max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:32px}
.v71-stat{display:flex;flex-direction:column;gap:8px;border-inline-start:2px solid var(--v-red);padding-inline-start:20px}
.v71-stat strong{font-size:52px;font-weight:900;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.v71-stat--text strong{font-size:clamp(24px,2.2vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.v71-stat span{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--v-silver);line-height:1.45}
html:lang(fa) .v71-stat span,html:lang(ar) .v71-stat span{letter-spacing:0;font-size:15px}

/* ---------- Marquees ---------- */
.v71-ticker{background:#fff;border-bottom:1px solid var(--v-line);padding:22px 0;display:flex;align-items:center;gap:16px}
.v71-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.v71-track{display:flex;width:max-content;animation:v71Slide var(--v-dur,48s) linear infinite}
.v71-marquee:hover .v71-track,.v71-marquee:focus-within .v71-track,.is-paused .v71-track{animation-play-state:paused}
@keyframes v71Slide{to{transform:translateX(-50%)}}
.v71-ticker__item{display:inline-flex;align-items:center;gap:22px;padding-inline-end:22px;font-size:22px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.v71-ticker__item::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--v-red)}
.v71-pause{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid #C9D0D9;background:#fff;color:var(--v-navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color 200ms ease}
.v71-pause:hover{border-color:var(--v-navy)}
.v71-pause svg{width:16px;height:16px}
.v71-pause .v71-i-play{display:none}
.v71-pause[aria-pressed=true] .v71-i-play{display:block}
.v71-pause[aria-pressed=true] .v71-i-pause{display:none}
.v71-ticker .v71-pause{margin-inline-end:var(--v-pad)}
.v71-dark .v71-pause,.v71-dark-2 .v71-pause{background:transparent;color:#fff;border-color:var(--v-navy-border)}

/* ---------- Split sections ---------- */
.v71-split{max-width:var(--v-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,96px)}
.v71-split--rev{flex-direction:row-reverse}
.v71-split__copy{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:22px}
.v71-split__media{flex:1 1 440px;min-width:0}
.v71-photo{position:relative;margin:0;border-radius:var(--v-r-photo);overflow:hidden;background:var(--v-line)}
.v71-photo img{width:100%;height:100%;object-fit:cover}
.v71-photo--45{aspect-ratio:4/5}.v71-photo--54{aspect-ratio:5/4}.v71-photo--11{aspect-ratio:1/1}.v71-photo--32{aspect-ratio:3/2}.v71-photo--169{aspect-ratio:16/9}
.v71-photo figcaption{position:absolute;inset-inline-start:16px;bottom:16px;max-width:calc(100% - 32px);font-size:14px;font-weight:600;color:#fff;background:rgba(7,27,51,.78);padding:8px 12px;border-radius:8px;backdrop-filter:blur(4px)}
.v71-warm .v71-photo{background:var(--v-warm-2)}
.v71-career__lines{display:flex;flex-direction:column}
.v71-career__lines span:nth-child(2){color:var(--v-muted)}
.v71-career__lines span:nth-child(3){color:var(--v-red)}
.v71-career__intro{margin:0;font-size:20px;line-height:1.6;font-weight:600;color:var(--v-navy)}

/* ---------- Para fencing ---------- */
.v71-para__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:40px 32px}
.v71-para__item{display:flex;flex-direction:column;gap:10px}
.v71-para__item strong{font-size:clamp(28px,2.6vw,36px);font-weight:900;letter-spacing:-.02em;line-height:1.1}
.v71-para__item span{font-size:17px;line-height:1.6;color:var(--v-silver)}
.v71-rule{height:2px;background:var(--v-red);border:0;margin:0}
.v71-story{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px);align-items:flex-start}
.v71-story__media{flex:1 1 420px;min-width:0}
.v71-story__text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px}
.v71-story__text p{margin:0;font-size:17px;line-height:1.75;color:var(--v-silver)}
.v71-story__text p:first-child{font-size:19px;color:#fff;font-weight:600}

/* ---------- Cards ---------- */
.v71-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.v71-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-card);overflow:hidden;color:var(--v-navy);text-decoration:none;transition:border-color 220ms ease,transform 220ms ease}
.v71-page a.v71-card{color:var(--v-navy)}
a.v71-card:hover{border-color:var(--v-red)}
.v71-card__media{aspect-ratio:16/9;overflow:hidden;background:var(--v-line)}
.v71-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.2,.7,.2,1)}

.v71-card__body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.v71-card__meta{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--v-muted)}
.v71-card__num{font-size:15px;font-weight:800;color:var(--v-red)}
.v71-card__title{margin:0;font-size:22px;font-weight:700;line-height:1.3}
.v71-card__text{margin:0;font-size:17px;line-height:1.7;color:var(--v-muted)}
.v71-warm .v71-card{background:#F7F5F0;border-color:var(--v-warm-line)}

/* Champion stories */
.v71-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px}

/* ---------- Service rows ---------- */
.v71-svc-list{display:flex;flex-direction:column;border-top:1px solid var(--v-line-2)}
.v71-svc{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.3fr) 32px;gap:8px 24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--v-line-2);color:var(--v-navy);text-decoration:none;transition:background-color 260ms ease}
.v71-page a.v71-svc{color:var(--v-navy)}
.v71-svc__num{font-size:16px;font-weight:800;color:var(--v-muted);transition:color 260ms ease,transform 260ms ease}
.v71-svc__title{font-size:clamp(20px,2vw,26px);font-weight:800;line-height:1.25}
.v71-svc__text{font-size:17px;line-height:1.6;color:var(--v-muted)}
.v71-svc__arrow{opacity:.35;transition:transform 300ms var(--v-ease),opacity 300ms ease}
[dir=rtl] .v71-svc__arrow{transform:scaleX(-1)}
.v71-svc__bar{position:absolute;inset-inline:0;bottom:-1px;height:3px;background:var(--v-red);transform:scaleX(0);transform-origin:left center;transition:transform 420ms var(--v-ease)}
[dir=rtl] .v71-svc__bar{transform-origin:right center}
.v71-svc:hover .v71-svc__bar,.v71-svc:focus-visible .v71-svc__bar{transform:scaleX(1)}
.v71-svc:hover .v71-svc__num,.v71-svc:focus-visible .v71-svc__num{color:var(--v-red);transform:translateX(6px)}
[dir=rtl] .v71-svc:hover .v71-svc__num{transform:translateX(-6px)}
.v71-svc:hover .v71-svc__arrow,.v71-svc:focus-visible .v71-svc__arrow{transform:translateX(8px);opacity:1}
[dir=rtl] .v71-svc:hover .v71-svc__arrow{transform:scaleX(-1) translateX(8px)}
@media (max-width:760px){
  .v71-svc{grid-template-columns:44px minmax(0,1fr) 24px;padding:22px 0}
  .v71-svc__text{grid-column:2/3}
  .v71-svc__arrow{grid-row:1;grid-column:3}
}

/* ---------- Network cards & article marquee ---------- */
.v71-rail{margin-top:40px}
.v71-rail .v71-track{gap:0}
.v71-rail__cell{padding-inline-end:24px;display:flex}
.v71-net{width:300px;min-height:190px;display:flex;flex-direction:column;gap:14px;padding:24px;background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-card);color:var(--v-navy)}
.v71-net__country{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--v-muted)}
html:lang(fa) .v71-net__country,html:lang(ar) .v71-net__country{letter-spacing:0}
.v71-net__country img{width:32px;height:22px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px var(--v-line)}
.v71-net__globe{width:32px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--v-red)}
.v71-net__org{font-size:20px;font-weight:800;line-height:1.3;white-space:normal}
.v71-net__rel{margin-top:auto;align-self:flex-start;font-size:13px;font-weight:700;color:var(--v-red-ink);background:#FCE8EB;padding:6px 10px;border-radius:999px;white-space:normal}
.v71-art{width:340px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-card);overflow:hidden;color:var(--v-navy);text-decoration:none;transition:border-color 220ms ease}
.v71-page a.v71-art{color:var(--v-navy)}
.v71-art:hover{border-color:var(--v-red)}
.v71-art__media{aspect-ratio:16/9;overflow:hidden;background:var(--v-line)}
.v71-art__media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.2,.7,.2,1)}

.v71-art__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;white-space:normal}
.v71-art__num{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--v-muted)}
.v71-art__title{font-size:20px;font-weight:700;line-height:1.35}
.v71-rail-head{max-width:var(--v-max);margin:0 auto;padding:0 var(--v-pad);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.v71-rail-tools{display:flex;align-items:center;gap:16px}
.v71-net-media{max-width:var(--v-max);margin:40px auto 0;padding:0 var(--v-pad)}

/* ---------- Latest + FAQ ---------- */
.v71-duo{max-width:var(--v-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}
@media (max-width:900px){.v71-duo{grid-template-columns:1fr}}
.v71-faq-card{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:32px;border-radius:var(--v-r-card);background:var(--v-navy);color:#fff;text-decoration:none;position:relative;overflow:hidden;transition:transform 220ms ease}
.v71-page a.v71-faq-card{color:#fff}
.v71-faq-card:hover{transform:translateY(-2px)}
.v71-faq-card__q{width:64px;height:64px;border-radius:16px;background:var(--v-red);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900}
.v71-faq-card strong{font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.15;letter-spacing:-.02em}
.v71-faq-card p{margin:0;font-size:17px;line-height:1.7;color:var(--v-silver)}

/* ---------- Final CTA ---------- */
.v71-cta{position:relative;overflow:hidden}
.v71-cta__inner{position:relative;max-width:var(--v-max);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.v71-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.v71-page .v71-social{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:1px solid var(--v-navy-border);border-radius:999px;color:#fff;text-decoration:none;font-size:15px;font-weight:600;transition:border-color 200ms ease,background-color 200ms ease}
.v71-page .v71-social:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.v71-social svg{width:18px;height:18px}

/* ---------- Footer ---------- */
.v71-footer{background:var(--v-navy-deep);color:var(--v-silver);padding:64px var(--v-pad) 40px;font-size:15px}
.v71-footer__inner{max-width:var(--v-max);margin:0 auto;display:flex;flex-direction:column;gap:40px}
.v71-footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}
.v71-footer__brand{display:flex;flex-direction:column;gap:14px;max-width:320px}
.v71-footer__brand img{width:132px;height:auto}
.v71-footer__brand strong{font-size:20px;font-weight:900;color:#fff}
.v71-footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:12px 48px;align-content:start}
.v71-footer h2{margin:0 0 4px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.v71-footer__col{display:flex;flex-direction:column;gap:12px}
.v71-page .v71-footer a{color:var(--v-silver);text-decoration:none;transition:color 200ms ease}
.v71-page .v71-footer a:hover{color:#fff}
.v71-footer__connect a{display:inline-flex;align-items:center;gap:10px}
.v71-footer__connect svg{width:18px;height:18px}
.v71-footer__bottom{border-top:1px solid var(--v-navy-line);padding-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px 48px;font-size:14px;line-height:1.7}
.v71-footer__notice h3{margin:0 0 6px;color:#fff;font-size:14px;font-weight:700}
.v71-footer__notice p{margin:0 0 4px}
.v71-page .v71-footer__notice a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.v71-footer__bottom{grid-template-columns:1fr}.v71-footer__nav{grid-template-columns:1fr 1fr;gap:12px 24px}}

/* WeChat dialog */
.v71-dialog{border:0;padding:0;border-radius:20px;max-width:min(92vw,380px);width:100%;box-shadow:0 30px 80px rgba(3,12,26,.45)}
.v71-dialog::backdrop{background:rgba(6,24,46,.7)}
.v71-dialog__inner{padding:28px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;color:var(--v-navy);font-family:var(--v-font)}
.v71-dialog img{width:240px;height:auto;border-radius:12px}
.v71-dialog button{min-height:44px;padding:0 22px;border-radius:10px;border:2px solid var(--v-navy);background:#fff;color:var(--v-navy);font:inherit;font-weight:700;cursor:pointer}

/* ---------- Responsive tweaks ---------- */
@media (max-width:760px){
  .v71-hero__grid{gap:36px}
  .v71-hero__actions .v71-btn{flex:1 1 100%}
  .v71-ticker__item{font-size:18px}
  .v71-art{width:280px}.v71-net{width:260px}
  .v71-stat strong{font-size:42px}
  .v71-hero__blade{display:none}
  .v71-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .v71-stat--text{grid-column:1/-1}
  .v71-stat span{font-size:12px}
}

/* ---------- RTL & script layer ---------- */
html:lang(fa) .v71-h1,html:lang(ar) .v71-h1{line-height:1.25;letter-spacing:0}
html:lang(fa) .v71-h2,html:lang(ar) .v71-h2,html:lang(fa) .v71-h3,html:lang(ar) .v71-h3{letter-spacing:0;line-height:1.35}
html:lang(fa) .v71-eyebrow,html:lang(ar) .v71-eyebrow{letter-spacing:0;font-size:15px}
html:lang(fa) .v71-p,html:lang(ar) .v71-p,html:lang(fa) .v71-lead,html:lang(ar) .v71-lead,html:lang(fa) .v71-hero__lede,html:lang(ar) .v71-hero__lede{line-height:1.9}
html:lang(fa) .v71-mask,html:lang(ar) .v71-mask{padding-bottom:.2em;margin-bottom:-.2em}
html:lang(zh) .v71-h1,html:lang(ko) .v71-h1{letter-spacing:-.01em;line-height:1.1}
html:lang(zh) .v71-h2,html:lang(ko) .v71-h2,html:lang(zh) .v71-eyebrow,html:lang(ko) .v71-eyebrow{letter-spacing:0}
html:lang(zh) .v71-p,html:lang(zh) .v71-lead{line-height:1.8}
[dir=rtl] .v71-marquee{direction:ltr}
[dir=rtl] .v71-rail .v71-net,[dir=rtl] .v71-rail .v71-art{direction:rtl}
bdi{unicode-bidi:isolate}

/* ---------- Social dock (existing script) aligned to the palette ---------- */
.yfi-social-dock{--yfi-dock-bg:var(--v-navy)}

/* ---------- Reduced motion: transitions and entrances become instant (moving strips stay pausable) ---------- */
@media (prefers-reduced-motion: reduce){
  .v71-mask>span,.v71-fade,.v71-wipe,.v71-blade,.v71-touch,.v71-ring,.v71-lang__menu{animation:none!important}
  .v71-blade{stroke-dashoffset:0}.v71-touch{opacity:1}.v71-ring{opacity:0}
  .v71 *{transition-duration:0s!important}
  .v71-btn:hover{transform:none}
}

/* =====================================================================
   Inner-page skin: existing about, FAQ, contact, gallery and article
   layouts adopt the same palette, type and shapes.
   ===================================================================== */
.v71-inner main,.v71-inner .wrap,.v71-inner .i18n-shell{font-family:var(--v-font)}
.v71-inner h1,.v71-inner h2,.v71-inner h3{font-family:var(--v-font-head)}
.v71-inner .i18n-shell{background:#fff}
.v71-inner .btn-primary,.v71-inner .i18n-btn:not(.i18n-outline),.v71-inner .contact-submit,.v71-inner button[type=submit]{background:var(--v-red)!important;border-color:var(--v-red)!important;color:#fff!important;border-radius:var(--v-r-btn)!important;transition:background-color 200ms ease,transform 200ms ease}
.v71-inner .btn-primary:hover,.v71-inner .i18n-btn:not(.i18n-outline):hover,.v71-inner .contact-submit:hover,.v71-inner button[type=submit]:hover{background:var(--v-red-hover)!important;transform:translateY(-2px)}
.v71-inner input,.v71-inner textarea,.v71-inner select{border-radius:12px}
.v71-inner input:focus,.v71-inner textarea:focus{outline:3px solid rgba(227,27,52,.35);outline-offset:1px;border-color:var(--v-red)}
.v71-inner .yfi-photo-frame,.v71-inner .card img,.v71-inner figure img{border-radius:var(--v-r-card)}
.v71-inner .card{border-radius:var(--v-r-card)}
/* Page heading band for inner pages */
.v71-pagehead{background:var(--v-navy);color:#fff;padding:clamp(48px,6vw,88px) var(--v-pad) clamp(40px,5vw,72px);position:relative;overflow:hidden}
.v71-pagehead__inner{position:relative;max-width:var(--v-max);margin:0 auto;display:flex;flex-direction:column;gap:18px}
.v71-pagehead .v71-h1{font-size:clamp(38px,5.4vw,76px)}
.v71-pagehead p{margin:0;max-width:720px;font-size:19px;line-height:1.7;color:var(--v-silver)}
.v71-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--v-silver)}
.v71-page .v71-crumbs a{color:var(--v-silver);text-decoration:none}
.v71-page .v71-crumbs a:hover{color:#fff}

/* Contact pages: navy page, form on a raised navy card */
body.v71-body.contact-page{background:var(--v-navy);color:#fff}
.v71-inner.contact-page .contact-main{font-family:var(--v-font)}
.v71-inner.contact-page .eyebrow{color:var(--v-red-on-dark)!important;letter-spacing:.14em;font-weight:700}
.v71-inner.contact-page h1{font-weight:900;letter-spacing:-.03em;color:#fff}
.v71-inner.contact-page .contact-intro p{color:var(--v-silver)}
.v71-inner.contact-page .contact-form{background:var(--v-navy-2)!important;border:1px solid var(--v-navy-border)!important;border-radius:24px!important}
.v71-inner.contact-page .contact-form label{color:#fff}
.v71-inner.contact-page .contact-form label span{color:var(--v-red-on-dark)}
.v71-inner.contact-page .contact-form input,.v71-inner.contact-page .contact-form textarea{background:var(--v-navy)!important;border:1px solid var(--v-navy-border)!important;color:#fff!important}
.v71-inner.contact-page .form-note{color:var(--v-silver)}
.v71-inner.contact-page .btn.btn-primary{letter-spacing:.04em}

/* Gallery, articles and author box alignment with the system */
.v71-inner .yfi65-eyebrow{color:var(--v-red-on-dark)}
.v71-inner[dir] .card h2,[dir=rtl] .v71-inner .card h2,[dir=rtl] .v71-inner main.wrap>h1,[dir=rtl] .v71-inner .prose p{unicode-bidi:plaintext}
.v71-inner .authorbox{text-decoration:none;color:var(--v-navy)}
.v71-inner .authorbox div{gap:2px}
.v71-inner .authorbox small{color:var(--v-red-ink);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.v71-inner .authorbox strong{color:var(--v-navy)}
.v71-inner .authorbox:hover{border-color:var(--v-red)}
.v71-inner .cta{background:var(--v-red);border-radius:var(--v-r-btn);transition:background-color 200ms ease}
.v71-inner .cta:hover{background:var(--v-red-hover);color:#fff}


/* =====================================================================
   V72 · Motion layer and full-photo frames
   ===================================================================== */
/* Photos keep their own proportions: nothing is cropped, heads stay in frame */
.v71-photo{aspect-ratio:auto!important;height:auto}
.v71-photo img{height:auto!important;object-fit:contain}
.v71-hero__photo{aspect-ratio:1025/1536!important;max-height:none!important;max-width:min(100%,460px);margin-inline:auto!important}
.v71-hero__photo img{object-fit:contain!important}
/* Equal-size cards: the whole photo sits on a blurred copy of itself */
.v71-fit{position:relative;overflow:hidden;background:var(--v-navy)}
.v71-fit::before{content:"";position:absolute;inset:-24px;background:var(--bg) center/cover no-repeat;filter:blur(22px) saturate(1.1) brightness(.75);transform:scale(1.08)}
.v71-fit img{position:relative;width:100%;height:100%!important;object-fit:contain!important}
.v71-card__media img,.v71-art__media img{object-fit:contain}
.v71-art__media{background:var(--v-navy)}

/* Corner brackets drawn around photos, like the target on a fencing jacket */
.v71-frame{position:relative}
.v71-frame::before,.v71-frame::after{content:"";position:absolute;z-index:2;width:44px;height:44px;pointer-events:none;border:3px solid var(--v-red);transition:transform 700ms var(--v-ease) 500ms,opacity 400ms ease 500ms}
.v71-frame::before{top:14px;inset-inline-start:14px;border-inline-end:0;border-bottom:0;border-start-start-radius:10px}
.v71-frame::after{bottom:14px;inset-inline-end:14px;border-inline-start:0;border-top:0;border-end-end-radius:10px}
html.v71-motion .v71-scrollwipe.v71-frame::before,html.v71-motion .v71-scrollwipe.v71-frame::after{opacity:0;transform:scale(.4)}
html.v71-motion .v71-scrollwipe.is-in.v71-frame::before,html.v71-motion .v71-scrollwipe.is-in.v71-frame::after{opacity:1;transform:none}
.v71-hero__photo.v71-frame::before,.v71-hero__photo.v71-frame::after{animation:v71Bracket 700ms var(--v-ease) 1300ms both}
@keyframes v71Bracket{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
/* Floating frames: the whole frame drifts with scroll, the photo is never moved inside it */
.v71-float{will-change:transform}

/* ---------- Hero scene ---------- */
.v71-hero__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px circle at var(--mx,70%) var(--my,30%),rgba(227,27,52,.16),transparent 60%);transition:background-position 200ms}
.v71-piste{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.09}
.v71-piste__line{stroke-dasharray:1440;stroke-dashoffset:1440;animation:v71Draw 1600ms var(--v-ease) 100ms forwards}
.v71-piste__mark{stroke-dasharray:90;stroke-dashoffset:90;animation:v71Draw 700ms ease 900ms forwards}
.v71-lamp{position:absolute;z-index:3;top:18px;inset-inline-end:18px;width:16px;height:16px;border-radius:50%;background:#5a0c16;box-shadow:0 0 0 3px rgba(7,27,51,.6);animation:v71Lamp 1200ms ease 1550ms forwards}
@keyframes v71Lamp{0%{background:#5a0c16}20%{background:var(--v-red);box-shadow:0 0 0 3px rgba(7,27,51,.6),0 0 28px 10px rgba(227,27,52,.75)}100%{background:var(--v-red);box-shadow:0 0 0 3px rgba(7,27,51,.6),0 0 14px 4px rgba(227,27,52,.5)}}
.v71-hero__photo.v71-wipe{animation:v71Wipe 1100ms cubic-bezier(.77,0,.18,1) 200ms both,v71Hit 420ms ease 1500ms}
[dir=rtl] .v71-hero__photo.v71-wipe{animation:v71WipeR 1100ms cubic-bezier(.77,0,.18,1) 200ms both,v71Hit 420ms ease 1500ms}
@keyframes v71Hit{0%,100%{translate:0 0}30%{translate:-6px 2px}60%{translate:4px -1px}}
.v71-hero__title-sweep{position:relative}

/* ---------- Reading progress: a blade along the top ---------- */
.v71-progress{position:fixed;top:0;inset-inline-start:0;z-index:400;height:3px;width:100%;background:var(--v-red);transform-origin:left center;transform:scaleX(var(--p,0));pointer-events:none}
[dir=rtl] .v71-progress{transform-origin:right center}
.v71-progress-dot{position:fixed;top:-3px;left:calc(var(--p,0) * 100% - 5px);z-index:401;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 12px 3px rgba(227,27,52,.9);pointer-events:none;opacity:var(--pd,0);transition:opacity 200ms ease}
[dir=rtl] .v71-progress-dot{left:auto;right:calc(var(--p,0) * 100% - 5px)}

/* ---------- Word-by-word heading reveal ---------- */
.v71-w{display:inline-block;white-space:pre}
html.v71-motion .v71-words-ready .v71-w{opacity:0;transform:translateY(.55em) rotate(2deg);transition:opacity 500ms ease,transform 700ms var(--v-ease);transition-delay:calc(var(--i) * 55ms)}
html.v71-motion .v71-words-ready.is-in .v71-w{opacity:1;transform:none}

/* ---------- Magnetic buttons and shine ---------- */
.v71-btn--red{position:relative;overflow:hidden;isolation:isolate}
.v71-btn--red::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform 700ms var(--v-ease)}
.v71-btn--red:hover::after{transform:translateX(120%)}
.v71-magnetic{transition:transform 260ms var(--v-ease),background-color 200ms ease}

/* ---------- 3D tilt on cards ---------- */
.v71-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform 400ms var(--v-ease),border-color 220ms ease,box-shadow 300ms ease;will-change:transform}
.v71-tilt:hover{--ty:-4px;box-shadow:0 22px 50px rgba(7,27,51,.18)}
.v71-tilt.is-tilting{transition:transform 80ms linear,border-color 220ms ease,box-shadow 300ms ease}

/* ---------- Country flag cards ---------- */
.v71-ticker{padding:26px 0;background:linear-gradient(#fff,#fff) padding-box}
.v71-country{display:inline-flex;align-items:center;gap:14px;min-height:64px;padding:0 22px 0 14px;background:var(--v-grey);border:1px solid var(--v-line);border-radius:999px;font-size:18px;font-weight:800;white-space:nowrap;color:var(--v-navy);transition:border-color 220ms ease,background-color 220ms ease}
[dir=rtl] .v71-country{direction:rtl;padding:0 14px 0 22px}
.v71-country img{width:40px;height:28px;object-fit:cover;border-radius:6px;box-shadow:0 0 0 1px var(--v-line),0 4px 10px rgba(7,27,51,.12)}
.v71-country:hover{border-color:var(--v-red);background:#fff}
.v71-ticker .v71-rail__cell{padding-inline-end:14px}
@media (max-width:760px){.v71-country{min-height:54px;font-size:16px}.v71-country img{width:34px;height:24px}}

/* ---------- Statistics: bar fills while counting ---------- */
.v71-stat{position:relative}
.v71-stat::after{content:"";position:absolute;inset-inline-start:-2px;top:0;width:2px;height:100%;background:#fff;transform-origin:top;transform:scaleY(0);transition:transform 1400ms var(--v-ease) 200ms}
.v71-stat.is-in::after{transform:scaleY(1);background:var(--v-red-on-dark)}

/* ---------- Para fencing: each result lights up in turn ---------- */
.v71-para__item{position:relative;padding-top:22px}
.v71-para__item::before{content:"";position:absolute;top:0;inset-inline:0;height:2px;background:var(--v-navy-border)}
.v71-para__item::after{content:"";position:absolute;top:0;inset-inline-start:0;width:100%;height:2px;background:var(--v-red);transform-origin:left center;transform:scaleX(0);transition:transform 1000ms var(--v-ease) 250ms}
[dir=rtl] .v71-para__item::after{transform-origin:right center}
.v71-para__item.is-in::after{transform:scaleX(1)}
html:not(.v71-motion) .v71-para__item::after,html:not(.v71-motion) .v71-stat::after{transform:none}

/* ---------- Collaboration rows reveal in sequence ---------- */
html.v71-motion .v71-svc{opacity:0;transform:translateY(18px);transition:opacity 500ms ease,transform 600ms var(--v-ease),background-color 260ms ease;transition-delay:calc(var(--i,0) * 70ms)}
html.v71-motion .v71-svc.is-in{opacity:1;transform:none}
.v71-svc:hover{background:linear-gradient(90deg,rgba(227,27,52,.04),transparent)}

/* ---------- Dark sections: slow light sweep ---------- */
.v71-dark{position:relative;isolation:isolate}
.v71-dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 400px at var(--sx,20%) 0%,rgba(42,62,88,.55),transparent 70%);animation:v71Sweep 14s ease-in-out infinite alternate}
@keyframes v71Sweep{from{--sx:10%}to{--sx:90%}}
@property --sx{syntax:'<percentage>';inherits:false;initial-value:20%}

/* ---------- Inner pages: same frames and motion ---------- */
.v71-inner img.cover{max-height:none!important;height:auto!important;object-fit:contain!important}
.v71-inner .ab-hero-portrait,.v71-inner .ab-hero-portrait img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
.v71-inner .card img{object-fit:contain!important;background:var(--v-navy)}
.v71-inner main img:not([src*="flags"]):not([src*="logo"]):not(.yfi-author-logo-light){object-position:50% 20%}

/* ---------- Reduced motion: everything settles instantly ---------- */
@media (prefers-reduced-motion: reduce){
  .v71-piste__line,.v71-piste__mark,.v71-lamp,.v71-hero__photo.v71-wipe,.v71-hero__photo.v71-frame::before,.v71-hero__photo.v71-frame::after,.v71-dark::before{animation:none!important}
  .v71-piste__line,.v71-piste__mark{stroke-dashoffset:0}
  .v71-lamp{background:var(--v-red)}
  .v71-tilt{transform:none!important}
  .v71-progress,.v71-progress-dot{display:none}
}

/* =====================================================================
   V73 · Requested refinements
   ===================================================================== */
/* Full role line beside the logo, in every language */
.v71-brand__role{white-space:normal;overflow:visible;text-overflow:clip;max-width:none}
.v71-brand__name,.v71-brand__role{line-height:1.25}
/* Clear space between the name and the first menu item */
.v71-nav{margin-inline-start:clamp(24px,3vw,56px);margin-inline-end:auto}
.v71-nav__links{gap:6px 26px}
/* About with Para Fencing beneath it */
.v71-has-sub{position:relative}
.v71-has-sub>a{display:inline-flex!important;align-items:center;gap:6px}
.v71-sub__caret{transition:transform 200ms ease;opacity:.8}
.v71-has-sub:hover .v71-sub__caret,.v71-has-sub:focus-within .v71-sub__caret{transform:rotate(180deg)}
.v71-sub{position:absolute;top:100%;inset-inline-start:-14px;z-index:300;min-width:220px;margin:0;padding:8px;list-style:none;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(3,12,26,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity 200ms ease,transform 220ms var(--v-ease),visibility 0s linear 220ms}
.v71-sub::before{content:"";position:absolute;inset:-12px 0 auto 0;height:12px}
.v71-has-sub:hover .v71-sub,.v71-has-sub:focus-within .v71-sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.v71-page .v71-sub a{display:flex;align-items:center;min-height:44px;padding:0 14px!important;border-radius:10px;color:var(--v-navy)!important;font-size:15px;font-weight:600;white-space:nowrap}
.v71-page .v71-sub a:hover{background:var(--v-grey)}
.v71-sub a::after{display:none}
.v71-page .v71-drawer .v71-drawer__sub{padding-inline-start:22px!important;font-size:16px!important;font-weight:600!important;color:var(--v-silver)!important}
.v71-drawer__sub::before{content:"";width:10px;height:2px;background:var(--v-red);margin-inline-end:12px;border-radius:2px}
.v71-page .v71-drawer .v71-drawer__sub{justify-content:flex-start}

/* When the menu does not fit (long labels, tablets), the header switches to the compact menu */
.v71-header.v71-compact .v71-nav{display:none}
.v71-header.v71-compact .v71-menu-btn{display:inline-flex}
.v71-header.v71-compact .v71-tools .v71-btn--contact{display:none}
.v71-header.v71-compact .v71-drawer{display:block;max-height:0;overflow:hidden;transition:max-height 300ms var(--v-ease)}
.v71-header.v71-compact.is-open .v71-drawer{max-height:80vh;overflow:auto}
.v71-header.v71-compact .v71-drawer__inner{max-width:var(--v-max);margin:0 auto;padding:8px 0 28px;display:grid;gap:4px;border-top:1px solid var(--v-navy-line)}
.v71-page .v71-header.v71-compact .v71-drawer a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 4px;color:#fff;text-decoration:none;font-size:18px;font-weight:700;border-bottom:1px solid var(--v-navy-line)}
.v71-page .v71-header.v71-compact .v71-drawer .v71-btn{margin-top:16px;justify-content:center;border-bottom:0}

@media (max-width:520px){
  .v71-brand__role{display:block;font-size:11px;letter-spacing:0;max-width:46vw}
  .v71-brand__name{font-size:15px}
}
@media (max-width:360px){.v71-brand__role{max-width:40vw}}

/* Hero photo: no frame marks; fades into the navy on the side facing the text and over the legs */
.v71-hero__photo{background:var(--v-navy)!important;border-radius:0 24px 24px 0;overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) 9%,#000 26%),linear-gradient(to top,transparent 0,rgba(0,0,0,.25) 14%,#000 44%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) 9%,#000 26%),linear-gradient(to top,transparent 0,rgba(0,0,0,.25) 14%,#000 44%);
  mask-composite:intersect}
[dir=rtl] .v71-hero__photo{border-radius:24px 0 0 24px;
  -webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.35) 9%,#000 26%),linear-gradient(to top,transparent 0,rgba(0,0,0,.25) 14%,#000 44%);
  mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.35) 9%,#000 26%),linear-gradient(to top,transparent 0,rgba(0,0,0,.25) 14%,#000 44%)}
/* the photo's near-black background takes on the page navy */
.v71-hero__photo img{mix-blend-mode:lighten}
.v71-hero__photo::after{display:none!important}
.v71-hero__photo.v71-frame::before,.v71-hero__photo.v71-frame::after{display:none!important}
@media (max-width:760px){
  .v71-hero__photo,[dir=rtl] .v71-hero__photo{border-radius:24px 24px 0 0;
    -webkit-mask-image:linear-gradient(to top,transparent 0,rgba(0,0,0,.25) 14%,#000 44%);mask-image:linear-gradient(to top,transparent 0,rgba(0,0,0,.25) 14%,#000 44%)}
}

/* Collaboration strip on inner pages: the edge fades now cover the whole card height */
.yfi-network-carousel::before,.yfi-network-carousel::after{display:none!important}
.yfi-network-viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}

/* Article strip sits directly under the portrait */
#latest-articles{padding-top:clamp(56px,6vw,88px)}

/* About page: five figures in one row */
.v71-inner .ab-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media (max-width:900px){.v71-inner .ab-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:560px){.v71-inner .ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.v71-header:not(.v71-compact) .v71-brand{flex:none}
.v71-header__bar{max-width:1440px}
/* Nothing may widen the page on phones: sliding-in content is clipped at the screen edge */
html.v71,body.v71-body{overflow-x:clip}
.v71-page main,.v71-page .v71-sec,.v71-page section{overflow-x:clip}
/* RTL pages: the language menu opens toward the screen, not off its edge */
[dir=rtl] .v71-lang__menu{inset-inline-end:auto;left:0;right:auto}
/* Anti-spam field in contact forms: hidden without pushing the page wider (it widened RTL pages on phones) */
.v71-page .i18n-honeypot,.v71-page .hp,.v71-page input[name="_honey"]{position:absolute!important;left:0!important;right:auto!important;top:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important}
.v71-inner .ab-country p+p{margin-top:10px}
.v71-words-ready{unicode-bidi:isolate!important}
[dir=rtl] .v71-words-ready[dir=ltr]{text-align:left}
.v71-page .v71-header .v71-drawer a.v71-drawer__sub{justify-content:flex-start!important}

/* V74: About section collage + tagline; Para Fencing removed from menus (section stays on the page) */
.v71-h2.v72-tagline .v72-tag-line{display:block}
.v71-h2.v72-tagline .v72-tag-line--accent{color:var(--v-red,#E31B34)}
#about .v71-photo img[src*="about-collage-v72"]{aspect-ratio:1/1;object-fit:cover;background:#fff}

/* V75: Home added to the main menu; slightly tighter spacing so the full menu still fits on common laptop widths */
.v71-nav__links{gap:6px clamp(14px,1.45vw,24px)}
.v71-nav{margin-inline-start:clamp(16px,2.2vw,48px)}
.v71-nav__links{gap:6px clamp(10px,0.95vw,24px)}
.v71-nav{margin-inline-start:clamp(14px,1.4vw,48px)}
@media (max-width:1400px){.v71-nav__links{gap:6px 11px}.v71-nav__links a{font-size:14px}}
