/* =====================================================================
   VCN Lighting Solutions — Prototype Front-end (Desktop)
   Brand guideline (CATALOGUE VCN DE 2026): "Light Defines Luxury".
   Typeface: Montserrat. Palette: luxury black + white, warm
   amber-gold accent #D89A4E (per catalogue headings & markers).
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ---------- 1. Tokens ---------- */
:root{
  /* GỐC - GIỮ NGUYÊN TUYỆT ĐỐI */
  --ink:        #0F0E0C;
  --gold:       #D89A4E;
  --gold-light: #ECC677;
  --cream:      #F7F4EC;
  --line-soft: rgba(236,198,119,.13);
  --line-mid:  rgba(236,198,119,.24);

  --ink-2: #18160F;
  --ink-3: #1F1C15;

  --on-dark:       #FFFFFF;
  --on-dark-muted: rgba(255,255,255,.86);
  --on-dark-faint: rgba(255,255,255,.78);

  /* BỔ SUNG: Kênh màu RGB để tái sử dụng cho các hàm rgba() có độ mờ khác nhau */
  --ink-rgb: 15, 14, 10;
  --gold-rgb: 216, 154, 78;
  --gold-light-rgb: 236, 198, 119;
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;

  /* BỔ SUNG: Màu chức năng, nền, và viền mới */
  --ink-4: #2A2925;
  --ink-5: #34322B;
  --black: #000000;
  --gray-light-bg: #ECECEC;
  --gray-light: rgb(216, 217, 219);
  --gray-light-border: #c9c9c9;
  --gray-light-alt: #dcdcdc;
  --gray-text: #a3a3a3;
  --red-accent: #E2554A;
  --red-accent-hover: #d04638;

  /* BỔ SUNG: Text trên nền sáng (Tin tức) */
  --on-light-1: #1a1a1a;
  --on-light-2: #222222;
  --on-light-3: #333333;
  --on-light-4: #555555;

  /* BỔ SUNG: Badges & Form Messages */
  --badge-blue-bg: rgba(140,179,214,.16);
  --badge-blue-text: #9fc1e0;
  --badge-green-bg: rgba(123,196,155,.16);
  --badge-green-text: #8ed1a8;
  --msg-ok-bg: rgba(31,111,67,.16);
  --msg-ok-border: rgba(95,180,130,.4);
  --msg-ok-text: #bfe6cd;
  --msg-err-bg: rgba(150,50,50,.16);
  --msg-err-border: rgba(210,120,120,.4);
  --msg-err-text: #f0c9c9;
  --error-border: #d27878;

  /* BỔ SUNG: Wireframe debug */
  --wire-hero: #41506e;
  --wire-cat: #7db3c4;
  --wire-prod: #d6b15e;
  --wire-proj: #6f86c9;
  --wire-vid: #9b7bc4;
  --wire-svc: #7bc49b;
  --wire-news: #c47b94;
  --wire-cta: #3a4a3f;
  --wire-text: #9a948a;
  

  /* TYPOGRAPHY */
  --font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;

  --container: 1320px;
  --gap: 10px;
  --ease: cubic-bezier(.22,.61,.36,1);
  
  
}



/* ---------- 2. Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; letter-spacing:0 !important; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-sans);
  font-weight:300;
  font-size:16px; line-height:1.6;
  color:var(--on-dark); background:var(--ink);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:var(--gold-light); text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; background:none; border:none; }
ul{ list-style:none; color: var(--on-dark-muted); font-size: 13px;}
h1,h2,h3,h4{ font-weight:300; }
::selection{ background:var(--gold); color:var(--ink); }

.container{ width:100%; max-width:none; margin-inline:auto; padding-inline:80px; }
main{ display:flex; flex-direction:column; gap:var(--gap); background:var(--ink); }

/* ---------- 3. Header (single row) ---------- */

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(var(--ink-rgb),.88); backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-soft);
}
.header__in{ display:flex; align-items:center; gap:20px; height:70px; flex-wrap:nowrap; }
.brand{ display:flex; align-items:center; flex:0 0 auto; }
.brand img{ height:50px; width:auto; }

.nav{ display:flex; align-items:center; gap:2px; margin-inline:auto; flex-wrap:nowrap; }
.nav__item{ position:relative; }
.nav__link{
  display:inline-flex; align-items:center; gap:5px;
  padding:10px 13px; font-size:15px; font-weight:300; letter-spacing:.02em;
  color:var(--on-dark); white-space:nowrap; transition:color .25s var(--ease);
}
.nav__link .chev{ width:15px; height:15px; opacity:.6; transition:transform .3s var(--ease); margin-bottom:-2px;margin-left:2px;}
.nav__link:hover{ color:var(--gold); }
.nav__item:hover .chev{ transform:rotate(180deg); }
.nav__link.is-active{ color:var(--gold); }

.actions{ display:flex; align-items:center; gap:2px; flex:0 0 auto; }
.icon-btn{ width:40px; height:40px; border-radius:50%; display:grid; place-items:center; color:var(--on-dark); position:relative; transition:background .25s var(--ease), color .25s var(--ease); }
.icon-btn:hover{ color:var(--gold); }
.icon-btn svg{ width:19px; height:19px; }
.nav-toggle{ display:none; }
.actions .lang{ order:0; }
.actions [aria-label="Search"]{ order:1; }
.actions [aria-label="Account"]{ order:2; }
.actions [aria-label="Cart"]{ order:3; }
.actions .nav-toggle{ order:4; margin-left:2px; }
.cart-count{ position:absolute; top:5px; right:5px; background:var(--gold); color:var(--ink); font-size:10px; font-weight:500; line-height:1; min-width:16px; height:16px; border-radius:8px; display:grid; place-items:center; padding:0 4px; }
.lang{ display:flex; align-items:center; gap:2px; margin-left:6px; border:1px solid var(--line-soft); border-radius:999px; padding:3px; }
.lang button{ font-size:12px; font-weight:500; letter-spacing:.03em; padding:5px 9px; border-radius:999px; color:var(--on-dark-muted); transition:all .25s var(--ease); }
.lang button.is-active{ background:var(--gold); color:var(--ink); }

.mega{
  position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%) translateY(8px);
  background:var(--ink-2); border:1px solid var(--line-soft);
  padding:18px; box-shadow:0 30px 80px -30px rgba(var(--black-rgb),.8);
  opacity:0; visibility:hidden; pointer-events:none; transition:all .3s var(--ease); z-index:60;
}
.mega--cards{ width:max-content; max-width:94vw; }
.mega::before{ content:""; position:absolute; top:-20px; left:0; right:0; height:20px; }
.nav__item:hover .mega{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }

.mega__slider{ display:flex; align-items:center; gap:8px; }
.mega__track{
  display:flex; gap:10px; overflow-x:auto; scroll-behavior:smooth;
  scroll-snap-type:x mandatory; scrollbar-width:none; max-width:720px;
}
.mega__track::-webkit-scrollbar{ display:none; }

.mcard{
  position:relative; flex:0 0 224px; height:158px; overflow:hidden; border-radius:10px;
  scroll-snap-align:start;
  background-color:var(--ink-3);
}
.mcard::before{ content:""; position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1); transition:transform .8s var(--ease); z-index:0; }
.mcard::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(var(--ink-rgb),.88),rgba(var(--ink-rgb),.18)); z-index:1; }
.mcard:hover::before{ transform:scale(1.05); }
.mcard__label{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:12px 14px; font-size:13px; font-weight:500; letter-spacing:.04em;
  color:var(--on-dark); text-transform:uppercase; transition:all .3s var(--ease);
}
.mcard:hover .mcard__label{ color:var(--gold); bottom:auto; top:12px; }
.mcard__sub{
  position:absolute; inset:0; z-index:2; padding:40px 16px 14px;
  display:flex; flex-direction:column; gap:0; line-height:1.32;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:all .3s var(--ease); overflow-y:auto; scrollbar-width:none;
}
.mcard__sub::-webkit-scrollbar{ display:none; }
.mcard:hover .mcard__sub{ opacity:1; visibility:visible; transform:translateY(0); }
.mcard__sub a{ font-size:12.5px; color:var(--on-dark-muted); padding:2.5px 0; transition:color .2s var(--ease), padding .2s var(--ease); }
.mcard__sub a:hover{ color:var(--gold); padding-left:4px; }

.mega__arrow{
  flex:0 0 34px; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line-mid); color:var(--on-dark); display:grid; place-items:center;
  transition:all .25s var(--ease);
}
.mega__arrow:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.mega__arrow svg{ width:16px; height:16px; }
.mega__arrow[hidden]{ display:none; }

.mcard__sub{ display:none !important; }
.mcard:hover .mcard__label{ color:var(--gold); bottom:0; top:auto; }
.mcard.is-current .mcard__label{ color:var(--gold); }
.mcard.is-current::before{ transform:scale(1.05); }
.mega__panel{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line-soft); }
.mega__panel:not(:has(.mega__group.is-active)){ margin:0; padding:0; border:0; }
.mega__group{ display:none; }
.mega__group.is-active{ display:block; animation:megaFade .25s var(--ease); }
.mega__group-title{ font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.mega__group-links{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:7px 28px; }
.mega__group-links a{ font-size:13px; color:var(--on-dark-muted); padding:3px 0; transition:color .2s var(--ease), padding-left .2s var(--ease); }
.mega__group-links a:hover{ color:var(--gold); padding-left:4px; }
@keyframes megaFade{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:translateY(0); } }

.mega--simple{ width:230px; padding:10px; }
.mega--simple .msimple__link{ display:block; padding:12px 14px; font-size:13.5px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--on-dark); transition:color .2s var(--ease), background .2s var(--ease), padding-left .2s var(--ease); }
.mega--simple .msimple__link:hover{ color:var(--gold); background:var(--ink-3); padding-left:18px; }

/* ---------- 4. Hero — slider ---------- */
.hero{ position:relative; height:100vh; overflow:hidden; background:var(--ink); isolation:isolate; }
.hero__viewport{ position:absolute; inset:0; }
.slide{ position:absolute; inset:0; display:flex; align-items:center; opacity:0; visibility:hidden; transition:opacity .9s var(--ease); }
.slide.is-active{ opacity:1; visibility:visible; }
.slide__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .6s var(--ease); }
.hero:hover .slide__bg{ transform:scale(1.05); }
.slide::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(var(--ink-rgb),.80) 0%, rgba(var(--ink-rgb),.79) 5%, rgba(var(--ink-rgb),.77) 10%, rgba(var(--ink-rgb),.73) 15%, rgba(var(--ink-rgb),.69) 20%, rgba(var(--ink-rgb),.63) 25%, rgba(var(--ink-rgb),.57) 30%, rgba(var(--ink-rgb),.51) 35%, rgba(var(--ink-rgb),.44) 40%, rgba(var(--ink-rgb),.37) 45%, rgba(var(--ink-rgb),.30) 50%, rgba(var(--ink-rgb),.23) 55%, rgba(var(--ink-rgb),.17) 60%, rgba(var(--ink-rgb),.11) 65%, rgba(var(--ink-rgb),.07) 70%, rgba(var(--ink-rgb),.03) 75%, rgba(var(--ink-rgb),.01) 80%, rgba(var(--ink-rgb),0) 85%); }
.slide__in{ width:100%; }
.hero__arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:35px; height:35px; border-radius:50%; border:1px solid var(--line-mid); background:rgba(var(--ink-rgb),.35); backdrop-filter:blur(6px); display:grid; place-items:center; color:var(--on-dark); transition:all .3s var(--ease); }
.hero__arrow svg{ width:22px; height:22px; }
.hero__arrow:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.hero__arrow.prev{ left:20px; } .hero__arrow.next{ right:20px; }
.hero__dots{ position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:10px; }
.hero__dots button{ width:30px; height:3px; background:rgba(244,239,227,.3); transition:all .3s var(--ease); }
.hero__dots button.is-active{ background:var(--gold); width:46px; }
.slide__sector{ display:inline-block; font-size:12px; letter-spacing:.28em; text-transform:uppercase; font-weight:400; color:var(--gold-light); margin-bottom:20px; }
.slide__title{ font-size:48px; font-weight:200; line-height:1.08; letter-spacing:.005em; max-width:18ch; margin-bottom:26px; }
.hero__link{ display:inline-flex; align-items:center; gap:9px; font-size:16px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--on-dark); padding-bottom:6px; border-bottom:1px solid var(--gold); transition:color .3s var(--ease); }
.hero__link .ar{ transition:transform .3s var(--ease); }
.hero__link:hover{ color:var(--gold); }
.hero__link:hover .ar{ transform:translateX(4px); }

/* =====================================================================
   5. TILE SYSTEM
   ===================================================================== */
.band{ background:var(--ink); }
.band--video{ background:var(--ink); }
.band.subpage{ padding-top:34px; padding-bottom:20px; }
.band.subpage .breadcrumb{ margin-bottom:6px; }
.band.subpage .lead{ margin-top:18px; }

.sec-title{
  font-size:clamp(24px,2.6vw,40px);
  font-weight:200;
  letter-spacing:.01em;
  line-height:1.1;
  color:var(--on-dark);
  white-space:nowrap;
  margin:clamp(30px,3.4vw,54px) 0 24px;
}

.tile{
  position:relative; display:block; overflow:hidden; isolation:isolate;
  background:var(--ink-3); min-height:240px;
}
.tile img,.tile video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.1s var(--ease); }
.tile::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(var(--ink-rgb),0) 32%, rgba(var(--ink-rgb),.8) 100%); transition:background .4s var(--ease); }
.tile--top::after{ background:linear-gradient(180deg, rgba(var(--ink-rgb),.74) 0%, rgba(var(--ink-rgb),0) 48%); }
.tile:hover img,.tile:hover video{ transform:scale(1.05); }
.tile:hover::after{ background:linear-gradient(180deg, rgba(var(--ink-rgb),0) 38%, rgba(var(--ink-rgb),.72) 100%); }
.tile--top:hover::after{ background:linear-gradient(180deg, rgba(var(--ink-rgb),.62) 0%, rgba(var(--ink-rgb),0) 52%); }

.tile__txt{ position:absolute; left:0; bottom:0; z-index:1; padding:34px 36px; display:flex; flex-direction:column; gap:8px; }
.tile--top .tile__txt{ top:0; bottom:auto; }
.tile__sub{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:400; color:var(--gold-light); }
.tile__label{ font-size:clamp(24px,2.2vw,34px); font-weight:200; line-height:1.12; letter-spacing:.01em; color:var(--on-dark); }
.tile__label.sm{ font-size:clamp(19px,1.5vw,23px); font-weight:300; }

.tile__hover{ position:absolute; inset:0; z-index:2; background:rgba(var(--black-rgb),.80); padding:30px 34px; display:flex; flex-direction:column; justify-content:center; opacity:0; visibility:hidden; transform:translateY(46px); transition:opacity .4s var(--ease), transform .45s var(--ease), visibility .4s var(--ease); overflow-y:auto; }
.tile:hover .tile__hover{ opacity:1; visibility:visible; transform:translateY(0); }
.thv__title{ font-size:clamp(20px,1.5vw,26px); font-weight:300; color:var(--on-dark); letter-spacing:.01em; }
.thv__rule{ width:34px; height:2px; background:var(--red-accent); margin:14px 0 22px; flex:0 0 auto; }
.thv__cols{ display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.thv__col{ display:flex; flex-direction:column; }
.thv__col span{ display:flex; align-items:center; justify-content:flex-start; gap:7px; font-size:13px; color:var(--on-dark-muted); padding:6px 0; transition:color .2s var(--ease); }
.thv__col span::after{ content:"→"; flex:0 0 auto; font-size:13px; line-height:1; color:var(--gold); opacity:0; transform:translateX(-4px); transition:transform .2s var(--ease), opacity .2s var(--ease); }
.tile:hover .thv__col span:hover{ color:var(--gold); }
.tile:hover .thv__col span:hover::after{ opacity:1; transform:translateX(0); }
.thv__item{ display:inline-flex; align-items:center; font-size:13px; color:var(--on-dark-muted); padding:5px 0; transition:color .2s var(--ease), transform .2s var(--ease); }
.thv__item::after{ content:">"; flex:0 0 auto; font-size:12px; color:var(--gold); margin-left:6px; opacity:0; transform:translateX(-4px); transition:opacity .2s var(--ease), transform .2s var(--ease); }
.tile:hover .thv__item:hover{ color:var(--gold); transform:translateX(-4px); }
.tile:hover .thv__item:hover::after{ opacity:1; transform:translateX(0); }
.thv__more{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:24px; padding:11px 22px; border:1px solid var(--line-mid); border-radius:4px; font-size:13px; color:var(--on-dark); transition:border-color .25s var(--ease), color .25s var(--ease); }
.thv__more:hover{ border-color:var(--gold); color:var(--gold); }

.tile__play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; width:60px; height:60px; border-radius:50%; border:1px solid var(--red-accent); background:var(--red-accent); color:var(--on-dark); display:grid; place-items:center; transition:border-color .3s var(--ease), background .3s var(--ease), transform .25s var(--ease); }
.tile:hover .tile__play{ border-color:var(--red-accent-hover); background:var(--red-accent-hover); }
.tile__play svg{ width:22px; height:22px; margin-left:2px; }

