/* =====================================================================
   REVEAL IMAGE — SITE LAYOUT (all WPBakery pages)
   Paste into: WPBakery Page Builder → Custom CSS (replace everything)
   ===================================================================== */

/* Fonts (Google Fonts). To add one: &family=Font+Name inside the link */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,300;6..72,400&family=Hanken+Grotesk:wght@300;400;500&display=swap');

/* =====================================================================
   1. SETTINGS — change only these values
   ===================================================================== */
:root{
  /* fonts */
  --rv-serif:"Newsreader",Georgia,serif;          /* titles (iMaker style: sharp serif) */
  --rv-sans:"Hanken Grotesk",sans-serif;         /* paragraphs, menu, buttons (iMaker style: grotesk) */

  /* text sizes (computer) */
  --rv-size-hero:clamp(52px,9vw,140px);   /* big header title */
  --rv-size-h2:clamp(34px,4.2vw,64px);    /* section titles */
  --rv-size-lead:clamp(30px,4vw,62px);    /* big intro sentence */
  --rv-size-photo:48px;                   /* titles written on photos */
  --rv-size-body:15.5px;                  /* paragraphs */
  --rv-size-small:13px;                   /* small labels */

  /* colours */
  --rv-ink:#1D1A16;     /* main text */
  --rv-muted:#9B9086;   /* grey second line of titles */
  --rv-soft:#5E574F;    /* paragraphs */

  /* rounded corners: 0 square · 14 medium · 24 very round */
  --rv-radius:40px;

  /* spaces between photos, texts and rows */
  --rv-gap:40px;          /* computer */
  --rv-gap-mobile:16px;   /* phone */

  /* left and right page margins (same on both sides) */
  --rv-page-side:80px;          /* computer */
  --rv-page-side-mobile:32px;   /* phone */

  --rv-side:5vw;          /* side margin of full-width text rows */
}
@media (max-width:767px){
  :root{ --rv-gap:var(--rv-gap-mobile); --rv-side:20px; --rv-page-side:var(--rv-page-side-mobile); }
}

/* =====================================================================
   2. TEMPLATE ELEMENTS
   ===================================================================== */

/* full-width text rows */
.rv-pad{padding-left:var(--rv-side)!important;padding-right:var(--rv-side)!important}

/* header (full screen) */
.rv-hero{position:relative;min-height:100vh;display:flex!important;align-items:flex-end}
.rv-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%)}
.rv-hero>.wpb_column{position:relative;z-index:2;width:100%;padding:0 var(--rv-side) clamp(40px,6vw,90px)!important}
.rv-hero-title,.rv-hero-title h1,h1.rv-hero-title{font-family:var(--rv-serif)!important;font-weight:400!important;color:#fff!important;
  font-size:var(--rv-size-hero)!important;line-height:.95!important;letter-spacing:-.02em!important;text-transform:none!important;margin:0!important}
.rv-hero-sub,.rv-hero-sub div{font-family:var(--rv-sans)!important;color:#fff!important;font-size:15px!important;opacity:.9;margin-top:14px!important}

/* facts (Year / Location / Size) */
.rv-fact-label p{font-family:var(--rv-sans);font-size:var(--rv-size-small);color:var(--rv-muted);margin:0 0 4px!important}
.rv-fact-value,.rv-fact-value div{font-family:var(--rv-serif)!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.15!important;color:var(--rv-ink)!important;margin:0!important}

/* big intro sentence */
.rv-lead-text,.rv-lead-text div{font-family:var(--rv-serif)!important;font-size:var(--rv-size-lead)!important;
  line-height:1.05!important;letter-spacing:-.015em;color:var(--rv-ink)!important;margin:0!important;max-width:28ch}

/* titles and paragraphs */
.rv-eyebrow p{font-family:var(--rv-sans);font-size:var(--rv-size-small);color:var(--rv-ink);margin:0 0 12px!important}
.rv-h2,.rv-h2 h2,h2.rv-h2{font-family:var(--rv-serif)!important;font-weight:400!important;font-size:var(--rv-size-h2)!important;
  line-height:1.02!important;letter-spacing:-.015em!important;color:var(--rv-ink)!important;text-transform:none!important;margin:0!important}
.rv-muted,.rv-muted h2,.rv-muted div,h2.rv-muted,div.rv-muted{color:var(--rv-muted)!important}
.rv-body p{font-family:var(--rv-sans);font-size:var(--rv-size-body);line-height:1.7;color:var(--rv-soft);max-width:54ch;margin:22px 0 8px!important}
.rv-more .rv-h2,.rv-more .rv-h2 h2{font-size:clamp(28px,3.2vw,48px)!important}

/* justified paragraphs (titles stay as they are) */
.wpb_text_column p,.rv-body p{text-align:justify!important;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}

/* images next to text, grid images */
.rv-split .vc_single_image-wrapper,.rv-split .vc_single_image-img,
.rv-bento .vc_single_image-wrapper,.rv-bento .vc_single_image-img{display:block;width:100%}
.rv-split .vc_single_image-img,.rv-bento .vc_single_image-img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--rv-radius)}
.rv-bento .rv-bento-wide .vc_single_image-img{aspect-ratio:21/9}

/* buttons */
.rv-btn .vc_btn3{font-family:var(--rv-sans)!important;font-weight:500;font-size:13px!important;
  padding:12px 20px!important;border-radius:8px!important;transition:transform .3s!important}
.rv-btn .vc_btn3.vc_btn3-color-black{background:var(--rv-ink)!important;color:#fff!important;border-color:var(--rv-ink)!important}
.rv-btn-ghost .vc_btn3{background:transparent!important;color:var(--rv-ink)!important;border:1px solid var(--rv-ink)!important}
.rv-btn .vc_btn3:hover{transform:translateY(-2px)}

/* carousels */
.rv-carousel .vc_images_carousel{width:100%!important}
.rv-carousel .vc_carousel-slideline img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rv-radius)}
.rv-carousel .vc_carousel-control{opacity:1;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.85);top:50%;margin-top:-23px;text-shadow:none}
.rv-carousel .vc_carousel-control.vc_left{left:24px}
.rv-carousel .vc_carousel-control.vc_right{right:24px}
.rv-carousel .vc_carousel-control .icon-prev,.rv-carousel .vc_carousel-control .icon-next{color:var(--rv-ink)}

