/* ==========================================================
   Rahyaab Holding — main.css  (v1.0)
   Colors/animation/radius come from the admin panel (inline :root vars).
   Logical properties everywhere → RTL (fa/ar) & LTR (en) flip automatically.
   ========================================================== */
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --bg:#070d18;--bg-soft:#0a1322;--surface:#0e1727;--surface-2:#132036;
  --gold:#d9a95c;--blue:#1f5fe0;--text:#e9edf4;--muted:#93a0b6;--gold-ink:#1a1305;
  --line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.17);
  --radius-sm:8px;--radius:14px;--radius-lg:20px;
  --container:1240px;--gutter:clamp(1rem,4vw,2.5rem);--header-h:72px;
  --overlay:.55;--reveal-ms:700ms;--stagger:90ms;
  --ld-bg:#070d18;--ld-accent:#d9a95c;
  --font:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);--dir:1;
  --fs-sm:.9375rem;--fs-xs:.8125rem;--fs-lg:1.125rem;
}
html[dir=rtl]{--dir:-1}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 56px);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;display:block}
img,video{height:auto}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:var(--gold)}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.4;font-weight:700}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:1rem;top:-100px;z-index:10000;background:var(--gold);color:var(--gold-ink);padding:.6rem 1rem;border-radius:var(--radius-sm)}
.skip-link:focus{top:1rem}
.muted{color:var(--muted)}.center{text-align:center}
.icon{flex:none}
.icon-arrow{transform:none}.icon-arrow.flip{transform:scaleX(-1)}
html[dir=ltr] .icon-arrow{transform:scaleX(-1)}html[dir=ltr] .icon-arrow.flip{transform:none}
.h2{font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem)}.h3{font-size:clamp(1.3rem,1.1rem + 1vw,1.7rem)}.h4{font-size:1.15rem}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section--soft{background:var(--bg-soft);border-block:1px solid var(--line)}
.grid{display:grid;gap:1.5rem}
.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--6{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.grid--4{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid--2,.grid--3,.grid--4,.grid--6{grid-template-columns:1fr}}
.block{margin-block-start:3rem}
.empty{text-align:center;color:var(--muted);padding:3rem 0}

.eyebrow{display:inline-flex;align-items:center;gap:.75rem;color:var(--gold);font-size:var(--fs-sm);margin:0 0 1rem}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem 1.6rem;border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-sm);border:1px solid transparent;line-height:1.5;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .25s var(--ease)}
.btn--gold{background:var(--gold);color:var(--gold-ink)}.btn--gold:hover{background:color-mix(in srgb,var(--gold) 85%,#fff);color:var(--gold-ink);transform:translateY(-2px)}
.btn--ghost{border-color:var(--line-strong);color:var(--text);background:transparent}.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--sm{padding:.5rem 1.1rem;font-size:var(--fs-xs)}.btn--block{display:flex;width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold);font-size:var(--fs-sm);font-weight:600}
.link-arrow .icon{transition:translate .25s var(--ease)}
.link-arrow:hover .icon{translate:-5px 0}html[dir=ltr] .link-arrow:hover .icon{translate:5px 0}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-block-end:2.25rem}
.section-head__title{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);margin:0}
.section-head__title::after{content:"";display:block;width:44px;height:3px;background:var(--gold);margin-block-start:.6rem;border-radius:2px}
.section-head__desc{color:var(--muted);margin:.75rem 0 0;max-width:60ch}