/* =====================================================================
   GRID
   ===================================================================== */
.m-cat,.m-proj,.m-row4{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); }

.m-vid3{ display:grid; grid-template-columns:2fr 1fr; gap:var(--gap); align-items:stretch; }
.m-vid3 .t-video{ aspect-ratio:auto; min-height:0; }
.m-vid3 .v-side{ aspect-ratio:3/2; }
.m-vid3 .v-lead{ grid-row:1 / span 2; }
@media (max-width:980px){
  .m-vid3{ grid-template-columns:1fr 1fr; }
  .m-vid3 .v-lead{ grid-row:auto; grid-column:1 / span 2; aspect-ratio:16/9; }
}
@media (max-width:640px){
  .m-vid3{ grid-template-columns:1fr; }
  .m-vid3 .v-lead{ grid-column:auto; }
}

.m-cat .tile,.m-proj .tile{ min-height:0; }

.m-cat{ grid-auto-rows:300px; }
.m-cat .t1{ grid-column:1; grid-row:1 / span 2; }
.m-cat .t2{ grid-column:2; grid-row:1 / span 2; }
.m-cat .t3{ grid-column:3 / span 2; grid-row:1; }
.m-cat .t4{ grid-column:3; grid-row:2; }
.m-cat .t5{ grid-column:4; grid-row:2; }

.m-proj{ grid-auto-rows:228px; }
.m-proj .j1{ grid-column:1 / span 2; grid-row:1 / span 2; }
.m-proj .j2{ grid-column:3 / span 2; grid-row:1; }
.m-proj .j3{ grid-column:3; grid-row:2; }
.m-proj .j4{ grid-column:4; grid-row:2; }
.m-proj .j5{ grid-column:1 / span 2; grid-row:3; }
.m-proj .j6{ grid-column:3 / span 2; grid-row:3; }

.t-prod,.t-serv,.t-video,.t-news{ aspect-ratio:4/3; min-height:0; }

/* ---------- 6. Partners marquee ---------- */
.marquee{ border-block:1px solid var(--line-soft); padding-block:34px; overflow:hidden; background:var(--ink); }
.marquee__track{ display:flex; gap:72px; width:max-content; animation:scroll 34s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__track span{ font-size:22px; font-weight:300; color:var(--on-dark-muted); letter-spacing:.1em; white-space:nowrap; opacity:.7; }
@keyframes scroll{ to{ transform:translateX(-50%); } }

/* ---------- 7. CTA ---------- */
.cta{ position:relative; overflow:hidden; isolation:isolate; }
.cta__bg{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.cta::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg, rgba(var(--ink-rgb),.9) 28%, rgba(var(--ink-rgb),.45)); }
.cta__in{ padding-block:clamp(80px,11vw,150px); }
.cta__title{ font-size:clamp(28px,3.4vw,46px); font-weight:200; line-height:1.12; letter-spacing:.01em; max-width:20ch; }
.cta__form{ display:flex; gap:0; margin-top:34px; max-width:480px; border-bottom:1px solid var(--line-mid); }
.cta__form input{ flex:1; min-width:200px; padding:14px 0; background:none; border:none; color:var(--on-dark); font-size:15px; font-weight:300; outline:none; }
.cta__form input::placeholder{ color:var(--on-dark-faint); }
.cta__form .hero__link{ border-bottom:none; padding-bottom:0; }

/* ---------- 7b. News & Events ---------- */
.news{ background-color: var(--gray-light); color:var(--on-dark); padding-block:clamp(56px,6vw,65px); }
.news__head{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; flex-wrap:wrap; }
.news__title{ font-size:clamp(24px,2.6vw,40px); font-weight:200; letter-spacing:.01em; color:var(--on-dark); }
.news__more{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:400; padding:11px 22px; border:1px solid var(--line-mid); border-radius:4px; color:var(--on-dark); transition:border-color .25s var(--ease), color .25s var(--ease); }
.news__more:hover{ border-color:var(--gold); color:var(--gold); }
.news__list{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.ncard{ display:flex; gap:18px; align-items:center; background:var(--ink-4); padding:18px; border:2px solid transparent; transition:opacity .6s var(--ease), transform .6s var(--ease), background .25s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease) !important; }
.ncard:hover{ background:var(--ink-5); border-color:var(--gold); box-shadow:0 0 0 1px var(--gold), 0 8px 24px rgba(var(--gold-rgb),.18); }
.ncard__thumb{ flex:0 0 190px; width:190px; height:108px; overflow:hidden; background:var(--ink-3); }
.ncard__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.ncard:hover .ncard__thumb img{ transform:scale(1.05); }
.ncard__body{ display:flex; flex-direction:column; gap:9px; }
.ncard__date{ font-size:13px; color:var(--red-accent); }
.ncard__title{ font-size:15px; line-height:1.45; color:var(--on-dark); }

/* ---------- 8. Footer ---------- */
.footer{ background:var(--ink); border-top:1px solid var(--line-soft); padding-top:72px; margin-top:clamp(32px,5vw,64px); }
.footer__top{ display:flex; justify-content:space-between; gap:48px; padding-bottom:56px; border-bottom:1px solid var(--line-soft); flex-wrap:wrap; }
.footer__links{ display:grid; grid-template-columns:repeat(4,minmax(0,auto)); gap:34px 40px; flex:1 1 580px; }
.footer__info{ flex:0 0 auto; min-width:230px; max-width:350px; }
.footer__logo{ height:40px; margin-bottom:15px; }
.footer__info .footer__contact{ list-style:none; margin:0; padding:0; }
.footer__col h4 a{ color:inherit; font-size:inherit; letter-spacing:inherit; font-weight:inherit; text-transform:inherit; transition:color .2s var(--ease); display:inline !important; padding:0 !important; }
.footer__col h4 a:hover{ color:var(--on-dark); }
.footer__bottom-right{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.footer__bottom .footer__social{ margin-top:0; }
.footer__brand img{ height:62px; margin-bottom:22px; }
.footer__brand p{ font-size:16px; color:var(--on-dark-muted); max-width:34ch; }
.footer__social{ display:flex; gap:10px; margin-top:24px; }
.footer__social a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--line-soft); display:grid; place-items:center; color:var(--on-dark-muted); transition:all .3s var(--ease); }
.footer__social a:hover{ border-color:var(--gold); color:var(--gold); }
.footer__social svg{ width:17px; height:17px; }
.footer__col h4{ font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; font-weight:500; }
.footer__col a{ display:block; padding:7px 0; font-size:14px; color:var(--on-dark-muted); transition:color .2s var(--ease); }
.footer__col a:hover{ color:var(--gold); }
.footer__contact li{ display:flex; gap:2px; font-size:16px; color:var(--on-dark-muted); padding:7px 0; }
.footer__contact svg{ width:16px; height:16px; color:var(--gold); flex:0 0 auto; margin-top:3px; }
.footer__bottom{ display:flex; justify-content:space-between; align-items:center; padding-block:26px; flex-wrap:wrap; gap:14px; }
.footer__bottom p{ font-size:12px; color:var(--on-dark-faint); }
.footer__bottom nav{ display:flex; gap:24px; }
.footer__bottom nav a{ font-size:12px; color:var(--on-dark-faint); }
.footer__bottom nav a:hover{ color:var(--gold); }
.footer__bottom .mona{ display:inline-flex; align-items:center; vertical-align:middle; }
.footer__bottom .mona img{ height:20px; width:auto; vertical-align:middle; opacity:.85; transition:opacity .25s var(--ease); }
.footer__bottom .mona:hover img{ opacity:1; }

/* ---------- 9. Responsive ---------- */
@media (max-width:1180px){ .nav__link{ padding:10px 9px; } }
@media (max-width:1280px){ .container{ padding-inline:48px; } }
@media (max-width:1024px){
  .container{ padding-inline:40px; }
  .news__list{ grid-template-columns:1fr; }
  .nav-toggle{ display:grid; }
  .brand{ margin-right:auto; }
  .nav{ display:none; }
  .nav.is-open{ display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; margin:0; gap:0; background:rgba(24,22,15,.9); border-top:1px solid var(--line-soft); box-shadow:0 30px 60px -28px rgba(var(--black-rgb),.85); padding:8px 0; max-height:80vh; overflow:auto; }
  .nav.is-open .nav__item{ width:100%; }
  .nav.is-open .nav__link{ width:100%; padding:15px 28px; font-size:15px; }
  .nav.is-open .nav__link .chev{ display:none; }
  .nav.is-open .mega{ display:none; }
  .m-cat{ grid-template-columns:repeat(2,1fr); grid-auto-rows:260px; }
  .m-cat .t1,.m-cat .t2,.m-cat .t4,.m-cat .t5{ grid-column:auto; grid-row:auto; }
  .m-cat .t3{ grid-column:1 / span 2; grid-row:auto; }
  .m-proj{ grid-template-columns:repeat(2,1fr); grid-auto-rows:220px; }
  .m-proj .j1,.m-proj .j2,.m-proj .j3,.m-proj .j4,.m-proj .j5,.m-proj .j6{ grid-column:auto; grid-row:auto; }
  .m-proj .j1{ grid-column:1 / span 2; }
  .m-row4{ grid-template-columns:repeat(2,1fr); }
  .footer__links{ grid-template-columns:repeat(2,1fr); } .footer__info{ flex-basis:100%; max-width:none; }
}
@media (max-width:768px){
  .slide{ align-items:flex-end; }
  .slide__in{ padding-bottom:80px; }
  .hero__arrow{ display:grid; }
  .hero__dots{ left:20px; transform:none; bottom:30px; }
}
@media (max-width:640px){
  .container{ padding-inline:20px; }
  .m-cat,.m-proj,.m-row4{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .m-cat .t1,.m-cat .t2,.m-cat .t3,.m-cat .t4,.m-cat .t5,
  .m-proj .j1,.m-proj .j2,.m-proj .j3,.m-proj .j4,.m-proj .j5,.m-proj .j6{ grid-column:auto; grid-row:auto; }
  .tile{ min-height:280px; }
  .m-cat .tile,.m-proj .tile{ min-height:280px; }
  .t-prod,.t-serv,.t-video,.t-news{ aspect-ratio:16/10; }
  .footer__links{ grid-template-columns:repeat(2,1fr); }
  .sec-title{ white-space:normal; }
  .actions [aria-label="Search"]{ display:none; }
  .actions{ gap:2px; }
  .header__in{ gap:8px; }
  .brand img{ height:40px; }
  .icon-btn{ width:36px; }
  .icon-btn svg{ width:25px; height:25px; }
  .lang{ margin-left:2px; padding:2px; }
  .lang button{ padding:5px 7px; font-size:11px; }
}

/* =====================================================================
   SUB-PAGES
   ===================================================================== */
.subpage .container{ max-width:1440px; padding-inline:32px; }
@media (max-width:1280px){ .subpage .footer .container{ padding-inline:48px; } }
@media (max-width:1024px){ .subpage .footer .container{ padding-inline:40px; } }
@media (max-width:640px){ .subpage .footer .container{ padding-inline:20px; } }

/* ---- Product Listing Page (PLP) ---- */
.plp{ background:var(--ink); color:var(--on-dark); }
.plp__top{ padding:30px 0 4px; }
.breadcrumb{ display:flex; gap:8px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--on-dark-muted); }
.breadcrumb a{ color:var(--on-dark-muted); } .breadcrumb a:hover{ color:var(--gold); }
.breadcrumb span{ color:var(--on-dark-faint); }
.plp__title{ text-align:center; font-size:clamp(18px,1.6vw,24px); font-weight:300; letter-spacing:.06em; color:var(--on-dark); padding:30px 0 22px; }

.subnav{ background:var(--ink-4); border-bottom:1px solid rgba(var(--white-rgb),.08); position:sticky; top:74px; z-index:40; }
.subnav__in{ display:flex; justify-content:center; align-items:center; gap:2px; flex-wrap:wrap; padding:12px 0; }
.subnav a{ position:relative; flex:0 0 auto; text-align:center; padding:10px 18px; font-size:12.5px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:rgba(var(--white-rgb),.56); white-space:nowrap; border:none; border-radius:8px; background:transparent; transition:color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease); }
.subnav a::after{ content:""; position:absolute; left:18px; right:18px; bottom:6px; height:1.5px; background:var(--gold); border-radius:2px; transform:scaleX(0); transform-origin:center; transition:transform .3s var(--ease); }
.subnav a:hover{ color:var(--on-dark); }
.subnav a:hover::after{ transform:scaleX(1); }
.subnav a:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.subnav a.is-active{ color:var(--ink); background:var(--gold); font-weight:600; box-shadow:0 6px 18px rgba(var(--gold-rgb),.32); }
.subnav a.is-active::after{ display:none; }
@media(max-width:600px){
  .subnav{ position:static; }
  .subnav__in{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; gap:2px; padding:10px 16px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .subnav__in::-webkit-scrollbar{ display:none; }
  .subnav a{ padding:9px 14px; font-size:12px; }
}

.plp__list{ padding-bottom:64px; }
.pcat{ margin-bottom:40px; }
.pcat:last-child{ margin-bottom:0; }
.pcat__title{ font-size:clamp(15px,1.3vw,19px); font-weight:400; letter-spacing:.05em; color:var(--on-dark); padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid var(--line-soft); }
.pgrid{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; }
.pgrid .ptile{ aspect-ratio:1/1; }
.ptile{ position:relative; overflow:hidden; display:block; background:var(--ink-3); }
.ptile img,.ptile video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.ptile:hover img,.ptile:hover video{ transform:scale(1.05); }
.ptile::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(var(--black-rgb),.42)); }
.ptile__label{ position:absolute; left:18px; bottom:15px; z-index:1; font-size:clamp(18px,1.5vw,16px); font-weight:300; line-height:1.15; letter-spacing:.01em; color:var(--on-dark); }
.pgrid .ptile::after{ opacity:0; transition:opacity .35s var(--ease); }
.pgrid .ptile:hover::after{ opacity:1; }
.pgrid .ptile__label{ right:16px; font-size:clamp(15px,1.2vw,14px); opacity:0; transform:translateY(8px); transition:opacity .35s var(--ease), transform .35s var(--ease); }
.pgrid .ptile:hover .ptile__label{ opacity:1; transform:none; }

/* =====================================================================
   Product Detail Page (PDP)
   ===================================================================== */
.pdp{ padding-block:34px 88px; }
.pdp .breadcrumb{ color:var(--on-dark-muted); }
.pdp .breadcrumb a{ color:var(--on-dark-muted); } .pdp .breadcrumb a:hover{ color:var(--gold); }
.pdp .breadcrumb span{ color:var(--on-dark-faint); }

.pdp__main{ display:grid; grid-template-columns:1.05fr 1fr; gap:54px; align-items:start; margin-top:26px; }
.gallery{ position:sticky; top:96px; align-self:start; }
.pinfo .pdp__section{ margin-top:42px; }
.pinfo .spec-table{ max-width:none; }

.gallery__main{ position:relative; aspect-ratio:1/1; background:var(--ink-2); overflow:hidden; border:1px solid var(--line-soft); }
.gallery__nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:none; border-radius:50%; background:rgba(var(--black-rgb),.42); color:var(--on-dark); cursor:pointer; transition:background-color .25s var(--ease), color .25s var(--ease); }
.gallery__nav:hover{ background:var(--gold); color:var(--ink); }
.gallery__nav svg{ width:22px; height:22px; }
.gallery__nav--prev{ left:12px; }
.gallery__nav--next{ right:12px; }
@media (max-width:560px){ .gallery__nav{ width:38px; height:38px; } .gallery__nav--prev{ left:8px; } .gallery__nav--next{ right:8px; } }
.gallery__main img{ width:100%; height:100%; object-fit:cover; }
.gallery__thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:8px; }
.gallery__thumbs button{ aspect-ratio:1/1; overflow:hidden; border:1px solid var(--line-soft); background:var(--ink-2); transition:border-color .25s var(--ease); }
.gallery__thumbs button.is-active{ border-color:var(--gold); }
.gallery__thumbs img{ width:100%; height:100%; object-fit:cover; }

