/* DSB Services — temporary page-builder styling.
   Matched to the supplied services.html/static design.
   Final production styling can be consolidated into DSB Rebrand Core. */

:root{
  --rbsv-navy:#0A1A2F;
  --rbsv-midnight:#12233F;
  --rbsv-gold:#CF9F55;
  --rbsv-warm-gold:#C8A55A;
  --rbsv-champagne:#E6DCC1;
  --rbsv-stone:#F5F2EC;
  --rbsv-white:#FFFFFF;
  --rbsv-ink:#1a1a1a;
  --rbsv-serif:'Cormorant Garamond',Georgia,serif;
  --rbsv-sans:'Barlow',system-ui,sans-serif;
}

.rbsv-hero,.rbsv-section,.rbsv-service,.rbsv-cta,.rbsv-proof-section{
  box-sizing:border-box;position:relative;overflow:hidden;isolation:isolate;
}
.rbsv-hero *,.rbsv-section *,.rbsv-service *,.rbsv-cta *,.rbsv-proof-section *{box-sizing:border-box}
.rbsv-hero > .et_pb_row,.rbsv-section > .et_pb_row,.rbsv-service > .et_pb_row,.rbsv-cta > .et_pb_row,.rbsv-proof-section > .et_pb_row{position:relative;z-index:2}

/* ---------- Typography ---------- */
.rbsv-hero h1,.rbsv-section h2,.rbsv-section h3,.rbsv-service h2,.rbsv-service h3,.rbsv-cta h2{
  font-family:var(--rbsv-serif)!important;font-weight:600!important;letter-spacing:-.012em!important;text-wrap:balance;
}
.rbsv-hero h1{letter-spacing:-.02em!important}
.rbsv-hero p,.rbsv-section p,.rbsv-section li,.rbsv-service p,.rbsv-service li,.rbsv-cta p,.rbsv-proof-section p{
  font-family:var(--rbsv-sans)!important;
}
.rbsv-eyebrow,.rbsv-eyebrow .et_pb_text_inner{color:var(--rbsv-warm-gold)!important}
.rbsv-eyebrow p{
  margin:0!important;color:var(--rbsv-warm-gold)!important;
  font:500 12px/1.4 var(--rbsv-sans)!important;letter-spacing:3.5px!important;text-transform:uppercase!important;
  display:inline-flex!important;align-items:center!important;gap:14px!important;
}
.rbsv-eyebrow p::before{content:"";display:block;width:38px;height:1px;background:currentColor;opacity:.75;flex:none}

/* ---------- HERO — Services source: left-aligned desktop, white title ---------- */
.rbsv-hero{
  min-height:64vh!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0 0 78px!important;
  color:#fff!important;
  background:var(--rbsv-navy)!important;
}
.rbsv-hero .rbsv-bg-row,.rbsv-cta .rbsv-bg-row{
  position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;margin:0!important;z-index:0!important;
}
.rbsv-bg-row>.et_pb_column,.rbsv-bg-row .et_pb_column{height:100%!important;min-height:100%!important}
.rbsv-bg-image,.rbsv-bg-image .et_pb_image_wrap,.rbsv-bg-image img{
  width:100%!important;height:100%!important;min-height:100%!important;display:block!important;margin:0!important;
}
.rbsv-bg-image img{object-fit:cover!important;object-position:center!important}
.rbsv-hero::after,.rbsv-cta::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(rgba(10,26,47,.60),rgba(10,26,47,.85));
}
.rbsv-hero-content{
  position:relative!important;z-index:2!important;text-align:left!important;
  width:88%!important;max-width:1180px!important;margin:0 auto!important;padding:0!important;
}
.rbsv-hero-content>.et_pb_column,.rbsv-hero-content .et_pb_column{text-align:left!important}
.rbsv-hero-eyebrow{margin:0 0 20px!important;text-align:left!important}
.rbsv-hero-eyebrow .et_pb_text_inner{display:block!important;text-align:left!important}
.rbsv-hero-heading,.rbsv-hero-heading .et_pb_text_inner{text-align:left!important}
.rbsv-hero .rbsv-hero-heading h1,
.rbsv-hero .rbsv-hero-heading .et_pb_text_inner h1{
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
  font-size:clamp(46px,5.4vw,70px)!important;line-height:1.05!important;
  margin:0!important;text-align:left!important;
}
.rbsv-hero-copy{max-width:600px!important;margin:20px 0 0!important;text-align:left!important}
.rbsv-hero .rbsv-hero-copy p,
.rbsv-hero .rbsv-hero-copy .et_pb_text_inner p{
  color:var(--rbsv-champagne)!important;-webkit-text-fill-color:var(--rbsv-champagne)!important;
  font-size:18px!important;line-height:1.68!important;font-weight:300!important;margin:0!important;text-align:left!important;
}