/* full-width statement on a photo */
.rv-quote{position:relative;min-height:90vh;display:flex!important;align-items:flex-end}
.rv-quote::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%)}
.rv-quote>.wpb_column{position:relative;z-index:2;width:100%;padding:0 var(--rv-side) clamp(40px,6vw,90px) 40vw!important}
.rv-quote-text,.rv-quote-text div{font-family:var(--rv-serif)!important;font-size:clamp(32px,4vw,60px)!important;
  line-height:1.05!important;color:#fff!important;margin:0!important}

/* photo or video with text on top */
.rv-photo-text{position:relative;min-height:80vh;display:flex!important;align-items:flex-end;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.rv-photo-text::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.6) 100%)}
.rv-photo-text>.wpb_column{position:relative;z-index:2;width:100%;padding:0 5vw 60px!important}
.rv-photo-title,.rv-photo-title h1,.rv-photo-title h2{color:#fff!important;font-family:var(--rv-serif)!important;
  font-weight:400!important;font-size:var(--rv-size-photo)!important;line-height:1.05!important;text-transform:none!important;margin:0!important}
h1.rv-photo-title,.rv-photo-title h1{font-size:var(--rv-size-hero)!important}
.rv-photo-desc p{color:#fff;opacity:.9;font-size:15px;max-width:45ch;margin:10px 0 0!important}

/* rounded photo rows */
.rv-photo-text,.rv-quote,.rv-hero{border-radius:var(--rv-radius);overflow:hidden}

/* =====================================================================
   3. "EXTRA CLASS NAME" OPTIONS (combine with a space: "rv-h2 rv-big")
      rv-square / rv-round   → sharp / extra-round image
      rv-big / rv-smaller    → bigger / smaller text
      rv-serif / rv-sans     → title font / paragraph font
      rv-upper / rv-white    → CAPITALS / white text
   ===================================================================== */
.rv-square img,.rv-square .vc_single_image-img{border-radius:0!important}
.rv-round img,.rv-round .vc_single_image-img{border-radius:32px!important}
.rv-big,.rv-big *{font-size:1.3em!important}
.rv-smaller,.rv-smaller *{font-size:.8em!important}
.rv-serif,.rv-serif *{font-family:var(--rv-serif)!important}
.rv-sans,.rv-sans *{font-family:var(--rv-sans)!important}
.rv-upper,.rv-upper *{text-transform:uppercase!important;letter-spacing:.08em!important}
.rv-white,.rv-white *{color:#fff!important}

/* =====================================================================
   4. SPACING — one gap everywhere (set in SETTINGS above)
      replaces the paddings typed in Design Options and empty spacer rows
   ===================================================================== */
.wpb-content-wrapper .vc_row{padding-top:0!important;padding-bottom:0!important;
  margin-top:0!important;margin-bottom:var(--rv-gap)!important}
:root{--rv-col-pad:calc(var(--rv-gap) / 2)}
@media (max-width:767px){ :root{--rv-col-pad:0px} }
/* equal left / right page margins */
.wpb-content-wrapper .vc_row:not([data-vc-full-width]){margin-left:0!important;margin-right:0!important;
  padding-left:calc(var(--rv-page-side) - var(--rv-col-pad))!important;padding-right:calc(var(--rv-page-side) - var(--rv-col-pad))!important}
.wpb-content-wrapper .vc_row .vc_column-inner{padding-top:0!important;padding-bottom:0!important;
  padding-left:var(--rv-col-pad)!important;padding-right:var(--rv-col-pad)!important}
/* rows inside rows (inner rows) stay centred */
.wpb-content-wrapper .vc_row.vc_inner{margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;max-width:100%}
/* ignore side padding typed in a text, button or image's Design Options */
.wpb-content-wrapper .wpb_content_element,.wpb-content-wrapper .vc_btn3-container{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
/* photos fill their column, so all edges line up */
.wpb-content-wrapper .wpb_single_image .vc_figure,.wpb-content-wrapper .wpb_single_image .vc_single_image-wrapper,
.wpb-content-wrapper .wpb_single_image img{display:block!important;width:100%!important;max-width:100%!important}
.wpb-content-wrapper .vc_column-inner>.wpb_wrapper>*:last-child,
.wpb-content-wrapper .wpb_single_image,
.wpb-content-wrapper .wpb_text_column p:last-child{margin-bottom:0!important}
.wpb-content-wrapper .vc_btn3-container{margin-top:min(24px,calc(var(--rv-gap) * .75))!important}
/* ignore top/bottom padding typed in a text or button's Design Options */
.wpb-content-wrapper .wpb_content_element,.wpb-content-wrapper .vc_btn3-container{padding-top:0!important;padding-bottom:0!important}

/* empty spacer rows are switched off */
.wpb-content-wrapper .wpb_wrapper>div[style*="clear:both"]{height:0!important}
.wpb-content-wrapper .vc_row:has(div[style*="clear:both"]):not(:has(.wpb_content_element,.vc_btn3-container,img,h1,h2,h3)){display:none!important}

/* computer: photo and text side by side, vertically centred */
@media (min-width:768px){
  .wpb-content-wrapper .vc_row:has(>.wpb_column+.wpb_column){display:flex!important;align-items:center!important}
  /* rows inside rows (team, services...): columns aligned at the top */
  .wpb-content-wrapper .vc_row.vc_inner:has(>.wpb_column+.wpb_column){align-items:flex-start!important}
}

/* team photos: all the same size */
.team-member img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover}

/* Slider Revolution: no shadow under the slider */
rs-module-wrap[class*="tp-shadow"],rs-module-wrap[class*="tp-shadow"]::before,rs-module-wrap[class*="tp-shadow"]::after{box-shadow:none!important}

/* Slider Revolution rows: edge to edge, no page margins */
.wpb-content-wrapper .vc_row.vc_row:has(rs-module-wrap){padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
.wpb-content-wrapper .vc_row.vc_row:has(rs-module-wrap) .vc_column-inner{padding-left:0!important;padding-right:0!important}

/* PROJECT pages — header photo row: one background only, rounded, same side margins as the photos */
.single-portfolio .wpb-content-wrapper .upb_row_bg{display:none!important}
.single-portfolio .wpb-content-wrapper .vc_row:has(>.upb_row_bg) .vc_column-inner{background:none!important}
.single-portfolio .wpb-content-wrapper .vc_row:has(>.upb_row_bg){margin-left:var(--rv-page-side)!important;margin-right:var(--rv-page-side)!important;
  padding-left:0!important;padding-right:0!important;width:auto!important;left:auto!important;
  border-radius:var(--rv-radius)!important;overflow:hidden!important;
  background-size:cover!important;background-position:center!important;background-attachment:scroll!important;background-repeat:no-repeat!important}
.single-portfolio .wpb-content-wrapper .vc_row:has(>.upb_row_bg)>div:not(.upb_row_bg){padding-left:var(--rv-gap)!important;padding-right:var(--rv-gap)!important}

/* OTHER pages (home...) — coloured / photo backgrounds go edge to edge, content keeps the page margins */
body:not(.single-portfolio) .wpb-content-wrapper .vc_row.vc_row.vc_row:not(.vc_inner){margin-left:0!important;margin-right:0!important;
  padding-left:0!important;padding-right:0!important;border-radius:0!important;width:auto!important}
body:not(.single-portfolio) .wpb-content-wrapper .vc_row.vc_row.vc_row:not(.vc_inner)>div:not(.upb_row_bg){
  padding-left:calc(var(--rv-page-side) - var(--rv-col-pad))!important;padding-right:calc(var(--rv-page-side) - var(--rv-col-pad))!important}
/* slider edge to edge */
body:not(.single-portfolio) .wpb-content-wrapper .vc_row.vc_row.vc_row:not(.vc_inner):has(rs-module-wrap)>div:not(.upb_row_bg){padding-left:0!important;padding-right:0!important}
/* image banners (Interior design, Product design...) and the map bar edge to edge */
body:not(.single-portfolio) .wpb-content-wrapper .vc_row.vc_row.vc_row:has(.ult-new-ib,.map-wrapper)>div:not(.upb_row_bg){padding-left:0!important;padding-right:0!important}
body:not(.single-portfolio) .wpb-content-wrapper .vc_row:has(.ult-new-ib,.map-wrapper) .vc_column-inner{padding-left:0!important;padding-right:0!important}

/* project pages with the new header: hide the theme's grey title bar */
.single-portfolio:has(.wpb-content-wrapper .rv-interiors) .page-title-subtitle,
.single-portfolio:has(.wpb-content-wrapper .rv-project-header) .page-title-subtitle{display:none!important}

/* page header (row with class rv-photo-text): same side margins as the photos */
.wpb-content-wrapper .vc_row.rv-photo-text{margin-left:var(--rv-page-side)!important;margin-right:var(--rv-page-side)!important;
  padding-left:var(--rv-gap)!important;padding-right:var(--rv-gap)!important}

/* =====================================================================
   5. PHONE (screens under 768px)
   ===================================================================== */
@media (max-width:767px){
  /* layout: columns stacked full width */
  .vc_row .wpb_column{width:100%!important;margin-left:0!important}

  /* blocks: photo → text → button, then a double space */
  .wpb-content-wrapper .vc_row>.wpb_column:not(:last-child){margin-bottom:var(--rv-gap)!important}
  .wpb-content-wrapper .vc_row>.wpb_column:last-child{margin-bottom:0!important}
  .wpb-content-wrapper .vc_row:has(>.wpb_column+.wpb_column){display:flex!important;flex-direction:column!important}
  .wpb-content-wrapper .vc_row:has(>.wpb_column+.wpb_column)>.wpb_column{margin-bottom:var(--rv-gap)!important}
  .wpb-content-wrapper .vc_row>.wpb_column:has(.wpb_single_image){order:-1}
  .wpb-content-wrapper .vc_row:has(>.wpb_column+.wpb_column)>.wpb_column:has(.vc_btn3-container){order:1;margin-bottom:0!important}
  .wpb-content-wrapper .vc_row:has(.vc_btn3-container){margin-bottom:calc(var(--rv-gap) * 2)!important}

  /* text sizes */
  .vc_row h1,.vc_row h1 *,.vc_row h5,.vc_row h5 *{font-size:40px!important;line-height:1!important}
  .vc_row h2,.vc_row h2 *{font-size:30px!important;line-height:1.1!important}
  .vc_row h3,.vc_row h3 *,.vc_row h4,.vc_row h4 *{font-size:22px!important;line-height:1.2!important}
  .vc_row h6,.vc_row h6 *{font-size:18px!important;line-height:1.3!important}
  .vc_row .wpb_text_column p{font-size:15px!important;line-height:1.6!important}
  .rv-photo-title,.rv-photo-title h2{font-size:32px!important}

  /* heights */
  .vc_row-o-full-height{min-height:85vh!important}
  .rv-hero{min-height:80vh}
  .rv-quote{min-height:65vh}
  .rv-quote>.wpb_column{padding-left:var(--rv-side)!important}
  .rv-photo-text{min-height:60vh}

  /* buttons full width, easy to tap */
  .rv-btn .vc_btn3{display:block!important;width:100%!important;text-align:center!important}
  .rv-more .vc_btn3-container{text-align:left!important}
}

/* =====================================================================
   5b. PROJECT PAGES HEADER: logo left / social icons right, aligned with the photos;
       menu, icons and logo in dark so they show on the white page
   ===================================================================== */
.single-portfolio #header > .centered-wrapper{width:auto!important;max-width:none!important;
  padding-left:var(--rv-page-side)!important;padding-right:var(--rv-page-side)!important;box-sizing:border-box!important}
.single-portfolio #header #navigation.desktop #mainnav > li > a,
.single-portfolio #header #header-social a,
.single-portfolio #header .nav-btn,.single-portfolio #header .nav-btn i{color:#1D1A16!important}
.single-portfolio #header #navigation.desktop #mainnav > li > a:hover,
.single-portfolio #header #header-social a:hover{color:#9B9086!important}
/* Reveal Image logo in black on non-interior projects */
.single-portfolio:not(:has(.rv-interiors)) #header .logo img{filter:brightness(0)}
/* when scrolling, the fixed header gets a white background so the menu stays readable */
.single-portfolio #header.scrolled-header{background:rgba(255,255,255,.95)!important;box-shadow:0 1px 0 rgba(0,0,0,.08)}

/* more space above and below the header on project pages, and before the project starts */
:root{--rv-header-pad:28px}   /* space above and below the logo/menu (computer) */
@media (min-width:1024px){
  .single-portfolio #header:not(.scrolled-header) > .centered-wrapper{padding-top:var(--rv-header-pad)!important;padding-bottom:var(--rv-header-pad)!important}
  .single-portfolio #header:not(.scrolled-header) .percent-three-fourth{padding-top:10px!important}
  .single-portfolio section.portfolio-single{padding-top:calc(var(--rv-header-pad) * 2 + var(--rv-gap))!important}
}
@media (max-width:1023px){
  .single-portfolio section.portfolio-single{padding-top:var(--rv-gap)!important}
}

/* Interior Design gallery page (reveal-interiors, page id 6582): same header as the interior projects */
.page-id-6582 #header > .centered-wrapper{width:auto!important;max-width:none!important;
  padding-left:var(--rv-page-side)!important;padding-right:var(--rv-page-side)!important;box-sizing:border-box!important}
.page-id-6582 #header #navigation.desktop #mainnav > li > a,
.page-id-6582 #header #header-social a,
.page-id-6582 #header .nav-btn,.page-id-6582 #header .nav-btn i{color:#1D1A16!important}
.page-id-6582 #header #navigation.desktop #mainnav > li > a:hover,
.page-id-6582 #header #header-social a:hover{color:#9B9086!important}
.page-id-6582 #header.scrolled-header{background:rgba(255,255,255,.95)!important;box-shadow:0 1px 0 rgba(0,0,0,.08)}

/* HOMEPAGE (page id 7082): wide header like Reveal Interiors — logo left, social icons right,
   aligned with the page margins, more space above/below. Menu stays white over the dark slider. */
.page-id-7082 #header > .centered-wrapper{width:auto!important;max-width:none!important;
  padding-left:var(--rv-page-side)!important;padding-right:var(--rv-page-side)!important;box-sizing:border-box!important}
