/* Integration adjustments to the existing r3 system and the supplied service layouts. */
.service-detail{padding-block:2.5rem 5rem;max-width:1140px}
.service-detail>.crumbs{margin-bottom:1.5rem}
.sv-pg{line-height:1.6}
.sv-pg h1,.sv-pg h2{color:inherit}

.sv-pg p{margin-block-end:0}
.sv-pg section[id],.sv-pg footer[id]{scroll-margin-top:7rem}
.sv-pg a:focus-visible,.sv-dgwrap:focus-visible{outline:3px solid var(--sv-gold);outline-offset:3px}
.sv-pg .sv-bh h1{color:var(--sv-on-navy)}
.sv-art{border:1px solid var(--sv-rule);background:#fff;padding:10px;display:grid;place-items:center;overflow:hidden}
.sv-art img{display:block;width:100%;height:100%;object-fit:contain;min-width:0;max-height:420px}
.sv-card h3{font:600 15px/1.3 var(--sv-body);letter-spacing:normal;margin:0}
.sv-card h3 a{color:inherit;text-decoration:none}
.sv-card h3 a::after{content:' →';color:var(--sv-muted)}
.sv-card h3 a:focus-visible{outline:3px solid var(--sv-gold);outline-offset:2px}
.sv-card p{margin:0}
.sv-cards{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.sv-crit{table-layout:fixed;overflow-wrap:break-word}
.sv-crit th:first-child,.sv-crit td:first-child{width:35%;white-space:normal}
.sv-dgwrap{max-width:100%;scrollbar-width:thin}
.sv-pg .sv-swipe{padding:6px 12px 0}
.sv-pg .sv-cta:focus-visible{outline:3px solid var(--sv-ink);outline-offset:4px}
.cat__services{min-width:0}
.service-form,.stage-illustration{object-fit:contain;background:#fff}
.stage-illustration{width:100%;padding:.6rem}
.service-form{border:1px solid var(--rule-soft);border-radius:1rem;max-height:210px}
.form-card .stage-symbol{padding:0;width:24px;height:24px}
.story-art{padding:0;overflow:hidden;background:#fff;isolation:isolate}
.story-art img{width:100%;height:100%;object-fit:contain;display:block}
.footer-logo .brand-lockup,.contact-brand .brand-lockup{width:100%;height:auto;display:block}
.sculpt-hero__art{perspective:1000px;position:relative}
.hero-object{--hero-x:0deg;--hero-y:0deg;background:transparent;border:0;border-radius:0;overflow:visible;transform:rotateX(var(--hero-x)) rotateY(var(--hero-y));transition:transform .35s ease;touch-action:pan-y;will-change:transform}
.hero-object img{width:100%;height:auto;display:block;border-radius:0;user-select:none;-webkit-user-drag:none}
.hero-object[data-active]{cursor:grab}
.hero-object[data-dragging]{cursor:grabbing;transition:none}
.hero-controls{display:flex;justify-content:center;gap:.45rem;margin-top:.65rem}
.hero-controls[hidden]{display:none}
.hero-controls button{width:36px;height:36px;border:1px solid #a7b6c9;border-radius:50%;background:transparent;color:var(--on-dark);font:500 18px/1 var(--sans);cursor:pointer}
.hero-controls button:hover{background:#ffffff15}
.hero-controls button:focus-visible{outline:3px solid #e6cc74;outline-offset:3px}
.sculpt-hero__art figcaption{margin-top:.65rem}
@media(max-width:600px){
 .service-detail{padding-block:1.5rem 3rem}
 .sv-pg{--sv-pad:18px}
 .sv-pg h1{font-size:clamp(28px,8.5vw,40px);overflow-wrap:break-word}
 .sv-pg .sv-kicker{line-height:1.7;gap:6px}
 .sv-pg .sv-mh,.sv-pg .sv-ph,.sv-split,.sv-s3{gap:22px}
 .sv-pg .sv-links a{max-width:100%;overflow-wrap:anywhere}
 .sv-crit th,.sv-crit td{padding:9px 6px}
 .sv-art{max-width:420px;width:100%;justify-self:center}
 .sv-pg .sv-manifest li{grid-template-columns:20px minmax(0,1fr) auto;gap:8px;padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
 .hero-object{transform:none!important;transition:none!important;will-change:auto}
 .hero-controls{display:none!important}
}