/* ---------- INTRO / source .bg-grid ---------- */
.rbsv-intro-section{padding:112px 0 70px!important;background:#fff!important}
.rbsv-intro-section::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(to right,currentColor 1px,transparent 1px),linear-gradient(to bottom,currentColor 1px,transparent 1px);
  background-size:88px 88px;color:var(--rbsv-navy);opacity:.045;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 78%);
}
.rbsv-intro-row{text-align:center!important;position:relative;z-index:1}
.rbsv-intro-heading h2{
  font-size:clamp(26px,3.2vw,38px)!important;line-height:1.3!important;color:var(--rbsv-navy)!important;margin:0 0 22px!important;
}
.rbsv-intro-copy p{color:#585858!important;font-size:17px!important;line-height:1.72!important;margin:0!important}

/* ---------- Three alternating service rows ---------- */
.rbsv-service{padding:0!important}
.rbsv-service-row{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;
  min-height:620px!important;width:100%!important;max-width:none!important;margin:0!important;
  gap:0!important;column-gap:0!important;row-gap:0!important;
}
.rbsv-service-row>.et_pb_column,.rbsv-service-row>div{min-width:0!important;margin:0!important;width:auto!important}
.rbsv-service-image-col{position:relative!important;overflow:hidden!important;background:#e9e6df!important;min-height:620px!important}
.rbsv-service-image,.rbsv-service-image .et_pb_image_wrap,.rbsv-service-image img{width:100%!important;height:100%!important;display:block!important}
.rbsv-service-image{position:absolute!important;inset:0!important;margin:0!important}
.rbsv-service-image img{object-fit:cover!important;object-position:center!important;transition:transform 1.3s cubic-bezier(.22,.61,.36,1)!important}
.rbsv-service:hover .rbsv-service-image img{transform:scale(1.05)!important}
.rbsv-service-copy-col{
  display:flex!important;flex-direction:column!important;justify-content:center!important;padding:86px 78px!important;
}
.rbsv-service-copy-col.rbsv-dark{background:var(--rbsv-navy)!important;color:#fff!important}
.rbsv-service-copy-col.rbsv-stone{background:var(--rbsv-stone)!important;color:var(--rbsv-ink)!important}
.rbsv-service-icon{margin:0 0 24px!important}
.rbsv-service-icon svg{width:34px!important;height:34px!important;fill:none!important;stroke:var(--rbsv-gold)!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;display:block!important}
.rbsv-service-index{margin:0 0 20px!important}
.rbsv-service-index p{
  display:flex!important;align-items:center!important;gap:16px!important;margin:0!important;color:var(--rbsv-warm-gold)!important;
  font:400 14px/1.2 var(--rbsv-serif)!important;letter-spacing:3px!important;
}
.rbsv-service-index p::after{content:"";height:1px;width:52px;background:rgba(207,159,85,.45);display:block}
.rbsv-service-heading h2{font-size:clamp(28px,3.4vw,40px)!important;line-height:1.18!important;margin:0 0 20px!important}
.rbsv-dark .rbsv-service-heading h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
.rbsv-stone .rbsv-service-heading h2{color:var(--rbsv-navy)!important}
.rbsv-service-intro{max-width:520px!important;margin:0 0 20px!important}
.rbsv-service-intro p{margin:0!important;font-size:16.5px!important;line-height:1.75!important;font-weight:300!important}
.rbsv-dark .rbsv-service-intro p{color:var(--rbsv-champagne)!important;opacity:.85}
.rbsv-stone .rbsv-service-intro p{color:#555!important}
.rbsv-service-points{margin:0 0 34px!important}
.rbsv-service-points ul{list-style:none!important;margin:0!important;padding:0!important}
.rbsv-service-points li{position:relative!important;padding:9px 0 9px 26px!important;margin:0!important;font-size:15px!important;line-height:1.55!important}
.rbsv-service-points li::before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;background:var(--rbsv-gold);transform:rotate(45deg)}
.rbsv-dark .rbsv-service-points li{color:var(--rbsv-champagne)!important}
.rbsv-stone .rbsv-service-points li{color:#444!important}
.rbsv-service-link p{margin:0!important}
.rbsv-service-link a{
  display:inline-flex!important;align-items:center!important;gap:9px!important;position:relative!important;padding-bottom:6px!important;
  font:500 11.5px/1.3 var(--rbsv-sans)!important;letter-spacing:2px!important;text-transform:uppercase!important;text-decoration:none!important;
}
.rbsv-dark .rbsv-service-link a{color:var(--rbsv-gold)!important}
.rbsv-stone .rbsv-service-link a{color:var(--rbsv-navy)!important}
.rbsv-service-link a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--rbsv-gold);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.rbsv-service-link a:hover::after{transform:scaleX(1)}
.rbsv-service-link a span{transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.rbsv-service-link a:hover span{transform:translateX(5px)}

/* ---------- Design & Build / source .bg-arc ---------- */
.rbsv-design-build-section{padding:112px 0!important;background:var(--rbsv-stone)!important}
.rbsv-design-build-section::after,
.rbsv-locations-section::after{
  content:"";position:absolute;z-index:0;pointer-events:none;right:-160px;top:-120px;width:620px;height:620px;border-radius:50%;
  border:1px solid var(--rbsv-gold);opacity:.16;box-shadow:0 0 0 60px rgba(207,159,85,.04) inset;
}
.rbsv-centered-row{text-align:center!important;position:relative;z-index:2}
.rbsv-centered-row .rbsv-eyebrow{margin:0 0 20px!important;text-align:center!important}
.rbsv-centered-row .rbsv-eyebrow .et_pb_text_inner{display:flex!important;justify-content:center!important}
.rbsv-section-heading h2{font-size:clamp(28px,3.6vw,42px)!important;line-height:1.18!important;color:var(--rbsv-navy)!important;margin:0 0 20px!important}
.rbsv-section-copy{max-width:900px!important;margin:0 auto!important}
.rbsv-section-copy p{color:#585858!important;font-size:17px!important;line-height:1.72!important;margin:0!important}
.rbsv-outline-button{margin-top:34px!important}
.rbsv-outline-button,
.rbsv-outline-button.et_pb_button,
.rbsv-outline-button .et_pb_button{
  background:transparent!important;color:var(--rbsv-navy)!important;border:1px solid var(--rbsv-navy)!important;
  box-shadow:none!important;border-radius:0!important;transition:background .35s,color .35s,border-color .35s,transform .35s!important;
}
.rbsv-outline-button:hover,.rbsv-outline-button.et_pb_button:hover,.rbsv-outline-button .et_pb_button:hover{background:var(--rbsv-navy)!important;color:#fff!important;border-color:var(--rbsv-navy)!important;transform:translateY(-2px)}

/* ---------- How We Work / source .bg-rule ---------- */
.rbsv-work-section{padding:112px 0!important;background:#fff!important}
.rbsv-work-section::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1160px,88%);height:1px;background:rgba(207,159,85,.16);z-index:1}
.rbsv-work-row{margin-top:0!important;position:relative;z-index:2}
.rbsv-work-rail{max-width:900px!important;margin:0 auto!important}
.rbsv-work-item{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:36px!important;padding:34px 0!important;border-top:1px solid rgba(10,26,47,.12)!important}
.rbsv-work-item:last-child{border-bottom:1px solid rgba(10,26,47,.12)!important}
.rbsv-work-number p{margin:0!important;color:var(--rbsv-gold)!important;font:400 34px/1 var(--rbsv-serif)!important}
.rbsv-work-heading h3{color:var(--rbsv-navy)!important;font-size:22px!important;line-height:1.25!important;margin:0 0 9px!important}
.rbsv-work-copy p{color:#585858!important;font-size:15.5px!important;line-height:1.7!important;margin:0!important;max-width:640px!important}

/* ---------- Where We Work ---------- */
.rbsv-locations-section{padding:112px 0!important;background:var(--rbsv-midnight)!important;color:#fff!important}
.rbsv-locations-section::after{opacity:.16}
.rbsv-light-heading h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
.rbsv-light-copy p{color:var(--rbsv-champagne)!important;opacity:.85!important}

/* ---------- CTA ---------- */
.rbsv-cta{min-height:430px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;background:var(--rbsv-navy)!important}
.rbsv-cta::after{background:linear-gradient(rgba(10,26,47,.70),rgba(10,26,47,.82))!important}
.rbsv-cta-content{position:relative!important;z-index:2!important;text-align:center!important;padding:0!important}
.rbsv-cta-heading h2{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(32px,4.5vw,50px)!important;line-height:1.15!important;max-width:720px!important;margin:0 auto 26px!important;text-align:center!important}
.rbsv-cta-copy p{color:var(--rbsv-champagne)!important;font-size:18px!important;line-height:1.65!important;margin:0 0 40px!important;text-align:center!important}
.rbsv-cta-button,.rbsv-cta-button.et_pb_button,.rbsv-cta-button .et_pb_button{background:var(--rbsv-gold)!important;color:var(--rbsv-navy)!important;border-color:var(--rbsv-gold)!important;border-radius:0!important}
.rbsv-cta-button:hover,.rbsv-cta-button.et_pb_button:hover,.rbsv-cta-button .et_pb_button:hover{background:var(--rbsv-warm-gold)!important;color:var(--rbsv-navy)!important}

/* ---------- Proof / source .bg-hex ---------- */
.rbsv-proof-section{padding:64px 0!important;text-align:center!important;background:var(--rbsv-stone)!important}
.rbsv-proof-section::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16v32L28 64 0 48V16z' fill='none' stroke='%230A1A2F' stroke-width='1'/%3E%3Cpath d='M28 64 56 80v32M28 64 0 80v32' fill='none' stroke='%230A1A2F' stroke-width='1'/%3E%3C/svg%3E");
  background-size:56px 97px;opacity:.05;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 84% 50%,#000 6%,transparent 72%);
  mask-image:radial-gradient(ellipse 60% 70% at 84% 50%,#000 6%,transparent 72%);
}
.rbsv-proof-row{position:relative;z-index:2}
.rbsv-proof-stars p{color:var(--rbsv-gold)!important;font-size:22px!important;letter-spacing:4px!important;margin:0 0 14px!important}
.rbsv-proof-copy p{color:#555!important;font-size:15px!important;line-height:1.65!important;margin:0 0 28px!important}
.rbsv-proof-copy a{color:var(--rbsv-navy)!important;border-bottom:1px solid var(--rbsv-gold)!important;text-decoration:none!important;padding-bottom:1px!important}
.rbsv-proof-badges{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:14px!important}
.rbsv-proof-badge{margin:0!important;background:#fff!important;padding:8px 14px!important;border-radius:8px!important;box-shadow:0 4px 18px rgba(10,26,47,.08)!important;transition:transform .3s!important}
.rbsv-proof-badge:hover{transform:translateY(-3px)!important}
.rbsv-proof-badge .et_pb_image_wrap{display:block!important}
.rbsv-proof-badge img{height:58px!important;width:auto!important;max-width:120px!important;object-fit:contain!important;display:block!important}

/* ---------- Tablet ---------- */
@media(max-width:1000px){
  .rbsv-service-row{grid-template-columns:1fr!important;min-height:0!important}
  .rbsv-service-image-col{height:340px!important;min-height:340px!important}
  .rbsv-service-copy-col{padding:58px 32px!important}
  .rbsv-service-flip .rbsv-service-image-col{order:-1!important}
}

/* ---------- Mobile ---------- */
@media(max-width:600px){
  .rbsv-hero{min-height:auto!important;display:flex!important;align-items:flex-start!important;padding:52px 0 52px!important}
  .rbsv-hero-content{width:100%!important;max-width:none!important;padding:0 24px!important;text-align:left!important}
  .rbsv-hero-content>.et_pb_column,.rbsv-hero-content .et_pb_column{text-align:left!important}
  .rbsv-hero-eyebrow{text-align:left!important;margin-bottom:16px!important}
  .rbsv-hero-eyebrow .et_pb_text_inner{justify-content:flex-start!important;text-align:left!important}
  .rbsv-hero .rbsv-hero-heading h1,.rbsv-hero .rbsv-hero-heading .et_pb_text_inner h1{font-size:44px!important;line-height:1.04!important;text-align:left!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
  .rbsv-hero-copy{margin:16px 0 0!important;max-width:none!important}
  .rbsv-hero .rbsv-hero-copy p,.rbsv-hero .rbsv-hero-copy .et_pb_text_inner p{font-size:16px!important;line-height:1.65!important;text-align:left!important}

  .rbsv-intro-section{padding:66px 0 54px!important}
  .rbsv-intro-row{width:100%!important;padding-left:24px!important;padding-right:24px!important}
  .rbsv-intro-heading h2{font-size:29px!important;line-height:1.25!important}
  .rbsv-intro-copy p{font-size:15.5px!important;line-height:1.7!important}

  .rbsv-service-image-col{height:270px!important;min-height:270px!important}
  .rbsv-service-copy-col{padding:48px 24px 52px!important}
  .rbsv-service-heading h2{font-size:31px!important;line-height:1.14!important}
  .rbsv-service-intro p{font-size:15.5px!important;line-height:1.7!important}
  .rbsv-service-points li{font-size:14.5px!important;padding-top:7px!important;padding-bottom:7px!important}

  .rbsv-design-build-section,.rbsv-work-section,.rbsv-locations-section{padding:72px 0!important}
  .rbsv-centered-row,.rbsv-work-row{width:100%!important;padding-left:24px!important;padding-right:24px!important}
  .rbsv-section-heading h2{font-size:31px!important;line-height:1.17!important}
  .rbsv-section-copy p{font-size:15.5px!important;line-height:1.7!important}
  .rbsv-work-item{grid-template-columns:1fr!important;gap:12px!important;padding:26px 0!important}
  .rbsv-work-number p{font-size:28px!important}
  .rbsv-work-heading h3{font-size:21px!important}
  .rbsv-work-copy p{font-size:14.5px!important}

  .rbsv-design-build-section::after,.rbsv-locations-section::after{width:360px;height:360px;right:-160px;top:-70px}

  .rbsv-cta{min-height:360px!important}
  .rbsv-cta-content{width:100%!important;padding:0 24px!important}
  .rbsv-cta-heading h2{font-size:34px!important}
  .rbsv-cta-copy p{font-size:16px!important;margin-bottom:30px!important}

  .rbsv-proof-section{padding:44px 0!important}
  .rbsv-proof-row{width:100%!important;padding-left:24px!important;padding-right:24px!important}
  .rbsv-proof-badges{gap:10px!important}
  .rbsv-proof-badge{padding:6px 10px!important}
  .rbsv-proof-badge img{height:42px!important;max-width:108px!important}
}

/* Services hero: keep mobile layout compact while preserving the source-style left alignment. */
@media (max-width:900px){
  .rbsv-hero-content{width:100%!important;max-width:none!important;padding-left:24px!important;padding-right:24px!important}
}