@media (min-width:1024px){
  .page-id-7082 #header:not(.scrolled-header) > .centered-wrapper{padding-top:var(--rv-header-pad)!important;padding-bottom:var(--rv-header-pad)!important}
  .page-id-7082 #header:not(.scrolled-header) .percent-three-fourth{padding-top:10px!important}
}

/* SLIDER TEXT CENTERED (homepage slider 10 + Reveal Interiors slider 9) */
#rev_slider_10_1 rs-layer-wrap,#rev_slider_9_1 rs-layer-wrap{left:0!important;right:0!important;width:100%!important}
#rev_slider_10_1 rs-loop-wrap,#rev_slider_10_1 rs-mask-wrap,
#rev_slider_9_1 rs-loop-wrap,#rev_slider_9_1 rs-mask-wrap{width:100%!important}
#rev_slider_10_1 rs-layer,#rev_slider_9_1 rs-layer{width:100%!important;left:0!important;text-align:center!important;
  white-space:normal!important;padding-left:5vw!important;padding-right:5vw!important;box-sizing:border-box!important}
/* letter-spacing adds space after the last letter: text-indent puts the same space before it */
#slider-10-slide-30-layer-1,#slider-10-slide-33-layer-1,#slider-9-slide-27-layer-1,#slider-9-slide-29-layer-1{text-indent:50px}
#slider-9-slide-29-layer-2{text-indent:40px}
#slider-10-slide-31-layer-1{text-indent:30px}
#slider-10-slide-33-layer-10{text-indent:25px}
#slider-9-slide-27-layer-2{text-indent:15px}
#slider-10-slide-30-layer-10,#slider-10-slide-31-layer-12{text-indent:10px}
@media (max-width:480px){
  #slider-10-slide-30-layer-1{text-indent:13px}
  #slider-10-slide-31-layer-1,#slider-10-slide-33-layer-1{text-indent:10px}
  #slider-10-slide-33-layer-10{text-indent:8px}
  #slider-10-slide-30-layer-10,#slider-10-slide-31-layer-12{text-indent:0}
}

