/* Shared interactive controls: a single border belongs to the actual control. */
p.ms-inline-link.btn{display:block;padding:0;border:0;background:none;max-width:100%}
p.ms-inline-link.btn>a,.studio-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;border:1px solid currentColor;max-width:100%;font:700 13px/1.4 var(--body);color:inherit;background:transparent;overflow-wrap:anywhere}
p.ms-inline-link.btn>a:hover,.studio-button:hover{background:var(--orange);color:var(--black)}
.wp-block-button{border:0;padding:0;background:transparent}.wp-block-button__link{border:1px solid currentColor;box-shadow:none;border-radius:0}
.top .nav-cta>a{border:0;box-shadow:none}.btn .ui-arrow{flex-shrink:0}
/* Surface colours take precedence over the global blue link colour. */
body :is(.dark,.contact,.footer-expanded,.has-contrast-background-color) a{color:#fafaf8}
body :is(.dark,.contact,.footer-expanded,.has-contrast-background-color) a:hover,body :is(.dark,.contact,.footer-expanded,.has-contrast-background-color) a:focus-visible{color:#ff966f}
body :is(.dark,.has-contrast-background-color) :is(.kicker,.eyebrow){color:#d5d5d0}
body :is(.dark,.has-contrast-background-color) .prose a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
body :is(.blue,.has-primary-background-color) a{color:#fff}
/* Services, detail pages and the long-form case study share the source's editorial rhythm. */
.studio-service-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,90px);padding-top:clamp(65px,7vw,115px);padding-bottom:clamp(65px,7vw,115px);align-items:stretch;background:var(--white)}
.studio-service-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0}
.studio-service-label{color:var(--blue);margin:0}.studio-service-kicker{color:#686864;max-width:55ch;line-height:1.6}
.studio-service-title{font:600 clamp(52px,6.8vw,108px)/.99 var(--sans);letter-spacing:-.075em;overflow-wrap:anywhere;margin:0;max-width:13ch}
.studio-service-summary{font:400 clamp(17px,1.5vw,22px)/1.65 var(--body);max-width:58ch;margin:0}
.studio-service-visual{position:relative;min-height:520px;background:var(--blue);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.studio-service-photo{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1);opacity:.74;mix-blend-mode:luminosity;z-index:-1;transition:transform 1.2s ease}
.studio-service-visual:hover .studio-service-photo{transform:scale(1.035)}
.studio-photo-caption{color:white;padding:28px;margin:0;max-width:25ch;line-height:1.6;background:linear-gradient(transparent,rgba(0,0,0,.65));width:100%;max-width:none;box-sizing:border-box}
.studio-capabilities{display:flex;flex-wrap:wrap;gap:0 34px;padding-block:26px;border-top:1px solid #c2c2bd;border-bottom:1px solid #c2c2bd;background:#ededeb}
.studio-capability{font:600 14px/2.4 var(--sans);margin:0}.studio-capability::before{content:'✳';color:var(--blue);margin-right:12px}
.studio-section{padding-top:clamp(65px,8vw,120px);padding-bottom:clamp(65px,8vw,120px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:clamp(28px,6vw,100px);border-top:1px solid #d2d2cb;background:var(--white)}
.studio-section-muted{background:#edede9}.studio-section-heading,.studio-section-content{min-width:0}
.studio-section-heading .eyebrow{color:#676761;margin:0 0 28px;line-height:1.6}
.studio-section-title{font:600 clamp(36px,3.8vw,64px)/1.08 var(--sans);letter-spacing:-.065em;overflow-wrap:anywhere;margin:0;max-width:19ch}
.studio-section-content.prose{font:400 17px/1.75 var(--body);max-width:none}
.studio-section-content.prose>p:first-child{margin-top:0}.studio-section-content.prose p{margin-bottom:22px}
.studio-section-content.prose h3{font:600 clamp(24px,2.3vw,36px)/1.16 var(--sans);letter-spacing:-.045em;margin:10px 0 18px}
.studio-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 30px;margin-top:32px}
.studio-service-card{padding-top:22px;border-top:1px solid #b6b6ae;min-width:0;overflow-wrap:anywhere}
.studio-service-card .studio-card-index{font-size:11px;color:var(--blue);margin:0 0 20px}.studio-service-card p:last-child{margin-bottom:0}
.studio-service-closing{background:#181818;color:#fafaf8;align-items:center}.studio-service-closing .studio-section-title{max-width:23ch}
.studio-service-closing .btn>a{color:#fafaf8}.studio-service-closing .studio-section-content.prose a{text-decoration:none}
.studio-blog-intro{padding-block:clamp(48px,5vw,80px);border-bottom:1px solid #d2d2cb;background:var(--white)}
.studio-blog-intro h1{font:600 clamp(60px,7vw,112px)/1 var(--sans);letter-spacing:-.075em;margin:20px 0}
.studio-blog-summary{font-size:18px;line-height:1.6;max-width:58ch;margin:0}
/* The renderer and server pipeline belong to SubtleForms; Studio supplies the look. */
.ms-subtleforms{--subtleforms-color-primary:#304cf4;--subtleforms-color-text:#181818;--subtleforms-color-border:#a4a4a0;--subtleforms-field-gap:22px;min-width:0;color:#181818}
.ms-subtleforms form{margin:0;padding:0;max-width:none;font-family:var(--body)}
.ms-subtleforms .subtleforms-form-container{max-width:none;width:100%}
.ms-subtleforms .subtleforms-fields{display:flex;flex-wrap:wrap;gap:25px 22px}
.ms-subtleforms .subtleforms-field{flex:1 1 100%;min-width:0;margin:0}
.ms-subtleforms label{display:block;font:700 11px/1.6 var(--body);letter-spacing:.06em;margin-bottom:9px;text-transform:uppercase;color:#181818}
.ms-subtleforms :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),textarea,select){box-sizing:border-box;display:block;width:100%;border:0;border-bottom:1px solid #9a9a94;background:transparent;border-radius:0;padding:15px 0;color:#181818;font:400 17px/1.5 var(--body);box-shadow:none}
.ms-subtleforms textarea{min-height:155px;resize:vertical}.ms-subtleforms :is(input,textarea,select):focus{outline:0;border-bottom-color:#304cf4;box-shadow:0 1px 0 #304cf4}
.ms-subtleforms :is(input[type=radio],input[type=checkbox]){accent-color:#304cf4;width:18px;height:18px;flex-shrink:0;margin:0 10px 0 0}
.ms-subtleforms :is(.subtleforms-radio,.subtleforms-checkbox,.subtleforms-radio-option,.subtleforms-checkbox-option) label{display:flex;align-items:center;gap:10px;letter-spacing:0;font-size:15px;text-transform:none;font-weight:400}
.ms-subtleforms button{font:700 13px/1.4 var(--body);border-radius:0;box-shadow:none;cursor:pointer}
.ms-subtleforms button[type=submit],.ms-subtleforms :is(.subtleforms-next-button,.subtleforms-button-next,.subtleforms-submit){padding:17px 24px;border:1px solid #181818;background:#181818;color:#fafaf8;max-width:100%}
.ms-subtleforms button[type=submit]:hover,.ms-subtleforms :is(.subtleforms-next-button,.subtleforms-button-next):hover{background:#304cf4;border-color:#304cf4;color:#fff}
.ms-subtleforms :is(.subtleforms-step-actions,.subtleforms-form-actions,.subtleforms-actions){display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:30px}
.ms-subtleforms .subtleforms-step-navigation{display:flex;gap:12px;border-bottom:1px solid #bdbdb8;margin-bottom:34px;padding-bottom:20px}
.ms-subtleforms .subtleforms-step{flex:1;min-width:0;text-align:left;font:700 10px/1.5 var(--body);letter-spacing:.03em;text-transform:uppercase}
.ms-subtleforms .subtleforms-step-number{display:block;color:#6c6c65;margin-bottom:10px;font:600 24px var(--sans)}
.ms-subtleforms .subtleforms-step.active .subtleforms-step-number{color:#304cf4}
.ms-subtleforms :is(.subtleforms-step-title,h2,h3){font-family:var(--sans);letter-spacing:-.04em}
.ms-form-privacy{font-size:12px;line-height:1.6;color:#686862;margin-top:25px}
.ms-subtleforms .subtleforms-error-message{color:#a51c1c;font-size:13px;margin-top:7px}
.ms-subtleforms [role=alert]{padding:18px;border:1px solid currentColor;margin-block:20px}
@media(max-width:1000px){.studio-service-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.studio-service-visual{min-height:430px}.studio-section{grid-template-columns:1fr;gap:35px}.studio-section-title{max-width:25ch}}
@media(max-width:700px){.studio-service-hero{grid-template-columns:1fr;gap:38px}.studio-service-title{font-size:clamp(48px,11vw,76px);max-width:15ch}.studio-service-visual{min-height:300px}.studio-card-grid{grid-template-columns:1fr;gap:30px}.studio-capabilities{gap:0 22px}.studio-section-content.prose{font-size:16px}.ms-subtleforms .subtleforms-step-label{display:none}}
@media(prefers-reduced-motion:reduce){.studio-service-photo{transition:none}.studio-service-visual:hover .studio-service-photo{transform:none}}

/* SubtleForms uses custom select triggers and sf-prefixed step controls. */
.ms-subtleforms [role="combobox"]{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid #9a9a94;border-radius:0;background:transparent;color:#181818;padding:15px 0;font:400 17px/1.5 var(--body);text-align:left;box-shadow:none}
.ms-subtleforms [role="combobox"]:hover{background:transparent;color:#181818}
.ms-subtleforms [role="combobox"]:focus-visible{outline:2px solid #304cf4;outline-offset:4px;border-color:#304cf4}
.ms-subtleforms [role="listbox"]{background:#fafaf8;color:#181818;border:1px solid #9a9a94;box-shadow:0 8px 24px #0002}
.ms-subtleforms [role="option"]{background:#fafaf8;color:#181818;padding:12px 16px;font:400 15px/1.5 var(--body)}
.ms-subtleforms [role="option"]:is([aria-selected="true"],:hover,:focus){background:#304cf4;color:#fff}
.ms-subtleforms :is(.subtleforms-radio-label,.subtleforms-checkbox-label){display:flex;align-items:center;gap:10px;letter-spacing:0;font:400 15px/1.6 var(--body);text-transform:none}
.ms-subtleforms .sf-step-navigation{display:flex;gap:12px;border-bottom:1px solid #bdbdb8;margin:0 0 34px;padding:0 0 22px}
.ms-subtleforms .sf-step-item{flex:1;min-width:0;display:block}
.ms-subtleforms .sf-step-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;width:100%;padding:0;border:0;background:transparent;color:#686862;text-align:left;box-shadow:none;opacity:1}
.ms-subtleforms .sf-step-button:hover{background:transparent;color:#304cf4}
.ms-subtleforms .sf-step-button:focus-visible{outline:2px solid #304cf4;outline-offset:5px}
.ms-subtleforms .sf-step-indicator{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #a4a4a0;border-radius:0;background:transparent;color:#686862;font:600 13px var(--body);flex-shrink:0}
.ms-subtleforms .sf-step-indicator svg{width:16px;height:16px}
.ms-subtleforms :is(.sf-step-active,.sf-step-completed) .sf-step-indicator{border-color:#304cf4;background:#304cf4;color:#fff}
.ms-subtleforms .sf-step-active .sf-step-title{color:#181818}
.ms-subtleforms .sf-step-title{font:700 10px/1.5 var(--body);letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere}
.ms-subtleforms .sf-step-connector{display:none}
.ms-subtleforms .subtleforms-buttons{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:30px}
.ms-subtleforms .subtleforms-buttons>button{width:auto;min-width:120px}
.ms-subtleforms .subtleforms-button-prev{padding:17px 24px;background:transparent;color:#181818;border:1px solid #181818}
.ms-subtleforms .subtleforms-button-prev:hover{background:#181818;color:#fafaf8}
@media(max-width:480px){.ms-subtleforms .sf-step-navigation{gap:8px}.ms-subtleforms .sf-step-title{font-size:9px}.ms-subtleforms .sf-step-button{gap:8px}.ms-subtleforms [role="combobox"]{font-size:16px}}

.studio-service-copy>.is-layout-flex{max-width:100%;flex-wrap:wrap;justify-content:flex-start;gap:12px}
.ms-subtleforms .sf-step-item.is-upcoming .sf-step-indicator{background:transparent;border-color:#a4a4a0;color:#686862;box-shadow:none}
.ms-subtleforms :is(.sf-step-active,.sf-step-completed,.sf-step-item.is-active,.sf-step-item.is-complete) .sf-step-indicator{background:#304cf4;border-color:#304cf4;color:#fff;box-shadow:none}
.ms-subtleforms :is(legend,.subtleforms-label){font:700 11px/1.6 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#181818;margin-bottom:9px}
.ms-subtleforms .subtleforms-buttons button.subtleforms-button{width:auto;min-width:120px;font:700 13px/1.4 var(--body)}
body :is(.dark,.contact,.footer-expanded,.has-contrast-background-color) .wp-block-button .wp-block-button__link.wp-element-button{color:#fafaf8;border-color:currentColor;background:transparent}
body :is(.dark,.contact,.footer-expanded,.has-contrast-background-color) .wp-block-button .wp-block-button__link.wp-element-button:is(:hover,:focus-visible){color:#ff966f}
@media(max-width:750px){body:has(.ms-subtleforms) .subhero h1{font-size:clamp(50px,13vw,86px);overflow-wrap:normal}}
