/* ============================================================
   RIMAC — Rimal Management & Services Company
   Full Stylesheet v3
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&family=Outfit:wght@200;300;400;500;600;700;800&display=swap');

/* ─── VARIABLES ──────────────────────────────────────────── */
:root {
  --gold:       #C9A84C;
  --gold-lt:    #E2C06A;
  --gold-dk:    #9A7A2E;
  --gold-05:    rgba(201,168,76,.05);
  --gold-10:    rgba(201,168,76,.10);
  --gold-20:    rgba(201,168,76,.20);
  --gold-30:    rgba(201,168,76,.30);
  --gold-40:    rgba(201,168,76,.40);
  --ink:        #080808;
  --ink2:       #101010;
  --ink3:       #181818;
  --ink4:       #202020;
  --ink5:       #2a2a2a;
  --white:      #ffffff;
  --w90:        rgba(255,255,255,.90);
  --w70:        rgba(255,255,255,.70);
  --w50:        rgba(255,255,255,.50);
  --w30:        rgba(255,255,255,.30);
  --w15:        rgba(255,255,255,.15);
  --w08:        rgba(255,255,255,.08);
  --w04:        rgba(255,255,255,.04);
  --border:     rgba(201,168,76,.18);
  --border-w:   rgba(255,255,255,.08);
  --f-serif:    'Cormorant Garamond', Georgia, serif;
  --f-sans:     'Outfit', system-ui, sans-serif;
  --nav-h:      84px;
  --ease:       cubic-bezier(.4,0,.2,1);
  --ease-out:   cubic-bezier(0,0,.2,1);
  --t:          .3s var(--ease);
  --tl:         .5s var(--ease);
  --r:          2px;
  --pad:        clamp(24px,5vw,80px);
  --max-w:      1380px;
}

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--f-sans);background:var(--ink);color:var(--white);overflow-x:hidden;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
input,textarea,select{font-family:inherit}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--ink2)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
::selection{background:var(--gold);color:var(--ink)}

/* ─── UTILITY ────────────────────────────────────────────── */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(64px,9vw,120px) 0}
.sec-sm{padding:clamp(40px,5vw,72px) 0}
.text-c{text-align:center}

/* Eyebrow */
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;
}
.eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--gold)}