/* =====================================================================
   6. REVEAL INTERIORS LOGO on interior design projects (header rows marked rv-interiors)
   ===================================================================== */
body:has(.rv-interiors) #header .logo img,.page-id-6582 #header .logo img{opacity:0!important}
body:has(.rv-interiors) #header .logo a,.page-id-6582 #header .logo a{display:inline-block;background:url("data:image/svg+xml,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='40 26 462 144'%3E%3Cdefs%3E%3Cstyle%3E .st0 %7B fill: url(%23linear-gradient2); %7D .st1 %7B fill: url(%23linear-gradient10); %7D .st2 %7B fill: url(%23linear-gradient1); %7D .st3 %7B fill: url(%23linear-gradient9); %7D .st4 %7B fill: url(%23linear-gradient18); %7D .st5 %7B fill: url(%23linear-gradient8); %7D .st6 %7B fill: url(%23linear-gradient11); %7D .st7 %7B fill: url(%23linear-gradient16); %7D .st8 %7B fill: url(%23linear-gradient12); %7D .st9 %7B fill: url(%23linear-gradient7); %7D .st10 %7B fill: url(%23linear-gradient4); %7D .st11 %7B fill: url(%23linear-gradient14); %7D .st12 %7B fill: url(%23linear-gradient5); %7D .st13 %7B fill: url(%23linear-gradient3); %7D .st14 %7B fill: url(%23linear-gradient15); %7D .st15 %7B fill: url(%23linear-gradient17); %7D .st16 %7B fill: url(%23linear-gradient6); %7D .st17 %7B fill: url(%23linear-gradient13); %7D .st18 %7B fill: url(%23linear-gradient); %7D %3C/style%3E%3ClinearGradient id='linear-gradient' x1='45.97' y1='56.55' x2='494.85' y2='58.81' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23ac7b3c'/%3E%3Cstop offset='.13' stop-color='%23bd9055'/%3E%3Cstop offset='.46' stop-color='%23edd47d'/%3E%3Cstop offset='.52' stop-color='%23edd47d'/%3E%3Cstop offset='.88' stop-color='%23bd9055'/%3E%3Cstop offset='1' stop-color='%23ac7b3c'/%3E%3Cstop offset='1' stop-color='%23ac7b3c'/%3E%3Cstop offset='1' stop-color='%23ac7b3c'/%3E%3C/linearGradient%3E%3ClinearGradient id='linear-gradient1' x1='45.77' y1='95.54' x2='494.66' y2='97.8' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient2' x1='45.87' y1='77.07' x2='494.75' y2='79.33' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient3' x1='45.87' y1='76.77' x2='494.75' y2='79.03' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient4' x1='45.93' y1='57.23' x2='494.82' y2='59.49' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient5' x1='45.77' y1='96.22' x2='494.65' y2='98.48' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient6' x1='45.87' y1='76.37' x2='494.75' y2='78.62' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient7' x1='45.87' y1='76.09' x2='494.75' y2='78.34' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient8' x1='45.87' y1='75.7' x2='494.76' y2='77.96' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient9' x1='45.92' y1='65.76' x2='494.81' y2='68.01' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient10' x1='51.87' y1='138.97' x2='530.08' y2='140.78' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient11' x1='51.88' y1='138.78' x2='530.08' y2='140.59' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient12' x1='51.88' y1='138.55' x2='530.08' y2='140.36' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient13' x1='51.88' y1='138.38' x2='530.08' y2='140.18' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient14' x1='51.88' y1='138.21' x2='530.08' y2='140.02' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient15' x1='51.88' y1='138.01' x2='530.09' y2='139.81' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient16' x1='51.88' y1='137.8' x2='530.09' y2='139.61' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient17' x1='51.88' y1='137.59' x2='530.09' y2='139.39' xlink:href='%23linear-gradient'/%3E%3ClinearGradient id='linear-gradient18' x1='51.88' y1='137.35' x2='530.09' y2='139.16' xlink:href='%23linear-gradient'/%3E%3C/defs%3E%3Crect class='st18' x='299.2' y='53.09' width='58.53' height='9.77'/%3E%3Crect class='st2' x='299.2' y='92.08' width='58.53' height='9.77'/%3E%3Cpolygon class='st0' points='153.58 53.09 95.06 53.09 95.06 101.84 104.83 101.84 104.83 62.85 153.58 62.85 153.58 53.09'/%3E%3Crect class='st13' x='163.11' y='72.62' width='58.53' height='9.77'/%3E%3Crect class='st10' x='163.11' y='53.09' width='58.53' height='9.77'/%3E%3Crect class='st12' x='163.11' y='92.08' width='58.53' height='9.77'/%3E%3Cpolygon class='st16' points='260.38 90.19 241.91 53.17 231.15 53.17 255.53 101.84 265.3 101.84 289.68 53.17 278.93 53.17 260.38 90.19'/%3E%3Crect class='st9' x='299.2' y='72.62' width='58.53' height='9.77'/%3E%3Cpath class='st5' d='M367.25,62.85h48.59v9.77h-48.59v29.22h58.53v-29.22h-.02v-9.77h.02v-9.77h-58.53v9.77ZM416.01,92.08h-38.99v-9.69h38.99v9.69Z'/%3E%3Crect class='st3' x='435.3' y='33.63' width='9.77' height='68.21'/%3E%3Crect class='st1' x='47.8' y='115.51' width='5.48' height='46.92'/%3E%3Cpolygon class='st6' points='113.27 150.06 83.27 115.51 81.63 115.51 81.63 162.43 87.27 162.43 87.27 128.3 116.89 162.27 117.02 162.43 118.69 162.43 118.69 115.51 113.27 115.51 113.27 150.06'/%3E%3Cpolygon class='st8' points='143.1 120.89 153.37 120.89 153.37 162.43 158.94 162.43 158.94 120.89 169.2 120.89 169.2 115.51 143.1 115.51 143.1 120.89'/%3E%3Cpolygon class='st17' points='193.65 162.43 220.72 162.43 220.72 157.04 199.12 157.04 199.12 139.83 220.72 139.83 220.72 134.44 199.12 134.44 199.12 120.89 220.91 120.89 220.91 115.51 193.65 115.51 193.65 162.43'/%3E%3Cpath class='st11' d='M269.47,139.52c2.26-1,4.03-2.51,5.25-4.48,1.22-1.96,1.83-4.27,1.83-6.84,0-3.1-.9-5.75-2.67-7.88-1.77-2.12-4.09-3.53-6.91-4.17-1.84-.42-5.37-.64-10.49-.64h-9.61v46.92h5.48v-21.38h1.95l16.43,21.21.13.17h6.8l-16.57-21.39c3.49-.09,6.3-.6,8.37-1.51ZM259.86,135.73l-7.5-.06v-14.77h7.68c3.08,0,5.31.26,6.61.78,1.27.51,2.31,1.36,3.09,2.54.78,1.18,1.18,2.52,1.18,3.97s-.39,2.86-1.17,4.07c-.77,1.2-1.86,2.08-3.24,2.63-1.41.56-3.65.85-6.65.85Z'/%3E%3Crect class='st14' x='303.53' y='115.51' width='5.48' height='46.92'/%3E%3Cpath class='st7' d='M359.7,114.35c-4.36,0-8.47,1.1-12.22,3.27-3.75,2.17-6.75,5.21-8.92,9.04-2.17,3.83-3.27,8.04-3.27,12.52,0,6.73,2.41,12.54,7.18,17.27,4.76,4.74,10.68,7.14,17.6,7.14s12.71-2.41,17.46-7.17c4.75-4.76,7.16-10.63,7.16-17.46s-2.41-12.78-7.18-17.49c-4.76-4.72-10.76-7.11-17.82-7.11ZM379.05,138.94c0,3.58-.84,6.88-2.5,9.81-1.66,2.92-3.99,5.26-6.95,6.94-2.96,1.69-6.22,2.54-9.7,2.54-5.21,0-9.72-1.86-13.41-5.53-3.69-3.67-5.56-8.23-5.56-13.55,0-3.6.85-6.91,2.51-9.84,1.67-2.92,4.02-5.28,6.99-7.01,2.97-1.73,6.15-2.6,9.47-2.6s6.61.88,9.62,2.6c3.01,1.73,5.38,4.06,7.03,6.93,1.66,2.87,2.5,6.14,2.5,9.69Z'/%3E%3Cpath class='st15' d='M434.54,139.52c2.26-1,4.03-2.51,5.25-4.48,1.22-1.96,1.83-4.27,1.83-6.84,0-3.1-.9-5.75-2.67-7.88-1.77-2.12-4.09-3.53-6.91-4.17-1.84-.42-5.37-.64-10.49-.64h-9.61v46.92h5.48v-21.38h1.95l16.43,21.21.13.17h6.8l-16.57-21.39c3.49-.09,6.3-.6,8.37-1.51ZM424.92,135.73l-7.5-.06v-14.77h7.68c3.08,0,5.31.26,6.61.78,1.27.51,2.31,1.36,3.09,2.54.78,1.18,1.18,2.52,1.18,3.97s-.39,2.86-1.17,4.07c-.77,1.2-1.86,2.08-3.24,2.63-1.41.56-3.65.85-6.65.85Z'/%3E%3Cpath class='st4' d='M490.03,143.59c-1.5-2.33-4.3-5.01-8.31-7.97-3.33-2.46-5.32-4-5.9-4.56-1.06-1.06-1.8-2.05-2.19-2.94-.39-.88-.59-1.8-.59-2.73,0-1.54.53-2.8,1.63-3.85,1.09-1.04,2.52-1.57,4.25-1.57,1.35,0,2.62.35,3.77,1.03,1.17.7,2.61,2.19,4.3,4.43l.26.35,4.45-3.38-.26-.35c-2.13-2.92-4.2-4.95-6.13-6.05-1.95-1.11-4.07-1.67-6.3-1.67-2.11,0-4.09.5-5.89,1.48-1.81.98-3.23,2.35-4.22,4.06-.99,1.71-1.5,3.63-1.5,5.7,0,2.61.85,5.07,2.52,7.3.97,1.34,3.35,3.43,7.26,6.38,3.76,2.84,6.39,5.29,7.79,7.29.99,1.4,1.48,2.84,1.48,4.28,0,1.27-.34,2.49-1,3.63-.66,1.13-1.65,2.05-2.93,2.73-1.29.68-2.68,1.03-4.14,1.03-3.42,0-6.5-2.48-9.16-7.38l-.22-.4-4.67,2.8.2.37c1.95,3.55,4.11,6.13,6.44,7.65,2.34,1.53,4.98,2.31,7.85,2.31,3.73,0,6.95-1.28,9.55-3.82,2.61-2.54,3.94-5.57,3.94-9.02,0-2.39-.77-4.8-2.29-7.15Z'/%3E%3C/svg%3E") left center/contain no-repeat}