.prose{color:#c9d2e0;max-width:70ch}.prose--wide{max-width:none}
.prose>*+*{margin-block-start:1.1em}.prose h2,.prose h3{color:var(--text);margin-block-start:1.6em}.prose a{color:var(--gold);text-decoration:underline}
.prose img{border-radius:var(--radius)}.prose ul{list-style:disc;padding-inline-start:1.4rem}.prose ol{list-style:decimal;padding-inline-start:1.4rem}
.prose blockquote{margin:1.5em 0;padding-inline-start:1.2rem;border-inline-start:3px solid var(--gold);color:var(--text)}

/* ---------- Header ---------- */
.site-header{position:fixed;inset-inline:0;top:0;z-index:100;height:var(--header-h);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-block-end:1px solid var(--line);transition:background .3s,border-color .3s}
body:not(.hdr-sticky) .site-header{position:absolute}
.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}
.hdr-transparent:not(.no-hero) .site-header:not(.is-scrolled){background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header.is-scrolled{background:color-mix(in srgb,var(--bg) 94%,transparent)}
.no-hero .site-main,.error404 .site-main{padding-block-start:var(--header-h)}
.site-header__inner{height:100%;display:flex;align-items:center;gap:1.75rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;font-weight:800;font-size:1.1rem;white-space:nowrap}
.brand__img{height:34px;width:auto}.brand:hover{color:var(--text)}
.main-nav{flex:1}
.main-nav .menu{display:flex;align-items:center;gap:.15rem}
.main-nav .menu>li{position:relative}
.main-nav .menu a{display:block;padding:.55rem .8rem;font-size:var(--fs-sm);color:#c5cddb;position:relative;white-space:nowrap}
.main-nav .menu a:hover,.main-nav .menu .is-active>a{color:var(--text)}
.main-nav .menu>li>a::after{content:"";position:absolute;inset-inline:.8rem;bottom:2px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s var(--ease)}
.main-nav .menu>li:hover>a::after,.main-nav .menu>.is-active>a::after{transform:scaleX(1)}
.main-nav .menu>li.menu-item-has-children>a{padding-inline-end:1.5rem}
.main-nav .menu>li.menu-item-has-children>a::before{content:"";position:absolute;inset-inline-end:.6rem;top:50%;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);opacity:.6}
.main-nav .sub-menu{position:absolute;inset-inline-start:0;top:100%;min-width:230px;padding:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 48px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav .sub-menu a{border-radius:var(--radius-sm)}.main-nav .sub-menu a:hover{background:var(--surface-2)}
.main-nav__mobile{display:none}
.site-header__tools{display:flex;align-items:center;gap:.7rem;margin-inline-start:auto}
.lang{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}
.lang a{display:block;padding:.1rem .65rem;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.03em;color:var(--muted);line-height:1.8}
.lang a:hover{color:var(--text)}.lang a.is-current{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}
.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;background:transparent;border:0;border-radius:50%;color:var(--text);transition:background .2s}
.icon-btn:hover{background:rgba(255,255,255,.08)}.nav-toggle{display:none}
.search-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:start center;padding:18vh var(--gutter) 0;background:rgba(4,8,15,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.search-overlay[hidden]{display:none}
.search-overlay__box{width:min(680px,100%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius)}
.search-overlay form{flex:1;display:flex;align-items:center;gap:.75rem;color:var(--muted)}
.search-overlay input{flex:1;background:transparent;border:0;font-size:var(--fs-lg);padding:.8rem 0;outline:none}
@media(max-width:1100px){
  .nav-toggle{display:inline-grid}.site-header__lang,.site-header__cta{display:none}
  .main-nav{position:fixed;inset-inline:0;top:var(--header-h);bottom:0;padding:1.25rem var(--gutter) 2.5rem;overflow-y:auto;background:var(--bg);border-block-start:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s var(--ease),visibility .25s}
  .admin-bar .main-nav{top:calc(var(--header-h) + 46px)}
  .nav-open .main-nav{opacity:1;visibility:visible;transform:none}body.nav-open{overflow:hidden}
  .main-nav .menu{flex-direction:column;align-items:stretch;gap:0}.main-nav .menu>li{border-block-end:1px solid var(--line)}
  .main-nav .menu a{padding:1rem .25rem;font-size:var(--fs-lg);color:var(--text);white-space:normal}
  .main-nav .menu>li>a::after,.main-nav .menu>li.menu-item-has-children>a::before{display:none}
  .main-nav .menu .is-active>a{color:var(--gold)}
  .main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border:0;padding:0 1rem 1rem;min-width:0}
  .main-nav .sub-menu a{font-size:1rem;color:var(--muted);padding-block:.6rem}
  .main-nav__mobile{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;margin-block-start:1.5rem}
}

/* ---------- Page hero ---------- */
.page-hero{position:relative;padding-block:calc(var(--header-h) + 3.5rem) 3.2rem;background:radial-gradient(900px 380px at 85% 0,color-mix(in srgb,var(--gold) 13%,transparent),transparent 70%),var(--bg-soft);border-block-end:1px solid var(--line);overflow:hidden;isolation:isolate}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transform:scale(1.04)}
.page-hero.has-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to inline-end,rgba(7,13,24,calc(var(--overlay) + .3)),rgba(7,13,24,calc(var(--overlay) - .25))),linear-gradient(to top,var(--bg),transparent 55%)}
html[dir=rtl] .page-hero.has-img::after{background:linear-gradient(to left,rgba(7,13,24,calc(var(--overlay) + .3)),rgba(7,13,24,calc(var(--overlay) - .25))),linear-gradient(to top,var(--bg),transparent 55%)}
html[dir=ltr] .page-hero.has-img::after{background:linear-gradient(to right,rgba(7,13,24,calc(var(--overlay) + .3)),rgba(7,13,24,calc(var(--overlay) - .25))),linear-gradient(to top,var(--bg),transparent 55%)}
.page-hero__title{font-size:clamp(2rem,1.2rem + 3.4vw,3.6rem);margin-block-end:.3em}
.page-hero__lead{max-width:62ch;color:#c0c9d8;font-size:var(--fs-lg);margin:0}
.crumbs{margin-block-end:1.4rem;font-size:var(--fs-xs);color:var(--muted)}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.crumbs li+li::before{content:"/";margin-inline-end:.4rem;opacity:.5}.crumbs a:hover{color:var(--gold)}.crumbs [aria-current]{color:var(--text)}
.crumbs svg{display:inline-block;vertical-align:-3px}

/* ---------- Hero slider ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--bg-soft)}
.hero--full{height:100svh;min-height:600px}.hero--tall{height:min(92svh,900px);min-height:580px}.hero--medium{height:min(72svh,700px);min-height:500px}
.hero__slides,.hero__slide{position:absolute;inset:0}
.hero__slide{opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.hero__slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero__bg{position:absolute;inset:0;overflow:hidden;background:radial-gradient(700px 400px at 80% 30%,color-mix(in srgb,var(--gold) 20%,transparent),transparent 70%),linear-gradient(160deg,#0d1b33,var(--bg))}
.hero__bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
html[data-hero=kenburns] .hero__slide.is-active .hero__bg img{animation:kb 16s ease-out forwards}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1)}}
.hero__shade{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0,transparent 40%),linear-gradient(to left,rgba(7,13,24,calc(var(--overlay) + .25)),rgba(7,13,24,calc(var(--overlay) - .35)))}
html[dir=ltr] .hero__shade{background:linear-gradient(to top,var(--bg) 0,transparent 40%),linear-gradient(to right,rgba(7,13,24,calc(var(--overlay) + .25)),rgba(7,13,24,calc(var(--overlay) - .35)))}
.hero__content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--header-h) + 2rem) 5rem}
.hero__title{font-size:clamp(2.3rem,1.2rem + 4.6vw,4.6rem);line-height:1.25;margin:0 0 1.2rem;max-width:16ch;font-weight:800}
.hero__title .line{display:block}.hero__title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-block:.08em}.hero__title .w>span{display:inline-block}
.js[data-herotxt=rise] .hero__slide .w>span{transform:translateY(115%)}
html.is-ready[data-herotxt=rise] .hero__slide.is-active .w>span{animation:wordUp .9s var(--ease) both;animation-delay:calc(var(--i)*80ms + 150ms)}
@keyframes wordUp{from{transform:translateY(115%)}to{transform:none}}
.js[data-herotxt=fade] .hero__slide .hero__title,.js[data-herotxt=rise] .hero__slide .hero__lead,.js[data-herotxt=rise] .hero__slide .hero__actions,.js[data-herotxt=rise] .hero__slide .eyebrow,.js[data-herotxt=fade] .hero__slide .hero__lead,.js[data-herotxt=fade] .hero__slide .hero__actions,.js[data-herotxt=fade] .hero__slide .eyebrow{opacity:0}
html.is-ready[data-herotxt] .hero__slide.is-active .hero__title,html.is-ready[data-herotxt] .hero__slide.is-active .hero__lead,html.is-ready[data-herotxt] .hero__slide.is-active .hero__actions,html.is-ready[data-herotxt] .hero__slide.is-active .eyebrow{animation:fadeIn 1s ease .25s both}
html.is-ready[data-herotxt=rise] .hero__slide.is-active .hero__title{animation:none;opacity:1}
html.is-ready[data-herotxt] .hero__slide.is-active .hero__lead{animation-delay:.6s}html.is-ready[data-herotxt] .hero__slide.is-active .hero__actions{animation-delay:.85s}
@keyframes fadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero__lead{max-width:56ch;color:#c9d2e0;font-size:var(--fs-lg);margin-block-end:1.8rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem}
.hero__nav{position:absolute;inset-inline:0;bottom:2rem;z-index:3;display:flex;justify-content:flex-end;pointer-events:none}
.hero__dots{display:flex;gap:.5rem;pointer-events:auto}
.hero__dots button{width:28px;height:4px;border:0;border-radius:3px;background:rgba(255,255,255,.28);padding:0;transition:background .3s,width .3s}
.hero__dots button.is-active{background:var(--gold);width:46px}
.hero__scroll{position:absolute;inset-inline-start:var(--gutter);bottom:1.6rem;z-index:3;display:flex;align-items:center;gap:.75rem;font-size:var(--fs-xs);color:var(--muted)}
@media(min-width:1280px){.hero__scroll{inset-inline-start:calc((100vw - var(--container))/2 + var(--gutter))}}
.hero__scroll-line{width:1px;height:38px;background:linear-gradient(var(--gold),transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:700px){.hero__scroll{display:none}.hero__nav{justify-content:center}}

/* ---------- Stats ---------- */
.stats-wrap{margin-block-start:-3.5rem;position:relative;z-index:4;padding-block-end:1rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.6rem 1rem;gap:.15rem;position:relative}
.stat+.stat::before{content:"";position:absolute;inset-inline-start:0;top:22%;bottom:22%;width:1px;background:var(--line)}
.stat__icon{color:var(--gold);margin-block-end:.4rem}.stat__num{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);line-height:1.2;font-weight:800}.stat__label{color:var(--muted);font-size:var(--fs-sm)}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}.stat+.stat::before{display:none}}
body:not(.home) .stats-wrap{margin-block-start:0;padding-block:3rem 0}