/* Headings */
.h-xl{font-family:var(--f-serif);font-size:clamp(44px,7vw,96px);font-weight:300;line-height:1.0;letter-spacing:-2px}
.h-lg{font-family:var(--f-serif);font-size:clamp(36px,5vw,68px);font-weight:300;line-height:1.05;letter-spacing:-1px}
.h-md{font-family:var(--f-serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;line-height:1.1;letter-spacing:-.5px}
.h-xl em,.h-lg em,.h-md em{font-style:italic;color:var(--gold)}

/* Divider */
.div{width:52px;height:1px;background:var(--gold);margin:20px 0}
.div.c{margin:20px auto}

/* Body text */
.body-lg{font-size:clamp(14px,1.4vw,16px);color:var(--w70);line-height:1.9}
.body-md{font-size:13.5px;color:var(--w50);line-height:1.85}

/* ─── BUTTONS ────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 34px;font-size:11px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;
  transition:var(--t);position:relative;overflow:hidden;cursor:pointer;
}
.btn span,.btn svg{position:relative;z-index:1}
.btn svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn::before{
  content:'';position:absolute;inset:0;
  transform:translateX(-101%);transition:transform .4s var(--ease-out);
}
.btn:hover::before{transform:translateX(0)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold::before{background:var(--gold-lt)}
.btn-outline{border:1px solid var(--gold);color:var(--gold)}
.btn-outline::before{background:var(--gold)}
.btn-outline:hover{color:var(--ink)}
.btn-ghost{border:1px solid var(--border-w);color:var(--w70)}
.btn-ghost::before{background:var(--w08)}
.btn-ghost:hover{color:var(--white);border-color:var(--gold)}
.btn-sm{padding:10px 22px;font-size:10px;letter-spacing:2px}

/* ─── REVEAL ANIMATIONS ──────────────────────────────────── */
.rv{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.on{opacity:1;transform:translateY(0)}
.rv-l{opacity:0;transform:translateX(-32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-l.on{opacity:1;transform:translateX(0)}
.rv-r{opacity:0;transform:translateX(32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-r.on{opacity:1;transform:translateX(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ─── LOADER ─────────────────────────────────────────────── */
#loader{
  position:fixed;inset:0;background:var(--ink);z-index:99999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  transition:opacity .6s var(--ease),visibility .6s;
}
#loader.out{opacity:0;visibility:hidden;pointer-events:none}
.loader-mark{
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.loader-mark img{height:56px;width:auto;display:none}
.loader-word{font-family:var(--f-serif);font-size:48px;font-weight:700;letter-spacing:12px;color:var(--gold)}
.loader-sub{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--w30)}
.loader-bar{width:120px;height:1px;background:var(--ink4);position:relative;overflow:hidden}
.loader-bar::after{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  animation:sweep 1.4s ease-in-out infinite;
}
@keyframes sweep{to{left:100%}}

/* ─── NAVIGATION ─────────────────────────────────────────── */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:var(--nav-h);display:flex;align-items:center;
  transition:height var(--t),background var(--t),border-color var(--t);
  border-bottom:1px solid transparent;
}
#nav.scrolled{
  height:68px;
  background:rgba(8,8,8,.96);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom-color:var(--border);
}
.nav-inner{
  max-width:var(--max-w);width:100%;margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}

/* Logo */
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;cursor:pointer}
.nav-logo-img{height:46px;width:auto;object-fit:contain;transition:height var(--t);display:none}
#nav.scrolled .nav-logo-img{height:38px}
.nav-logo-text-wrap{display:flex;flex-direction:column;line-height:1}
.nav-logo-main{font-family:var(--f-serif);font-size:32px;font-weight:700;letter-spacing:8px;color:var(--gold);transition:font-size var(--t)}
.nav-logo-sub{font-size:7.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--w30);margin-top:2px}
#nav.scrolled .nav-logo-main{font-size:26px}

/* Desktop Menu */
.nav-links{display:flex;align-items:center;gap:2px}
.nav-link{
  padding:10px 15px;
  font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--w70);transition:color var(--t);position:relative;white-space:nowrap;
}
.nav-link::after{
  content:'';position:absolute;bottom:5px;left:15px;right:15px;
  height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out);
}
.nav-link:hover,.nav-link.act{color:var(--gold)}
.nav-link:hover::after,.nav-link.act::after{transform:scaleX(1)}

/* CTA button in nav */
.nav-cta-btn{
  padding:11px 24px;
  font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  background:var(--gold);color:var(--ink);
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
  transition:background var(--t);white-space:nowrap;
}
.nav-cta-btn:hover{background:var(--gold-lt)}

/* Hamburger */
.nav-ham{
  display:none;flex-direction:column;gap:5px;
  padding:8px;cursor:pointer;
}
.nav-ham span{
  display:block;width:24px;height:1.5px;
  background:var(--white);transition:var(--t);transform-origin:center;
}
.nav-ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile panel */
.mob-panel{
  position:fixed;inset:0;background:var(--ink);z-index:890;
  display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--nav-h) + 24px) var(--pad) 48px;
  transform:translateX(100%);transition:transform .45s var(--ease);
  overflow-y:auto;
}
.mob-panel.open{transform:none}
.mob-nav-link{
  display:block;padding:16px 0;
  font-family:var(--f-serif);font-size:clamp(28px,7vw,44px);font-weight:300;
  color:var(--w80);border-bottom:1px solid var(--border-w);
  transition:color var(--t),padding-left var(--t);
}
.mob-nav-link:hover{color:var(--gold);padding-left:12px}
.mob-footer{margin-top:40px;font-size:12px;color:var(--w30);letter-spacing:1px;line-height:2}

/* ─── SLIDER ─────────────────────────────────────────────── */
#slider{
  position:relative;height:100vh;min-height:600px;
  overflow:hidden;background:var(--ink);
}

/* Individual slide */
.slide{
  position:absolute;inset:0;z-index:1;
  opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility .9s;
}
.slide.active{opacity:1;visibility:visible;z-index:2}

/* Media layer */
.slide-media{position:absolute;inset:0;overflow:hidden}
.slide-media img,.slide-media video{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.06);transition:transform 9s var(--ease);
}
.slide.active .slide-media img,
.slide.active .slide-media video{transform:scale(1)}

/* YouTube embed */
.slide-yt{
  position:absolute;inset:0;overflow:hidden;background:#000;
}
.slide-yt iframe{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:177.78vh;height:100vh;
  min-width:100%;min-height:56.25vw;
  border:none;pointer-events:none;
}