/* =====================================================================
   7. TYPOGRAPHY — iMaker style (serif titles, light grotesk text, tight letter-spacing)
   ===================================================================== */
:root{--rv-cream:#FFFDF5;--rv-title:#2F2C2B;--rv-text:#6D6B68}
body,p,li,input,textarea,select,.wpb_text_column,#mainnav a,#header-social a,.vc_btn3{font-family:var(--rv-sans)!important}
#mainnav > li > a{font-weight:400!important;letter-spacing:-.01em!important}
h1,h2,h3,h4,h5,h6,.dt-section-title,.section-title,.page-title-subtitle h1{font-family:var(--rv-serif)!important;font-weight:400!important;
  letter-spacing:-.025em!important;text-transform:none!important}
/* project pages */
.wpb-content-wrapper .wpb_text_column p{font-size:18px!important;line-height:1.375!important;letter-spacing:-.025em!important;color:var(--rv-text)!important}
.wpb-content-wrapper .wpb_text_column pre{font-family:var(--rv-serif)!important;font-size:28px!important;line-height:1.1!important;letter-spacing:-.025em!important;
  color:var(--rv-title)!important;background:none!important;border:0!important;padding:0!important;margin:0 0 18px!important;white-space:normal!important;overflow:visible!important}
.wpb-content-wrapper h5,.wpb-content-wrapper h5 *{font-size:72px!important;line-height:1!important;color:var(--rv-cream)!important}
.wpb-content-wrapper h6,.wpb-content-wrapper h6 *{font-family:var(--rv-sans)!important;font-size:16px!important;line-height:1.5!important;letter-spacing:-.01em!important;color:var(--rv-cream)!important}
.rv-btn .vc_btn3{font-weight:400!important;font-size:14px!important;letter-spacing:-.01em!important}
@media (max-width:767px){
  .wpb-content-wrapper h5,.wpb-content-wrapper h5 *{font-size:40px!important}
  .wpb-content-wrapper h6,.wpb-content-wrapper h6 *{font-size:14px!important}
  .wpb-content-wrapper .wpb_text_column p{font-size:16px!important}
  .wpb-content-wrapper .wpb_text_column pre{font-size:22px!important}
}

/* =====================================================================
   8. REVEAL INTERIORS GALLERY (page 6582): 3 equal columns, same size for every project
   ===================================================================== */
:root{--rv-grid-cols:3;--rv-grid-ratio:4/3}   /* columns · image shape (4/3, 1/1, 3/2…) */
.page-id-6582 ul.portfolio.grid{display:grid!important;grid-template-columns:repeat(var(--rv-grid-cols),minmax(0,1fr))!important;
  gap:var(--rv-gap)!important;height:auto!important;width:auto!important;margin:0 var(--rv-page-side)!important;padding:0!important;list-style:none!important}
.page-id-6582 ul.portfolio.grid > li.grid-item{position:relative!important;left:auto!important;top:auto!important;transform:none!important;
  width:auto!important;height:auto!important;margin:0!important;float:none!important;overflow:hidden;border-radius:var(--rv-radius)}
.page-id-6582 ul.portfolio.grid > li.grid-item a,.page-id-6582 ul.portfolio.grid > li.grid-item img{display:block!important;width:100%!important}
.page-id-6582 ul.portfolio.grid > li.grid-item img{height:auto!important;aspect-ratio:var(--rv-grid-ratio);object-fit:cover!important;max-width:none!important}
.page-id-6582 #filters{margin-left:var(--rv-page-side)!important;margin-right:var(--rv-page-side)!important}
@media (max-width:1023px){ .page-id-6582 ul.portfolio.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important} }
@media (max-width:600px){ .page-id-6582 ul.portfolio.grid{grid-template-columns:1fr!important} }

