.elementor-359 .elementor-element.elementor-element-20c3499{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for container, class: .elementor-element-20c3499 *//* ============================================================
   RNM INTERIORS — GLOBAL SERVICE PAGE CSS
   Version: 2026 | Font: Outfit (all elements)
   ============================================================

   HOW TO ADD:
   Elementor > Site Settings > Custom CSS
   — OR — Child theme > style.css

   HOW TO CUSTOMISE:
   ▸ Colours       → edit :root variables
   ▸ Font sizes    → edit the Global Typography section
   ▸ Spacing       → find the class, update padding/margin
   ▸ Height of Hero → change .hero { height: ?? }
   ▸ Page tweaks   → Elementor > Advanced > Custom CSS per page

   SECTIONS:
   01  Google Fonts
   02  CSS Variables
   03  Reset & Base
   04  Global Typography
   05  Scrollbar
   06  Breadcrumb
   07  Hero
   08  Buttons
   09  Shared Section Utilities
   10  Value Strip
   11  Services Grid
   12  Split / Why Section
   13  Process Grid
   14  Projects Grid
   15  Areas Grid
   16  Cost Section
   17  Testimonials
   18  FAQ Accordion
   19  CTA Section
   20  Category A/B Cards  (Fit-Out page)
   21  Hero Grid Overlay   (Space Planning page)
   22  Measure Grid        (Space Planning page)
   23  Responsive
   ============================================================ */


/* ── 01 GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');


/* ── 02 CSS VARIABLES ── */
:root {
  /* Brand Colours */
  --gold:        #C8A96E;
  --gold-dk:     #A8894E;
  --gold-lt:     #DEC28E;
  --gold-pale:   #F5EDD9;
  --gold-tint:   #FBF7EF;

  /* Surfaces */
  --bg:          #FFFFFF;
  --bg2:         #F8F6F2;
  --bg3:         #F2EEE6;
  --surface:     #EDEAE3;

  /* Text */
  --text-1:      #1A1714;
  --text-2:      #3D3730;
  --text-3:      #6B6056;
  --text-4:      #9C9088;
  --text-black:  #000;

  /* Borders */
  --border:      rgba(26,23,20,0.09);
  --border-md:   rgba(26,23,20,0.13);
  --border-gold: rgba(200,169,110,0.35);

  /* Shadows */
  --shadow-sm:   0 1px 3px rgba(26,23,20,0.07), 0 1px 2px rgba(26,23,20,0.05);
  --shadow-md:   0 4px 16px rgba(26,23,20,0.08), 0 2px 6px rgba(26,23,20,0.05);

  /* Font */
  --font:        'Outfit', sans-serif;

  /* Transition */
  --tr:          all 0.28s ease;
}


/* ── 03 RESET & BASE ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth }
body {
  background:var(--bg);
  color:var(--text-1);
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}


/* ── 04 GLOBAL TYPOGRAPHY ── */
/* Every element on every page uses Outfit */
* { font-family:var(--font) }

/* Headings */
h1,h2,h3,h4,h5,h6 { font-family:var(--font); line-height:1.2 }
h3 { font-size:1.15rem; font-weight:700; color:var(--text-1) }

/* Paragraphs */
p { font-size:1rem; font-weight:400; line-height:1.75; color:var(--text-3) }

/* Links */
a { text-decoration:none; color:inherit; transition:color .25s }

/* Buttons & inputs inherit font */
button,input,textarea,select { font-family:var(--font) }

/* Images */
img { max-width:100%; display:block }


/* ── 05 SCROLLBAR ── */
::-webkit-scrollbar { width:4px }
::-webkit-scrollbar-track { background:var(--bg2) }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:2px }


/* ── 06 BREADCRUMB ── */
.breadcrumb {
  padding:0px 0px 50px 0px;
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-4);
}


.breadcrumb-inner {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--gold-tint);
  padding:.4rem 1rem;
  border-left:2px solid var(--gold);
}

.breadcrumb a { color:var(--text-black); }
.breadcrumb a:hover { color:var(--gold) }
.breadcrumb .sep { color:var(--gold); font-size:.55rem }
.breadcrumb .current { color:var(--gold) }