.pinfo__cat{ font-size:var(--fs-over,11.5px); font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.pinfo__name{ font-size:clamp(30px,3.4vw,46px); font-weight:200; line-height:1.1; margin:14px 0 16px; }
.pinfo__price{ font-size:22px; font-weight:300; color:var(--on-dark); margin-bottom:20px; }
.pinfo__price small{ font-size:13px; color:var(--on-dark-faint); }
.pinfo__desc{ font-size:14px; color:var(--on-dark-muted); max-width:52ch; margin-bottom:30px; }

.variant{ margin-bottom:22px; }
.variant__label{ display:block; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--on-dark-faint); margin-bottom:10px; }
.variant__opts{ display:flex; gap:8px; flex-wrap:wrap; }
.opt{ min-width:48px; padding:10px 16px; border:1px solid var(--line-soft); border-radius:6px; font-size:16px; color:var(--on-dark-muted); transition:all .2s var(--ease); }
.opt:hover{ border-color:var(--line-mid); color:var(--on-dark); }
.opt.is-active{ border-color:var(--gold); color:var(--gold); }
.opt--cct{ display:inline-flex; align-items:center; gap:8px; }
.opt--cct i{ width:14px; height:14px; border-radius:50%; display:inline-block; border:1px solid var(--line-mid); }

.buy{ display:flex; align-items:center; gap:12px; margin:30px 0 22px; flex-wrap:wrap; }
.qty{ display:inline-flex; align-items:center; border:1px solid var(--line-soft); border-radius:999px; }
.qty button{ width:42px; height:46px; color:var(--on-dark); font-size:18px; }
.qty input{ width:44px; height:46px; text-align:center; background:none; border:none; color:var(--on-dark); font:inherit; outline:none; -moz-appearance:textfield; }
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.btn--add{ background:var(--gold); color:var(--ink); border-radius:999px; padding:15px 32px; font-size:16px; font-weight:600; letter-spacing:.02em; transition:background .25s var(--ease); }
.btn--add:hover{ background:var(--gold-light); }
.btn--wish{ width:48px; height:48px; border:1px solid var(--line-soft); border-radius:50%; display:grid; place-items:center; color:var(--on-dark); transition:all .25s var(--ease); }
.btn--wish:hover{ border-color:var(--gold); color:var(--gold); }
.btn--wish svg{ width:19px; height:19px; }
.pinfo__meta{ font-size:13px; color:var(--on-dark-faint); display:flex; gap:22px; flex-wrap:wrap; border-top:1px solid var(--line-soft); padding-top:20px; }

.pdp__section{ margin-top:64px; }
.pdp__h{ font-size:clamp(20px,2vw,28px); font-weight:200; margin-bottom:22px; }
.spec-table{ width:100%; border-collapse:collapse; max-width:760px; }
.spec-table tr{ border-bottom:1px solid var(--line-soft); }
.spec-table th{ text-align:left; font-weight:400; color:var(--on-dark-muted); font-size:16px; padding:14px 0; width:240px; }
.spec-table td{ color:var(--on-dark); font-size:16px; padding:14px 0; }
.downloads{ display:flex; gap:12px; flex-wrap:wrap; }
.dl{ display:inline-flex; align-items:center; gap:10px; padding:14px 20px; border:1px solid var(--line-soft); border-radius:8px; font-size:16px; color:var(--on-dark); transition:all .25s var(--ease); }
.dl:hover{ border-color:var(--gold); color:var(--gold); }
.dl svg{ width:18px; height:18px; color:var(--gold); }
.related{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); }
.related .ptile{ aspect-ratio:1/1; }

@media (max-width:900px){
  .pdp__main{ grid-template-columns:1fr; gap:28px; }
  .gallery{ position:static; }
  .related{ grid-template-columns:repeat(2,1fr); }
}

/* =====================================================================
   Projects
   ===================================================================== */
.jgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); padding-bottom:64px; }
.jcard{ position:relative; display:block; overflow:hidden; aspect-ratio:4/3; background:var(--ink-3); }
.jcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.jcard:hover img{ transform:scale(1.05); }
.jcard::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 44%,rgba(var(--ink-rgb),.82)); }
.jcard__txt{ position:absolute; left:22px; right:22px; bottom:10px; z-index:1; display:flex; flex-direction:column; gap:6px; }
.jcard__tag{ display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light); }
.jcard__name{ display:block; font-size:clamp(19px,1.5vw,19px); font-weight:300; color:var(--on-dark); line-height:1.2; }
.jcard__loc{ display:block; font-size:13px; color:var(--on-dark-muted); }

.jhero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    margin-top: 18px;
}

.jhero img {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    object-fit: contain !important;
    z-index: 0 !important;
}

.jhero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 37%;
    z-index: 1;
    background: linear-gradient(
        to bottom,
        rgba(var(--ink-rgb),0) 0%,
        rgba(var(--ink-rgb),.35) 25%,
        rgba(var(--ink-rgb),.75) 60%,
        rgba(var(--ink-rgb),.97) 100%
    );
    pointer-events: none;
}

.jhero__in {
    position: absolute !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 0 46px 44px !important;
}

.jhero__tag {
    font-size: 12px;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--gold-light);
}

.jhero__name {
    font-size: clamp(30px,4vw,30px);
    font-weight: 200;
    line-height: 1.06;
    margin-top: 14px;
}

@media (max-width: 768px) {
    .jhero__in {
        padding: 0 18px 8px !important;
    }
    .jhero__tag {
        font-size: 9px;
        margin-bottom: 4px;
    }
    .jhero__name {
        font-size: 17px;
        line-height: 1.05;
        margin-top: 2px;
    }
}

.jmeta{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; border-bottom:1px solid var(--line-soft); padding:38px 0; }
.jmeta__k{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--on-dark-faint); margin-bottom:8px; }
.jmeta__v{ font-size:15px; color:var(--on-dark); }
.jbody{ display:grid; grid-template-columns:1fr; gap:24px; padding:46px 0; }
.jbody h2{ font-size:clamp(20px,2vw,26px); font-weight:200; }
.jbody p{ color:var(--on-dark-muted); font-size:15px; margin-bottom:16px; }

.jgallery {
  column-count: 2;
  column-gap: 4px;
  padding-bottom: 70px;
}
.jgallery > img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 4px;
  break-inside: avoid;
}

@media (max-width:900px){ .jgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:780px){ .jmeta{ grid-template-columns:1fr 1fr; } .jbody{ grid-template-columns:1fr; gap:18px; }  }
@media (max-width:600px){ .jgrid{ grid-template-columns:1fr; } }

/* =====================================================================
   Phase D — About / News / Contact
   ===================================================================== */
.page-intro{ max-width:1200px; color:var(--on-dark-muted); font-size:16px; line-height:1.7; padding-bottom:14px; }

.about-intro{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; padding:30px 0; }
.about-intro h2{ font-size:clamp(22px,2.4vw,32px); font-weight:200; line-height:1.18; margin-bottom:18px; }
.about-intro p{ color:var(--on-dark-muted); font-size:15px; margin-bottom:14px; }
.about-intro__media{ aspect-ratio:4/3; overflow:hidden; background:var(--ink-3); }
.about-intro__media img{ width:100%; height:100%; object-fit:cover; }

.feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); padding:8px 0 6px; }
.feat{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:12px; padding:30px 26px; }
.feat__ic{ width:48px; height:48px; border-radius:12px; background:var(--ink-3); border:1px solid var(--line-soft); display:grid; place-items:center; color:var(--gold); margin-bottom:18px; }
.feat__ic svg{ width:22px; height:22px; }
.feat h3{ font-size:18px; font-weight:400; margin-bottom:10px; }
.feat p{ font-size:16px; color:var(--on-dark-muted); }

.timeline{ max-width:780px; margin:6px auto 0; }
.tl{ display:grid; grid-template-columns:120px 1fr; gap:28px; padding:22px 0; border-top:1px solid var(--line-soft); }
.tl__y{ color:var(--gold); font-size:20px; font-weight:300; }
.tl__t h3{ font-size:16px; font-weight:400; margin-bottom:6px; }
.tl__t p{ font-size:16px; color:var(--on-dark-muted); }

.ngrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px 30px; padding-bottom:66px; }
.nart{ display:flex; flex-direction:column; }
.nart__media{ aspect-ratio:16/10; overflow:hidden; background:var(--ink-3); margin-bottom:16px; }
.nart__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.nart:hover .nart__media img{ transform:scale(1.05); }
.nart__date{ font-size:12px; letter-spacing:.04em; color:var(--red-accent); }
.nart__title{ font-size:19px; font-weight:300; line-height:1.35; margin:9px 0; transition:color .25s var(--ease); }
.nart:hover .nart__title{ color:var(--gold); }
.nart__ex{ font-size:16px; color:var(--on-dark-muted); }
.wp-caption-text { text-align: center; font-style: italic !important; color: var(--gray-text) !important; }

.article{ max-width:820px; margin:0 auto; }
.article__cat{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:6px; }
.article__cat svg{ width:14px; height:14px; flex:0 0 auto; }
.article__title{ font-size:clamp(25px,3.4vw,30px); font-weight:200; line-height:1.1; margin:14px 0 12px; }
.article__meta{ font-size:13px; color:var(--on-dark-faint); margin-bottom:28px; }
.article__hero{ aspect-ratio:16/9; overflow:hidden; background:var(--ink-3); margin-bottom:34px; }
.article__hero img{ width:100%; height:100%; object-fit:cover; }
.article__body p{ color:var(--on-dark-muted); font-size:14px; line-height:1.85; margin-bottom:10px; }
.article__body h2{ font-size:20px; font-weight:300; margin:32px 0 14px; color:var(--on-dark); }

.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:54px; padding-bottom:40px; }
.cform{ display:grid; gap:16px; }
.cform .row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cform label{ display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--on-dark-faint); margin-bottom:7px; }
.cform input,.cform textarea{ width:100%; background:rgba(244,239,227,.05); border:1px solid var(--line-soft); border-radius:8px; padding:13px 15px; color:var(--on-dark); font:inherit; font-size:16px; outline:none; transition:border-color .2s var(--ease); }
.cform input:focus,.cform textarea:focus{ border-color:var(--gold); }
.cform textarea{ min-height:150px; resize:vertical; }
.cinfo__block{ margin-bottom:28px; }
.cinfo__block h3{ font-size:16px; font-weight:400; margin-bottom:12px; }
.cinfo__row{ display:flex; gap:12px; font-size:16px; color:var(--on-dark-muted); padding:6px 0; }
.cinfo__row svg{ width:17px; height:17px; color:var(--gold); flex:0 0 auto; margin-top:3px; }
.cmap{ aspect-ratio:16/9; background:var(--ink-3); border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; margin-top:10px; }
.cmap img{ width:100%; height:100%; object-fit:cover; opacity:.7; }

@media (max-width:860px){
  .about-intro,.contact-grid{ grid-template-columns:1fr; gap:26px; }
  .feat-grid{ grid-template-columns:repeat(2,1fr); }
  .ngrid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .feat-grid,.ngrid{ grid-template-columns:1fr; }
  .cform .row2{ grid-template-columns:1fr; }
  .tl{ grid-template-columns:1fr; gap:6px; }
}

/* =====================================================================
   Phase E/F/G — Cart · Checkout · Order · Auth · Account · Utility
   ===================================================================== */
.btn--block{ width:100%; justify-content:center; display:inline-flex; }
.btn--ghost-line{ display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border:1px solid var(--line-mid); border-radius:999px; font-size:16px; font-weight:600; color:var(--on-dark); transition:all .25s var(--ease); }
.btn--ghost-line:hover{ border-color:var(--gold); color:var(--gold); }

.cart,.checkout{ display:grid; grid-template-columns:1fr 360px; gap:48px; align-items:start; padding-bottom:64px; }
.citem{ display:grid; grid-template-columns:96px 1fr auto; gap:18px; padding:20px 0; border-bottom:1px solid var(--line-soft); align-items:center; }
.citem__img{ width:96px; height:96px; background:var(--ink-3); overflow:hidden; border-radius:8px; }
.citem__img img{ width:100%; height:100%; object-fit:cover; }
.citem__name{ font-size:16px; font-weight:300; }
.citem__var{ font-size:13px; color:var(--on-dark-muted); margin-top:4px; }
.citem__right{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.citem__price{ font-size:15px; }
.citem__rm{ font-size:12px; color:var(--on-dark-faint); }
.citem__rm:hover{ color:var(--gold); }

.summary{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:12px; padding:26px; position:sticky; top:96px; }
.summary h3{ font-size:18px; font-weight:300; margin-bottom:18px; }
.summary__row{ display:flex; justify-content:space-between; font-size:16px; color:var(--on-dark-muted); padding:8px 0; }
.summary__row.total{ color:var(--on-dark); font-size:18px; border-top:1px solid var(--line-soft); margin-top:8px; padding-top:16px; }
.coupon{ display:flex; gap:8px; margin:16px 0; }
.coupon input{ flex:1; background:rgba(244,239,227,.05); border:1px solid var(--line-soft); border-radius:8px; padding:11px 13px; color:var(--on-dark); font:inherit; font-size:16px; outline:none; }

.steps{ display:flex; align-items:center; justify-content:center; gap:8px; margin:6px 0 38px; flex-wrap:wrap; }
.step{ display:flex; align-items:center; gap:10px; color:var(--on-dark-faint); font-size:13px; }
.step__n{ width:26px; height:26px; border-radius:50%; border:1px solid var(--line-soft); display:grid; place-items:center; font-size:12px; }
.step.is-active{ color:var(--gold); } .step.is-active .step__n{ border-color:var(--gold); color:var(--gold); }
.step__line{ width:40px; height:1px; background:var(--line-soft); }
.cogroup{ margin-bottom:30px; }
.cogroup h3{ font-size:16px; font-weight:400; margin-bottom:14px; }
.pay-opt{ display:flex; align-items:center; gap:12px; border:1px solid var(--line-soft); border-radius:8px; padding:15px; margin-bottom:10px; cursor:pointer; font-size:16px; color:var(--on-dark-muted); transition:border-color .2s var(--ease); }
.pay-opt.is-active{ border-color:var(--gold); color:var(--on-dark); }
.pay-opt i{ width:14px; height:14px; border-radius:50%; border:1px solid var(--line-mid); display:inline-block; }
.pay-opt.is-active i{ border-color:var(--gold); background:var(--gold); box-shadow:inset 0 0 0 3px var(--ink-2); }

.complete{ max-width:620px; margin:46px auto 96px; text-align:center; }
.complete__ic{ width:74px; height:74px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); display:grid; place-items:center; margin:0 auto 24px; }
.complete__ic svg{ width:32px; height:32px; }
.complete h1{ font-weight:200; font-size:clamp(26px,3vw,38px); margin-bottom:12px; }
.complete p{ color:var(--on-dark-muted); margin-bottom:8px; font-size:15px; }
.complete__order{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:12px; padding:22px 26px; margin:28px 0; text-align:left; }
.complete__order .summary__row{ color:var(--on-dark-muted); }

.auth{ max-width:430px; margin:44px auto 90px; }
.auth__title{ font-size:clamp(24px,2.4vw,32px); font-weight:200; text-align:center; margin-bottom:8px; }
.auth__sub{ text-align:center; color:var(--on-dark-muted); font-size:16px; margin-bottom:28px; }
.auth__row{ display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--on-dark-muted); }
.auth__row a{ color:var(--gold); }
.auth__alt{ text-align:center; margin-top:20px; font-size:16px; color:var(--on-dark-muted); }
.auth__alt a{ color:var(--gold); }

.acct{ display:grid; grid-template-columns:240px 1fr; gap:48px; align-items:start; padding-bottom:64px; }
.acct__nav{ display:flex; flex-direction:column; gap:2px; position:sticky; top:96px; }
.acct__nav a{ padding:12px 14px; border-radius:8px; font-size:16px; color:var(--on-dark-muted); transition:all .2s var(--ease); }
.acct__nav a.is-active,.acct__nav a:hover{ background:var(--ink-2); color:var(--on-dark); }
.order-card{ border:1px solid var(--line-soft); border-radius:12px; padding:22px; margin-bottom:16px; }
.order-card__top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; align-items:center; font-size:13px; color:var(--on-dark-muted); border-bottom:1px solid var(--line-soft); padding-bottom:14px; margin-bottom:16px; }
.badge{ font-size:11px; padding:5px 11px; border-radius:999px; letter-spacing:.04em; }
.badge--processing{ background:var(--badge-blue-bg); color:var(--gold-light); }
.badge--shipped{ background:var(--badge-blue-bg); color:var(--badge-blue-text); }
.badge--done{ background:var(--badge-green-bg); color:var(--badge-green-text); }
.track{ display:flex; margin-top:6px; }
.track__s{ flex:1; text-align:center; font-size:12px; color:var(--on-dark-faint); position:relative; padding-top:22px; }
.track__s::before{ content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:11px; height:11px; border-radius:50%; background:var(--ink-3); border:1px solid var(--line-mid); }
.track__s::after{ content:""; position:absolute; top:11px; left:-50%; width:100%; height:1px; background:var(--line-soft); z-index:-1; }
.track__s:first-child::after{ display:none; }
.track__s.is-done{ color:var(--gold); }
.track__s.is-done::before{ background:var(--gold); border-color:var(--gold); }

.wishgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); padding-bottom:64px; }
.wcard{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; }
.wcard__media{ position:relative; aspect-ratio:1/1; background:var(--ink-3); overflow:hidden; }
.wcard__media img{ width:100%; height:100%; object-fit:cover; }
.wcard__rm{ position:absolute; top:10px; right:10px; width:30px; height:30px; border-radius:50%; background:rgba(var(--ink-rgb),.6); color:var(--on-dark); display:grid; place-items:center; font-size:16px; }
.wcard__rm:hover{ color:var(--gold); }
.wcard__body{ padding:16px; }
.wcard__name{ font-size:15px; font-weight:300; }
.wcard__price{ font-size:16px; color:var(--on-dark-muted); margin:4px 0 12px; }
.wcard .btn--add{ width:100%; padding:11px; font-size:13px; }

.errpage{ text-align:center; padding:70px 0 110px; }
.errpage h1{ font-size:clamp(70px,12vw,150px); font-weight:200; color:var(--gold); line-height:1; }
.errpage p{ color:var(--on-dark-muted); margin:12px 0 28px; }
.sitemap{ display:grid; grid-template-columns:repeat(4,1fr); gap:36px; padding-bottom:64px; }
.sitemap h3{ font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.sitemap a{ display:block; padding:7px 0; font-size:16px; color:var(--on-dark-muted); transition:color .2s var(--ease); }
.sitemap a:hover{ color:var(--gold); }
.legal{ max-width:820px; margin:0 auto; padding-bottom:72px; }
.legal h2{ font-size:20px; font-weight:300; margin:30px 0 12px; }
.legal p{ color:var(--on-dark-muted); font-size:15px; line-height:1.85; margin-bottom:14px; }

@media (max-width:900px){
  .cart,.checkout,.acct{ grid-template-columns:1fr; gap:30px; }
  .summary{ position:static; }
  .wishgrid{ grid-template-columns:repeat(2,1fr); }
  .sitemap{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .wishgrid,.sitemap{ grid-template-columns:1fr; }
  .citem{ grid-template-columns:72px 1fr; }
  .citem__right{ grid-column:1 / -1; flex-direction:row; justify-content:space-between; align-items:center; }
}

.reveal{ opacity:0; transform:translateY(32px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

@media (max-width:900px){
  .pgrid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px){
  .subpage .container{ padding-inline:18px; }
  .pgrid{ grid-template-columns:repeat(2,1fr); }
}

/* =====================================================================
   WIREFRAME / LAYOUT DEBUG
   ===================================================================== */
body.wire .tile img,
body.wire .slide__bg,
body.wire .cta__bg,
body.wire .tile__play{ display:none !important; }
body.wire .tile::after,
body.wire .slide::after,
body.wire .cta::after{ background:none !important; }
body.wire .tile{ outline:1px solid rgba(var(--white-rgb),.22); outline-offset:-1px; }
body.wire .tile__label,
body.wire .tile__sub{ color:var(--ink) !important; }
body.wire .hero{ background:var(--wire-hero); }
body.wire .m-cat  .tile{ background:var(--wire-cat); }
body.wire .m-row4 .tile{ background:var(--wire-prod); }
body.wire .m-proj .tile{ background:var(--wire-proj); }
body.wire .band--video .tile{ background:var(--wire-vid); }
body.wire #services .tile{ background:var(--wire-svc); }
body.wire #news .tile{ background:var(--wire-news); }
body.wire .cta{ background:var(--wire-cta); }
body.wire .tile:nth-child(even){ filter:brightness(.85); }
body.wire .marquee__track span{ color:var(--wire-text); }

/* ---------- Search popup ---------- */
.search-modal{
  position:fixed; inset:0; z-index:120;
  display:flex; justify-content:center; align-items:flex-start;
  visibility:hidden; opacity:0;
  transition:opacity .3s var(--ease), visibility 0s linear .3s;
}
.search-modal.is-open{ visibility:visible; opacity:1; transition:opacity .3s var(--ease); }
.search-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(10,9,6,.72); backdrop-filter:blur(6px) saturate(120%);
}
.search-modal__panel{
  position:relative; width:100%; max-width:760px; margin:0 24px;
  margin-top:14vh; padding:34px 38px 30px;
  background:var(--ink-2); border:1px solid var(--line-mid);
  border-radius:16px; box-shadow:0 40px 90px -40px rgba(var(--black-rgb),.9);
  transform:translateY(-16px); transition:transform .35s var(--ease);
}
.search-modal.is-open .search-modal__panel{ transform:translateY(0); }
.search-modal__close{ position:absolute; top:12px; right:12px; }
.search-modal__form{
  display:flex; align-items:center; gap:12px;
  border-bottom:1px solid var(--line-mid); padding-bottom:14px;
}
.search-modal__form > svg{ width:24px; height:24px; color:var(--gold); flex:0 0 auto; }
.search-modal__input{
  flex:1 1 auto; min-width:0; background:none; border:none; outline:none;
  color:var(--on-dark); font-family:var(--font-sans); font-weight:300;
  font-size:24px; letter-spacing:.01em; padding:6px 0;
}
.search-modal__input::placeholder{ color:var(--on-dark-faint); }
.search-modal__submit{
  flex:0 0 auto; background:var(--gold); color:var(--ink);
  font-size:13px; font-weight:500; letter-spacing:.04em; text-transform:uppercase;
  padding:11px 22px; border-radius:999px; transition:background .25s var(--ease);
}
.search-modal__submit:hover{ background:var(--gold-light); }
.search-modal__suggest{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px;
}
.search-modal__label{
  font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--on-dark-muted); margin-right:4px;
}
.search-modal__suggest a{
  font-size:13px; color:var(--on-dark-muted);
  border:1px solid var(--line-soft); border-radius:999px; padding:6px 14px;
  transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.search-modal__suggest a:hover{ color:var(--gold); border-color:var(--line-mid); background:var(--ink-3); }
body.search-open{ overflow:hidden; }

@media (max-width:640px){
  .search-modal__panel{ margin-top:8vh; padding:26px 22px 24px; }
  .search-modal__input{ font-size:20px; }
  .search-modal__submit{ padding:10px 16px; }
}

/* =====================================================================
   CDN-structure additions
   ===================================================================== */

.sect{ padding-block:18px; }
.sect--pad{ padding-block:40px; }
.eyebrow{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.lead{ color:var(--on-dark-muted); font-size:15px; line-height:1.85; max-width:64ch; }

.logos__row{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; }
.logos__row .logo{ display:flex; align-items:center; justify-content:center; min-height:96px; background:var(--ink-2); color:var(--on-dark-muted); font-size:16px; letter-spacing:.12em; text-transform:uppercase; transition:color .25s var(--ease), background .25s var(--ease); }
.logos__row .logo:hover{ color:var(--gold); background:var(--ink-3); }
.logos__row .logo img{ max-height:40px; width:auto; opacity:.7; filter:grayscale(1); transition:opacity .25s var(--ease), filter .25s var(--ease); }
.logos__row .logo:hover img{ opacity:1; filter:none; }

.cap-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cap{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:14px; padding:28px 26px; }
.cap h3{ font-size:18px; font-weight:400; margin-bottom:10px; }
.cap p{ color:var(--on-dark-muted); font-size:16px; line-height:1.8; }
.cert-row{ display:flex; flex-wrap:wrap; gap:12px; }
.cert{ border:1px solid var(--line-mid); border-radius:999px; padding:9px 18px; font-size:13px; letter-spacing:.06em; color:var(--on-dark-muted); }
.cert:hover{ color:var(--gold); border-color:var(--gold); }
.subbrand-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.subbrand{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:14px; padding:30px 26px; }
.subbrand h3{ font-size:20px; font-weight:300; color:var(--gold); margin-bottom:8px; }
.subbrand p{ color:var(--on-dark-muted); font-size:16px; line-height:1.8; }

.plp-wrap{ display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start; }
.fbar{ position:sticky; top:90px; border:1px solid var(--line-soft); border-radius:14px; padding:22px 20px; background:var(--ink-2); }
.fbar__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.fbar__head h3{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.fclear{ font-size:12px; color:var(--on-dark-faint); }
.fclear:hover{ color:var(--gold); }
.fgroup{ border-top:1px solid var(--line-soft); padding:6px 0; }
.fgroup__title{ width:100%; display:flex; justify-content:space-between; align-items:center; padding:11px 0; font-size:16px; color:var(--on-dark); background:none; border:none; cursor:pointer; text-align:left; }
.fgroup__title .pm{ color:var(--gold); transition:transform .25s var(--ease); }
.fgroup.is-open .fgroup__title .pm{ transform:rotate(45deg); }
.fgroup__body{ display:none; padding:2px 0 10px; }
.fgroup.is-open .fgroup__body{ display:block; }
.fopt{ display:flex; align-items:center; gap:9px; padding:6px 0; font-size:13.5px; color:var(--on-dark-muted); cursor:pointer; }
.fopt input{ accent-color:var(--gold); width:15px; height:15px; }
.fopt:hover{ color:var(--gold); }

.catbar{ position:sticky; top:90px; border:1px solid var(--line-soft); border-radius:14px; padding:14px 8px; background:var(--ink-2); }
.catbar__head{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:500; padding:6px 14px 12px; }
.catbar__list{ display:flex; flex-direction:column; }
.catbar__item{ text-transform:capitalize;position:relative; width:100%; text-align:left; padding:12px 14px; font-size:14.5px; line-height:1.3; color:var(--on-dark-muted); background:none; border:none; border-left:2px solid transparent; border-radius:0 8px 8px 0; cursor:pointer; transition:color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease); }
.catbar__item:hover{ color:var(--on-dark); background:rgba(var(--white-rgb),.05); }
.catbar__item.is-active{ color:var(--gold); border-left-color:var(--gold); background:rgba(var(--gold-rgb),.10); font-weight:500; }

.used-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.used{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; }
.used img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.used span{ display:block; padding:13px 15px; font-size:16px; color:var(--on-dark); }
.band--share{ padding-block:52px 36px; }
.share-row{ display:flex; align-items:center; gap:12px; }
.share-row span{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--on-dark-faint); }
.share-row a{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line-mid); border-radius:50%; color:var(--on-dark-muted); transition:color .2s var(--ease), border-color .2s var(--ease); }
.share-row a:hover{ color:var(--gold); border-color:var(--gold); }
.share-row a svg{ width:17px; height:17px; }

.nfilter{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:32px; }
.nfilter select{ background:var(--ink-2); border:1px solid var(--line-mid); border-radius:8px; color:var(--on-dark); font:inherit; font-size:16px; padding:11px 16px; outline:none; }
.nfilter select:focus{ border-color:var(--gold); }
.nfeatured{ display:grid; grid-template-columns:1.3fr 1fr; gap:0; border:1px solid var(--line-soft); border-radius:16px; overflow:hidden; background:var(--ink-2); margin-bottom:30px; }
.nfeatured img{ width:100%; height:100%; min-height:320px; object-fit:cover; }
.nfeatured__body{ padding:40px 42px; display:flex; flex-direction:column; justify-content:center; }
.nfeatured__date{ font-size:12px; letter-spacing:.08em; color:var(--gold); margin-bottom:14px; }
.nfeatured__title{ font-size:28px; font-weight:300; line-height:1.25; margin-bottom:14px; }
.nfeatured p{ color:var(--on-dark-muted); font-size:16px; line-height:1.8; margin-bottom:20px; }

.buybox{ border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); padding:22px 0; margin:22px 0; }
.buybox__note{ font-size:13px; color:var(--on-dark-faint); margin-bottom:18px; max-width:48ch; }
.buyrow{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.btn-buy{ display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--ink); font-size:16px; font-weight:500; letter-spacing:.03em; text-transform:uppercase; padding:14px 30px; border-radius:999px; border:none; cursor:pointer; transition:background .25s var(--ease); }
.btn-buy:hover{ background:var(--gold-light); }

.doc{ display:grid; grid-template-columns:1fr 250px; gap:48px; align-items:start; }
.doc__main{ min-width:0; }
.toc{ position:sticky; top:96px; border-left:1px solid var(--line-mid); padding-left:20px; }
.toc__title{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.toc ul{ list-style:none; display:flex; flex-direction:column; gap:2px; }
.toc a{ display:block; padding:6px 0; font-size:13.5px; line-height:1.5; color:var(--on-dark-muted); border-left:2px solid transparent; margin-left:-22px; padding-left:20px; transition:color .2s var(--ease), border-color .2s var(--ease); }
.toc a:hover{ color:var(--gold); }
.toc a.lvl3{ padding-left:34px; font-size:13px; }
.toc a.is-active{ color:var(--gold); border-left-color:var(--gold); }
.toc__btn{ display:none; }

.dl-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.dl-tab{ font-size:16px; color:var(--on-dark-muted); border:1px solid var(--line-mid); border-radius:999px; padding:10px 22px; background:none; cursor:pointer; transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease); }
.dl-tab:hover{ color:var(--gold); }
.dl-tab.is-active{ color:var(--ink); background:var(--gold); border-color:var(--gold); }
.dl-filter{ display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-bottom:26px; }
.dl-filter .chips{ display:flex; gap:8px; flex-wrap:wrap; }
.dl-filter .chip{ font-size:12.5px; color:var(--on-dark-muted); border:1px solid var(--line-soft); border-radius:999px; padding:7px 15px; cursor:pointer; }
.dl-filter .chip.is-active,.dl-filter .chip:hover{ color:var(--gold); border-color:var(--gold); }
.dl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.dl-card{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.dl-card__thumb{ aspect-ratio:4/3; background:var(--ink-3); overflow:hidden; }
.dl-card__thumb img{ width:100%; height:100%; object-fit:cover; }
.dl-card__body{ padding:18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.dl-card__tag{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.dl-card__title{ font-size:15px; color:var(--on-dark); line-height:1.4; }
.dl-card__meta{ font-size:12px; color:var(--on-dark-faint); margin-top:auto; }
.dl-actions{ display:flex; gap:10px; padding:0 20px 20px; }
.btn-dl{ flex:1; text-align:center; font-size:13px; letter-spacing:.03em; padding:11px 14px; border-radius:999px; cursor:pointer; transition:background .2s var(--ease), color .2s var(--ease); }
.btn-dl--primary{ background:var(--gold); color:var(--ink); border:none; }
.btn-dl--primary:hover{ background:var(--gold-light); }
.btn-dl--ghost{ border:1px solid var(--line-mid); color:var(--on-dark-muted); }
.btn-dl--ghost:hover{ color:var(--gold); border-color:var(--gold); }
.upload{ border:1px dashed var(--line-mid); border-radius:16px; padding:40px; text-align:center; background:var(--ink-2); }
.upload.is-drag{ border-color:var(--gold); background:var(--ink-3); }
.upload svg{ width:42px; height:42px; color:var(--gold); margin-bottom:14px; }
.upload h3{ font-size:18px; font-weight:400; margin-bottom:6px; }
.upload p{ color:var(--on-dark-muted); font-size:16px; margin-bottom:18px; }
.upload input[type=file]{ display:none; }
.upload__btn{ display:inline-block; background:var(--gold); color:var(--ink); font-size:16px; font-weight:500; padding:12px 26px; border-radius:999px; cursor:pointer; }
.upload__list{ margin-top:18px; display:flex; flex-direction:column; gap:8px; text-align:left; }
.upload__file{ display:flex; justify-content:space-between; font-size:13px; color:var(--on-dark-muted); border:1px solid var(--line-soft); border-radius:8px; padding:10px 14px; }

.sh-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.sh-card{ position:relative; border-radius:16px; overflow:hidden; min-height:300px; display:flex; align-items:flex-end; }
.sh-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.sh-card:hover img{ transform:scale(1.06); }
.sh-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,9,6,.86), rgba(10,9,6,.12) 60%, transparent); }
.sh-card__body{ position:relative; z-index:2; padding:28px 30px; width:100%; }
.sh-card__loc{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.sh-card__title{ font-size:22px; font-weight:300; color:var(--on-dark); margin-bottom:14px; }
.sh-enter{ display:inline-flex; align-items:center; gap:8px; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--on-dark); border:1px solid rgba(var(--white-rgb),.5); border-radius:999px; padding:10px 20px; transition:background .25s var(--ease), color .25s var(--ease); }
.sh-enter:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }

.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.svc-card{ display:block; background:var(--ink-2); border:1px solid var(--line-soft); border-radius:16px; padding:32px 30px; transition:border-color .25s var(--ease), transform .25s var(--ease); }
.svc-card:hover{ border-color:var(--gold); transform:translateY(-3px); }
.svc-card__icon{ width:54px; height:54px; border-radius:12px; background:var(--ink-3); display:flex; align-items:center; justify-content:center; color:var(--gold); margin-bottom:20px; }
.svc-card__icon svg{ width:26px; height:26px; }
.svc-card h3{ font-size:19px; font-weight:400; margin-bottom:10px; }
.svc-card p{ color:var(--on-dark-muted); font-size:14px; line-height:1.8; margin-bottom:16px; }
.svc-card__more{ font-size:13px; letter-spacing:.03em;  color:var(--gold); }
.svc-grid--2{ grid-template-columns:repeat(2,1fr); }
.svc-card__num{ display:inline-block; font-size:13px; font-weight:500; color:var(--gold); letter-spacing:.06em; margin-right:8px; }
.svc-card h3{ display:flex; align-items:baseline; }
.svc-card__list{ list-style:none; margin:6px 0 18px; display:flex; flex-direction:column; gap:9px; }
.svc-card__list li{ position:relative; padding-left:20px; font-size:13.5px; color:var(--on-dark-muted); line-height:1.6; }
.svc-card__list li::before{ content:""; position:absolute; left:1px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--gold); }

.vg-cats{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px; }
.vg-cat{ font-size:16px; color:var(--on-dark-muted); border:1px solid var(--line-mid); border-radius:999px; padding:10px 22px; background:none; cursor:pointer; transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease); }
.vg-cat.is-active,.vg-cat:hover{ color:var(--ink); background:var(--gold); border-color:var(--gold); }
.vg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.vg-card{ position:relative; border-radius:14px; overflow:hidden; cursor:pointer; background:var(--ink-2); border:1px solid var(--line-soft); }
.vg-card__media{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.vg-card__media img,.vg-card__media video{ width:100%; height:100%; object-fit:cover; }
.vg-card__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,9,6,.5), transparent 55%); }
.vg-play{ position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; }
.vg-play span{ width:60px; height:60px; border-radius:50%; background:rgba(var(--gold-rgb),.92); display:flex; align-items:center; justify-content:center; color:var(--ink); transition:transform .25s var(--ease); }
.vg-card:hover .vg-play span{ transform:scale(1.1); }
.vg-play svg{ width:26px; height:26px; }
.vg-card__body{ padding:16px 20px; }
.vg-card__cat{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.vg-card__title{ font-size:15px; color:var(--on-dark); margin-top:6px; }
.vg-modal{ position:fixed; inset:0; z-index:130; display:flex; align-items:center; justify-content:center; visibility:hidden; opacity:0; transition:opacity .3s var(--ease), visibility 0s linear .3s; }
.vg-modal.is-open{ visibility:visible; opacity:1; transition:opacity .3s var(--ease); }
.vg-modal__backdrop{ position:absolute; inset:0; background:rgba(8,7,5,.86); backdrop-filter:blur(6px); }
.vg-modal__panel{ position:relative; width:min(960px,92vw); }
.vg-modal__panel video{ width:100%; border-radius:12px; display:block; }
.vg-modal__close{ position:absolute; top:-46px; right:0; }

.form-msg{ display:none; font-size:16px; padding:13px 16px; border-radius:10px; margin-top:4px; }
.form-msg.is-show{ display:block; }
.form-msg.is-ok{ background:var(--msg-ok-bg); border:1px solid var(--msg-ok-border); color:var(--msg-ok-text); }
.form-msg.is-error{ background:var(--msg-err-bg); border:1px solid var(--msg-err-border); color:var(--msg-err-text); }
.cform input.is-invalid,.cform textarea.is-invalid{ border-color:var(--error-border); }
.map-embed{ border-radius:12px; overflow:hidden; border:1px solid var(--line-soft); aspect-ratio:16/10; }
.map-embed iframe{ width:100%; height:100%; border:0; filter:grayscale(.4) invert(.92) hue-rotate(180deg); }

@media (max-width:1024px){
  .plp-wrap{ grid-template-columns:1fr; }
  .fbar{ position:static; }
  .catbar{ position:static; }
  .catbar__list{ flex-flow:row wrap; gap:6px; }
  .catbar__item{ width:auto; border-left:none; border-radius:999px; border:1px solid var(--line-soft); }
  .catbar__item.is-active{ border-color:var(--gold); }
  .doc{ grid-template-columns:1fr; }
  .toc{ position:static; border-left:none; padding-left:0; border-top:1px solid var(--line-mid); padding-top:18px; }
  .cap-grid,.subbrand-grid,.svc-grid,.dl-grid,.vg-grid{ grid-template-columns:repeat(2,1fr); }
  .used-grid{ grid-template-columns:repeat(2,1fr); }
  .logos__row{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:680px){
  .cap-grid,.subbrand-grid,.svc-grid,.dl-grid,.vg-grid,.sh-grid,.used-grid,.nfeatured{ grid-template-columns:1fr; }
  .logos__row{ grid-template-columns:repeat(2,1fr); }
  .nfeatured img{ min-height:220px; }
}

.home .site-header{
  background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none;
  border-bottom-color:transparent;
  transition:background .35s var(--ease), backdrop-filter .35s var(--ease), border-color .35s var(--ease);
}
.home .site-header.is-scrolled{
  background:rgba(var(--ink-rgb),.88); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line-soft);
}
.home .hero{ margin-top:-74px; }

.hero__link[data-i18n="hero.readmore"]{
  padding:11px 24px;
  border:1px solid var(--gold);
  border-radius:4px;
  position:relative;
  overflow:hidden;
  z-index:0;
  transition:color .35s var(--ease);
}
.news__more,
.thv__more,
.btn--ghost-line,
.btn-dl--ghost{
  position:relative;
  overflow:hidden;
  z-index:0;
}
.hero__link[data-i18n="hero.readmore"]::before,
.news__more::before,
.thv__more::before,
.btn--ghost-line::before,
.btn-dl--ghost::before{
  content:"";
  display:block;
  position:absolute;
  top:0; left:-25%;
  width:0; height:100%;
  background:var(--gold);
  z-index:-1;
  transform:skewX(-45deg);
  transform-origin:left center;
  transition:width .8s var(--ease);
}
.hero__link[data-i18n="hero.readmore"]:hover::before,
.news__more:hover::before,
.thv__more:hover::before,
.btn--ghost-line:hover::before,
.btn-dl--ghost:hover::before{
  width:160%;
}
.hero__link[data-i18n="hero.readmore"]:hover,
.news__more:hover,
.thv__more:hover,
.btn--ghost-line:hover,
.btn-dl--ghost:hover{
  color:var(--ink);
  border-color:var(--gold);
}
.hero__link[data-i18n="hero.readmore"]:hover .ar{ transform:translateX(4px); }

.fwimg{ display:block; width:100%; background:var(--ink); line-height:0; }
.fwimg img{ width:100%; height:clamp(280px,38vw,560px); object-fit:cover; display:block; }

.fwslider{ position:relative; background:var(--ink); overflow:hidden; isolation:isolate; }
.fwslider__viewport{ position:relative; height:clamp(280px,38vw,560px); }
.fwslide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .8s var(--ease); line-height:0; }
.fwslide.is-active{ opacity:1; visibility:visible; }
.fwslide img{ width:100%; height:100%; object-fit:cover; display:block; }
.fwslider__arrow{ z-index:5; }
.fwslider__dots{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:10px; }
.fwslider__dots button{ width:30px; height:3px; background:rgba(244,239,227,.3); transition:all .3s var(--ease); cursor:pointer; }
.fwslider__dots button.is-active{ background:var(--gold); width:46px; }

.projsec{ background:var(--ink); }
.projslider{ position:relative; height:clamp(420px,52vw,750px); overflow:hidden; isolation:isolate; }
.projslide{ position:absolute; inset:0; display:flex; align-items:flex-end; opacity:0; visibility:hidden; transition:opacity .9s var(--ease); }
.projslide.is-active{ opacity:1; visibility:visible; }
.projslide__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.projslide::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg, rgba(var(--ink-rgb),.85) 0%, rgba(var(--ink-rgb),.25) 45%, rgba(var(--ink-rgb),0) 75%); }
.projslide__in{ width:100%; padding-bottom:clamp(34px,5vw,64px); }
.projslide__tag{ display:inline-block; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-light); margin-bottom:10px; }
.projslide__title{ font-size:clamp(20px,3.6vw,25px); font-weight:200; line-height:1.1; color:var(--on-dark); max-width:20ch; margin-bottom:10px; }
.projslider__arrow{ z-index:5; }
.projslider__dots{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:10px; }
.projslider__dots button{ width:30px; height:3px; background:rgba(244,239,227,.3); transition:all .3s var(--ease); }
.projslider__dots button.is-active{ background:var(--gold); width:46px; }

.projvids{ display:grid; grid-template-columns:2fr 1fr; gap:var(--gap); margin-top:var(--gap); }
.projvid{ position:relative; margin:0; overflow:hidden; background:var(--black); aspect-ratio:16/9; }
.projvid--lg{ grid-column:1; grid-row:1 / span 2; aspect-ratio:auto; }
.projvid--sm{ aspect-ratio:16/9; }
.projvid__media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.projvid::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(var(--ink-rgb),.6), rgba(var(--ink-rgb),0) 55%); pointer-events:none; transition:opacity .3s var(--ease); }
.projvid.is-playing::after{ opacity:0; }
.projvid__play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; width:64px; height:64px; border-radius:50%; border:1px solid var(--gold); background:rgba(var(--gold-rgb),.92); color:var(--ink); display:grid; place-items:center; cursor:pointer; transition:all .3s var(--ease); }
.projvid__play svg{ width:26px; height:26px; margin-left:3px; }
.projvid__play:hover{ background:var(--gold-light); transform:translate(-50%,-50%) scale(1.08); }
.projvid.is-playing .projvid__play{ opacity:0; visibility:hidden; }
.projvid__cap{ position:absolute; left:20px; bottom:16px; z-index:2; color:var(--on-dark); font-size:clamp(13px,1.3vw,16px); font-weight:300; letter-spacing:.02em; transition:opacity .3s var(--ease); }
.projvid.is-playing .projvid__cap{ opacity:0; }

@media (max-width:980px){
  .projvids{ grid-template-columns:1fr 1fr; }
  .projvid--lg{ grid-column:1 / -1; grid-row:auto; aspect-ratio:16/9; }
}
@media (max-width:640px){
  .projvids{ grid-template-columns:1fr; }
  .projvid--lg{ grid-column:1; grid-row:auto; aspect-ratio:16/9; }
  .projvid,.projvid--sm{ aspect-ratio:16/9; }
}

.pagehero{ position:relative; height:clamp(300px,34vw,440px); overflow:hidden; display:flex; align-items:center; isolation:isolate; }
.pagehero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.pagehero::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(var(--ink-rgb),.82) 0%, rgba(var(--ink-rgb),.5) 45%, rgba(var(--ink-rgb),.2) 100%); }
.pagehero__in{ width:100%; }
.pagehero__crumb{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light); margin-bottom:14px; display:flex; gap:8px; }
.pagehero__crumb a{ color:var(--gold-light); } .pagehero__crumb a:hover{ color:var(--on-dark); }
.pagehero__crumb span{ opacity:.6; }
.pagehero__title{ font-size:clamp(34px,4.4vw,60px); font-weight:200; line-height:1.05; color:var(--on-dark); letter-spacing:.01em; }

.secnav{ background:var(--ink-4); border-bottom:1px solid var(--line-soft); position:sticky; top:74px; z-index:40; }
.secnav__in{ display:flex; gap:4px; flex-wrap:wrap; justify-content:center; }
.secnav a{ padding:16px 26px; font-size:13.5px; letter-spacing:.04em; color:rgba(var(--white-rgb),.86); white-space:nowrap; transition:color .25s var(--ease), background .25s var(--ease); border-bottom:2px solid transparent; }
.secnav a:hover,.secnav a.is-active{ color:var(--on-dark); background:rgba(var(--white-rgb),.08); border-bottom-color:var(--gold); }

.stats{ background:var(--ink-2); border-block:1px solid var(--line-soft); margin:34px 0; }
.stats__in{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:46px 0; }
.stat{ text-align:center; }
.stat__num{ display:block; font-size:clamp(34px,4vw,54px); font-weight:200; color:var(--gold); line-height:1; }
.stat__lab{ display:block; margin-top:10px; font-size:13px; letter-spacing:.04em; color:var(--on-dark-muted); }

.altrows{ display:flex; flex-direction:column; gap:clamp(28px,4vw,60px); padding:18px 0 8px; }
.altrow{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; }
.altrow--rev .altrow__media{ order:2; }
.altrow__media{ aspect-ratio:4/3; overflow:hidden; background:var(--ink-3); border:1px solid var(--line-soft); }
.altrow__media img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.altrow:hover .altrow__media img{ transform:scale(1.04); }
.altrow__tag{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.altrow h3{ font-size:clamp(22px,2.4vw,32px); font-weight:200; line-height:1.18; margin:12px 0 14px; color:var(--on-dark); }
.altrow p{ color:var(--on-dark-muted); font-size:15px; line-height:1.8; margin-bottom:12px; }

.clients-ind{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gap); padding-bottom:12px; }
.cind{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:14px; padding:26px 28px; }
.cind h3{ font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.cind__list{ display:flex; flex-wrap:wrap; gap:10px; }
.cind__list span{ font-size:13.5px; color:var(--on-dark-muted); border:1px solid var(--line-soft); border-radius:999px; padding:8px 16px; transition:color .2s var(--ease), border-color .2s var(--ease); }
.cind__list span:hover{ color:var(--gold); border-color:var(--gold); }
.clients-note{ color:var(--on-dark-muted); font-size:16px; line-height:1.7; margin:-6px 0 22px; max-width:760px; }
.clients-note em{ font-style:normal; opacity:.72; }
.cind__logos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:10px; }
.clogo{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:62px; padding:10px 12px; background:rgba(var(--white-rgb),.02); border:1px solid var(--line-soft); border-radius:10px; color:var(--on-dark-muted); font-size:13px; font-weight:600; letter-spacing:.03em; line-height:1.25; filter:grayscale(1); opacity:.8; transition:color .2s var(--ease), border-color .2s var(--ease), opacity .2s var(--ease); }
.clogo:hover{ color:var(--gold); border-color:var(--gold); opacity:1; }

.svctabs{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin:8px 0 30px; }
.svctab{ font-size:16px; letter-spacing:.03em; color:var(--on-dark-muted); border:1px solid var(--line-mid); border-radius:999px; padding:12px 30px; background:none; cursor:pointer; transition:color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease); }
.svctab:hover{ color:var(--gold); }
.svctab.is-active{ color:var(--ink); background:var(--gold); border-color:var(--gold); }
.svcpane{ display:none; }
.svcpane.is-active{ display:block; }

.warranty{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:start; }
.warranty__media{ aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line-soft); background:var(--ink-3); }
.warranty__media img{ width:100%; height:100%; object-fit:cover; }
.warranty__body h2{ font-size:clamp(22px,2.4vw,30px); font-weight:200; margin-bottom:16px; color:var(--on-dark); }
.warranty__body p{ color:var(--on-dark-muted); font-size:15px; line-height:1.85; margin-bottom:16px; }
.warranty__body h3{ font-size:17px; font-weight:400; color:var(--on-dark); margin:22px 0 10px; }
.warranty__body ul{ display:flex; flex-direction:column; gap:10px; }
.warranty__body li{ position:relative; padding-left:20px; font-size:16px; color:var(--on-dark-muted); line-height:1.7; }
.warranty__body li::before{ content:""; position:absolute; left:1px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--gold); }

@media (max-width:900px){
  .stats__in{ grid-template-columns:repeat(2,1fr); }
  .altrow,.altrow--rev .altrow__media{ grid-template-columns:1fr; }
  .altrow--rev .altrow__media{ order:0; }
  .clients-ind{ grid-template-columns:1fr; }
  .warranty{ grid-template-columns:1fr; gap:26px; }
}
@media (max-width:560px){ .stats__in{ grid-template-columns:1fr; } }