/* =====================================================================
   9. PREVIOUS / NEXT PROJECT BAR (bottom of every project page)
   ===================================================================== */
.single-portfolio .portfolio-nav{display:flex!important;justify-content:space-between;align-items:center;gap:16px;
  padding:48px var(--rv-page-side)!important;margin:0!important;background:none!important;border-top:1px solid rgba(0,0,0,.08);text-align:left!important}
.single-portfolio .portfolio-nav a{display:inline-flex!important;align-items:center;gap:12px;position:static!important;width:auto!important;height:auto!important;
  padding:14px 24px!important;margin:0!important;border:1px solid var(--rv-ink)!important;border-radius:999px!important;background:transparent!important;
  color:var(--rv-ink)!important;font-family:var(--rv-sans)!important;font-size:15px!important;line-height:1!important;letter-spacing:-.01em;text-decoration:none!important;opacity:1!important;transition:background .3s,color .3s}
.single-portfolio .portfolio-nav a:hover{background:var(--rv-ink)!important;color:#fff!important}
.single-portfolio .portfolio-nav a i{font-size:18px!important;line-height:1!important;color:inherit!important}
.single-portfolio .portfolio-nav a[rel="next"]{order:1}
.single-portfolio .portfolio-nav a.close-portfolio{order:2}
.single-portfolio .portfolio-nav a[rel="prev"]{order:3}
.single-portfolio .portfolio-nav a[rel="next"]::after{content:"Previous project"}
.single-portfolio .portfolio-nav a[rel="prev"]::before{content:"Next project"}
.single-portfolio .portfolio-nav a.close-portfolio::after{content:"All projects"}
/* the "All projects" button goes to the Reveal Interiors gallery: hide it on non-interior projects */
.single-portfolio:not(:has(.rv-interiors)) .portfolio-nav a.close-portfolio{display:none!important}
@media (max-width:767px){
  .single-portfolio .portfolio-nav{padding:32px var(--rv-page-side)!important}
  .single-portfolio .portfolio-nav a{padding:12px 16px!important;font-size:13px!important}
  .single-portfolio .portfolio-nav a.close-portfolio::after{content:none}
}

/* =====================================================================
   12. HOME BUTTON — menu item "HOME" (class rv-home-btn) shown as a black tab stuck to the right edge
       (rounded on the left, flat against the edge), drifting slowly while you scroll (parallax).
       Slides out a little on hover. Normal link in the mobile menu.
   ===================================================================== */
.home #mainnav > li.rv-home-btn,.page-id-8024 #mainnav > li.rv-home-btn{display:none!important}
@media (min-width:1024px){
  html body #header #navigation #mainnav > li.rv-home-btn.menu-item{position:fixed!important;right:0;top:50%;margin:-26px 0 0!important;padding:0!important;
    float:none!important;z-index:9990;animation:rvHomePx linear both;animation-timeline:scroll(root)}
  html body #header #navigation #mainnav > li.rv-home-btn.menu-item::before,html body #header #navigation #mainnav > li.rv-home-btn.menu-item::after{display:none!important}
  html body #header #navigation #mainnav > li.rv-home-btn.menu-item > a{display:flex!important;align-items:center;justify-content:center;width:108px;height:52px;
    padding:0 6px 0 0!important;border-radius:26px 0 0 26px;background:#111!important;color:#fff!important;border:0!important;
    box-shadow:-6px 8px 22px rgba(0,0,0,.22);font-size:11px!important;font-weight:500!important;letter-spacing:.2em!important;line-height:1!important;opacity:1!important;
    transition:width .45s cubic-bezier(.2,.7,.2,1),background .3s,color .3s!important}
  html body #header #navigation #mainnav > li.rv-home-btn.menu-item > a span{color:inherit!important;border:0!important;padding:0 0 0 .2em!important}
  html body #header #navigation #mainnav > li.rv-home-btn.menu-item > a:hover{width:128px;background:#000!important;color:#fff!important}
}
@keyframes rvHomePx{from{transform:translateY(-22vh)}to{transform:translateY(22vh)}}
@media (prefers-reduced-motion:reduce){html body #header #navigation #mainnav > li.rv-home-btn.menu-item{animation:none!important}}
/* 12b. HOME tab on phones/tablets: the menu is hidden there, so the same black tab is drawn from the logo link (which already goes to the homepage) */
@media (max-width:1023px){
  body:not(.home):not(.page-id-8024) #header .logo a::after{content:"HOME";position:fixed;right:0;top:auto;bottom:96px;margin-top:0;z-index:9990;
    display:flex;align-items:center;justify-content:center;width:84px;height:42px;padding-left:.2em;box-sizing:border-box;border-radius:21px 0 0 21px;
    background:#111;color:#fff;font-family:var(--rv-sans);font-size:10px;font-weight:500;letter-spacing:.2em;line-height:1;
    box-shadow:-6px 8px 22px rgba(0,0,0,.22);animation:none}
}