/* ── 07 HERO ── */
.hero {
  height:calc(100vh - 75px);
  display:grid; grid-template-columns:1.25fr 1fr;
  position:relative; overflow:hidden;
  background:var(--bg);
}
.hero::after {
  content:'';
  position:absolute; top:0; bottom:0; left:50%;
  width:1px;
  background:linear-gradient(to bottom,transparent,var(--border-gold) 25%,var(--border-gold) 75%,transparent);
  z-index:3; pointer-events:none;
  display: none;
}
.hero-left {
  display:flex; flex-direction:column; justify-content:top;
  padding:clamp(1.5rem,3vh,4rem) 5vw clamp(1.5rem,3vh,4rem) 4vw;
  position:relative; z-index:2;
  min-height:0; overflow:hidden;
}
.hero-right {
  position:relative; overflow:hidden;
  background:var(--bg2);
}

/* Decorative right panel */
.hero-visual {
  position:absolute; inset:0;
  background:linear-gradient(140deg,var(--gold-tint) 0%,var(--bg3) 50%,var(--surface) 100%);
  overflow:hidden;
  
}
.hero-visual::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    -45deg, transparent 0px, transparent 48px,
    rgba(200,169,110,.07) 48px, rgba(200,169,110,.07) 49px
  );
}
.hero-visual::after {
  content:''; position:absolute;
  width:40%; height:40%; border-radius:50%;
  background:radial-gradient(circle,rgba(200,169,110,.18) 0%,transparent 70%);
  top:50%; left:50%; transform:translate(-50%,-50%);
}

/* Decorative corner box */
.hero-geo {
  position:absolute;
  bottom:clamp(1rem,3vh,3rem); right:clamp(1rem,3vw,3rem);
  width:clamp(80px,8vw,140px); height:clamp(80px,8vw,140px);
  border:1px solid var(--border-gold); z-index:2;
}
.hero-geo::before {
  content:''; position:absolute;
  top:10px; left:10px; right:10px; bottom:10px;
  border:1px solid var(--border-gold);
}

/* Bottom 3-item label strip */
.hero-label-strip {
  position:absolute; bottom:0; left:0; right:0;
  display:grid; grid-template-columns:1fr 1fr 1fr;
  border-top:1px solid var(--border-gold); z-index:4;
}
.hls-item {
  padding:clamp(.6rem,1.5vh,1.4rem) 1.5rem;
  border-right:1px solid var(--border-gold);
  background:rgba(255,255,255,.82); backdrop-filter:blur(8px);
  background: black;
}
.hls-item:last-child { border-right:none }
.hls-item .h-num {
  font-size:1.6rem; font-weight:600;
  color:var(--gold); line-height:1; margin-bottom:.2rem;
}
.hls-item .h-lbl {
  font-size:0.85rem; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; color:var(--text-4);
}

/* Hero text elements */
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:.65rem;
  font-size:.7rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--gold); margin-bottom:clamp(.6rem,1.5vh,1.6rem);
}
.hero-eyebrow::before { content:''; width:26px; height:1px; background:var(--gold) }

.hero h1 {
  font-size: 2.75rem;
  font-weight:700; line-height:1.1;
  color:var(--text-1); margin-bottom:clamp(.3rem,1vh,.6rem);
}
.hero h1 em { font-style:italic; color:var(--gold); display:block; font-size: 2.5rem; }

.hero-tagline {
  font-size:1rem; font-weight:400; color:var(--text-2);
  margin-bottom:clamp(.5rem,1.2vh,1.6rem);
  line-height:1.6; max-width:100%;
}
.hero-desc {
  font-size:1rem; font-weight:400; color:var(--text-3);
  max-width:100%; line-height:1.8;
  margin-bottom:clamp(.8rem,2vh,2.4rem);
}
.hero-btns {
  display:flex; gap:1rem; flex-wrap:wrap;
  margin-bottom:clamp(.8rem,2vh,3rem);
}
.hero-rule { width:44px; height:1px; background:var(--border-md); margin-bottom:clamp(.5rem,1.2vh,1.4rem) }
.hero-stats { display:flex; gap:2rem; flex-wrap:wrap }
.stat .v { font-size:1.6rem; font-weight:700; color:var(--gold); line-height:1 }
.stat .k { font-size:.63rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--text-4); margin-top:.25rem }


/* ── 08 BUTTONS ── */
.btn-primary {
  background:var(--text-1); color:#fff;
  padding:.78rem 2rem;
  font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; display:inline-block; border:none; cursor:pointer;
  transition:background .25s,transform .2s;
}
.btn-primary:hover { background:var(--gold-lt); transform:translateY(-2px) }

.btn-outline-dark {
  border:1.5px solid var(--border-md); color:var(--text-2);
  padding:.78rem 2rem;
  font-size:.76rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; display:inline-block;
  transition:var(--tr); background:transparent;
}
.btn-outline-dark:hover { border-color:var(--gold); color:var(--gold-dk) }