.pmasonry{ columns:3; column-gap:var(--gap); padding-bottom:64px; }
.pmasonry .jcard{ display:block; break-inside:avoid; margin-bottom:var(--gap); aspect-ratio:auto; }
.pmasonry .jcard img{ position:static; width:100%; height:auto; }
.pmasonry .jcard.tall img{ aspect-ratio:3/4; object-fit:cover; }
.pmasonry .jcard.wide img{ aspect-ratio:16/10; object-fit:cover; }
.pmasonry .jcard.sq img{ aspect-ratio:1/1; object-fit:cover; }
@media (max-width:1024px){ .pmasonry{ columns:2; } }
@media (max-width:600px){ .pmasonry{ columns:1; } }

.abmenu{ background:#221F1B; border-bottom:1px solid var(--line-soft); }
.abmenu__in{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:22px 0; }
.abm{ position:relative; display:flex; align-items:flex-end; min-height:128px; border-radius:10px; overflow:hidden; padding:16px 18px; isolation:isolate; }
.abm::before{ content:""; position:absolute; inset:0; background:var(--bg) center/cover no-repeat; transform:scale(1.02); transition:transform .5s var(--ease); z-index:-2; }
.abm::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,16,.12),rgba(20,18,16,.80)); z-index:-1; transition:background .3s var(--ease); }
.abm__label{ color:var(--on-dark); font-size:15px; font-weight:600; letter-spacing:.02em; line-height:1.3; }
.abm:hover::before{ transform:scale(1.08); }
.abm:hover::after{ background:linear-gradient(180deg,rgba(var(--gold-rgb),.22),rgba(20,18,16,.84)); }
.abm.is-active{ outline:2px solid var(--gold); outline-offset:-2px; }
.abm.is-active::after{ background:linear-gradient(180deg,rgba(var(--gold-rgb),.30),rgba(20,18,16,.86)); }
@media(max-width:860px){ .abmenu__in{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .abmenu__in{ grid-template-columns:1fr; } .abm{ min-height:96px; } }

.mcard.is-current .mcard__label,
.mcard:hover .mcard__label{ color:var(--gold); }

@media (min-width:1025px){
  .mega--cards{
    position:fixed; top:74px; left:0; right:0;
    width:100%; max-width:none;
    transform:translateY(10px);
    padding:30px 80px 34px; border-left:0; border-right:0;
  }
  .nav__item:hover .mega--cards{ transform:translateY(0); }
  .mega--cards::before{ top:-24px; height:24px; left:0; right:0; }
  .mega--cards .mega__slider{ max-width:1280px; margin-inline:auto; justify-content:center; }
  .mega--cards .mega__track{ max-width:none; justify-content:center; }
  .mega--cards .mega__panel{ max-width:1280px; margin-inline:auto; }
}
@media (min-width:1025px) and (max-width:1280px){ .mega--cards{ padding-inline:48px; } }

.projvids{ padding-inline:10px; }
@media (max-width:640px){ .projvids{ padding-inline:10px; } }

.hero{
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  min-height: -webkit-fill-available;
}

@keyframes vcnHeroZoom{
  from{ transform: scale(1); }
  to  { transform: scale(1.08); }
}
.hero .slide__bg{ transition: transform .7s cubic-bezier(.22,.61,.36,1); transform: scale(1); }
.hero:hover .slide__bg{ transform: none; }
.hero .slide.is-active .slide__bg{
  animation: vcnHeroZoom 9s cubic-bezier(.22,.61,.36,1) both;
}

.hero .slide{ align-items: center !important; justify-content: flex-start; }
.hero .slide__in{
  text-align: left;
  padding-block: 0;
  display: flex; flex-direction: column; align-items: flex-start;
}
.hero .slide__title{
  max-width: 24ch;
  margin-left: 0; margin-right: auto;
}
.hero .slide__sector{ text-align: left; }

.hero .slide .slide__sector,
.hero .slide .slide__title,
.hero .slide .hero__link{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .9s cubic-bezier(.22,.61,.36,1),
              transform .9s cubic-bezier(.22,.61,.36,1);
}
.hero .slide.is-active .slide__sector{ transition-delay: .30s; }
.hero .slide.is-active .slide__title { transition-delay: .50s; }
.hero .slide.is-active .hero__link   { transition-delay: .70s; }
.hero .slide.is-active .slide__sector,
.hero .slide.is-active .slide__title,
.hero .slide.is-active .hero__link{
  opacity: 1;
  transform: translateY(0);
}

.hero .hero__arrow{
  width: 34px; height: 34px;
  border: 1px solid rgba(var(--white-rgb),.35);
  background: rgba(var(--white-rgb),.06);
  backdrop-filter: blur(4px);
  opacity: .55;
  transition: opacity .3s var(--ease), background .3s var(--ease),
              border-color .3s var(--ease), transform .3s var(--ease);
}
.hero .hero__arrow svg{ width: 14px; height: 14px; }
.hero:hover .hero__arrow{ opacity: .85; }
.hero .hero__arrow:hover{
  opacity: 1;
  background: rgba(var(--white-rgb),.18);
  border-color: var(--on-dark);
}
.hero .hero__arrow.prev{ left: 16px; }
.hero .hero__arrow.next{ right: 16px; }

.projslider .hero__arrow{
  width: 34px; height: 34px;
}
.projslider .hero__arrow svg{ width: 14px; height: 14px; }
.projslider .hero__arrow.prev{ left: 16px; }
.projslider .hero__arrow.next{ right: 16px; }

.hero .hero__dots{ bottom: 30px; gap: 20px; }
.hero .hero__dots button{
  width: 12px; height: 12px;
  border-radius: 50%;
  background: rgba(244,239,227,0);
  border: 2px solid rgba(var(--white-rgb),.63);
  transition: all .3s var(--ease);
}
.hero .hero__dots button.is-active{
  width: 12px; height: 12px;
  background: var(--gold);
  border-color: var(--gold);
}

.ncard{
  position: relative;
  border: none !important;
  box-shadow: none !important;
}
.ncard::before,
.ncard::after{
  content: "";
  position: absolute;
  pointer-events: none;
  width: 0; height: 0;
  transition: width .4s cubic-bezier(.22,.61,.36,1),
              height .4s cubic-bezier(.22,.61,.36,1) .35s;
}
.ncard::before{
  top: 0; left: 0;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
}
.ncard::after{
  bottom: 0; right: 0;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
}
.ncard:hover::before,
.ncard:hover::after{
  width: 100%; height: 100%;
}

@media (max-width:1024px){
  .nav.is-open{
    background: rgba(var(--ink-rgb),.92) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
  }
}

.hero__link{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 22px;
  border: 1px solid rgba(var(--white-rgb),.85);
  background: transparent;
  border-radius: 0;
  color: var(--on-dark);
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background .3s var(--ease), color .3s var(--ease),
              border-color .3s var(--ease);
}
.hero__link .ar{
  display: inline-block;
  transform: rotate(-45deg);
  transition: transform .3s var(--ease);
}
.hero__link:hover{
  background: rgba(var(--white-rgb),.12);
  color: var(--on-dark);
  border-color: var(--on-dark);
}
.hero__link:hover .ar{
  transform: rotate(-45deg) translateX(4px);
}

.projvid__play,
.tile__play{
  background: var(--red-accent) !important;
  border: 1px solid var(--red-accent) !important;
  color: var(--on-dark) !important;
  width: 64px; height: 64px;
}
.projvid__play svg,
.tile__play svg{
  width: 26px; height: 26px;
  fill: var(--on-dark);
  color: var(--on-dark);
}
.projvid__play:hover,
.tile:hover .tile__play{
  background: var(--red-accent-hover) !important;
  border-color: var(--red-accent-hover) !important;
  transform: translate(-50%,-50%) scale(1.1);
}

.slide__title{
  font-size: 35px;
  font-weight: 300;
  line-height: 1.15;
}
.sec-title,
.news__title{
  font-size: 25px;
  font-weight: 300;
  letter-spacing: .01em;
}
.cta__title{ font-weight: 300; }

@media (max-width:768px){
  .hero .slide{ align-items: center !important; }
  .hero .slide__in{ padding-bottom: 0; }

  .hero .hero__arrow{ display: grid; width: 15px; height: 15px; }
  .hero .hero__arrow svg{ width: 6.5px; height: 6.5px; }
  .hero .hero__arrow.prev{ left: 8px; }
  .hero .hero__arrow.next{ right: 8px; }

  .projslider .hero__arrow{ display: grid; width: 30px; height: 30px; }
  .projslider .hero__arrow svg{ width: 13px; height: 13px; }
  .projslider .hero__arrow.prev{ left: 8px; }
  .projslider .hero__arrow.next{ right: 8px; }

  .hero .hero__dots{
    left: 50%; transform: translateX(-50%);
    bottom: 24px;
  }
}
@media (max-width:640px){
  .slide__title{ font-size: 30px; }
  .hero .slide__in{ padding: 0 18px; }
}

.hero__link[data-i18n],
a.hero__link{
  border: 1px solid rgba(var(--white-rgb),.85) !important;
  background: transparent !important;
  color: var(--on-dark) !important;
  padding: 12px 22px !important;
  border-radius: 0 !important;
  font-size: 13px;
}
.hero__link[data-i18n]:hover,
a.hero__link:hover{
  background: rgba(var(--white-rgb),.12) !important;
  border-color: var(--on-dark) !important;
}

.gallery__dots{ display:flex; justify-content:center; gap:10px; margin-top:14px; }
.gallery__dots button{ width:9px; height:9px; padding:0; border-radius:50%; background:transparent; border:1.5px solid var(--on-dark-faint); cursor:pointer; transition:background-color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease); }
.gallery__dots button:hover{ border-color:var(--gold); }
.gallery__dots button.is-active{ background:var(--gold); border-color:var(--gold); transform:scale(1.15); }
.gallery__specs{ list-style:none; margin:24px 0 0; padding:22px 0 0; border-top:1px solid var(--line-soft); display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.gallery__specs li{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:7px; }
.gallery__specs svg{ width:26px; height:26px; color:var(--gold); }
.gallery__specs span{ font-size:12.5px; color:var(--on-dark); font-weight:400; line-height:1.2; }
.gallery__specs small{ font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--on-dark-faint); }
@media (max-width:560px){ .gallery__specs{ grid-template-columns:repeat(3,1fr); row-gap:22px; } }

