:root{
  --bg:#f4f0e9;
  --bg2:#faf7f2;
  --ink:#15110f;
  --muted:#6b645d;
  --line:rgba(21,17,15,.12);
  --line2:rgba(21,17,15,.07);
  --red:#e8443a;
  --radius:24px;
  --nav-h:68px;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease2:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#ffffff;color:var(--ink);
  font-family:"Lato", sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  font-size:17px;
}
img{max-width:100%;display:block}
svg{max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.serif{font-family:"Lato", sans-serif;font-weight:600;margin-top:8px;}
.grad-text{
  background:linear-gradient(90deg,#2f6bff,#8b3df5,#e8443a,#f5a623,#17b26a,#2f6bff);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:gradShift 9s linear infinite;
}
@keyframes gradShift{0%{background-position:0% 50%}100%{background-position:300% 50%}}
.wrap{width:min(1320px,92vw);margin:0 auto}

/* cursor */
.cursor{
  position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid var(--red);
  border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--red);
  transition:width .25s var(--ease2),height .25s var(--ease2),background .25s,opacity .3s,border-color .25s;
  opacity:0;
}
.cursor::before{content:"+";line-height:1}
.cursor.on{opacity:1}
.cursor.big{width:64px;height:64px;background:rgba(232,68,58,.10);border-color:rgba(232,68,58,.25)}
.cursor.drag{width:86px;height:86px;background:var(--ink);border-color:var(--ink);color:#fff}
.cursor.drag::before{content:"DRAG";font-size:10px;letter-spacing:.12em;font-weight:700;font-family:'Archivo Narrow',sans-serif}
@media (hover:none){.cursor{display:none}}

/* rails */
.rail{position:fixed;top:50%;z-index:60;font-size:10px;letter-spacing:.22em;color:var(--muted);font-family:'Archivo Narrow',sans-serif;text-transform:uppercase}
.rail.left{left:14px;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl}
.rail.right{right:14px;transform:translateY(-50%);writing-mode:vertical-rl;display:flex;gap:20px}
@media(max-width:1000px){.rail{display:none}}

/* nav */
.nav-outer{position:fixed;top:28px;left:0;right:0;z-index:200;display:flex;justify-content:center;padding:0 3.5vw;pointer-events:none}
.nav{
  pointer-events:auto;
  width:min(1260px,100%);height:var(--nav-h);background:rgba(255,255,255,.88);
  backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);
  border-radius:999px;border:1px solid rgba(21,17,15,.07);
  box-shadow:0 10px 40px rgba(21,17,15,.08),0 0 0 1px rgba(255,255,255,.6) inset;
  display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 26px;
  transition:box-shadow .35s,background .35s,transform .6s var(--ease);
}
.nav.scrolled{box-shadow:0 18px 50px rgba(21,17,15,.14);background:rgba(255,255,255,.94)}
.logo{display:flex;align-items:baseline;gap:8px;font-weight:800;font-size:20px;letter-spacing:-.04em}
.logo .dots{display:flex;gap:3px;align-items:center}
.logo .dots i{width:7px;height:7px;border-radius:50%;display:block}
.logo .dots i:nth-child(1){background:var(--red)} .logo .dots i:nth-child(2){background:#f5a623}
.logo .sub{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0;transform:translateY(-1px)}
.menu{display:flex;align-items:center;gap:2px;font-size:15px;font-weight:700;list-style:none;margin:0;padding:0}
.menu li{position:relative;list-style:none}
.menu li > a{display:flex;align-items:center;gap:6px;padding:11px 18px;border-radius:999px;transition:background .25s,color .25s,transform .25s;white-space:nowrap}
.menu li > a:hover{background:rgba(21,17,15,.06)}
.menu li.active > a{background:var(--ink);color:#fff}
.menu .caret{width:6px;height:6px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.55;transition:transform .32s var(--ease)}
.menu li.open .caret{transform:rotate(225deg) translateY(-1px)}
.cta-btn{
  background:var(--ink);color:#fff;padding:15px 26px;border-radius:999px;font-size:13.5px;font-weight:650;
  display:inline-flex;align-items:center;gap:10px;transition:transform .32s var(--ease2),background .3s,box-shadow .3s;
  border:none;cursor:pointer;letter-spacing:-.01em;box-shadow:0 8px 20px rgba(21,17,15,.12)
}
.cta-btn:hover{transform:translateY(-2px);background:var(--red);box-shadow:0 12px 28px rgba(232,68,58,.28)}

.dropdown{
  position:absolute;top:calc(100% + 16px);left:50%;
  transform:translateX(-50%) translateY(14px) scale(.97);
  background:rgba(255,255,255,.96);backdrop-filter:blur(26px) saturate(1.15);-webkit-backdrop-filter:blur(26px) saturate(1.15);
  border:1px solid rgba(21,17,15,.08);border-radius:22px;
  box-shadow:0 28px 80px rgba(21,17,15,.16),0 0 0 1px rgba(255,255,255,.7) inset;
  padding:22px;opacity:0;visibility:hidden;transition:opacity .36s var(--ease),transform .5s var(--ease),visibility .36s;
  transform-origin:top center;min-width:460px;z-index:10
}
.menu li.open .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1)}
.dd-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.dd-title{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#9a938b;margin:0 0 12px 8px;font-weight:700;font-family:'Archivo Narrow',sans-serif}
.dd-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:500;transition:background .22s,transform .22s}
.dd-item:hover{background:#f4f0e9;transform:translateX(4px)}
.dd-list .dd-item{flex-direction:column;align-items:flex-start;gap:2px}

.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.8);backdrop-filter:blur(10px);cursor:pointer;position:relative;flex:0 0 auto}
.burger i{position:absolute;left:12px;width:20px;height:1.6px;background:var(--ink);transition:.36s var(--ease)}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:25px}
.burger.on i:nth-child(1){transform:rotate(45deg);top:21px}.burger.on i:nth-child(2){transform:rotate(-45deg);top:21px}
@media(max-width:1150px){ .menu,.nav .cta-btn{display:none} .burger{display:block}}

.mobile{
  position:fixed;inset:0;background:var(--bg);z-index:190;padding:96px 6vw 40px;
  transform:translateY(-102%);transition:transform .68s cubic-bezier(.7,0,.2,1);overflow:auto;
  display:flex;flex-direction:column
}
.mobile.on{transform:translateY(0)}
.m-item{border-bottom:1px solid var(--line)}
.m-item > a{display:flex;justify-content:space-between;align-items:center;font-size:34px;font-weight:800;letter-spacing:-.04em;padding:18px 0}
.m-item > a span.arr{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:14px;transition:.3s}
.m-item.open > a span.arr{transform:rotate(180deg);background:var(--ink);color:#fff;border-color:var(--ink)}

/* hero */
.hero{padding:154px 0 18px;position:relative}
.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:28px;font-family:'Archivo Narrow',sans-serif}
.hero-grid{display:grid;grid-template-columns:1.42fr .58fr;gap:40px;align-items:end}
h1.hero-title{font-size:clamp(42px,6vw,35px);line-height:.92;letter-spacing:-.055em;font-weight:800;margin:0}
h1.hero-title .serif{font-size:40px; font-family: "Lato", sans-serif; font-weight: 800; letter-spacing:-.03em;display:inline-block;}
.hero-note{font-size:14px;font-family: "Lato", sans-serif;line-height:1.65;color:var(--muted);max-width:340px;padding-bottom:12px}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}.hero{padding-top:118px}.hero-note{max-width:100%}}

/* ============================================================
   3D SLIDER (RESTORED ENGINE & CONTROLS)
   ============================================================ */

.slider {
  position: relative;
  margin-top: 0 !important;
  /* Top padding moves the 3D cards below the floating navbar */
  padding: 135px 0 60px;
  overflow: clip;
  
  /* Gradient starts at the top edge */
  background: linear-gradient(165deg, #f0edea, #e8d9cd);
}
.stage{
  position:relative;height:640px;perspective:1800px;perspective-origin:50% 42%;
  cursor:grab;user-select:none;touch-action:pan-y;
}
.stage.dragging{cursor:grabbing}
.stage::before{
  content:"";position:absolute;left:50%;top:52%;width:78%;height:52%;transform:translate(-50%,-50%);
  background:radial-gradient(60% 80% at 50% 50%, rgba(21,17,15,.10), transparent 70%);
  filter:blur(18px);pointer-events:none;z-index:0
}

.slide{
  position:absolute;left:50%;top:50%;width:min(680px,74vw);height:min(520px,66vh);
  border-radius:28px;overflow:hidden;background:#181818;
  transform-style:preserve-3d;backface-visibility:hidden;
  transition:transform 1.15s var(--ease),opacity .75s var(--ease),filter .75s var(--ease),box-shadow 1.15s var(--ease);
  will-change:transform;box-shadow:0 40px 80px rgba(21,17,15,.28),0 0 0 1px rgba(255,255,255,.08) inset;
}
.slide .ph{position:absolute;inset:0;transform:translateZ(0);overflow:hidden}
.slide .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease),scale 1.6s var(--ease);transform-origin:center center}
.slide.active .ph img{transform:scale(1.08)}
.slide .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 22%,rgba(0,0,0,.18) 52%,rgba(0,0,0,.78) 100%);pointer-events:none}
.slide .shine{position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 32%);opacity:0;transition:opacity .6s}
.slide.active .shine{opacity:.7}
.slide .info{position:absolute;left:0;right:0;bottom:0;padding:36px 34px 30px;color:#fff;transform:translateZ(70px);transform-style:preserve-3d;}
.slide h3{margin:0;font-family: "Lato", sans-serif;font-size:clamp(28px,3.2vw,32px);letter-spacing:-.045em;font-weight:800;line-height:.95;}
.slide p{font-family: "Lato", sans-serif;font-size:15px;line-height:1.55;max-width:550px;color:rgba(255,255,255,.82);margin:14px 0 22px;}
.slide .depth-badge{position:absolute;top:18px;right:18px;background:rgba(0,0,0,.42);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.16);padding:6px 12px;border-radius:999px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;transform:translateZ(50px)}