/* ---------- Split / about ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split--logo{grid-template-columns:1fr 1.1fr 300px}
@media(max-width:1100px){.split--logo{grid-template-columns:1fr 1fr}.split--logo .logo-card{grid-column:1/-1}}
@media(max-width:800px){.split,.split--logo{grid-template-columns:1fr}}
.split__media{position:relative}
.frame{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--surface)}
.frame img{width:100%;height:100%;object-fit:cover}
.badge-card{position:absolute;inset-inline-start:1rem;bottom:1rem;display:flex;align-items:center;gap:1.4rem;padding:1rem 1.3rem;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--line-strong);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.badge-card strong{display:block}.badge-card span{display:block;color:var(--muted);font-size:var(--fs-xs)}.badge-card .icon{color:var(--gold)}
.logo-card{padding:2rem 1.5rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:.6rem}
.logo-card img{width:150px;height:auto}.logo-card p{color:var(--gold);margin:.4rem 0}

/* ---------- Cards ---------- */
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s}
.card:hover{border-color:var(--line-strong)}
.card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.ph{width:100%;height:100%;display:grid;place-items:center;color:color-mix(in srgb,var(--gold) 55%,transparent);background:linear-gradient(135deg,var(--surface-2),var(--surface))}
.card__body{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.card__title{font-size:1.1rem;margin:0}.card__title a:hover{color:var(--gold)}
.card__text{color:var(--muted);font-size:var(--fs-sm);margin:0}.card__sub{color:var(--gold);font-size:var(--fs-xs);margin:0}.card__date{color:var(--muted);font-size:var(--fs-xs);margin:0}
.card .link-arrow{margin-block-start:auto}
.badge{position:absolute;inset-block-start:.8rem;inset-inline-start:.8rem;z-index:2;padding:.15rem .75rem;border-radius:999px;font-size:var(--fs-xs);font-weight:600;background:rgba(7,13,24,.82);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.badge.is-ongoing{color:#ffd78a;border-color:rgba(255,215,138,.4)}.badge.is-done{color:#8fe3b1;border-color:rgba(143,227,177,.4)}.badge.is-handover{color:#a9b8ff;border-color:rgba(169,184,255,.4)}
.tag{position:absolute;inset-block-end:.8rem;inset-inline-start:.8rem;z-index:2;padding:.1rem .7rem;border-radius:var(--radius-sm);font-size:var(--fs-xs);background:rgba(7,13,24,.82);border:1px solid var(--line)}
.tag--inline{position:static;display:inline-block;color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);border:0}
.meta-list{display:grid;gap:.35rem;margin:.2rem 0 .4rem}
.meta-list li{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:var(--fs-xs)}.meta-list .icon{color:var(--gold)}
.card-sub{align-items:flex-start;padding:1.4rem 1.4rem 1.2rem;gap:1rem}
.card__logo{width:68px;height:68px;border-radius:var(--radius);display:grid;place-items:center;background:var(--surface-2);color:var(--gold);overflow:hidden;padding:8px}
.card__logo img{width:100%;height:100%;object-fit:contain}.card-sub .card__body{padding:0;width:100%}
.card__foot{display:flex;align-items:center;justify-content:space-between;margin-block-start:auto;padding-block-start:.8rem;border-block-start:1px solid var(--line)}.count{color:var(--muted);font-size:var(--fs-xs)}
.card-activity{padding:1.6rem 1.4rem;gap:.6rem;min-height:190px}
.card-activity__icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 11%,transparent)}
.card-activity__go{position:absolute;inset-block-end:1.2rem;inset-inline-end:1.2rem;color:var(--gold);opacity:0;transform:translateX(8px);transition:.3s}.card-activity:hover .card-activity__go{opacity:1;transform:none}
.card-activity:hover{color:var(--text)}
.card-value{padding:1.8rem;gap:.7rem}.card-value--lg{padding:2.4rem}
.card-value__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);margin-block-end:.3rem}
.card-value h3{margin:0;font-size:1.15rem}.card-value p{color:var(--muted);margin:0;font-size:var(--fs-sm)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chips li{padding:.2rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--gold) 11%,transparent);color:var(--gold);font-size:var(--fs-xs)}
.card-ach__img{aspect-ratio:4/3;display:grid;place-items:center;background:var(--surface-2);color:var(--gold);overflow:hidden}.card-ach__img img{width:100%;height:100%;object-fit:cover}
.card-news.is-big{grid-column:span 2}