.btn-gold {
  background:var(--gold); color:#fff;
  padding:.85rem 2.5rem;
  font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; display:inline-block;
  transition:background .25s,transform .2s;
}
.btn-gold:hover { background:var(--gold-lt); transform:translateY(-2px) }

.btn-ghost-light {
  border:1.5px solid rgba(255,255,255,.18); color:rgba(255,255,255,.75);
  padding:.85rem 2.5rem;
  font-size:.76rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; display:inline-block;
  transition:border-color .25s,color .25s,transform .2s;
}
.btn-ghost-light:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px) }


/* ── 09 SHARED SECTION UTILITIES ── */
.section { padding:2rem 4vw }
.section-alt { background:var(--bg2) }
.section-tint { background:var(--bg3) }

.eyebrow {
  display:inline-flex; align-items:center; gap:.65rem;
  font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.1rem;
}
.eyebrow::before { content:''; width:22px; height:1px; background:var(--gold) }

h2.stitle {
  font-size:clamp(1.8rem,2.6vw,2.7rem);
  font-weight:700; line-height:1.2;
  color:var(--text-1); margin-bottom:1rem;
}
h2.stitle em { font-style:italic; color:var(--gold) }

.slead {
  font-size:1rem; font-weight:400;
  color:var(--text-3); max-width:95%; line-height:1.8;
}
.sec-head { margin-bottom:1.5rem }
.sec-head.flex { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.5rem }


/* ── 10 VALUE STRIP ── */

h2.visually-hidden{
    display: none;
}
.value-strip {
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--border); border-left:1px solid var(--border);
}
.vs-item {
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:2.5rem;
  display:flex; align-items:flex-start; gap:1.1rem;
  transition:background .28s;
}
.vs-item:hover { background:var(--gold-tint) }
.vs-icon {
  width:38px; height:38px; flex-shrink:0;
  border:1px solid var(--border-gold);
  display:flex; align-items:center; justify-content:center;
  background:var(--gold-tint);
  transition:background .28s,border-color .28s; margin-top:.1rem;
}

.vs-icon::after {
  content: '';
  width: 15px;
  height: 15px;
  background-color: var(--gold-dk);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  display: block;
}


.vs-item:hover .vs-icon { background:var(--gold-pale); border-color:var(--gold) }

.vs-icon svg { width:15px; height:15px }
.vs-icon svg,.vs-icon svg * { fill:none; stroke:var(--gold); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round }

.vs-item h3 { margin-bottom:.35rem }
.vs-item p { line-height:1.65 }


/* ── 11 SERVICES GRID ── */
.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--border); border-left:1px solid var(--border);
}
.sc {
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:2.5rem 2.5rem;
  position:relative; transition:background .28s;
  background:var(--bg);
}
.sc:hover { background:var(--gold-tint); box-shadow:inset 0 -2px 0 var(--gold) }
.sc-n {
  font-size:2.4rem; font-weight:bold;
  color:rgba(200,169,110,.2); line-height:1;
  margin-bottom:1.2rem; transition:color .28s;
}
.sc:hover .sc-n { color:rgba(200,169,110,.45) }
.sc h3 { margin-bottom:.5rem }
.sc p { line-height:1.7 }
.sc-tag {
  display:block; margin-top:1rem;
  font-size:.72rem; font-weight:600; letter-spacing:.10em; text-transform:uppercase;
  color:var(--gold);

}


/* ── 12 SPLIT / WHY SECTION ── */
.split { display:grid; grid-template-columns:1fr 1.5fr; gap:6rem; align-items:center }
.split-vis { position:relative }
.vis-box {
  width:100%; padding-bottom:125%;
  position:relative; overflow:hidden;
  background:linear-gradient(145deg,var(--bg3) 0%,var(--surface) 100%);
}
.vis-box::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    45deg,transparent,transparent 48px,
    rgba(200,169,110,.07) 48px,rgba(200,169,110,.07) 49px
  );
}
.vis-accent-card {
  position:absolute; top:2rem; right:2rem;
  background:rgba(255,255,255,.92); backdrop-filter:blur(10px);
  border:1px solid var(--border-gold); padding:1.2rem 1.6rem;
  box-shadow:var(--shadow-md);
}
.vis-accent-card .ac-n { font-size:2rem; font-weight:700; color:var(--gold); line-height:1 }
.vis-accent-card .ac-t { font-size:.62rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); margin-top:.3rem }
.vis-corner { position:absolute; bottom:-1.5rem; right:-1.5rem; width:160px; height:160px; border:1px solid var(--border-gold); z-index:-1 }
.vis-corner2 { position:absolute; top:-1.2rem; left:-1.2rem; width:80px; height:80px; background:var(--gold-pale); z-index:-1 }

