/* C mosaic hero, language-specific type roles, and a separate photo interlude. */
:root {
  --type-display: clamp(2rem, 3.15vw, 3.125rem);
  --type-section: clamp(1.75rem, 2.7vw, 2.625rem);
  --type-project: 1.125rem;
  --type-body: 1rem;
  --type-meta: .8125rem;
  --heading-tracking: 0em;
  --body-tracking: 0em;
}
html:lang(en) { --heading-tracking: -.025em; --body-tracking: 0em; }
body { --paper:#fff; --ink:#123d3d; background:#fff; font-size:var(--type-body); line-height:1.8; letter-spacing:var(--body-tracking); }
h1,h2,h3,h4 { letter-spacing:var(--heading-tracking); font-weight:500; }
h1,h2 { text-wrap:balance; }
p { text-wrap:pretty; }
.site-header { background:#fff; height:88px; }
.desktop-nav { font-size:.875rem; gap:36px; font-weight:500; }
.nav-cta,.language { font-size:.875rem; font-weight:500; }
.brand { width:160px; }
.section { padding:104px 7vw; }
.section-heading { gap:48px; margin-bottom:40px; }
.section-heading h2 { font-size:var(--type-section); line-height:1.5; font-weight:500; }
.section-heading>p { font-size:var(--type-body); line-height:1.9; max-width:27em; }
.pill { font-size:.875rem; font-weight:500; letter-spacing:.035em; }
.filter-bar { gap:12px; margin-bottom:44px; padding-bottom:28px; }
.filter-bar button { font-size:.8125rem; line-height:1.5; padding:12px 18px; min-height:44px; }
.filter-bar button[aria-pressed=true] { font-weight:600; }

/* Hero composition and responsive treatment come directly from original C. */
.c-hero-bottom .pill { font-weight:700; letter-spacing:normal; }
.about { background:#fff; }
.filter-bar button { background:#f0f2f2; }
/* The retained curved photo treatment bridges services and the agency introduction. */
.photo-interlude { overflow:hidden; background:var(--paper); padding:24px 0 48px; }
.refined-stage { --gallery-scale:1; height:425px; position:relative; perspective:1300px; cursor:grab; touch-action:pan-y pinch-zoom; user-select:none; }
.refined-stage.is-dragging { cursor:grabbing; }
.refined-stage:focus-visible { outline:2px solid var(--ink); outline-offset:-8px; }
.refined-stage img { -webkit-user-drag:none; user-select:none; }
.refined-arc { position:absolute; left:50%; top:90px; width:0; height:250px; transform-style:preserve-3d; }
.refined-photo {
  position:absolute; left:-94px; width:188px; height:236px;
  border-radius:10px; overflow:hidden;
  box-shadow:0 12px 28px #173d3d17;
  transform:translate3d(var(--x),var(--y),0) rotateY(var(--rotate)) scale(var(--scale));
}
.refined-photo img { object-position:center; }
.refined-photo.is-named::after { content:''; position:absolute; inset:0; border:3px solid #9bc52a; border-radius:inherit; pointer-events:none; }
.gallery-label { position:absolute; top:0; left:0; z-index:2; pointer-events:none; margin:0; width:max-content; max-width:min(340px,calc(100% - 32px)); padding:12px 18px; border-radius:8px; background:#123d3d; color:#fff; font-size:1.125rem; font-weight:600; line-height:1.5; text-align:center; text-wrap:balance; box-shadow:0 8px 20px #123d3d1c; }
.refined-photo-0 { --x:-660px; --y:-70px; --rotate:43deg; --scale:1.35; }
.refined-photo-1 { --x:-490px; --y:-36px; --rotate:38deg; --scale:1.2; }
.refined-photo-2 { --x:-325px; --y:8px; --rotate:29deg; --scale:1.04; }
.refined-photo-3 { --x:-160px; --y:40px; --rotate:18deg; --scale:.9; }
.refined-photo-4 { --x:0px; --y:56px; --rotate:0deg; --scale:.85; }
.refined-photo-5 { --x:160px; --y:40px; --rotate:-18deg; --scale:.9; }
.refined-photo-6 { --x:325px; --y:8px; --rotate:-29deg; --scale:1.04; }
.refined-photo-7 { --x:490px; --y:-36px; --rotate:-38deg; --scale:1.2; }
.refined-photo-8 { --x:660px; --y:-70px; --rotate:-43deg; --scale:1.35; }
.gallery-controls { padding:4px 7vw 0; display:flex; align-items:center; justify-content:flex-end; }
.gallery-buttons { display:flex; flex-shrink:0; gap:12px; }
.gallery-buttons button { width:48px; height:48px; border:1px solid #193c3966; border-radius:50%; display:grid; place-items:center; color:var(--ink); background:white; }
.gallery-buttons svg { width:24px; height:24px; }
.gallery-buttons button:disabled { opacity:.3; cursor:default; }
.gallery-buttons button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(hover:hover) and (pointer:fine) { .gallery-buttons button:not(:disabled):hover { background:#edf0e8; } }

.work-grid { gap:54px 30px; }
.work-caption { padding-top:20px; }
.client-name { font-size:var(--type-meta); font-weight:500; line-height:1.65; }
.work-caption h3 { font-size:var(--type-project); font-weight:500; line-height:1.65; margin-top:8px; }
.work-caption h3 button { display:block; width:100%; font-weight:inherit; letter-spacing:inherit; text-wrap:balance; }
.work-category { font-size:var(--type-meta); line-height:1.65; margin-top:10px; white-space:normal; color:#49635a; }
.work-hover { font-size:.8125rem; }
.spotlight-c { margin:0 7vw; }
.spotlight-c .spotlight-caption { top:48px; width:43%; padding:36px; background:#173e3b; }
.spotlight-c .spotlight-caption h2 { font-size:clamp(1.65rem,2.6vw,2.4rem); line-height:1.5; margin:16px 0 28px; }
.spotlight-caption>span { font-size:var(--type-meta); }
.text-link { font-size:.875rem; }
.slide-count { font-size:.8125rem; font-variant-numeric:tabular-nums; }
.slide-controls { gap:16px; }
.slide-controls button { min-width:44px; min-height:44px; }
.services .section-heading { margin-bottom:48px; }
.service-item { gap:12px 56px; padding:44px 0; }
.service-top { gap:26px; }
.service-top h3 { font-size:clamp(1.5rem,2.1vw,2rem); line-height:1.45; font-weight:500; letter-spacing:-.02em; }
.service-title { min-width:0; }
.service-title h3 { max-width:330px; text-wrap:balance; letter-spacing:var(--heading-tracking); }
.service-english { margin:12px 0 0; font-size:.8125rem; line-height:1.6; color:#49635a; max-width:29em; }
.service-item h4 { font-size:1.25rem; line-height:1.65; margin-bottom:8px; font-weight:500; }
.service-item>p { font-size:var(--type-body); line-height:1.9; max-width:30em; }
.service-item .service-items { font-size:.875rem!important; line-height:1.85; margin:12px 0 18px; }
.service-link { font-size:.875rem; min-height:44px; }
.about-copy h2 { font-size:var(--type-section); line-height:1.5; margin-bottom:28px; }
.about-lead { font-size:1.25rem; line-height:1.75; margin-bottom:20px; }
.about-copy>p:not(.about-lead) { font-size:var(--type-body); line-height:1.95; max-width:30em; }
.values { gap:14px 24px; margin-top:28px; }
.values span { font-size:.875rem; }
.contact { gap:8vw; }
.contact h2 { font-size:var(--type-section); line-height:1.5; font-weight:500; }
.contact-email { font-size:clamp(1.125rem,1.8vw,1.5rem); letter-spacing:0; }
.contact-phone { font-size:.875rem; }
.enquiry h3 { font-size:1.25rem; line-height:1.6; font-weight:500; margin-bottom:28px; }
.enquiry label { font-size:.875rem; gap:8px; margin-bottom:24px; }
.enquiry input,.enquiry textarea { font-size:1rem; line-height:1.75; }
.enquiry textarea::placeholder { font-size:.9375rem; }
.enquiry .pill { font-size:.875rem; }
.form-note,.form-result { font-size:.875rem; line-height:1.8; }
footer { font-size:.8125rem; line-height:1.7; }
.dialog-copy h2 { font-size:clamp(1.5rem,3vw,2.25rem); line-height:1.5; font-weight:500; }
.dialog-copy h3 { font-size:1.125rem; line-height:1.65; }
.dialog-copy p { font-size:1rem; line-height:1.9; max-width:34em; }

@media(min-width:1600px) { .refined-arc { transform:scale(1.15); top:115px; } .refined-stage { height:485px; } }
@media(min-width:1600px) { .refined-stage { --gallery-scale:1.15; } }
@media(max-width:1000px) {
  .refined-stage { --gallery-scale:.85; height:405px; }
  .refined-arc { transform:scale(.85); top:78px; }
}
@media(max-width:850px) {
  .site-header { height:78px; }
  .section { padding:76px 6vw; }
  .section-heading { margin-bottom:32px; }
  .section-heading>p { margin-top:16px; }
  .work-grid { gap:40px 22px; }
  .spotlight-c .spotlight-caption { width:58%; padding:28px; }
  .service-item { gap:12px 32px; }
  .service-top { gap:18px; }
  .service-icon { width:38px; height:38px; }
  .about-photo { height:360px; }
}
@media(max-width:520px) {
  .c-hero-bottom .pill { font-size:12px; }
  :root { --type-project:1rem; --type-meta:.8125rem; }
  .brand { width:135px; }
  .photo-interlude { padding:0 0 32px; }
  .refined-stage { --gallery-scale:.62; height:318px; }
  .gallery-controls { padding:4px 6vw 0; }
  .gallery-label { font-size:1.0625rem; padding:10px 16px; }
  .gallery-buttons { gap:8px; }
  .gallery-buttons button { width:44px; height:44px; }
  .refined-arc { transform:scale(.62); top:50px; }
  .refined-photo { border-radius:10px; }
  .section { padding-top:64px; padding-bottom:64px; }
  .section-heading h2 { font-size:1.875rem; line-height:1.5; }
  .filter-bar { gap:8px; padding-bottom:24px; margin-bottom:32px; }
  .filter-bar button { font-size:.8125rem; padding:10px 12px; }
  .work-grid { gap:38px 16px; }
  .work-caption { padding-top:16px; }
  .work-caption h3 { font-size:var(--type-project); line-height:1.6; margin-top:7px; }
  .work-category { font-size:.8125rem; margin-top:8px; }
  .work-card:nth-child(5) { width:100%; }
  .spotlight-c { margin:0; height:550px; }
  .spotlight-c .spotlight-caption { top:auto; bottom:82px; left:6vw; width:88%; padding:24px; }
  .spotlight-c .spotlight-caption h2 { font-size:1.625rem; line-height:1.5; margin:12px 0 22px; }
  .spotlight-c .spotlight-caption>span { font-size:.8125rem; }
  .spotlight-c .slide-controls { bottom:19px; }
  .spotlight-c .slide-controls button { width:44px; height:44px; }
  .service-item { padding:32px 0; }
  .service-top { margin-bottom:20px; }
  .service-top h3 { font-size:1.625rem; max-width:none; }
  .service-item h4 { font-size:1.125rem; line-height:1.7; }
  .service-item .service-items { margin:20px 0 16px; }
  .about-copy h2,.contact h2 { font-size:1.875rem; line-height:1.5; }
  .about-lead { font-size:1.125rem; }
  .values { gap:12px 20px; }
  .contact { gap:48px; }
  .form-note { font-size:.8125rem; }
}
@media(prefers-reduced-motion:reduce) { .refined-photo { animation:none; } }

/* C identity: open white space, confident typography and a quieter work selection. */
.identity { border-bottom:1px solid #123d3d20; }
.eyebrow { font-size:.75rem; letter-spacing:.12em; font-weight:700; margin-bottom:38px; }
.identity-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; }
.identity h2 { font-size:clamp(2.5rem,4.4vw,4.5rem); line-height:1.45; font-weight:600; letter-spacing:0; }
.identity h2 span { color:#167e83; }
.identity-position { font-size:1.375rem; font-weight:600; margin-bottom:18px; line-height:1.6; }
.identity-detail>p:not(.identity-position) { font-size:1rem; line-height:1.95; max-width:32em; }
.identity-audience { display:grid; grid-template-columns:auto 1fr; gap:24px; margin:30px 0; padding-top:24px; border-top:1px solid #123d3d25; }
.identity-audience>span { font-size:.8125rem; color:#536e6c; }
.identity-audience>p { font-size:.9375rem; line-height:1.9; }
.identity .text-link { font-size:.9375rem; padding:8px 0; }
.work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px 32px; }
.work-card:nth-child(n) { margin:0; max-width:none; grid-column:auto; width:100%; }
.work-card:nth-child(n) .work-image { aspect-ratio:16/9; background:#f5f5f3; }
.work-image img { object-fit:cover; }
.project-visual { display:grid; width:100%; height:100%; overflow:hidden; }
.visual-media { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:4px; }
.visual-creators { grid-template-columns:1fr 1fr; align-items:center; gap:16px; padding:20px; background:#e7eef2; }
.visual-creators img { height:auto; object-fit:contain; }
.visual-social { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px 22px; background:#f3e6e4; }
.visual-social img { min-height:0; height:100%; object-fit:contain; }
.dialog-work-visual { aspect-ratio:16/9; background:#f5f5f3; }
.dialog-work-visual>img { object-fit:contain; }
.work-image:hover img { transform:scale(1.025); }
.work-category { white-space:normal; }
.portfolio-note { display:inline-block; font-size:.75rem; margin-left:12px; color:#536e6c; }
.dialog-photo { height:auto; max-height:480px; object-fit:contain; background:#f5f5f3; }
html:lang(en) .identity h2 { font-size:clamp(2.25rem,3.5vw,3.75rem); line-height:1.3; letter-spacing:-.025em; }
@media(max-width:850px) {
 .identity-layout { grid-template-columns:1fr; gap:32px; }
 .identity h2 { font-size:clamp(2.25rem,6vw,3.5rem); }
 .identity-detail>p:not(.identity-position) { max-width:42em; }
}
@media(max-width:600px) {
 .eyebrow { margin-bottom:26px; font-size:.6875rem; }
 .identity-position { font-size:1.25rem; }
 .identity-audience { gap:16px; grid-template-columns:1fr; }
 .identity-audience>p { font-size:1rem; }
 .work-grid { grid-template-columns:1fr; gap:36px; }
}

/* Client sector and logo layout. Brand signatures are defined below. */
.identity-detail>.identity-link { margin-top:30px; }
.client-relationships { margin-top:76px; }
.client-context { display:grid; grid-template-columns:1fr 1.15fr; gap:7vw; align-items:start; }
.client-context h3 { font-size:clamp(1.625rem,2.8vw,2.25rem); line-height:1.5; font-weight:600; letter-spacing:0; margin:0 0 20px; }
.client-context p { font-size:.9375rem; line-height:1.95; max-width:29em; }
.client-sectors { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.client-sectors li { padding:15px 0; border-bottom:1px solid #123d3d30; font-size:1rem; line-height:1.65; }
.client-wall-heading { margin:46px 0 20px; }
.client-wall-heading h4 { font-size:.9375rem; font-weight:500; line-height:1.7; }
.client-wall { list-style:none; margin:0; padding:26px 30px; background:white; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 28px; }
.client-wall li { height:100px; display:flex; align-items:center; justify-content:center; padding:15px 10px; }
.client-wall svg { display:block; width:100%; max-width:210px; height:66px; overflow:hidden; }
@media(max-width:850px) {
 .client-context { grid-template-columns:1fr; gap:26px; }
 .client-context p { max-width:42em; }
 .client-wall { gap:8px 18px; padding:20px; }
 .client-wall li { padding:12px 0; }
}

@media(max-width:600px) {
 .client-relationships { margin-top:56px; }
 .client-sectors { gap:0 20px; }
 .client-sectors li { font-size:.9375rem; padding:13px 0; }
 .client-wall-heading { margin-top:32px; }
 .client-wall-heading h4 { font-size:.875rem; }
 .client-wall { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px 18px; gap:4px 24px; }
 .client-wall li { height:80px; }
 .client-wall svg { height:56px; }
}

/* PDF signature: an open frame, green at bottom left and blue at top right. */
.identity { background:#fff; border:0; overflow:hidden; }
.identity-layout { position:relative; isolation:isolate; padding:40px 0; }
.identity-layout::after { content:''; position:absolute; z-index:-2; top:-50px; right:-7vw; width:44%; height:calc(100% + 100px); background:#edf6f9; pointer-events:none; }
.brand-frame { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.brand-corner { position:absolute; display:block; width:160px; height:180px; border-style:solid; border-width:0; }
.corner-blue { top:0; right:0; border-top-width:16px; border-right-width:16px; border-color:#14a4c7; }
.corner-green { bottom:0; left:0; border-bottom-width:16px; border-left-width:16px; border-color:#92bf2e; }
.identity-layout>.brand-frame { inset:-22px -4.5vw; }
.client-relationships { margin-top:108px; }
.services { position:relative; isolation:isolate; background:#f1f6f8; overflow:hidden; }
.services>.brand-frame { inset:40px 2vw; }
.services .corner-blue { width:180px; height:130px; border-width:10px 10px 0 0; }
.services .corner-green { width:110px; height:170px; border-width:0 0 10px 10px; }
.photo-interlude { background:white; }
.client-sectors li { padding:0; border:0; }
.client-sectors button { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:60px; padding:15px 0; border-bottom:1px solid #123d3d30; text-align:left; font-size:1rem; line-height:1.6; }
.client-sectors button>span { opacity:0; }
.client-sectors button[aria-pressed=true] { color:#123d3d; border-bottom:3px solid #92bf2e; font-weight:600; }
.client-sectors button[aria-pressed=true]>span { opacity:1; }
.client-wall-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.client-wall-heading>button { font-size:.875rem; padding:8px 0; border-bottom:2px solid transparent; flex-shrink:0; }
.client-wall-heading>button[aria-pressed=true] { border-bottom-color:#14a4c7; }
.client-wall { padding:12px 0; gap:8px 24px; border-top:1px solid #123d3d20; border-bottom:1px solid #123d3d20; align-content:start; }
.client-wall li { display:block; height:146px; padding:0; min-width:0; }
.client-wall li[hidden] { display:none; }
@media(hover:hover) and (pointer:fine) {
 .client-sectors button:hover { border-bottom-color:#14a4c7; }
 .client-sectors button:hover>span { opacity:1; }

}
@media(max-width:850px) {
 .identity-layout { padding:30px 10px; }
 .identity-layout>.brand-frame { inset:-8px -3vw; }
 .identity-layout::after { width:40%; top:-30px; height:calc(100% + 60px); right:-6vw; }
 .brand-corner { width:120px; height:140px; }
 .client-wall { gap:8px 14px; }
}
@media(max-width:600px) {
 .identity-layout { padding:26px 8px; }
 .identity-layout>.brand-frame { inset:-4px -3vw; }
 .brand-corner { width:74px; height:94px; }
 .corner-blue { border-top-width:8px; border-right-width:8px; }
 .corner-green { border-bottom-width:8px; border-left-width:8px; }
 .client-relationships { margin-top:80px; }
 .client-sectors button { font-size:.9375rem; min-height:66px; gap:4px; padding:13px 0; }
 .client-wall-heading { align-items:flex-start; gap:12px; }
 .client-wall-heading>button { padding-top:0; font-size:.8125rem; }
 .client-wall { gap:6px 10px; padding:12px 0; }
 .client-wall li { height:144px; }



 .services>.brand-frame { inset:24px 2vw; }
 .services .corner-blue { width:66px; height:64px; border-width:6px 6px 0 0; }
 .services .corner-green { width:90px; height:74px; border-width:0 0 6px 6px; }
}
.client-logo-image{width:100%;height:66px;object-fit:contain}
.work-showcase{padding:60px 0 72px;background:white;scroll-margin-top:0}
.work-showcase>.section-heading{padding-top:0;padding-bottom:0;margin-bottom:0}
.work-showcase .photo-interlude{margin:0;padding-top:14px;padding-bottom:0}
.work-showcase .section-heading h2{max-width:660px}
.showcase-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:14px 5vw 0;padding-top:24px;border-top:1px solid #123d3d25}
.showcase-footer>p{font-size:15px;color:#446261}.showcase-link{font-size:14px}
.refined-photo.gallery-document{background:#f1f6f8}.refined-photo.gallery-document img{object-fit:contain;padding:12px}
@media(max-width:600px){.client-logo-image{height:56px}.work-showcase{padding:44px 0 50px}.showcase-footer{flex-direction:column;align-items:flex-start;gap:18px}.showcase-footer>p{font-size:13px}}

/* Names and case links belong to the same logo tile, on hover, focus or tap. */
.client-wall{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 20px}
.client-wall .client-tile{position:relative;height:142px}
.client-logo-button{position:absolute;inset:0;width:100%;height:100%;padding:20px 10px;border-radius:0}
.client-logo-art{display:flex;align-items:center;justify-content:center;width:100%;height:60px;transition:transform 180ms var(--ease)}
.client-logo-art svg,.client-logo-art img{width:100%;height:60px;max-width:190px;object-fit:contain}
.client-tile::before,.client-tile::after{content:'';position:absolute;width:20px;height:20px;opacity:0;transition:opacity 150ms ease;pointer-events:none;z-index:1}
.client-tile::before{top:4px;right:4px;border-top:3px solid #14a4c7;border-right:3px solid #14a4c7}
.client-tile::after{bottom:4px;left:4px;border-bottom:3px solid #92bf2e;border-left:3px solid #92bf2e}
.client-tile.is-expanded::before,.client-tile.is-expanded::after{opacity:1}
.client-tile.is-expanded .client-logo-art{transform:translateY(-26px) scale(.82)}
.client-overlay{position:absolute;left:8px;right:8px;bottom:9px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;text-align:center;visibility:hidden;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 150ms ease,transform 150ms var(--ease)}
.client-tile.is-expanded .client-overlay{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.client-logo-name{position:static;display:block;font-size:12px;line-height:1.4;font-weight:500;overflow-wrap:anywhere;color:var(--ink)}
.client-case-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:32px;font-size:11px;text-decoration:underline;text-underline-offset:4px;color:#126679}
.client-logo-button:focus-visible,.client-case-link:focus-visible{outline:2px solid #126679;outline-offset:2px}
.client-tile:focus-within .client-logo-art,.client-tile:focus-within .client-overlay{transition:none}
@media(max-width:1100px){.client-wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.client-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.client-wall .client-tile{height:152px}.client-case-link{min-height:44px;font-size:12px}.client-logo-art svg,.client-logo-art img{height:56px}.client-tile.is-expanded .client-logo-art{transform:translateY(-30px) scale(.82)}}
@media(prefers-reduced-motion:reduce){.client-logo-art,.client-overlay,.client-tile::before,.client-tile::after{transition:none}}
.partnership{position:relative;isolation:isolate;overflow:hidden;background:#fff;padding-top:110px;padding-bottom:105px;scroll-margin-top:12px}
.partnership::after{content:none}
.partnership>.brand-frame{inset:64px 3vw 54px}
.partnership .corner-blue{width:120px;height:118px;border-width:9px 9px 0 0}
.partnership .corner-green{display:none}
.partnership-title{max-width:1100px;font-size:clamp(38px,5.7vw,76px);font-weight:500;line-height:1.42;letter-spacing:-.035em;text-wrap:balance}
.partnership-title>span{color:#158589}
.partnership-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;align-items:center;margin-top:36px}
.partnership-art{width:100%;max-width:380px;justify-self:start}
.partnership-art img{display:block;width:100%;height:auto;user-select:none;transition:transform 240ms var(--ease)}
.partnership-body>.partnership-copy{max-width:650px;margin:0;font-size:17px;line-height:1.95;letter-spacing:0}
.partnership-copy>p+p{margin-top:22px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.partnership-art:hover img{transform:translateY(-6px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.partnership-art img{transition:none}}
@media(max-width:850px){.partnership-body{gap:4vw}.partnership-body>.partnership-copy{font-size:16px}}
@media(max-width:600px){.partnership-body{grid-template-columns:1fr;gap:26px;margin-top:22px}.partnership-art{width:240px;max-width:82%;justify-self:center}.partnership-body>.partnership-copy{font-size:16px}}
.faq-contact svg{width:22px;flex-shrink:0}
.homepage-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:7vw;background:#f1f6f8;padding-top:84px;padding-bottom:88px;scroll-margin-top:12px}
.faq-heading h2{font-size:clamp(28px,3vw,43px);font-weight:500;line-height:1.45;letter-spacing:-.015em}
.faq-contact{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:26px;font-size:14px;border-bottom:1px solid #123d3d65}
.faq-list{border-top:1px solid #123d3d45}
.faq-list details{border-bottom:1px solid #123d3d35}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:24px 0;cursor:pointer;font-size:18px;line-height:1.6;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::marker{content:''}
.faq-list summary svg{width:24px;height:24px;flex-shrink:0}
.faq-list details[open] .faq-plus-vertical{opacity:0}
.faq-answer{padding:0 38px 26px 0;font-size:16px;line-height:1.95;color:#315454}
.faq-answer a{display:inline-block;margin-top:12px;min-height:44px;padding:8px 0;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.faq-list summary:focus-visible,.faq-contact:focus-visible{outline:2px solid #126679;outline-offset:5px}
html:lang(en) .partnership-title{font-size:clamp(38px,5.1vw,68px);line-height:1.22;letter-spacing:-.04em;max-width:1080px;text-wrap:initial}
@media(hover:hover) and (pointer:fine){.faq-contact:hover,.faq-list summary:hover{color:#126679}}
@media(max-width:850px){.partnership{padding-top:82px;padding-bottom:82px}.partnership-copy{margin-left:24%;font-size:16px}.homepage-faq{gap:36px;grid-template-columns:1fr 1.65fr}.faq-list summary{font-size:17px}.partnership>.brand-frame{inset:40px 2vw}.partnership .corner-blue{width:72px;height:76px;border-width:6px 6px 0 0}.partnership .corner-green{width:120px;height:70px;border-width:0 0 8px 8px}}
@media(max-width:600px){.partnership{padding:68px 6vw 76px}.partnership-title{font-size:clamp(29px,7.8vw,44px);line-height:1.55;letter-spacing:-.035em;text-wrap:initial}.partnership-copy{margin:28px 0 0;font-size:16px;line-height:1.95}.partnership>.brand-frame{inset:28px 2vw 26px}.partnership .corner-blue{width:42px;height:40px;border-width:4px 4px 0 0}.partnership .corner-green{width:86px;height:48px;border-width:0 0 6px 6px}.partnership::after{width:22%;height:18%}.homepage-faq{grid-template-columns:1fr;gap:34px;padding:52px 6vw 60px}.faq-heading h2{font-size:30px;line-height:1.45}.faq-contact{margin-top:14px;font-size:13px}.faq-list summary{font-size:16px;padding:21px 0;gap:16px}.faq-answer{font-size:15px;padding:0 0 24px;line-height:1.9}html:lang(en) .partnership-title{font-size:clamp(30px,8.7vw,38px);line-height:1.26;letter-spacing:-.035em}}
/* Hero introduction should remain readable beside the display headline. */
body[data-revision="refined"] .c-hero-bottom p{font-size:18px;line-height:1.85;max-width:37em;font-weight:400;text-wrap:pretty}
body[data-revision="refined"] .c-hero-bottom{gap:38px}
html:lang(en) body[data-revision="refined"] .c-hero-text h1{font-size:clamp(42px,5.5vw,79px);max-width:16em}
@media(max-width:850px){body[data-revision="refined"] .c-hero-bottom p{font-size:17px}body[data-revision="refined"] .c-hero-bottom{align-items:start;flex-direction:column;gap:22px}}
@media(max-width:520px){body[data-revision="refined"] .c-hero-bottom p{font-size:16px;line-height:1.85;max-width:100%;margin-bottom:22px}body[data-revision="refined"] .c-hero-text h1{font-size:clamp(32px,9.4vw,43px);line-height:1.4}html:lang(en) body[data-revision="refined"] .c-hero-text h1{font-size:clamp(31px,8.4vw,40px)}}