/* hover effects (admin-controlled) */
.rv.card.is-done,.card{transition:transform .35s var(--ease),box-shadow .35s,border-color .3s}
html[data-hover=lift] .card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.42)}
html[data-hover=glow] .card:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 14px 40px color-mix(in srgb,var(--gold) 22%,transparent)}
html[data-hover=zoom] .card:hover .card__media img{transform:scale(1.08)}
html[data-hover=lift] .card:hover .card__media img{transform:scale(1.04)}

/* ---------- Tabs / chips / filters ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:.4rem}.tabs--links{margin-block-end:2rem}
.tab,.chip{padding:.4rem 1.1rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:var(--fs-sm);transition:.2s}
.tab:hover,.chip:hover{color:var(--text);border-color:var(--line-strong)}
.tab.is-active,.chip.is-active{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:600}
.pf__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-end:1.2rem}
.pf__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-block-end:2rem}
.pf__search,.search-inline{flex:1 1 260px;display:flex;align-items:center;gap:.6rem;padding:0 1rem;height:46px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted)}
.pf__search input,.search-inline input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);height:100%}
.pf select,.oc__bar select{height:46px;padding:0 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text)}
.pf__count{margin-inline-start:auto;color:var(--muted);font-size:var(--fs-sm)}
.pf__grid[aria-busy=true]{opacity:.45;pointer-events:none;transition:opacity .2s}
.search-inline{margin-block-end:2rem;max-width:560px}
.pagination{margin-block-start:3rem}.pagination ul{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem}
.pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer}
.pagination .page-numbers:hover{border-color:var(--gold);color:var(--gold)}.pagination .current{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:700}

/* ---------- Home: featured projects ---------- */
.home-projects .section-head{align-items:center}
.fp{display:none;grid-template-columns:1.7fr 1fr;gap:1.5rem}.fp.is-active{display:grid}
.fp__main{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;min-height:420px;border:1px solid var(--line)}
.fp__main>img,.fp__main>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.fp__main:hover>img{transform:scale(1.04)}
.fp__main::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,13,24,.85),transparent 60%)}
.fp__info{position:absolute;z-index:2;inset-inline-start:1.4rem;inset-block-end:1.4rem;width:min(360px,calc(100% - 2.8rem));padding:1.3rem;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--line-strong);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.fp__info .tag{position:static;display:inline-block;margin-block-end:.5rem;color:var(--gold)}.fp__info h3{font-size:1.2rem;margin-block-end:.6rem}
.fp__side{display:grid;gap:1rem;align-content:start}
.fp__side a{display:flex;gap:1rem;align-items:center;padding:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s,transform .25s}.fp__side a:hover{border-color:var(--gold);color:var(--text)}
.fp__thumb{flex:none;width:130px;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden}.fp__thumb img{width:100%;height:100%;object-fit:cover}
.fp__txt strong{display:block;line-height:1.5}.fp__txt small{color:var(--muted)}
@media(max-width:900px){.fp.is-active{grid-template-columns:1fr}.fp__main{min-height:340px}}
.home-projects .center{margin-block-start:2.5rem}