.why-rows { margin-top:0.5rem; border-top:1px solid var(--border) }
.why-row {
  display:grid; grid-template-columns:auto 1fr; gap:1.3rem;
  padding:0.25rem 0; border-bottom:1px solid var(--border);
  align-items:flex-start; transition:background .25s; cursor:default;
}
.why-row:hover { background:var(--gold-tint); margin:0 -1rem; padding-left:1rem; padding-right:1rem }
.wr-num { font-style:italic; font-size:.95rem; color:var(--text-4); min-width:20px; padding-top:.15rem; transition:color .25s }
.why-row:hover .wr-num { color:var(--gold) }
.why-row h3 { margin-bottom:.3rem }
.why-row p { line-height:1.7 }


/* ── 13 PROCESS GRID ── */
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border) }
.pi {
  background:var(--bg); padding:2.8rem 2.2rem;
  position:relative; transition:background .28s;
}
.pi:hover { background:var(--gold-tint) }
.pi::before {
  content:attr(data-n);
  position:absolute; top:1.5rem; right:2rem;
  font-size:4.5rem; font-weight:700;
  color:rgba(200,169,110,.07); line-height:1; pointer-events:none;
}
.pi-dot {
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--border-gold);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.6rem;
  font-size:.9rem; font-weight:600; color:var(--gold);
  background:var(--gold-tint);
  transition:background .28s,border-color .28s,color .28s;
}
.pi:hover .pi-dot { background:var(--gold); color:#fff; border-color:var(--gold) }
.pi h3 { margin-bottom:.5rem }
.pi p { line-height:1.7 }


/* ── 14 PROJECTS GRID ── */
.proj-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px; background:var(--border-md);
}
.proj { background:var(--bg2); overflow:hidden; position:relative; cursor:pointer }
.proj-thumb {
  width:100%; display:block;
  background:linear-gradient(140deg,var(--surface) 0%,var(--bg3) 100%);
  position:relative; overflow:hidden;
  height:280px;
}
.proj-thumb::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(-55deg,transparent,transparent 40px,rgba(200,169,110,.06) 40px,rgba(200,169,110,.06) 41px);
}
.proj-thumb::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(26,23,20,.65) 0%,transparent 55%);
  opacity:0; transition:opacity .4s;
}
.proj:hover .proj-thumb::after { opacity:1 }
.proj-overlay {
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:2rem; opacity:0; transition:opacity .4s;
}
.proj:hover .proj-overlay { opacity:1 }
.proj-tag { font-size:.63rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:.4rem }
.proj-overlay h3 { font-size:1.3rem; color:#fff; line-height:1.3 }
.proj-info { padding:1.6rem 2rem; border-top:1px solid var(--border) }
.proj-info .proj-tag { display:block; margin-bottom:.35rem; color:var(--gold-dk) }
.proj-info h3 { margin-bottom:.2rem }
.proj-info p { color:var(--text-3) }


/* ── 15 AREAS GRID ── */
.areas-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--border); border-left:1px solid var(--border);
}
.ai {
  border-right:1px solid var(--border);
  border-bottom:2px solid var(--gold-pale);
  padding:1.8rem 1.6rem;
  transition:background .28s,border-bottom-color .28s;
}
.ai:hover { background:var(--gold-tint); border-bottom-color:var(--gold) }
.ai-n { font-style:italic; font-size:.8rem; color:var(--text-4); margin-bottom:.7rem; transition:color .25s }
.ai:hover .ai-n { color:var(--gold) }
.ai h3 { margin-bottom:.35rem }
.ai p { line-height:1.6 }


