/* ROMARC services: scoped additions to the existing v4 visual language. */
body.romarc-page .nav-group:has(>a[data-nav-key="services"]) .dropdown{
  width:min(660px,calc(100vw - 80px));
  min-width:0;
  max-width:660px;
  left:-170px;
  padding:20px 28px 24px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 28px;
  max-height:calc(100svh - 140px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#ba9975 #fdfbf8;
}
body.romarc-page .nav-group:has(>a[data-nav-key="services"]):hover .dropdown,
body.romarc-page .nav-group:has(>a[data-nav-key="services"]):focus-within .dropdown{
  display:grid;
}
body.romarc-page .nav-group:has(>a[data-nav-key="services"]) .dropdown a{
  min-width:0;
  min-height:57px;
  padding:14px 0;
  display:flex;
  align-items:center;
  font-size:13px;
  line-height:1.55;
  text-wrap:pretty;
  overflow-wrap:break-word;
  border-bottom:1px solid #ded5c8;
  transition:color .2s;
}
body.romarc-page .nav-group:has(>a[data-nav-key="services"]) .dropdown a:nth-last-child(-n+2){border-bottom:0}
body.romarc-page .nav-group:has(>a[data-nav-key="services"]) .dropdown a[aria-current="page"]{color:var(--sand-dark);font-weight:700}

/* The service index uses the supplied summaries at every viewport size. */
body.romarc-page .rs-services-list .service-row{
  grid-template-columns:48px minmax(0,1.05fr) minmax(0,1.2fr) 45px;
  gap:30px;
  min-height:150px;
  padding-block:33px;
}
body.romarc-page .rs-services-list .service-row h3{
  font-size:clamp(25px,2.3vw,36px);
  line-height:1.24;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
body.romarc-page .rs-services-list .service-row p{
  display:block;
  max-width:none;
  font-size:14px;
  line-height:1.85;
  text-wrap:pretty;
}
body.romarc-page .rs-service-ribbon{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0 24px;
  padding-block:24px;
}
body.romarc-page .rs-service-ribbon a{
  min-width:0;
  min-height:77px;
  padding:16px 18px 16px 0;
  gap:12px;
  font-size:12px;
  line-height:1.65;
  align-items:flex-start;
  border-right:1px solid #ffffff25;
  overflow-wrap:break-word;
}
body.romarc-page .rs-service-ribbon a:nth-child(5n){border-right:0}
body.romarc-page .rs-service-ribbon a:nth-child(n+6){border-top:1px solid #ffffff18}
body.romarc-page .rs-service-ribbon .number{font-size:12px;line-height:1.65;min-width:20px}

/* Individual services retain the same generous type and architectural grid. */
body.romarc-page .rs-service-page{min-width:0}
body.romarc-page .rs-service-page .rs-service-intro{max-width:var(--max)}
body.romarc-page .rs-service-page .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;line-height:1.7;color:#7a7163;margin-bottom:32px}
body.romarc-page .rs-service-page .breadcrumb a{border-bottom:1px solid var(--line)}
body.romarc-page .rs-service-page .page-intro h1{
  max-width:1100px;
  font-size:clamp(44px,5.4vw,86px);
  line-height:1.1;
  text-wrap:balance;
  overflow-wrap:break-word;
}
body.romarc-page .rs-service-page .page-intro .lead{max-width:900px}
body.romarc-page .rs-service-overview{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(36px,6vw,104px);
  padding-top:0;
  padding-bottom:clamp(70px,8vw,124px);
}
body.romarc-page .rs-service-image{
  min-width:0;
  margin:0;
  position:relative;
  background:#ebe5dc;
}
body.romarc-page .rs-service-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  filter:none;
  transform:none;
}
body.romarc-page .rs-service-image figcaption{
  padding:16px 20px;
  color:#726451;
  font-size:12px;
  line-height:1.7;
  border-top:1px solid #d8cbb8;
}
body.romarc-page .rs-service-copy{min-width:0}
body.romarc-page .rs-service-copy h2{
  max-width:18ch;
  font-size:clamp(32px,3.3vw,51px);
  line-height:1.16;
  margin-bottom:27px;
  text-wrap:pretty;
}
body.romarc-page .rs-service-copy p{
  color:#625d55;
  font-size:16px;
  line-height:1.9;
}
body.romarc-page .rs-service-copy p+h2,
body.romarc-page .rs-service-copy .rs-scope+h2{margin-top:39px}
body.romarc-page .rs-service-copy h3{
  font-size:22px;
  line-height:1.35;
  margin-top:32px;
  margin-bottom:17px;
}
body.romarc-page .rs-scope{
  list-style:none;
  padding:0;
  margin:29px 0 0;
  border-top:1px solid #cec3b3;
}
body.romarc-page .rs-scope li{
  position:relative;
  padding:17px 0 17px 24px;
  border-bottom:1px solid #ded5c8;
  font-size:14px;
  line-height:1.8;
  color:#4e4c46;
}
body.romarc-page .rs-scope li::before{
  content:'';
  position:absolute;
  width:5px;
  height:5px;
  top:28px;
  left:1px;
  background:var(--sand-dark);
}
body.romarc-page .rs-service-process{
  padding-block:clamp(60px,6.5vw,100px);
  border-top:1px solid #d6cabb;
}
body.romarc-page .rs-service-process>.eyebrow{margin-bottom:22px}
body.romarc-page .rs-service-process>h2{
  max-width:21ch;
  font-size:clamp(35px,4.1vw,63px);
  line-height:1.15;
  text-wrap:pretty;
}
body.romarc-page .rs-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:43px;
}
body.romarc-page .rs-steps>article,
body.romarc-page .rs-steps>div{
  min-width:0;
  background:#f1ece5;
  border-top:2px solid #ba9975;
  padding:31px clamp(24px,2.4vw,38px) 37px;
}
body.romarc-page .rs-steps .number{
  display:block;
  font-family:'Romarc Display',Georgia,serif;
  font-style:italic;
  font-size:42px;
  line-height:1;
  font-weight:400;
  color:#95724c;
  margin-bottom:31px;
}
body.romarc-page .rs-steps h3{
  font-size:clamp(23px,2vw,29px);
  line-height:1.25;
  font-weight:500;
  text-wrap:pretty;
  overflow-wrap:break-word;
}
body.romarc-page .rs-steps p{
  margin-top:18px;
  color:#625d55;
  font-size:14px;
  line-height:1.9;
}
body.romarc-page .rs-service-related{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px 40px;
  flex-wrap:wrap;
  padding-block:34px 64px;
  border-top:1px solid #d6cabb;
}
body.romarc-page .rs-service-related>a{max-width:100%;overflow-wrap:break-word}

@media(min-width:951px) and (max-width:1100px){
  body.romarc-page .nav-group:has(>a[data-nav-key="services"]) .dropdown{width:580px;left:-250px;gap:0 22px;padding-inline:24px}
}
@media(max-width:1000px){
  body.romarc-page .rs-services-list .service-row{grid-template-columns:35px minmax(0,1fr) 40px;gap:12px 22px;padding-block:29px;min-height:0}
  body.romarc-page .rs-services-list .service-row>.number{grid-column:1;grid-row:1;font-size:30px}
  body.romarc-page .rs-services-list .service-row h3{grid-column:2;grid-row:1;font-size:28px}
  body.romarc-page .rs-services-list .service-row p{grid-column:2;grid-row:2;max-width:700px;margin:0}
  body.romarc-page .rs-services-list .service-row>svg{grid-column:3;grid-row:1;width:40px;height:40px;align-self:start;padding:10px}
  body.romarc-page .rs-service-overview{gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body.romarc-page .rs-service-copy h2{font-size:34px}
  body.romarc-page .rs-steps{gap:18px}
  body.romarc-page .rs-steps>article,body.romarc-page .rs-steps>div{padding:27px 24px 30px}
}
@media(max-width:950px){
  body.romarc-page .rs-service-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}
  body.romarc-page .rs-service-ribbon a{font-size:13px;min-height:75px;border-right:1px solid #ffffff25;border-top:0;padding-block:17px}
  body.romarc-page .rs-service-ribbon a:nth-child(5n){border-right:1px solid #ffffff25}
  body.romarc-page .rs-service-ribbon a:nth-child(2n){border-right:0}
  body.romarc-page .rs-service-ribbon a:nth-child(n+3){border-top:1px solid #ffffff18}
  body.romarc-page .rs-service-page .page-intro h1{font-size:clamp(43px,6vw,63px)}
  body.romarc-page .rs-service-overview{grid-template-columns:1fr;gap:42px}
  body.romarc-page .rs-service-image img{aspect-ratio:16/10}
  body.romarc-page .rs-service-copy{max-width:820px}
  body.romarc-page .rs-service-copy h2{max-width:24ch;font-size:40px}
  body.romarc-page .rs-steps{grid-template-columns:1fr;gap:18px}
  body.romarc-page .rs-steps>article,body.romarc-page .rs-steps>div{padding:28px 30px 31px}
  body.romarc-page .rs-steps .number{font-size:38px;margin-bottom:22px}
  body.romarc-page .rs-steps p{max-width:730px;font-size:15px}
}
@media(max-width:600px){
  body.romarc-page .rs-service-ribbon{gap:0 16px;padding-block:16px}
  body.romarc-page .rs-service-ribbon a{font-size:11px;line-height:1.7;gap:9px;min-height:92px;padding:17px 10px 17px 0}
  body.romarc-page .rs-service-ribbon .number{font-size:10px;min-width:16px;line-height:1.85;padding-top:0}
  body.romarc-page .rs-services-list .service-row{grid-template-columns:28px minmax(0,1fr) 28px;gap:12px;padding-block:27px}
  body.romarc-page .rs-services-list .service-row h3{font-size:24px;line-height:1.27}
  body.romarc-page .rs-services-list .service-row p{font-size:13px;line-height:1.8}
  body.romarc-page .rs-services-list .service-row>.number{font-size:27px;padding-top:1px}
  body.romarc-page .rs-services-list .service-row>svg{width:28px;height:28px;padding:6px;margin-top:3px}
  body.romarc-page .rs-services-list .service-row:hover{padding-inline:0}
  body.romarc-page .rs-service-page .page-intro h1{font-size:clamp(34px,10vw,48px);line-height:1.14}
  body.romarc-page .rs-service-page .page-intro .lead{font-size:16px;line-height:1.85}
  body.romarc-page .rs-service-overview{gap:32px;padding-bottom:56px}
  body.romarc-page .rs-service-image img{aspect-ratio:4/3}
  body.romarc-page .rs-service-image figcaption{font-size:11px;padding:13px 16px}
  body.romarc-page .rs-service-copy h2{font-size:31px;line-height:1.2;margin-bottom:22px}
  body.romarc-page .rs-service-copy p{font-size:15px;line-height:1.9}
  body.romarc-page .rs-scope{margin-top:25px}
  body.romarc-page .rs-scope li{font-size:13px;padding-block:15px}
  body.romarc-page .rs-scope li::before{top:25px}
  body.romarc-page .rs-service-process{padding-block:51px 59px}
  body.romarc-page .rs-service-process>h2{font-size:33px;line-height:1.16}
  body.romarc-page .rs-steps{margin-top:31px;gap:17px}
  body.romarc-page .rs-steps>article,body.romarc-page .rs-steps>div{padding:25px 24px 29px}
  body.romarc-page .rs-steps h3{font-size:25px}
  body.romarc-page .rs-steps p{font-size:14px;line-height:1.85;margin-top:16px}
  body.romarc-page .rs-service-related{padding-block:26px 47px;gap:19px}
  body.romarc-page .rs-service-related .text-link{font-size:13px;gap:23px}
}
@media(prefers-reduced-motion:reduce){
  body.romarc-page .rs-services-list .service-row,
  body.romarc-page .rs-services-list .service-row>svg,
  body.romarc-page .rs-service-ribbon a{transition:none}
  body.romarc-page .rs-services-list .service-row:hover>svg{transform:none}
}