/* ---------- Home: subsidiaries hub ---------- */
.hub{display:grid;grid-template-columns:1fr 240px 1fr;gap:2.5rem;align-items:center}
.hub__col{display:grid;gap:1rem}
.hub__card{position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s,transform .25s}
.hub__card:hover{border-color:var(--gold);color:var(--text);transform:translateY(-3px)}
.hub__card::after{content:"";position:absolute;top:50%;width:2.5rem;border-top:1px dashed var(--line-strong)}
.hub__col--r .hub__card::after{inset-inline-end:-2.5rem}.hub__col--l .hub__card::after{inset-inline-start:-2.5rem}
.hub__ico{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 11%,transparent);overflow:hidden}.hub__ico img{width:100%;height:100%;object-fit:contain}
.hub__card strong{display:block;font-size:.98rem}.hub__card small{color:var(--muted)}
.hub__center{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;text-align:center;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--blue) 22%,transparent),var(--surface) 70%);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 0 0 8px color-mix(in srgb,var(--blue) 6%,transparent)}
@media(max-width:900px){.hub{grid-template-columns:1fr;gap:1rem}.hub__center{order:-1}.hub__card::after{display:none}}

/* ---------- Timelines ---------- */
.timeline{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:0;overflow-x:auto;padding-block:1rem;position:relative;scrollbar-width:thin}
.timeline li{position:relative;padding-block-start:2.2rem;padding-inline:.8rem;text-align:center}
.timeline li::before{content:"";position:absolute;top:.62rem;inset-inline:0;height:1px;background:var(--line-strong)}
.timeline__dot{position:absolute;top:.2rem;inset-inline-start:50%;margin-inline-start:-6px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 20%,transparent)}
.timeline__year{display:block;color:var(--gold);font-size:1.15rem}.timeline__title{color:var(--muted);font-size:var(--fs-sm);line-height:1.7;display:block}
.vtimeline{position:relative;max-width:900px;margin-inline:auto}
.vtimeline::before{content:"";position:absolute;inset-block:0;inset-inline-start:76px;width:1px;background:var(--line-strong)}
.vtimeline__item{position:relative;display:grid;grid-template-columns:76px 1fr;gap:2.4rem;padding-block-end:2rem}
.vtimeline__year{color:var(--gold);font-weight:800;font-size:1.2rem;padding-block-start:.9rem}
.vtimeline__item::before{content:"";position:absolute;inset-inline-start:70px;top:1.35rem;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 20%,transparent);z-index:1}
.vtimeline__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem}.vtimeline__card h3{font-size:1.1rem;margin:0 0 .3rem}.vtimeline__card p{color:var(--muted);margin:0;font-size:var(--fs-sm)}
.vtimeline__img{margin:-.4rem -.6rem 1rem;border-radius:var(--radius-sm);overflow:hidden}.vtimeline__img img{width:100%;aspect-ratio:16/8;object-fit:cover}
@media(max-width:600px){.vtimeline__item{grid-template-columns:1fr;gap:.4rem;padding-inline-start:2rem}.vtimeline::before{inset-inline-start:6px}.vtimeline__item::before{inset-inline-start:0;top:.6rem}.vtimeline__year{padding:0}}

/* ---------- CTA ---------- */
.cta{position:relative;padding-block:clamp(3rem,6vw,4.5rem);background:linear-gradient(120deg,var(--surface),var(--bg-soft));border-block:1px solid var(--line);overflow:hidden;isolation:isolate}
.cta__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2}.cta.has-img::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(7,13,24,.72)}
.cta__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.cta h2{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);margin:0 0 .4rem}.cta p{color:var(--muted);margin:0}