/* ── 16 COST SECTION ── */
.cost-layout { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start }
.cost-cards { display:flex; flex-direction:column; gap:1px; background:var(--border) }
.cost-card {
  background:var(--bg); padding:2.4rem 2.6rem;
  border-left:3px solid transparent;
  transition:border-color .28s,background .28s;
}
.cost-card:hover { border-left-color:var(--gold); background:var(--gold-tint) }
.cost-card.featured { border-left-color:var(--gold); background:var(--gold-tint); position:relative }
.cost-card.featured::before {
  content:'Most Popular';
  position:absolute; top:2rem; right:2rem;
  background:var(--gold); color:#fff;
  font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:.28rem .8rem;
}
.cost-price { font-size:1.9rem; font-weight:700; color:var(--gold-dk); line-height:1; margin-bottom:.25rem }
.cost-price span { font-size:.9rem; font-weight:400; color:var(--text-3) }
.cost-name { font-size:.68rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--text-4); margin-bottom:.9rem }
.cost-desc { line-height:1.75 }
.cost-side h3 { font-size:1.5rem; margin-bottom:1.6rem; line-height:1.3 }
.cost-side h3 em { font-style:italic; color:var(--gold) }
.factor-list { list-style:none; border-top:1px solid var(--border) }
.factor-list li {
  display:flex; align-items:flex-start; gap:2rem;
  padding:0.75rem 0; border-bottom:1px solid var(--border);
  line-height:1.65;
}
.factor-list li::before { content:''; width:18px; height:1px; background:var(--gold); margin-top:.8em; flex-shrink:0; opacity:.8 }
.cost-note {
  margin-top:1.8rem; padding:1.4rem 1.8rem;
  border:1px solid var(--border-gold); background:var(--gold-pale);
  line-height:1.75;
}
.cost-note strong { color:var(--gold-dk); font-weight:700 }


/* ── 17 TESTIMONIALS ── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border) }
.testi {
  background:var(--bg); padding:2.5rem 2.2rem;
  border-bottom:2px solid transparent;
  transition:background .28s,border-bottom-color .28s;
}
.testi:hover { background:var(--gold-tint); border-bottom-color:var(--gold) }
.testi-stars { color:var(--gold); font-size:.85rem; letter-spacing:.06em; margin-bottom:1.1rem }
.testi blockquote {
  font-size:1rem; font-style:italic; font-weight:400;
  color:var(--text-2); line-height:1.65; margin-bottom:1.4rem;
}
.testi-author { display:flex; align-items:center; gap:.8rem }
.testi-av {
  width:36px; height:36px; border-radius:50%;
  background:var(--gold-pale); border:1px solid var(--border-gold);
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem; font-weight:700; color:var(--gold-dk);
}
.testi-name { font-size:.82rem; font-weight:600; color:var(--text-1) }
.testi-role { font-size:.72rem; font-weight:400; color:var(--text-4); letter-spacing:.03em }



/* ── 18 FAQ ACCORDION ── */
.faq-grid { display:flex; flex-direction:column }
.faq-item {
  border-bottom:1px solid var(--border);
  background:var(--bg);
  transition:background .3s;
  position:relative;
}
.faq-item:first-child { border-top:1px solid var(--border) }
.faq-item::before {
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:var(--gold);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .3s ease;
}
.faq-item.open { background:var(--gold-tint) }
.faq-item.open::before { transform:scaleY(1) }
.faq-btn,
.faq-btn:hover,
.faq-btn:focus,
.faq-btn:active,
.faq-btn:visited,
.elementor-button.faq-btn,
.elementor-widget-button .faq-btn {
  width:100%;
  background:none !important;
  background-color:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:inherit !important;
  text-align:left;
  padding:1rem 2rem;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  appearance:none;
  -webkit-appearance:none;
  border-bottom: solid 1px black;
}
.faq-btn:focus { outline:none !important; box-shadow:none !important }
.faq-btn h3 { color:var(--text-1); line-height:1.5; transition:color .25s }
.faq-item.open .faq-btn h3 { color:var(--gold-dk) }
.faq-toggle {
  width:24px; height:24px; flex-shrink:0;
  border:1.5px solid var(--border-gold);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); font-size:.9rem; line-height:1;
  transition:transform .3s, background .3s, border-color .3s, color .3s;
}
.faq-item.open .faq-toggle {
  transform:rotate(45deg);
  background:var(--gold-tint);
  color:#fff;
  border-color:var(--gold);
}
.faq-body {
  max-height:0; overflow:hidden;
  transition:max-height .4s ease, padding .35s;
  padding:0 2rem;
}
.faq-item.open .faq-body { max-height:300px; padding-bottom:1.8rem }
.faq-body p { line-height:1.8; color:var(--text-3) }


