/* ============================================================
   ORA INTERNATIONAL — DESIGN SYSTEM
   Tokens → Base → Layout → Components → Utilities → Responsive
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');

/* ---------- Tokens ---------- */
:root{
  --color-background:#f7f5f0;
  --color-background-alt:#efece4;
  --color-surface:#ffffff;
  --color-surface-alt:#12161b;
  --color-surface-alt-2:#1b2026;
  --color-text:#14181c;
  --color-text-muted:#5b6570;
  --color-text-inverse:#f4f2ec;
  --color-text-inverse-muted:#a7aeb6;
  --color-accent:#b28a4d;
  --color-accent-hover:#96723c;
  --color-accent-soft:#f2e6d2;
  --color-border:rgba(20,24,28,0.10);
  --color-border-inverse:rgba(244,242,236,0.14);
  --color-overlay:rgba(14,17,20,0.55);

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --container-max:1280px;
  --container-pad:24px;

  --space-xs:8px;
  --space-sm:16px;
  --space-md:24px;
  --space-lg:40px;
  --space-xl:64px;
  --space-2xl:96px;
  --space-3xl:140px;

  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:16px;

  --shadow-sm:0 2px 10px rgba(20,24,28,0.06);
  --shadow-md:0 12px 32px rgba(20,24,28,0.10);
  --shadow-lg:0 24px 64px rgba(20,24,28,0.16);

  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:180ms;
  --dur-med:340ms;
  --dur-slow:600ms;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- Reset / Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--color-background);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit;}
input,textarea,select{font:inherit;}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-0.01em;color:var(--color-text);}
p{margin:0;}

:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;}

.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);}

.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--color-surface-alt);color:var(--color-text-inverse);padding:12px 20px;z-index:1000;border-radius:0 0 var(--radius-md) 0;}
.skip-link:focus{left:0;}

/* ---------- Type scale ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--color-accent);
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--color-accent);}
.h1{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.06;}
.h2{font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.14;}
.h3{font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.28;}
.lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--color-text-muted);line-height:1.7;max-width:56ch;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 30px;border-radius:2px;
  font-size:14px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
  white-space:nowrap;
}
.btn svg{width:16px;height:16px;transition:transform var(--dur-fast) var(--ease);}
.btn-primary{background:var(--color-surface-alt);color:var(--color-text-inverse);border:1px solid var(--color-surface-alt);}
.btn-primary:hover{background:var(--color-accent);border-color:var(--color-accent);}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-outline{background:transparent;color:var(--color-text);border:1px solid var(--color-border);}
.btn-outline:hover{border-color:var(--color-text);}
.btn-outline.on-dark{color:var(--color-text-inverse);border-color:var(--color-border-inverse);}
.btn-outline.on-dark:hover{border-color:var(--color-text-inverse);}
.btn-text{padding:0;border-bottom:1px solid var(--color-border);text-transform:none;letter-spacing:0;font-size:15px;border-radius:0;}
.btn-text:hover{border-color:var(--color-accent);color:var(--color-accent);}
.btn-text:hover svg{transform:translateX(4px);}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:200;
  background:rgba(247,245,240,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.site-header.is-scrolled{border-color:var(--color-border);box-shadow:var(--shadow-sm);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;height:88px;}
/* Logo — single source of truth for sizing; .logo-fallback only ever
   renders if .logo-img fails to load (see onerror in markup). */
.logo{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;}
.logo-img{display:block;height:50px;width:auto;max-width:200px;flex:0 0 auto;object-fit:contain;}
.logo-badge{display:inline-flex;align-items:center;background:#fff;padding:8px 14px;border-radius:var(--radius-sm);}
.logo-badge .logo-img{height:42px;}
.logo-img.is-broken{display:none;}
.logo-fallback{display:none;align-items:center;min-width:0;font-family:var(--font-display);font-size:clamp(15px,4vw,22px);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.logo-img.is-broken + .logo-fallback{display:flex;}
.logo-fallback b{color:var(--color-accent);font-weight:600;}
.logo-fallback small{display:block;font-family:var(--font-body);font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;margin-top:1px;white-space:nowrap;}
@media (max-width:480px){
  .logo-img{height:38px;}
  .logo-badge .logo-img{height:32px;}
}
@media (max-width:380px){
  .logo-fallback small{display:none;}
}

.main-nav{display:flex;align-items:center;gap:4px;}
.main-nav > ul{display:flex;align-items:center;gap:2px;}
.main-nav > ul > li{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:6px;padding:14px 16px;font-size:14.5px;font-weight:500;color:var(--color-text);
  position:relative;
}
.nav-link::after{content:"";position:absolute;left:16px;right:16px;bottom:10px;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease);}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1);}
.nav-link.has-mega svg{width:10px;height:10px;transition:transform var(--dur-fast) var(--ease);}
li:hover .nav-link.has-mega svg{transform:rotate(180deg);}