/* Fallback geometric bg */
.slide-fallback{
  position:absolute;inset:0;
  background:linear-gradient(145deg,#0a0e17 0%,#111820 40%,#0d1219 70%,#0a0e17 100%);
}
.slide-fallback::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 60% 40%,rgba(201,168,76,.07) 0%,transparent 60%),
    linear-gradient(rgba(201,168,76,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.02) 1px,transparent 1px);
  background-size:100%,56px 56px,56px 56px;
}
/* Hex decoration on fallback */
.slide-fallback::after{
  content:'';position:absolute;
  top:-10%;right:-4%;width:55vw;height:110vh;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 460'%3E%3Cpolygon points='200,10 390,110 390,350 200,450 10,350 10,110' fill='none' stroke='rgba(201,168,76,.08)' stroke-width='1'/%3E%3Cpolygon points='200,40 360,130 360,330 200,420 40,330 40,130' fill='none' stroke='rgba(201,168,76,.04)' stroke-width='1'/%3E%3Cpolygon points='200,80 320,160 320,300 200,380 80,300 80,160' fill='none' stroke='rgba(201,168,76,.03)' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events:none;
}

/* Overlay */
.slide-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}

/* Content */
.slide-content{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;justify-content:center;
  max-width:var(--max-w);margin:0 auto;
  padding:var(--nav-h) var(--pad) 120px;
  width:100%;
}
.slide-eye{
  font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
  display:flex;align-items:center;gap:12px;
  opacity:0;transform:translateY(16px);
  transition:opacity .5s .3s,transform .5s .3s;
}
.slide-eye::before{content:'';display:block;width:28px;height:1px;background:var(--gold)}
.slide.active .slide-eye{opacity:1;transform:none}

.slide-title{
  font-family:var(--f-serif);
  font-size:clamp(46px,7.5vw,100px);
  font-weight:300;line-height:.97;letter-spacing:-2.5px;
  max-width:820px;margin-bottom:24px;
  opacity:0;transform:translateY(24px);
  transition:opacity .6s .5s,transform .6s .5s;
}
.slide.active .slide-title{opacity:1;transform:none}
.slide-title em{font-style:italic;color:var(--gold);display:block}

.slide-sub{
  font-size:clamp(14px,1.6vw,17px);color:var(--w60);max-width:560px;
  line-height:1.8;margin-bottom:44px;
  opacity:0;transform:translateY(16px);
  transition:opacity .6s .7s,transform .6s .7s;
}
.slide.active .slide-sub{opacity:1;transform:none}

.slide-btns{
  display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(12px);
  transition:opacity .5s .9s,transform .5s .9s;
}
.slide.active .slide-btns{opacity:1;transform:none}

/* Slider UI */
.sl-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--gold);z-index:10;transition:width .1s linear}
.sl-counter{
  position:absolute;bottom:44px;left:var(--pad);z-index:10;
  display:flex;align-items:baseline;gap:6px;color:var(--w40);
}
.sl-cur{font-family:var(--f-serif);font-size:36px;font-weight:300;color:var(--gold);line-height:1}
.sl-sep{font-size:13px}
.sl-tot{font-size:14px}

.sl-dots{
  position:absolute;bottom:44px;left:50%;transform:translateX(-50%);
  z-index:10;display:flex;gap:8px;align-items:center;
}
.sl-dot{
  width:24px;height:2px;background:var(--w20);
  cursor:pointer;transition:var(--t);
}
.sl-dot.on{background:var(--gold);width:48px}

.sl-arrows{
  position:absolute;bottom:36px;right:var(--pad);z-index:10;
  display:flex;gap:6px;
}
.sl-arr{
  width:44px;height:44px;border:1px solid var(--border-w);
  display:flex;align-items:center;justify-content:center;
  font-size:17px;color:var(--w50);cursor:pointer;
  transition:var(--t);background:rgba(8,8,8,.3);
}
.sl-arr:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-10)}

/* Stats bar */
.sl-stats{
  position:absolute;bottom:0;left:0;right:0;z-index:10;
  background:rgba(8,8,8,.82);backdrop-filter:blur(12px);
  border-top:1px solid var(--border);
  display:flex;justify-content:center;
}
.sl-stats-inner{
  display:grid;grid-template-columns:repeat(4,1fr);
  max-width:960px;width:100%;
}
.stat-item{
  padding:20px 16px;text-align:center;
  border-right:1px solid var(--border);
}
.stat-item:last-child{border-right:none}
.stat-val{
  display:block;font-family:var(--f-serif);
  font-size:36px;font-weight:600;color:var(--gold);line-height:1;
}
.stat-lbl{
  display:block;font-size:9px;letter-spacing:2px;
  text-transform:uppercase;color:var(--w40);margin-top:5px;
}

/* ─── ABOUT ──────────────────────────────────────────────── */
#about{background:var(--ink2)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.about-visual{position:relative}
.about-stack{position:relative;height:560px}

