/* Collection 03 — distinct compositions from the client's selected reference family. */
body { --muted:#5f666e; font-size:16px; }
body h1,body h2,body h3 { letter-spacing:-.035em; text-wrap:balance; }
body h1 { font-size:clamp(44px,5.8vw,84px); line-height:1.07; font-weight:650; }
body h2 { font-size:clamp(32px,3.5vw,52px); line-height:1.12; }
body h3 { letter-spacing:-.025em; }
body p { line-height:1.7; }
body .wrap { width:min(1280px,calc(100% - 100px)); }
body .section { padding-block:90px; }
body .reveal { opacity:1; transform:none; animation:none; }
body .demo-bar { background:#e9edf1; color:#263546; padding:6px 24px; font-size:10px; text-transform:none; letter-spacing:0; }
body .demo-bar .demo-label { color:#465667; }
body .site-header.v3-header { background:#fff; color:var(--ink); border:0; }
body .v3-header .nav-row { height:102px; }
body .v3-header .brand { font-size:28px; letter-spacing:-.035em; gap:12px; }
body .v3-header .desktop-nav { gap:25px; font-size:13px; font-weight:600; }
.v3-mark { width:33px; height:33px; color:var(--accent); }
.v3-button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:16px 24px; min-height:54px; background:var(--accent); color:var(--ink); font-size:13px; font-weight:650; border-radius:6px; transition:background .2s; }
.v3-button svg,.v3-photo-caption svg,.v3-north-services svg,.v3-serein-caption svg { flex-shrink:0; width:23px; height:23px; }
.v3-button:hover { filter:brightness(.94); }
.v3-button:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.v3-utility { color:#dce4ed; background:#17232f; font-size:11px; }
.v3-utility>.wrap { display:flex; justify-content:space-between; align-items:center; height:36px; }
body .btn { border-radius:6px; text-transform:none; letter-spacing:0; }
body .btn:hover { transform:none; }
body .text-link { letter-spacing:0; }
body .contact-section h2 { max-width:15ch; }
body .contact-section p { opacity:1; }
body .contact-section .form-note { opacity:1; color:inherit; }
body .contact-section ::placeholder { color:inherit; opacity:.75; }
body .contact-section label { font-size:13px; }
body .detail-label,.capability-label { display:block; font-size:12px; margin-bottom:15px; font-weight:500; letter-spacing:0; }
body .editorial-feature .feature-image img { height:520px; }
body .image-index { display:none; }
body .section-head { margin-bottom:40px; }
body .project-card .media { border-radius:0; }
body .site-footer { padding:35px 0; }
body .site-footer .brand { letter-spacing:-.03em; }
body ::selection { background:var(--accent); color:var(--ink); }
body input,body textarea { caret-color:var(--accent); }
body .mobile-nav summary { border-radius:6px; }
body .mobile-nav nav { z-index:50; }
/* Construction: the photograph establishes scale; an inset navy panel carries the offer. */
body.mason { --ink:#182d40; --paper:#fff; --accent:#f5c443; --muted:#5e6b75; --line:#dae0e5; background:#fff; }
.mason .v3-mark { color:#182d40; }
.v3-mason-hero { height:610px; position:relative; background:#adb4bb; }
.v3-mason-hero>img { width:100%; height:100%; object-position:center 59%; }
.v3-mason-hero>.wrap { position:absolute; inset:0; display:flex; align-items:flex-end; }
.v3-mason-panel { width:560px; background:#162b3e; color:#fff; padding:45px 48px 42px; margin-bottom:-30px; position:relative; z-index:2; }
body .v3-mason-panel h1 { font-size:clamp(45px,4.6vw,64px); font-weight:700; }
.v3-mason-panel p { color:#d7e0e8; font-size:15px; margin:22px 0 30px; max-width:43ch; }
.v3-mason-panel .v3-button { color:#182d40; }
.v3-photo-caption { position:absolute; right:0; bottom:35px; background:white; color:#182d40; display:flex; gap:30px; align-items:center; font-size:12px; padding:20px 24px; }
.v3-section-intro { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:80px; margin-bottom:45px; }
.v3-section-intro p { color:var(--muted); font-size:15px; }
body .v3-mason-services { padding-top:120px; }
.v3-service-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.v3-service-photos article>img { width:100%; height:230px; }
.v3-service-photos article>div { padding:25px 0 0; }
.v3-service-photos h3 { font-size:24px; font-weight:650; }
.v3-service-photos p { font-size:14px; color:var(--muted); margin:15px 0 19px; }
.v3-service-photos .v3-button { padding:0; background:none; min-height:36px; }
body.mason #projects .grid-3 { grid-template-columns:1.35fr 1fr 1fr; }
body.mason .project-card:nth-child(2) { padding-top:0; }
body.mason .project-card img { height:340px; aspect-ratio:auto; }
body.mason .mason-process { background:#f0f3f5; }
body.mason .contact-section { background:#182d40; color:white; }
/* Electrical: a home-first campaign and a separate, unmistakable booking tool. */
body.current { --ink:#172e47; --paper:#fff; --accent:#f79338; --muted:#58697a; --line:#dce3ea; background:#fff; }
.current .v3-header .v3-button { background:#f79338; color:#172e47; }
.v3-current-hero { height:590px; position:relative; display:grid; place-items:center; color:white; }
.v3-current-hero>img,.v3-current-shade { position:absolute; inset:0; width:100%; height:100%; }
.v3-current-hero>img { object-position:center 57%; }
.v3-current-shade { background:#112c4699; }
.v3-current-copy { position:relative; text-align:center; padding:40px; }
body .v3-current-copy h1 { font-size:clamp(44px,5.6vw,78px); font-weight:750; }
.v3-current-copy p { margin:23px auto 30px; font-size:17px; color:#fff; }
body.current .booking-strip { margin:0; background:#172e47; color:#fff; box-shadow:none; border:0; border-radius:0; padding:28px 34px; grid-template-columns:.85fr 1.4fr .85fr 1fr; gap:24px; }
.current main>.wrap:has(.booking-strip) { width:100%; background:#172e47; }
.current .booking-strip { max-width:1280px; margin:auto!important; }
body.current .booking-strip strong { font-size:24px; }
.current .booking-strip label { font-size:12px; color:#fff; }
.current .booking-strip input,.current .booking-strip select { background:white; color:#172e47; border-radius:5px; border:0; }
.current .booking-strip .btn { background:#f79338; color:#172e47; }
.current .booking-status { color:#d4deea; margin:0; }
body.current .service-card { background:white; border:0; padding:30px 25px 20px 0; border-radius:0; }
.v3-service-icon { width:45px; height:45px; color:#bc5900; margin-bottom:28px; }
.current .service-card h3 { font-size:25px; font-weight:650; }
.current .service-card p { margin-top:16px; font-size:15px; }
body.current .editorial-feature { background:#eef3f7; width:100%; padding:75px max(50px,calc((100% - 1280px)/2)); gap:7%; }
body.current .current-faq { background:#eef3f7; }
.current .contact-section { background:#172e47; color:#fff; }
/* Engineering: an institutional white ground, precise hierarchy, and red industrial identity. */
body.forge { --ink:#222d37; --paper:#fff; --accent:#c9372d; --muted:#58636d; --line:#d8dfe3; background:#fff; color:#222d37; }
.forge .v3-button,.forge .btn.accent { background:#c9372d; color:#fff; }
.forge .v3-utility { background:#222d37; }
.v3-forge-hero { padding:50px 0 68px; background:#f0f2f3; }
.v3-forge-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:60px; align-items:center; }
body .v3-forge-grid h1 { font-size:clamp(42px,4.4vw,63px); font-weight:650; }
.v3-forge-grid p { font-size:15px; margin:24px 0 30px; max-width:42ch; color:#58636d; }
.v3-forge-image { position:relative; padding-bottom:34px; }
.v3-forge-image>img { height:490px; width:100%; }
.v3-forge-caption { position:absolute; right:-20px; left:55px; bottom:0; background:#c9372d; color:#fff; padding:22px 28px; }
.v3-forge-caption strong { display:block; font-size:20px; font-weight:500; }
.v3-forge-caption span { font-size:11px; display:block; margin-top:8px; }
body.forge .forge-strip { padding:30px 0; color:#404b56; border:0; border-bottom:1px solid #d8dfe3; font-size:13px; }
body.forge .capability-tabs button { background:#f0f2f3; color:#263540; border-color:#d8dfe3; padding:26px; }
body.forge .capability-tabs button[aria-pressed=true] { background:#c9372d; color:white; }
body.forge .capability-panel { background:#f0f2f3; color:#263540; border:0; border-radius:0; }
body.forge .capability-panel p { color:#58636d; }
body.forge .capability-label { color:#8a2821; }
body.forge .forge-application { background:#edf0f2; }
body.forge .forge-work .pill { border-color:#a5b1ba; color:#28333e; }
body.forge .contact-section { background:#222d37; color:#fff; }
/* Creative: oversized work, an asymmetrical poster composition, and confident empty space. */
body.agency { --ink:#fff; --paper:#211c31; --accent:#deff9c; --muted:#c9c3d7; --line:#51475e; background:#211c31; color:#fff; }
body.agency .v3-header { background:#211c31; color:#fff; }
.agency .v3-header .brand { font-size:25px; letter-spacing:-.04em; }
.agency .v3-button { background:#deff9c; color:#211c31; border-radius:30px; }
.v3-agency-hero { padding:28px 0 50px; }
.v3-agency-top { display:flex; align-items:center; justify-content:space-between; padding:12px 0 24px; }
.v3-agency-top p { font-size:13px; color:#ccc5da; }
.v3-round-link { width:60px; height:60px; display:grid; place-items:center; border:1px solid #786987; border-radius:50%; }
.v3-round-link svg { width:28px; height:28px; transform:rotate(45deg); }
.v3-agency-stage { min-height:400px; position:relative; display:flex; align-items:center; }
body .v3-agency-stage h1 { font-size:clamp(52px,7.2vw,96px); line-height:1.02; font-weight:650; position:relative; z-index:2; max-width:10.5ch; }
.v3-agency-art { width:47%; height:380px; position:absolute; right:1%; top:0; transform:rotate(7deg); }
.v3-agency-art img { width:100%; height:100%; object-fit:cover; }
.v3-agency-bottom { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:30px; }
.v3-agency-bottom p { font-size:14px; color:#ccc5da; }
.v3-agency-bottom>span { color:#ccc5da; font-size:13px; }
body.agency #work { background:#f1f0ec; color:#211c31; width:100%; padding-inline:max(50px,calc((100% - 1280px)/2)); }
.agency #work .muted,.agency #work .small { color:#635e69; }
.agency #work .filter-bar button { border-color:#b4acbb; color:#211c31; }
.agency #work .filter-bar button[aria-pressed=true] { background:#211c31; color:white; }
body.agency .agency-work { gap:50px 35px; }
body.agency .agency-work .project-card:nth-child(even) { padding-top:70px; }
body.agency .agency-work .media { border-radius:0; }
body.agency .agency-services { background:#d6c7eb; color:#211c31; }
.agency .agency-services .faq p { color:#4d425c; }
body.agency .agency-services h2 { font-size:48px; }
body.agency #studio { padding-block:85px; }
body.agency .contact-section { background:#deff9c; color:#211c31; }
.agency .contact-form input,.agency .contact-form textarea,.agency .contact-form select { background:#ffffff55; border-color:#81915f; color:#211c31; }
.agency .contact-form .btn { background:#211c31; color:white; }
.agency .form-status { color:#211c31; }
/* Commerce: the product environment is the campaign. The shopping panel is calm and legible. */
body.still { --ink:#2e352b; --paper:#fafaf7; --accent:#e1e3d7; --muted:#676b61; --line:#d8dbd0; background:#fafaf7; }
.still .shipping-strip { background:#374137; color:#fff; padding:8px 20px; font-size:11px; }
body.still .v3-header { background:#fafaf7; }
body.still .v3-header .brand { font-family:'Cormorant Garamond',serif; font-size:48px; font-weight:500; }
body.still .v3-header .nav-row { height:93px; }
.v3-still-hero { position:relative; min-height:630px; margin:0 25px; }
.v3-still-image { position:absolute; inset:0; }
.v3-still-image img { width:100%; height:100%; object-position:center 57%; }
.v3-still-copy { position:relative; width:390px; margin-left:auto; right:5%; top:65px; padding:42px 38px; background:#fafaf7; }
body .v3-still-copy h1 { font-family:'Cormorant Garamond',serif; font-size:68px; line-height:.98; font-weight:500; letter-spacing:-.025em; }
.v3-still-copy p { font-size:14px; margin:22px 0; }
.still .v3-button { background:#374137; color:#fff; border-radius:4px; }
.v3-still-caption { font-size:11px; border-top:1px solid #d8dbd0; margin-top:35px; padding-top:18px; color:#676b61; }
body.still h2 { font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:500; }
body.still .product-grid { gap:24px; }
body.still .product-image { border-radius:0; }
body.still .product-image img { height:330px; }
body.still .still-editorial { background:#e8ebe1; width:100%; padding:80px max(50px,calc((100% - 1280px)/2)); margin-block:0 90px; gap:7%; }
body.still .contact-section { background:#374137; color:#fff; }
/* Consulting: a composed photographic grid with a service rail built into the opening. */
body.northline { --ink:#142f4c; --paper:#fff; --accent:#185adb; --muted:#5d6d7d; --line:#d9e0e8; background:#fff; }
.northline .v3-button { background:#185adb; color:#fff; }
.v3-north-hero { background:#edf2f8; padding:42px 0 0; }
.v3-north-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; }
.v3-north-copy { padding:30px 0 60px; }
body .v3-north-copy h1 { font-size:clamp(44px,4.8vw,68px); line-height:1.09; font-weight:600; }
.v3-north-copy p { margin:25px 0 30px; max-width:35ch; font-size:16px; color:#566980; }
.v3-north-photo { height:475px; align-self:end; }
.v3-north-photo img { width:100%; height:100%; object-position:55% center; }
.v3-north-services { display:grid; grid-template-columns:repeat(3,1fr); margin-top:0; background:#142f4c; color:#fff; }
.v3-north-services a { padding:28px; display:flex; align-items:center; justify-content:space-between; font-size:15px; gap:20px; }
.v3-north-services a+a { border-left:1px solid #51667c; }
.v3-north-services a:hover { background:#1d426a; }
body.northline .northline-capabilities article { padding:28px 28px 30px 0; border-top:1px solid #aebfce; }
body.northline .northline-capabilities h3 { font-size:27px; font-weight:600; }
body.northline .northline-capabilities p { font-size:15px; margin-top:20px; }
body.northline .northline-industries { background:#f0f4f8; }
body.northline .industry-panel { border-radius:0; }
body.northline .contact-section { background:#142f4c; color:white; }
.northline .contact-form .btn { background:#74aeff; color:#142f4c; }
/* Wellness: tactile photography and quiet art direction. */
body.serein { --ink:#343e30; --paper:#faf9f4; --accent:#dce2ce; --muted:#626d5d; --line:#d4d9ca; background:#faf9f4; }
body.serein .v3-header { background:#faf9f4; }
body.serein .v3-header .brand { font-family:'Cormorant Garamond',serif; font-size:44px; font-weight:500; }
.serein .v3-button { background:#344631; color:#fff; border-radius:30px; }
.v3-serein-hero { height:650px; position:relative; color:#fff; overflow:hidden; }
.v3-serein-hero>img { width:100%; height:100%; object-position:center 48%; }
.v3-serein-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#263322b8,transparent 75%); }
.v3-serein-copy { position:absolute; left:8%; top:70px; z-index:1; }
body .v3-serein-copy h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(64px,7vw,96px); line-height:.97; font-weight:400; }
.v3-serein-copy p { font-size:16px; margin:28px 0; }
.v3-serein-copy .v3-button { background:#faf9f4; color:#344631; }
.v3-serein-caption { position:absolute; z-index:1; bottom:35px; left:8%; display:flex; align-items:center; gap:40px; font-size:12px; }
body.serein h2 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:54px; }
body.serein .ritual summary { grid-template-columns:1fr auto 25px; gap:25px; }
body.serein .ritual summary>span:first-child { display:none; }
body.serein .ritual h3 { font-size:30px; }
body.serein .serein-experience { background:#e5eadb; padding-block:90px; }
body.serein .serein-experience h2 { max-width:650px; margin-bottom:50px; }
body.serein .serein-experience article>span { display:none; }
body.serein .contact-section { background:#344631; color:#fff; }
/* Automation: equipment on a large visual stage, disciplined service navigation. */
body.relay { --ink:#1f2933; --paper:#fff; --accent:#e34235; --muted:#596570; --line:#d8dfe5; background:#fff; }
.relay .v3-button,.relay .btn.accent { background:#e34235; color:#fff; }
.v3-relay-hero { height:600px; position:relative; color:#fff; }
.v3-relay-hero>img { width:100%; height:100%; object-position:center 51%; }
.v3-relay-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#15212de8 5%,#15212d96 43%,transparent 85%); }
.v3-relay-hero>.wrap { position:absolute; z-index:1; inset:0; display:flex; align-items:center; }
body .v3-relay-copy h1 { font-size:clamp(45px,5.4vw,76px); font-weight:600; }
.v3-relay-copy p { margin:24px 0 30px; font-size:16px; color:#e6edf2; }
.v3-relay-band { background:#1f2933; color:#fff; }
.v3-relay-band>.wrap { display:grid; grid-template-columns:repeat(3,1fr); }
.v3-relay-band span { padding:25px 20px; text-align:center; font-size:14px; }
.v3-relay-band span+span { border-left:1px solid #52606b; }
body.relay .relay-solutions { background:white; }
body.relay .relay-solution { background:white; border:0; padding:32px 28px 22px 0; border-top:2px solid #e34235; }
body.relay .relay-solution h3 { font-size:25px; }
body.relay .relay-application { border-radius:0; }
body.relay .contact-section { background:#1f2933; color:white; }
/* Review gallery */
body.gallery { --paper:#f5f6f8; --ink:#17293c; --muted:#5e6b7b; background:#f5f6f8; }
body.gallery .site-header { background:#fff; }
body.gallery .gallery-hero { padding-block:65px 55px; gap:70px; }
body.gallery .gallery-hero h1 { font-size:clamp(42px,5vw,68px); }
body.gallery .gallery-hero h1 span { font-family:inherit; font-style:normal; color:#62778f; }
body.gallery .gallery-grid { gap:48px 30px; }
body.gallery .gallery-shot { border-radius:8px; border:1px solid #d4dce6; }
body.gallery .gallery-card-meta { padding:22px 2px; }
body.gallery .gallery-card-meta h2 { font-size:25px; }
body.gallery .gallery-card-meta p { max-width:42ch; }
body.gallery .reference-section { margin-top:65px; }
body.gallery .eyebrow { letter-spacing:0; text-transform:none; }
@media(min-width:1600px) {
 .v3-mason-hero,.v3-relay-hero { height:690px; }
 .v3-current-hero { height:660px; }
}
@media(max-width:1100px) {
 body .wrap { width:calc(100% - 64px); }
 body .v3-header .desktop-nav { gap:18px; }
 body .v3-header .brand { font-size:25px; }
 body .v3-header .v3-button { padding:14px 18px; gap:15px; }
 .v3-mason-panel { width:500px; padding:38px; }
 .v3-photo-caption { max-width:240px; }
 .v3-forge-grid { gap:35px; }
 .v3-forge-image>img { height:450px; }
 .v3-agency-art { width:48%; right:2%; }
 .v3-agency-bottom>span { display:none; }
 .v3-still-copy { right:4%; }
 body.current .booking-strip { gap:15px; padding:26px 32px; }
}
@media(max-width:850px) {
 body .v3-header .desktop-nav { display:none; }
 body .v3-header .mobile-nav { display:block; }
 body .v3-header .nav-row { height:84px; gap:20px; }
 body .v3-header .nav-row>.v3-button { margin-left:auto; }
 .v3-section-intro { gap:35px; }
 .v3-service-photos { gap:20px; }
 .v3-service-photos article>img { height:185px; }
 .v3-service-photos h3 { font-size:21px; }
 .v3-mason-panel { width:440px; }
 .v3-photo-caption { display:none; }
 body.current .booking-strip { grid-template-columns:1fr 1fr; }
 body.current .booking-strip strong { grid-column:1/-1; }
 .booking-strip strong br { display:none; }
 .v3-forge-grid { grid-template-columns:1fr 1fr; }
 body .v3-forge-grid h1 { font-size:42px; }
 .v3-forge-caption { left:0; right:0; }
 .v3-forge-caption strong { font-size:16px; }
 .v3-north-grid { gap:25px; }
 body .v3-north-copy h1 { font-size:45px; }
 .v3-north-photo { height:450px; }
 .v3-north-services a { font-size:13px; padding:22px 18px; }
 body.agency .agency-services h2 { font-size:38px; }
}
@media(max-width:600px) {
 body .wrap { width:calc(100% - 40px); }
 body .section { padding-block:60px; }
 body h1 { font-size:44px; }
 body h2 { font-size:34px; }
 body .demo-bar { padding:7px 20px; }
 body .demo-label { display:none; }
 body .v3-header .nav-row { height:78px; }
 body .v3-header .nav-row>.v3-button { display:none; }
 body .v3-header .brand { font-size:25px; }
 body .v3-header .brand svg { width:28px; height:28px; }
 .v3-utility>.wrap { height:29px; font-size:10px; }
 .v3-utility a { display:none; }
 .v3-button { padding:15px 20px; }
 .v3-mason-hero { height:auto; padding-bottom:0; }
 .v3-mason-hero>img { height:270px; object-position:center; }
 .v3-mason-hero>.wrap { position:relative; width:100%; }
 .v3-mason-panel { width:100%; margin:0; padding:33px 25px 36px; }
 body .v3-mason-panel h1 { font-size:43px; }
 .v3-mason-panel p { margin:20px 0 25px; }
 body .v3-mason-services { padding-top:60px; }
 .v3-section-intro { grid-template-columns:1fr; gap:20px; margin-bottom:30px; }
 .v3-service-photos { grid-template-columns:1fr; gap:38px; }
 .v3-service-photos article>img { height:240px; }
 .v3-service-photos h3 { font-size:25px; }
 body.mason #projects .grid-3 { grid-template-columns:1fr; }
 body.mason .project-card img { height:280px; }
 body .editorial-feature .feature-image img { height:350px; }
 .v3-current-hero { height:490px; }
 .v3-current-copy { padding:30px 20px; }
 body .v3-current-copy h1 { font-size:43px; }
 .v3-current-copy p { font-size:15px; }
 .v3-current-hero>img { object-position:35% center; }
 body.current .booking-strip { padding:30px 20px; grid-template-columns:1fr; gap:18px; }
 body.current .booking-strip strong { font-size:26px; }
 body.current .booking-strip label,body.current .booking-strip .btn { grid-column:auto; }
 .current .booking-status { grid-column:1; }
 body.current .service-card { padding:15px 0 25px; }
 body.current .editorial-feature { padding:50px 20px; }
 .v3-forge-hero { padding:35px 0 0; }
 .v3-forge-grid { grid-template-columns:1fr; gap:35px; }
 body .v3-forge-grid h1 { font-size:43px; }
 .v3-forge-grid p { margin:20px 0 25px; }
 .v3-forge-image>img { height:320px; }
 .v3-forge-caption { padding:20px; }
 body.forge .forge-strip { gap:20px; font-size:12px; display:grid; grid-template-columns:1fr 1fr; }
 .v3-agency-hero { padding:15px 0 40px; }
 .v3-agency-top { padding-bottom:25px; }
 .v3-round-link { width:44px; height:44px; }
 .v3-agency-stage { display:block; min-height:0; }
 body .v3-agency-stage h1 { font-size:52px; max-width:12ch; }
 .v3-agency-art { position:relative; display:block; width:87%; margin:35px 0 0 auto; height:250px; top:auto; right:10px; transform:rotate(4deg); }
 .v3-agency-bottom { display:block; margin-top:35px; }
 .v3-agency-bottom p { margin-bottom:22px; }
 body.agency #work { padding-inline:20px; }
 body.agency .agency-work .project-card:nth-child(even) { padding-top:0; }
 body.agency .agency-services h2 { font-size:36px; }
 body.still .v3-header .brand { font-size:40px; }
 body.still .v3-header .nav-row { height:80px; }
 .still .bag-button { margin-left:auto; }
 .v3-still-hero { margin:0 15px; min-height:0; }
 .v3-still-image { position:relative; height:330px; }
 .v3-still-copy { width:auto; margin:-40px 20px 0; padding:30px; right:auto; top:auto; }
 body .v3-still-copy h1 { font-size:56px; }
 .v3-still-caption { margin-top:25px; }
 body.still h2 { font-size:42px; }
 body.still .product-grid { gap:25px 14px; }
 body.still .product-image img { height:220px; }
 body.still .still-editorial { padding:50px 20px; margin-bottom:50px; }
 .v3-north-hero { padding-top:25px; }
 .v3-north-grid { grid-template-columns:1fr; gap:0; }
 .v3-north-copy { padding:10px 0 35px; }
 body .v3-north-copy h1 { font-size:43px; }
 .v3-north-photo { height:300px; }
 .v3-north-services { grid-template-columns:1fr; width:100%!important; }
 .v3-north-services a { padding:22px; font-size:15px; }
 .v3-north-services a+a { border-left:0; border-top:1px solid #51667c; }
 body.northline .northline-capabilities article { padding-right:0; }
 body.serein .v3-header .brand { font-size:39px; }
 .v3-serein-hero { height:590px; }
 .v3-serein-hero>img { object-position:60% center; }
 .v3-serein-hero::after { background:#26332277; }
 .v3-serein-copy { left:25px; top:65px; }
 body .v3-serein-copy h1 { font-size:74px; }
 .v3-serein-caption { left:25px; right:25px; gap:15px; font-size:11px; }
 body.serein h2 { font-size:44px; }
 body.serein .ritual summary { grid-template-columns:1fr 24px; gap:10px; }
 body.serein .ritual summary>span { grid-column:1; }
 body.serein .ritual summary>i { grid-column:2; grid-row:1; }
 body.serein .ritual h3 { font-size:29px; }
 body.serein .serein-experience { padding-block:60px; }
 .v3-relay-hero { height:560px; }
 .v3-relay-hero>img { object-position:60% center; }
 .v3-relay-hero::after { background:#15212da8; }
 body .v3-relay-copy h1 { font-size:47px; }
 .v3-relay-copy p { font-size:14px; }
 .v3-relay-band>.wrap { grid-template-columns:1fr; }
 .v3-relay-band span { padding:17px 0; text-align:left; }
 .v3-relay-band span+span { border-left:0; border-top:1px solid #52606b; }
 body.relay .relay-solution { padding:25px 0; }
 body.gallery .gallery-hero { padding-block:45px 30px; gap:25px; }
 body.gallery .gallery-hero h1 { font-size:43px; }
 body.gallery .gallery-grid { gap:30px; }
 body .contact-section h2 { max-width:100%; }
 body .contact-form { gap:18px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
/* Final contrast corrections against inherited collection-two colors. */
body.mason .contact-section { --accent:#f5c443; }
body.current .booking-strip .booking-status { color:#d4deea; font-size:11px; }
body.current .booking-strip input,body.current .booking-strip select { min-height:48px; padding:10px 12px; }
body.forge .forge-application p { color:#58636d; }
body.agency .project-card .card-open { background:#211c31; color:#fff; }
body.northline .northline-industries { color:#15324c; --muted:#536477; }
body.northline .northline-industries p { color:#536477; }
body.northline .northline-industries .filter-bar button { color:#15324c; border-color:#a8b8c8; }
body.northline .northline-industries .filter-bar button[aria-pressed=true] { color:#fff; background:#1d57dc; border-color:#1d57dc; }
body.serein .serein-experience { color:#33432e; }
body.serein .serein-experience p { color:#52604c; }
body.serein .serein-experience article { border-color:#b9c2af; }
body.relay .relay-solutions { color:#202d39; --muted:#586672; }
body.relay .relay-solution p { color:#586672; }
body.relay .relay-solution { border-radius:0; }