.mega{
  position:absolute;top:100%;left:50%;transform:translate(-50%,8px);
  width:min(760px,80vw);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);padding:28px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--dur-med) var(--ease),transform var(--dur-med) var(--ease),visibility var(--dur-med);
}
li:hover .mega,li:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto;}
.mega-col h4{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:14px;}
.mega-col ul{display:flex;flex-direction:column;gap:2px;}
.mega-col a{display:block;padding:9px 10px;border-radius:var(--radius-sm);font-size:14.5px;transition:background var(--dur-fast) var(--ease),padding-left var(--dur-fast) var(--ease);}
.mega-col a:hover{background:var(--color-background);padding-left:16px;color:var(--color-accent);}
.mega-feature{background:var(--color-background);border-radius:var(--radius-md);padding:22px;display:flex;flex-direction:column;gap:12px;}
.mega-feature .tag{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-accent);}
.mega-feature p{color:var(--color-text-muted);font-size:14px;line-height:1.6;}

.header-actions{display:flex;align-items:center;gap:18px;flex:0 0 auto;}
.header-cta{display:none;}
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);}
.menu-toggle .bars{width:18px;height:12px;position:relative;}
.menu-toggle .bars span{position:absolute;left:0;right:0;height:1.5px;background:var(--color-text);transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);}
.menu-toggle .bars span:nth-child(1){top:0;}
.menu-toggle .bars span:nth-child(2){top:5px;}
.menu-toggle .bars span:nth-child(3){top:10px;}
.menu-open .menu-toggle .bars span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.menu-open .menu-toggle .bars span:nth-child(2){opacity:0;}
.menu-open .menu-toggle .bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ---------- Mobile nav ---------- */
.mobile-nav{
  position:fixed;inset:0 0 0 auto;width:min(400px,88vw);height:100vh;background:var(--color-surface-alt);color:var(--color-text-inverse);
  z-index:300;transform:translateX(100%);transition:transform var(--dur-med) var(--ease);
  overflow-y:auto;padding:100px 28px 40px;
}
.menu-open .mobile-nav{transform:translateX(0);}
.mobile-scrim{position:fixed;inset:0;background:var(--color-overlay);z-index:290;opacity:0;visibility:hidden;transition:opacity var(--dur-med) var(--ease),visibility var(--dur-med);}
.menu-open .mobile-scrim{opacity:1;visibility:visible;}
.mobile-nav ul{display:flex;flex-direction:column;}
.mobile-nav > ul > li{border-bottom:1px solid var(--color-border-inverse);}
.mobile-link{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;font-size:17px;font-weight:500;}
.mobile-link svg{width:12px;height:12px;transition:transform var(--dur-fast) var(--ease);}
.mobile-sub{max-height:0;overflow:hidden;transition:max-height var(--dur-med) var(--ease);}
.mobile-sub ul{padding:0 0 14px 12px;gap:2px;}
.mobile-sub a{display:block;padding:10px 6px;font-size:15px;color:var(--color-text-inverse-muted);}
li.open .mobile-sub{max-height:600px;}
li.open .mobile-link svg{transform:rotate(180deg);}
.mobile-close{position:absolute;top:28px;right:28px;width:40px;height:40px;border:1px solid var(--color-border-inverse);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;}
.mobile-cta{margin-top:24px;}