.afilter{ border:none; border-radius:1px; background:var(--ink-2); padding:18px 20px 20px; margin-bottom:34px; }
.afilter__head{ display:flex; justify-content:space-between; align-items:center; margin:-18px -20px 14px; padding:8px 20px; background:var(--ink-3); border-radius:14px 14px 0 0; }
.afilter__label{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.afilter__clear{ font-size:12px; color:var(--on-dark-faint); background:none; border:none; cursor:pointer; transition:color .2s var(--ease); }
.afilter__clear:hover{ color:var(--gold); }
.afilter__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.afilter .affield{ width:100%; appearance:none; -webkit-appearance:none; background:var(--ink-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C9A227' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 13px center; background-size:11px 8px; border:1px solid var(--line-mid); border-radius:8px; color:var(--on-dark-faint); font:inherit; font-size:13.5px; line-height:1.2; padding:5px 34px 5px 14px; outline:none; cursor:pointer; transition:border-color .2s var(--ease), color .2s var(--ease); }
.afilter .affield:hover{ border-color:var(--gold); }
.afilter .affield:focus{ border-color:var(--gold); }
.afilter .affield.is-set{ color:var(--on-dark); border-color:var(--gold); }
.afilter .affield option{ color:var(--ink); }
@media (max-width:900px){ .afilter__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .afilter__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ .afilter__grid{ grid-template-columns:1fr; } }

.pmasonry .jcard{ isolation:isolate; }
.jcard__ov{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:flex-end;
  gap:7px; padding:26px 22px 24px;
  background:linear-gradient(180deg, rgba(var(--ink-rgb),.10) 0%, rgba(var(--ink-rgb),.86) 62%, rgba(var(--ink-rgb),.95) 100%);
  transform:translateY(100%);
  transition:transform .5s var(--ease);
  pointer-events:none;
}
.jcard:hover .jcard__ov,
.jcard:focus-within .jcard__ov{ transform:translateY(0); }
.jcard:hover .jcard__txt{ opacity:0; transition:opacity .28s var(--ease); }
.jcard__ov-name{ font-size:clamp(19px,1.5vw,19px); font-weight:300; color:var(--on-dark); line-height:1.25; margin-bottom:5px; }
.jcard__ov-meta{ font-size:13.5px; color:var(--on-dark-muted); letter-spacing:.01em; }
.jcard__ov-meta b{ color:var(--on-dark); font-weight:400; }
.jcard__cta{
  align-self:flex-start; margin-top:12px; pointer-events:auto;
  display:inline-flex; align-items:center; gap:9px;
  font-size:13px; font-weight:400; letter-spacing:.14em; text-transform:uppercase;
  color:var(--on-dark); padding:5px 10px;
  border:1px solid var(--gold); border-radius:4px;
  position:relative; overflow:hidden; z-index:0;
  transition:color .35s var(--ease);
}
.jcard__cta::before{
  content:""; display:block; position:absolute; top:0; left:-25%;
  width:0; height:100%; background:var(--gold); z-index:-1;
  transform:skewX(-45deg); transform-origin:left center;
  transition:width .8s var(--ease);
}
.jcard__cta:hover::before{ width:160%; }
.jcard__cta:hover{ color:var(--ink); border-color:var(--gold); }
.jcard__cta .ar{ transition:transform .3s var(--ease); }
.jcard__cta:hover .ar{ transform:translateX(4px); }

.nfeat{ background:var(--gray-light-bg); padding:46px 0 58px; margin-bottom:34px; }
.nfeat__heading{ font-size:clamp(22px,2.2vw,28px); font-weight:400; letter-spacing:.01em; color:var(--on-light-1); margin-bottom:24px; }
.nfeat__slider{ position:relative; }
.nfeat__viewport{ overflow:hidden; }
.nfeat__track{ display:flex; transition:transform .5s var(--ease); }
.nfeat__slide{ flex:0 0 100%; display:grid; grid-template-columns:1.2fr 1fr; background:var(--on-dark); }
.nfeat__media{ aspect-ratio:16/9; overflow:hidden; background:var(--gray-light-alt); }
.nfeat__media img{ width:100%; height:100%; object-fit:cover; }
.nfeat__body{ padding:clamp(28px,3.4vw,52px); display:flex; flex-direction:column; justify-content:center; }
.nfeat__date{ font-size:12px; letter-spacing:.05em; color:var(--red-accent); margin-bottom:18px; }
.nfeat__title{ font-size:clamp(18px,1.7vw,23px); font-weight:400; line-height:1.4; color:var(--on-light-2); margin-bottom:28px; }
.nfeat__btn{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; font-size:13px; letter-spacing:.02em; color:var(--on-light-3); background:var(--on-dark); border:1px solid var(--gray-light-border); border-radius:2px; padding:9px 18px; transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease); }
.nfeat__btn:hover{ background:var(--gold); border-color:var(--gold); color:var(--on-dark); }
.nfeat__arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(var(--white-rgb),.92); border:1px solid var(--gray-light-alt); color:var(--on-light-4); cursor:pointer; box-shadow:0 2px 8px rgba(var(--black-rgb),.12); transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease); }
.nfeat__arrow svg{ width:20px; height:20px; }
.nfeat__arrow--prev{ left:-12px; }
.nfeat__arrow--next{ right:-12px; }
.nfeat__arrow:hover{ background:var(--gold); border-color:var(--gold); color:var(--on-dark); }
.nfeat__dots{ display:flex; gap:9px; justify-content:flex-end; margin-top:18px; }
.nfeat__dots button{ width:9px; height:9px; border-radius:50%; border:0; padding:0; background:#bcbcbc; cursor:pointer; transition:background .25s var(--ease), width .25s var(--ease); }
.nfeat__dots button.is-active{ background:var(--gold); width:9px; border-radius:50%; transform:scale(1.25); }
@media(max-width:720px){
  .nfeat__slide{ grid-template-columns:1fr; }
  .nfeat__arrow{ display:none; }
}

.geo{ padding-bottom:48px; }
.geo__region{ margin-top:38px; }
.geo__region-head{ font-size:clamp(18px,1.5vw,22px); font-weight:300; letter-spacing:.04em; color:var(--on-dark); padding-bottom:14px; margin-bottom:22px; border-bottom:1px solid var(--line-soft); }
.geo__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.geo-card{ position:relative; background:var(--ink-4); padding:20px; transition:background .25s var(--ease); }
.geo-card::before,.geo-card::after{ content:""; position:absolute; pointer-events:none; width:0; height:0; transition:width .4s cubic-bezier(.22,.61,.36,1), height .4s cubic-bezier(.22,.61,.36,1) .35s; }
.geo-card::before{ top:0; left:0; border-top:1px solid var(--gold); border-left:1px solid var(--gold); }
.geo-card::after{ bottom:0; right:0; border-bottom:1px solid var(--gold); border-right:1px solid var(--gold); }
.geo-card:hover{ background:var(--ink-5); }
.geo-card:hover::before,.geo-card:hover::after{ width:100%; height:100%; }
.geo-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.geo-card__country{ font-size:16px; font-weight:400; color:var(--on-dark); }
.geo-card__flag{ width:30px; height:auto; flex:0 0 auto; border:1px solid var(--line-soft); }
.geo-card__partner{ font-size:13px; color:var(--red-accent); margin-bottom:10px; }
.geo-card__rows{ display:flex; flex-direction:column; gap:6px; }
.geo-card__row{ font-size:13.5px; line-height:1.5; color:var(--on-dark-muted); }
@media (max-width:900px){ .geo__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .geo__grid{ grid-template-columns:1fr; } }

.hero__link.hero__link{
  position:relative; overflow:hidden; z-index:0;
  padding:5px 10px !important;
  background:var(--gold) !important;
  border:1px solid var(--gold) !important;
  border-radius:4px !important;
  color:var(--on-dark) !important;
  transition:color .35s var(--ease) !important;
}
.hero__link.hero__link::before{
  content:""; display:block; position:absolute; top:0; left:-25%;
  width:0; height:100%; background:var(--gold); z-index:-1;
  transform:skewX(-45deg); transform-origin:left center;
  transition:width .8s var(--ease);
}
.hero__link.hero__link:hover::before{ width:160%; }
.hero__link.hero__link:hover{
  background:transparent !important;
  color:var(--ink) !important;
  border-color:var(--gold) !important;
}
.hero__link.hero__link:hover .ar{ color:var(--ink) !important; }

.projvid__play{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:40px; height:40px;
  display:grid; place-items:center; padding:0;
}
.projvid__play svg{ width:18px; height:18px; margin-left:2px; }
.projvid__play:hover{ transform:translate(-50%,-50%) scale(1.1); }

.nfeat__btn{ position:relative; overflow:hidden; z-index:0; border:1px solid var(--gold); transition:color .35s var(--ease); }
.nfeat__btn::before{
  content:""; display:block; position:absolute; top:0; left:-25%;
  width:0; height:100%; background:var(--gold); z-index:-1;
  transform:skewX(-45deg); transform-origin:left center;
  transition:width .8s var(--ease);
}
.nfeat__btn:hover::before{ width:160%; }
.nfeat__btn:hover{ background:var(--on-dark); border-color:var(--gold); color:var(--ink); }

.hero .slide{ justify-content: flex-start !important; }
.hero .slide__in{ text-align: left !important; align-items: flex-start !important; margin-left: 0 !important; margin-right: auto !important; }
.hero .slide__sector,
.hero .slide__title,
.hero .hero__link{ text-align: left !important; }

.pspecs{ list-style:none; margin:24px 0 0; padding:24px 0 0; border-top:1px solid var(--line-soft); display:flex; flex-wrap:wrap; align-items:flex-start; gap:18px 14px; }
.pspecs__item{ display:flex; flex-direction:column; align-items:center; gap:8px; width:60px; text-align:center; }
.pspecs__ic{ display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid var(--line-soft); border-radius:11px; color:var(--gold); transition:border-color .25s var(--ease), color .25s var(--ease); }
.pspecs__item:hover .pspecs__ic{ border-color:var(--gold); color:var(--gold-light); }
.pspecs__ic svg{ width:24px; height:24px; }
.pspecs__lbl{ font-size:10.5px; line-height:1.2; letter-spacing:.04em; text-transform:uppercase; color:var(--on-dark-muted); }
.pspecs__cert{ display:flex; align-items:center; gap:8px; margin-left:auto; align-self:center; }
.pspecs__badge{ display:inline-flex; align-items:center; justify-content:center; min-width:48px; height:48px; padding:0 12px; border:1px solid var(--line-soft); border-radius:11px; font-size:13px; font-weight:600; letter-spacing:.03em; color:var(--on-dark); }
@media (max-width:560px){ .pspecs{ gap:16px 12px; } .pspecs__cert{ margin-left:0; } }

/* =====================================================================
   CONSOLIDATED OVERRIDES
   ===================================================================== */

*,*::before,*::after{ letter-spacing:0 !important; }

.pagehero__title,.pinfo__name{ font-size:28px !important; line-height:1.15; }

.tile__label,.tile__label.sm{ font-size:25px !important; line-height:1.15; }
.sec-title,.news__title,.plp__title,.pcat__title,
.prj-title,.prj__title,.section-title{ font-size:20px !important; line-height:1.18; }
.slide__title{ font-size:30px !important; }
@media (max-width:768px){
  .pagehero__title,.pinfo__name{ font-size:20px !important; }
  .tile__label,.tile__label.sm{ font-size:25px !important; }
  .slide__title{ font-size:25px !important; }
  .sec-title,.news__title{ font-size:25px !important; }
}

.tile__play,.projvid__play,.vplay,.vg-play span,.vg-card__play,.vidcard__play{
  width:50px !important; height:50px !important;
  background:var(--red-accent) !important; border:1px solid var(--red-accent) !important;
  color:var(--on-dark) !important; border-radius:50% !important;
}
.tile__play svg,.projvid__play svg,.vplay svg,.vg-play svg,.vg-card__play svg,.vidcard__play svg{
  width:20px !important; height:20px !important; fill:var(--on-dark) !important; color:var(--on-dark) !important;
}
.tile:hover .tile__play,.projvid__play:hover,.vplay:hover,
.vg-card:hover .vg-play span,.vg-card:hover .vg-card__play{
  background:var(--red-accent-hover) !important; border-color:var(--red-accent-hover) !important;
}
@media (max-width:768px){
  .tile__play,.projvid__play,.vplay,.vg-play span,.vg-card__play,.vidcard__play{ width:46px !important; height:46px !important; }
  .tile__play svg,.projvid__play svg,.vg-play svg{ width:18px !important; height:18px !important; }
}

.hero__dots button,.fwslider__dots button,.projslider__dots button{
  width:10px !important; height:10px !important; border-radius:50% !important;
  background:rgba(244,239,227,.45) !important; transition:all .3s var(--ease);
}
.hero__dots button.is-active,.fwslider__dots button.is-active,.projslider__dots button.is-active{
  width:10px !important; height:10px !important; background:var(--gold) !important; transform:scale(1.25);
}

.btn,.btn--primary,.thv__more,.news__more,.hero__link,.cta__btn,.btn--ghost-line,
.svc__more,.nfeat__btn{
  --btn-accent:var(--gold);
}
.thv__more:hover,.news__more:hover,.btn--ghost-line:hover{
  border-color:var(--gold) !important; color:var(--ink) !important;
}

.afilter__clear{ color:rgba(var(--white-rgb),.78) !important; }
.afilter__clear:hover{ color:var(--on-dark) !important; }

@media (max-width:1024px){
  .nav.is-open{
    background:rgba(15,14,12,.55) !important;
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border-top:1px solid rgba(var(--white-rgb),.08) !important;
    box-shadow:none !important;
  }
  .nav.is-open .nav__item:has(> .mega) > .nav__link .chev{
    display:inline-block !important; margin-left:auto; transition:transform .25s var(--ease);
  }
  .nav.is-open .nav__item.is-expanded > .nav__link .chev{ transform:rotate(180deg); }
  .nav.is-open .nav__link{ display:flex !important; align-items:center; justify-content:space-between; }
  .nav.is-open .mega{
    display:none !important; position:static !important; transform:none !important;
    opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
    width:100% !important; max-width:none !important; border:none !important;
    background:transparent !important; box-shadow:none !important; padding:4px 16px 14px !important;
  }
  .nav.is-open .nav__item.is-expanded > .mega{ display:block !important; }
  .nav.is-open .mega--cards .mega__slider,
  .nav.is-open .mega--cards .mega__arrow{ display:none !important; }
  .nav.is-open .mega--cards .mega__panel{ margin:0 !important; padding:0 !important; border:none !important; }
  .nav.is-open .mega__group{ display:block !important; }
  .nav.is-open .mega__group-links{ grid-template-columns:1fr !important; }
  .nav.is-open .mega--simple{ width:100% !important; }
  .nav__search-m{ display:block; border-top:1px solid rgba(var(--white-rgb),.08); }
  .nav__search-btn{ display:flex !important; align-items:center; gap:8px; width:100%; padding:15px 28px; font-size:15px; }
}
@media (min-width:1025px){ .nav__search-m{ display:none !important; } }

.site-header:not(.is-scrolled){ background:transparent !important; }
.nav__link.is-active::after,
.nav__link:hover::after{
  content:""; position:absolute; left:12px; right:12px; bottom:8px;
  height:1px; background:var(--on-dark); border-radius:1px;
}
.nav__link{ position:relative; }
.nav__link.is-active{ color:var(--on-dark) !important; }

@media (min-width:1025px){
  .mega--cards{ left:0 !important; right:0 !important; transform:none !important;
    width:auto !important; max-width:none !important; margin-inline:32px; }
  .nav__item:hover .mega--cards{ transform:none !important; }
  .mega--cards .mega__track{ max-width:100% !important; }
}

.thv__col span::after{ content:">" !important; }

@media (max-width:768px){
  .hero .slide{ align-items:flex-end !important; }
  .hero .slide__in{ padding-bottom:84px !important; }
  .hero .hero__dots{ bottom:18px !important; }
}

@media (max-width:768px){
  .hero__link,a.hero__link,.hero__link[data-i18n]{ padding:9px 16px !important; font-size:12px !important; }
  .news__more,.thv__more,.btn--ghost-line,.svc__more{ padding:10px 15px !important; font-size:12px !important; }
  .btn,.btn--primary,.btn--add,.btn-buy,.btn-dl--primary{ padding:9px 16px !important; font-size:12px !important; }
  .btn-buy{ padding:11px 22px !important; font-size:14px !important; letter-spacing:.02em !important; gap:6px !important; }
  .cta .cta__form .wpcf7-submit,.wpcf7-submit,.cta__btn{ padding:12px 24px !important; font-size:14px !important; }
  .btn--wish{ width:42px !important; height:42px !important; }
  .btn--wish svg{ width:17px !important; height:17px !important; }
}

.footer{ padding-top:56px !important; }
.footer__top{ padding-bottom:44px !important; gap:40px !important; }
.footer__links{ grid-template-columns:repeat(4,1fr) !important; gap:28px 32px !important; align-content:start; }
.footer__col h4{ margin-bottom:13px !important; }
.footer__col a{ line-height:1.75 !important; padding:6px 0 !important; }
.footer__bottom{ padding-block:22px !important; }
@media (max-width:1024px){
  .footer__links{ grid-template-columns:repeat(2,1fr) !important; gap:24px 26px !important; }
  .footer__top{ gap:16px !important; }
}
@media (max-width:640px){
  .footer__links{ grid-template-columns:repeat(2,1fr) !important; gap:20px 18px !important; }
  .footer__col{ margin-bottom:4px; }
  .footer__col h4{ margin-bottom:10px !important; }
  .footer__bottom{ flex-direction:column; gap:12px; text-align:center; }
}
.footer__social{ display:flex !important; gap:10px; }
.footer__social a{ display:grid; place-items:center; }

.cform,.contact__form,.cta__form{ padding:clamp(20px,3vw,32px) !important; }
.cgrid,.contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,40px); align-items:stretch; }
.cgrid > *,.contact__grid > *{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:14px; padding:clamp(20px,3vw,32px); }
@media (max-width:780px){ .cgrid,.contact__grid{ grid-template-columns:1fr; } }

@media (max-width:768px){
  .tile,.m-cat .tile,.m-proj .tile{ min-height:240px; }
  .tile__hover{ overflow-y:auto; }
}

body:has(.pagehero) .site-header{
  background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none;
  border-bottom-color:transparent;
  transition:background .35s var(--ease), backdrop-filter .35s var(--ease), border-color .35s var(--ease);
}
body:has(.pagehero) .site-header.is-scrolled{
  background:rgba(var(--ink-rgb),.88); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line-soft);
}
body:has(.pagehero) .pagehero{ margin-top:-74px; }
body:has(.pagehero) .pagehero__in{ padding-top:74px; }

@media (max-width:768px){
  .m-cat .tile__hover{ opacity:1 !important; visibility:visible !important; transform:none !important; }
  .m-cat .thv__col span{ padding:9px 0; }
  .m-cat .thv__col span::after{ opacity:1; transform:none; }
}

@media (max-width:768px){
  .hero .slide{ align-items: flex-end !important; }
  .hero .slide__in{ padding-bottom: 92px; }
}

.vg-play svg{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }

@media (min-width:1025px){
  .mega--cards{
    position:fixed; top:74px; left:0 !important; right:0 !important;
    width:auto !important; max-width:none !important; margin-inline:0 !important;
    transform:translateY(10px); padding:30px 80px 34px;
    border-top:1px solid rgba(236,198,119,.18) !important;
    border-bottom:1px solid rgba(236,198,119,.18) !important;
    border-left:0 !important; border-right:0 !important;
    box-shadow:0 30px 80px -30px rgba(var(--black-rgb),.85);
  }
  .nav__item:hover .mega--cards{ transform:translateY(0) !important; }
  .mega--cards::before{ top:-24px; height:24px; left:0; right:0; }
  .mega--cards .mega__slider{ max-width:1280px; margin-inline:auto; justify-content:center; }
  .mega--cards .mega__track{ max-width:100% !important; justify-content:center; }
  .mega--cards .mega__panel{ max-width:none !important; margin-inline:0 !important; }
  .mega--cards .mega__group-links{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)) !important; }
}
@media (min-width:1025px) and (max-width:1280px){ .mega--cards{ padding-inline:48px !important; } }

.mega__group-title a{ color:inherit; text-decoration:none; display:inline-block; }
.mega__group-title a:hover{ color:var(--gold); }

@media (max-width:1024px){
  .nav.is-open{
    background: var(--black) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    border-top: none !important;
  }
}
.nav-toggle{
  background: transparent !important;
}
.nav-toggle:hover,
.nav-toggle:focus{
  background: transparent !important;
}
.nav-toggle.is-open svg{ display: none; }
.nav-toggle.is-open::before{
  content: "\2715";
  font-size: 26px;
  line-height: 1;
  color: var(--on-dark);
  font-weight: 300;
  display: inline-block;
}

@media (max-width:640px){
  .footer__links{ grid-template-columns:1fr !important; gap:0 !important; }
  .footer__col--acc,.footer__col--plain{ border-bottom:1px solid rgba(var(--white-rgb),.10); }
  .footer__col--acc > h4,.footer__col--plain > h4{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:0 !important; padding:10px 2px; cursor:pointer;
  }
  .footer__col--acc > h4::after{
    content:""; width:8px; height:8px; margin-left:auto; opacity:.7;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg); transition:transform .25s var(--ease);
  }
  .footer__col--acc.is-open > h4::after{ transform:rotate(-135deg); }
  .footer__col--acc > h4:has(> a)::after{ content:none; }
  .footer__col--acc > a{ display:none; }
  .footer__col--acc.is-open > a{ display:block; }
  .footer__col--acc.is-open > a:last-child{ padding-bottom:14px; }
}

@media (max-width:1024px){
  .nav{
    display:none;
    flex-direction:column; position:absolute; top:100%; left:0; right:0;
    margin:0; gap:0; padding:8px 0 88px; overflow:auto;
    max-height:none;
    height:100vh;
    height:100dvh;
    overscroll-behavior:contain;
    background:rgba(var(--black-rgb),.9);
    border-top:none; box-shadow:none;
    opacity:0;
    transition:opacity .3s var(--ease), display .3s allow-discrete, overlay .3s allow-discrete;
  }
  body:has(.nav.is-open){ overflow:hidden; }
  body:has(.nav.is-open) .topbar{ display:none; }
  .nav .nav__item{ width:100%; }
  .nav .nav__link{
    display:flex !important; align-items:center; justify-content:space-between;
    width:100%; padding:15px 28px; font-size:15px;
  }
  .nav .nav__link .chev{ display:none; }
  .nav .nav__item:has(> .mega) > .nav__link .chev{
    display:inline-block !important; margin-left:auto; transition:transform .25s var(--ease);
  }
  .nav.is-open{
    opacity:1; background:rgba(var(--black-rgb),.9) !important;
    max-height:none; height:100vh; height:100dvh; padding:8px 0 88px;
  }
  @starting-style{
    .nav.is-open{ opacity:0; }
  }
  .nav .nav__link.is-active::after,
  .nav .nav__link:hover::after{ content:none; }
  .nav .nav__link.is-active{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:7px;
    text-decoration-color:var(--on-dark);
  }
}