.about-main{
  position:absolute;top:0;left:0;width:74%;height:76%;
  overflow:hidden;background:var(--ink3);
}
.about-main img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:transform .8s var(--ease),filter .5s}
.about-main:hover img{transform:scale(1.04);filter:grayscale(0)}

.about-accent{
  position:absolute;bottom:0;right:0;width:52%;height:50%;
  overflow:hidden;background:var(--ink4);border:4px solid var(--ink2);
}
.about-accent img{width:100%;height:100%;object-fit:cover}

/* SVG placeholder art */
.about-art{width:100%;height:100%;object-fit:cover}

.about-badge{
  position:absolute;bottom:48px;left:-16px;z-index:2;
  width:110px;height:110px;background:var(--gold);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.badge-num{font-family:var(--f-serif);font-size:30px;font-weight:700;color:var(--ink);line-height:1}
.badge-txt{font-size:7px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:rgba(0,0,0,.6);margin-top:3px}

.about-hi{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}
.hi-item{padding:16px 18px;border:1px solid var(--border);background:var(--w04);transition:var(--t)}
.hi-item:hover{border-color:var(--gold);background:var(--gold-05)}
.hi-ico{font-size:18px;margin-bottom:8px}
.hi-title{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.hi-desc{font-size:12px;color:var(--w50);line-height:1.55}

.vision-box{padding:24px 28px;border-left:2px solid var(--gold);background:var(--gold-05);margin-top:24px}
.vision-box h4{font-family:var(--f-serif);font-size:19px;font-weight:400;font-style:italic;color:var(--gold);margin-bottom:8px}
.vision-box p{font-size:13px;color:var(--w50);line-height:1.8}

/* ─── SERVICES ───────────────────────────────────────────── */
#services{background:var(--ink)}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}
.svc-intro{max-width:340px;font-size:14px;color:var(--w50);line-height:1.85;text-align:right}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}

.svc-card{
  background:var(--ink2);padding:44px 36px;
  position:relative;overflow:hidden;transition:background var(--t);cursor:default;
}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.svc-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(201,168,76,.05),transparent 60%);
  opacity:0;transition:opacity .4s;
}
.svc-card:hover::before{transform:scaleX(1)}
.svc-card:hover::after{opacity:1}
.svc-card:hover{background:var(--ink3)}

.svc-n{font-family:var(--f-serif);font-size:64px;font-weight:300;color:rgba(201,168,76,.07);line-height:1;margin-bottom:16px;transition:color var(--t)}
.svc-card:hover .svc-n{color:rgba(201,168,76,.15)}
.svc-ico{width:44px;height:44px;margin-bottom:20px;stroke:var(--gold);fill:none;stroke-width:1.2}
.svc-title{font-family:var(--f-serif);font-size:24px;font-weight:400;margin-bottom:12px;transition:color var(--t)}
.svc-card:hover .svc-title{color:var(--gold)}
.svc-desc{font-size:13px;color:var(--w50);line-height:1.8;margin-bottom:22px}
.svc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
.svc-tag{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border:1px solid rgba(201,168,76,.2);color:var(--w40);transition:var(--t)}
.svc-card:hover .svc-tag{border-color:rgba(201,168,76,.45);color:var(--gold)}
.svc-more{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.svc-more svg{width:12px;transition:transform .3s}
.svc-card:hover .svc-more svg{transform:translateX(4px)}

.svc-add{
  border:1px dashed rgba(201,168,76,.15);background:transparent;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:48px 36px;cursor:pointer;transition:var(--t);min-height:260px;
}
.svc-add:hover{border-color:var(--gold);background:var(--gold-05)}
.svc-plus{
  width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;color:var(--gold);margin:0 auto 14px;transition:var(--t);
}
.svc-add:hover .svc-plus{background:var(--gold);color:var(--ink)}
.svc-add-lbl{font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--w30)}

/* ─── QUALITY ────────────────────────────────────────────── */
#quality{background:var(--ink3);border-top:1px solid var(--border-w);border-bottom:1px solid var(--border-w)}
.qual-grid{display:grid;grid-template-columns:1fr 2fr;gap:72px;align-items:center}
.qual-quote{
  font-family:var(--f-serif);font-size:clamp(18px,2.2vw,26px);
  font-weight:300;font-style:italic;color:var(--w80);
  line-height:1.6;padding-left:24px;border-left:2px solid var(--gold);
}
.qual-badges{display:flex;gap:20px;margin-top:32px;flex-wrap:wrap}
.qual-badge{text-align:center}
.qual-badge-val{font-family:var(--f-serif);font-size:38px;font-weight:600;color:var(--gold);line-height:1}
.qual-badge-lbl{font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:var(--w30);margin-top:3px}