/* ── 19 CTA SECTION ── */
.cta-sec {
  background:var(--text-1);
  padding:6.5rem 4vw; text-align:center;
  position:relative; overflow:hidden;
}
.cta-sec::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 55% at 50% 50%,rgba(200,169,110,.1) 0%,transparent 70%);
  pointer-events:none;
}
.cta-sec::after {
  content:'RNM';
  position:absolute; bottom:-1.5rem; left:50%; transform:translateX(-50%);
  font-size:20vw; font-weight:700;
  color:rgba(200,169,110,.04); white-space:nowrap; pointer-events:none; user-select:none;
}
.cta-inner { position:relative; z-index:1 }
.cta-sec .eyebrow { justify-content:center; display:inline-flex; color:var(--gold-lt) }
.cta-sec .eyebrow::before { background:var(--gold-lt) }
.cta-sec h2 { font-size:clamp(1.9rem,3.8vw,3.2rem); font-weight:700; color:#fff; line-height:1.15; margin-bottom:1rem }
.cta-sec h2 em { font-style:italic; color:var(--gold) }
.cta-sec .slead { color:rgba(255,255,255,.5); margin:0 auto 2.5rem; max-width:520px }
.cta-btns { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; margin-bottom:3.5rem }
.cta-contacts { display:flex; justify-content:center; gap:3rem; flex-wrap:wrap; padding-top:3rem; border-top:1px solid rgba(255,255,255,.08) }
.c-item { display:flex; flex-direction:column; align-items:center; gap:.25rem; text-decoration:none }
.c-icon {
  width:36px; height:36px;
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); font-size:.85rem; margin-bottom:.3rem;
  transition:border-color .3s,background .3s;
}
.c-item:hover .c-icon { border-color:var(--gold); background:rgba(200,169,110,.12) }
.c-lbl { font-size:.63rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,.3) }
.c-val { font-size:.88rem; font-weight:400; color:rgba(255,255,255,.55); transition:color .25s }
.c-item:hover .c-val { color:var(--gold) }


/* ── 20 CATEGORY A/B CARDS (Fit-Out page only) ── */
.cat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border) }
.cat-card { background:var(--bg); padding:2.8rem 2.5rem; border-top:3px solid transparent; transition:border-color .28s,background .28s }
.cat-card.featured { border-top-color:var(--gold); background:var(--gold-tint) }
.cat-card:not(.featured):hover { border-top-color:var(--border-gold); background:var(--bg2) }
.cat-badge { display:inline-block; font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:.3rem .9rem; margin-bottom:1.2rem }
.cat-card.featured .cat-badge { background:var(--gold); color:#fff }
.cat-card:not(.featured) .cat-badge { background:var(--surface); color:var(--text-3) }
.cat-card h3 { font-size:1.3rem; margin-bottom:.8rem }
.cat-card p { line-height:1.75; margin-bottom:1.2rem }
.cat-includes { list-style:none; display:flex; flex-direction:column; gap:.5rem; border-top:1px solid var(--border); padding-top:1.2rem }
.cat-includes li { display:flex; align-items:flex-start; gap:.65rem; line-height:1.5 }
.cat-includes li::before { content:''; width:16px; height:1px; background:var(--gold); margin-top:.75em; flex-shrink:0 }


/* ── 21 HERO GRID OVERLAY (Space Planning page only) ── */
.hero-grid-overlay {
  position:absolute; inset:0; z-index:1; opacity:.18;
  background-image:linear-gradient(var(--gold) 1px,transparent 1px),linear-gradient(90deg,var(--gold) 1px,transparent 1px);
  background-size:48px 48px;
}


/* ── 22 MEASURE GRID (Space Planning page only) ── */
.measure-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--border); border-left:1px solid var(--border);
}
.mg-item {
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:2rem 1.8rem; transition:background .28s; cursor:default;
}
.mg-item:hover { background:var(--gold-tint); border-bottom:2px solid var(--gold) }
.mg-num { font-size:2.5rem; font-weight:bold; color:var(--gold); opacity:.5; line-height:1; margin-bottom:.7rem; transition:opacity .28s }
.mg-item:hover .mg-num { opacity:1 }
.mg-item h3 { margin-bottom:.4rem }
.mg-item p { line-height:1.65 }


/* ── 23 RESPONSIVE ── */
@media(max-width:1100px) {
  .services-grid { grid-template-columns:1fr 1fr }
  .areas-grid { grid-template-columns:repeat(2,1fr) }
  .process-grid { grid-template-columns:1fr 1fr }
  .measure-grid { grid-template-columns:1fr 1fr }
  .testi-grid { grid-template-columns:1fr 1fr }
}

@media(max-width:900px) {
  .hero { grid-template-columns:1fr; height:auto; min-height:100svh }
  .hero::after { display:none }
  .hero-left { padding:1rem 4vw 3rem }
  .hero-right { min-height:55vw }
  .split { grid-template-columns:1fr; gap:3rem }
  .split-vis { order:-1 }
  .vis-box { padding-bottom:65% }
  .cost-layout { grid-template-columns:1fr; gap:3rem }
  .faq-grid { grid-template-columns:1fr }
  .proj-grid { grid-template-columns:1fr }
  .proj:first-child { grid-row:auto }
  .proj:first-child .proj-thumb { height:300px }
  .testi-grid { grid-template-columns:1fr }
  .cat-grid { grid-template-columns:1fr }
  .value-strip { grid-template-columns:1fr }
  .section { padding:4rem 4vw }
  .cta-contacts { gap:1.5rem }
  .cost-card.featured::before {
  position:absolute; top:0rem; right:0rem;
}
}

