:root{
  --rbnb-navy:#0A1A2F;--rbnb-midnight:#12233F;--rbnb-gold:#CF9F55;--rbnb-warm:#C8A55A;--rbnb-champagne:#E6DCC1;--rbnb-stone:#F5F2EC;--rbnb-white:#fff;--rbnb-ink:#1a1a1a;
  --rbnb-serif:'Cormorant Garamond',Georgia,serif;--rbnb-sans:'Barlow',system-ui,sans-serif;
}
.rbnb-hero,.rbnb-section,.rbnb-quote,.rbnb-cta,.rbnb-proof{position:relative;overflow:hidden;box-sizing:border-box;isolation:isolate}
.rbnb-hero *,.rbnb-section *,.rbnb-quote *,.rbnb-cta *,.rbnb-proof *{box-sizing:border-box}
.rbnb-hero>.et_pb_row,.rbnb-section>.et_pb_row,.rbnb-quote>.et_pb_row,.rbnb-cta>.et_pb_row,.rbnb-proof>.et_pb_row{position:relative;z-index:2}
.rbnb-hero h1,.rbnb-section h2,.rbnb-section h3,.rbnb-quote blockquote,.rbnb-cta h2{font-family:var(--rbnb-serif)!important;font-weight:500!important;letter-spacing:-.012em!important}
.rbnb-hero p,.rbnb-section p,.rbnb-section li,.rbnb-quote p,.rbnb-cta p,.rbnb-proof p{font-family:var(--rbnb-sans)!important}
.rbnb-eyebrow p{margin:0!important;color:var(--rbnb-gold)!important;font:500 11px/1.4 var(--rbnb-sans)!important;letter-spacing:3.2px!important;text-transform:uppercase!important;display:inline-flex!important;align-items:center!important;gap:14px!important}
.rbnb-eyebrow p:before{content:"";width:36px;height:1px;background:currentColor;opacity:.7;display:block;flex:none}
.rbnb-heading h2{font-size:clamp(31px,3.4vw,44px)!important;line-height:1.08!important;color:var(--rbnb-navy)!important;margin:0 0 22px!important}
.rbnb-body p{font-size:16px!important;line-height:1.75!important;color:#555!important;margin:0 0 18px!important;font-weight:300!important}

/* Hero: original detail-page layout is left aligned on desktop */
.rbnb-hero{height:620px!important;min-height:620px!important;background:var(--rbnb-navy)!important;display:flex!important;align-items:flex-end!important;padding:0 0 74px!important;color:#fff!important}
.rbnb-bg-row{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;margin:0!important;z-index:0!important}
.rbnb-bg-row>.et_pb_column,.rbnb-bg-row .et_pb_column{height:100%!important;min-height:100%!important}
.rbnb-bg-image,.rbnb-bg-image .et_pb_image_wrap,.rbnb-bg-image img{display:block!important;width:100%!important;height:100%!important;min-height:100%!important;margin:0!important}
.rbnb-bg-image img{object-fit:cover!important;object-position:center!important}
.rbnb-hero:after,.rbnb-cta:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,26,47,.72),rgba(10,26,47,.58) 52%,rgba(10,26,47,.72));pointer-events:none}
.rbnb-hero-content{z-index:2!important;width:88%!important;max-width:1120px!important;margin:0 auto!important;padding-top:0!important;text-align:left!important}
.rbnb-hero-content>.et_pb_column{text-align:left!important}
.rbnb-hero-eyebrow{margin:0 0 18px!important}
.rbnb-hero-heading h1{font-size:clamp(52px,6vw,82px)!important;line-height:.98!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0 0 22px!important;max-width:1040px!important}
.rbnb-hero-copy{max-width:750px!important}
.rbnb-hero-copy p{font-size:19px!important;line-height:1.65!important;color:var(--rbnb-champagne)!important;margin:0!important;font-weight:300!important}