/* ─── CUSTOM SECTIONS HOST ───────────────────────────────── */
#custom-host{}

/* Custom section layouts */
.cs{position:relative;overflow:hidden}
.cs .cs-inner{position:relative;z-index:1}

.cs-text-only .cs-box{max-width:760px;margin:0 auto;text-align:center}
.cs-img-left .cs-two,
.cs-img-right .cs-two{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.cs-img-right .cs-two{direction:rtl}
.cs-img-right .cs-two>*{direction:ltr}
.cs-fw .cs-media-fw{width:100%;aspect-ratio:16/6;overflow:hidden}
.cs-fw .cs-media-fw img,.cs-fw .cs-media-fw video{width:100%;height:100%;object-fit:cover}
.cs-fw .cs-box{max-width:800px;margin:48px auto 0;text-align:center}
.cs-cards .cs-box{max-width:800px;margin:0 auto 48px;text-align:center}
.cs-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.cs-card-item{background:var(--ink3);border:1px solid var(--border-w);padding:32px 26px;transition:var(--t)}
.cs-card-item:hover{border-color:var(--border);background:var(--ink4)}
.cs-card-ico{font-size:26px;margin-bottom:14px}
.cs-card-title{font-family:var(--f-serif);font-size:20px;font-weight:400;margin-bottom:10px}
.cs-card-text{font-size:13px;color:var(--w50);line-height:1.75}

.cs-media-wrap{overflow:hidden;position:relative;background:var(--ink3);border:1px solid var(--border-w)}
.cs-media-wrap img,.cs-media-wrap video{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cs-media-wrap:hover img{transform:scale(1.03)}
.cs-media-wrap.has-play::before{
  content:'▶';position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;z-index:2;
  width:64px;height:64px;margin:auto;
  background:var(--gold);color:var(--ink);font-size:18px;padding-left:4px;border-radius:50%;
  cursor:pointer;transition:transform var(--t);
}
.cs-media-wrap.has-play:hover::before{transform:scale(1.1)}
.cs-yt-wrap{position:relative;aspect-ratio:16/9}
.cs-yt-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.cs-title{font-family:var(--f-serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;line-height:1.1;margin-bottom:16px}
.cs-title em{font-style:italic;color:var(--gold)}
.cs-para{font-size:15px;color:var(--w70);line-height:1.9;margin-top:14px}
.cs-cta{margin-top:28px}

/* ─── SECTORS ────────────────────────────────────────────── */
#sectors{background:var(--ink2)}
.sec-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:64px}
.sct-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.sct-item{
  background:var(--ink3);padding:28px 16px;text-align:center;
  transition:background var(--t);position:relative;overflow:hidden;
}
.sct-item::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .35s var(--ease-out);
}
.sct-item:hover::after{transform:scaleX(1)}
.sct-item:hover{background:var(--ink4)}
.sct-ico{font-size:28px;margin-bottom:12px;transition:transform var(--t)}
.sct-item:hover .sct-ico{transform:scale(1.14) translateY(-2px)}
.sct-lbl{font-size:12px;font-weight:500;color:var(--w60);line-height:1.3;transition:color var(--t)}
.sct-item:hover .sct-lbl{color:var(--gold)}

/* ─── CLIENTS ────────────────────────────────────────────── */
#clients{background:var(--ink)}
.marquee-wrap{
  overflow:hidden;position:relative;margin:52px 0;
}
.marquee-wrap::before,.marquee-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:130px;z-index:2;pointer-events:none;
}
.marquee-wrap::before{left:0;background:linear-gradient(to right,var(--ink),transparent)}
.marquee-wrap::after{right:0;background:linear-gradient(to left,var(--ink),transparent)}
.marquee-track{display:flex;width:max-content;animation:mq 36s linear infinite}
.marquee-track:hover{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.cli-tile{
  width:184px;height:88px;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid var(--border-w);margin:0 1px;padding:12px;
  text-align:center;transition:var(--t);
}
.cli-tile:hover{border-color:var(--border);background:var(--gold-05)}
.cli-name{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--w40);transition:color var(--t)}
.cli-tile:hover .cli-name{color:var(--gold)}
.cli-sec{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--w15);margin-top:3px}