/* =====================================================================
   13. CATEGORY BUTTONS — menu items INTERIOR / PRODUCT / GRAPHIC (class rv-cat-btn rv-cat-…).
       Hidden everywhere; on a project page, the tab of its category appears under the HOME tab
       (green interior, orange product, red graphic) and goes back to that category page.
       The project lists below must be updated when a project is added or moved to another category.
   ===================================================================== */
#mainnav > li.rv-cat-btn{display:none!important}
.postid-8001 #mainnav > li.rv-cat-interior,.postid-7966 #mainnav > li.rv-cat-interior,.postid-7918 #mainnav > li.rv-cat-interior,.postid-7916 #mainnav > li.rv-cat-interior,.postid-7914 #mainnav > li.rv-cat-interior,.postid-7563 #mainnav > li.rv-cat-interior,.postid-7088 #mainnav > li.rv-cat-interior,.postid-2702 #mainnav > li.rv-cat-interior,.postid-2415 #mainnav > li.rv-cat-interior,.postid-1024 #mainnav > li.rv-cat-interior,.postid-447 #mainnav > li.rv-cat-interior,.postid-7985 #mainnav > li.rv-cat-product,.postid-7949 #mainnav > li.rv-cat-product,.postid-8588 #mainnav > li.rv-cat-product,.postid-7939 #mainnav > li.rv-cat-product,.postid-7085 #mainnav > li.rv-cat-product,.postid-6828 #mainnav > li.rv-cat-product,.postid-4465 #mainnav > li.rv-cat-product,.postid-6912 #mainnav > li.rv-cat-product,.postid-6938 #mainnav > li.rv-cat-product,.postid-8297 #mainnav > li.rv-cat-graphic,.postid-8342 #mainnav > li.rv-cat-graphic,.postid-8250 #mainnav > li.rv-cat-graphic,.postid-7534 #mainnav > li.rv-cat-graphic,.postid-8149 #mainnav > li.rv-cat-graphic,.postid-8122 #mainnav > li.rv-cat-graphic,.postid-8114 #mainnav > li.rv-cat-graphic,.postid-7528 #mainnav > li.rv-cat-graphic,.postid-7523 #mainnav > li.rv-cat-graphic,.postid-7518 #mainnav > li.rv-cat-graphic,.postid-478 #mainnav > li.rv-cat-graphic,.postid-4452 #mainnav > li.rv-cat-graphic,.postid-6903 #mainnav > li.rv-cat-graphic,.postid-6899 #mainnav > li.rv-cat-graphic,.postid-6897 #mainnav > li.rv-cat-graphic,.postid-6841 #mainnav > li.rv-cat-graphic,.postid-6912 #mainnav > li.rv-cat-graphic{display:block!important}
@media (min-width:1024px){
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item{position:fixed!important;right:0;top:50%;margin:36px 0 0!important;padding:0!important;float:none!important;z-index:9990;
    animation:rvHomePx linear both;animation-timeline:scroll(root)}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item::before,html body #header #navigation #mainnav > li.rv-cat-btn.menu-item::after{display:none!important}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item > a{display:flex!important;align-items:center;justify-content:center;width:108px;height:52px;padding:0 6px 0 0!important;
    border-radius:26px 0 0 26px;color:#fff!important;border:0!important;box-shadow:-6px 8px 22px rgba(0,0,0,.22);font-size:11px!important;
    font-weight:500!important;letter-spacing:.2em!important;line-height:1!important;opacity:1!important;transition:width .45s cubic-bezier(.2,.7,.2,1),filter .3s!important}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item > a span{color:inherit!important;border:0!important;padding:0 0 0 .2em!important}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item > a:hover{width:128px;filter:brightness(1.12)}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item.rv-cat-interior > a{background:#A8D5BA!important;color:#1F3D2B!important}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item.rv-cat-product > a{background:#E07020!important}
  html body #header #navigation #mainnav > li.rv-cat-btn.menu-item.rv-cat-graphic > a{background:#C0282D!important}
  .postid-6912 #header #navigation #mainnav > li.rv-cat-btn.menu-item.rv-cat-graphic{margin-top:98px!important}
}
@media (prefers-reduced-motion:reduce){html body #header #navigation #mainnav > li.rv-cat-btn.menu-item{animation:none!important}}

/* 13b. CATEGORY TAB ON PHONES/TABLETS: the menu is hidden there, so a small script (WPBakery → Custom JS, footer)
        copies the project's category link into a tab fixed just above the HOME tab. */
.rv-cat-mobile{display:none}
@media (max-width:1023px){
  .rv-cat-mobile{display:flex;align-items:center;justify-content:center;position:fixed;right:0;bottom:148px;z-index:9990;width:84px;height:42px;padding-left:.2em;box-sizing:border-box;
    border-radius:21px 0 0 21px;color:#fff!important;font-family:var(--rv-sans);font-size:10px;font-weight:500;letter-spacing:.2em;line-height:1;text-decoration:none!important;
    box-shadow:-6px 8px 22px rgba(0,0,0,.22)}
  .rv-cat-mobile-interior{background:#A8D5BA;color:#1F3D2B!important}
  .rv-cat-mobile-product{background:#E07020}
  .rv-cat-mobile-graphic{background:#C0282D}
  .rv-cat-mobile + .rv-cat-mobile{bottom:200px}
}
/* ===== 14. MOBILE MENU (clean, hidden until tapped) ===== */
@media (max-width:1006px){
#navigation:not(.desktop){display:none}
#header .nav-btn{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;cursor:pointer}
#header .nav-btn i.fa{font-size:0!important;width:24px;height:2px;background:#fff;border-radius:2px;box-shadow:0 -7px 0 #fff,0 7px 0 #fff;display:block}
#header .nav-btn i.fa::before{content:none!important}
#navigation.mobile{background:rgba(12,12,12,.97)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:6px 24px 22px!important;border-radius:0 0 22px 22px;box-shadow:0 24px 50px rgba(0,0,0,.45)}
#navigation.mobile #mainnav{float:none!important;width:100%!important}
#navigation.mobile #mainnav > li{float:none!important;display:block;border-bottom:1px solid rgba(255,255,255,.09)!important;background:none!important}
#navigation.mobile #mainnav > li:last-of-type{border-bottom:0!important}
#navigation.mobile #mainnav > li::after,#navigation.mobile #mainnav > li::before{display:none!important}
#navigation.mobile #mainnav > li > a{display:block;padding:16px 0!important;font:500 16px/1.2 "Hanken Grotesk",sans-serif!important;letter-spacing:.12em!important;color:#fff!important;background:none!important;border:0!important}
#navigation.mobile #mainnav > li > a::after,#navigation.mobile #mainnav > li > a .sf-sub-indicator{display:none!important}
#navigation.mobile #mainnav .sub-menu{position:static!important;display:flex!important;flex-wrap:wrap;gap:8px;padding:0 0 16px!important;margin:0!important;background:none!important;box-shadow:none!important;border:0!important;width:auto!important;opacity:1!important;visibility:visible!important;left:auto!important;top:auto!important}
#navigation.mobile #mainnav .sub-menu li{float:none!important;border:0!important;background:none!important;width:auto!important}
#navigation.mobile #mainnav .sub-menu li a{display:inline-flex!important;align-items:center;gap:8px;height:36px;padding:0 14px!important;border-radius:18px;border:1px solid rgba(255,255,255,.22)!important;font:500 12px/1 "Hanken Grotesk",sans-serif!important;letter-spacing:.06em!important;text-transform:none!important;color:#e8e8e8!important;background:none!important}
#navigation.mobile #mainnav .sub-menu li a::before{content:"";width:8px;height:8px;border-radius:4px;background:#999;flex-shrink:0}
#navigation.mobile #mainnav .sub-menu li a[href*="interior"]::before{background:#A8D5BA}
#navigation.mobile #mainnav .sub-menu li a[href*="product"]::before{background:#E07020}
#navigation.mobile #mainnav .sub-menu li a[href*="graphic"]::before{background:#C0282D}
#navigation.mobile #mainnav > li.rv-home-btn,#navigation.mobile #mainnav > li.rv-cat-btn{height:0!important;overflow:hidden!important;border:0!important;visibility:hidden!important;margin:0!important;padding:0!important}
}
@media (max-width:1006px){#navigation.mobile #mainnav > li:has(+ li.rv-home-btn){border-bottom:0!important}}
/* ===== 15. DESKTOP DROPDOWN (same look as mobile menu: dark rounded panel, pills with colour dots) ===== */
@media (min-width:1007px){
html body #header #navigation.desktop #mainnav > li > ul.sub-menu{background:rgba(12,12,12,.96)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:0!important;border-radius:18px!important;padding:12px!important;box-shadow:0 24px 50px rgba(0,0,0,.35)!important;min-width:250px!important;width:auto!important;margin-top:10px!important}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li{background:none!important;border:0!important;float:none!important;width:auto!important;margin:0 0 8px!important;padding:0!important}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li:last-child{margin-bottom:0!important}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a{display:flex!important;align-items:center;gap:10px;height:42px!important;line-height:42px!important;padding:0 18px!important;border-radius:21px!important;border:1px solid rgba(255,255,255,.22)!important;background:transparent!important;font:500 13px/1 "Hanken Grotesk",sans-serif!important;letter-spacing:.05em!important;text-transform:none!important;color:#ececec!important;-webkit-text-fill-color:#ececec!important;white-space:nowrap;transition:background .25s,border-color .25s,color .25s}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a::before{content:"";width:9px;height:9px;border-radius:50%;background:#999;flex-shrink:0}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a[href*="interior"]::before{background:#A8D5BA}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a[href*="product"]::before{background:#E07020}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a[href*="graphic"]::before{background:#C0282D}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a:hover{background:rgba(255,255,255,.08)!important;border-color:#fff!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a::after,html body #header #navigation.desktop #mainnav > li > ul.sub-menu > li > a .sf-sub-indicator{display:none!important}
}