/* ============================================================
   Go Capitals — Core Design System (shared AR + EN)
   Brand: warm caramel-gold + dark coffee on cream.
   Authored with CSS logical properties so the same rules work
   for RTL (Arabic) and LTR (English). Language-specific bits
   (direction, font-family) live in style-ar.css / style-en.css.
   ============================================================ */

/* ---------- Design tokens ---------- */
:root{
  --gold:        #B57639;
  --gold-dark:   #9A5E2A;
  --gold-soft:   #C99A5B;
  --gold-tint:   #F2E6D5;
  --brown:       #4C392E;
  --brown-700:   #5E4738;
  --brown-soft:  #6E5A4C;
  --ink:         #34271F;
  --muted:       #8A7C70;
  --cream:       #FBF9F8;
  --cream-2:     #F5EFE8;
  --cream-3:     #EFE6DB;
  --line:        #ECE3DA;
  --red:         #B0182A;
  --white:       #ffffff;

  --radius:      18px;
  --radius-sm:   12px;
  --radius-lg:   28px;
  --radius-pill: 999px;

  --shadow-sm:   0 6px 18px rgba(76,57,46,.07);
  --shadow:      0 18px 45px rgba(76,57,46,.12);
  --shadow-lg:   0 30px 70px rgba(76,57,46,.18);

  --container:   1200px;
  --gutter:      clamp(16px, 4vw, 40px);
  --header-h:    84px;

  --ease:        cubic-bezier(.22,.61,.36,1);
  --ease-out:    cubic-bezier(.16,1,.3,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
/* Root font-size bump (~+3%) for legibility. rem-based TYPE scales; px/em/clamp layout (container, gutters,
   radii, paddings) is unaffected — so grids/tables keep their dimensions while text reads clearer. */
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; font-size:103%; }
/* Error/danger alert — genuine errors (routed via TempData["Error"]) render RED across every portal; the base
   .auth-alert stays gold for info/success. Compound specificity + !important beat the base rule + any inline copy. */
.auth-alert.is-error{ background:#FBE9E5 !important; border:1px solid #F3C2C2 !important; color:var(--red) !important; }
body{
  background:var(--cream);
  color:var(--brown-soft);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; transition:color .25s var(--ease); }
ul{ list-style:none; padding:0; }
button{ font:inherit; color:inherit; cursor:pointer; border:0; background:none; }
input,textarea,select{ font:inherit; color:inherit; }
/* GLOBAL textarea sizing (shared by admin + customer + public): start modest, SCROLL inside the same
   box when there's more text instead of growing tall or clipping. RTL-safe (logical props only). */
textarea{
  min-height:68px; max-height:140px; overflow-y:auto; resize:vertical;
  line-height:1.5; box-sizing:border-box;
}
h1,h2,h3,h4,h5{ color:var(--ink); line-height:1.25; font-weight:800; }
::selection{ background:var(--gold); color:#fff; }

/* ---------- Layout helpers ---------- */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(64px,9vw,120px); position:relative; }
.section--tight{ padding-block:clamp(48px,6vw,80px); }
.bg-cream-2{ background:var(--cream-2); }
.bg-cream-3{ background:var(--cream-3); }
.text-center{ text-align:center; }
.flow > * + *{ margin-block-start:1rem; }

/* ---------- Eyebrow + headings ---------- */
.eyebrow{
  display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.06em;
  color:var(--gold-dark); background:var(--gold-tint);
  padding:.45em 1.2em; border-radius:var(--radius-pill);
}
.section-head{ max-width:680px; margin-inline:auto; text-align:center; margin-block-end:clamp(36px,5vw,60px); }
.section-head .eyebrow{ margin-block-end:18px; }
.section-head h2{ font-size:clamp(1.8rem,4vw,2.7rem); margin-block-end:14px; }
.section-head p{ color:var(--muted); font-size:1.02rem; }
h2 .accent,h1 .accent{ color:var(--gold); }

/* ---------- Buttons ---------- */
.btn{
  --bw:0;
  display:inline-flex; align-items:center; gap:.6em;
  padding:.92em 1.7em; border-radius:var(--radius-pill);
  font-weight:700; font-size:.96rem; line-height:1;
  border:var(--bw, 0) solid transparent;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  position:relative; white-space:nowrap;
}
.btn svg,.btn .ico{ width:1.15em; height:1.15em; transition:transform .3s var(--ease); }
.btn:hover{ transform:translateY(-3px); }
.btn:active{ transform:translateY(-1px); }
.btn-dark{ background:var(--brown); color:#fff; box-shadow:0 12px 24px rgba(76,57,46,.22); }
.btn-dark:hover{ background:var(--ink); box-shadow:0 18px 34px rgba(76,57,46,.3); }
.btn-gold{ background:var(--gold); color:#fff; box-shadow:0 12px 24px rgba(181,118,57,.3); }
.btn-gold:hover{ background:var(--gold-dark); }
.btn-outline{ --bw:1.5px; border-color:var(--brown); color:var(--brown); background:transparent; }
.btn-outline:hover{ background:var(--brown); color:#fff; }
.btn-light{ background:#fff; color:var(--brown); box-shadow:var(--shadow-sm); }
.btn-light:hover{ background:var(--gold-tint); }
.btn .ico-circle{
  display:grid; place-items:center; width:1.9em; height:1.9em; border-radius:50%;
  background:rgba(255,255,255,.18);
}
.btn-outline .ico-circle{ background:var(--brown); color:#fff; }
.btn:hover .ico-arrow{ transform:translateX(-4px); }
[dir=ltr] .btn:hover .ico-arrow{ transform:translateX(4px); }

/* ---------- Header / Nav ---------- */
.site-header{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:80;
  height:var(--header-h); display:flex; align-items:center;
  transition:background .35s var(--ease), box-shadow .35s var(--ease), height .35s var(--ease);
}
.site-header .container{ display:flex; align-items:center; gap:24px; }
.site-header.scrolled{ background:rgba(251,249,248,.92); backdrop-filter:blur(14px); box-shadow:var(--shadow-sm); height:72px; }
/* light treatment while transparent over a dark hero */
.site-header:not(.scrolled) .brand img{ filter:brightness(0) invert(1); }
.site-header:not(.scrolled) .icon-btn,
.site-header:not(.scrolled) .lang-switch{ color:#fff; }
.site-header:not(.scrolled) .icon-btn:hover,
.site-header:not(.scrolled) .lang-switch:hover{ background:rgba(255,255,255,.16); color:#fff; }
.site-header:not(.scrolled) .btn-login{ border-color:rgba(255,255,255,.6); color:#fff; }
.site-header:not(.scrolled) .btn-login:hover{ background:#fff; color:var(--brown); }
.site-header:not(.scrolled) .nav-toggle span,
.site-header:not(.scrolled) .nav-toggle span::before,
.site-header:not(.scrolled) .nav-toggle span::after{ background:#fff; }
@media (min-width:901px){
  .site-header:not(.scrolled) .nav-list > li > a{ color:#fff; }
  .site-header:not(.scrolled) .nav-list > li > a:hover{ color:var(--gold-soft); }
  .site-header:not(.scrolled) .nav-list .caret{ opacity:.9; }
}
.brand{ display:flex; align-items:center; flex-shrink:0; }
.brand img{ height:46px; width:auto; transition:height .35s var(--ease); }
.scrolled .brand img{ height:40px; }
.nav{ margin-inline-start:auto; }
.nav-list{ display:flex; align-items:center; gap:4px; }
.nav-list > li > a{
  display:inline-block; padding:.6em .95em; font-weight:600; font-size:.95rem;
  color:var(--brown); border-radius:var(--radius-pill); position:relative;
}
.nav-list > li > a::after{
  content:""; position:absolute; inset-block-end:.35em; inset-inline-start:50%;
  width:0; height:2px; background:var(--gold); border-radius:2px;
  transform:translateX(-50%); transition:width .3s var(--ease);
}
.nav-list > li > a:hover,.nav-list > li > a[aria-current=page]{ color:var(--gold-dark); }
.nav-list > li > a:hover::after,.nav-list > li > a[aria-current=page]::after{ width:18px; }
/* dropdown submenus */
.nav-list li.has-sub{ position:relative; }
.nav-list .sub-toggle{ display:inline-flex; align-items:center; gap:.35em; }
.nav-list .sub-toggle .caret{ width:.7em; height:.7em; transition:transform .3s var(--ease); opacity:.7; }
.sub-menu{
  position:absolute; inset-block-start:calc(100% + 6px); inset-inline-start:0; min-width:230px;
  background:#fff; border-radius:16px; box-shadow:var(--shadow); padding:10px;
  display:grid; gap:2px; opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.3s var(--ease); z-index:90; border:1px solid var(--line);
}
.nav-list li.has-sub:hover > .sub-menu,
.nav-list li.has-sub:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav-list li.has-sub:hover .caret{ transform:rotate(180deg); }
.sub-menu a{ display:block; padding:.6em .9em; border-radius:10px; font-size:.92rem; font-weight:600; color:var(--brown-soft); }
.sub-menu a:hover{ background:var(--gold-tint); color:var(--gold-dark); }
.header-actions{ display:flex; align-items:center; gap:12px; margin-inline-start:8px; }
.icon-btn{ width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:var(--brown); transition:.3s var(--ease); }
.icon-btn:hover{ background:var(--gold-tint); color:var(--gold-dark); }
/* language switch */
.lang-switch{ font-weight:700; font-size:.9rem; color:var(--brown); padding:.5em .7em; border-radius:var(--radius-pill); }
.lang-switch:hover{ color:var(--gold-dark); background:var(--gold-tint); }
/* login is design-only */
.btn-login{ padding:.7em 1.4em; font-size:.9rem; }

/* hamburger */
.nav-toggle{ display:none; width:46px; height:46px; border-radius:12px; place-items:center; }
.nav-toggle span{ display:block; width:22px; height:2px; background:var(--brown); border-radius:2px; position:relative; transition:.3s var(--ease); }
.nav-toggle span::before,.nav-toggle span::after{ content:""; position:absolute; inset-inline:0; height:2px; background:var(--brown); border-radius:2px; transition:.3s var(--ease); }
.nav-toggle span::before{ inset-block-start:-7px; }
.nav-toggle span::after{ inset-block-start:7px; }
body.nav-open .nav-toggle span{ background:transparent; }
body.nav-open .nav-toggle span::before{ inset-block-start:0; transform:rotate(45deg); }
body.nav-open .nav-toggle span::after{ inset-block-start:0; transform:rotate(-45deg); }

/* ---------- Hero slider ---------- */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hero-slides{ position:absolute; inset:0; z-index:0; }
.hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.1s var(--ease); }
.hero-slide.is-active{ opacity:1; }
.hero-slide .media,.hero-slide img,.hero-slide video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-slide.is-active img{ animation:kenburns 9s ease-out forwards; }
.hero-slide::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(270deg, rgba(40,28,20,.92) 0%, rgba(60,42,30,.6) 42%, rgba(76,57,46,.15) 100%);
}
[dir=ltr] .hero-slide::after{ background:linear-gradient(90deg, rgba(40,28,20,.92) 0%, rgba(60,42,30,.6) 42%, rgba(76,57,46,.15) 100%); }
.hero-inner{ position:relative; z-index:3; width:100%; padding-block:calc(var(--header-h) + 30px) 60px; }
.hero-copy{ max-width:560px; color:#fff; }
.hero-copy .eyebrow{ background:rgba(255,255,255,.14); color:#fff; backdrop-filter:blur(4px); }
.hero-copy h1{ color:#fff; font-size:clamp(2.1rem,5.2vw,3.7rem); line-height:1.18; margin-block:20px 18px; }
.hero-copy h1 .accent{ color:var(--gold-soft); }
.hero-copy p{ color:rgba(255,255,255,.86); font-size:1.08rem; max-width:480px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-block-start:34px; }
.hero-actions .btn-outline{ border-color:rgba(255,255,255,.6); color:#fff; }
.hero-actions .btn-outline:hover{ background:#fff; color:var(--brown); }
/* slider controls */
.hero-dots{ position:absolute; inset-block-end:34px; inset-inline-start:50%; transform:translateX(-50%); z-index:6; display:flex; gap:10px; }
.hero-dots button{ width:11px; height:11px; border-radius:50%; background:rgba(255,255,255,.4); transition:.3s var(--ease); }
.hero-dots button.is-active{ background:var(--gold-soft); width:30px; border-radius:6px; }
.hero-arrows{ position:absolute; inset-block-end:34px; inset-inline-end:var(--gutter); z-index:6; display:flex; gap:10px; }
.hero-arrows button{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; backdrop-filter:blur(6px); transition:.3s var(--ease); }
.hero-arrows button:hover{ background:#fff; color:var(--brown); }
/* video slide play badge */
.hero-slide .slide-play{
  position:absolute; inset-block-end:120px; inset-inline-start:var(--gutter); z-index:4;
  display:flex; align-items:center; gap:14px; color:#fff;
}
.play-btn{
  width:74px; height:74px; border-radius:50%; display:grid; place-items:center; flex-shrink:0;
  background:var(--gold); color:#fff; box-shadow:0 0 0 0 rgba(181,118,57,.6);
  animation:pulse 2.4s infinite; transition:transform .3s var(--ease);
}
.play-btn:hover{ transform:scale(1.08); }
.play-btn svg{ width:26px; height:26px; margin-inline-start:3px; }

@keyframes kenburns{ from{ transform:scale(1.12) } to{ transform:scale(1) } }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(181,118,57,.55) } 70%{ box-shadow:0 0 0 22px rgba(181,118,57,0) } 100%{ box-shadow:0 0 0 0 rgba(181,118,57,0) } }

/* ---------- Marquee feature bar ---------- */
.marquee{ background:var(--brown); color:#fff; overflow:hidden; padding-block:18px; }
.marquee-track{ display:flex; gap:0; width:max-content; animation:scrollx 28s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track span{ display:inline-flex; align-items:center; gap:18px; padding-inline:28px; font-weight:600; white-space:nowrap; }
.marquee-track span::after{ content:"✦"; color:var(--gold-soft); }
@keyframes scrollx{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }
[dir=ltr] .marquee-track{ animation-name:scrollx-ltr; }
@keyframes scrollx-ltr{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

/* ---------- About section ---------- */
.about-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(32px,5vw,64px); align-items:center; }
.about-media{ position:relative; }
.about-media .img-main{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3.4; }
.about-media .img-main img{ width:100%; height:100%; object-fit:cover; }
.about-media .img-sub{ position:absolute; inset-block-end:-30px; inset-inline-start:-30px; width:46%; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg); border:6px solid var(--cream); aspect-ratio:4/3; }
.about-media .img-sub img{ width:100%; height:100%; object-fit:cover; }
.about-media .play-on-img{ position:absolute; inset-block-end:-30px; inset-inline-start:-30px; width:46%; height:calc(46% ); display:grid; place-items:center; z-index:3; }
.exp-badge{
  position:absolute; inset-block-start:30px; inset-inline-end:-22px; z-index:4;
  writing-mode:vertical-rl; text-orientation:mixed;
  background:var(--gold); color:#fff; font-weight:800; font-size:1.05rem;
  padding:22px 12px; border-radius:14px; box-shadow:var(--shadow);
}
.about-copy .eyebrow{ margin-block-end:16px; }
.about-copy h2{ font-size:clamp(1.7rem,3.6vw,2.5rem); margin-block-end:16px; }
.about-copy > p{ color:var(--muted); margin-block-end:24px; }
.tabs-btns{ display:flex; gap:10px; margin-block-end:22px; }
.tab-btn{ padding:.6em 1.4em; border-radius:var(--radius-pill); font-weight:700; background:var(--cream-2); color:var(--brown-soft); transition:.3s var(--ease); display:inline-flex; gap:.5em; align-items:center; }
.tab-btn.is-active{ background:var(--gold); color:#fff; box-shadow:0 10px 20px rgba(181,118,57,.28); }
.tab-pane{ display:none; animation:fadeUp .5s var(--ease) both; }
.tab-pane.is-active{ display:block; }
.ceo-card{ display:flex; align-items:center; gap:16px; margin-block-start:28px; padding-block-start:24px; border-block-start:1px solid var(--line); }
.ceo-card img{ width:62px; height:62px; border-radius:50%; object-fit:cover; border:3px solid var(--gold-tint); }
.ceo-card .name{ font-weight:800; color:var(--ink); }
.ceo-card .role{ font-size:.88rem; color:var(--gold-dark); }
.ceo-card .btn{ margin-inline-start:auto; }

/* ---------- Service cards ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.service-card{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:380px;
  display:flex; align-items:flex-end; isolation:isolate; transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.service-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .8s var(--ease); }
.service-card::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(40,28,20,.05) 30%, rgba(40,28,20,.88) 100%); transition:background .4s var(--ease); }
.service-card.is-featured::after{ background:linear-gradient(180deg, rgba(154,94,42,.25) 0%, rgba(181,118,57,.92) 100%); }
.service-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.service-card:hover img{ transform:scale(1.08); }
.service-card .sc-body{ position:relative; padding:26px; color:#fff; width:100%; }
.service-card .sc-tag{ display:inline-block; font-size:.78rem; font-weight:700; background:rgba(255,255,255,.16); backdrop-filter:blur(4px); padding:.35em 1em; border-radius:var(--radius-pill); margin-block-end:14px; }
.service-card h3{ color:#fff; font-size:1.25rem; margin-block-end:8px; }
.service-card p{ color:rgba(255,255,255,.82); font-size:.92rem; max-height:0; opacity:0; overflow:hidden; transition:max-height .45s var(--ease), opacity .35s var(--ease), margin .45s var(--ease); }
.service-card:hover p,.service-card.is-featured p{ max-height:120px; opacity:1; margin-block-start:6px; }
.service-card .sc-link{ display:inline-flex; align-items:center; gap:.5em; margin-block-start:16px; font-weight:700; font-size:.9rem; }
.service-card .sc-link .ico-circle{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.18); transition:.3s var(--ease); }
.service-card:hover .sc-link .ico-circle{ background:#fff; color:var(--brown); }

/* ---------- Stats counter bar ---------- */
.stats-bar{ background:linear-gradient(120deg,var(--gold-dark),var(--gold) 60%,var(--gold-soft)); color:#fff; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ text-align:center; padding:clamp(36px,5vw,56px) 20px; position:relative; }
.stat + .stat::before{ content:""; position:absolute; inset-block:24% ; inset-inline-start:0; width:1px; background:rgba(255,255,255,.25); }
.stat .num{ font-size:clamp(2.2rem,5vw,3rem); font-weight:800; line-height:1; }
.stat .label{ margin-block-start:10px; font-size:.98rem; color:rgba(255,255,255,.9); }

/* ---------- Accordion (FAQ + jobs) ---------- */
.accordion{ max-width:880px; margin-inline:auto; display:grid; gap:14px; }
.acc-item{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:box-shadow .3s var(--ease), border-color .3s var(--ease); }
.acc-item.is-open{ box-shadow:var(--shadow-sm); border-color:var(--gold-soft); }
.acc-head{ width:100%; display:flex; align-items:center; gap:16px; padding:20px 24px; text-align:start; font-weight:700; color:var(--ink); font-size:1.02rem; }
.acc-head .acc-ico{ margin-inline-start:auto; flex-shrink:0; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--cream-2); transition:.35s var(--ease); }
.acc-item.is-open .acc-ico{ background:var(--gold); color:#fff; transform:rotate(180deg); }
.acc-body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s var(--ease); }
.acc-body > div{ overflow:hidden; }
.acc-item.is-open .acc-body{ grid-template-rows:1fr; }
.acc-body .acc-inner{ padding:0 24px 22px; color:var(--muted); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--cream-2); padding-block:clamp(56px,7vw,84px) 0; border-block-start:1px solid var(--line); }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1.4fr; gap:40px; }
.footer-col h4{ font-size:1.1rem; margin-block-end:22px; color:var(--ink); position:relative; padding-block-end:12px; }
.footer-col h4::after{ content:""; position:absolute; inset-block-end:0; inset-inline-start:0; width:34px; height:3px; border-radius:3px; background:var(--gold); }
.footer-col ul{ display:grid; gap:12px; }
.footer-col a{ color:var(--brown-soft); }
.footer-col a:hover{ color:var(--gold-dark); padding-inline-start:6px; }
.footer-contact li{ display:flex; gap:12px; align-items:flex-start; color:var(--brown-soft); }
.footer-contact .fi{ flex-shrink:0; width:34px; height:34px; border-radius:50%; background:#fff; display:grid; place-items:center; color:var(--gold-dark); box-shadow:var(--shadow-sm); }
.footer-brand img{ height:64px; margin-block-end:18px; }
.footer-brand p{ color:var(--muted); font-size:.95rem; margin-block-end:22px; }
.socials{ display:flex; gap:10px; }
.socials a{ width:42px; height:42px; border-radius:50%; background:#fff; display:grid; place-items:center; color:var(--brown); box-shadow:var(--shadow-sm); transition:.3s var(--ease); }
.socials a:hover{ background:var(--gold); color:#fff; transform:translateY(-3px); }
.footer-bottom{ margin-block-start:clamp(40px,5vw,60px); border-block-start:1px solid var(--line); padding-block:26px; text-align:center; color:var(--muted); font-size:.9rem; }

/* ---------- Page hero (inner) ---------- */
.page-hero{ position:relative; padding-block:calc(var(--header-h) + 60px) 60px; overflow:hidden; isolation:isolate; }
.page-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.page-hero::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(270deg, rgba(40,28,20,.9) 0%, rgba(60,42,30,.66) 60%, rgba(60,42,30,.5) 100%); }
[dir=ltr] .page-hero::after{ background:linear-gradient(90deg, rgba(40,28,20,.9) 0%, rgba(60,42,30,.66) 60%, rgba(60,42,30,.5) 100%); }
.page-hero h1{ color:#fff; font-size:clamp(1.9rem,4.5vw,3rem); }
.breadcrumb{ display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.8); font-size:.92rem; margin-block-start:16px; }
.breadcrumb a:hover{ color:var(--gold-soft); }
.breadcrumb .sep{ opacity:.6; }
.breadcrumb [aria-current=page]{ color:var(--gold-soft); }

/* ---------- News cards ---------- */
.cards-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.news-card{ background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.news-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); }
.news-thumb{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.news-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.news-card:hover .news-thumb img{ transform:scale(1.07); }
.news-date{ position:absolute; inset-block-start:14px; inset-inline-start:14px; background:var(--gold); color:#fff; border-radius:12px; padding:8px 12px; text-align:center; line-height:1.1; box-shadow:var(--shadow-sm); }
.news-date .d{ font-size:1.3rem; font-weight:800; display:block; }
.news-date .m{ font-size:.72rem; }
.news-body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.news-meta{ display:flex; align-items:center; gap:14px; font-size:.82rem; color:var(--muted); margin-block-end:12px; }
.news-meta .tag{ color:var(--gold-dark); font-weight:700; }
.news-body h3{ font-size:1.18rem; margin-block-end:10px; line-height:1.4; }
.news-body h3 a:hover{ color:var(--gold-dark); }
.news-body p{ color:var(--muted); font-size:.94rem; margin-block-end:18px; flex:1; }
.read-more{ display:inline-flex; align-items:center; gap:.5em; font-weight:700; color:var(--gold-dark); font-size:.92rem; align-self:flex-start; }
.read-more .ico-arrow{ transition:transform .3s var(--ease); }
.read-more:hover .ico-arrow{ transform:translateX(-5px); }
[dir=ltr] .read-more:hover .ico-arrow{ transform:translateX(5px); }

/* news list (horizontal) */
.news-list{ display:grid; gap:22px; max-width:920px; margin-inline:auto; }
.news-row{ display:grid; grid-template-columns:280px 1fr; gap:24px; background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:.4s var(--ease); }
.news-row:hover{ box-shadow:var(--shadow); transform:translateY(-4px); }
.news-row .news-thumb{ aspect-ratio:auto; }
.news-row .news-body{ padding-block:26px; }

/* ---------- Grid cards (generic) ---------- */
.feature-card{ background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:.4s var(--ease); height:100%; display:flex; flex-direction:column; }
.feature-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); }
.feature-card .fc-thumb{ aspect-ratio:16/10; overflow:hidden; position:relative; }
.feature-card .fc-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.feature-card:hover .fc-thumb img{ transform:scale(1.07); }
.feature-card .fc-tag{ position:absolute; inset-block-start:14px; inset-inline-start:14px; background:rgba(76,57,46,.85); color:#fff; font-size:.76rem; font-weight:700; padding:.4em 1em; border-radius:var(--radius-pill); backdrop-filter:blur(4px); }
.feature-card .fc-body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.feature-card h3{ font-size:1.15rem; margin-block-end:10px; }
.feature-card p{ color:var(--muted); font-size:.93rem; margin-block-end:16px; flex:1; }

/* icon feature (no image) */
.icon-card{ background:#fff; border-radius:var(--radius-lg); padding:34px 28px; box-shadow:var(--shadow-sm); transition:.4s var(--ease); border:1px solid transparent; }
.icon-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); border-color:var(--gold-soft); }
.icon-card .ic-ico{ width:64px; height:64px; border-radius:18px; display:grid; place-items:center; background:var(--gold-tint); color:var(--gold-dark); margin-block-end:20px; transition:.4s var(--ease); }
.icon-card:hover .ic-ico{ background:var(--gold); color:#fff; transform:rotate(-6deg); }
.icon-card h3{ font-size:1.2rem; margin-block-end:10px; }
.icon-card p{ color:var(--muted); font-size:.94rem; margin-block-end:14px; }

/* ---------- List layout ---------- */
.list-stack{ display:grid; gap:18px; max-width:900px; margin-inline:auto; }
.list-item{ background:#fff; border-radius:var(--radius); padding:24px 26px; box-shadow:var(--shadow-sm); display:flex; gap:20px; align-items:flex-start; transition:.35s var(--ease); border-inline-start:4px solid var(--gold); }
.list-item:hover{ transform:translateX(-6px); box-shadow:var(--shadow); }
[dir=ltr] .list-item:hover{ transform:translateX(6px); }
.list-item .li-ico{ flex-shrink:0; width:54px; height:54px; border-radius:14px; background:var(--gold-tint); color:var(--gold-dark); display:grid; place-items:center; }
.list-item h3{ font-size:1.12rem; margin-block-end:6px; }
.list-item p{ color:var(--muted); font-size:.93rem; margin-block-end:10px; }

/* ---------- Team ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.team-card{ background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); text-align:center; transition:.4s var(--ease); }
.team-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); }
.team-photo{ position:relative; aspect-ratio:1/1; overflow:hidden; }
.team-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.team-card:hover .team-photo img{ transform:scale(1.06); }
.team-socials{ position:absolute; inset-block-end:-60px; inset-inline:0; display:flex; justify-content:center; gap:10px; padding:14px; background:linear-gradient(transparent, rgba(40,28,20,.7)); transition:.4s var(--ease); }
.team-card:hover .team-socials{ inset-block-end:0; }
.team-socials a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--brown); display:grid; place-items:center; transition:.3s var(--ease); }
.team-socials a:hover{ background:var(--gold); color:#fff; }
.team-info{ padding:22px 16px; }
.team-info .name{ font-weight:800; color:var(--ink); font-size:1.1rem; }
.team-info .role{ color:var(--gold-dark); font-size:.9rem; margin-block-start:4px; }

/* ---------- Photo gallery ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gallery-grid.masonry{ grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; }
.gallery-grid.masonry .g-item:nth-child(4n+1){ grid-row:span 2; }
.gallery-grid.masonry .g-item:nth-child(6n+3){ grid-row:span 2; }
.g-item{ position:relative; border-radius:var(--radius); overflow:hidden; cursor:pointer; display:block; aspect-ratio:4/3; }
.gallery-grid.masonry .g-item{ aspect-ratio:auto; height:100%; }
.g-item img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.g-item::after{ content:""; position:absolute; inset:0; background:rgba(76,57,46,0); transition:.4s var(--ease); }
.g-item .g-ico{ position:absolute; inset-block-start:50%; inset-inline-start:50%; transform:translate(-50%,-50%) scale(.6); opacity:0; z-index:2; width:54px; height:54px; border-radius:50%; background:rgba(255,255,255,.9); color:var(--brown); display:grid; place-items:center; transition:.4s var(--ease); }
.g-item:hover img{ transform:scale(1.08); }
.g-item:hover::after{ background:rgba(76,57,46,.4); }
.g-item:hover .g-ico{ opacity:1; transform:translate(-50%,-50%) scale(1); }

/* albums */
.album-card{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer; transition:.4s var(--ease); }
.album-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.album-card img{ aspect-ratio:4/3; width:100%; object-fit:cover; transition:.7s var(--ease); }
.album-card:hover img{ transform:scale(1.06); }
.album-card .al-body{ position:absolute; inset-block-end:0; inset-inline:0; padding:20px; background:linear-gradient(transparent, rgba(40,28,20,.85)); color:#fff; }
.album-card .al-count{ font-size:.82rem; color:var(--gold-soft); }

/* ---------- Video gallery ---------- */
.video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.video-card{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer; transition:.4s var(--ease); }
.video-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.video-thumb{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.video-thumb img{ width:100%; height:100%; object-fit:cover; transition:.7s var(--ease); }
.video-card:hover .video-thumb img{ transform:scale(1.07); }
.video-thumb::after{ content:""; position:absolute; inset:0; background:rgba(40,28,20,.32); transition:.4s var(--ease); }
.video-card:hover .video-thumb::after{ background:rgba(40,28,20,.5); }
.video-thumb .play-btn{ position:absolute; inset-block-start:50%; inset-inline-start:50%; transform:translate(-50%,-50%); z-index:2; width:64px; height:64px; }
.video-info{ padding:20px 22px; }
.video-info h3{ font-size:1.08rem; }
.video-info .v-meta{ color:var(--muted); font-size:.85rem; margin-block-start:6px; }

/* ---------- Tabs page ---------- */
.tabs-nav{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-block-end:40px; }
.tabs-nav button{ padding:.8em 1.6em; border-radius:var(--radius-pill); font-weight:700; background:#fff; color:var(--brown-soft); box-shadow:var(--shadow-sm); transition:.3s var(--ease); }
.tabs-nav button.is-active{ background:var(--gold); color:#fff; }
.tabs-panel{ display:none; animation:fadeUp .5s var(--ease) both; }
.tabs-panel.is-active{ display:block; }

/* ---------- Article (news detail) ---------- */
.article-layout{ display:grid; grid-template-columns:1fr 320px; gap:44px; align-items:start; }
.article-body img{ border-radius:var(--radius); margin-block:24px; width:100%; }
.article-body h2{ font-size:1.5rem; margin-block:28px 14px; }
.article-body h3{ font-size:1.2rem; margin-block:22px 12px; }
.article-body p{ margin-block-end:16px; color:var(--brown-soft); }
.article-body blockquote{ border-inline-start:4px solid var(--gold); background:var(--cream-2); padding:20px 24px; border-radius:0 var(--radius) var(--radius) 0; margin-block:22px; color:var(--ink); font-style:italic; }
.sidebar-box{ background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-sm); margin-block-end:24px; }
.sidebar-box h4{ font-size:1.1rem; margin-block-end:18px; padding-block-end:12px; border-block-end:1px solid var(--line); }
.mini-post{ display:flex; gap:14px; align-items:center; margin-block-end:16px; }
.mini-post img{ width:70px; height:60px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.mini-post .mp-date{ font-size:.78rem; color:var(--gold-dark); }
.mini-post h5{ font-size:.92rem; color:var(--ink); line-height:1.4; }
.mini-post:hover h5{ color:var(--gold-dark); }
.tag-cloud{ display:flex; flex-wrap:wrap; gap:8px; }
.tag-cloud a{ font-size:.84rem; background:var(--cream-2); padding:.4em 1em; border-radius:var(--radius-pill); color:var(--brown-soft); }
.tag-cloud a:hover{ background:var(--gold); color:#fff; }
.share-row{ display:flex; gap:10px; align-items:center; margin-block-start:30px; padding-block-start:24px; border-block-start:1px solid var(--line); }
.share-row a{ width:40px; height:40px; border-radius:50%; background:var(--cream-2); display:grid; place-items:center; color:var(--brown); transition:.3s var(--ease); }
.share-row a:hover{ background:var(--gold); color:#fff; }

/* ---------- Forms ---------- */
.form-card{ background:#fff; border-radius:var(--radius-lg); padding:clamp(28px,4vw,48px); box-shadow:var(--shadow); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field.full{ grid-column:1 / -1; }
.field label{ font-weight:700; font-size:.9rem; color:var(--ink); }
.field input,.field textarea,.field select{
  padding:.9em 1.1em; border:1.5px solid var(--line); border-radius:var(--radius-sm);
  background:var(--cream); transition:.3s var(--ease); width:100%;
}
/* Inherit the global modest min/max + scroll; only set what differs from the global textarea rule. */
.field textarea{ min-height:72px; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--gold); background:#fff; box-shadow:0 0 0 4px rgba(181,118,57,.12); }

/* Checkbox / radio: keep inline with their label instead of stretching full-width (overrides .field input width:100%) */
.field input[type=checkbox],.field input[type=radio],
.chk input[type=checkbox],.chk input[type=radio]{
  width:auto; height:auto; padding:0; margin:0; margin-inline-end:.5em;
  flex:none; vertical-align:middle; accent-color:var(--gold); cursor:pointer;
}
.field input[type=checkbox]:focus,.field input[type=radio]:focus{ box-shadow:none; }
.field label > input[type=checkbox],.field label > input[type=radio]{ background:transparent; }
.chk{ display:inline-flex; align-items:center; gap:0; font-weight:500; white-space:nowrap; cursor:pointer; }

/* Terms-accept clause: keep checkbox + prefix + link + asterisk on one inline (wrapping) row, never stacked */
.terms-accept{ display:flex; flex-wrap:wrap; align-items:center; gap:.4em; }
.terms-accept > label{ font-weight:500; margin:0; }

/* contact info blocks */
.contact-grid{ display:grid; grid-template-columns:1fr 1.4fr; gap:40px; align-items:start; }
.info-list{ display:grid; gap:18px; }
.info-item{ display:flex; gap:16px; background:#fff; padding:22px; border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:.35s var(--ease); }
.info-item:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.info-item .ii-ico{ flex-shrink:0; width:52px; height:52px; border-radius:14px; background:var(--gold-tint); color:var(--gold-dark); display:grid; place-items:center; }
.info-item h4{ font-size:1rem; margin-block-end:4px; }
.info-item p{ color:var(--muted); font-size:.92rem; }
.map-wrap{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); margin-block-start:30px; }
.map-wrap iframe{ width:100%; height:360px; border:0; display:block; filter:grayscale(.2) sepia(.1); }

/* search */
.search-bar{ display:flex; gap:12px; max-width:640px; margin-inline:auto; margin-block-end:44px; }
.search-bar input{ flex:1; padding:1em 1.4em; border:1.5px solid var(--line); border-radius:var(--radius-pill); background:#fff; }
.search-bar input:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(181,118,57,.12); }
.search-result{ background:#fff; border-radius:var(--radius); padding:24px 26px; box-shadow:var(--shadow-sm); margin-block-end:16px; transition:.3s var(--ease); }
.search-result:hover{ box-shadow:var(--shadow); }
.search-result .sr-cat{ font-size:.8rem; color:var(--gold-dark); font-weight:700; }
.search-result h3{ font-size:1.15rem; margin-block:6px; }
.search-result h3 a:hover{ color:var(--gold-dark); }
.search-result p{ color:var(--muted); font-size:.93rem; }

/* pagination */
.pagination{ display:flex; justify-content:center; gap:8px; margin-block-start:48px; }
.pagination a,.pagination span{ min-width:44px; height:44px; padding-inline:6px; display:grid; place-items:center; border-radius:12px; background:#fff; box-shadow:var(--shadow-sm); font-weight:700; color:var(--brown); transition:.3s var(--ease); }
.pagination a:hover{ background:var(--gold-tint); }
.pagination .is-active{ background:var(--gold); color:#fff; }

/* ---------- Modal (video popup) + Lightbox ---------- */
.modal{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:24px; opacity:0; visibility:hidden; transition:.35s var(--ease); }
.modal.is-open{ opacity:1; visibility:visible; }
.modal-overlay{ position:absolute; inset:0; background:rgba(26,18,12,.86); backdrop-filter:blur(6px); }
.modal-content{ position:relative; z-index:2; width:min(900px,100%); transform:scale(.92) translateY(20px); transition:.4s var(--ease-out); }
.modal.is-open .modal-content{ transform:scale(1) translateY(0); }
.modal-video{ aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg); background:#000; }
.modal-video iframe,.modal-video video{ width:100%; height:100%; border:0; }
.modal-close{ position:absolute; inset-block-start:-54px; inset-inline-end:0; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; display:grid; place-items:center; transition:.3s var(--ease); }
.modal-close:hover{ background:var(--gold); transform:rotate(90deg); }
/* lightbox image */
.lightbox-img{ max-width:min(1100px,100%); max-height:82vh; border-radius:var(--radius); box-shadow:var(--shadow-lg); }
.lb-nav{ position:absolute; inset-block-start:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; display:grid; place-items:center; z-index:3; transition:.3s var(--ease); }
.lb-nav:hover{ background:var(--gold); }
.lb-prev{ inset-inline-start:18px; }
.lb-next{ inset-inline-end:18px; }

/* ---------- Back to top ---------- */
.to-top{ position:fixed; inset-block-end:26px; inset-inline-end:26px; z-index:70; width:50px; height:50px; border-radius:50%; background:var(--brown); color:#fff; display:grid; place-items:center; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(16px); transition:.35s var(--ease); }
.to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ background:var(--gold); }

/* ---------- CTA strip ---------- */
.cta-strip{ position:relative; border-radius:var(--radius-lg); overflow:hidden; padding:clamp(40px,6vw,72px); text-align:center; color:#fff; isolation:isolate; }
.cta-strip img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.cta-strip::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(120deg, rgba(154,94,42,.92), rgba(76,57,46,.88)); }
.cta-strip h2{ color:#fff; font-size:clamp(1.6rem,3.6vw,2.4rem); margin-block-end:14px; }
.cta-strip p{ color:rgba(255,255,255,.85); max-width:560px; margin-inline:auto; margin-block-end:28px; }

/* ---------- Scroll reveal ---------- */
[data-reveal]{ opacity:0; transform:translateY(34px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal][data-reveal=left]{ transform:translateX(40px); }
[data-reveal][data-reveal=right]{ transform:translateX(-40px); }
[data-reveal].in{ transform:none; }
[data-delay="1"]{ transition-delay:.1s; } [data-delay="2"]{ transition-delay:.2s; }
[data-delay="3"]{ transition-delay:.3s; } [data-delay="4"]{ transition-delay:.4s; }
[data-delay="5"]{ transition-delay:.5s; } [data-delay="6"]{ transition-delay:.6s; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(20px) } to{ opacity:1; transform:none } }

/* ---------- Mobile nav drawer + responsive ---------- */
@media (max-width:1024px){
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .team-grid{ grid-template-columns:repeat(3,1fr); }
  .cards-grid,.video-grid,.gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid.masonry{ grid-template-columns:repeat(2,1fr); }
  .article-layout{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:900px){
  :root{ --header-h:72px; }
  .nav-toggle{ display:grid; order:3; margin-inline-start:auto; }
  .header-actions .btn-login{ display:none; }
  .nav{
    position:fixed; inset-block:0; inset-inline-start:0; width:min(340px,82vw);
    background:var(--cream); box-shadow:var(--shadow-lg); padding:calc(var(--header-h) + 20px) 28px 28px;
    transform:translateX(105%); transition:transform .45s var(--ease); z-index:75; overflow-y:auto; margin:0;
  }
  [dir=ltr] .nav{ inset-inline:0 auto; inset-inline-start:0; transform:translateX(-105%); }
  body.nav-open .nav{ transform:translateX(0) !important; }
  .nav-list{ flex-direction:column; align-items:stretch; gap:4px; }
  .nav-list > li > a{ display:block; padding:.85em 1em; border-radius:12px; }
  .nav-list > li > a::after{ display:none; }
  .nav-list > li > a:hover{ background:var(--gold-tint); }
  /* submenus expand inline on mobile */
  .sub-menu{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0;
    background:transparent; padding:0 0 6px; min-width:0; max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
  .nav-list li.has-sub.open > .sub-menu{ max-height:420px; }
  .nav-list li.has-sub.open .caret{ transform:rotate(180deg); }
  .sub-menu a{ padding-inline-start:1.6em; font-size:.88rem; opacity:.9; }
  .nav-drawer-foot{ margin-block-start:24px; padding-block-start:20px; border-block-start:1px solid var(--line); display:grid; gap:12px; }
  .nav-overlay{ position:fixed; inset:0; background:rgba(40,28,20,.5); opacity:0; visibility:hidden; transition:.35s var(--ease); z-index:74; }
  body.nav-open .nav-overlay{ opacity:1; visibility:visible; }
  .about-grid,.contact-grid{ grid-template-columns:1fr; gap:48px; }
  .about-media{ max-width:520px; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(3)::before,.stat:nth-child(1)::before{ display:none; }
}
@media (max-width:680px){
  .services-grid,.cards-grid,.video-grid,.gallery-grid,.team-grid,.gallery-grid.masonry,.form-grid{ grid-template-columns:1fr; }
  .news-row{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero{ min-height:auto; padding-block:0; }
  .hero-inner{ padding-block:calc(var(--header-h) + 50px) 90px; }
  .hero-arrows{ display:none; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .exp-badge{ inset-inline-end:10px; font-size:.85rem; padding:16px 9px; }
}
.nav-drawer-foot{ display:none; }
@media (max-width:900px){ .nav-drawer-foot{ display:grid; } }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.01ms !important; }
  .hero-slide.is-active img{ animation:none; }
}

/* icon-size-guard: inline icons (no class) default to text-relative size so they never blow up */
svg:not([class]){ width:1.2em; height:1.2em; }
.footer-contact .fi svg{ width:17px; height:17px; }
.socials a svg{ width:20px; height:20px; }
.to-top svg{ width:22px; height:22px; }
.info-item .ii-ico svg{ width:24px; height:24px; }
.icon-card .ic-ico svg{ width:28px; height:28px; }
.list-item .li-ico svg{ width:24px; height:24px; }
.read-more svg, .sc-link .ico-circle svg{ width:1.05em; height:1.05em; }
.acc-ico svg{ width:16px; height:16px; }

/* ===== Unified passport multi-file upload widget (_PassportUpload.cshtml + passport-upload.js) ===== */
.pp-up{ margin-block-start:6px; }
.pp-up .pp-ok{ color:#1E8A4C; font-weight:700; margin-block-start:8px; }
.pp-up .pp-ok-mark{ font-weight:800; }
.pp-up .pp-list{ display:flex; flex-direction:column; gap:8px; margin-block-start:10px; }
.pp-up .pp-item{ display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.pp-up .pp-thumb-link{ display:inline-flex; line-height:0; }
.pp-up .pp-thumb{ width:52px; height:52px; object-fit:cover; border-radius:8px; border:1px solid var(--line); display:block; }
.pp-up .pp-pdf{ width:52px; height:52px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; border:1px solid var(--line); background:var(--cream); color:var(--red); font-weight:800; font-size:.72rem; }
.pp-up .pp-fname{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:.85rem; font-weight:600; }
.pp-up .pp-open{ color:var(--brown); font-weight:700; text-decoration:underline; font-size:.82rem; white-space:nowrap; }
.pp-up .pp-remove{ border:0; background:none; color:var(--red); font-weight:700; cursor:pointer; font-size:.82rem; white-space:nowrap; padding:2px 4px; }
.pp-up .pp-add{ margin-block-start:10px; }
.pp-up .pp-err{ color:var(--red); font-size:.85rem; margin-block-start:8px; }
/* Admin order-details: all passport images as clickable thumbnails (open full-size in a new tab). */
.pp-admin-list{ display:flex; flex-wrap:wrap; gap:8px; }
.pp-admin-item{ display:inline-flex; }
.pp-admin-thumb{ width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid var(--line); display:block; }
.pp-admin-pdf{ width:64px; height:64px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; border:1px solid var(--line); background:var(--cream); color:var(--red); font-weight:800; font-size:.72rem; }