/* ---------- Section rhythm ---------- */
.section{padding:var(--space-3xl) 0;}
.section-tight{padding:var(--space-2xl) 0;}
.section-dark{background:var(--color-surface-alt);color:var(--color-text-inverse);}
.section-dark h1,.section-dark h2,.section-dark h3{color:var(--color-text-inverse);}
.section-dark .lede{color:var(--color-text-inverse-muted);}
.section-alt{background:var(--color-background-alt);}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:var(--space-xl);flex-wrap:wrap;}
.section-head .stack{max-width:640px;}
.section-head .stack .h2{margin-top:14px;}
.section-head .stack .lede{margin-top:14px;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:80ms;}
.reveal-delay-2{transition-delay:160ms;}
.reveal-delay-3{transition-delay:240ms;}

/* ---------- Hero ---------- */
.hero{position:relative;padding:64px 0 var(--space-3xl);overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
.hero-copy .h1{margin-top:20px;}
.hero-copy .lede{margin-top:20px;}
.hero-actions{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;}
.hero-meta{display:flex;gap:36px;margin-top:56px;padding-top:28px;border-top:1px solid var(--color-border);flex-wrap:wrap;}
.hero-meta div b{display:block;font-family:var(--font-display);font-size:1.7rem;color:var(--color-text);}
.hero-meta div span{font-size:13px;color:var(--color-text-muted);}

.visual-frame{position:relative;aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(155deg,#1b2026 0%,#2a2118 55%,#3a2c1c 100%);}
.visual-frame.ratio-16-10{aspect-ratio:16/10;}
.visual-frame.ratio-1-1{aspect-ratio:1/1;}
.visual-frame.ratio-4-3{aspect-ratio:4/3;}
.visual-frame .plate{position:absolute;inset:0;opacity:0.9;}
.visual-frame .grain{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:14px 14px;mix-blend-mode:overlay;opacity:.5;}
.plate-industrial{background:linear-gradient(155deg,#1b2026 0%,#2a2118 55%,#3a2c1c 100%);}
.plate-medical{background:linear-gradient(155deg,#101a1c 0%,#173033 50%,#0d2224 100%);}
.plate-logistics{background:linear-gradient(155deg,#141a22 0%,#1f2b3a 55%,#2c3a4d 100%);}
.plate-people{background:linear-gradient(155deg,#1c1712 0%,#2c2016 55%,#3a2a1a 100%);}
.plate-quality{background:linear-gradient(155deg,#181414 0%,#2a1f18 55%,#3d2c1d 100%);}
.plate-network{background:linear-gradient(155deg,#12181c 0%,#1c2830 55%,#233a3c 100%);}
.plate::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,0.05) 0 1px,transparent 1px 64px);}
.plate::after{content:"";position:absolute;width:180%;height:180%;top:-40%;left:-40%;background:radial-gradient(circle,rgba(156,106,62,0.22) 0%,transparent 60%);}
img.plate{width:100%;height:100%;object-fit:cover;display:block;background:var(--color-background-alt);}
/* Isolated product-cutout renders: contain, not cover, on a soft tinted card background */
img.plate-contain{width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:13%;box-sizing:border-box;}
.tint-a{background:#f2e6d2;}
.tint-b{background:#ece3d4;}
.tint-c{background:#e8e2d8;}

/* Category card variant for isolated product-cutout imagery (light tint, so text
   sits below in normal flow rather than overlaid white-on-photo). */
.cat-card.cutout{aspect-ratio:auto;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);}
.cat-card.cutout::after{content:none;}
.cat-card-cutout{position:relative;aspect-ratio:1/1;overflow:hidden;}
.cat-card.cutout .cat-card-body{position:static;padding:22px;}
.cat-card.cutout .cat-card-body h3{color:var(--color-text);}
.cat-card.cutout .cat-card-body p{color:var(--color-text-muted);}
.cat-card.cutout .cat-index{color:var(--color-accent);opacity:1;}
.cat-card.cutout .cat-link{color:var(--color-text);}
.cat-card.cutout:hover .plate-contain{transform:scale(1.04);}
.plate-contain{transition:transform 700ms var(--ease);}
.visual-frame .badge{position:absolute;left:20px;bottom:20px;background:rgba(247,245,240,0.94);color:var(--color-text);padding:12px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;letter-spacing:0.04em;display:flex;align-items:center;gap:8px;}
.visual-frame .badge .dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);}
.visual-frame:hover .plate{transform:scale(1.03);}
.visual-frame .plate{transition:transform 900ms var(--ease);}

.placeholder-note{margin-top:10px;font-size:11.5px;color:var(--color-text-muted);opacity:.7;}

/* ---------- Hero slider ---------- */
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1100ms var(--ease);}
.hero-slide.is-active{opacity:1;z-index:1;}
.hero-slider-dots{position:absolute;left:20px;bottom:20px;z-index:3;display:flex;gap:8px;}
.hero-slider-dots .dot{width:8px;height:8px;padding:0;border-radius:50%;border:none;background:rgba(255,255,255,0.5);cursor:pointer;transition:background var(--dur-fast) var(--ease),width var(--dur-fast) var(--ease);}
.hero-slider-dots .dot.is-active{background:#fff;width:22px;border-radius:4px;}
.hero-slider-dots .dot:focus-visible{outline:2px solid #fff;outline-offset:2px;}

/* ---------- Trust bar ---------- */
.trust-bar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);}
.trust-bar div{padding:32px 28px;border-left:1px solid var(--color-border);}
.trust-bar div:first-child{border-left:none;}
.trust-bar b{display:block;font-family:var(--font-display);font-size:2rem;color:var(--color-accent);}
.trust-bar span{font-size:13.5px;color:var(--color-text-muted);}

/* ---------- Cards: categories ---------- */
.grid{display:grid;gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

.cat-card{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:3/4;color:var(--color-text-inverse);}
.cat-card .plate{position:absolute;inset:0;transition:transform 700ms var(--ease);}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,12,14,0.88) 0%,rgba(10,12,14,0.15) 55%,rgba(10,12,14,0) 75%);}
.cat-card:hover .plate{transform:scale(1.06);}
.cat-card-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px;}
.cat-index{font-size:12px;letter-spacing:0.1em;color:var(--color-accent-soft);opacity:0.85;}
.cat-card-body h3{margin-top:8px;color:var(--color-text-inverse);}
.cat-card-body p{margin-top:8px;font-size:13.5px;color:var(--color-text-inverse-muted);max-width:34ch;}
.cat-link{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;}
.cat-link svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease);}
.cat-card:hover .cat-link svg{transform:translateX(4px);}

/* ---------- Product cards ---------- */
.product-card{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);transition:box-shadow var(--dur-med) var(--ease),transform var(--dur-med) var(--ease),border-color var(--dur-med) var(--ease);}
.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:transparent;}
.product-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--color-background-alt);}
.product-thumb .plate{position:absolute;inset:0;transition:transform 700ms var(--ease);}
.product-card:hover .product-thumb .plate{transform:scale(1.07);}
.product-tag{position:absolute;top:14px;left:14px;background:var(--color-surface-alt);color:var(--color-text-inverse);font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:6px 10px;border-radius:2px;z-index:2;}
.product-body{padding:22px;}
.product-body .cat{font-size:11.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-muted);}
.product-body h3{margin-top:8px;font-size:1.1rem;}
.product-body p{margin-top:8px;font-size:13.8px;color:var(--color-text-muted);}
.product-body .row{margin-top:16px;display:flex;align-items:center;justify-content:space-between;}
.product-body .arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);}
.product-body .arrow svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease);}
.product-card:hover .arrow{background:var(--color-surface-alt);border-color:var(--color-surface-alt);}
.product-card:hover .arrow svg{transform:translateX(3px) rotate(-45deg);color:var(--color-text-inverse);}