@media (max-width:1024px){
  .nav.is-open .mega{ padding:0 28px 18px !important; }
  .nav.is-open .mega__panel{ margin:0 !important; padding:0 !important; border:none !important; }
  .nav.is-open .mega__group-title{ margin:16px 0 4px; }
  .nav.is-open .mega__group:first-child > .mega__group-title{ margin-top:6px; }
  .nav.is-open .mega__group-links{ gap:0 28px !important; }
  .nav.is-open .mega__group-links a{ padding:9px 0 9px 12px; font-size:14px; }

  .nav.is-open .mega-img__row{ display:block; overflow:visible; }
  .nav.is-open .mega-card{ min-width:0; }
  .nav.is-open .mega-card__link{ display:none; }
  .nav.is-open .mega-card__sub{
    position:static; opacity:1; visibility:visible; pointer-events:auto;
    background:transparent; border:0; box-shadow:none; padding:0;
    transition:none;
  }
  .nav.is-open .mega-sub__head{ margin:16px 0 4px; }
  .nav.is-open .mega-card:first-child .mega-sub__head{ margin-top:6px; }
  .nav.is-open .mega-sub__links{ display:block; }
  .nav.is-open .mega-sub__links a{ padding:9px 0 9px 12px; font-size:14px; }

  .nav.is-open .mega--simple a{ padding:9px 0 9px 12px; font-size:14px; border-radius:0; }
}

html::before,
body::before,
body::after{ content:""; position:fixed; pointer-events:none; }
html::before{
  inset:0; z-index:9998; background:var(--ink);
  animation:vcnLoadAway .5s var(--ease, ease) 6s forwards;
}
body::before{
  z-index:9999;
  top:50%; left:50%; width:190px; height:130px;
  transform:translate(-50%,-58%);
  background:url("../img/logo.png") center/contain no-repeat;
  animation:vcnLoadPulse 1.6s ease-in-out infinite, vcnLoadAway .5s var(--ease, ease) 6s forwards;
}
body::after{
  z-index:9999;
  top:calc(50% + 56px); left:50%; width:170px; height:2px;
  transform:translateX(-50%);
  border-radius:2px;
  background-color:rgba(var(--white-rgb),.08);
  background-image:linear-gradient(90deg, transparent 30%, var(--gold) 50%, transparent 70%);
  background-size:200% 100%;
  background-repeat:no-repeat;
  animation:vcnLoadBar 1.2s linear infinite, vcnLoadAway .5s var(--ease, ease) 6s forwards;
}
@keyframes vcnLoadPulse{ 0%,100%{ opacity:.45; } 50%{ opacity:1; } }
@keyframes vcnLoadBar{ 0%{ background-position:170% 0; } 100%{ background-position:-170% 0; } }
@keyframes vcnLoadAway{ to{ opacity:0; visibility:hidden; } }
html.vcn-loaded::before,
html.vcn-loaded body::after{
  opacity:0; visibility:hidden;
  transition:opacity .45s var(--ease, ease), visibility 0s linear .45s;
  animation:none;
}
html.vcn-loaded body::before{
  opacity:0; visibility:hidden;
  transform:translate(-50%,-58%) scale(1.07);
  transition:opacity .45s var(--ease, ease), transform .45s var(--ease, ease), visibility 0s linear .45s;
  animation:none;
}
@media (prefers-reduced-motion:reduce){
  body::before, body::after{ animation:vcnLoadAway .5s ease 4s forwards; }
}

@media (max-width:768px){
  .m-cat .tile{
    height:auto !important;
    min-height:0 !important;
    padding-top:200px !important;
    overflow:visible !important;
  }
  .m-cat .tile > img,
  .m-cat .tile > video{
    position:absolute !important;
    top:0 !important; left:0 !important; right:0 !important; bottom:auto !important;
    height:200px !important;
  }
  .m-cat .tile::after{ bottom:auto !important; height:200px !important; }
  .m-cat .tile .tile__hover{
    position:relative !important;
    inset:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    overflow:visible !important;
    padding:22px 18px 26px !important;
  }
}

@media (max-width:768px){
  .m-cat .tile .tile__hover{
    opacity:0 !important;
    visibility:hidden !important;
    max-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    transition:opacity .35s ease,max-height .4s ease,padding .35s ease,visibility .35s ease !important;
  }
  .m-cat .tile.is-center .tile__hover{
    opacity:1 !important;
    visibility:visible !important;
    max-height:600px !important;
    padding:22px 18px 26px !important;
    overflow:visible !important;
    transition:opacity .35s ease,max-height .4s ease,padding .35s ease,visibility .35s ease !important;
  }
  .m-cat .tile .tile__txt{
    transition:opacity .35s ease,visibility .35s ease !important;
  }
  .m-cat .tile.is-center .tile__txt{
    opacity:0 !important;
    visibility:hidden !important;
  }
}

.thv__more{ border-color:var(--gold); }
.thv__more .ar{ display:none; }

@media (max-width:768px){
  .m-cat .tile > img,
  .m-cat .tile > video{
    top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
    height:100% !important;
  }
  .m-cat .tile::after{ top:0 !important; bottom:0 !important; inset:0 !important; height:auto !important; }
  .m-cat .tile{
    padding-top:0 !important;
    min-height:280px !important;
    height:auto !important;
  }
  .m-cat .tile.is-center .tile__hover{
    justify-content:flex-start !important;
    max-height:1200px !important;
    padding:34px 24px 32px !important;
  }
}

@media (max-width:768px){
  .m-cat .tile{
    height:280px !important;
    overflow:hidden !important;
  }
  .m-cat .tile .tile__hover{
    position:absolute !important;
    inset:0 !important;
    top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  }
  .m-cat .tile.is-center{ z-index:5; }
}

.mega.mega--cards{
  padding-left: 16px !important;
  padding-right: 16px !important;
}
.mega--cards .mega__slider{
  justify-content: flex-start !important;
  gap: 0 !important;
}
.mega--cards .mega__track{
  justify-content: flex-start !important;
  max-width: 100% !important;
  gap: 12px !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.mega--cards .mega__track > .mcard:first-child{
  margin-left: 0 !important;
}

.mega--cards .mcard::before{
  background-position: left center !important;
  background-repeat: no-repeat !important;
}

.mega__panel{
  padding-top: 18px !important;
  margin-top: 18px !important;
}
.mega__group-title{
  font-size: 12px;
  letter-spacing: .12em;
  margin-bottom: 14px;
}
.mega__group-links{
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 0px 48px !important;
}
.mega__group-links a{
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: .05em !important;
  padding: 6px 0 !important;
  line-height: 1.5 !important;
  color: var(--on-dark-muted);
}
.mega__group-links a:hover{ color: var(--gold); padding-left: 4px !important; }

.mega.mega--cards .mega__slider,
.mega--cards .mega__slider{
  max-width: none !important;
  margin-inline: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  justify-content: flex-start !important;
}

@media (min-width:1025px){
  .mega.mega--cards{
    position: absolute !important;
    top: calc(100% + 16px) !important;
    left: var(--mega-left, 0px) !important;
    right: auto !important;
    width: var(--mega-width, 100%) !important;
    max-width: var(--mega-width, none) !important;
    padding: 30px 16px 34px !important;
    transform: translateY(10px) !important;
  }
  .nav__item:hover .mega.mega--cards{
    transform: translateY(0) !important;
  }

  .mega.mega--cards .mega__slider,
  .mega--cards .mega__slider{
    position: relative !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .mega--cards .mega__track{
    max-width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    gap: 12px !important;
    padding: 0 !important;
  }
  .mega--cards .mega__track::-webkit-scrollbar{ display: none; }
  .mega--cards .mcard{
    flex: 0 0 224px !important;
    scroll-snap-align: start;
  }

  .mega--cards .mega__arrow{
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%);
    z-index: 10 !important;
    width: 32px !important; height: 32px !important;
    background: rgba(var(--ink-rgb),.85) !important;
    border: 1px solid var(--line-mid) !important;
    border-radius: 50% !important;
    color: var(--on-dark);
    display: grid; place-items: center;
    cursor: pointer;
  }
  .mega--cards .mega__arrow[hidden]{ display: none !important; }
  .mega--cards .mega__arrow svg{ width: 14px; height: 14px; }
  .mega--cards .mega__arrow--prev{ left: -14px !important; }
  .mega--cards .mega__arrow--next{ right: -14px !important; }
  .mega--cards .mega__arrow:hover{
    background: var(--gold) !important;
    color: var(--ink) !important;
    border-color: var(--gold) !important;
  }
}

.buybox{
  border-top: none !important;
  border-bottom: none !important;
}

.sh-grid{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)) !important;
  gap: 24px !important;
}
.sh-card{
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  height: auto !important;
}
.sh-card img{
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.btn-buy{
  font-size: 15px !important;
  padding: 7px 28px !important;
  text-transform: none !important;
}
.btn-zalo{
  font-size: 15px !important;
  padding: 7px 28px !important;
  text-transform: none !important;
}

@media (max-width: 768px){
  main.plp:has(.doc .article) .plp__top,
  main.plp:has(.doc .article) .breadcrumb{
    display: none !important;
  }
}

@media (min-width:1025px){
  .mega.mega--cards .mega__track,
  .mega--cards .mega__track{
    justify-content: flex-start !important;
  }
}

@media (min-width:1025px){
  .mega.mega--cards{
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }
  .mega.mega--cards.is-mega-open{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .nav__item:hover .mega.mega--cards:not(.is-mega-open){
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

.hero__link .ar,
.hero__link[data-i18n="hero.readmore"] .ar,
a.hero__link .ar{
  display: inline-block;
  transform: rotate(-45deg) !important;
  transition: transform .3s var(--ease);
}
.hero__link:hover .ar,
.hero__link[data-i18n="hero.readmore"]:hover .ar,
a.hero__link:hover .ar{
  transform: rotate(-45deg) translateX(4px) !important;
}

.pfilter{
  background: #14130f; /* Tông đen rất sâu của filter bar */
  padding: 18px 0;
  margin: 0 0 24px;
  border-top: 1px solid rgba(var(--white-rgb),.06);
  border-bottom: 1px solid rgba(var(--white-rgb),.06);
}
.pfilter__inner{
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 8px 22px;
  flex-wrap: wrap;
}
.pfilter__btn{
  background: transparent;
  border: none;
  padding: 8px 16px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  color: #b7b3aa;
  cursor: pointer;
  border-radius: 4px;
  transition: color .25s var(--ease, ease), background .25s var(--ease, ease);
}
.pfilter__btn:hover{
  color: var(--gold);
}
.pfilter__btn.is-active{
  background: var(--gold);
  color: #14130f;
}
.pfilter__btn.is-active:hover{
  color: #14130f;
}
.pmasonry .jcard.is-hidden{ display: none !important; }
@media (max-width:640px){
  .pfilter{ padding: 12px 0; }
  .pfilter__inner{ gap: 6px 14px; }
  .pfilter__btn{ padding: 6px 12px; font-size: 12px; letter-spacing: .06em; }
}

.pfilter{
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #14130f;
}
.pfilter > .container{
  padding-block: 0;
}
.pfilter__inner{
  padding: 14px 0;
}
.pfilter__btn{
  position: relative;
}
.pfilter__btn:not(.is-active)::after{
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 4px;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}
.pfilter__btn:not(.is-active):hover::after{
  transform: scaleX(1);
}
.pfilter__btn:not(.is-active):hover{
  color: #cfcbc0;
  background: transparent;
}
.pagehero + .pfilter{ margin-top: 0 !important; }
.pfilter + main.plp,
.pfilter + main{ margin-top: 0 !important; padding-top: 0 !important; }
.pfilter + main .container:first-child,
.pfilter + main.plp .container:first-child{ padding-top: 24px; }

main.plp > .subnav,
.pfilter ~ * .subnav,
body.template-projects .subnav,
main.plp .subnav{
  display: none !important;
}
.pagehero + .subnav{
  display: none !important;
}

body.post-type-archive-project main.plp,
main.plp:has(> .pfilter){
  gap: 0 !important;
}
body.post-type-archive-project main.plp > .pfilter,
main.plp:has(> .pfilter) > .pfilter{
  margin: 0 !important;
}
body.post-type-archive-project main.plp > .pfilter + .container,
main.plp:has(> .pfilter) > .pfilter + .container{
  padding-top: 24px;
}

.pfilter + .container,
main.plp .pfilter + .container,
main.plp:has(> .pfilter) > .pfilter + .container,
body.post-type-archive-project main.plp > .pfilter + .container{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.sh-card__title{
  font-size: 18px !important;
}
.sh-card__loc{
  font-size: 11px !important;
}

.sh-enter{
  display:inline-flex; align-items:center; gap:8.1px;
  font-size:11.7px; font-weight:400; letter-spacing:.14em; text-transform:uppercase;
  color:var(--on-dark);
  padding:9.9px 21.6px;
  background:transparent;
  border:1px solid var(--gold);
  border-radius:4px;
  position:relative; overflow:hidden; z-index:0;
  transition:color .35s var(--ease);
}
.sh-enter::before{
  content:""; display:block; position:absolute; top:0; left:-25%;
  width:0; height:100%; background:var(--gold); z-index:-1;
  transform:skewX(-45deg); transform-origin:left center;
  transition:width .8s var(--ease);
}
.sh-enter:hover::before{ width:160%; }
.sh-enter:hover{
  background:transparent;
  color:var(--ink);
  border-color:var(--gold);
}
.sh-enter .ar{ display:inline-block; transform:rotate(-45deg); transition:transform .3s var(--ease); }
.sh-enter:hover .ar{ transform:rotate(-45deg) translateX(4px); }

.vg-play span{ width:75px !important; height:75px !important; }
.vg-play svg{ width:30px !important; height:30px !important; }
@media (max-width:768px){
  .vg-play span{ width:69px !important; height:69px !important; }
  .vg-play svg{ width:27px !important; height:27px !important; }
}

.news__more{ border-color:var(--gold); }

.btn--add,
.btn-buy,
.btn-dl--primary{
  position:relative; overflow:hidden; z-index:0;
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 24px !important;
  background:transparent !important;
  border:1px solid var(--gold) !important;
  border-radius:4px !important;
  color:var(--on-dark) !important;
  font-size:13px !important;
  font-weight:400 !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .35s var(--ease) !important;
}
.btn--add::before,
.btn-buy::before,
.btn-dl--primary::before{
  content:""; display:block; position:absolute; top:0; left:-25%;
  width:0; height:100%; background:var(--gold); z-index:-1;
  transform:skewX(-45deg); transform-origin:left center;
  transition:width .8s var(--ease);
}
.btn--add:hover::before,
.btn-buy:hover::before,
.btn-dl--primary:hover::before{ width:160%; }
.btn--add:hover,
.btn-buy:hover,
.btn-dl--primary:hover{
  background:transparent !important;
  color:var(--ink) !important;
  border-color:var(--gold) !important;
}

.btn-dl--ghost{ border-radius:4px !important; border-color:var(--gold) !important; color:var(--on-dark) !important; }

.dl-actions .btn-dl--primary,
.dl-actions .btn-dl--ghost{
  padding:9px 12px !important;
  font-size:12.5px !important;
  letter-spacing:.02em !important;
  text-transform:uppercase;
}
@media (max-width:768px){
  .dl-actions .btn-dl--primary,
  .dl-actions .btn-dl--ghost{
    padding:8px 10px !important;
    font-size:12px !important;
  }
}

@media (max-width:768px){
  .slide::after{
    background:linear-gradient(180deg, rgba(var(--ink-rgb),0) 42%, rgba(var(--ink-rgb),.38) 68%, rgba(var(--ink-rgb),.72) 100%);
  }
}

@media screen and (max-width: 767px) {
    .ncard__thumb{ flex:0 0 175px; width:190px; height:108px; overflow:hidden; background:var(--ink-3); }
    .article__body,
    .article__body * { max-width: 100% !important; }
    .article__body img { width: 100% !important; height: auto !important; }
}

.article__body .wp-caption.aligncenter {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.article__body .wp-caption.aligncenter > img,
.article__body .wp-caption.aligncenter > picture > img {
    display: block !important;
    width: 1000px !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.article__body .wp-caption.aligncenter > picture {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}
.article__body .wp-caption.aligncenter .wp-caption-text {
    font-style: italic !important;
    color: var(--gray-text) !important;
    text-align: center !important;
    font-size: 12px;
    margin-bottom: 10px;
}