/* ─── WHY RIMAC ──────────────────────────────────────────── */
#why{background:var(--ink2);position:relative;overflow:hidden}
.why-bg{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--f-serif);font-size:clamp(80px,15vw,180px);font-weight:700;
  color:rgba(201,168,76,.025);white-space:nowrap;pointer-events:none;letter-spacing:-4px;
}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:relative;z-index:1}
.why-item{
  background:var(--ink3);padding:48px 44px;
  display:flex;gap:24px;transition:background var(--t);position:relative;overflow:hidden;
}
.why-item::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(201,168,76,.04),transparent);
  opacity:0;transition:opacity var(--t);
}
.why-item:hover::before{opacity:1}
.why-item:hover{background:var(--ink4)}
.why-num{font-family:var(--f-serif);font-size:50px;font-weight:700;color:var(--gold);line-height:1;flex-shrink:0;width:56px}
.why-cnt h3{font-family:var(--f-serif);font-size:20px;font-weight:400;margin-bottom:8px}
.why-cnt p{font-size:13px;color:var(--w50);line-height:1.8}

/* ─── CERTS ──────────────────────────────────────────────── */
.certs-bar{
  background:var(--ink4);border-top:1px solid var(--border-w);border-bottom:1px solid var(--border-w);
  padding:44px var(--pad);display:flex;align-items:center;justify-content:center;
  gap:14px;flex-wrap:wrap;
}
.cert{
  padding:8px 20px;border:1px solid rgba(201,168,76,.2);
  font-size:9.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--w40);transition:var(--t);
}
.cert:hover{border-color:var(--gold);color:var(--gold)}

/* ─── CONTACT ────────────────────────────────────────────── */
#contact{background:var(--ink)}
.cntc-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start}
.cntc-items{margin-top:36px;display:flex;flex-direction:column;gap:18px}
.cntc-item{display:flex;gap:14px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--border-w)}
.cntc-item:last-child{border-bottom:none}
.cntc-ico{width:42px;height:42px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:16px;flex-shrink:0}
.cntc-lbl{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--w30);margin-bottom:2px}
.cntc-val{font-size:14px;color:var(--w80)}
.cntc-val a{transition:color var(--t)}
.cntc-val a:hover{color:var(--gold)}

/* Form */
.form-box{background:var(--ink2);border:1px solid var(--border-w);padding:44px}
.form-title{font-family:var(--f-serif);font-size:24px;font-weight:400;margin-bottom:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg{margin-bottom:14px}
.fl{display:block;font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--w40);margin-bottom:6px}
.fi,.fs,.ft{
  width:100%;background:var(--ink3);border:1px solid var(--border-w);
  padding:12px 15px;font-size:13.5px;color:var(--white);outline:none;transition:border-color var(--t);
  -webkit-appearance:none;appearance:none;font-family:var(--f-sans);
}
.fi::placeholder,.ft::placeholder{color:rgba(255,255,255,.18)}
.fi:focus,.fs:focus,.ft:focus{border-color:var(--gold)}
.ft{resize:vertical;min-height:100px}
.fs{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23C9A84C' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer;
}
.fs option{background:var(--ink3)}
.form-submit{
  width:100%;padding:15px;margin-top:4px;
  background:var(--gold);color:var(--ink);border:none;
  font-family:var(--f-sans);font-size:11px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:background var(--t);
}
.form-submit:hover{background:var(--gold-lt)}
.form-submit:disabled{opacity:.6;cursor:not-allowed}
.form-msg{display:none;margin-top:12px;padding:11px 14px;font-size:13px;border-left:3px solid var(--gold)}
.form-msg.ok{background:var(--gold-05);color:var(--gold);display:block}
.form-msg.err{background:rgba(255,60,60,.05);border-color:#f44;color:#f77;display:block}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{background:var(--ink2);border-top:1px solid var(--border-w);padding:72px 0 32px}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:52px}
.ft-logo-img{height:48px;width:auto;object-fit:contain;margin-bottom:14px;display:none}
.ft-logo-word{font-family:var(--f-serif);font-size:30px;font-weight:700;letter-spacing:7px;color:var(--gold);line-height:1}
.ft-logo-sub{font-size:7px;letter-spacing:2.5px;text-transform:uppercase;color:var(--w30);margin-top:1px;margin-bottom:16px}
.ft-desc{font-size:12.5px;color:var(--w40);line-height:1.9;max-width:270px;margin-bottom:22px}
.ft-soc{display:flex;gap:8px}
.ft-soc-btn{
  width:34px;height:34px;border:1px solid var(--border-w);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;color:var(--w40);transition:var(--t);
}
.ft-soc-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-05)}
.ft-col h4{font-size:9px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.ft-links{display:flex;flex-direction:column;gap:9px}
.ft-link{
  font-size:12.5px;color:var(--w40);transition:var(--t);
  display:flex;align-items:center;gap:7px;
}
.ft-link::before{content:'';width:0;height:1px;background:var(--gold);transition:width .3s var(--ease-out);flex-shrink:0}
.ft-link:hover{color:var(--gold);padding-left:4px}
.ft-link:hover::before{width:12px}
.ft-bottom{border-top:1px solid var(--border-w);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.ft-copy{font-size:11.5px;color:var(--w30)}
.ft-copy span{color:var(--gold)}
.ft-legal{display:flex;gap:18px}
.ft-legal a{font-size:11px;color:var(--w30);letter-spacing:1px;transition:color var(--t)}
.ft-legal a:hover{color:var(--gold)}

/* ─── ADMIN FAB ──────────────────────────────────────────── */
.adm-fab{
  position:fixed;bottom:26px;right:26px;z-index:800;
  width:50px;height:50px;background:var(--gold);color:var(--ink);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:19px;box-shadow:0 4px 20px rgba(201,168,76,.35);
  transition:var(--t);cursor:pointer;
}
.adm-fab:hover{transform:scale(1.1) rotate(15deg);background:var(--gold-lt)}
.adm-fab-tip{
  position:absolute;right:58px;top:50%;transform:translateY(-50%);
  background:var(--ink3);border:1px solid var(--border);
  padding:5px 11px;font-size:10.5px;letter-spacing:1px;white-space:nowrap;
  color:var(--w70);pointer-events:none;opacity:0;transition:opacity .2s;
}
.adm-fab:hover .adm-fab-tip{opacity:1}

/* ─── ADMIN PANEL ────────────────────────────────────────── */
.adm-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.8);backdrop-filter:blur(10px);
  z-index:9000;
}
.adm-overlay.open{display:block}
.adm-panel{
  position:absolute;top:0;right:0;bottom:0;
  width:min(520px,100vw);background:var(--ink2);
  border-left:1px solid var(--border);
  display:flex;flex-direction:column;
  animation:panelIn .38s var(--ease-out);
  overflow:hidden;
}
@keyframes panelIn{from{transform:translateX(100%)}}