/* ---------- Why choose us ---------- */
.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--color-border-inverse);border-radius:var(--radius-md);overflow:hidden;}
.feature-cell{background:var(--color-surface-alt);padding:36px 28px;}
.feature-cell .num{font-family:var(--font-display);font-size:14px;color:var(--color-accent);}
.feature-cell h3{margin-top:18px;font-size:1.15rem;color:var(--color-text-inverse);}
.feature-cell p{margin-top:12px;font-size:14px;color:var(--color-text-inverse-muted);}

/* ---------- Industry split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-radius:var(--radius-lg);overflow:hidden;}
.split .visual-frame{border-radius:0;aspect-ratio:auto;height:100%;min-height:420px;}
.split-copy{background:var(--color-surface);padding:56px;display:flex;flex-direction:column;justify-content:center;}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.chip{border:1px solid var(--color-border);border-radius:2px;padding:9px 14px;font-size:13px;color:var(--color-text-muted);}

/* ---------- Brand strip ---------- */
.brand-strip{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;}
.brand-cell{padding:26px 18px;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--color-border);opacity:.7;transition:opacity var(--dur-fast) var(--ease);}
.brand-cell:first-child{border-left:none;}
.brand-cell:hover{opacity:1;}
.brand-cell svg{height:26px;width:auto;}