@media(max-width:600px) {
  .services-grid { grid-template-columns:1fr }
  .process-grid { grid-template-columns:1fr }
  .areas-grid { grid-template-columns:1fr }
  .measure-grid { grid-template-columns:1fr }
  .testi-grid { grid-template-columns:1fr }
  .hero-stats { gap:1.5rem }
  .hls-item { border-right:none; border-bottom:1px solid var(--border-gold) }
}




.vs-icon svg,
.vs-icon svg path,
.vs-icon svg polyline,
.vs-icon svg line,
.vs-icon svg rect,
.vs-icon svg circle {
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ════════════════════════════════════════════════════════
   ABOUT PAGE ADDITIONS
   (Unique classes from about page stylesheet)
   ════════════════════════════════════════════════════════ */

/* ── ABOUT PAGE — SHARED COMPONENT VARIANTS ──
   These classes are used on the About page alongside the main CSS.
   They provide alternate/extended styling for shared components. */

/* Base element overrides */
p:last-child { margin-bottom: 0; }
a:hover { color: var(--gold); }
em { font-style: italic; color: var(--gold); }
blockquote { font-size: 0.93rem; line-height: 1.75; color: var(--text-2); }

/* Section head extended variants */
.sec-head        { max-width: 720px; margin-bottom: 2.75rem; }
.sec-head.wide   { max-width: 100%; }
.sec-head.center { text-align: center; margin-left: auto; margin-right: auto; }

/* Button variants */
.btn-outline {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.85rem 1.75rem; background: transparent; color: var(--text-1);
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  border: 2px solid var(--text-1); transition: background 0.2s, color 0.2s;
}
.btn-outline:hover { background: var(--text-1); color: #fff; }
.btn-group { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Hero — About page variant (photo + badges layout) */
.hero-photo { flex: 1; background: linear-gradient(135deg,var(--bg3) 0%,var(--gold-tint) 100%); display: flex; align-items: center; justify-content: center; font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-4); min-height: 400px; }
.hero-badges { display: grid; grid-template-columns: repeat(3,1fr); background: var(--text-1); }
.hero-badge { padding: 1.25rem 1.5rem; border-right: 1px solid rgba(255,255,255,0.07); }
.hero-badge:last-child { border-right: none; }
.hb-num { font-size: 1.3rem; font-weight: 800; color: var(--gold); line-height: 1; margin-bottom: 0.2rem; }
.hb-lbl { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.4); }

/* Hero stats — About page variant */
.h-stat { display: flex; flex-direction: column; gap: 0.2rem; }
.h-num  { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 800; color: var(--gold); line-height: 1; }
.h-lbl  { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-4); }

/* Split — About page variant */
.split-text p { font-size: 0.95rem; line-height: 1.85; color: var(--text-3); margin-bottom: 1.1rem; }

/* Services — About page card variant */
.svc-card { background: var(--bg); padding: 2rem 1.75rem; display: flex; flex-direction: column; gap: 0.65rem; transition: background 0.2s; }
.svc-card:hover { background: var(--gold-tint); }
.svc-num { font-size: 2.2rem; font-weight: 800; color: var(--gold-pale); line-height: 1; }
.svc-card h3 { font-size: 1rem; font-weight: 700; color: var(--text-1); margin: 0; }
.svc-card h3 a:hover { color: var(--gold); }
.svc-card p { font-size: 0.83rem; color: var(--text-3); line-height: 1.65; margin: 0; }

/* Projects — About page meta variant */
.proj-meta { padding: 1.5rem; }
.proj-meta .proj-tag { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.5rem; }
.proj-meta h3 { font-size: 1rem; font-weight: 700; color: var(--text-1); margin-bottom: 0.35rem; }
.proj-meta p { font-size: 0.8rem; color: var(--text-3); margin: 0; }

/* Testimonials — About page item variant */
.testi-item { background: var(--bg); padding: 2rem 1.75rem; display: flex; flex-direction: column; gap: 1rem; }
.testi-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--text-1); color: #fff; font-size: 0.85rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }


/* ── ABOUT PAGE — UNIQUE SECTIONS ── */