.slider-ui{display:flex;align-items:center;gap:22px;margin-top:28px}
.counter{font-size:12px;font-weight:700;letter-spacing:.06em;display:flex;align-items:baseline;gap:6px;font-family:'Archivo Narrow',sans-serif}
.counter .cur{font-size:20px;letter-spacing:-.02em}
.counter .tot{color:var(--muted);font-size:12px}
.prog{flex:1;height:2px;background:rgba(21,17,15,.12);border-radius:2px;overflow:hidden;max-width:200px;position:relative}
.prog i{display:block;height:100%;width:20%;border-radius:2px;background:linear-gradient(90deg,#2f6bff,#8b3df5,#e8443a);transition:width .9s var(--ease);position:relative}
.prog i::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;background:#e8443a;border-radius:50%;transform:translate(50%,-50%);box-shadow:0 0 0 4px rgba(232,68,58,.18)}
.navbtns{display:flex;gap:10px;margin-left:auto}
.rbtn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.7);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;transition:.32s var(--ease2);font-size:16px}
.rbtn:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px) scale(1.02)}
.rbtn:active{transform:scale(.96)}

@media(max-width:880px){
  .stage{height:560px;perspective:1100px}
  .slide{width:80%;height:auto;aspect-ratio:4/3;min-height:0;border-radius:20px;}
  .slide .info{padding:22px 20px 20px}
  .slide h3{font-size:clamp(22px,6.5vw,30px)}
  .slide p{font-size:12px;margin:10px 0 16px;max-width:100%}
  .slide.active .ph img{transform:scale(1.04)}
  .slide .depth-badge{top:12px;right:12px;padding:5px 10px;font-size:9px}
}