/* ---------- Detail pages ---------- */
.detail{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:start}
@media(max-width:960px){.detail{grid-template-columns:1fr}}
.detail__side{position:sticky;top:calc(var(--header-h) + 1.5rem)}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;display:grid;gap:1.1rem}
.info-card dl{margin:0;display:grid;gap:.9rem}.info-card dl>div{display:flex;justify-content:space-between;gap:1rem;padding-block-end:.8rem;border-block-end:1px solid var(--line)}
.info-card dt{color:var(--muted);font-size:var(--fs-sm)}.info-card dd{margin:0;text-align:end;font-weight:600;font-size:var(--fs-sm)}.info-card dd a{color:var(--gold)}
.info-card__logo{width:96px;height:96px;margin-inline:auto;border-radius:var(--radius);background:var(--surface-2);padding:10px}.info-card__logo img{width:100%;height:100%;object-fit:contain}
.specs{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0}
.specs>div{display:grid;grid-template-columns:1fr 1.4fr;padding:.9rem 1.2rem;border-block-end:1px solid var(--line)}.specs>div:last-child{border:0}.specs>div:nth-child(odd){background:var(--surface)}
.specs dt{color:var(--muted)}.specs dd{margin:0;font-weight:600}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}
.gallery__item{padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);aspect-ratio:4/3}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.gallery__item:hover img{transform:scale(1.07)}
.video{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;background:#000}.video iframe,.video video{width:100%;height:100%}
.lightbox,.modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:2rem;background:rgba(4,8,15,.92)}
.lightbox[hidden],.modal[hidden]{display:none}.lightbox img{max-height:88vh;width:auto;border-radius:var(--radius)}
.modal__body{width:min(980px,100%);aspect-ratio:16/9;background:#000;border-radius:var(--radius)}.modal__body iframe,.modal__body video{width:100%;height:100%;border-radius:var(--radius)}
.lightbox__close,.modal__close{position:absolute;inset-block-start:1rem;inset-inline-end:1rem;background:rgba(255,255,255,.1)}
.article{max-width:860px}.article__meta{display:flex;flex-wrap:wrap;gap:1.2rem;color:var(--muted);font-size:var(--fs-sm);align-items:center}.article__meta span,.article__meta{display:flex;gap:.5rem;align-items:center}.article__meta .icon{color:var(--gold)}
.article__img{margin:1.5rem 0 2rem;border-radius:var(--radius-lg);overflow:hidden}.article__img img{width:100%}
.share{display:flex;align-items:center;gap:.6rem;margin-block-start:2.5rem;padding-block-start:1.5rem;border-block-start:1px solid var(--line)}
.share a,.share button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted)}.share a:hover,.share button:hover{color:var(--gold);border-color:var(--gold)}

/* ---------- Subnav (about) ---------- */
.subnav{position:sticky;top:var(--header-h);z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block-end:1px solid var(--line)}
.admin-bar .subnav{top:calc(var(--header-h) + 32px)}
.subnav__inner{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none}.subnav a{padding:.9rem 1.1rem;white-space:nowrap;color:var(--muted);font-size:var(--fs-sm);border-block-end:2px solid transparent}.subnav a:hover,.subnav a.is-on{color:var(--gold);border-color:var(--gold)}

/* ---------- Org chart ---------- */
.oc__bar{display:flex;flex-wrap:wrap;gap:.8rem;margin-block-end:2rem}
.oc__scroll{overflow-x:auto;padding-block:1rem 2rem;display:flex}
.oc-tree,.oc-tree ul{display:flex;justify-content:center;margin:0;padding:0;list-style:none;position:relative}
.oc-tree{margin-inline:auto;width:max-content}
.oc-tree ul{padding-block-start:26px}
.oc-tree li{position:relative;display:flex;flex-direction:column;align-items:center;padding:26px 9px 0}
.oc-tree>li{padding-block-start:0}
.oc-tree li::before,.oc-tree li::after{content:"";position:absolute;top:0;width:50%;height:26px;border-block-start:1px solid var(--line-strong)}
.oc-tree li::before{right:50%;border-inline-end:1px solid var(--line-strong)}
.oc-tree li::after{left:50%;border-inline-start:1px solid var(--line-strong)}
.oc-tree>li::before,.oc-tree>li::after,.oc-tree li:only-child::before,.oc-tree li:only-child::after{display:none}
.oc-tree li:only-child{padding-block-start:26px}
.oc-tree li:first-child::before,.oc-tree li:last-child::after{border-color:transparent}
.oc-tree li:first-child::after{border-start-start-radius:10px}.oc-tree li:last-child::before{border-start-end-radius:10px}
html[dir=ltr] .oc-tree li::before{right:50%;left:auto}
.oc-children::before{content:"";position:absolute;top:0;left:50%;height:26px;border-inline-start:1px solid var(--line-strong)}
.oc-node{width:236px;display:grid;grid-template-columns:54px 1fr;gap:.8rem;align-items:center;padding:.9rem;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s,box-shadow .25s}
.oc-node:hover{border-color:var(--gold)}
.oc-photo{width:54px;height:54px;border-radius:50%;overflow:hidden;background:var(--bg-soft);display:grid;place-items:center;color:var(--gold);border:1px solid var(--line-strong)}.oc-photo img{width:100%;height:100%;object-fit:cover}
.oc-item.is-leaf{padding-inline:6px}
.oc-item.is-leaf>.oc-node{width:124px;grid-template-columns:1fr;justify-items:center;text-align:center;gap:.5rem;padding:.85rem .6rem}
.oc-item.is-leaf .oc-info strong{font-size:.82rem}
.oc-info strong{display:block;font-size:.92rem;line-height:1.5}.oc-pos{display:block;color:var(--gold);font-size:var(--fs-xs)}
.oc-toggle{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--fs-xs)}.oc-toggle:hover{color:var(--gold);border-color:var(--gold)}
.oc-toggle .oc-chev{transition:transform .3s}.oc-item.is-collapsed>.oc-node .oc-chev{transform:rotate(-90deg)}
.oc-item.is-collapsed>.oc-children{display:none}.oc-item.is-hidden{display:none}.oc-item.is-hit>.oc-node{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent)}
.oc.is-full{position:fixed;inset:0;z-index:350;background:var(--bg);padding:1.5rem;overflow:auto}
.oc__empty{text-align:center;color:var(--muted)}
@media(max-width:900px){
  .oc__scroll{overflow:visible;display:block}
  .oc-tree,.oc-tree ul{display:block;width:auto;padding:0}
  .oc-tree li,.oc-tree li:only-child{display:block;padding:0;margin-block-start:.7rem}
  .oc-tree li::before,.oc-tree li::after,.oc-children::before{display:none}
  .oc-children{margin-inline-start:1.1rem;padding-inline-start:.9rem!important;border-inline-start:1px solid var(--line-strong);margin-block-start:.5rem}
  .oc-node,.oc-item.is-leaf>.oc-node{width:100%;grid-template-columns:54px 1fr;justify-items:stretch;text-align:start}
  .oc-item.is-leaf{padding-inline:0}
}