/* Split editorial sections */
.rbnb-approach,.rbnb-result{padding:86px 0!important;background:#fff!important}
.rbnb-split-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:58px!important;align-items:center!important}
.rbnb-split-row>.et_pb_column{min-width:0!important;margin:0!important;width:auto!important}
.rbnb-copy-col{display:flex!important;flex-direction:column!important;justify-content:center!important}
.rbnb-copy-col .rbnb-eyebrow{margin-bottom:13px!important}
.rbnb-image-col{display:flex!important;align-items:center!important;justify-content:center!important}
.rbnb-square-image,.rbnb-square-image .et_pb_image_wrap{width:100%!important;display:block!important}
.rbnb-square-image img{display:block!important;width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}
.rbnb-result-row .rbnb-square-image img{aspect-ratio:1/1!important}

/* Method */
.rbnb-method{padding:84px 0 90px!important;color:#fff!important;background:var(--rbnb-navy)!important}
.rbnb-method:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,rgba(230,220,193,.06) 1px,transparent 1px);background-size:92px 100%;-webkit-mask-image:linear-gradient(90deg,transparent 5%,#000 26%,#000 75%,transparent 96%);mask-image:linear-gradient(90deg,transparent 5%,#000 26%,#000 75%,transparent 96%)}
.rbnb-method-head{margin-bottom:30px!important}
.rbnb-method-head .rbnb-eyebrow{margin-bottom:16px!important}
.rbnb-light-heading h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
.rbnb-light-body p{color:var(--rbnb-champagne)!important;opacity:.72!important;max-width:760px!important}
.rbnb-method-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:54px!important}
.rbnb-method-grid>.et_pb_column{min-width:0!important;width:auto!important;margin:0!important}
.rbnb-method-col{padding-right:22px!important}
.rbnb-method-icon{margin-bottom:15px!important}.rbnb-method-icon svg,.rbnb-precision-icon svg{width:24px;height:24px;fill:none;stroke:var(--rbnb-gold);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.rbnb-method-title h3{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:23px!important;line-height:1.25!important;margin:0 0 8px!important}
.rbnb-method-copy p{color:var(--rbnb-champagne)!important;opacity:.78!important;font-size:14.5px!important;line-height:1.6!important;margin:0 0 15px!important}
.rbnb-method-list ul{list-style:none!important;padding:0!important;margin:0!important}
.rbnb-method-list li{position:relative!important;padding:10px 0 10px 28px!important;border-bottom:1px solid rgba(230,220,193,.13)!important;color:var(--rbnb-champagne)!important;font-size:14.5px!important;line-height:1.5!important;font-weight:300!important}
.rbnb-method-list li:before{content:"";position:absolute;left:3px;top:17px;width:6px;height:6px;background:var(--rbnb-gold);transform:rotate(45deg)}
.rbnb-method-list li:last-child{border-bottom:0!important}

/* Precision */
.rbnb-precision{padding:76px 0 80px!important;background:#fff!important}
.rbnb-centered{text-align:center!important}.rbnb-centered .rbnb-eyebrow .et_pb_text_inner{display:flex!important;justify-content:center!important}.rbnb-centered .rbnb-eyebrow{margin-bottom:15px!important}
.rbnb-precision-row{margin-top:28px!important}
.rbnb-precision-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:34px!important}
.rbnb-precision-card{text-align:center!important;padding:0 10px!important}
.rbnb-precision-icon{margin-bottom:14px!important}
.rbnb-precision-title h3{font-size:20px!important;line-height:1.25!important;color:#111!important;margin:0 0 8px!important}
.rbnb-precision-copy p{font-size:14px!important;line-height:1.62!important;color:#1a1a1a!important;margin:0 auto!important;font-weight:300!important;max-width:330px!important}

/* Quote */
.rbnb-quote{padding:60px 0!important;background:var(--rbnb-stone)!important;text-align:center!important}
.rbnb-quote-mark p{color:var(--rbnb-gold)!important;font-size:26px!important;margin:0 0 14px!important}
.rbnb-quote-text blockquote{border:0!important;margin:0 auto!important;padding:0!important;max-width:980px!important;color:var(--rbnb-navy)!important;font-size:clamp(27px,3vw,40px)!important;line-height:1.3!important;font-weight:500!important}

/* Result */
.rbnb-result{padding-top:86px!important;padding-bottom:90px!important}
.rbnb-outline-btn,.rbnb-outline-btn.et_pb_button,.rbnb-outline-btn .et_pb_button{margin-top:16px!important;background:transparent!important;color:var(--rbnb-navy)!important;border:1px solid var(--rbnb-navy)!important;border-radius:0!important;padding:14px 28px!important;transition:.3s!important}
.rbnb-outline-btn:hover,.rbnb-outline-btn.et_pb_button:hover,.rbnb-outline-btn .et_pb_button:hover{background:var(--rbnb-navy)!important;color:#fff!important}

/* Other services */
.rbnb-other{padding:66px 0 84px!important;background:#fff!important}
.rbnb-other-row{margin-top:24px!important}
.rbnb-other-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.rbnb-related-card{border:1px solid #dedad0!important;background:#fff!important;overflow:hidden!important}
.rbnb-related-image,.rbnb-related-image .et_pb_image_wrap{display:block!important;width:100%!important;margin:0!important}
.rbnb-related-image img{display:block!important;width:100%!important;height:230px!important;object-fit:cover!important;transition:transform 1s cubic-bezier(.22,.61,.36,1)!important}.rbnb-related-card:hover .rbnb-related-image img{transform:scale(1.04)!important}
.rbnb-related-copy{padding:20px 22px 22px!important}.rbnb-related-number p{font-size:10px!important;letter-spacing:2.6px!important;color:var(--rbnb-gold)!important;margin:0 0 8px!important}.rbnb-related-title h3{font-size:22px!important;color:var(--rbnb-navy)!important;margin:0 0 10px!important;line-height:1.25!important}.rbnb-related-body p{font-size:14px!important;line-height:1.65!important;color:#666!important;margin:0 0 16px!important}.rbnb-related-link p{margin:0!important}.rbnb-related-link a{font-size:10.5px!important;letter-spacing:2px!important;text-transform:uppercase!important;color:var(--rbnb-navy)!important;text-decoration:none!important}.rbnb-related-link span{color:var(--rbnb-gold)!important;margin-left:5px!important}

/* CTA */
.rbnb-cta{height:360px!important;min-height:360px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--rbnb-navy)!important;color:#fff!important}
.rbnb-cta:after{background:linear-gradient(rgba(10,26,47,.68),rgba(10,26,47,.82))!important}
.rbnb-cta-content{z-index:2!important;text-align:center!important}.rbnb-cta-heading h2{font-size:clamp(34px,4vw,48px)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0 0 14px!important}.rbnb-cta-copy p{font-size:16px!important;color:var(--rbnb-champagne)!important;margin:0 0 28px!important}.rbnb-gold-btn,.rbnb-gold-btn.et_pb_button,.rbnb-gold-btn .et_pb_button{background:var(--rbnb-gold)!important;color:var(--rbnb-navy)!important;border:1px solid var(--rbnb-gold)!important;border-radius:0!important;padding:14px 28px!important}.rbnb-gold-btn:hover,.rbnb-gold-btn.et_pb_button:hover,.rbnb-gold-btn .et_pb_button:hover{background:var(--rbnb-warm)!important}

/* Proof */
.rbnb-proof{padding:60px 0!important;text-align:center!important;background:var(--rbnb-stone)!important}.rbnb-proof-stars p{color:var(--rbnb-gold)!important;font-size:21px!important;letter-spacing:4px!important;margin:0 0 12px!important}.rbnb-proof-copy p{font-size:14px!important;color:#5b5b5b!important;margin:0 0 25px!important}.rbnb-proof-copy a{color:var(--rbnb-navy)!important;text-decoration:none!important;border-bottom:1px solid var(--rbnb-gold)!important}.rbnb-proof-badges{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:12px!important}.rbnb-proof-badge{margin:0!important;background:#fff!important;padding:7px 12px!important;border-radius:7px!important;box-shadow:0 4px 16px rgba(10,26,47,.08)!important}.rbnb-proof-badge img{display:block!important;height:46px!important;width:auto!important;max-width:112px!important;object-fit:contain!important}

@media(max-width:980px){
  .rbnb-hero{height:500px!important;min-height:500px!important}.rbnb-split-row,.rbnb-method-grid{grid-template-columns:1fr!important;gap:48px!important}.rbnb-split-row>.et_pb_column,.rbnb-method-grid>.et_pb_column{width:auto!important}.rbnb-image-col{max-width:720px!important;width:100%!important;margin:0 auto!important}.rbnb-result-row .rbnb-image-col{order:0!important}.rbnb-result-row .rbnb-copy-col{order:1!important}.rbnb-precision-cards{gap:26px!important}.rbnb-related-image img{height:190px!important}
}

@media(max-width:700px){
  .rbnb-hero{height:auto!important;min-height:420px!important;align-items:flex-end!important;padding:58px 0 48px!important}.rbnb-hero-content{width:100%!important;max-width:none!important;padding:0 24px!important}.rbnb-hero-heading h1{font-size:44px!important;line-height:1.01!important;margin-bottom:18px!important}.rbnb-hero-copy p{font-size:16px!important;line-height:1.6!important}.rbnb-hero-eyebrow{margin-bottom:17px!important}.rbnb-eyebrow p{font-size:10px!important;letter-spacing:2.7px!important}
  .rbnb-approach,.rbnb-result{padding:70px 0!important}.rbnb-split-row{width:100%!important;padding-left:24px!important;padding-right:24px!important;gap:38px!important}.rbnb-heading h2{font-size:31px!important;line-height:1.1!important}.rbnb-body p{font-size:15px!important;line-height:1.68!important}.rbnb-square-image img{aspect-ratio:4/5!important}
  .rbnb-method{padding:72px 0 76px!important}.rbnb-method-head,.rbnb-method-grid{width:100%!important;padding-left:24px!important;padding-right:24px!important}.rbnb-method-grid{gap:44px!important}.rbnb-method-title h3{font-size:21px!important}.rbnb-method-copy p,.rbnb-method-list li{font-size:14px!important}
  .rbnb-precision{padding:70px 0 76px!important}.rbnb-precision>.et_pb_row{width:100%!important;padding-left:24px!important;padding-right:24px!important}.rbnb-precision-cards{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:14px!important;margin-right:-24px!important;padding-right:24px!important;scrollbar-width:none!important}.rbnb-precision-cards::-webkit-scrollbar{display:none!important}.rbnb-precision-card{flex:0 0 82%!important;scroll-snap-align:start!important;border-top:1px solid rgba(207,159,85,.65)!important;padding:22px 0 8px!important}
  .rbnb-quote{padding:62px 0!important}.rbnb-quote>.et_pb_row{width:100%!important;padding-left:24px!important;padding-right:24px!important}.rbnb-quote-text blockquote{font-size:27px!important;line-height:1.28!important}
  .rbnb-other{padding:64px 0 78px!important}.rbnb-other>.et_pb_row{width:100%!important;padding-left:24px!important;padding-right:24px!important}.rbnb-other-cards{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:14px!important;margin-right:-24px!important;padding-right:24px!important;scrollbar-width:none!important}.rbnb-other-cards::-webkit-scrollbar{display:none!important}.rbnb-related-card{flex:0 0 84%!important;scroll-snap-align:start!important}.rbnb-related-image img{height:190px!important}
  .rbnb-cta{height:330px!important;min-height:330px!important}.rbnb-cta-content{width:100%!important;padding:0 24px!important}.rbnb-cta-heading h2{font-size:34px!important}.rbnb-proof{padding:42px 0!important}.rbnb-proof-row{width:100%!important;padding:0 24px!important}.rbnb-proof-badge img{height:40px!important;max-width:104px!important}
}


/* =========================================================
   0.2.0 - QA revisions from Bespoke New-Build Homes comments
   ========================================================= */

/* Faint architectural grid requested in the light editorial sections. */
.rbnb-approach::before,
.rbnb-precision::before,
.rbnb-other::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(10,26,47,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,26,47,.045) 1px,transparent 1px);
  background-size:92px 92px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
}

/* Dark method background uses the same subtle architectural rhythm. */
.rbnb-method::before{
  background-image:
    linear-gradient(to right,rgba(230,220,193,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(230,220,193,.035) 1px,transparent 1px)!important;
  background-size:92px 92px!important;
}

/* Reduce text-block gaps through the page. */
.rbnb-approach .rbnb-heading h2,
.rbnb-result .rbnb-heading h2,
.rbnb-other .rbnb-heading h2{
  color:#111!important;
  margin-bottom:16px!important;
}
.rbnb-approach .rbnb-body p,
.rbnb-result .rbnb-body p{
  color:#333!important;
  margin-bottom:13px!important;
  line-height:1.66!important;
}
.rbnb-result .rbnb-eyebrow{margin-bottom:12px!important}

/* QA: centre the precision section and use dark text instead of pale grey. */
.rbnb-precision .rbnb-centered,
.rbnb-precision .rbnb-precision-row,
.rbnb-precision .rbnb-precision-cards{text-align:center!important}
.rbnb-precision-icon .et_pb_text_inner{display:flex!important;justify-content:center!important}

/* Quote typography explicitly uses the approved Garamond family. */
.rbnb-quote-text blockquote{
  font-family:var(--rbnb-serif)!important;
  color:var(--rbnb-navy)!important;
}

/* Result CTA: landscaping-style gold left-to-right wipe. */
.rbnb-outline-btn,
.rbnb-outline-btn.et_pb_button,
.rbnb-outline-btn .et_pb_button{
  box-sizing:border-box!important;
  display:inline-block!important;
  position:relative!important;
  padding:15px 30px!important;
  border:1px solid var(--rbnb-navy)!important;
  border-radius:0!important;
  color:var(--rbnb-navy)!important;
  background-color:transparent!important;
  background-image:linear-gradient(90deg,var(--rbnb-gold) 0%,var(--rbnb-gold) 100%)!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:0% 100%!important;
  transform:none!important;
  transition:background-size .55s cubic-bezier(.22,.61,.36,1),border-color .35s ease,color .35s ease!important;
}
.rbnb-outline-btn::after,
.rbnb-outline-btn.et_pb_button::after,
.rbnb-outline-btn .et_pb_button::after{display:none!important;content:none!important}
.rbnb-outline-btn:hover,
.rbnb-outline-btn.et_pb_button:hover,
.rbnb-outline-btn .et_pb_button:hover{
  padding:15px 30px!important;
  border-color:var(--rbnb-gold)!important;
  color:var(--rbnb-navy)!important;
  background-color:transparent!important;
  background-size:100% 100%!important;
  transform:none!important;
}

/* Keep related-service cards compact and readable. */
.rbnb-related-title h3{color:#111!important;margin-bottom:8px!important}
.rbnb-related-body p{color:#333!important;margin-bottom:13px!important;line-height:1.58!important}

@media(max-width:980px){
  .rbnb-hero{height:540px!important;min-height:540px!important;padding-bottom:58px!important}
  .rbnb-split-row{gap:42px!important}
}

@media(max-width:700px){
  .rbnb-hero{height:auto!important;min-height:460px!important;align-items:flex-end!important;padding:72px 0 44px!important}
  .rbnb-approach,.rbnb-result{padding:62px 0!important}
  .rbnb-method{padding:64px 0 68px!important}
  .rbnb-precision{padding:60px 0 64px!important}
  .rbnb-quote{padding:50px 0!important}
  .rbnb-other{padding:56px 0 68px!important}
}

/* =========================================================
   0.2.1 — HOW WE BUILD THEM / PRECISION QA REFINEMENT
   ========================================================= */

/* HOW WE BUILD THEM:
   tighter section, softer grid, icon + heading on one row. */
.rbnb-method{
  padding:58px 0 64px !important;
}

/* The target uses an extremely faint architectural grid. */
.rbnb-method::before{
  background-image:
    linear-gradient(to right,rgba(230,220,193,.028) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(230,220,193,.020) 1px,transparent 1px) !important;
  background-size:92px 92px !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 14%,#000 88%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 2%,#000 14%,#000 88%,transparent 100%) !important;
}

.rbnb-method-head{
  margin-bottom:18px !important;
}

.rbnb-method-head .rbnb-eyebrow{
  margin-bottom:11px !important;
}

.rbnb-method-head .rbnb-heading h2{
  margin-bottom:13px !important;
}

.rbnb-method-head .rbnb-light-body p{
  margin-bottom:0 !important;
  max-width:720px !important;
}

.rbnb-method-grid{
  gap:42px !important;
}

/* Each method column becomes a small native grid:
   icon + heading share the first row;
   intro + list span full width underneath. */
.rbnb-method-col{
  display:grid !important;
  grid-template-columns:32px minmax(0,1fr) !important;
  column-gap:13px !important;
  row-gap:0 !important;
  align-items:center !important;
  padding-right:18px !important;
}

.rbnb-method-col > .rbnb-method-icon{
  grid-column:1 !important;
  grid-row:1 !important;
  margin:0 !important;
  align-self:center !important;
}

.rbnb-method-col > .rbnb-method-title{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  align-self:center !important;
}

.rbnb-method-col > .rbnb-method-copy{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  margin:9px 0 0 !important;
}

.rbnb-method-col > .rbnb-method-list{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  margin:14px 0 0 !important;
}

.rbnb-method-icon svg{
  width:23px !important;
  height:23px !important;
}

.rbnb-method-title h3{
  font-size:21px !important;
  line-height:1.2 !important;
  margin:0 !important;
}

.rbnb-method-copy p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Subtler separators than 0.2.0. */
.rbnb-method-list li{
  padding:8px 0 8px 27px !important;
  border-bottom:1px solid rgba(230,220,193,.075) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

.rbnb-method-list li::before{
  left:3px !important;
  top:14px !important;
  width:6px !important;
  height:6px !important;
}

.rbnb-method-list li:last-child{
  border-bottom:0 !important;
}

/* PRECISION IS THE POINT:
   this section should be clean white with NO architectural grid. */
.rbnb-precision::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* Keep only the sections that actually need the light grid. */
.rbnb-approach::before,
.rbnb-other::before{
  background-image:
    linear-gradient(to right,rgba(10,26,47,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,26,47,.045) 1px,transparent 1px) !important;
  background-size:92px 92px !important;
}

/* Tablet/mobile: preserve a clean readable stack. */
@media(max-width:980px){
  .rbnb-method{
    padding:54px 0 60px !important;
  }
  .rbnb-method-grid{
    gap:34px !important;
  }
}

@media(max-width:700px){
  .rbnb-method{
    padding:50px 0 56px !important;
  }
  .rbnb-method-head{
    margin-bottom:16px !important;
  }
  .rbnb-method-col{
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:11px !important;
    padding-right:0 !important;
  }
  .rbnb-method-col > .rbnb-method-list{
    margin-top:12px !important;
  }
}

/* =========================================================
   0.2.2 — FINAL BACKGROUND GRID MAP
   Grid belongs ONLY where the approved design shows it.
   ========================================================= */

/* APPROACH: keep the subtle light grid. */
.rbnb-approach{
  position:relative !important;
  overflow:hidden !important;
}
.rbnb-approach::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(to right,rgba(10,26,47,.038) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,26,47,.038) 1px,transparent 1px) !important;
  background-size:92px 92px !important;
}
.rbnb-approach > .et_pb_row{
  position:relative !important;
  z-index:1 !important;
}

/* HOW WE BUILD THEM: keep the very faint dark-section grid. */
.rbnb-method{
  position:relative !important;
  overflow:hidden !important;
}
.rbnb-method::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(to right,rgba(230,220,193,.026) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(230,220,193,.018) 1px,transparent 1px) !important;
  background-size:92px 92px !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 14%,#000 88%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 2%,#000 14%,#000 88%,transparent 100%) !important;
}
.rbnb-method > .et_pb_row{
  position:relative !important;
  z-index:1 !important;
}

/* PRECISION: NO GRID. */
.rbnb-precision::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* OTHER SERVICES: NO GRID. This section is clean white in the approved layout. */
.rbnb-other{
  background:#fff !important;
}
.rbnb-other::before{
  content:none !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Ensure no inherited pseudo-grid can appear on Other Services descendants. */
.rbnb-other .rbnb-related-card::before,
.rbnb-other .rbnb-other-cards::before,
.rbnb-other .rbnb-other-row::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* Keep the section composition clean after removing the grid. */
.rbnb-other{
  padding:66px 0 84px !important;
}
.rbnb-other .rbnb-centered{
  margin-bottom:30px !important;
}
.rbnb-other-row{
  margin-top:0 !important;
}

/* =========================================================
   0.2.3 — TYPOGRAPHY PASS
   User-approved override: content copy + titles use
   Cormorant Garamond throughout this page.
   UI labels / eyebrows / buttons stay Barlow.
   ========================================================= */

/* Main content typography */
.rbnb-hero h1,
.rbnb-section h2,
.rbnb-section h3,
.rbnb-quote blockquote,
.rbnb-cta h2,
.rbnb-related-title h3,
.rbnb-precision-title h3,
.rbnb-method-title h3{
  font-family:var(--rbnb-serif) !important;
}

/* Body copy throughout the page */
.rbnb-hero-copy p,
.rbnb-body p,
.rbnb-light-body p,
.rbnb-method-copy p,
.rbnb-method-list li,
.rbnb-precision-copy p,
.rbnb-related-body p,
.rbnb-cta p,
.rbnb-proof p{
  font-family:var(--rbnb-serif) !important;
  letter-spacing:0 !important;
}

/* Keep body copy readable at Garamond proportions. */
.rbnb-hero-copy p{
  font-size:20px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}

.rbnb-body p{
  font-size:18px !important;
  line-height:1.58 !important;
  font-weight:400 !important;
}

.rbnb-light-body p{
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

.rbnb-method-copy p{
  font-size:16px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}

.rbnb-method-list li{
  font-size:16px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
}

.rbnb-precision-copy p{
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

.rbnb-related-body p{
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

.rbnb-cta p{
  font-size:18px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}

/* These remain UI / utility typography in Barlow. */
.rbnb-eyebrow p,
.rbnb-related-number p,
.rbnb-related-link a,
.rbnb-outline-btn,
.rbnb-outline-btn.et_pb_button,
.rbnb-outline-btn .et_pb_button,
.rbnb-cta .et_pb_button,
.rbnb-proof-badge,
.rbnb-proof-badge *,
.rbnb-proof-stars{
  font-family:var(--rbnb-sans) !important;
}

/* Preserve compact layout after increasing Garamond body size. */
.rbnb-approach .rbnb-body p,
.rbnb-result .rbnb-body p{
  margin-bottom:12px !important;
}

.rbnb-method-copy p{
  margin-bottom:11px !important;
}

.rbnb-method-list li{
  padding-top:7px !important;
  padding-bottom:7px !important;
}

.rbnb-related-body p{
  margin-bottom:12px !important;
}

/* Mobile tuning */
@media(max-width:700px){
  .rbnb-hero-copy p{
    font-size:18px !important;
  }

  .rbnb-body p,
  .rbnb-light-body p{
    font-size:17px !important;
  }

  .rbnb-method-copy p,
  .rbnb-method-list li,
  .rbnb-precision-copy p,
  .rbnb-related-body p{
    font-size:15.5px !important;
  }
}

/* =========================================================
   0.2.4 — PRECISION SECTION MATCH TO APPROVED REFERENCE
   ========================================================= */

/* Exact section rhythm: heading block sits lower, while the feature row
   is pulled closer to it, matching the supplied reference screenshot. */
.rbnb-precision{
  padding:122px 0 92px !important;
  background:#fff !important;
}

/* No background grid in this section. */
.rbnb-precision::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* Reference heading geometry */
.rbnb-precision > .rbnb-centered{
  max-width:1000px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.rbnb-precision .rbnb-centered .rbnb-eyebrow{
  margin-bottom:18px !important;
}

.rbnb-precision .rbnb-centered .rbnb-eyebrow .et_pb_text_inner{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

.rbnb-precision .rbnb-heading h2{
  font-family:var(--rbnb-serif) !important;
  font-size:clamp(44px,3.25vw,60px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  margin:0 !important;
  color:var(--rbnb-navy) !important;
}

/* Pull cards up to reproduce the tighter reference relationship. */
.rbnb-precision-row{
  margin-top:74px !important;
  width:88% !important;
  max-width:1500px !important;
}

/* Three evenly spaced reference columns */
.rbnb-precision-cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:76px !important;
  align-items:start !important;
}

.rbnb-precision-card{
  text-align:left !important;
  padding:0 !important;
  min-width:0 !important;
}

/* Icons in the reference are slightly larger and sit directly above titles. */
.rbnb-precision-icon{
  margin:0 0 27px !important;
  min-height:30px !important;
}

.rbnb-precision-icon svg{
  display:block !important;
  width:31px !important;
  height:31px !important;
  fill:none !important;
  stroke:var(--rbnb-gold) !important;
  stroke-width:1.65 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Title and copy use the user's current approved Garamond direction. */
.rbnb-precision-title{
  margin:0 !important;
}

.rbnb-precision-title h3{
  font-family:var(--rbnb-serif) !important;
  font-size:27px !important;
  line-height:1.18 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  color:#111 !important;
  margin:0 0 16px !important;
}

.rbnb-precision-copy{
  margin:0 !important;
}

.rbnb-precision-copy p{
  font-family:var(--rbnb-serif) !important;
  font-size:20px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  color:#2e2e2e !important;
  margin:0 !important;
  max-width:470px !important;
}

/* Keep the content aligned like the approved screenshot instead of centred cards. */
.rbnb-precision-card .et_pb_text_inner,
.rbnb-precision-title .et_pb_text_inner,
.rbnb-precision-copy .et_pb_text_inner{
  text-align:left !important;
}

/* Tablet */
@media(max-width:980px){
  .rbnb-precision{
    padding:86px 0 76px !important;
  }
  .rbnb-precision-row{
    margin-top:54px !important;
    max-width:820px !important;
  }
  .rbnb-precision-cards{
    grid-template-columns:1fr !important;
    gap:42px !important;
  }
  .rbnb-precision-card{
    max-width:620px !important;
    margin:0 auto !important;
    width:100% !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .rbnb-precision{
    padding:68px 0 64px !important;
  }
  .rbnb-precision .rbnb-heading h2{
    font-size:40px !important;
  }
  .rbnb-precision-row{
    margin-top:42px !important;
    width:88% !important;
  }
  .rbnb-precision-title h3{
    font-size:24px !important;
  }
  .rbnb-precision-copy p{
    font-size:18px !important;
  }
}

/* =========================================================
   0.2.5 — MOBILE OTHER SERVICES FIX
   Removes the horizontal-card behaviour that caused the
   section to become oversized / overlap following content.
   ========================================================= */

@media(max-width:700px){

  /* Let the section height be driven naturally by its content. */
  .rbnb-other{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding:48px 0 56px !important;
  }

  .rbnb-other > .et_pb_row,
  .rbnb-other-row{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .rbnb-other .rbnb-centered{
    margin-bottom:28px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  /* Stack service cards vertically instead of the old mobile carousel. */
  .rbnb-other-cards{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    scroll-snap-type:none !important;
  }

  .rbnb-related-card{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    flex:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    scroll-snap-align:none !important;
    box-sizing:border-box !important;
  }

  /* Keep the photograph visible and compact. */
  .rbnb-related-image,
  .rbnb-related-image .et_pb_image_wrap{
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
  }

  .rbnb-related-image img{
    display:block !important;
    width:100% !important;
    height:155px !important;
    min-height:0 !important;
    object-fit:cover !important;
  }

  /* Reduce the tall empty card area visible in the screenshot. */
  .rbnb-related-copy{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    padding:18px 18px 20px !important;
  }

  .rbnb-related-number p{
    margin:0 0 7px !important;
  }

  .rbnb-related-title h3{
    font-size:21px !important;
    line-height:1.18 !important;
    margin:0 0 10px !important;
  }

  .rbnb-related-body p{
    font-size:15.5px !important;
    line-height:1.45 !important;
    margin:0 0 14px !important;
  }

  .rbnb-related-link,
  .rbnb-related-link p{
    margin:0 !important;
  }

  /* Prevent Divi flex defaults from stretching these descendants. */
  .rbnb-other .et_pb_module,
  .rbnb-other .et_pb_group,
  .rbnb-other .et_pb_column{
    min-height:0 !important;
  }

  .rbnb-other .et_flex_column,
  .rbnb-other .et_flex_group,
  .rbnb-other .et_flex_module{
    row-gap:0 !important;
  }
}

/* Small phones */
@media(max-width:420px){
  .rbnb-other{
    padding:42px 0 50px !important;
  }

  .rbnb-related-image img{
    height:145px !important;
  }

  .rbnb-related-copy{
    padding:16px 16px 18px !important;
  }
}