/* marquee */
.marq{
  background:linear-gradient(90deg,#eef1ff,#f6efff,#ffeef0,#fff6e6,#eafaf1,#eef1ff);
  background-size:200% 100%;animation:band 22s linear infinite;
  border-top:1px solid rgba(21,17,15,.06);border-bottom:1px solid rgba(21,17,15,.06);
  padding:16px 0;overflow:hidden;margin-top:18px
}
@keyframes band{to{background-position:200% 50%}}
.marq-track{display:flex;gap:52px;width:max-content;animation:scrollx 34s linear infinite}
@keyframes scrollx{to{transform:translateX(-50%)}}
.marq-item{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.marq-item i{width:8px;height:8px;border-radius:50%;display:block}

/* sections */
section{position:relative}
.sec-pad{padding:96px 0}
.label{font-size:28px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:22px;font-family:'Archivo Narrow',sans-serif}
h2.big{font-size:clamp(34px,4.8vw,40px);line-height:1;letter-spacing:-.045em;font-weight:800;margin:0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px;flex-wrap:wrap}

/* work */
.work{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.wcard{position:relative;border-radius:20px;overflow:hidden;background:#111;min-height:300px;display:block;}
.wcard.tall{grid-column:span 3;min-height:440px}
.wcard.sq{grid-column:span 2;min-height:340px}
.wcard img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.2s var(--ease),filter .6s}
.wcard:hover img{transform:scale(1.07)}
.wcard .veil{position:absolute;inset:0;}
@media(max-width:880px){.wcard.tall,.wcard.sq{grid-column:span 6}}

/* ============================================================
   ABOUT PAGE — STUDIO & ROTATING BADGE
   ============================================================ */
.studio{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.studio .imgbox{border-radius:22px;overflow:hidden;min-height:440px;position:relative}
.studio .imgbox img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.studio .txt{background:linear-gradient(150deg, #fffbf3, #f9f9f9 60%, #fffbf3);border:1px solid rgba(21,17,15,.07);border-radius:22px;padding:46px}
.studio .txt p{font-size:16.5px;line-height:1.7;color:#15110f;margin:22px 0 30px;width:100%}
@media(max-width:880px){.studio{grid-template-columns:1fr}.studio .txt{padding:32px}}

.studio .imgbox .studio-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 10;
  width: clamp(110px, 14vw, 160px); 
  height: clamp(110px, 14vw, 160px); 
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(24, 24, 30, 0.24);
  user-select: none;
}
.studio .imgbox .studio-badge-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: studio-badge-spin 22s linear infinite;
  transform-origin: 50% 50%;
}
.studio .imgbox .studio-badge-ring text {
  fill: #1f232c;
  font-family: 'Lato', sans-serif;
  font-size: 12.2px;
  font-weight: 700;
  letter-spacing: 0.105em;
}
.studio .imgbox .studio-badge-core {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 58%;
  height: 58%;
  border-radius: 50%;
  color: #ffffff;
  text-align: center;
  background: linear-gradient(155deg, #f36c35 0%, #ed632c 58%, #df531b 100%);
  transform: translate(-50%, -50%);
}
.studio .imgbox .studio-badge-number {
  display: block;
  font-size: clamp(20px, 2.8vw, 28px);
  font-weight: 800;
  line-height: 0.92;
}
.studio .imgbox .studio-badge-label {
  display: block;
  margin-top: 2px;
  font-size: clamp(8px, 1vw, 15px);
  font-weight: 600;
  line-height: 1.12;
}
@keyframes studio-badge-spin { to { transform: rotate(360deg); } }

/* Capabilities */
.cap-sect-wrapper {
  position: relative;
  width: 100%;
  height: 650px;
  overflow: hidden;
  background-color: #1a1c1e;
  display: flex;
  align-items: center;
  padding: 0 clamp(24px, 6vw, 100px);
}
.cap-sect-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: -webkit-optimize-contrast;
  z-index: 1;
}
.cap-sect-card {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 580px;
  padding: 32px 36px;
  background: linear-gradient(150deg, #fffbf3, #f9f9f9 60%, #fffbf3);
  border: 1px solid rgba(21,17,15,.07);
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}
.cap-sect-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #555555;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.cap-sect-heading {
  font-size: clamp(26px, 2.8vw, 34px);
  font-weight: 900;
  line-height: 1.2;
  color: #141414;
  margin-bottom: 14px;
}
.cap-sect-text {
  color: #1d1d1d;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 10px;
}
.cap-sect-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px 10px 14px;
  background: #141414;
  color: #ffffff;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.cap-sect-btn:hover { background: #333333; transform: translateY(-1px); }
.cap-sect-btn-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cap-sect-btn-icon svg {
  width: 10px !important;
  height: 10px !important;
  stroke: #ffffff;
  stroke-width: 1.6;
  fill: none;
}
@media (max-width: 768px) {
  .cap-sect-wrapper { height: auto; flex-direction: column; padding: 0; background-color: #ffffff; }
  .cap-sect-bg-img { position: relative; width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .cap-sect-card { max-width: 100%; padding: 28px 20px; border: none; box-shadow: none; }
}

/* Quality & Reliability */
.lux-ind-section-wrapper {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  position: relative;
  z-index: 1;
}
.lux-ind-container {
  background: #9E4B47;
  border-radius: 16px;
  padding: 64px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
  max-width: 1340px;
  margin: 0 auto;
}
.lux-ind-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; }
.lux-ind-eyebrow-wrap { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.lux-ind-eyebrow { font-size: 16px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #fff; }
.lux-ind-heading { font-size: clamp(34px, 4vw, 38px); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; color: #fff; margin-bottom: 24px; }
.lux-ind-description { font-size: 16px; line-height: 1.7; color: #fff; margin-bottom: 34px; font-weight: 400; }
.lux-ind-features-grid { display: grid; grid-template-columns: repeat(2, 1fr); row-gap: 20px; column-gap: 28px; width: 100%; }
.lux-ind-feature-item { display: flex; align-items: center; gap: 13px; }
.lux-ind-check-icon {
  width: 26px; height: 26px; min-width: 26px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(255, 255, 255, 0.05);
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.lux-ind-check-icon svg { width: 14px !important; height: 14px !important; stroke: #fff; stroke-width: 2.5; fill: none; }
.lux-ind-feature-text { font-size: 15.5px; font-weight: 600; color: #fff; }
.lux-ind-media-wrap { position: relative; z-index: 2; width: 100%; }
.lux-ind-image-frame { background: rgba(255, 255, 255, 0.04); padding: 16px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.1); }
.lux-ind-image-inner { position: relative; border-radius: 10px; overflow: hidden; aspect-ratio: 1.05 / 1; }
.lux-ind-img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 960px) { .lux-ind-container { grid-template-columns: 1fr; padding: 44px 30px; gap: 40px; } }
@media (max-width: 600px) { .lux-ind-features-grid { grid-template-columns: 1fr; gap: 16px; } }

/* ============================================================
   BREADCRUMB HEADER (Reaches top behind floating navbar)
   ============================================================ */
.lxbc-root {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding-top: 195px !important;
  padding-bottom: 65px !important;
  background: #9E4B47 !important;
  color: #ffffff !important;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.lxbc-topline {
  display: block;
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.25) 20%, #ffffff 50%, rgba(255, 255, 255, 0.25) 80%, transparent 100%);
}
.lxbc-container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1560px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.lxbc-left { min-width: 0; }
.lxbc-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.lxbc-eyebrow-line { display: block; width: 32px; height: 1.5px; background: rgba(255, 255, 255, 0.7); }
.lxbc-eyebrow-text { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.9); }
.lxbc-title { margin: 0 0 16px 0; font-size: clamp(34px, 4vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; color: #ffffff; }
.lxbc-trail { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lxbc-item { display: inline-flex; align-items: center; }
.lxbc-link {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px;
  border-radius: 999px; font-size: 13px; font-weight: 600; color: #ffffff;
  background: rgba(255, 255, 255, 0.14); transition: background 0.2s ease;
}
.lxbc-link:hover { background: rgba(255, 255, 255, 0.26); }
.lxbc-home-icon { width: 15px !important; height: 15px !important; stroke: currentColor; fill: none; }
.lxbc-sep { display: inline-flex; align-items: center; color: rgba(255, 255, 255, 0.55); }
.lxbc-sep svg { width: 12px !important; height: 12px !important; stroke: currentColor; fill: none; }
.lxbc-current {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px;
  border-radius: 999px; font-size: 13px; font-weight: 700; color: #ffffff;
  background: #7a3532; border: 1px solid rgba(255, 255, 255, 0.2);
}
.lxbc-dot { width: 6px; height: 6px; border-radius: 50%; background: #f9f1e5; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25); }

/* ============================================================
   SERVICES PAGE — PRICING / SERVICES BLOCK
   ============================================================ */
.pricing-block {
  --pr-bg: #F1ECE6;
  --pr-mint: #D9EADF;
  --pr-teal: #4E7470;
  --pr-text: #141414;
  --pr-muted: #767676;
  --pr-btn-light: #F1ECE7;

  position: relative;
  background: #efece7;
  color: var(--pr-text);
  overflow: hidden;
  isolation: isolate;
}
.pr-wrap { max-width: 1560px; margin: 0 auto; padding: 40px 24px 60px; position: relative; z-index: 1; }
.pr-header { margin-bottom: 30px; }
.pr-header h1 { font-size: 36px; line-height: 1.15; font-weight: 800; color: #121212; margin-bottom: 16px; }
.pr-header p { color: #2b2b2b; font-size: 16.5px; line-height: 1.7; }
.pr-flourish { position: absolute; pointer-events: none; z-index: 0; opacity: 0.35; color: #8AA99E; }
.pr-flourish-top { top: -10px; right: -10px; width: 140px !important; height: auto !important; }
.pr-flourish-bottom { left: -20px; bottom: -20px; width: 150px !important; height: auto !important; transform: rotate(180deg); }
.pr-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pr-card {
  position: relative; background: #ffffff; border-radius: 16px; padding: 34px 26px 26px;
  display: flex; flex-direction: column; cursor: pointer; transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}
.pr-card:hover, .pr-card.pr-active { background: var(--pr-mint); transform: translateY(-6px); box-shadow: 0 20px 40px rgba(62,98,94,.16); }
.pr-card h2 { font-size: 23px; font-weight: 800; margin: 0 0 10px 0; color: #141414; }
.pr-desc { font-size: 14.5px; line-height: 1.6; color: var(--pr-muted); margin: 0; }
.pr-img-wrap { margin-top: 18px; border-radius: 10px; overflow: hidden; aspect-ratio: 16/10.5; background: #ddd; }
.pr-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pr-btn {
  margin-top: 20px; width: 100%; border: 0; border-radius: 8px; padding: 14px 16px;
  background: var(--pr-btn-light); color: #171717; font-weight: 700; font-size: 14px; cursor: pointer;
}
.pr-card:hover .pr-btn, .pr-card.pr-active .pr-btn { background: var(--pr-teal); color: #ffffff; }

/* Modal */
.pr-modal {
  position: fixed; inset: 0; display: flex; align-items: center; justify-content: center;
  z-index: 99999; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; padding: 24px;
}
.pr-modal.pr-open { opacity: 1; pointer-events: auto; }
.pr-backdrop { position: absolute; inset: 0; background: rgba(18, 22, 21, 0.65); backdrop-filter: blur(8px); }
.pr-sheet {
  position: relative; width: min(880px, 94vw); height: 480px; background: #ffffff;
  border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35); z-index: 1;
}
#prMImg { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; }
.pr-close { position: absolute; top: 18px; right: 18px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.1); background: #ffffff; cursor: pointer; z-index: 10; }
.pr-sheet-body { padding: 30px; overflow-y: auto; }
.pr-sheet-body #prMTitle { font-size: 22px; font-weight: 800; color: #173F3A; margin: 0 0 4px; }
#prMTag { display: block !important; font-size: 14.5px !important; font-weight: 700 !important; color: #333 !important; margin: 0 0 10px; }
.pr-feat { list-style: none !important; padding: 0 !important; margin: 12px 0 0 0 !important; display: flex !important; flex-direction: column !important; gap: 10px !important; }
.pr-feat li { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 13.5px !important; color: #2b2b2b !important; }
.pr-feat .pr-check { width: 18px !important; height: 18px !important; border-radius: 50%; background: #e4f1e9; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pr-feat .pr-check svg { width: 10px !important; height: 10px !important; stroke: #164741 !important; stroke-width: 2.5; fill: none; }
@media (max-width: 980px) { .pr-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) { .pr-sheet { grid-template-columns: 1fr; height: auto; max-height: 85vh; overflow-y: auto; } #prMImg { height: 180px !important; } }
@media (max-width: 640px) { .pr-grid { grid-template-columns: 1fr; } }

/* ============================================================
   CONTACT SECTION & MAP FIXES
   ============================================================ */
.tm-contact-root {
  --lx-ink: #171713;
  --lx-muted: #6b645d;
  --lx-paper: #EEEEEC;
  --lx-gold: #9E4B47;
  --lx-border: rgba(11, 11, 10, 0.12);
  --lx-success: #49664c;
  --lx-error: #9d403a;
  --lx-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);

  position: relative;
  background-color: var(--lx-paper);
  color: var(--lx-ink);
  width: 100%;
}
.tm-contact-root .lx-container {
  width: min(calc(100% - 48px), 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.tm-contact-root .lx-contact-overview { padding: 90px 0 100px; }
.tm-contact-root .lx-section-header {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: end;
  gap: 50px;
  margin-bottom: 54px;
}
.tm-contact-root .lx-section-number {
  display: block;
  margin-bottom: 12px;
  color: var(--lx-gold);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  font-weight: 800;
  text-transform: uppercase;
}
.tm-contact-root .lx-section-title { margin: 0; font-size: clamp(34px, 4vw, 50px); line-height: 1.1; font-weight: 800; color: #15110f; }
.tm-contact-root .lx-section-intro { margin: 0; color: rgb(12, 12, 12); font-size: 20px; font-weight: 500; line-height: 1.75; }
.tm-contact-root .lx-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--lx-border);
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
}
.tm-contact-root .lx-detail-card {
  position: relative;
  min-height: 250px;
  padding: 38px 34px;
  border-right: 1px solid var(--lx-border);
  display: flex;
  flex-direction: column;
}
.tm-contact-root .lx-detail-card:last-child { border-right: 0; }
.tm-contact-root .lx-detail-icon { width: 38px; height: 38px; margin-bottom: 24px; color: var(--lx-gold); }
.tm-contact-root .lx-detail-icon svg { width: 38px !important; height: 38px !important; stroke: currentColor; stroke-width: 1.9; fill: none; }
.tm-contact-root .lx-detail-label { margin: 0 0 10px; color: var(--lx-muted); text-transform: uppercase; letter-spacing: 0.16em; font-size: 17px; font-weight: 800; }
.tm-contact-root .lx-detail-value { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 700; color: #171713; }
.tm-contact-root .lx-copy-button {
  display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 18px;
  border: 0; color: var(--lx-muted); background: transparent; text-transform: uppercase;
  letter-spacing: 0.12em; font-size: 11px; font-weight: 700; cursor: pointer;
}
.tm-contact-root .lx-copy-button svg { width: 14px !important; height: 14px !important; stroke: currentColor; fill: none; }
.tm-contact-root .lx-address-section { padding: 90px 0; background: #f9f9f9; }
.tm-contact-root .lx-address-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.tm-contact-root .lx-residence {
  display: grid; grid-template-columns: 1fr 1.05fr; background: #ffffff;
  border: 1px solid var(--lx-border); border-radius: 16px; overflow: hidden; box-shadow: var(--lx-shadow);
}
.tm-contact-root .lx-residence-info { padding: 50px 46px; display: flex; flex-direction: column; }
.tm-contact-root .lx-residence-eyebrow { color: var(--lx-gold); text-transform: uppercase; letter-spacing: 0.05em; font-size: 25.5px; font-weight: 800; margin-bottom: 20px; }
.tm-contact-root .lx-address-text { margin: 0 0 28px; font-size: clamp(24px, 2.4vw, 22px); line-height: 1.35; font-weight: 800; color: #171713; }
.tm-contact-root .lx-address-text span { display: block; color: var(--lx-muted); font-size: 14px; font-weight: 500; margin-top: 6px; }
.tm-contact-root .lx-address-meta { display: grid; margin: 0 0 32px; padding: 0; list-style: none; }
.tm-contact-root .lx-address-meta li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(11, 11, 10, 0.18); font-size: 15.5px; }
.tm-contact-root .lx-address-meta li:first-child { border-top: 1px solid rgba(23, 23, 19, 0.08); }
.tm-contact-root .lx-address-meta svg { flex-shrink: 0; width: 16px !important; height: 16px !important; color: var(--lx-gold); stroke: currentColor; fill: none; }

.tm-contact-root .lx-primary-button,
.tm-contact-root .lx-secondary-button {
  min-height: 48px; display: inline-flex; align-items: center; justify-content: center;
  gap: 10px; padding: 0 24px; border-radius: 999px; border: 1px solid #171713;
  text-decoration: none; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px;
  font-weight: 700; cursor: pointer; transition: all 180ms ease;
}
.tm-contact-root .lx-primary-button { color: #ffffff; background: #171713; }
.tm-contact-root .lx-primary-button:hover { background: var(--lx-gold); border-color: var(--lx-gold); }
.tm-contact-root .lx-secondary-button { color: #171713; background: transparent; }

.tm-contact-root .lx-map-panel { display: flex; flex-direction: column; background: #dcd8cf; border-left: 1px solid var(--lx-border); min-height: 420px; }
.tm-contact-root .lx-map-wrap { flex: 1 1 auto; position: relative; min-height: 360px; width: 100%; }
.tm-contact-root .lx-map-wrap iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.tm-contact-root .lx-map-bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; color: #ffffff; background: #9E4B47; }
.tm-contact-root .lx-live { display: flex; align-items: center; gap: 10px; }
.tm-contact-root .lx-live-dot {
  position: relative; width: 9px; height: 9px; border-radius: 50%;
  background: #10b981; box-shadow: 0 0 10px currentColor; flex-shrink: 0;
}
.tm-contact-root .lx-live-dot::before {
  content: ""; position: absolute; inset: -4px; border-radius: 50%;
  background: inherit; opacity: 0.75; animation: lxLivePulse 2s cubic-bezier(0.24, 0, 0.38, 1) infinite;
  pointer-events: none; z-index: 0;
}
@keyframes lxLivePulse {
  0% { transform: scale(0.6); opacity: 0.9; }
  70% { transform: scale(2.4); opacity: 0; }
  100% { transform: scale(2.6); opacity: 0; }
}
.tm-contact-root .lx-live-text strong { display: block; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 800; color: #ffffff; }
.tm-contact-root .lx-live-text span { display: block; color: rgba(255, 255, 255, 0.8); font-size: 13px; font-weight: 500; }

/* Fixed Open in Maps Button (Eliminating solid black triangle) */
.tm-contact-root .lx-map-open {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.tm-contact-root .lx-map-open:hover { opacity: 0.85; transform: translateY(-1px); }
.tm-contact-root .lx-map-open svg {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  display: inline-block !important;
  stroke: #ffffff !important;
  stroke-width: 2 !important;
  fill: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.tm-contact-root .lx-form-section { padding: 100px 0; background: var(--lx-paper); }
.tm-contact-root .lx-form-layout { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 80px; align-items: start; }
.tm-contact-root .lx-form-aside-copy { margin: 22px 0 36px; color: #282828; font-size: 18px; line-height: 1.8; }
.tm-contact-root .lx-contact-form { padding: 44px 40px; border: 1px solid var(--lx-border); background: #ffffff; border-radius: 14px; box-shadow: var(--lx-shadow); }
.tm-contact-root .lx-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 20px; }
.tm-contact-root .lx-field { position: relative; }
.tm-contact-root .lx-field-full { grid-column: 1 / -1; }
.tm-contact-root .lx-field label { display: block; margin-bottom: 8px; color: #090909; text-transform: uppercase; letter-spacing: 0.14em; font-size: 10px; font-weight: 700; }
.tm-contact-root .lx-field input, .tm-contact-root .lx-field select, .tm-contact-root .lx-field textarea {
  width: 100%; border: 0; border-bottom: 1.5px solid var(--lx-border); border-radius: 0; outline: 0; padding: 8px 0 10px; color: var(--lx-ink); background: transparent; font-size: 15px;
}
.tm-contact-root .lx-field textarea { min-height: 90px; resize: vertical; }
.tm-contact-root .lx-field input:focus, .tm-contact-root .lx-field select:focus, .tm-contact-root .lx-field textarea:focus { border-color: var(--lx-gold); }
.tm-contact-root .lx-field.lx-invalid input, .tm-contact-root .lx-field.lx-invalid select, .tm-contact-root .lx-field.lx-invalid textarea { border-color: var(--lx-error); }
.tm-contact-root .lx-field-error { display: none; margin-top: 5px; color: var(--lx-error); font-size: 11px; }
.tm-contact-root .lx-field.lx-invalid .lx-field-error { display: block; }
.tm-contact-root .lx-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 32px; }
.tm-contact-root .lx-consent { margin: 0; color: rgb(0 0 0); font-size: 13.5px; line-height: 1.5; max-width: 380px; }
.tm-contact-root .lx-form-status { display: none; grid-column: 1 / -1; margin: 0; padding: 12px 16px; border-left: 3px solid var(--lx-success); color: var(--lx-success); background: rgba(73, 102, 76, 0.08); font-size: 13px; }
.tm-contact-root .lx-form-status.lx-visible { display: block; }
.tm-contact-root .lx-submit svg, .tm-contact-root button[type="submit"] svg { display: none !important; }

/* Toast */
.lx-toast {
  position: fixed; z-index: 99999; right: 24px; bottom: 24px; padding: 14px 20px;
  color: #fff; background: #171816; border-radius: 6px; font-size: 13px;
  opacity: 0; visibility: hidden; transform: translateY(16px); transition: all 0.25s ease;
}
.lx-toast.lx-show { opacity: 1; visibility: visible; transform: translateY(0); }

/* Responsive */
@media (max-width: 980px) {
  .tm-contact-root .lx-section-header, .tm-contact-root .lx-detail-grid, .tm-contact-root .lx-residence, .tm-contact-root .lx-form-layout { grid-template-columns: 1fr; gap: 34px; }
  .tm-contact-root .lx-detail-card { border-right: 0; border-bottom: 1px solid var(--lx-border); }
  .tm-contact-root .lx-map-panel { border-left: 0; border-top: 1px solid var(--lx-border); }
}
@media (max-width: 600px) {
  .lxbc-root { padding-top: 170px !important; padding-bottom: 45px !important; }
  .tm-contact-root .lx-container { width: calc(100% - 32px) !important; }
  .tm-contact-root .lx-contact-form { padding: 30px 20px; }
  .tm-contact-root .lx-form-grid { grid-template-columns: 1fr; }
  .tm-contact-root .lx-form-footer { flex-direction: column; align-items: stretch; }
  .tm-contact-root .lx-form-footer .lx-primary-button { width: 100%; }
}

/* ============================================================
   FOOTER (Clean, Robust 3-Column Layout & Full Visibility)
   ============================================================ */
.footer-logo { display: inline-block; margin-bottom: 14px; }
.footer-logo img { display: block; height: 80px; width: auto; max-width: 220px; object-fit: contain; }
footer {
  width: 100%; margin: 0; padding: 80px 0 32px 0; background: linear-gradient(115deg, #f0edea, #f0ece9);
  border-top: 1px solid rgba(0,0,0,.06); position: relative; z-index: 10;
}
footer .wrap { width: min(1320px, 92vw); margin: 0 auto; background: transparent; }
.f-grid { display: grid !important; grid-template-columns: 1.3fr 1.3fr 0.7fr !important; gap: 40px !important; align-items: start; }
.f-subgrid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
.f-desc { font-size: 16px; line-height: 1.7; color: #000000; max-width: 320px; margin-top: 0; margin-bottom: 26px; }
.f-col h5 { font-size: 18px; letter-spacing: .22em; text-transform: uppercase; color: #121111; margin: 0 0 18px 0; font-weight: 800; }
.f-col a, .f-subcol a {
  display: block; font-size: 15px; padding: 6px 0; transition: color 0.25s ease, transform 0.25s ease;
  color: #0d0d0d; font-weight: 500; text-decoration: none;
}
.f-col a:hover, .f-subcol a:hover { color: var(--red); transform: translateX(4px); }
footer, footer .reveal, footer .f-col, footer .f-subcol, footer .f-subcol a {
  opacity: 1 !important; transform: none !important; visibility: visible !important;
}
.f-bot {
  margin-top: 60px; border-top: 1px solid rgba(21, 17, 15, 0.1); padding: 24px 0 0 0;
  display: flex; justify-content: space-between; align-items: center; font-size: 14px;
  color: #000000; flex-wrap: wrap; gap: 12px;
}
.f-bot .f-clarus-link { position: relative; display: inline-block; color: var(--ink); font-weight: 600; text-decoration: none; transition: color 0.3s ease; }
.f-bot .f-clarus-link:hover { color: var(--red); }
@media(max-width: 880px) {
  .f-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .f-subgrid { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
}


/* ============================================================
   SERVICES — EXACT OHIO THEME (MATCHES SCREENSHOT)
   ============================================================ */
.svc-list {
  border: 1px solid rgba(21,17,15,.09);
  border-radius: 24px;
  background: rgba(255,255,255,.55);
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.svc {
  display: grid;
  grid-template-columns: 70px 1.1fr 1fr;
  gap: 20px;
  align-items: center;
  padding: 34px 34px;
  border-bottom: 1px solid rgba(21,17,15,.09);
  position: relative;
  cursor: pointer;
  transition: background .4s;
}

.svc:last-child {
  border-bottom: none;
}

.svc .num {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .08em;
  font-family: 'Archivo Narrow', sans-serif;
}

.svc h3 {
  margin: 0;
  font-size: clamp(22px, 2.6vw, 32px);
  letter-spacing: -.035em;
  font-weight: 700;
  transition: color .35s, transform .5s var(--ease);
}

.svc p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 400px;
}

.svc::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 2px;
  width: 0;
  background: linear-gradient(90deg, #2f6bff, #8b3df5, #e8443a, #f5a623);
  transition: width .6s var(--ease);
}

.svc:hover {
  background: rgba(255,255,255,.9);
}

.svc:hover::after {
  width: 100%;
}

.svc:hover h3 {
  color: var(--red);
  transform: translateX(8px);
}

/* Strictly hide float image so no preview popup appears */
.float-img {
  display: none !important;
}

@media(max-width:880px) {
  .svc {
    grid-template-columns: 44px 1fr;
    padding: 24px;
  }
  .svc p {
    grid-column: 2;
  }
}
/* ============================================================
   PROJECT TABLE & LUXURY SEARCH FILTER CONTROLS
   ============================================================ */
.table-counter-badge {
  background: rgba(21, 17, 15, 0.05);
  border: 1px solid rgba(21, 17, 15, 0.08);
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.04em;
}
.table-counter-badge span {
  color: var(--ink);
  font-weight: 800;
}

.archive-controls-bar {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 24px;
}

/* Luxury Search Input Bar */
.archive-search-box {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(21, 17, 15, 0.12);
  border-radius: 999px;
  padding: 8px 24px;
  box-shadow: 0 10px 30px rgba(21, 17, 15, 0.04);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.archive-search-box:focus-within {
  border-color: var(--ink);
  box-shadow: 0 14px 40px rgba(21, 17, 15, 0.08);
}
.archive-search-box svg {
  color: var(--muted);
  margin-right: 14px;
  flex-shrink: 0;
}
.archive-search-box input {
  width: 100%;
  border: none;
  background: transparent;
  outline: none;
  font-size: 15px;
  font-family: inherit;
  color: var(--ink);
  font-weight: 500;
}
.archive-search-box input::placeholder {
  color: #8c867f;
}
.archive-search-box #clearSearchBtn {
  background: none;
  border: none;
  font-size: 20px;
  color: var(--muted);
  cursor: pointer;
  padding: 0 4px;
  display: none;
}
.archive-search-box #clearSearchBtn.on {
  display: block;
}

/* Tabs / Filter Pills */
.archive-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tab-pill {
  border: 1px solid rgba(21, 17, 15, 0.1);
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(8px);
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  transition: all 0.28s var(--ease2);
}
.tab-pill:hover {
  background: #ffffff;
  color: var(--ink);
  border-color: rgba(21, 17, 15, 0.25);
  transform: translateY(-2px);
}
.tab-pill.active {
  background: var(--ink);
  color: #ffffff;
  border-color: var(--ink);
  box-shadow: 0 6px 20px rgba(21, 17, 15, 0.15);
}

/* Table Card Layout (inherits blur container) */
.project-table-card {
  padding: 0;
}
/* ============================================================
   PROJECT TABLE GRID ALIGNMENT FIX
   ============================================================ */

/* Table Header (5 Columns) */
.project-table-header {
  display: grid !important;
  grid-template-columns: 60px 110px 1.6fr 1.8fr 180px !important;
  gap: 20px !important;
  align-items: center !important;
  padding: 18px 34px !important;
  background: #994945;
  border-bottom: 1px solid rgba(21, 17, 15, 0.08) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  font-family: "Lato", sans-serif !important;
  font-style: normal;
  font-weight: 800;

}

/* Individual Row (Exact matching 5 Columns) */
.project-row {
  display: grid !important;
  grid-template-columns: 60px 110px 1.6fr 1.8fr 180px !important;
  gap: 20px !important;
  align-items: center !important;
  padding: 24px 34px !important;
  border-bottom: 1px solid rgba(21, 17, 15, 0.08) !important;
  position: relative !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
  width: 100% !important;
 background: linear-gradient(115deg, #F2F0EC, #F2F0EC);
}

.project-row:last-child {
  border-bottom: none !important;
}

.project-row:hover {
  background: linear-gradient(115deg, #fffdfb, #fffffe);
}

/* Underline Animation */
.project-row::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  width: 0 !important;
  background: linear-gradient(90deg, #2f6bff, #8b3df5, #e8443a, #f5a623) !important;
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.project-row:hover::after {
  width: 100% !important;
}

/* Column 1: Row Number */
.project-row .row-num {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--muted) !important;
  font-family: 'Archivo Narrow', sans-serif !important;
}

/* Column 2: F/Y */
.project-row .row-yr {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  font-family: 'Archivo Narrow', sans-serif !important;
  white-space: nowrap !important;
}

/* Column 3: Client & Facility */
.project-row .row-client {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.project-row .row-client-name {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  line-height: 1.3 !important;
  transition: color 0.25s ease, transform 0.25s ease !important;
}

.project-row:hover .row-client-name {
  color: var(--red) !important;
  transform: translateX(4px) !important;
}

.project-row .row-client-through {
  font-size: 12.5px !important;
  color: var(--muted) !important;
  line-height: 1.4 !important;
}

/* Column 4: Scope / Capacity / OEM */
.project-row .row-spec {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.project-row .row-spec .spec-badge {
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
}

.spec-badge.badge-erection {
  background: rgba(158, 75, 71, 0.12) !important;
  color: #9E4B47 !important;
  border: 1px solid rgba(158, 75, 71, 0.25) !important;
}

.spec-badge.badge-overhaul {
  background: rgba(78, 116, 112, 0.14) !important;
  color: #2b5652 !important;
  border: 1px solid rgba(78, 116, 112, 0.3) !important;
}

.spec-badge.badge-spares {
  background: rgba(43, 95, 217, 0.12) !important;
  color: #204db5 !important;
  border: 1px solid rgba(43, 95, 217, 0.25) !important;
}

.project-row .row-spec-content {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #2b2b28 !important;
  line-height: 1.45 !important;
}

/* Column 5: Status Badge */
.status-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.status-pill.completed {
  background: #e6f6ee !important;
  color: #0e834d !important;
  border: 1px solid rgba(14, 131, 77, 0.2) !important;
}

.status-pill.wip {
  background: #fff4e5 !important;
  color: #c06900 !important;
  border: 1px solid rgba(192, 105, 0, 0.2) !important;
}

.status-pill.spares {
  background: #eef4ff !important;
  color: #2b5fd9 !important;
  border: 1px solid rgba(43, 95, 217, 0.2) !important;
}

.status-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: currentColor !important;
  flex-shrink: 0 !important;
}

/* Responsive (Mobile/Tablet) */
@media (max-width: 960px) {
  .project-table-header {
    display: none !important;
  }
  .project-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 24px 20px !important;
  }
  .project-row .row-num {
    display: inline-block !important;
  }
}

/* ============================================================
   STATISTICS SECTION & REVEAL STYLES
   ============================================================ */
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.stat {
  border-radius: 20px;
  padding: 34px 28px 28px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid rgba(21, 17, 15, 0.06);
  position: relative;
  overflow: hidden;
}

.stat::after {
  content: "";
  position: absolute;
  right: -20px;
  top: -20px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  filter: blur(1px);
}

.stat b {
  font-size: clamp(32px, 3.6vw, 46px);
  letter-spacing: -0.05em;
  font-weight: 800;
  line-height: 1;
  position: relative;
  z-index: 1;
  color: var(--ink);
}

.stat span {
  font-size: 15px;
  color:rgb(22, 22, 22);
  margin-top: 8px;
  position: relative;
  z-index: 1;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Color Themes for each card */
.stat.s1 { background: linear-gradient(160deg, #f6d2b3, #fff8f0); }
.stat.s2 { background: linear-gradient(160deg, #96a2f7, #f4fcf7); }
.stat.s3 { background: linear-gradient(160deg, #e9b9bf, #fff5f6); }
.stat.s4 { background: linear-gradient(160deg, #baadea, #f8f6ff); }

@media (max-width: 880px) {
  .stats {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .stats {
    grid-template-columns: 1fr;
  }
}

/* Reveal transition states */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
}

.reveal.in {
  opacity: 1;
  transform: none;
}

/* Fallback message */
.no-records-msg {
  padding: 60px 24px;
  text-align: center;
}
.no-records-msg p {
  color: var(--muted);
  font-size: 16px;
  margin-bottom: 18px;
}

/* Pagination Bar */
.archive-pagination-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.page-meta {
  font-size: 13.5px;
  color: var(--muted);
  font-weight: 500;
}
.pagination-btns {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-btn {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(21, 17, 15, 0.12);
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  color: var(--ink);
  transition: all 0.2s ease;
}
.page-btn:hover:not(:disabled) {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.page-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.page-numbers {
  display: flex;
  gap: 6px;
}
.page-num {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(21, 17, 15, 0.1);
  background: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  font-weight: 700;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--ink);
  transition: all 0.2s ease;
}
.page-num.active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

/* Responsive Table */
@media (max-width: 960px) {
  .project-table-header {
    display: none;
  }
  .project-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 24px 20px;
  }
  .project-row .row-num {
    display: inline-block;
    margin-right: 8px;
  }
}


/* Filter row layout */
.archive-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

/* Page Size Pill & Dropdown */
.archive-per-page {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  font-family: 'Archivo Narrow', 'Lato', sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.select-pill-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.select-pill-wrap select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(21, 17, 15, 0.12);
  border-radius: 999px;
  padding: 9px 34px 9px 18px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  cursor: pointer;
  outline: none;
  font-family: 'Lato', sans-serif;
  box-shadow: 0 4px 14px rgba(21, 17, 15, 0.04);
  transition: all 0.25s var(--ease2);
}

.select-pill-wrap select:hover,
.select-pill-wrap select:focus {
  background: #ffffff;
  border-color: var(--ink);
  box-shadow: 0 6px 20px rgba(21, 17, 15, 0.1);
  transform: translateY(-1px);
}

.select-pill-wrap .custom-arrow {
  position: absolute;
  right: 14px;
  pointer-events: none;
  font-size: 11px;
  color: var(--muted);
}


.tg-services{
    --tg-bg:#f6f3ed;
    --tg-bg-alt:#292929;
    --tg-line:rgba(0, 0, 0, 0.1)
    --tg-accent:#f2c31a;
    --tg-title:#040404;
    --tg-text:#1c1c1c;
    --tg-ghost:rgba(121, 121, 121, 0.1);
    width:100%;
    background:var(--tg-bg);
    font-family:'Barlow',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    color:var(--tg-text);
    -webkit-font-smoothing:antialiased;
    box-sizing:border-box;
  }
  .tg-services *,.tg-services *::before,.tg-services *::after{box-sizing:border-box;}

  /* Section Header - Centered */
  .tg-header{
    padding:64px 62px 52px;
    border-bottom:1px solid rgba(160, 160, 160, 0.41);
    background:var(--tg-bg);
    text-align:center;
  }
  .tg-heading{
    font-family:'Archivo','Barlow',sans-serif;
    font-weight:800;
    font-size:clamp(1.75rem,1.4rem + 1.4vw,2.75rem);
    line-height:1.15;
    letter-spacing:-.02em;
    color:var(--tg-title);
    margin:0 auto 14px;
  }
  .tg-subheading{
    font-size:clamp(1rem,.95rem + .25vw,1.15rem);
    line-height:1.7;
    color:var(--tg-text);
    margin:0 auto;
    max-width:72ch;
    font-weight:400;
  }

  .tg-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tg-card{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:34px;
    padding:58px 56px 58px 62px;
    min-height:220px;
    border-right:1px solid rgba(160, 160, 160, 0.41);
    border-bottom:1px solid rgba(160, 160, 160, 0.41);
    background:var(--tg-bg);
    overflow:hidden;
    transition:background .45s ease;
    isolation:isolate;
  }
  .tg-card:nth-child(2n){border-right:0;}
  .tg-card:nth-child(n+5){border-bottom:0;}
  .tg-card:hover{background:#dcdbd5;}

  /* yellow glow sweep on hover */
  .tg-card::before{
    content:"";
    position:absolute;
    left:0;top:0;
    width:3px;height:100%;
    background:var(--tg-accent);
    transform:scaleY(0);
    transform-origin:top;
    transition:transform .45s cubic-bezier(.6,.05,.2,1);
    z-index:2;
  }
  .tg-card:hover::before{transform:scaleY(1);}

  .tg-icon{
    flex:0 0 auto;
    width:64px;
    height:64px;
    display:flex;align-items:center;justify-content:center;
    margin-top:4px;
    transition:transform .45s cubic-bezier(.34,1.4,.5,1);
  }
  .tg-card:hover .tg-icon{transform:translateY(-4px) scale(1.06);}
  .tg-icon svg{width:60px;height:60px;display:block;}
  .tg-icon svg *{
    fill:none;
    stroke:var(--tg-accent);
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .tg-body{flex:1 1 auto;min-width:0;position:relative;z-index:2;}

  .tg-title{
    font-family:'Archivo','Barlow',sans-serif;
    font-weight:800;
    font-size:clamp(1.3rem,1.15rem + .85vw,1.8rem);
    line-height:1.15;
    letter-spacing:-.015em;
    color:var(--tg-title);
    margin:0 0 16px;
    transition:color .35s ease;
  }
  .tg-card:hover .tg-title{color:#292929;}

  .tg-text{
    font-size:clamp(.95rem,.9rem + .2vw,1.06rem);
    line-height:1.75;
    color:var(--tg-text);
    margin:0;
    max-width:56ch;
    font-weight:400;
  }

  .tg-num{
    position:absolute;
    right:46px;
    top:34px;
    font-family:'Archivo','Barlow',sans-serif;
    font-weight:900;
    font-size:clamp(3.6rem,3rem + 2.4vw,5.6rem);
    line-height:.85;
    letter-spacing:-.04em;
    color:var(--tg-ghost);
    user-select:none;
    pointer-events:none;
    z-index:1;
    transition:color .45s ease, transform .45s ease;
  }
  .tg-card:hover .tg-num{color:rgba(120, 118, 114, 0.3);transform:translateY(-3px);}

  .tg-bar{
    height:6px;
    width:100%;
    background:var(--tg-accent);
  }

  /* ---- Responsive ---- */
  @media (max-width:1100px){
    .tg-header{padding:48px 40px 40px;}
    .tg-card{padding:44px 40px;gap:26px;}
    .tg-icon{width:52px;height:52px;}
    .tg-icon svg{width:50px;height:50px;}
    .tg-num{right:30px;top:26px;}
  }
  @media (max-width:860px){
    .tg-header{padding:40px 34px 34px;}
    .tg-grid{grid-template-columns:minmax(0,1fr);}
    .tg-card{
      border-right:0;
      border-bottom:1px solid var(--tg-line);
      min-height:0;
      padding:38px 34px 38px 38px;
      gap:22px;
    }
    .tg-card:nth-child(n+5){border-bottom:1px solid var(--tg-line);}
    .tg-card:last-child{border-bottom:0;}
    .tg-num{font-size:3.2rem;right:24px;top:22px;}
    .tg-text{max-width:none;}
  }
  @media (max-width:520px){
    .tg-header{padding:32px 22px 28px;}
    .tg-card{flex-direction:row;padding:30px 22px;gap:16px;}
    .tg-icon{width:42px;height:42px;}
    .tg-icon svg{width:40px;height:40px;}
    .tg-title{font-size:1.22rem;margin-bottom:10px;}
    .tg-text{font-size:.92rem;line-height:1.65;}
    .tg-num{font-size:2.5rem;right:16px;top:18px;opacity:.9;}
  }
  /* ============================================================
   TURBO MEGA STORY HERO & COLLAGE COMPONENT
   ============================================================ */
.tm-story-hero {
  --tm-story-lime: #e2f2a8;
  --tm-story-ink: #22261b;
  --tm-story-ink-alt: #2e3225;
  --tm-story-ember: #ff6a3d;
  --tm-story-blue: #2b4eff;
  --tm-story-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --tm-story-border: 2px solid #ffffff;
  
  width: 100%;
  padding: 40px 0 20px;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
  color: var(--tm-story-ink);
}

.tm-story-hero *,
.tm-story-hero *::before,
.tm-story-hero *::after {
  box-sizing: border-box;
}

.tm-story-hero h1,
.tm-story-hero h2,
.tm-story-hero h3,
.tm-story-hero p {
  margin: 0;
  padding: 0;
}

.tm-story-hero a {
  color: inherit;
  text-decoration: none;
}

.tm-story-hero button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.tm-story-container {
  width: min(1320px, 92vw);
  margin: 0 auto;
}

.tm-story-grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 20px;
}

/* Icons */
.tm-story-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.tm-story-icon--sm { width: 14px; height: 14px; }
.tm-story-icon--lg { width: 22px; height: 22px; }

/* ==================== LEFT CARD: COLLAGE HERO ==================== */
.tm-story-main {
  position: relative;
  overflow: hidden;
  background: #111;
  min-height: 620px;
  border-radius: 20px;
}

/* 3-Panel Collage Grid */
/* ==================== 3-PANEL COLLAGE WITH PROPER SPACING ==================== */
.tm-story-collage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: 58% 40.7%;
  grid-template-columns: 1fr 1fr;
  /* 8px clean separation gap between the images */
  gap: 8px;
  /* Outer framing background color that shows through the gaps */
  background-color: #ffffff; 
  padding: 8px;
  z-index: 1;
  box-sizing: border-box;
}

.tm-story-collage__cell {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  /* Subtle rounded corners on each panel to clearly separate them */
  border-radius: 15px;
  background: #1a1a1a;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.tm-story-collage__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s var(--tm-story-ease, cubic-bezier(0.16, 1, 0.3, 1));
}

.tm-story-main:hover .tm-story-collage__cell img {
  transform: scale(1.04);
}

/* Cell 1: Top Wide Panel spans full width */
.tm-story-collage__cell--top {
  grid-column: 1 / -1;
  border-bottom: none;
}

/* Cell 2 & 3: Bottom Left and Right */
.tm-story-collage__cell--bottom-left {
  border-right: none;
}

.tm-story-collage__cell--bottom-right {
  border-right: none;
}
/* UI Top Bar */
.tm-story-main__top {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 28px;
  z-index: 5;
}

/* Author Avatar */
.tm-story-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tm-story-author__avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--tm-story-blue);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

.tm-story-author__avatar i {
  display: grid;
  place-items: center;
  font-style: normal;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  font-size: 19px;
  font-weight: 900;
  color: var(--tm-story-blue);
}

.tm-story-author__label {
  display: block;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
  line-height: 1.2;
}

.tm-story-author__name {
  display: block;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
}

/* Dots */
.tm-story-dots {
  position: absolute;
  left: 50%;
  top: 28px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 5px;
}

.tm-story-dot {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid transparent;
  transition: border-color 0.3s ease;
}

.tm-story-dot i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  transition: background 0.3s ease;
}

.tm-story-dot:hover i {
  background: rgba(255, 255, 255, 0.85);
}

.tm-story-dot--active {
  border-color: rgba(255, 106, 61, 0.9);
}

.tm-story-dot--active i {
  background: var(--tm-story-ember);
}

/* Bookmark Button */
.tm-story-save {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 0.3s ease, transform 0.2s ease;
}

.tm-story-save:hover {
  background: rgba(0, 0, 0, 0.7);
}

.tm-story-save:active {
  transform: scale(0.92);
}

/* Body & Headline */
.tm-story-main__body {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 40px;
  z-index: 5;
}

.tm-story-main__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
}

.tm-story-dot-sep {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--tm-story-ember);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

.tm-story-main__title {
  max-width: 650px;
  color: #fff;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
  font-size: clamp(2.3rem, 1.5rem + 3.2vw, 3.75rem);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
}

.tm-story-main__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

.tm-story-tag {
  display: inline-block;
  border-radius: 999px;
  padding: 8px 20px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.tm-story-tag--solid {
  background: #fff;
  color: var(--tm-story-ink);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: background 0.3s ease, color 0.3s ease;
}

.tm-story-tag--solid:hover {
  background: var(--tm-story-lime);
}

/* Hover Diagonal Arrow */
.tm-story-main__arrow {
  position: absolute;
  right: 32px;
  bottom: 32px;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--tm-story-lime);
  color: var(--tm-story-ink);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.4s ease, transform 0.4s var(--tm-story-ease);
  z-index: 5;
}

.tm-story-main:hover .tm-story-main__arrow {
  opacity: 1;
  transform: none;
}

/* ==================== RIGHT CARD: LIME PROMO ==================== */
.tm-story-promo {
  position: relative;
  display: flex;
  flex-direction: column;
 background: linear-gradient(115deg, #f3f0e6, #fffcef);
  padding: 36px;
  min-height: 620px;
  border-radius: 20px;
  overflow: hidden;
}

.tm-story-promo__corner {
  position: absolute;
  top: 0; right: 0;
  width: 64px; height: 64px;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0.45), transparent);
  pointer-events: none;
}

.tm-story-promo__title {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #2b2f21;
}

.tm-story-promo__divider {
  margin-top: 16px;
  height: 1px;
  background: rgba(43, 47, 33, 0.25);
}

.tm-story-promo__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: flex-end;
  padding-top: 40px;
}

.tm-story-promo__pill {
  align-self: flex-start;
  border-radius: 999px;
  padding: 7px 18px;
  background: rgba(43, 47, 33, 0.08);
  font-size: 14px;
  font-weight: 600;
  color: #2b2f21;
}

.tm-story-promo__headline {
  margin-top: 20px;
  margin-bottom:20px !important;
  color: var(--tm-story-ink-alt);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.08;
  font-size: clamp(2.2rem, 1.8rem + 1.4vw, 1.75rem);
}

.tm-story-promo__text {
  margin-top: 18px;
  max-width: 330px;
  font-size: 16.5px;
  line-height: 1.6;
  color: rgba(46, 50, 37, 0.8);
}

.tm-story-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 32px;
  background: var(--tm-story-ink-alt);
  color: #fff;
  padding: 16px 30px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

.tm-story-btn:hover {
  background: #000;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -10px rgba(0, 0, 0, 0.4);
}

.tm-story-promo__byline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid rgba(43, 47, 33, 0.15);
  font-size: 13.5px;
  font-weight: 500;
  color: rgba(43, 47, 33, 0.7);
}

.tm-story-promo__byline img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}

.tm-story-promo__byline strong {
  color: #2b2f21;
}

/* ==================== RESPONSIVE RULES ==================== */
@media (max-width: 1100px) {
  .tm-story-grid {
    grid-template-columns: 1fr;
  }
  .tm-story-main,
  .tm-story-promo {
    min-height: 520px;
  }
}

@media (max-width: 1023px) {
  .tm-story-main__arrow {
    display: none;
  }
}

@media (max-width: 767px) {
  .tm-story-main__top,
  .tm-story-main__body {
    padding: 24px 20px;
  }
  .tm-story-dots {
    display: none;
  }
  .tm-story-promo {
    padding: 28px 22px;
    min-height: 460px;
  }
  .tm-story-main__title {
    font-size: 2.1rem;
  }
}


.lxz-wrap{
  --lxz-gold:#9e4b47;
  --lxz-gold-2:#9e4b47;
  --lxz-gold-3:#9e4b47;
  --lxz-ink:#14161c;
  --lxz-muted:#5d6170;
  --lxz-bg:#f0eee8;
  --lxz-card:#ffffff;
  position:relative;
  box-sizing:border-box;
  width:100%;
  padding:90px 20px;
  background:
    radial-gradient(1200px 500px at 10% 0%, rgba(201,164,92,.10), transparent 60%),
    radial-gradient(900px 500px at 100% 100%, rgba(201,164,92,.08), transparent 60%),
    var(--lxz-bg);
  font-family:'Jost',system-ui,sans-serif;
  color:var(--lxz-ink);
  overflow:hidden;
  isolation:isolate;
}
.lxz-wrap *,.lxz-wrap *::before,.lxz-wrap *::after{box-sizing:border-box;}
.lxz-wrap img{max-width:100%;display:block;}

/* decorative lines */
.lxz-wrap .lxz-deco{
  position:absolute;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(rgba(201,164,92,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(201,164,92,.07) 1px,transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);
          mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);
}

.lxz-wrap .lxz-container{max-width:1440px;margin:0 auto;}

/* section header */
.lxz-wrap .lxz-head{text-align:center;margin:0 auto 60px;max-width:720px;}
.lxz-wrap .lxz-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:12px;letter-spacing:.35em;text-transform:uppercase;
  color:var(--lxz-gold-3);font-weight:500;margin:0 0 14px;
}
.lxz-wrap .lxz-eyebrow::before,.lxz-wrap .lxz-eyebrow::after{
  content:"";width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--lxz-gold));
}
.lxz-wrap .lxz-eyebrow::after{transform:scaleX(-1);}
.lxz-wrap .lxz-title{
  font-family: "Lato", sans-serif;
  font-size:clamp(34px,5vw,46px);line-height:1.1;font-weight:800;margin:0;
  color:var(--lxz-ink);
}
.lxz-wrap .lxz-title em{
  font-style:italic;
  background:linear-gradient(100deg,var(--lxz-gold-3),var(--lxz-gold),var(--lxz-gold-2),var(--lxz-gold));
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:lxzShine 5s linear infinite;
}
@keyframes lxzShine{to{background-position:200% center;}}

/* rows */
.lxz-wrap .lxz-list{display:flex;flex-direction:column;gap:28px;}
.lxz-wrap .lxz-row{
  position:relative;
  display:grid;
  grid-template-columns:1fr 380px;
  align-items:stretch;
  min-height:240px;
}
.lxz-wrap .lxz-row.lxz-rev{grid-template-columns:380px 1fr;}
.lxz-wrap .lxz-row.lxz-rev .lxz-media{order:1;}
.lxz-wrap .lxz-row.lxz-rev .lxz-body{order:2;text-align:right;}
.lxz-media,
.lxz-media img,
.lxz-curtain {
  pointer-events: none !important;
  cursor: default !important;
}

/* Hide zoom icons */
.lxz-zoom {
  display: none !important;
  pointer-events: none !important;
}
/* body / card */
.lxz-wrap .lxz-body{
  position:relative;
  padding:38px 44px;
  background:var(--lxz-card);
  display:flex;flex-direction:column;justify-content:center;
  transition:box-shadow .6s ease, transform .6s ease;
  box-shadow:0 10px 40px -20px rgba(20,22,28,.18);
  z-index:1;
}
.lxz-wrap .lxz-row:hover .lxz-body{box-shadow:0 30px 60px -25px rgba(156,122,60,.35);}
/* reversed rows: border sits on right side */
.lxz-wrap .lxz-row.lxz-rev .lxz-border span:nth-child(1){transform-origin:right;}
.lxz-wrap .lxz-row.lxz-rev .lxz-border span:nth-child(2){left:auto;right:0;}
.lxz-wrap .lxz-row.lxz-rev .lxz-border span:nth-child(3){transform-origin:left;}
.lxz-wrap .lxz-row.lxz-in .lxz-border span{transform:scale(1);}
/* image boxes border */
.lxz-wrap .lxz-media{border:1px solid rgba(21,17,15,.07);}

/* animated gold border (draws in) for boxed rows */
.lxz-wrap .lxz-border{position:absolute;inset:0;pointer-events:none;}
.lxz-wrap .lxz-border span{position:absolute;background:linear-gradient(150deg, #fffbf3, #f9f9f9 60%, #fffbf3);transition:transform 1s cubic-bezier(.7,0,.2,1);}
.lxz-wrap .lxz-border span:nth-child(1){top:0;left:0;width:100%;height:1.5px;transform:scaleX(0);transform-origin:left;}
.lxz-wrap .lxz-border span:nth-child(2){top:0;left:0;width:1.5px;height:100%;transform:scaleY(0);transform-origin:top;transition-delay:.2s;}
.lxz-wrap .lxz-border span:nth-child(3){bottom:0;left:0;width:100%;height:1.5px;transform:scaleX(0);transform-origin:right;transition-delay:.4s;}
.lxz-wrap .lxz-row.lxz-in .lxz-border span{transform:scale(1);}

/* corner ornaments */
.lxz-wrap .lxz-corner{position:absolute;width:18px;height:18px;border:2px solid var(--lxz-gold);opacity:0;transition:opacity .6s .9s, transform .6s .9s;}
.lxz-wrap .lxz-corner.lxz-tl{top:-6px;left:-6px;border-right:0;border-bottom:0;transform:translate(6px,6px);}
.lxz-wrap .lxz-corner.lxz-bl{bottom:-6px;left:-6px;border-right:0;border-top:0;transform:translate(6px,-6px);}
.lxz-wrap .lxz-row.lxz-rev .lxz-corner.lxz-tl{left:auto;right:-6px;border-left:0;border-right:2px solid var(--lxz-gold);transform:translate(-6px,6px);}
.lxz-wrap .lxz-row.lxz-rev .lxz-corner.lxz-bl{left:auto;right:-6px;border-left:0;border-right:2px solid var(--lxz-gold);transform:translate(-6px,-6px);}
.lxz-wrap .lxz-row.lxz-in .lxz-corner{opacity:1;transform:translate(0,0)!important;}

.lxz-wrap .lxz-num{
  position:absolute;top:14px;right:24px;
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size:88px;line-height:1;font-weight:700;
  color:transparent;-webkit-text-stroke:1px rgba(201,164,92,.35);
  pointer-events:none;user-select:none;transition:transform .8s ease, -webkit-text-stroke-color .4s;
}
.lxz-wrap .lxz-row.lxz-rev .lxz-num{right:auto;left:24px;}
.lxz-wrap .lxz-row:hover .lxz-num{transform:translateY(-6px) scale(1.05);-webkit-text-stroke-color:rgba(201,164,92,.7);}

.lxz-wrap .lxz-tag{
  display:inline-block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--lxz-gold-3);margin:0 0 10px;font-weight:500;
}
.lxz-wrap .lxz-h{
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.15;
  margin:0 0 14px;color:var(--lxz-ink);position:relative;display:inline-block;
}
.lxz-wrap .lxz-h::after{
  content:"";display:block;height:2px;width:56px;margin-top:12px;
  background:linear-gradient(90deg,var(--lxz-gold),var(--lxz-gold-2));
  transition:width .6s cubic-bezier(.7,0,.2,1);
}
.lxz-wrap .lxz-row.lxz-rev .lxz-h::after{margin-left:auto;background:linear-gradient(270deg,var(--lxz-gold),var(--lxz-gold-2));}
.lxz-wrap .lxz-row:hover .lxz-h::after{width:120px;}
.lxz-wrap .lxz-p{
  font-size:17px;line-height:1.55;color:rgb(0, 0, 0);margin:0;font-weight:400;
}
.lxz-wrap .lxz-btn{
  align-self:flex-start;margin-top:22px;
  display:inline-flex;align-items:center;gap:10px;
  background:none;border:0;padding:0;cursor:pointer;
  font-family:inherit;font-size:12px;letter-spacing:.25em;text-transform:uppercase;font-weight:500;
  color:var(--lxz-ink);position:relative;
}
.lxz-wrap .lxz-row.lxz-rev .lxz-btn{align-self:flex-end;flex-direction:row-reverse;}
.lxz-wrap .lxz-btn i{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--lxz-gold);font-style:normal;color:var(--lxz-gold-3);
  transition:all .4s ease;
}
.lxz-wrap .lxz-btn:hover i{background:var(--lxz-gold);color:#fff;transform:rotate(-45deg);box-shadow:0 8px 20px -6px rgba(201,164,92,.7);}
.lxz-wrap .lxz-row.lxz-rev .lxz-btn:hover i{transform:rotate(45deg) scaleX(-1);}
.lxz-wrap .lxz-btn:focus-visible{outline:2px solid var(--lxz-gold);outline-offset:4px;}

/* media */
.lxz-wrap .lxz-media{
  position:relative;overflow:hidden;min-height:240px;cursor:zoom-in;
  
}
.lxz-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  
  /* Sharp scaling on high-density screens */
  image-rendering: -webkit-optimize-contrast;
  transform: translateZ(0);
  backface-visibility: hidden;
}
.lxz-wrap img{
  position:absolute;inset:-8% 0 0 0;width:100%;height:116%;object-fit:cover;
  transform:scale(1.15);transition:transform 1.2s cubic-bezier(.2,.7,.2,1), filter .8s;
  filter:saturate(.9) contrast(1.05);will-change:transform;
}
.lxz-wrap .lxz-row.lxz-in .lxz-media img{transform:scale(1.02);}
.lxz-wrap .lxz-row:hover .lxz-media img{transform:scale(1.1);filter:saturate(1.1) contrast(1.1);}
.lxz-wrap .lxz-media::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(135deg,rgba(201,164,92,.25),transparent 50%,rgba(20,22,28,.35));
  pointer-events:none;
}
/* shine sweep */
.lxz-wrap .lxz-media::after{
  content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;z-index:3;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);pointer-events:none;
}
.lxz-wrap .lxz-row:hover .lxz-media::after{animation:lxzSweep 1s ease;}
@keyframes lxzSweep{to{left:125%;}}
/* curtain reveal */
.lxz-wrap .lxz-curtain{
  position:absolute;inset:0;z-index:4;
  background:linear-gradient(135deg,var(--lxz-gold-3),var(--lxz-gold));
  transform-origin:right;transition:transform 1.1s cubic-bezier(.8,0,.2,1) .15s;
}
.lxz-wrap .lxz-row.lxz-rev .lxz-curtain{transform-origin:left;}
.lxz-wrap .lxz-row.lxz-in .lxz-curtain{transform:scaleX(0);}
.lxz-wrap .lxz-zoom{
  position:absolute;right:14px;bottom:14px;z-index:5;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.5);color:#fff;display:grid;place-items:center;font-size:18px;
  opacity:0;transform:translateY(10px);transition:all .4s ease;
}
.lxz-wrap .lxz-row:hover .lxz-zoom{opacity:1;transform:none;}

/* text reveal */
.lxz-wrap .lxz-rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);}
.lxz-wrap .lxz-row.lxz-in .lxz-rv{opacity:1;transform:none;}
.lxz-wrap .lxz-row.lxz-in .lxz-rv:nth-child(2){transition-delay:.15s;}
.lxz-wrap .lxz-row.lxz-in .lxz-rv:nth-child(3){transition-delay:.3s;}
.lxz-wrap .lxz-row.lxz-in .lxz-rv:nth-child(4){transition-delay:.45s;}
.lxz-wrap .lxz-row.lxz-in .lxz-rv:nth-child(5){transition-delay:.6s;}

/* expandable extra text */
.lxz-wrap .lxz-more{
  display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s ease, opacity .6s ease;opacity:0;
}
.lxz-wrap .lxz-more > div{overflow:hidden;}
.lxz-wrap .lxz-more p{margin:17px 0 0;font-size:17px;line-height:1.5;color:rgb(0, 0, 0);font-weight:350;}
.lxz-wrap .lxz-row.lxz-open .lxz-more{grid-template-rows:1fr;opacity:1;}
.lxz-wrap .lxz-row.lxz-open .lxz-btn i{transform:rotate(180deg);background:var(--lxz-gold);color:#fff;}

/* lightbox */
.lxz-lightbox{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(12,13,17,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .4s ease, visibility .4s;
  font-family:'Jost',system-ui,sans-serif;box-sizing:border-box;
}
.lxz-lightbox.lxz-show{opacity:1;visibility:visible;}
.lxz-lightbox img{
  max-width:min(1100px,100%);max-height:82vh;display:block;
  border:1px solid rgba(201,164,92,.6);box-shadow:0 40px 80px rgba(0,0,0,.5);
  transform:scale(.92);transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.lxz-lightbox.lxz-show img{transform:scale(1);}
.lxz-lightbox button{
  position:absolute;top:20px;right:20px;width:46px;height:46px;border-radius:50%;
  border:1px solid #c9a45c;background:transparent;color:#f1d9a0;font-size:22px;cursor:pointer;
  transition:all .3s;
}
.lxz-lightbox button:hover{background:#c9a45c;color:#14161c;transform:rotate(90deg);}

/* responsive */
@media (max-width:1024px){
  .lxz-wrap .lxz-row{grid-template-columns:1fr 320px;}
  .lxz-wrap .lxz-row.lxz-rev{grid-template-columns:320px 1fr;}
  .lxz-wrap .lxz-body{padding:32px 34px;}
}
@media (max-width:768px){
  .lxz-wrap{padding:60px 16px;}
  .lxz-wrap .lxz-head{margin-bottom:40px;}
  .lxz-wrap .lxz-list{gap:36px;}
  .lxz-wrap .lxz-row,
  .lxz-wrap .lxz-row.lxz-rev{grid-template-columns:1fr;}
  .lxz-wrap .lxz-row .lxz-media,
  .lxz-wrap .lxz-row.lxz-rev .lxz-media{order:1;min-height:220px;aspect-ratio:16/9;}
  .lxz-wrap .lxz-row .lxz-body,
  .lxz-wrap .lxz-row.lxz-rev .lxz-body{order:2;text-align:left;padding:28px 24px;background:var(--lxz-card);box-shadow:0 10px 40px -20px rgba(20,22,28,.18);}
  .lxz-wrap .lxz-row .lxz-body{border:1.5px solid var(--lxz-gold);border-top:0;}
  .lxz-wrap .lxz-row .lxz-border{display:none;}
  .lxz-wrap .lxz-row.lxz-rev .lxz-h::after{margin-left:0;background:linear-gradient(90deg,var(--lxz-gold),var(--lxz-gold-2));}
  .lxz-wrap .lxz-row.lxz-rev .lxz-btn{align-self:flex-start;flex-direction:row;}
  .lxz-wrap .lxz-row.lxz-rev .lxz-num{left:auto;right:18px;}
  .lxz-wrap .lxz-num{font-size:64px;top:10px;right:18px;}
  .lxz-wrap .lxz-row.lxz-rev .lxz-corner.lxz-tl,
  .lxz-wrap .lxz-row.lxz-rev .lxz-corner.lxz-bl{display:none;}
  .lxz-wrap .lxz-zoom{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .lxz-wrap *,.lxz-wrap *::before,.lxz-wrap *::after{animation:none!important;transition:none!important;}
  .lxz-wrap .lxz-rv{opacity:1;transform:none;}
  .lxz-wrap .lxz-curtain{display:none;}
}
/* Centered Stats Heading & Sub-heading */
.stats-heading {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 48px;
}

.stats-heading h2 {
  font-family: "Lato", sans-serif;
  font-size: clamp(32px, 4.5vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 14px;
}

.stats-heading p {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.65;
  color: var(--muted);
  margin: 0 auto;
  font-weight: 400;
}

@media (max-width: 600px) {
  .stats-heading {
    margin-bottom: 32px;
  }
}