/* ---------- Contact ---------- */
.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start}
@media(max-width:900px){.contact{grid-template-columns:1fr}}
.contact__form,.contact__side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.4rem)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}
#contact-form label{display:block;margin-block-end:1rem}#contact-form label span{display:block;font-size:var(--fs-sm);color:var(--muted);margin-block-end:.35rem}
#contact-form input,#contact-form select,#contact-form textarea{width:100%;padding:.8rem 1rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;transition:border-color .2s}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{border-color:var(--gold)}
#contact-form input.is-bad,#contact-form textarea.is-bad{border-color:#ff7b7b}
.hp{position:absolute!important;inset-inline-start:-9999px;opacity:0;height:0;width:0}
.form-note{margin:1rem 0 0;font-size:var(--fs-sm)}.form-note.is-ok{color:#8fe3b1}.form-note.is-err{color:#ff9b9b}
.info-list{display:grid;gap:1.2rem;margin:1.2rem 0 1.6rem}.info-list li{display:flex;gap:1rem;align-items:flex-start}
.info-list__ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 11%,transparent)}
.info-list small{display:block;color:var(--muted)}
.map{margin-block-start:2.5rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);height:380px}.map iframe{width:100%;height:100%;border:0;filter:invert(.9) hue-rotate(180deg) saturate(.7) brightness(.9)}
.notfound{min-height:80vh;display:grid;place-items:center;padding-block:6rem}.notfound__code{font-size:clamp(5rem,16vw,10rem);font-weight:800;line-height:1;margin:0;background:linear-gradient(var(--gold),transparent);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg-soft);border-block-start:1px solid var(--line)}
.site-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:2.5rem;padding-block:3.5rem 2.5rem}
.site-footer__tagline{margin-block-start:.8rem;color:var(--muted);font-size:var(--fs-sm)}
.site-footer__title{font-size:1rem;color:var(--gold);margin-block-end:1rem}
.footer-menu li+li{margin-block-start:.4rem}.footer-menu a{color:var(--muted);font-size:var(--fs-sm)}.footer-menu a:hover{color:var(--text)}
.contact-list{display:grid;gap:.75rem}.contact-list li{display:flex;gap:.65rem;color:var(--muted);font-size:var(--fs-sm)}.contact-list .icon{color:var(--gold);margin-block-start:.35rem}.contact-list a:hover{color:var(--text)}
.social{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:1.2rem}.social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--muted);transition:.2s}.social a:hover{border-color:var(--gold);color:var(--gold)}
.site-footer__bottom{border-block-start:1px solid var(--line)}.site-footer__bottom-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.25rem;color:var(--muted);font-size:var(--fs-xs)}
@media(max-width:900px){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__about{grid-column:1/-1}}
@media(max-width:560px){.site-footer__grid{grid-template-columns:1fr}.site-footer__bottom-inner{flex-direction:column}}

/* ---------- Scroll reveal (style/duration set in admin) ---------- */
.js[data-anim=on] .rv{opacity:0;transition:opacity var(--reveal-ms) var(--ease),transform var(--reveal-ms) var(--ease),filter var(--reveal-ms) var(--ease);transition-delay:calc(var(--d,0) * var(--stagger))}
.js[data-anim=on][data-reveal=fade-up] .rv{transform:translateY(30px)}
.js[data-anim=on][data-reveal=zoom] .rv{transform:scale(.93)}
.js[data-anim=on][data-reveal=slide] .rv{transform:translateX(calc(var(--dir) * -44px))}
.js[data-anim=on][data-reveal=blur] .rv{filter:blur(12px);transform:translateY(12px)}
.js[data-anim=on] .rv.is-in{opacity:1;transform:none;filter:none}
.js[data-anim=on] .rv.is-done{transition-delay:0s;transition-duration:.35s}
html[data-reveal=none] .rv{opacity:1!important;transform:none!important;filter:none!important}