/* Timeline */
.timeline-wrap { position: relative; margin-top: 3rem; padding-top: 0.5rem; }
.timeline-line { position: absolute; top: 6px; left: 6%; right: 6%; height: 2px; background: linear-gradient(to right, transparent, var(--border-gold) 10%, var(--gold) 40%, var(--gold) 60%, var(--border-gold) 90%, transparent); z-index: 0; }
.timeline-grid { display: grid; grid-template-columns: repeat(5,1fr); position: relative; z-index: 1; }
.timeline-item { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 0.75rem; }
.t-dot   { width: 13px; height: 13px; border-radius: 50%; background: var(--gold); border: 3px solid var(--bg3); box-shadow: 0 0 0 2px var(--gold); margin-bottom: 1.1rem; flex-shrink: 0; }
.t-year  { font-size: 1.5rem; font-weight: 800; color: var(--gold); line-height: 1; margin-bottom: 0.3rem; }
.t-event { font-size: 0.68rem; font-weight: 700; color: var(--text-1); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 0.4rem; }
.t-desc  { font-size: 0.78rem; color: var(--text-4); line-height: 1.55; }

/* Values — 3 dark cards */
.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(0,0,0,0.2); }
.value-card  { background: var(--text-1); padding: 2.75rem 2.25rem; display: flex; flex-direction: column; gap: 1rem; transition: background 0.2s; }
.value-card:hover { background: #252220; }
.v-icon  { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--border-gold); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 1rem; }
.v-title { font-size: 1.1rem; font-weight: 700; color: #fff; line-height: 1.25; margin: 0; }
.v-desc  { font-size: 0.86rem; color: rgba(255,255,255,0.5); line-height: 1.8; margin: 0; }

/* Stat strip */
.stat-strip { background: var(--text-1); padding: 3.5rem clamp(2rem,4vw,5rem); display: grid; grid-template-columns: repeat(5,1fr); }
.stat-strip-item { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; border-right: 1px solid rgba(200,169,110,0.15); padding: 0.5rem 1rem; text-align: center; }
.stat-strip-item:last-child { border-right: none; }
.stat-big { font-size: clamp(2rem,3.5vw,3rem); font-weight: 800; color: var(--gold); line-height: 1; }
.stat-sub { font-size: 0.65rem; font-weight: 600; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.1em; }

/* Credentials */
.cred-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.cred-item { background: var(--bg); padding: 1.75rem 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; transition: background 0.2s; }
.cred-item:hover { background: var(--gold-tint); }
.cred-check { width: 34px; height: 34px; border-radius: 50%; background: var(--gold-tint); border: 1.5px solid var(--border-gold); display: flex; align-items: center; justify-content: center; color: var(--gold-dk); font-size: 0.85rem; font-weight: 700; }
.cred-item h3 { font-size: 0.95rem; font-weight: 700; color: var(--text-1); margin: 0; }
.cred-item p  { font-size: 0.82rem; color: var(--text-3); line-height: 1.65; margin: 0; }
.cred-item a  { color: var(--gold-dk); border-bottom: 1px solid var(--border-gold); }

/* CTA wrap */
.cta-wrap { text-align: center; padding: clamp(3rem,6vw,5.5rem) clamp(2rem,4vw,5rem); background: var(--bg3); }
.cta-btns { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin-top: 2rem; }

/* ── Responsive ── */
@media (max-width: 1100px) {
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .cred-grid     { grid-template-columns: repeat(2,1fr); }
  .stat-strip    { grid-template-columns: repeat(3,1fr); }
  .stat-strip-item:nth-child(3) { border-right: none; }
  .testi-grid    { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px) {
  .hero        { grid-template-columns: 1fr; min-height: auto; }
  .hero-right  { min-height: 55vw; }
  .split       { grid-template-columns: 1fr; gap: 2.5rem; }
  .faq-grid    { grid-template-columns: 1fr; }
  .faq-item    { border-right: none; }
  .proj-grid   { grid-template-columns: 1fr; }
  .testi-grid  { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .timeline-grid { grid-template-columns: repeat(3,1fr); }
  .timeline-item:nth-child(n+4) { display: none; }
  .stat-strip  { grid-template-columns: repeat(2,1fr); }
  .stat-strip-item { border-right: none; border-bottom: 1px solid rgba(200,169,110,0.12); padding-bottom: 1.5rem; }
  .stat-strip-item:last-child { border-bottom: none; }
}
@media (max-width: 600px) {
  .services-grid { grid-template-columns: 1fr; }
  .cred-grid     { grid-template-columns: 1fr; }
  .stat-strip    { grid-template-columns: 1fr 1fr; }
  .timeline-grid { grid-template-columns: repeat(2,1fr); }
}/* End custom CSS */