:root { color-scheme: light; --ink: #101d2b; --ink-soft: #314253; --muted: #5c6a78; --blue: #87b6d9; --blue-deep: #386b94; --paper: #f2f5f6; --white: #fff; --line: #d4dde3; --serif: Georgia, 'Times New Roman', serif; --sans: 'Segoe UI', Arial, sans-serif; } *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.55; } button, a { -webkit-tap-highlight-color: transparent; } a { color: inherit; } a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #65a9dd; outline-offset: 4px; } .skip-link { position: absolute; top: -4rem; left: 1rem; z-index: 20; padding: .6rem .9rem; background: #fff; color: var(--ink); } .skip-link:focus { top: 1rem; } .container { width: min(100% - 3rem, 1200px); margin-inline: auto; } .eyebrow { margin: 0; color: var(--blue-deep); font-size: .84rem; font-weight: 700; line-height: 1.4; letter-spacing: .13em; text-transform: uppercase; } .eyebrow--light { color: var(--blue); } .button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .78rem 1.25rem; border: 1px solid transparent; border-radius: 3px; font-size: .95rem; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background .2s, color .2s, border-color .2s, transform .2s; } .button:hover { transform: translateY(-2px); } .button--blue { background: var(--blue); color: #081522; } .button--blue:hover { background: #a7cbe4; } .button--outline { border-color: rgba(231,240,248,.48); color: #fff; } .button--outline:hover { border-color: #fff; background: rgba(255,255,255,.09); } .button--ink { background: var(--ink); color: #fff; } .button--ink:hover { background: #263d54; } .site-header { position: relative; z-index: 10; background: var(--ink); color: #fff; border-bottom: 1px solid rgba(231,240,248,.15); } .header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; } .brand { display: inline-flex; flex-direction: column; flex-shrink: 0; text-decoration: none; line-height: 1.2; } .brand strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 600; letter-spacing: -.025em; } .brand span { margin-top: .25rem; color: #a9c7da; font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; } .nav { display: flex; align-items: center; gap: clamp(1.2rem, 2.4vw, 2.5rem); } .nav a:not(.button) { color: #dae4ea; font-size: .9rem; font-weight: 600; text-decoration: none; transition: color .2s; } .nav a:not(.button):hover { color: #fff; } .nav .button { min-height: 42px; padding: .65rem 1rem; } .menu-toggle { display: none; padding: .55rem; border: 1px solid rgba(255,255,255,.4); border-radius: 3px; background: transparent; color: #fff; font: inherit; cursor: pointer; } .menu-toggle span { display: block; width: 23px; height: 2px; margin: 5px 0; background: currentColor; } .hero { position: relative; overflow: hidden; color: #fff; background: var(--ink); } .hero::before { content: ''; position: absolute; inset: 0; opacity: .23; background: radial-gradient(circle at 10% 85%, #4f8dbb, transparent 42%); pointer-events: none; } .hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; padding-block: clamp(5rem, 8vw, 8.5rem) clamp(4.5rem, 7vw, 7rem); } .hero-copy { position: relative; z-index: 1; } .hero h1 { max-width: 760px; margin: 1.1rem 0 1.35rem; font-family: var(--serif); font-size: clamp(3.1rem, 5.4vw, 5.7rem); font-weight: 400; line-height: 1.06; letter-spacing: -.055em; } .hero h1 em { color: #a9d0e9; font-style: normal; } .hero-description { max-width: 590px; margin: 0; color: #cad7e0; font-size: clamp(1.05rem, 1.6vw, 1.22rem); line-height: 1.65; } .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.25rem; } .hero-note { display: flex; align-items: center; gap: .75rem; margin-top: 2.6rem; color: #aabecb; font-size: .87rem; } .hero-note::before { content: ''; display: block; width: 28px; height: 1px; background: #aabecb; } .hero-visual { position: relative; align-self: stretch; min-height: 490px; } .hero-photo { position: absolute; inset: 0 0 3rem 2rem; width: calc(100% - 2rem); height: calc(100% - 3rem); object-fit: cover; object-position: center; border-radius: 2px; background: linear-gradient(140deg, #23384b, #51687c); filter: saturate(.76) contrast(1.03); } .visual-rule { position: absolute; top: -1.5rem; left: 0; bottom: 5rem; width: 1px; background: rgba(214,232,245,.45); } .visual-rule::before, .visual-rule::after { content: ''; position: absolute; left: -4px; width: 9px; height: 9px; border: 1px solid #a9d0e9; background: var(--ink); border-radius: 50%; } .visual-rule::before { top: 0; } .visual-rule::after { bottom: 0; } .visual-caption { position: absolute; right: -1px; bottom: 0; width: min(83%, 350px); padding: 1.15rem 1.35rem; background: #d5e4ed; color: var(--ink); box-shadow: 0 18px 35px rgba(0,0,0,.18); } .visual-caption small { display: block; margin-bottom: .4rem; color: #4e6577; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; } .visual-caption span { display: block; font-family: var(--serif); font-size: 1.25rem; line-height: 1.25; } .credentials { background: #e6edf1; border-bottom: 1px solid var(--line); } .credentials-grid { display: grid; grid-template-columns: repeat(3, 1fr); } .credential { display: flex; flex-direction: column; justify-content: center; min-height: 128px; padding: 1.7rem 2rem; border-left: 1px solid #cbd8e0; } .credential:first-child { border-left: 0; padding-left: 0; } .credential strong { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; line-height: 1.15; } .credential span { margin-top: .35rem; color: #536776; font-size: .88rem; } .section { padding-block: clamp(5rem, 8vw, 8.5rem); } .section-heading { max-width: 820px; margin: 1rem 0 0; font-family: var(--serif); font-size: clamp(2.5rem, 4.1vw, 4.3rem); font-weight: 400; line-height: 1.13; letter-spacing: -.045em; } .section-lead { max-width: 660px; color: var(--muted); font-size: 1.1rem; line-height: 1.7; } .intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2.5rem, 9vw, 10rem); align-items: start; } .intro-grid .section-heading { margin-top: 0; } .intro-copy { padding-top: .5rem; } .intro-copy p { max-width: 615px; margin: 0 0 1.3rem; color: var(--ink-soft); font-size: 1.12rem; line-height: 1.75; } .intro-copy p:last-child { margin-bottom: 0; } .intro-line { display: block; width: 62px; height: 2px; margin: 2.1rem 0; background: var(--blue-deep); } .services { background: #fff; } .services-header { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 3.2rem; } .services-header .section-heading { max-width: 690px; } .services-header .section-lead { max-width: 330px; margin: 0 0 .2rem; } .service-list { border-top: 1px solid var(--line); } .service { display: grid; grid-template-columns: 100px minmax(220px, .85fr) minmax(270px, 1.15fr); gap: 2rem; align-items: start; padding: 2.1rem .3rem; border-bottom: 1px solid var(--line); } .service-number { color: #66839a; font-family: var(--serif); font-size: 1.3rem; } .service h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 2.1vw, 2.2rem); font-weight: 400; line-height: 1.2; letter-spacing: -.025em; } .service-detail p { margin: 0 0 .75rem; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.65; } .service-detail span { color: #4b7392; font-size: .86rem; font-weight: 700; } .services-foot { display: flex; justify-content: flex-end; padding-top: 2.2rem; } .reviews { background: #e6edf1; } .reviews-top { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.4rem; } .reviews-top .section-heading { max-width: 710px; } .review-platforms { display: flex; flex-wrap: wrap; gap: .6rem; padding-bottom: .25rem; } .review-platforms a { display: inline-flex; flex-direction: column; min-width: 170px; padding: .75rem 1rem; border: 1px solid #b9cbd6; background: rgba(255,255,255,.4); text-decoration: none; transition: background .2s; } .review-platforms a:hover { background: #fff; } .review-platforms strong { font-size: .94rem; } .review-platforms span { color: #4d6575; font-size: .8rem; } .review-grid { display: flex; gap: 1.1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: .8rem; } .review-card { flex: 0 0 calc((100% - 1.1rem) / 2); min-width: 0; scroll-snap-align: start; display: flex; flex-direction: column; min-height: 320px; margin: 0; padding: clamp(1.6rem, 3vw, 2.6rem); border: 1px solid #cfdae0; background: #fff; } .review-kind { display: flex; justify-content: space-between; gap: 1rem; margin: 0; color: #365e7c; font-size: .86rem; font-weight: 700; } .review-kind span { color: #785818; } .review-text { margin: 1.5rem 0 2rem; font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.4; letter-spacing: -.025em; } .review-attribution { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: .6rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid #dce4e9; font-size: .9rem; } .review-attribution strong, .review-attribution span { display: block; overflow-wrap: anywhere; } .review-attribution span { color: #587082; font-size: .8rem; } .review-attribution a, .reading-card a { color: #245d83; font-weight: 700; text-underline-offset: 4px; } .review-note { margin: 1.2rem 0 0; color: #526777; font-size: .82rem; line-height: 1.6; } .review-controls { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: 1rem; } .review-controls[hidden] { display: none; } .review-controls button { border: 1px solid #9db3c2; background: transparent; color: var(--ink); min-height: 44px; padding: .6rem 1rem; cursor: pointer; font: inherit; } .review-controls button:hover { background: white; } .review-count { margin-left: auto; font-size: .86rem; color: #526777; } .reading { border-top: 1px solid var(--line); } .reading-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 2.5rem; } .reading-card { padding: 2rem; border: 1px solid var(--line); } .reading-card h3 { font-family: var(--serif); font-size: 1.65rem; font-weight: 400; line-height: 1.25; } .reading-card p { color: var(--ink-soft); line-height: 1.65; } @media (max-width: 680px) { .review-card { flex-basis: 100%; } .reading-grid { grid-template-columns: 1fr; } } .approach { color: #fff; background: #183047; } .approach-top { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; } .approach .section-heading { max-width: 710px; } .approach-top p:last-child { max-width: 450px; margin: 0 0 .2rem auto; color: #c4d3de; font-size: 1.08rem; line-height: 1.7; } .approach-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3.2rem; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.2); } .approach-step { min-height: 285px; padding: 2rem; background: #183047; } .approach-step span { display: block; margin-bottom: 2.3rem; color: #94bfdc; font-family: var(--serif); font-size: 2rem; line-height: 1; } .approach-step h3 { margin: 0 0 .8rem; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; } .approach-step p { margin: 0; color: #c1d1dc; line-height: 1.65; } .about-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 9vw, 11rem); align-items: start; } .about-mark { display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: .9; max-width: 410px; padding: 2rem; color: #dcebf4; background: #23425b; } .about-mark b { font-family: var(--serif); font-size: clamp(5rem, 12vw, 9.5rem); font-weight: 400; letter-spacing: -.13em; line-height: 1; } .about-mark span { max-width: 180px; font-size: .88rem; font-weight: 600; line-height: 1.4; } .about-copy .section-heading { margin-bottom: 1.6rem; } .about-copy p:not(.eyebrow) { max-width: 670px; color: var(--ink-soft); font-size: 1.07rem; line-height: 1.75; } .about-copy p { margin: 0 0 1.1rem; } .about-copy .about-signoff { margin-top: 2rem; color: var(--ink); font-family: var(--serif); font-size: 1.5rem; } .about-signoff span { display: block; margin-top: .15rem; color: var(--muted); font-family: var(--sans); font-size: .88rem; } .questions { padding-block: 5rem; border-top: 1px solid var(--line); } .questions-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; } .questions .section-heading { font-size: clamp(2.2rem, 3.4vw, 3.5rem); } .faq { border-top: 1px solid #cbd6dd; } .faq details { border-bottom: 1px solid #cbd6dd; } .faq summary { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.35rem 0; font-size: 1.04rem; font-weight: 700; cursor: pointer; list-style: none; } .faq summary::-webkit-details-marker { display: none; } .faq summary::after { content: '+'; color: var(--blue-deep); font-size: 1.5rem; font-weight: 400; line-height: 1; } .faq details[open] summary::after { content: '−'; } .faq p { max-width: 690px; margin: 0 0 1.4rem; color: var(--ink-soft); line-height: 1.7; } .contact { position: relative; overflow: hidden; padding-block: clamp(5.5rem, 8vw, 9rem); color: #fff; background: var(--ink); } .contact::after { content: ''; position: absolute; width: 45vw; height: 45vw; max-width: 630px; max-height: 630px; right: -10vw; top: -20vw; border: 1px solid rgba(160,202,231,.2); border-radius: 50%; box-shadow: 0 0 0 85px rgba(160,202,231,.035), 0 0 0 170px rgba(160,202,231,.03); pointer-events: none; } .contact-inner { position: relative; z-index: 1; max-width: 880px; } .contact h2 { margin: 1rem 0 1.2rem; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 5.2rem); font-weight: 400; line-height: 1.1; letter-spacing: -.04em; } .contact p:not(.eyebrow) { max-width: 660px; color: #c5d5df; font-size: 1.1rem; line-height: 1.7; } .contact-actions { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin-top: 2.1rem; } .contact-email { color: #d5e8f4; font-size: .95rem; text-underline-offset: 4px; overflow-wrap: anywhere; } .site-footer { padding-block: 2.1rem; color: #b7c9d4; background: #0b1723; } .footer-inner { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; font-size: .86rem; } .footer-inner p { margin: 0; } .footer-inner a { text-decoration-color: #6d8495; text-underline-offset: 4px; } @media (max-width: 900px) { .header-inner { min-height: 72px; } .menu-toggle { display: block; } .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 1.5rem max(1.5rem, calc((100vw - 1200px) / 2)); background: #142536; border-top: 1px solid rgba(255,255,255,.14); box-shadow: 0 16px 30px rgba(0,0,0,.2); } .nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 1.3rem; } .nav a:not(.button) { font-size: 1rem; } .hero-grid { grid-template-columns: 1fr; padding-block: 5rem 4rem; } .hero-copy { max-width: 720px; } .hero-visual { min-height: 410px; max-width: 700px; width: 100%; } .services-header { display: block; } .services-header .section-lead { max-width: 630px; margin-top: 1.4rem; } .reviews-top { display: block; } .review-platforms { margin-top: 1.8rem; } .service { grid-template-columns: 55px minmax(180px, .8fr) minmax(240px, 1.2fr); gap: 1.2rem; } .about-grid { grid-template-columns: .75fr 1.25fr; gap: 3rem; } } @media (max-width: 680px) { .container { width: min(100% - 2.5rem, 1200px); } .hero-grid { padding-top: 4.2rem; gap: 3rem; } .hero h1 { font-size: clamp(3rem, 12vw, 4.3rem); } .hero-actions .button { width: 100%; } .hero-note { margin-top: 1.8rem; } .hero-visual { min-height: 320px; } .hero-photo { inset: 0 0 2rem 1rem; width: calc(100% - 1rem); height: calc(100% - 2rem); } .visual-caption { padding: .85rem 1rem; } .visual-caption span { font-size: 1rem; } .credentials-grid { grid-template-columns: 1fr; } .credential, .credential:first-child { min-height: 92px; padding: 1.1rem 0; border-left: 0; border-top: 1px solid #cbd8e0; } .credential:first-child { border-top: 0; } .credential strong { font-size: 1.55rem; } .intro-grid, .approach-top, .about-grid, .questions-grid { grid-template-columns: 1fr; gap: 1.9rem; } .section { padding-block: 4.5rem; } .intro-line { margin: 1.6rem 0; } .service { grid-template-columns: 42px 1fr; gap: .5rem 1rem; padding: 1.7rem 0; } .service-detail { grid-column: 2; } .service-number { font-size: 1.1rem; } .services-foot { justify-content: stretch; } .services-foot .button { width: 100%; } .review-grid { grid-template-columns: 1fr; } .review-card { min-height: 270px; } .review-platforms a { flex: 1 1 150px; } .approach-top p:last-child { margin: 0; } .approach-steps { grid-template-columns: 1fr; } .approach-step { min-height: unset; padding: 1.6rem; } .approach-step span { margin-bottom: 1.3rem; } .about-mark { max-width: none; aspect-ratio: 1.7; } .about-mark b { font-size: 6.4rem; } .questions { padding-block: 4.5rem; } .contact-actions .button { width: 100%; } .footer-inner { align-items: flex-start; flex-direction: column; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button { transition: none; } } input, select, textarea { font: inherit; } input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #65a9dd; outline-offset: 3px; } .offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); } .offer { display: flex; flex-direction: column; padding: 2rem; } .offer + .offer { border-left: 1px solid var(--line); } .offer h3, .case-studies h3 { font: 400 2rem/1.2 var(--serif); letter-spacing: -.025em; margin: 1.1rem 0; } .offer p, .offer li, .case-studies p { color: var(--ink-soft); } .offer h4, .case-studies h4 { font-size: .95rem; margin: 1rem 0 .45rem; } .offer ul { padding-left: 1.2rem; margin: 0 0 1rem; } .offer li { padding-bottom: .5rem; } .offer-start { margin-top: auto; padding-top: 1.1rem; border-top: 1px solid var(--line); } .offer .button { align-self: flex-start; margin-top: 1rem; } .case-studies { background: #f2f5f6; } .case-feature { display: grid; grid-template-columns: .85fr 1.15fr; margin-top: 2.8rem; border: 1px solid var(--line); background: #fff; } .case-intro { padding: clamp(1.5rem, 4vw, 3rem); background: #183047; color: white; } .case-intro .eyebrow { color: #a9d0e9; } .case-intro p { color: #c4d3de; } .case-facts { display: flex; gap: 3rem; padding-block: 1.5rem; border-block: 1px solid #425970; margin-top: 2rem; } .case-facts strong, .case-facts span { display: block; } .case-facts strong { font: 400 3.1rem/1.1 var(--serif); color: #b9d8ec; } .case-facts span { font-size: .9rem; padding-top: .4rem; } .case-story { padding: clamp(1.5rem, 3vw, 2.5rem); } .case-story p, .case-card p { margin-top: .35rem; } .case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin-top: 1.2rem; } .case-card { padding: clamp(1.5rem, 3vw, 2.5rem); background: #fff; border: 1px solid var(--line); } .case-output { border-top: 1px solid var(--line); margin-top: 1.8rem; padding-top: 1rem; } .case-output span { font-size: .85rem; font-weight: 700; color: #386b94; } .case-output p { font-size: .95rem; margin-bottom: 0; } .more-projects, .review-archive { border-block: 1px solid #b9cbd6; margin-top: 2rem; } .more-projects summary, .review-archive summary { padding: 1.2rem .2rem; cursor: pointer; font-weight: 600; } .more-projects .case-grid { padding-bottom: 1.2rem; margin-top: 0; } .case-foot { margin: 2rem 0 0; } .case-foot a { font-weight: 700; text-underline-offset: 5px; } .review-archive summary span { font-size: .875rem; font-weight: 400; padding-left: .75rem; } .review-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; } .review-archive .review-card { min-height: 250px; } .review-archive .review-text { font-size: 1.25rem; } .review-attribution span, .review-note { font-size: .875rem; } .contact-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; } .contact h2 { font-size: clamp(2.8rem, 4vw, 4.3rem); } .booking-copy > .button { margin: .6rem 0 1.5rem; } .contact .contact-detail { font-size: 1rem; } .inquiry-form { padding: clamp(1.5rem, 3vw, 2.5rem); background: #fff; color: var(--ink); border-radius: 3px; } .inquiry-form h3 { font: 400 1.9rem/1.2 var(--serif); margin: 0 0 1.5rem; } .inquiry-form label { display: block; margin: 1rem 0 .4rem; font-size: .875rem; font-weight: 600; } .inquiry-form input, .inquiry-form select, .inquiry-form textarea { display: block; width: 100%; min-width: 0; padding: .7rem; background: #f7f9fa; color: var(--ink); border: 1px solid #b9cbd6; border-radius: 2px; } .inquiry-form textarea { resize: vertical; } .form-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .contact .form-note, .contact .inquiry-ready p { color: #526777; font-size: .875rem; } .inquiry-ready { margin-top: 1.5rem; border-top: 1px solid var(--line); padding-top: 1rem; } .inquiry-ready[hidden] { display: none; } .inquiry-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 1rem; } .inquiry-copy { background: white; border-color: #9db3c2; color: var(--ink); } .inquiry-form button { font-family: inherit; cursor: pointer; } .inquiry-ready pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .9rem; } @media (max-width: 1000px) { .offer-grid { grid-template-columns: 1fr; } .offer + .offer { border-left: 0; border-top: 1px solid var(--line); } } @media (max-width: 800px) { .case-feature, .contact-layout { grid-template-columns: 1fr; } .booking-copy { max-width: 620px; } } @media (max-width: 680px) { .case-grid, .review-archive-grid, .form-pair { grid-template-columns: 1fr; } .form-pair { gap: 0; } .review-archive summary span { display: block; padding-left: 0; margin-top: .35rem; } } .about-portrait { margin: 0; background: #183047; color: #fff; } .about-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; } .about-portrait figcaption { padding: 1.25rem 1.5rem; } .about-portrait strong, .about-portrait span { display: block; } .about-portrait span { color: #c4d3de; font-size: .875rem; margin-top: .35rem; } @media (max-width: 680px) { .about-portrait { width: min(100%, 410px); } } .review-format { color: #607483; font-size: .8rem; margin: 1rem 0 0; } blockquote.review-text { margin-top: .6rem; } .hero h1{font-size:clamp(2.8rem,4.7vw,4.9rem)}.portrait-hero{object-position:center 25%;filter:none}.nav{gap:1.15rem}.industry-section{background:#e6edf1}.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.6rem}.upgrade-card{padding:2rem;background:#fff;border:1px solid var(--line)}.upgrade-card h3,.profile-facts h3{font:400 1.7rem/1.2 var(--serif);margin:1.1rem 0}.upgrade-card p,.upgrade-card li{color:var(--ink-soft)}.upgrade-card ul{padding-left:1.2rem}.upgrade-card a{color:#245d83;font-weight:700;text-underline-offset:4px}.card-index{font-size:.77rem;letter-spacing:.1em;color:#386b94;text-transform:uppercase;font-weight:700}.work-preview{background:#183047;color:white}.work-preview .section-lead{color:#c5d5df}.preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #486174;margin:2.6rem 0}.preview-metrics>div{padding:1.8rem 1.5rem;border-right:1px solid #486174}.preview-metrics>div:first-child{padding-left:0}.preview-metrics>div:last-child{border:0}.preview-metrics span,.preview-metrics strong,.preview-metrics small{display:block}.preview-metrics span{font-size:.8rem;color:#a9d0e9}.preview-metrics strong{font:400 2rem/1.3 var(--serif);margin:.4rem 0}.preview-metrics small{color:#c5d5df;font-size:.94rem}.profile-facts{padding:1.2rem 1.5rem;background:#e6edf1;border-left:3px solid #386b94}.software-section{padding:3rem 0;background:white;border-block:1px solid var(--line)}.software-section h2{font:400 2rem/1.25 var(--serif)}.software-section p{color:var(--muted);max-width:760px}.software-list{display:flex;flex-wrap:wrap;gap:.6rem}.software-list span{padding:.65rem 1rem;border:1px solid var(--line);font-weight:600}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.inquiry-form button:disabled{opacity:.7;cursor:wait}.sub-header{background:#101d2b;color:white}.sub-nav{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;padding:1.4rem 0}.sub-nav .brand{margin-right:auto}.sub-nav>a{font-size:.9rem;text-underline-offset:4px}.page-hero{background:#183047;color:white;padding:5rem 0}.page-hero h1{font:400 clamp(2.7rem,5vw,4.8rem)/1.1 var(--serif);letter-spacing:-.045em;max-width:900px;margin:1rem 0 1.5rem}.page-hero .section-lead{color:#c5d5df}.breadcrumbs{font-size:.9rem;color:#b6cddd}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;padding:4rem 0}.detail-grid h2,.report h2,.calculator h2{font:400 2.3rem/1.2 var(--serif);margin-top:0}.detail-grid h3{font:400 1.5rem/1.3 var(--serif)}.detail-grid ul{padding-left:1.3rem}.detail-grid li{margin-bottom:.8rem}.detail-aside{background:#e6edf1;padding:2rem;align-self:start}.timeline{counter-reset:step;list-style:none;padding:0!important}.timeline li{position:relative;padding:0 0 1.5rem 3rem;border-left:1px solid var(--line);margin-left:1rem}.timeline li:before{counter-increment:step;content:counter(step);position:absolute;left:-1rem;top:0;width:2rem;height:2rem;background:#183047;color:white;text-align:center;line-height:2rem;border-radius:50%}.demo-label{display:inline-block;padding:.4rem .7rem;background:#f3e8ca;color:#685119;font-size:.8rem;font-weight:700;letter-spacing:.02em}.report{padding:2.5rem;background:white;border:1px solid var(--line);margin:2rem 0}.report-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.report p{max-width:780px;color:var(--ink-soft)}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.kpi{background:#f2f5f6;padding:1.3rem}.kpi small,.kpi strong,.kpi span{display:block}.kpi strong{font:400 2rem/1.3 var(--serif);margin:.3rem 0}.kpi span{color:#536776;font-size:.85rem}.table-scroll{overflow-x:auto;margin:1.5rem 0}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:right;padding:.8rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}th{background:#e6edf1}caption{text-align:left;color:var(--muted);margin-bottom:.7rem}.chart{width:100%;height:auto;display:block;margin:1.5rem 0}.chart text{font-family:var(--sans);font-size:13px;fill:#536776}.report-note{border-left:3px solid #386b94;padding:1rem 1.4rem;background:#f2f5f6}.calculator{padding:3rem 0}.calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.calculator-inputs,.calculator-result{padding:2rem;background:white;border:1px solid var(--line)}.calculator label{display:block;font-weight:600;margin:1rem 0 .35rem}.calculator input,.calculator select{width:100%;padding:.8rem;border:1px solid #8eabbf;background:#fff;font:inherit;border-radius:2px}.calculator-result{background:#183047;color:white}.calculator-result .big-result{font:400 3.4rem/1.2 var(--serif);margin:1.3rem 0}.calculator-result p{color:#d0dfe8}.calculator-result h3{font:400 1.6rem var(--serif)}.calculator-result .error{color:#ffdeaa}.fine-print{color:var(--muted);font-size:.9rem}.jump-links{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.jump-links a{padding:.6rem 1rem;border:1px solid #a6bac9;text-underline-offset:4px}.sub-footer{padding:2rem 0;background:#101d2b;color:#c5d5df}.sub-footer .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sub-cta{padding:3rem;background:#e6edf1;margin:2rem 0 4rem}.sub-cta h2{font:400 2.3rem var(--serif);margin-top:0}.sub-cta p{max-width:700px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.nav{gap:1.3rem}.upgrade-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr;gap:1rem}.hero-visual{max-width:470px;min-height:540px}.calculator-grid{grid-template-columns:1fr}}@media(max-width:680px){.preview-metrics,.kpi-grid{grid-template-columns:1fr}.preview-metrics>div,.preview-metrics>div:first-child{padding:1.2rem 0;border-right:0;border-bottom:1px solid #486174}.report{padding:1.2rem}.report-heading{display:block}.page-hero{padding:3rem 0}.sub-nav{gap:.9rem}.sub-nav .brand{flex-basis:100%;margin-bottom:.5rem}.calculator-inputs,.calculator-result{padding:1.3rem}.sub-cta{padding:1.5rem}.hero-visual{min-height:430px}.upgrade-card{padding:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}} .professional-identity{margin:1.5rem 0;padding:1.2rem 0;border-block:1px solid var(--line);font-size:.95rem}.professional-identity strong,.professional-identity span{display:block}.professional-identity span{color:var(--muted);margin-top:.35rem}.professional-links{display:flex;flex-wrap:wrap;gap:.8rem 1.3rem;margin:1rem 0}.professional-links a{font-size:.9rem;color:#245d83;text-underline-offset:4px}.media-preview{background:#183047;color:white;padding:3.5rem 0}.media-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.media-preview h2{font:400 clamp(2rem,3vw,3rem)/1.2 var(--serif);margin:.8rem 0 1rem}.media-preview p{color:#c5d5df}.media-feature{padding:2rem;border:1px solid #61798b;background:#213d55}.media-feature h3{font:400 1.8rem/1.25 var(--serif);margin:.7rem 0 1rem}.media-feature .button{margin-top:.4rem}.media-preview .text-link{display:inline-block;margin-top:1rem;color:white;text-underline-offset:5px;font-weight:600}.insights-content{padding-bottom:1rem}.insights-section{padding:3rem 0;border-bottom:1px solid var(--line);scroll-margin-top:2rem}.insights-section h2{font:400 clamp(2rem,4vw,2.7rem)/1.2 var(--serif);margin:.7rem 0 1.2rem}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2rem}.insight-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card{display:flex;flex-direction:column;padding:2rem;background:white;border-top:3px solid #386b94;min-width:0}.insight-label{font-size:.875rem;font-weight:700;color:#386b94}.insight-card h3{font:400 1.7rem/1.3 var(--serif);margin:.8rem 0}.insight-card p{color:var(--ink-soft);margin:0 0 1.5rem}.insight-card>a{font-weight:700;color:#245d83;text-underline-offset:4px;margin-top:auto}.insight-card .related-resource{font-size:.9rem;font-weight:400;margin-top:1rem}.media-credit{font-size:.9rem;color:var(--muted);margin-top:1rem}.intro-video-link{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 0 0}.intro-video-link h3{margin:.4rem 0;font-size:1.1rem}.intro-video-link p{margin:.5rem 0;color:var(--muted)}.intro-video-link>a{font-weight:700;color:#245d83;text-underline-offset:5px}.author-site{margin-top:1.5rem}.insights-more{margin-top:1.8rem;font-weight:700}.site-footer .footer-links{display:flex;gap:1.2rem;flex-wrap:wrap}.site-footer .footer-identity{font-size:.875rem;color:#b7c9d4;margin-top:.4rem}.office-line{font-size:.9rem;color:#b7c9d4!important}.nav{gap:1rem}@media(max-width:1050px){.insight-grid{grid-template-columns:1fr}.insight-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.media-preview-grid,.insight-grid--two{grid-template-columns:1fr;gap:1.5rem}.intro-video-link{align-items:flex-start;flex-direction:column;gap:.5rem}.media-feature,.insight-card{padding:1.5rem}} @media(min-width:901px) and (max-width:1100px){.header-inner{min-height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1.5rem;background:#142536;border-top:1px solid rgba(255,255,255,.14);box-shadow:0 16px 30px rgba(0,0,0,.2)}.nav.is-open{display:flex;flex-direction:column;align-items:flex-start}.nav a:not(.button){font-size:1rem}} .offer:nth-child(odd){border-left:0}.offer:nth-child(n+3){border-top:1px solid var(--line)} .qualification-list{margin:1.2rem 0}.qualification-list>div{display:grid;grid-template-columns:4rem 1fr;gap:.75rem;padding:.6rem 0;border-bottom:1px solid #c5d3dc}.qualification-list dt{font-weight:700}.qualification-list dd{margin:0}.academic-background{font-size:.95rem} .nonprofit-focus{background:#183047;color:#fff}.nonprofit-focus .sector-intro p{color:#cfdee8}.sector-intro{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.sector-intro h2,.sector-proof h2,.sector-start h2{font:400 clamp(2rem,3.5vw,3rem)/1.2 var(--serif);margin:.6rem 0 1rem}.sector-intro p{margin-top:0}.sector-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;border-top:1px solid #5b7284;margin-top:2.5rem;padding-top:1.5rem}.sector-pillars h3{font:400 1.6rem/1.25 var(--serif)}.sector-pillars p{color:#cfdee8}.sector-evidence{padding-top:1rem;color:#c5d5df;font-size:.95rem}.sector-evidence a{color:white;text-underline-offset:4px}.sector-content{padding-top:3.5rem}.sector-proof{display:grid;grid-template-columns:1fr 1fr;gap:3rem;border-block:1px solid var(--line);padding:3rem 0;margin:3rem 0}.sector-proof figure{margin:0;padding:2rem;background:#e6edf1;align-self:start}.sector-proof blockquote{margin:0 0 1.4rem;font:400 1.6rem/1.45 var(--serif)}.sector-proof figcaption{font-size:.95rem;color:var(--muted)}.sector-proof a,.sector-start a,.case-card>a{color:#245d83;font-weight:600;text-underline-offset:4px}.sector-start{padding-bottom:1.5rem}.sector-start h3,.systems-grid h3{font:400 1.6rem/1.3 var(--serif)}.systems-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:1.8rem}.systems-grid article{padding-top:.5rem;border-top:3px solid #386b94}.systems-grid span{display:block;font-size:.9rem;color:#245d83;font-weight:600}.systems-foot{margin-top:1.8rem;font-size:.95rem}.case-card blockquote{margin:1rem 0;font:400 1.4rem/1.45 var(--serif)}.case-review-label{font-size:.875rem;color:var(--muted)}.review-attribution{gap:1rem;flex-wrap:wrap}.review-attribution>div{min-width:0}.review-attribution span{overflow-wrap:anywhere}.review-card{min-width:0} @media(max-width:900px){.sector-intro,.sector-pillars,.sector-proof,.systems-grid{grid-template-columns:1fr;gap:1.5rem}.sector-proof{padding:2rem 0}.sector-content{padding-top:2.5rem}.sector-proof figure{padding:1.5rem}} .ca-brand{flex-direction:row;align-items:center;gap:.8rem;min-width:0}.ca-brand .ca-mark{margin:0;color:#e0edf5;font-family:var(--serif);font-size:2.5rem;font-weight:400;line-height:1;letter-spacing:-.065em;text-transform:none;white-space:nowrap}.ca-brand .ca-mark>span{margin:0 .08rem;color:#87b6d9;font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:0;text-transform:none}.ca-brand .ca-brand-copy{display:flex;flex-direction:column;margin:0;text-transform:none;letter-spacing:0}.ca-brand-copy strong{font-family:var(--sans);font-weight:600;font-size:1rem;letter-spacing:.015em;color:white}.ca-brand .ca-brand-copy>span{font-size:.75rem;font-weight:400;letter-spacing:.04em;text-transform:none;margin-top:.3rem;color:#bed0df}.hero .hero-note{display:block;border-left:2px solid #87b6d9;padding-left:1rem;margin-top:2rem}.hero-note::before{display:none}.hero-note strong,.hero-note span{display:block;font-weight:400}.hero-note strong{color:#e0edf5}.hero-note span{margin-top:.3rem}.caption-detail{font:400 .9rem/1.4 var(--sans);margin:.6rem 0 0;color:#4e6577}.practice-section{background:#e6edf1}.practice-heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.practice-heading p{color:var(--ink-soft);margin-top:0}.leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.4rem}.leadership-card{padding:2rem;background:#fff;border-top:3px solid #8eaec3;min-width:0}.leadership-card--lead{border-top-color:#386b94}.leadership-card h3{font:400 clamp(1.6rem,2.2vw,2rem)/1.3 var(--serif);margin:.8rem 0 1rem}.leadership-card p{color:var(--ink-soft)}.leadership-card .leadership-detail{font-size:.9rem;color:var(--muted);margin:1.4rem 0 0}.leadership-card a{font-weight:600;color:#245d83;text-underline-offset:4px}.delivery-note{padding:1.5rem 2rem;margin:0 0 2rem;border-left:3px solid #386b94;background:#e6edf1}.delivery-note strong{font-size:1.1rem}.delivery-note p{max-width:850px}.delivery-note a{color:#245d83;text-underline-offset:4px}.sub-nav .ca-brand{margin-right:auto}.review-platforms a{max-width:260px}.about-signoff span{font-size:.85rem}.hero-grid{padding-top:clamp(4rem,6vw,6rem)} @media(max-width:900px){.practice-heading,.leadership-grid{grid-template-columns:1fr;gap:1.5rem}.practice-heading{gap:1rem}.leadership-card{padding:1.5rem}.hero-note{max-width:100%}.sub-nav .ca-brand{flex-basis:100%}.ca-brand .ca-mark{font-size:2.25rem}.review-platforms a{max-width:none}} @media(max-width:420px){.ca-brand{gap:.6rem}.ca-brand-copy strong{font-size:.95rem}.ca-brand .ca-brand-copy>span{font-size:.75rem}.delivery-note{padding:1.2rem}.hero-description{font-size:1.05rem}} :root{--ink:#0b1d2c;--ink-soft:#344955;--muted:#526570;--blue:#adc8da;--blue-deep:#755a32;--paper:#f5f7f9;--line:#dbe3e8;--gold:#ddc397;--gold-deep:#755a32;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif} body{background:#fff;font-size:1rem}::selection{background:#ddc397;color:#0b1d2c}img{max-width:100%}h1,h2,h3,p{overflow-wrap:break-word}p{line-height:1.75}section[id],article[id]{scroll-margin-top:7rem}.container{width:min(100% - 6rem,1240px)}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.12em}.section-lead{font-size:1.125rem;line-height:1.75}.skip-link{z-index:100} .button{border-radius:99px;min-height:50px;padding:.9rem 1.55rem;font-size:.9375rem;font-weight:600}.button--ink{background:var(--ink)}.button--ink:hover{background:#224258}.button--blue{background:var(--gold);color:var(--ink)}.button--blue:hover{background:#ead5b3} .editorial-link,.service-discover{display:inline-flex;align-items:center;width:fit-content;font-size:.9375rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding:.3rem 0 .5rem;margin-top:1.25rem;transition:color .2s}.editorial-link:hover,.service-discover:hover{color:var(--gold-deep)} .agency-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.agency-nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative}.ca-brand{flex-direction:row;min-width:0}.ca-logo{display:block;width:215px;height:auto;object-fit:contain} .agency-nav .main-nav{display:flex;align-items:center;gap:clamp(1rem,1.8vw,1.6rem)}.agency-nav nav a{color:var(--ink);font-size:.9375rem;font-weight:500;padding:.8rem 0;text-decoration:none;white-space:nowrap}.agency-nav nav a:hover{color:var(--gold-deep)}.agency-nav nav .nav-contact{padding:.85rem 1.3rem;border-radius:99px;background:var(--ink);color:#fff}.agency-nav nav .nav-contact:hover{background:#29485d;color:#fff} .mobile-menu{display:none}.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:.8rem;font-size:.9375rem;font-weight:600;padding:.7rem 1rem;border:1px solid var(--line);border-radius:99px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.menu-lines{display:block;width:18px;height:8px;border-block:1px solid currentColor;transition:transform .2s}.mobile-menu[open] .menu-lines{transform:rotate(90deg)}.mobile-menu-panel{position:absolute;top:calc(100% + 1px);left:-1rem;right:-1rem;padding:1.2rem 1.5rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:0 0 20px 20px;box-shadow:0 20px 35px #0b1d2c1a}.mobile-menu-panel a{display:block;border-bottom:1px solid var(--line)}.mobile-menu-panel .nav-contact{margin-top:.75rem;width:fit-content;border:0} .agency-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#071625}.agency-hero-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:65% center;z-index:-2}.agency-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#071625e6 0%,#0716258a 32%,#0716250a 72%),linear-gradient(0deg,#071625cc,transparent 25%)} .agency-hero-copy{max-width:620px;padding-top:clamp(3.5rem,6vw,6rem)}.agency-hero .eyebrow{color:#e5c99b}.agency-hero h1{margin:1.6rem 0 1.8rem;font:400 clamp(4.5rem,7.5vw,7.25rem)/1.01 var(--serif);letter-spacing:-.045em}.agency-hero h1 em{color:#e5c99b;font-weight:400;font-style:italic}.agency-hero .hero-description{max-width:480px;color:#d3dee6;font-size:1.125rem;line-height:1.7}.agency-hero .hero-actions{align-items:center;gap:1.7rem;margin-top:2rem}.agency-button{background:var(--gold);color:var(--ink)}.agency-button:hover{background:#ecd7b4}.hero-secondary{color:#fff;font-size:.9375rem;text-decoration:none;border-bottom:1px solid #ffffff77;padding:.5rem 0}.hero-secondary:hover{border-color:#e5c99b;color:#e5c99b}.hero-foot{display:flex;justify-content:space-between;gap:2rem;padding:1.45rem 0;margin-top:4rem;border-top:1px solid #ffffff30;color:#cad8e2;font-size:.875rem} .agency-section{padding-block:6rem}.section-intro{display:grid;grid-template-columns:1.15fr .85fr;column-gap:5rem;align-items:end;margin-bottom:2.8rem;max-width:none}.section-intro .eyebrow{grid-column:1/-1}.section-intro h2,.agency-section>.container>h2,.practice-summary h2{font:400 clamp(2.5rem,4vw,3.85rem)/1.15 var(--serif);letter-spacing:-.03em;margin:1rem 0 0}.section-intro>p:last-child{color:var(--muted);font-size:1.0625rem;margin:0} .expertise-list{display:grid;grid-template-columns:1.12fr 1fr;gap:1rem}.expertise-list article{position:relative;display:flex;flex-direction:column;align-items:start;padding:2.5rem;background:#f0f4f7;border:1px solid #e2e9ee;border-radius:22px;min-width:0;transition:box-shadow .2s,border-color .2s}.expertise-list article:hover{border-color:#a9bbc8;box-shadow:0 12px 30px #0b1d2c09}.expertise-list article:nth-child(2){background:#e7edf2}.expertise-list article:nth-child(3){background:#112c42;border-color:#112c42;color:#fff}.expertise-list article:nth-child(4){background:#f2ece0;border-color:#e7dccb} .row-number{font-size:.875rem;letter-spacing:.12em;color:#586c78;margin-bottom:1.8rem}.expertise-list h3{font:400 clamp(1.8rem,2.7vw,2.55rem)/1.18 var(--serif);letter-spacing:-.02em;max-width:410px;margin:0 0 1rem}.expertise-list h3 a{color:inherit;text-decoration:none}.expertise-list p{color:var(--muted);margin:0 0 1rem;max-width:430px}.expertise-list .service-discover{margin-top:auto}.expertise-list article:nth-child(3) .row-number{color:#e5c99b}.expertise-list article:nth-child(3) p{color:#cbd9e3}.expertise-list article:nth-child(3) .service-discover{color:#e5c99b} .specialist-links{display:grid;grid-template-columns:.85fr 1fr 1fr 1fr;gap:1.5rem;align-items:start;padding:1.8rem 0 0;margin-top:2rem;border-top:1px solid var(--line)}.specialist-links span{color:var(--muted);font-size:.875rem}.specialist-links a{font-size:.9375rem;line-height:1.55;text-decoration:none}.specialist-links a:hover{text-decoration:underline;text-underline-offset:5px} .agency-nonprofit{padding:0 0 2rem;background:#fff}.nonprofit-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;padding:4.5rem;border-radius:26px;background:#e7d9ba}.agency-nonprofit .eyebrow{color:#594528}.agency-nonprofit h2{font:400 clamp(2.6rem,4.4vw,4.25rem)/1.1 var(--serif);letter-spacing:-.03em;margin:1.3rem 0 1.5rem}.agency-nonprofit h2 em{color:#654a25;font-weight:400}.agency-nonprofit p{max-width:540px;color:#3c4547}.mission-outputs{border-top:1px solid #0b1d2c33;align-self:center}.mission-outputs>div{position:relative;border-bottom:1px solid #0b1d2c33;padding:1.5rem 0 1.5rem 2.5rem}.mission-outputs span{position:absolute;left:0;top:1.6rem;font-size:.875rem;color:#594528}.mission-outputs h3{font:400 1.5rem/1.3 var(--serif);margin:0 0 .45rem}.mission-outputs p{font-size:.9375rem;line-height:1.65;margin:0} .audience-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.audience-layout .section-intro{display:block;margin:0}.audience-layout .section-intro h2{margin-bottom:1.5rem}.audience-layout .section-intro>p:last-child{max-width:370px}.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.8rem 2rem}.client-grid article{min-width:0;position:relative;border-top:1px solid var(--line);padding-top:1.3rem}.audience-index{display:block;font-size:.875rem;color:var(--gold-deep);margin-bottom:1rem}.client-grid h2,.client-grid h3{font:400 1.75rem/1.25 var(--serif);letter-spacing:-.015em;margin:0 0 .8rem}.client-grid p{color:var(--muted);margin:.5rem 0 0}.client-specialisms{color:var(--gold-deep)!important;font-size:.9375rem}.sector-experience{padding-top:0}.sector-experience h2{margin-bottom:2.5rem!important} .selected-work{background:#f0f4f7}.case-preview-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1rem}.editorial-case{display:flex;flex-direction:column;min-width:0;padding:2rem;border-radius:22px;border:1px solid #e0e7ec;background:#fff}.editorial-case--1{background:#122d43;color:#fff;border-color:#122d43}.editorial-case .eyebrow{color:var(--muted);font-size:.8125rem;letter-spacing:.07em}.editorial-case--1 .eyebrow{color:#d7c197}.case-feature-metric{margin:2rem 0 2.25rem}.case-feature-metric strong{display:block;font:400 clamp(3rem,4.7vw,4.7rem)/1.1 var(--serif);letter-spacing:-.05em}.case-feature-metric span{display:block;font-size:.875rem;line-height:1.5;margin-top:.6rem;color:var(--muted)}.editorial-case--1 .case-feature-metric strong{color:#e5c99b}.editorial-case--1 .case-feature-metric span{color:#c8d7e2}.editorial-case h3{font:400 1.75rem/1.28 var(--serif);letter-spacing:-.02em;margin:0 0 1rem}.editorial-case>p:not(.eyebrow){color:var(--muted);font-size:.9375rem;margin:0 0 1.7rem}.editorial-case--1>p:not(.eyebrow){color:#c8d7e2}.editorial-case .editorial-link{margin-top:auto}.editorial-case--1 .editorial-link{color:#e5c99b} .reviews{background:#fff;padding-block:6rem;overflow:hidden}.reviews-top{margin:0 0 1.1rem}.reviews .section-heading{max-width:780px;font:400 clamp(2.5rem,4.2vw,4rem)/1.12 var(--serif);letter-spacing:-.03em;margin:1rem 0}.review-note{color:var(--muted);font-size:.875rem}.review-controls{display:flex;gap:.65rem;align-items:center;margin:1.6rem 0}.review-controls[hidden]{display:none}.review-controls button{border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);padding:.6rem 1.1rem;min-height:44px;font-size:.875rem}.review-controls button:hover{background:#eaf0f5}.review-count{margin-left:auto;font-size:.9375rem;color:var(--muted)} .review-grid{display:flex;gap:1.1rem;overflow-x:auto;padding:0 0 1rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a9bbc8 transparent}.review-card{display:flex;flex-direction:column;flex:0 0 calc((100% - 1.1rem)/2);min-width:0;padding:2rem;background:#f0f4f7;border:1px solid #e0e7ec;border-radius:22px;scroll-snap-align:start}.review-kind{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-soft);font-size:.875rem;font-weight:600;margin:0}.review-kind>span{color:var(--gold-deep)}.review-format{color:var(--muted);font-size:.8125rem;margin:1.3rem 0 0}blockquote.review-text{font:400 clamp(1.25rem,1.8vw,1.5rem)/1.55 var(--serif);letter-spacing:-.01em;margin:.8rem 0 1.7rem} .review-attribution{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:1rem;border-top:1px solid #cad7e0;padding-top:1.2rem;margin-top:auto}.review-attribution>div{min-width:0}.review-attribution strong{display:block;font-size:.9375rem}.review-attribution span{display:block;color:var(--muted);font-size:.875rem;line-height:1.6;margin-top:.35rem;overflow-wrap:anywhere}.review-attribution a{color:var(--ink-soft);font-size:.8125rem;font-weight:500;text-underline-offset:4px}.review-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}.feedback-archive{padding:3.5rem 0}.feedback-archive section{padding:1.5rem 0}.feedback-archive h2{font:400 2.3rem/1.2 var(--serif)} #practice{background:#0b2133;color:#fff}.practice-summary{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.practice-summary .section-intro{display:block;margin:0}.practice-summary .eyebrow{color:#e5c99b}.practice-summary h2{margin-bottom:1.5rem}.practice-summary .section-intro>p:last-child{color:#c7d7e3} .people-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.people-summary>div{padding:1.6rem;border:1px solid #ffffff26;border-radius:18px;background:#ffffff05}.person-initials{display:block;font:400 3.4rem/1.1 var(--serif);color:#e5c99b;margin-bottom:2rem;letter-spacing:-.04em}.people-summary h3{font:400 1.45rem/1.28 var(--serif);margin:0 0 .7rem}.people-summary p{color:#c7d7e3;font-size:.875rem;line-height:1.65;margin:0}.people-summary>.editorial-link{color:#e5c99b;grid-column:1/-1;margin-top:.6rem} .agency-approach{padding:6rem 0;background:#fff}.approach-heading{display:grid;grid-template-columns:.5fr 1.5fr;gap:3rem;align-items:start;margin-bottom:3rem}.agency-approach h2{font:400 clamp(2.3rem,3.5vw,3.3rem)/1.15 var(--serif);letter-spacing:-.025em;margin:0}.approach-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;list-style:none;padding:0;margin:0}.approach-steps li{border-top:1px solid var(--line);padding-top:1.5rem}.approach-steps span{font:400 2.7rem/1.15 var(--serif);color:#755a32}.approach-steps h3{font:400 1.7rem/1.25 var(--serif);margin:1.5rem 0 .8rem}.approach-steps p{color:var(--muted);margin:0} .contact{background:#102a3e;padding:6rem 0}.contact::before{display:none}.contact-layout{gap:5rem}.booking-copy .eyebrow{color:#e5c99b}.contact h2{font:400 clamp(2.8rem,4.5vw,4.3rem)/1.12 var(--serif);letter-spacing:-.035em;margin:1.2rem 0 1.5rem}.booking-copy>p{max-width:430px;color:#ccdbe5}.contact .contact-detail{font-size:1rem}.contact-email{font-size:1rem;color:#e5c99b;overflow-wrap:anywhere} .inquiry-form{border:1px solid #fff;border-radius:24px;padding:2.3rem;box-shadow:0 20px 65px #00000018}.inquiry-form h3{font:400 2rem/1.2 var(--serif)}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font:inherit;font-size:1rem;min-height:46px;border-radius:8px;background:#f7f9fa;border-color:#cbd7df;padding:.75rem}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:2px solid #6289a6;outline-offset:2px}.contact::after{display:none}.contact .inquiry-form .form-note,.contact .inquiry-form .inquiry-ready p{color:var(--muted);font-size:.875rem}.inquiry-form .button{width:100%} .agency-footer{padding:4rem 0 1.5rem;background:#081a29;color:#c9d8e2;border-top:1px solid #ffffff1c}.agency-footer>.container{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem 5rem}.footer-brand strong{display:block;font:400 clamp(4rem,6vw,6rem)/1 var(--serif);color:#e5c99b;letter-spacing:-.07em}.footer-brand>span{display:block;font-size:1rem;color:#fff;letter-spacing:.13em;text-transform:uppercase;margin:1rem 0}.footer-brand p{color:#b5c9d8;font-size:.9375rem}.footer-links>.eyebrow{color:#e5c99b;margin:0 0 1.1rem}.agency-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 2rem}.agency-footer nav a{font-size:.9375rem;text-decoration:none;padding:.35rem 0;width:fit-content}.agency-footer nav a:hover{color:#e5c99b}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:2rem;padding-top:1.4rem;border-top:1px solid #ffffff25}.footer-bottom p{font-size:.8125rem;margin:0;color:#adc3d3} .page-hero{position:relative;background:#0b2133;padding:3rem 0 4.5rem;color:#fff;border-bottom:4px solid #ddc397}.page-hero .breadcrumbs{display:block;font-size:.875rem;margin-bottom:2rem;color:#bdcfdd}.page-hero .breadcrumbs a{color:#d8e6ef;text-underline-offset:5px}.breadcrumbs span:last-child{color:#bdcfdd}.page-hero .eyebrow{color:#e5c99b;margin-top:0!important}.page-hero h1{font:400 clamp(2.75rem,5.3vw,5rem)/1.08 var(--serif);letter-spacing:-.04em;max-width:950px;margin:1.2rem 0 1.5rem}.page-hero .section-lead{max-width:780px;color:#c7d9e6;font-size:1.125rem} .jump-links{display:flex;flex-wrap:wrap;gap:.6rem;padding:1.7rem 0}.jump-links a{display:inline-flex;font-size:.875rem;border:1px solid var(--line);border-radius:99px;padding:.6rem 1rem;text-decoration:none;background:#fff}.jump-links a:hover{background:#eaf0f5}.detail-grid{grid-template-columns:1.25fr .75fr;gap:4rem;padding:4.5rem 0}.detail-grid h2{font:400 2.25rem/1.2 var(--serif);letter-spacing:-.02em}.detail-grid h3{font:400 1.5rem/1.3 var(--serif)}.detail-grid p,.detail-grid li{color:var(--ink-soft)}.detail-aside{background:#edf2f6;border:1px solid #dbe4eb;border-radius:22px;padding:2rem}.detail-aside h3{margin-top:1.8rem}.detail-aside h3:first-child{margin-top:0}.detail-aside a{color:#284e6b;text-underline-offset:4px}.timeline li{padding-left:3.3rem}.timeline li::before{background:#163349} .service-questions{padding:1.5rem 0 3rem;max-width:900px}.service-questions h2,.practice-note h2{font:400 clamp(2rem,3.3vw,2.8rem)/1.15 var(--serif);letter-spacing:-.025em;margin:1rem 0 1.6rem}.service-questions details{border:1px solid var(--line);background:#f7f9fb;padding:1.2rem 1.4rem;border-radius:14px;margin-bottom:.7rem}.service-questions summary{cursor:pointer;font-weight:600;font-size:1rem;line-height:1.6}.service-questions details p{max-width:760px;color:var(--muted);margin:1rem 0 0} .sub-cta{border-radius:24px;background:#e7edf2;margin:1rem 0 4rem;padding:3rem;border:1px solid #dbe3e8}.sub-cta h2{font:400 clamp(2rem,3.3vw,3rem)/1.18 var(--serif);letter-spacing:-.025em;max-width:850px}.sub-cta p{max-width:750px}.sub-cta .hero-actions{margin-top:1.5rem} .about-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.about-intro>h2{font:400 3rem/1.15 var(--serif);letter-spacing:-.025em;margin:0}.about-intro p{color:var(--muted);margin-top:0}.bio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding-bottom:1rem}.bio{padding:2.5rem;border:1px solid var(--line);border-radius:24px;background:#f3f6f8;min-width:0}.bio:nth-child(2){background:#112c42;color:#fff;border-color:#112c42}.bio h2{font:400 2.15rem/1.2 var(--serif);letter-spacing:-.025em;margin:1rem 0 1.5rem}.bio p{color:var(--ink-soft)}.bio:nth-child(2) p{color:#cbd9e4}.bio:nth-child(2) h2,.bio:nth-child(2) .eyebrow,.bio:nth-child(2) .editorial-link{color:#e5c99b}.bio .eyebrow{color:var(--gold-deep);font-size:.875rem}.bio img{float:right;width:138px;height:170px;object-fit:cover;object-position:center 20%;border-radius:14px;margin:0 0 1.4rem 1.4rem}.bio details{clear:both;border-block:1px solid #cbd7df;padding-block:1.2rem;margin:1.5rem 0}.bio summary{font-size:.9375rem;font-weight:600;cursor:pointer;line-height:1.6} .full-case{position:relative;padding:3rem;border:1px solid var(--line);border-radius:24px;margin:1.5rem 0;background:#f5f8fa}.full-case:nth-of-type(2n){background:#fff}.full-case h2{font:400 clamp(2rem,3.5vw,3rem)/1.2 var(--serif);letter-spacing:-.025em;margin:1.1rem 0 2rem;max-width:850px}.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.case-detail-grid h3{font-size:.9375rem;margin:0 0 .6rem}.case-detail-grid p{color:var(--muted);margin:0 0 1.8rem}.evidence-note{color:var(--muted);font-size:.875rem;max-width:850px;margin-top:2rem} .sector-content{padding-top:4rem}.sector-intro{gap:4rem}.sector-intro h2,.sector-proof h2,.sector-start h2{font:400 clamp(2rem,3.4vw,3rem)/1.18 var(--serif);letter-spacing:-.025em}.upgrade-card{border-radius:20px;background:#f1f5f8;padding:2rem}.upgrade-card h3{font-size:1.75rem}.card-index{font-size:.8125rem;color:var(--gold-deep)}.sector-proof{gap:3rem;margin:4rem 0;padding:3rem 0}.sector-proof figure{border-radius:22px;background:#112c42;color:#fff;padding:2.5rem}.sector-proof figcaption{color:#c5d7e4}.sector-proof blockquote{font:400 1.65rem/1.45 var(--serif)}.sector-start a,.sector-proof a{color:#284e6b} .insights-section{padding:4rem 0}.insights-section h2{font:400 clamp(2.3rem,3.6vw,3.2rem)/1.18 var(--serif);letter-spacing:-.025em}.insight-grid{gap:1.1rem}.insight-card{padding:2rem;border:1px solid var(--line);border-radius:22px;background:#f1f5f8}.insight-card h3{font:400 1.75rem/1.28 var(--serif);letter-spacing:-.015em}.insight-label{color:var(--gold-deep);font-size:.875rem}.insight-card>a{color:#284e6b;font-weight:600;font-size:.9375rem}#books .insight-card:first-child{background:#112c42;color:#fff;border-color:#112c42}#books .insight-card:first-child .insight-label,#books .insight-card:first-child>a{color:#e5c99b}#books .insight-card:first-child p{color:#cbd9e4} .practice-note{padding:3rem 0;margin:1rem 0 3rem;border-block:1px solid var(--line)}.practice-note>p{color:var(--muted);max-width:850px;margin-bottom:2rem}.report{border-radius:22px;padding:2.5rem}.report h2{font-size:2.2rem;letter-spacing:-.025em}.kpi{border-radius:12px;background:#edf2f6}.report-note{border-radius:0 12px 12px 0;border-color:#98774a;background:#f2ece0} .advisory-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.advisory-examples article{border-top:2px solid #b39159;padding-top:1rem}.advisory-examples h3{font:400 1.65rem/1.3 var(--serif)}.advisory-examples dt{font-weight:600;margin-top:1rem}.advisory-examples dd{color:var(--muted);margin:.3rem 0 0}.calculator-inputs,.calculator-result{border-radius:22px}.calculator input,.calculator select{border-radius:7px;font:inherit;min-height:46px} .directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:3rem 0}.directory-grid article{padding:1.6rem;background:#f1f5f8;border:1px solid var(--line);border-radius:16px}.directory-grid h2{font:400 1.6rem/1.3 var(--serif);margin:0 0 .7rem}.directory-grid h2 a{text-decoration:none}.directory-grid h2 a:hover{text-decoration:underline;text-underline-offset:5px}.directory-grid p{color:var(--muted);margin:0;font-size:.9375rem} @media(max-width:1080px){ .container{width:min(100% - 4rem,1240px)}.agency-nav .main-nav{display:none}.mobile-menu{display:block}.agency-nav{min-height:80px}.ca-logo{width:200px}.agency-hero h1{font-size:clamp(4.5rem,9vw,6rem)}.agency-hero-copy{max-width:540px}.agency-hero-art{object-position:61% center}.agency-hero::after{background:linear-gradient(90deg,#071625f0 0%,#071625a6 43%,#07162518 100%),linear-gradient(0deg,#071625d9,transparent 28%)} .section-intro,.audience-layout,.practice-summary,.contact-layout{gap:3rem}.nonprofit-feature{gap:3rem;padding:3rem}.case-preview-grid{grid-template-columns:1fr 1fr}.editorial-case--1{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;column-gap:3rem}.editorial-case--1 .eyebrow{grid-column:1/-1}.editorial-case--1 .case-feature-metric{grid-row:2/5;margin:1.3rem 0 0;align-self:center}.editorial-case--1 h3{margin-top:1.5rem}.editorial-case--1 .editorial-link{margin-top:0} .people-summary{grid-template-columns:1fr}.people-summary>div{display:grid;grid-template-columns:62px 1fr;gap:.3rem 1rem;align-items:center;padding:1.3rem}.person-initials{grid-row:1/3;font-size:2.7rem;margin:0}.people-summary h3{margin:0}.people-summary p{grid-column:2}.bio{padding:2rem}.bio img{width:105px;height:130px}.detail-grid{gap:2rem} } @media(max-width:760px){ .container{width:calc(100% - 3rem)}.agency-section,.reviews,.agency-approach,.contact{padding-block:4rem}.agency-hero-copy{padding-top:3.5rem}.agency-hero h1{font-size:clamp(4rem,11vw,5.5rem)}.agency-hero .hero-description{max-width:420px}.agency-hero-art{object-position:62% center;opacity:.76}.agency-hero::after{background:linear-gradient(90deg,#071625e8 0%,#071625b3 48%,#07162559 100%),linear-gradient(0deg,#071625e8,transparent 45%)}.hero-foot{margin-top:3.5rem;flex-direction:column;gap:.5rem;padding:1.3rem 0} .section-intro{display:block;margin-bottom:2rem}.section-intro h2{margin:1rem 0 1.3rem;font-size:clamp(2.5rem,6vw,3rem)}.section-intro>p:last-child{max-width:600px}.expertise-list article{padding:1.8rem}.expertise-list h3{font-size:1.9rem}.specialist-links{grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.specialist-links span{grid-column:1/-1}.nonprofit-feature{grid-template-columns:1fr;padding:2.5rem;gap:2.5rem}.agency-nonprofit h2{font-size:3.1rem} .audience-layout,.practice-summary,.about-intro{grid-template-columns:1fr;gap:2.5rem}.audience-layout .section-intro>p:last-child{max-width:550px}.case-preview-grid{gap:1rem}.editorial-case{padding:1.8rem}.case-feature-metric strong{font-size:3.5rem}.editorial-case--1{gap:0 1.8rem}.review-card{flex-basis:100%}.people-summary{grid-template-columns:1fr 1fr}.people-summary>div{display:block;padding:1.6rem}.person-initials{margin-bottom:1.5rem}.people-summary h3{margin-bottom:.5rem} .approach-heading{display:block;margin-bottom:2rem}.approach-heading h2{margin-top:1rem}.approach-steps{grid-template-columns:1fr;gap:2rem}.approach-steps li{display:grid;grid-template-columns:50px 1fr;gap:.75rem 1rem}.approach-steps span{grid-row:1/3;font-size:2.4rem}.approach-steps h3{margin:0}.approach-steps p{grid-column:2} .contact-layout,.detail-grid,.case-detail-grid,.bio-grid,.sector-intro,.sector-proof{grid-template-columns:1fr;gap:2rem}.booking-copy>p{max-width:600px}.inquiry-form{padding:2rem}.agency-footer>.container{gap:2.5rem}.agency-footer nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:.7rem} .page-hero{padding:2rem 0 3rem}.page-hero h1{font-size:clamp(2.7rem,7vw,3.7rem)}.page-hero .breadcrumbs{margin-bottom:1.6rem}.detail-grid{padding:3rem 0}.sub-cta{padding:2.3rem;margin-bottom:3rem}.full-case{padding:2rem}.bio img{width:138px;height:170px}.sector-content{padding-top:3rem}.insights-section{padding:3rem 0}.report{padding:1.7rem}.report-heading{flex-direction:column}.review-archive-grid,.advisory-examples{grid-template-columns:1fr} } @media(max-width:520px){ .container{width:calc(100% - 2.5rem)}.ca-logo{width:180px}.agency-nav{min-height:74px;gap:1rem}.mobile-menu summary{padding:.6rem .8rem;font-size:.875rem}.mobile-menu-panel{left:-1.25rem;right:-1.25rem}.agency-hero-copy{padding-top:2.7rem}.agency-hero h1{font-size:clamp(3.5rem,13vw,4.3rem);margin:1.35rem 0 1.6rem}.agency-hero .eyebrow{font-size:.8125rem;letter-spacing:.09em}.agency-hero .hero-description{font-size:1.0625rem}.agency-hero .hero-actions{align-items:start;gap:1.2rem;flex-direction:column}.hero-foot{margin-top:2.8rem;font-size:.8125rem} .expertise-list,.client-grid,.case-preview-grid,.people-summary,.directory-grid{grid-template-columns:1fr}.row-number{margin-bottom:1.3rem}.expertise-list article{padding:1.8rem}.expertise-list h3{font-size:2rem}.specialist-links{grid-template-columns:1fr;gap:1.1rem}.nonprofit-feature{padding:2rem 1.5rem;border-radius:22px}.agency-nonprofit h2{font-size:2.6rem}.mission-outputs h3{font-size:1.4rem}.client-grid{gap:2rem} .editorial-case--1{display:flex;gap:0}.editorial-case--1 .case-feature-metric{align-self:start;margin:1.8rem 0 2rem}.editorial-case--1 h3{margin-top:0}.editorial-case--1 .editorial-link{margin-top:auto}.review-card{padding:1.6rem}.review-controls{flex-wrap:wrap;gap:.45rem}.review-controls button{padding:.6rem .85rem}.review-count{flex-basis:100%;margin:.4rem 0 0} .people-summary>div{display:grid;grid-template-columns:50px 1fr;gap:.4rem 1rem}.person-initials{grid-row:1/3;font-size:2.8rem;margin:0}.people-summary h3{margin:0}.people-summary p{grid-column:2}.agency-footer>.container{grid-template-columns:1fr}.agency-footer nav{grid-template-columns:1fr 1fr}.footer-bottom{grid-column:1}.contact h2{font-size:2.7rem}.inquiry-form{padding:1.5rem}.form-pair{grid-template-columns:1fr;gap:0}.bio{padding:1.7rem}.bio img{width:90px;height:112px;margin-left:1rem}.bio h2{font-size:1.9rem}.full-case,.sub-cta{padding:1.6rem}.full-case h2{font-size:2rem}.sector-proof figure{padding:1.8rem}.insight-card{padding:1.8rem} } @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}} .experience-strip{background:#f1f4f6;border-bottom:1px solid #dbe3e9;padding:2.2rem 0 1.6rem} .experience-strip-heading{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:1.5rem} .experience-strip-heading h2{font:500 1rem/1.5 var(--sans);margin:0;letter-spacing:.025em;color:#30485a} .experience-strip-heading>a{font-size:.875rem;white-space:nowrap;color:#2c4b63;text-underline-offset:5px} .experience-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;list-style:none;padding:0;margin:2rem 0} .experience-logos li{min-width:0;margin:0;padding:0} .experience-logo-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:#132d41} .experience-logo-link:focus-visible{outline:3px solid #967241;outline-offset:5px;border-radius:8px} .experience-logo-image{display:flex;align-items:center;justify-content:center;height:112px;border:1px solid #dce4e9;border-radius:8px;overflow:hidden;padding:1.1rem;background:#fff} .experience-logo-image--dark{background:#112b3f;border-color:#112b3f} .experience-logo-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .18s ease} a.experience-logo-link:hover .experience-logo-image img{transform:scale(1.035)} .experience-logo-image--nzvc img,.experience-logo-image--copenhagen-consensus-center img{max-width:76px} .experience-logo-name{font-size:.9375rem;font-weight:600;line-height:1.4;margin-top:.9rem} .experience-logo-scope{font-size:.875rem;line-height:1.5;color:#536778;margin-top:.4rem} .experience-logo-kind{font-size:.8125rem;line-height:1.5;color:#6b593f;margin-top:auto;padding-top:.8rem} .experience-logos--compact{grid-template-columns:repeat(8,minmax(0,1fr));gap:.8rem;margin:0} .experience-logos--compact .experience-logo-image{height:72px;padding:.65rem;border-color:#dde4e8} .experience-logos--compact .experience-logo-image--nzvc img,.experience-logos--compact .experience-logo-image--copenhagen-consensus-center img{max-width:50px} .experience-logos--compact .experience-logo-name{font-size:.875rem;font-weight:500;text-align:center;color:#445a6a;margin-top:.7rem;line-height:1.4} .experience-context{font-size:.8125rem;line-height:1.6;color:#526777;margin:1.2rem 0 0;max-width:950px} .named-experience>h2{font:400 clamp(2rem,3.7vw,3.3rem)/1.14 var(--serif);letter-spacing:-.025em;max-width:850px;margin:1rem 0 1.3rem} .named-experience>.section-lead{max-width:790px;color:#526777} .experience-more{margin-top:1.5rem;border-top:1px solid #dbe4eb;border-bottom:1px solid #dbe4eb;padding:1.1rem 0} .experience-more summary{font-size:1rem;font-weight:600;cursor:pointer} .experience-more ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;gap:1rem 2rem;margin:1.5rem 0} .experience-more li{display:flex;flex-direction:column;gap:.3rem;font-size:1rem;min-width:0} .experience-more li a{color:#234862;text-underline-offset:5px} .experience-more li span,.experience-more>p{font-size:.875rem;color:#546b7b;line-height:1.6} .reach-section{background:#0b2133;color:#eff4f7;padding:5.5rem 0 4.5rem;border-top:1px solid #234157;border-bottom:1px solid #234157} .reach-section .eyebrow{color:#e6cba1;margin:0 0 1.1rem} .reach-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:4rem;align-items:end} .reach-heading h2{font:400 clamp(2.4rem,4.7vw,4.1rem)/1.08 var(--serif);letter-spacing:-.04em;margin:0;color:#f4f5f4} .reach-heading h2 em{color:#e6cba1;font-weight:400} .reach-summary>p{font-size:1.0625rem;color:#c1d2df;line-height:1.7;margin:0 0 1.2rem;max-width:470px} .reach-summary>span{display:flex;gap:1rem;align-items:baseline;font-size:.9375rem;color:#d7e3eb} .reach-summary strong{font:400 2.5rem/1 var(--serif);color:#e6cba1} .reach-map{margin:2.2rem 0 0} .reach-map>img{display:block;width:100%;height:auto;max-height:590px;object-fit:contain} .reach-map figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:1.3rem 2rem;font-size:.875rem;color:#c5d6e1;margin:0 0 2.2rem;line-height:1.5} .reach-legend{display:inline-flex;align-items:center;gap:.65rem} .reach-legend i{display:block;width:.6rem;height:.6rem;background:#a58c6b;border:1px solid #d2bb98;border-radius:50%} .reach-legend--home i{width:.8rem;height:.8rem;background:#d9bf93;border:2px solid #fff5df;box-shadow:0 0 0 2px #617584} .reach-countries{display:grid;grid-template-columns:1fr 1.6fr 1.15fr 1.15fr .8fr;gap:1.75rem;border-top:1px solid #314c60;padding-top:1.5rem} .reach-countries h3{font-size:.9375rem;font-weight:600;color:#e5c99b;margin:0 0 .7rem} .reach-countries p{font-size:.9375rem;line-height:1.8;color:#c4d5e1;margin:0;overflow-wrap:anywhere} .map-provenance{margin-top:1.9rem;color:#a9c0d1;max-width:950px} .map-provenance summary{cursor:pointer;font-size:.875rem;line-height:1.6} .map-provenance p{font-size:.875rem;line-height:1.7;color:#b8cddb;margin:1rem 0 0} .map-provenance a{color:#e6cba1;text-underline-offset:4px} .reach-section .editorial-link{display:inline-block;margin-top:2rem;color:#e6cba1;border-color:#8195a2} .reach-section--detail{margin:2rem 0 0} @media(max-width:1100px){.experience-logos--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem 1rem}.experience-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.reach-countries{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 2rem}} @media(max-width:760px){.experience-strip{padding:1.8rem 0}.experience-strip-heading{display:block;margin-bottom:1.3rem}.experience-strip-heading>a{display:inline-block;margin-top:.5rem}.experience-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1rem}.experience-logos--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem .6rem}.experience-logos--compact .experience-logo-image{height:64px;padding:.4rem}.experience-logos--compact .experience-logo-name{font-size:.875rem;overflow-wrap:anywhere}.reach-section{padding:3.4rem 0}.reach-heading{grid-template-columns:1fr;gap:1.7rem}.reach-summary>span{font-size:.9375rem}.reach-map{margin-top:1rem}.reach-countries{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem 1.4rem}.experience-more ul{grid-template-columns:1fr}} @media(max-width:430px){.experience-logos--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.experience-logos--compact .experience-logo-image{height:65px;padding:.6rem}.reach-map figcaption{justify-content:flex-start;gap:.7rem 1.5rem}.reach-countries{grid-template-columns:1fr}.reach-heading h2{font-size:2.4rem}.reach-countries p{font-size:1rem}} @media(prefers-reduced-motion:reduce){.experience-logo-image img{transition:none}a.experience-logo-link:hover .experience-logo-image img{transform:none}} .experience-logo-country{font-size:.8125rem;line-height:1.5;color:#4d6272;margin-top:.45rem} .experience-logo-brand{font-size:.8125rem;line-height:1.4;color:#657785;margin-top:.2rem} .experience-logo-image--demc img{flex-shrink:0;min-width:230px;width:230px;height:auto}