/* ---------- Page transition ---------- */
.pt{position:fixed;inset:0;z-index:9000;background:var(--bg);transform:scaleY(0);transform-origin:bottom;pointer-events:none;transition:transform .5s var(--ease)}
html[data-trans=curtain] .pt.is-on{transform:scaleY(1)}
html[data-trans=fade] body{animation:ptIn .45s ease both}html[data-trans=slide] body{animation:ptSlide .5s var(--ease) both}
html[data-trans=fade] body.is-leaving{opacity:0;transition:opacity .3s}html[data-trans=slide] body.is-leaving{opacity:0;transform:translateY(-14px);transition:.3s}
@keyframes ptIn{from{opacity:0}to{opacity:1}}@keyframes ptSlide{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden}
.loader::before,.loader::after{content:"";position:absolute;top:0;bottom:0;width:50.5%;background:var(--ld-bg);transition:transform .8s var(--ease)}
.loader::before{inset-inline-start:0}.loader::after{inset-inline-end:0}
.loader__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.4rem;transition:opacity .4s,transform .8s var(--ease)}
.loader__text{margin:0;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.04em}
.no-loader .loader,.loader[hidden]{display:none}
.ld-logo{width:120px;height:auto}
.loader.is-exit{pointer-events:none}.loader.is-exit .loader__inner{opacity:0;transform:scale(.92)}
html[data-exit=fade] .loader.is-exit::before,html[data-exit=fade] .loader.is-exit::after{opacity:0;transition:opacity .7s}
html[data-exit=slide] .loader.is-exit::before,html[data-exit=slide] .loader.is-exit::after{transform:translateY(-101%)}
html[data-exit=curtain] .loader.is-exit::before{transform:translateX(-101%)}html[data-exit=curtain] .loader.is-exit::after{transform:translateX(101%)}
html[dir=rtl][data-exit=curtain] .loader.is-exit::before{transform:translateX(101%)}html[dir=rtl][data-exit=curtain] .loader.is-exit::after{transform:translateX(-101%)}
html[data-exit=zoom] .loader.is-exit::before,html[data-exit=zoom] .loader.is-exit::after{opacity:0;transform:scale(1.15);transition:opacity .7s,transform .9s}
html[data-exit=zoom] .loader.is-exit .loader__inner{transform:scale(1.4)}
.ld-blocks{display:grid;grid-template-columns:repeat(2,18px);gap:6px}.ld-blocks i{width:18px;height:18px;background:var(--ld-accent);border-radius:3px;animation:ldBlock 1.4s var(--ease) infinite}
.ld-blocks i:nth-child(2){animation-delay:.15s}.ld-blocks i:nth-child(4){animation-delay:.3s}.ld-blocks i:nth-child(3){animation-delay:.45s}
@keyframes ldBlock{0%,100%{transform:scale(.25);opacity:.3}40%,60%{transform:scale(1);opacity:1}}
.ld-ring{position:relative;padding:26px;border-radius:50%}.ld-ring::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.1);border-top-color:var(--ld-accent);animation:spin 1.1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ld-pulse .ld-logo{animation:ldPulse 1.4s ease-in-out infinite}@keyframes ldPulse{0%,100%{transform:scale(.94);opacity:.55}50%{transform:scale(1.05);opacity:1}}
.ld-bars{display:flex;align-items:flex-end;gap:5px;height:34px}.ld-bars i{width:5px;height:100%;background:var(--ld-accent);border-radius:3px;transform-origin:bottom;animation:ldBar 1s ease-in-out infinite}
.ld-bars i:nth-child(2){animation-delay:.1s}.ld-bars i:nth-child(3){animation-delay:.2s}.ld-bars i:nth-child(4){animation-delay:.3s}.ld-bars i:nth-child(5){animation-delay:.4s}
@keyframes ldBar{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.ld-dots{display:flex;gap:9px}.ld-dots i{width:10px;height:10px;border-radius:50%;background:var(--ld-accent);animation:ldDot 1s ease-in-out infinite}.ld-dots i:nth-child(2){animation-delay:.15s}.ld-dots i:nth-child(3){animation-delay:.3s}
@keyframes ldDot{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-10px);opacity:1}}
.ld-line{width:170px;height:3px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}.ld-line i{display:block;height:100%;width:40%;background:var(--ld-accent);border-radius:2px;animation:ldLine 1.2s ease-in-out infinite}
@keyframes ldLine{from{transform:translateX(-110%)}to{transform:translateX(260%)}}html[dir=rtl] .ld-line i{animation-name:ldLineR}@keyframes ldLineR{from{transform:translateX(110%)}to{transform:translateX(-260%)}}
.ld-fill{position:relative}.ld-fill .ld-logo{opacity:.16;filter:grayscale(1)}.ld-fill .ld-logo--on{position:absolute;inset:0;opacity:1;filter:none;clip-path:inset(100% 0 0 0);animation:ldFill 1.8s ease-in-out infinite}
@keyframes ldFill{0%{clip-path:inset(100% 0 0 0)}70%,100%{clip-path:inset(0 0 0 0)}}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1!important;transform:none!important;filter:none!important}.loader{display:none!important}
  .js[data-herotxt] .hero__slide .w>span,.js[data-herotxt] .hero__slide *{opacity:1!important;transform:none!important}
}
