/* ==========================================================
   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;
  --gold-fill:var(--gold);--hover-bg:rgba(255,255,255,.08);--glass:rgba(255,255,255,.03);--shadow:0 22px 44px rgba(0,0,0,.42);--prose:#c9d2e0;--nav:#c5cddb;--chip-bg:color-mix(in srgb,var(--gold) 11%,transparent);
  --fs-sm:.9375rem;--fs-xs:.8125rem;--fs-lg:1.125rem;
}
html[dir=rtl]{--dir:-1}
/* ---- Light theme: a designed palette (warm paper, navy ink, bronze accent), not an inverted dark theme ---- */
html[data-theme=light]{
  --bg:#f6f4ef;--bg-soft:#ece8df;--surface:#ffffff;--surface-2:#f2eee6;--text:#14213d;--muted:#556079;
  --gold:#8f5f0f;--gold-fill:#d9a95c;--gold-ink:#1a1305;--blue:#1f5fe0;
  --line:rgba(20,33,61,.12);--line-strong:rgba(20,33,61,.24);--hover-bg:rgba(20,33,61,.06);--glass:rgba(20,33,61,.035);
  --shadow:0 14px 34px rgba(20,33,61,.10);--prose:#2c3a56;--nav:#2c3a56;color-scheme:light}
html[data-theme=dark]{color-scheme:dark}
/* regions that always sit on photos / dark panels keep the light-on-dark palette in both themes */
.hero,.cta.has-img,.page-hero.has-img,.site-footer,.search-overlay,.hdr-transparent:not(.no-hero):not(.nav-open) .site-header:not(.is-scrolled){
  --text:#f2f5fa;--muted:#c3cddd;--nav:#e1e7f1;--gold:#e0b46a;--gold-fill:#e0b46a;--line:rgba(255,255,255,.14);--line-strong:rgba(255,255,255,.26);--hover-bg:rgba(255,255,255,.1);--glass:rgba(255,255,255,.04);--prose:#d3dbe8}
html[data-theme=light] .site-footer{--bg-soft:#0f1b30;--surface:#16243d;background:#0f1b30}
html[data-theme=light] .map iframe{filter:none}

/* ---------- 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-fill);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-fill);color:var(--gold-ink)}.btn--gold:hover{background:color-mix(in srgb,var(--gold-fill) 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:var(--prose);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):not(.nav-open) .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:var(--nav);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:var(--shadow);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:var(--glass)}
.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:var(--hover-bg)}.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}
.rh-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}}
.rh-js[data-herotxt=fade] .hero__slide .hero__title,.rh-js[data-herotxt=rise] .hero__slide .hero__lead,.rh-js[data-herotxt=rise] .hero__slide .hero__actions,.rh-js[data-herotxt=rise] .hero__slide .eyebrow,.rh-js[data-herotxt=fade] .hero__slide .hero__lead,.rh-js[data-herotxt=fade] .hero__slide .hero__actions,.rh-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:var(--shadow)}
.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{color:#f2f5fa;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{color:#f2f5fa;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:var(--shadow)}
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-fill);border-color:var(--gold-fill);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-fill);border-color:var(--gold-fill);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) ---------- */
.rh-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))}
.rh-js[data-anim=on][data-reveal=fade-up] .rv{transform:translateY(30px)}
.rh-js[data-anim=on][data-reveal=zoom] .rv{transform:scale(.93)}
.rh-js[data-anim=on][data-reveal=slide] .rv{transform:translateX(calc(var(--dir) * -44px))}
.rh-js[data-anim=on][data-reveal=blur] .rv{filter:blur(12px);transform:translateY(12px)}
.rh-js[data-anim=on] .rv.is-in{opacity:1;transform:none;filter:none}
.rh-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:none;place-items:center;overflow:hidden}
.rh-loading .loader{display:grid}
.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}
.loader[hidden]{display:none!important}
.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}
  .rh-js[data-herotxt] .hero__slide .w>span,.rh-js[data-herotxt] .hero__slide *{opacity:1!important;transform:none!important}
}

/* =====================================================================
   v2 design layer: rhythm, components, light-theme polish, mobile refinement
   ===================================================================== */