/* ---------- Project cards ---------- */
.project-card{display:grid;grid-template-columns:0.9fr 1.1fr;gap:0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);}
.project-card .visual-frame{border-radius:0;aspect-ratio:auto;height:100%;min-height:260px;}
.project-body{padding:36px;display:flex;flex-direction:column;justify-content:center;}
.project-meta{display:flex;gap:16px;font-size:12.5px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.06em;}

/* ---------- News cards ---------- */
.news-card{display:flex;flex-direction:column;}
.news-thumb{position:relative;aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;}
.news-thumb .plate{position:absolute;inset:0;transition:transform 700ms var(--ease);}
.news-card:hover .news-thumb .plate{transform:scale(1.06);}
.news-cat{position:absolute;top:14px;left:14px;background:var(--color-surface);font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:6px 10px;border-radius:2px;z-index:2;}
.news-card .meta{margin-top:16px;font-size:12.5px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;}
.news-card h3{margin-top:10px;font-size:1.2rem;}
.news-card p{margin-top:10px;font-size:14px;color:var(--color-text-muted);}

/* ---------- CTA band ---------- */
.cta-band{border-radius:var(--radius-lg);background:var(--color-surface-alt);color:var(--color-text-inverse);padding:64px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 0%,rgba(156,106,62,0.28),transparent 70%);}
.cta-band > *{position:relative;z-index:1;}

/* ---------- Breadcrumbs ---------- */
.page-hero{background:var(--color-surface-alt);color:var(--color-text-inverse);padding:56px 0 44px;}
.breadcrumb{display:flex;gap:8px;font-size:13px;color:var(--color-text-inverse-muted);flex-wrap:wrap;}
.breadcrumb a:hover{color:var(--color-text-inverse);}
.page-hero h1{margin-top:16px;color:var(--color-text-inverse);}
.page-hero .lede{color:var(--color-text-inverse-muted);margin-top:14px;}

/* ---------- Content prose ---------- */
.prose{max-width:760px;}
.prose p + p{margin-top:18px;}
.prose h2,.prose h3{margin-top:40px;margin-bottom:14px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.stat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px;}
.stat-list div{border-top:1px solid var(--color-border);padding-top:16px;}
.stat-list b{display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--color-accent);}
.stat-list span{font-size:13px;color:var(--color-text-muted);}

/* ---------- Sidebar / filters (products listing) ---------- */
.shop-layout{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:start;}
.filter-block{border-top:1px solid var(--color-border);padding:20px 0;}
.filter-block h4{font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:14px;}
.filter-block label{display:flex;align-items:center;gap:10px;font-size:14.5px;padding:6px 0;color:var(--color-text-muted);}
.pagination{display:flex;gap:8px;margin-top:var(--space-lg);}
.pagination a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13.5px;}
.pagination a[aria-current]{background:var(--color-surface-alt);color:var(--color-text-inverse);border-color:var(--color-surface-alt);}

/* ---------- Product detail ---------- */
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.pd-thumbs{display:flex;gap:12px;margin-top:14px;}
.pd-thumbs .visual-frame{aspect-ratio:1/1;width:84px;border-radius:var(--radius-sm);}
.pd-price{display:flex;align-items:baseline;gap:12px;margin-top:16px;}
.pd-price .now{font-family:var(--font-display);font-size:2rem;color:var(--color-accent);}
.pd-price .was{font-size:15px;color:var(--color-text-muted);text-decoration:line-through;}
.pd-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.spec-table{width:100%;border-collapse:collapse;margin-top:24px;}
.spec-table tr{border-top:1px solid var(--color-border);}
.spec-table td{padding:12px 0;font-size:14.5px;}
.spec-table td:first-child{color:var(--color-text-muted);width:40%;}