.adm-hdr{
  padding:24px 28px 20px;border-bottom:1px solid var(--border-w);
  display:flex;align-items:center;justify-content:space-between;flex-shrink:0;
}
.adm-hdr-title{font-family:var(--f-serif);font-size:24px;font-weight:400;color:var(--gold)}
.adm-hdr-sub{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--w30);margin-top:2px}
.adm-close{
  width:34px;height:34px;border:1px solid var(--border-w);
  display:flex;align-items:center;justify-content:center;
  font-size:17px;color:var(--w50);cursor:pointer;transition:var(--t);flex-shrink:0;
}
.adm-close:hover{border-color:var(--gold);color:var(--gold)}

.adm-tabs{
  display:flex;border-bottom:1px solid var(--border-w);flex-shrink:0;
  overflow-x:auto;scrollbar-width:none;
}
.adm-tabs::-webkit-scrollbar{display:none}
.adm-tab{
  padding:11px 16px;font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--w40);white-space:nowrap;border-bottom:2px solid transparent;
  margin-bottom:-1px;cursor:pointer;transition:color var(--t),border-color var(--t);
}
.adm-tab.on,.adm-tab:hover{color:var(--gold);border-bottom-color:var(--gold)}

.adm-body{flex:1;overflow-y:auto;padding:24px 28px}
.adm-body::-webkit-scrollbar{width:3px}
.adm-body::-webkit-scrollbar-thumb{background:var(--border)}

.adm-pane{display:none}
.adm-pane.on{display:block}

/* Admin form elements */
.af-g{margin-bottom:14px}
.af-l{display:block;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--w40);margin-bottom:6px}
.af-i,.af-s,.af-t{
  width:100%;background:var(--ink3);border:1px solid var(--border-w);
  padding:10px 13px;font-size:13px;color:var(--white);outline:none;
  transition:border-color var(--t);font-family:var(--f-sans);
  -webkit-appearance:none;appearance:none;
}
.af-i:focus,.af-s:focus,.af-t:focus{border-color:var(--gold)}
.af-i::placeholder,.af-t::placeholder{color:rgba(255,255,255,.18)}
.af-t{resize:vertical;min-height:72px}
.af-s option{background:var(--ink3)}
.af-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.af-hint{font-size:10px;color:var(--w30);margin-top:4px}
.af-div{height:1px;background:var(--border-w);margin:20px 0}
.af-subhead{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;margin-top:20px}