.container.narrow{max-width:860px}
.section--tight{padding-block:2rem}
/* --- section rhythm: each band has its own texture so long pages do not read as one flat colour --- */
.section--blueprint{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;background-position:center top}
.section--blueprint{position:relative}.section--blueprint::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg-soft),transparent 30%,transparent 70%,var(--bg-soft));pointer-events:none}
.section--blueprint>.container{position:relative}
.section--glow{background:radial-gradient(900px 420px at 88% -10%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 70%),radial-gradient(700px 380px at 6% 105%,color-mix(in srgb,var(--blue) 10%,transparent),transparent 70%)}
.section--diag{background-image:repeating-linear-gradient(135deg,transparent 0 22px,var(--glass) 22px 23px)}
.eyebrow--sm{font-size:var(--fs-xs);margin-block-end:.5rem}
.eyebrow--sm::before{width:18px}

/* --- featured projects (home): crisp card, no overlay; equal side cards --- */
.fp{align-items:stretch;gap:1.25rem}
.fp__main{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);min-height:0}
.fp__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface-2)}
.fp__media img,.fp__media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.fp__main:hover .fp__media img{transform:scale(1.04)}
.fp__body{padding:1.4rem 1.6rem 1.6rem;display:grid;gap:.9rem}
.fp__title{font-size:1.45rem;margin:0}.fp__title a:hover{color:var(--gold)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.facts li{display:flex;gap:.6rem;align-items:flex-start;color:var(--gold);min-width:0}
.facts span{display:grid;color:var(--text);font-size:var(--fs-sm);line-height:1.5;min-width:0;overflow-wrap:anywhere}.facts small{color:var(--muted);font-size:var(--fs-xs)}
.fp__side{display:grid;grid-template-rows:repeat(var(--n,3),1fr);gap:1rem;height:100%}
.fp__side li{display:flex;min-height:0}
.fp__side a{flex:1;display:grid;grid-template-columns:132px 1fr;gap:1rem;align-items:center;padding:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .25s,transform .25s;min-width:0}
.fp__side a:hover{border-color:var(--gold);transform:translateY(-2px)}
.fp__thumb{display:block;width:132px;height:100%;min-height:84px;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}
.fp__thumb img,.fp__thumb .ph{width:100%;height:100%;object-fit:cover}
.fp__txt{display:grid;gap:.15rem;min-width:0}.fp__txt strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;font-size:.98rem}
.fp__txt small{color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.badge--static{position:static;display:inline-block}
@media(max-width:900px){.facts{grid-template-columns:1fr 1fr}.fp__side{grid-template-rows:none;height:auto}.fp__side a{grid-template-columns:104px 1fr}.fp__thumb{width:104px;min-height:76px}}
@media(max-width:480px){.facts{grid-template-columns:1fr}}

/* --- clients logo slider (CSS-only; pauses on hover/focus; static when reduced-motion or few logos) --- */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:1.1rem;width:max-content;animation:marquee 38s linear infinite}
html[dir=rtl] .marquee__track{animation-name:marqueeR}
.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes marqueeR{to{transform:translateX(50%)}}
.client{flex:none;width:168px;height:92px;display:grid;place-items:center;padding:.9rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);filter:grayscale(1);opacity:.85;transition:filter .3s,opacity .3s,transform .3s}
.client:hover{filter:none;opacity:1;transform:translateY(-3px)}.client a,.client span{display:grid;place-items:center;width:100%;height:100%}.client img{max-width:100%;max-height:100%;object-fit:contain}
.marquee.is-static{-webkit-mask-image:none;mask-image:none}.marquee.is-static .marquee__track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
@media(prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee__track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}.client[aria-hidden]{display:none}}
.client[aria-hidden=true]+.client{}