/* ---------- Tabs ---------- */
.tabs{display:flex;gap:32px;border-bottom:1px solid var(--color-border);margin-top:var(--space-2xl);}
.tab{padding:0 0 16px;font-size:14px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;}
.tab.active{color:var(--color-text);border-color:var(--color-accent);}
.tab-panel{padding-top:32px;}

/* ---------- Form ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:var(--color-text-muted);}
.field input,.field textarea,.field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px 16px;background:var(--color-surface);color:var(--color-text);transition:border-color var(--dur-fast) var(--ease);}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-accent);}
.field-note{font-size:12.5px;color:var(--color-text-muted);}
.form-status{margin-top:16px;font-size:14px;}
.contact-info{display:flex;flex-direction:column;gap:22px;}
.contact-info .item{display:flex;gap:16px;align-items:flex-start;}
.contact-info .icon{width:40px;height:40px;border-radius:50%;background:var(--color-background-alt);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.contact-info .icon svg{width:17px;height:17px;color:var(--color-accent);}
.contact-info h4{font-size:14px;margin-bottom:4px;}
.contact-info p{font-size:14.5px;color:var(--color-text-muted);}
.map-frame{aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;margin-top:32px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--color-surface-alt);color:var(--color-text-inverse);padding-top:var(--space-2xl);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-border-inverse);}
.footer-brand p{margin-top:18px;color:var(--color-text-inverse-muted);font-size:14.5px;max-width:32ch;}
.footer-social{display:flex;gap:10px;margin-top:24px;}
.footer-social a{width:36px;height:36px;border:1px solid var(--color-border-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);}
.footer-social a:hover{background:var(--color-accent);border-color:var(--color-accent);}
.footer-social svg{width:15px;height:15px;}
.footer-col h4{font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-inverse-muted);margin-bottom:18px;}
.footer-col ul{display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:14.5px;color:var(--color-text-inverse-muted);transition:color var(--dur-fast) var(--ease);}
.footer-col a:hover{color:var(--color-text-inverse);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;color:var(--color-text-inverse-muted);flex-wrap:wrap;gap:12px;}
.footer-legal{display:flex;gap:20px;}
.back-to-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),visibility var(--dur-fast);z-index:150;}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* ---------- Utility ---------- */
.mt-0{margin-top:0 !important;}
.text-muted{color:var(--color-text-muted);}
.center{text-align:center;margin-left:auto;margin-right:auto;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;}
  .visual-frame{max-width:560px;}
  .feature-row{grid-template-columns:repeat(2,1fr);}
  .trust-bar{grid-template-columns:repeat(2,1fr);}
  .trust-bar div:nth-child(3){border-left:none;}
  .split{grid-template-columns:1fr;}
  .split .visual-frame{min-height:280px;}
  .project-card{grid-template-columns:1fr;}
  .project-card .visual-frame{min-height:220px;}
  .shop-layout{grid-template-columns:1fr;}
  .pd-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .brand-strip{grid-template-columns:repeat(3,1fr);}
  .brand-cell:nth-child(4){border-left:none;}
}

@media (max-width:900px){
  .main-nav,.header-cta{display:none;}
  .menu-toggle{display:flex;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px;}
}

@media (max-width:640px){
  :root{--space-3xl:88px;--space-2xl:64px;}
  .header-inner{height:76px;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .cta-band{padding:40px 28px;flex-direction:column;align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .form-grid{grid-template-columns:1fr;}
  .stat-list{grid-template-columns:1fr;}
  .brand-strip{grid-template-columns:repeat(2,1fr);}
  .brand-cell:nth-child(3){border-left:none;}
  .section-head{align-items:flex-start;}
  .split-copy{padding:32px 24px;}
  .project-body{padding:28px 24px;}
}