/* Toggles */
.tog-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;background:var(--ink3);border:1px solid var(--border-w)}
.tog{width:36px;height:20px;background:var(--ink5);border-radius:10px;position:relative;cursor:pointer;transition:background .3s;flex-shrink:0}
.tog.on{background:var(--gold)}
.tog::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--white);border-radius:50%;transition:left .3s}
.tog.on::after{left:18px}
.tog-label{font-size:12.5px;color:var(--w70);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tog-del{font-size:13px;color:#f55;cursor:pointer;opacity:.5;transition:opacity var(--t);flex-shrink:0}
.tog-del:hover{opacity:1}

/* Rows */
.row-item{
  background:var(--ink3);border:1px solid var(--border-w);
  padding:12px 14px;margin-bottom:6px;
  display:flex;align-items:center;gap:10px;
}
.row-thumb{width:44px;height:30px;background:var(--ink4);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:16px}
.row-thumb img{width:100%;height:100%;object-fit:cover}
.row-info{flex:1;min-width:0}
.row-title{font-size:12.5px;color:var(--w70);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-meta{font-size:10px;color:var(--w30);margin-top:2px;text-transform:uppercase;letter-spacing:1px}
.row-acts{display:flex;gap:5px;flex-shrink:0}
.row-btn{
  width:28px;height:28px;border:1px solid var(--border-w);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;cursor:pointer;transition:var(--t);color:var(--w50);
}
.row-btn:hover{border-color:var(--gold);color:var(--gold)}
.row-btn.del:hover{border-color:#f44;color:#f66}

/* Buttons */
.ab{padding:10px 22px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:var(--t);border:none;font-family:var(--f-sans)}
.ab-gold{background:var(--gold);color:var(--ink)}
.ab-gold:hover{background:var(--gold-lt)}
.ab-line{background:transparent;border:1px solid var(--border-w);color:var(--w50);margin-left:8px}
.ab-line:hover{border-color:var(--gold);color:var(--gold)}
.ab-red{background:rgba(255,50,50,.08);border:1px solid rgba(255,50,50,.25);color:#f88}
.ab-red:hover{background:rgba(255,50,50,.15)}
.ab-full{width:100%;text-align:center;display:block;margin-top:12px}
.ab-acts{margin-top:18px;display:flex;align-items:center}
.af-ok{
  display:none;margin-top:12px;padding:10px 13px;
  background:var(--gold-05);border:1px solid var(--border);
  font-size:12px;color:var(--gold);
}
.af-ok.show{display:block}

/* Upload zone */
.af-upload{
  border:1px dashed rgba(201,168,76,.25);padding:20px;text-align:center;
  cursor:pointer;transition:var(--t);position:relative;
}
.af-upload:hover{border-color:var(--gold);background:var(--gold-05)}
.af-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.af-upload-ico{font-size:26px;margin-bottom:6px}
.af-upload-txt{font-size:11.5px;color:var(--w50);line-height:1.6}
.af-upload-txt strong{color:var(--gold)}
.af-preview{margin-top:10px;max-height:80px;object-fit:contain;display:none;border:1px solid var(--border-w)}
.af-preview-video{margin-top:10px;width:100%;max-height:80px;display:none}
.af-fname{font-size:10.5px;color:var(--gold);margin-top:6px}

/* Editor view */
.adm-editor{display:none}
.adm-editor.on{display:block}
.adm-list-wrap{}
.adm-list-wrap.hide{display:none}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:1200px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px}
  .sct-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:960px){
  :root{--nav-h:72px}
  .nav-links,.nav-cta-btn{display:none}
  .nav-ham{display:flex}
  .about-grid{grid-template-columns:1fr;gap:52px}
  .about-stack{height:360px}
  .svc-head{flex-direction:column;align-items:flex-start;gap:16px}
  .svc-intro{text-align:left}
  .cs-img-left .cs-two,.cs-img-right .cs-two{grid-template-columns:1fr;direction:ltr;gap:40px}
  .cntc-grid{grid-template-columns:1fr;gap:52px}
  .qual-grid{grid-template-columns:1fr;gap:36px}
  .sec-intro-grid{grid-template-columns:1fr;gap:36px}
  .why-grid{grid-template-columns:1fr}
  .sl-stats-inner{grid-template-columns:repeat(2,1fr)}
  .adm-panel{width:100%;border-left:none}
}
@media(max-width:680px){
  .slide-title{font-size:clamp(38px,10vw,60px)}
  .slide-btns{flex-direction:column;gap:10px}
  .svc-grid{grid-template-columns:1fr}
  .sct-grid{grid-template-columns:repeat(2,1fr)}
  .ft-grid{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column;gap:10px;text-align:center}
  .form-row{grid-template-columns:1fr}
  .about-hi{grid-template-columns:1fr}
  .sl-counter{display:none}
  .sl-arrows{display:none}
}