/* --- certificates: scroll-snap carousel --- */
.carousel{position:relative}
.carousel__track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1.2rem;scrollbar-width:thin;outline-offset:4px}
.cert{flex:none;width:min(300px,78vw);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.cert__img{display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;background:var(--surface-2);overflow:hidden;cursor:zoom-in}
.cert__img img{width:100%;height:100%;object-fit:cover}
.cert__cap{padding:.9rem 1.1rem 1.1rem;display:grid;gap:.1rem}.cert__cap small{color:var(--muted)}
.carousel__btn{position:absolute;top:42%;z-index:2;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.carousel__btn--prev{inset-inline-start:-.6rem}.carousel__btn--next{inset-inline-end:-.6rem}
@media(max-width:700px){.carousel__btn{display:none}}
/* --- appreciation letters: masonry --- */
.masonry{columns:3 240px;column-gap:1.25rem}
.appr{break-inside:avoid;margin-block-end:1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.appr__img{display:block;width:100%;border:0;padding:0;background:var(--surface-2);cursor:zoom-in}.appr__img img{width:100%;height:auto}
.appr__cap{padding:.8rem 1rem 1rem;display:grid;gap:.1rem}.appr__cap small{color:var(--muted)}

/* --- org-chart feature on About --- */
.org-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.org-feature__text .muted{max-width:48ch}
.oc-mini{padding:1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:grid;gap:1.4rem}
.oc-mini__root{display:flex;justify-content:center}
.oc-mini__kids{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;position:relative;padding-top:1.4rem}
.oc-mini__kids::before{content:"";position:absolute;top:0;inset-inline:16%;height:1.4rem;border:1px solid var(--line-strong);border-bottom:0;border-radius:10px 10px 0 0}
.oc-mini__node{display:flex;gap:.6rem;align-items:center;padding:.55rem .7rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0}
.oc-mini__root .oc-mini__node{padding:.8rem 1.1rem;border-color:var(--gold)}
.oc-mini__ph{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--bg-soft);color:var(--gold)}.oc-mini__ph img{width:100%;height:100%;object-fit:cover}
.oc-mini__node strong{display:block;font-size:.85rem;line-height:1.4}.oc-mini__node small{color:var(--gold);font-size:.75rem;display:block}.oc-mini__node>span:last-child{min-width:0}
@media(max-width:900px){.org-feature{grid-template-columns:1fr}.oc-mini__kids{grid-template-columns:1fr 1fr}.oc-mini__kids::before{display:none}}

/* --- resume --- */
.resume{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;padding:1.6rem 2rem;background:linear-gradient(120deg,var(--surface),var(--surface-2));border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.resume__icon{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;color:var(--gold);background:var(--chip-bg)}
.resume>div{flex:1 1 220px}.resume h2{margin:0}.resume p{margin:0}

/* --- subsidiaries archive: alternating showcase rows --- */
.showcase{display:grid;gap:1.6rem}
.show{display:grid;grid-template-columns:minmax(220px,.8fr) 1.6fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.show.is-flip{grid-template-columns:1.6fr minmax(220px,.8fr)}.show.is-flip .show__brand{order:2}
.show__brand{position:relative;display:grid;place-items:center;min-height:240px;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--blue) 26%,transparent),transparent 65%),linear-gradient(160deg,#0e1b33,#132a4f);color:#fff}
.show__no{position:absolute;inset-block-start:1rem;inset-inline-start:1.2rem;font-size:2.4rem;font-weight:800;opacity:.18;line-height:1}
.show__logo{width:min(180px,60%);aspect-ratio:1;display:grid;place-items:center;background:#fff;border-radius:22px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.35);color:#1f5fe0}
.show__logo img{width:100%;height:100%;object-fit:contain}
.show__body{padding:clamp(1.4rem,3vw,2.4rem);display:grid;gap:.9rem;align-content:center;justify-items:start}
.show__title{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);margin:0}.show__title a:hover{color:var(--gold)}.show__text{color:var(--muted);margin:0;max-width:60ch}
.chips--facts li{display:inline-flex;gap:.4rem;align-items:center;padding:.3rem .9rem}
@media(max-width:800px){.show,.show.is-flip{grid-template-columns:1fr}.show.is-flip .show__brand{order:0}.show__brand{min-height:170px}}

/* --- subsidiary page: brand header --- */
.brandhead{padding-block:calc(var(--header-h) + 2.4rem) 2.4rem;background:radial-gradient(900px 380px at 85% 0,color-mix(in srgb,var(--blue) 18%,transparent),transparent 70%),linear-gradient(180deg,var(--bg-soft),var(--bg));border-block-end:1px solid var(--line)}
.brandhead__row{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;margin-block-end:1.8rem}
.brandhead__logo{width:136px;height:136px;flex:none;display:grid;place-items:center;background:#fff;border-radius:28px;padding:20px;box-shadow:var(--shadow);border:1px solid var(--line);color:#1f5fe0}.brandhead__logo img{width:100%;height:100%;object-fit:contain}
.brandhead__txt{flex:1 1 300px;min-width:0}.brandhead__title{font-size:clamp(1.9rem,1.2rem + 3vw,3.2rem);margin:0 0 .3em}.brandhead__lead{color:var(--muted);max-width:58ch;font-size:var(--fs-lg)}
.brandhead__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.brandhead__facts li{background:var(--surface);padding:1rem 1.2rem;display:grid;gap:.1rem}.brandhead__facts small{color:var(--muted)}.brandhead__facts strong{color:var(--text)}
.brandcontact{padding:2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}

/* --- project page: fact bar + side cards --- */
.page-hero--project{padding-block-end:5.2rem}
.factbar-wrap{position:relative;z-index:3;margin-block-start:-3rem}
.factbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.factbar li{display:flex;gap:.8rem;align-items:center;padding:1.15rem 1.4rem;color:var(--gold);border-inline-end:1px solid var(--line);min-width:0}
.factbar li:last-child{border:0}.factbar li span{display:grid;color:var(--text);min-width:0;overflow-wrap:anywhere}.factbar small{color:var(--muted);font-size:var(--fs-xs)}.factbar strong{font-weight:700;font-size:.98rem}
.factbar__status{justify-content:center}
.side-card{display:flex;gap:.9rem;align-items:center;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-block-end:.9rem;color:var(--gold);transition:border-color .25s}
.side-card:hover{border-color:var(--gold)}.side-card>span:nth-child(2){flex:1;display:grid;color:var(--text);min-width:0}.side-card small{color:var(--muted)}
.side-card__logo{flex:none;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--chip-bg);color:var(--gold);overflow:hidden}.side-card--brand .side-card__logo{background:#fff}.side-card__logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.specs--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;border:0;overflow:visible}
.specs--grid>div{display:grid;grid-template-columns:1fr;gap:.2rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)!important}
.gallery--feature{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:.9rem}
.gallery--feature .gallery__item{aspect-ratio:auto;height:100%}.gallery--feature .gallery__item:first-child{grid-column:span 2;grid-row:span 2}
@media(max-width:760px){.gallery--feature{grid-template-columns:repeat(2,1fr)}}
.detail__side{display:grid;align-content:start}

/* --- footer map/resume, form details, filters --- */
.footer-map{margin-block-start:1.1rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);height:150px}.footer-map iframe{width:100%;height:100%;border:0}
.footer-resume{margin-block-start:1rem}
.consent{display:flex!important;gap:.7rem;align-items:flex-start}.consent input{width:auto!important;margin-block-start:.35rem}.consent span{font-size:var(--fs-sm)!important;color:var(--muted)!important;margin:0!important}.consent a{color:var(--gold);text-decoration:underline}
#contact-form [aria-invalid=true]{border-color:#e0605b!important}
.form-note.is-err{color:#e0605b}.form-note.is-ok{color:#2f9e6a}
.pf__reset{font-size:var(--fs-sm);color:var(--gold);text-decoration:underline;white-space:nowrap}
.pf__bar select{max-width:100%;flex:0 1 190px}

/* --- light theme polish: depth instead of dark glass --- */
html[data-theme=light] .card,html[data-theme=light] .info-card,html[data-theme=light] .stats,html[data-theme=light] .contact__form,html[data-theme=light] .contact__side,html[data-theme=light] .hub__card,html[data-theme=light] .logo-card,html[data-theme=light] .oc-node,html[data-theme=light] .vtimeline__card,html[data-theme=light] .brandhead__facts li{box-shadow:0 1px 2px rgba(20,33,61,.05),0 12px 26px rgba(20,33,61,.07)}
html[data-theme=light] .stat+.stat::before,html[data-theme=light] .timeline li::before{background:var(--line-strong)}
html[data-theme=light] .ph{background:linear-gradient(135deg,var(--surface-2),#e6e0d4)}
html[data-theme=light] .brand__name{color:var(--text)}
html[data-theme=light] .site-header.is-scrolled{box-shadow:0 8px 24px rgba(20,33,61,.08)}
html[data-theme=light] .search-inline,html[data-theme=light] .pf__search,html[data-theme=light] .pf select,html[data-theme=light] .oc__bar select{background:#fff}
html[data-theme=light] .client{border-color:var(--line-strong)}
html[data-theme=light] .section--blueprint{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px)}
html[data-theme=light] .badge-card{background:color-mix(in srgb,#fff 88%,transparent)}
html[data-theme=light] .tag--inline{color:var(--gold)}

/* --- mobile refinement: tighter vertical rhythm, readable sizes, thumb-friendly controls --- */
@media(max-width:640px){
  :root{--gutter:1.1rem}
  body{font-size:.98rem}
  .section{padding-block:2.6rem}
  .section-head{margin-block-end:1.5rem;gap:.8rem}.section-head__title{font-size:1.45rem}
  .h2{font-size:1.6rem}.h3{font-size:1.25rem}
  .page-hero{padding-block:calc(var(--header-h) + 1.6rem) 2rem}.page-hero__title{font-size:1.9rem}.page-hero__lead{font-size:1rem}
  .hero__title{font-size:clamp(1.95rem,8.4vw,2.5rem);margin-block-end:.9rem}.hero__lead{font-size:1rem;margin-block-end:1.3rem}
  .hero__actions .btn{flex:1 1 calc(50% - .45rem);padding-inline:1rem}
  .hero__content{padding-block-end:4.2rem}
  .stats-wrap{margin-block-start:-2.4rem}.stat{padding:1.1rem .6rem}.stat__num{font-size:1.65rem}
  .grid{gap:1rem}
  .card__body{padding:1rem 1.05rem 1.15rem}
  .card-value,.card-value--lg{padding:1.35rem}
  .split{gap:1.6rem}.logo-card{padding:1.4rem 1rem}
  .fp__body{padding:1.1rem 1.15rem 1.3rem}.fp__title{font-size:1.2rem}
  .hub__card{padding:.85rem .95rem}
  .timeline{grid-auto-columns:minmax(160px,1fr)}
  .vtimeline__card{padding:1rem 1.1rem}
  .cta{padding-block:2.4rem}.cta__inner .btn{width:100%}
  .resume{padding:1.2rem}.resume .btn{width:100%}
  .brandhead{padding-block-start:calc(var(--header-h) + 1.4rem)}.brandhead__row{gap:1.2rem}.brandhead__logo{width:96px;height:96px;border-radius:20px;padding:14px}
  .factbar-wrap{margin-block-start:-2rem}.factbar li{border-inline-end:0;border-block-end:1px solid var(--line);padding:.9rem 1.1rem}.factbar li:last-child{border-block-end:0}
  .pf__bar{gap:.6rem}.pf__bar select,.pf__search{flex:1 1 100%;max-width:none}.pf__count{margin-inline-start:0;flex:1 1 100%}
  .pf__chips{flex-wrap:nowrap;overflow-x:auto;padding-block-end:.4rem;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}.chip{white-space:nowrap}
  .detail{gap:1.8rem}
  .contact__form,.contact__side{padding:1.25rem}
  .site-footer__grid{padding-block:2.4rem 1.6rem;gap:1.6rem}
  .masonry{columns:2 140px;column-gap:.8rem}.appr{margin-block-end:.8rem}
  .client{width:132px;height:76px}
  .oc-mini{padding:1rem}
}
@media(max-width:380px){.hero__actions .btn{flex-basis:100%}}

/* unified icon containers: soft tile with a hairline ring, same in both themes */
.card-activity__icon,.card-value__icon,.info-list__ico,.resume__icon,.stat__icon{background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 16%,transparent),color-mix(in srgb,var(--gold) 5%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 28%,transparent);border:0;border-radius:15px;color:var(--gold)}
.card-value__icon,.stat__icon{width:56px;height:56px;display:grid;place-items:center}
.stat__icon{width:48px;height:48px;border-radius:14px}
.icon{stroke-width:1.5}

/* local palettes must also set the text colour (custom properties alone do not change inherited `color`) */
.hero,.cta.has-img,.page-hero.has-img,.site-footer,.search-overlay,.hdr-transparent:not(.no-hero):not(.nav-open) .site-header:not(.is-scrolled){color:var(--text)}
.hero .btn--ghost,.cta.has-img .btn--ghost,.page-hero.has-img .btn--ghost{color:var(--text)}
.site-header{color:var(--text)}
.page-hero.has-img .page-hero__lead,.hero__lead{color:var(--muted)}

.fp__main::after{display:none!important}
.fp__main:hover{border-color:var(--line-strong)}

@media(max-width:640px){.stats .stat:last-child:nth-child(odd){grid-column:1/-1}}
