@charset "UTF-8";
:root{--ink:#15232e;--ink-soft:#203441;--muted:#5d6871;--lime:#dcf58b;--paper:#fff;--light:#f3f5f6;--line:#dce2e5;--max:1280px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #578212;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}h1,h2,h3,h4,p{margin:0}p{line-height:1.7}h1,h2,h3,h4{text-wrap:balance}h2{font-size:clamp(2.1rem,3.5vw,3.25rem);line-height:1.14;font-weight:500;letter-spacing:-.045em}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}section[id]{scroll-margin-top:8px}.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;line-height:1.5}.section-label{display:block;margin-bottom:26px}.section{padding:106px 0}.skip-link{position:fixed;top:-100px;left:20px;z-index:99;padding:14px 22px;background:var(--lime)}.skip-link:focus{top:12px}
.site-header{height:102px;background:var(--ink);color:white;border-bottom:1px solid #ffffff24}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:30px}.wordmark{font-size:1.8rem;font-weight:700;line-height:1.1;letter-spacing:-.06em;display:block;width:max-content}.brand-square{display:inline-block;background:var(--lime);height:7px;width:7px;margin-left:4px}.wordmark small{display:block;font-size:.75rem;letter-spacing:.29em;font-weight:400;margin-top:7px;line-height:1.2}.site-header nav{display:flex;align-items:center;gap:35px;font-size:.875rem}.site-header nav>a{padding:10px 0}.site-header nav>a:hover{color:var(--lime)}.nav-contact{margin-left:25px;border-bottom:1px solid #8d999f}.nav-contact span{margin-left:26px}.menu-toggle{display:none}
.hero{background:var(--ink);color:white;padding-top:43px}.hero-overline{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#c5cfd5}.hero-overline .eyebrow{color:var(--lime)}.hero-location{font-size:.8125rem;line-height:1.6}.hero-grid{display:grid;grid-template-columns:1fr 290px;gap:70px;padding:62px 0 74px;align-items:center}.hero h1{font-size:clamp(3.8rem,6.25vw,6.1rem);font-weight:500;line-height:1.03;letter-spacing:-.055em}.hero h1 em{color:var(--lime);letter-spacing:-.055em}.hero-intro{max-width:580px;font-size:1.0625rem;line-height:1.7;color:#c5cfd5;margin:31px 0 30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:44px;padding:20px 24px;font-size:.9375rem;font-weight:600;line-height:1.4;min-height:60px;transition:background .18s ease,transform .18s ease}.button span{font-size:1.25rem;font-weight:400}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e7ffa7}.button-dark{color:white;background:var(--ink)}.button-dark:hover{background:#304754}.hero-profile{border-top:1px solid #7c8b91;padding:21px 0 0;align-self:stretch;margin-top:4px;display:flex;flex-direction:column}.profile-topline{display:flex;justify-content:space-between;gap:10px;color:#b6c1c8;font-size:.75rem;line-height:1.5;letter-spacing:.08em}.profile-name{font-size:4.1rem;line-height:1.02;letter-spacing:-.045em;margin-top:39px;font-weight:500}.name-period{color:var(--lime)}.profile-title{font-size:1rem;color:#c5cfd5;line-height:1.5;margin-top:17px}.profile-rule{height:1px;background:#ffffff26;margin:29px 0 24px}.profile-summary{font-size:.9375rem;line-height:1.7;color:#c5cfd5}.text-link{display:inline-flex;align-items:center;gap:36px;padding-bottom:8px;font-size:.875rem;border-bottom:1px solid currentColor;width:fit-content}.text-link:hover{opacity:.75}.hero-profile .text-link{margin-top:26px;color:var(--lime)}
.client-strip{background:var(--light);border-bottom:1px solid var(--line)}.client-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:139px;padding-block:24px}.client-strip p{font-size:.8125rem;color:var(--muted);line-height:1.6}.client-name{font-size:1.8rem;font-weight:600;line-height:1.2;letter-spacing:-.04em}.client-name span{display:block;font-size:.75rem;letter-spacing:.19em;font-weight:400;margin-top:7px}.client-vasco{font-size:1.8rem}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:10%;align-items:end;margin-bottom:56px}.section-heading>p{font-size:1rem;color:var(--muted);max-width:370px;justify-self:end;padding-bottom:3px}.service{display:grid;grid-template-columns:60px 1fr 1.35fr;gap:30px;padding:35px 0 36px;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-number{font-size:.8125rem;color:var(--muted);line-height:1.7;padding-top:5px}.service h3{font-size:1.45rem;line-height:1.35;font-weight:500;letter-spacing:-.025em}.service p{font-size:1rem;color:var(--muted);line-height:1.7}.tags{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}.tags li{font-size:.75rem;line-height:1.5;padding:6px 9px;background:var(--light);color:#4f606b}
.experience{background:var(--light)}.case-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:20px}.case-card{padding:31px 28px;background:white;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line)}.case-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.75rem;letter-spacing:.09em;line-height:1.5;color:var(--muted);min-height:28px}.case-card h3{font-size:1.5rem;font-weight:600;letter-spacing:-.035em;line-height:1.25;margin-top:28px}.case-role{font-size:.8125rem;color:var(--muted);margin-top:10px;line-height:1.5;min-height:40px}.case-divider{height:1px;background:var(--line);margin:25px 0}.case-card h4{font-size:1.0625rem;font-weight:600;line-height:1.45;margin-bottom:15px}.case-card>p:not(.case-role){font-size:.9375rem;line-height:1.7;color:var(--muted);margin-bottom:15px}.case-footer{padding-top:29px;margin-top:auto;font-size:.75rem;line-height:1.6;color:var(--muted)}.case-footer span{margin-inline:6px}.featured-case{background:var(--ink);color:white;border-color:var(--ink)}.featured-case .case-meta{color:var(--lime)}.featured-case .case-role,.featured-case>p:not(.case-role),.featured-case .case-footer{color:#c5cfd5}.featured-case .case-divider{background:#ffffff26}
.approach{background:var(--ink);color:white}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.approach .section-label{color:var(--lime)}.approach h2 em{color:var(--lime)}.approach-intro>p{color:#c5cfd5;margin-top:27px;max-width:365px;font-size:1rem}.approach-steps{padding:0;margin:0;list-style:none}.approach-steps li{display:grid;grid-template-columns:32px 1fr;gap:22px;padding:25px 0;border-top:1px solid #ffffff2b}.approach-steps li:first-child{padding-top:5px;border:0}.approach-steps li:last-child{padding-bottom:0}.step-number{color:var(--lime);font-size:.8125rem;line-height:1.7}.approach-steps h3{font-size:1.25rem;font-weight:500;margin-bottom:11px;letter-spacing:-.015em}.approach-steps p{color:#c5cfd5;font-size:.9375rem;line-height:1.7}.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:12%}.about-title .text-link{margin-top:31px}.about-copy .lead{font-size:1.35rem;line-height:1.6;color:var(--ink);letter-spacing:-.02em}.about-copy>p{font-size:1rem;color:var(--muted);margin-bottom:22px}.credentials{margin:34px 0 0}.credentials>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-top:1px solid var(--line);padding:19px 0}.credentials dt{font-size:.75rem;font-weight:600;line-height:1.6}.credentials dd{margin:0;font-size:.875rem;color:var(--muted);line-height:1.7}
.contact{background:var(--lime);padding:82px 0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end}.contact h2{font-size:clamp(2.7rem,4.7vw,4.6rem);line-height:1.06;letter-spacing:-.055em}.contact .section-label{margin-bottom:24px}.contact p{margin-top:25px;font-size:1rem;color:#374724}.contact-actions{padding-bottom:5px;min-width:0}.contact-actions .button{width:100%;max-width:370px}.contact-email{display:block;font-size:.9375rem;margin-top:22px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;line-height:1.7}.contact-actions>p{font-size:.8125rem;line-height:1.7}.site-footer{background:var(--ink);color:#c5cfd5;padding:38px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-brand{font-size:1.4rem;color:white}.footer-brand small{font-size:.75rem}.site-footer p,.site-footer .footer-inner>a:not(.wordmark){font-size:.75rem;line-height:1.7}.site-footer .footer-inner>a:not(.wordmark):hover{color:var(--lime)}
@media(min-width:1600px){.hero-grid{padding-block:80px 95px}.hero h1{font-size:6.5rem}.hero-profile{margin-top:8px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero-grid{grid-template-columns:1fr 245px;gap:40px}.hero h1{font-size:4.8rem}.profile-name{font-size:3.7rem}.service{grid-template-columns:35px 1fr 1.25fr;gap:20px}.case-grid{gap:14px;grid-template-columns:1fr 1fr}.case-card{padding:25px 20px}.case-card h3{font-size:1.3rem}.case-role{min-height:60px}.approach-grid,.about-grid{gap:8%}.credentials>div{grid-template-columns:110px 1fr}.section-heading{gap:7%}.contact-email{font-size:.875rem}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.site-header{height:84px}.wordmark{font-size:1.6rem}.site-header nav{gap:20px}.nav-contact{margin-left:0}.nav-contact span{margin-left:8px}.hero{padding-top:28px}.hero-location{max-width:185px;text-align:right;font-size:.75rem}.hero-overline .eyebrow{max-width:190px;font-size:.75rem}.hero-grid{grid-template-columns:1fr 210px;gap:28px;padding:48px 0 52px}.hero h1{font-size:3.7rem}.hero-intro{font-size:1rem;margin-block:27px}.profile-name{font-size:3rem;margin-top:35px}.profile-title{font-size:.875rem}.profile-summary{font-size:.8125rem}.profile-topline{font-size:.75rem}.client-strip-inner{gap:20px;min-height:120px}.client-name{font-size:1.45rem}.client-strip p{font-size:.75rem}.client-name span{font-size:.75rem}.section{padding:76px 0}.section-heading{grid-template-columns:1.2fr 1fr;gap:6%;margin-bottom:40px}.section-heading>p{font-size:.9375rem}.service{grid-template-columns:25px .9fr 1.2fr;gap:18px}.service h3{font-size:1.2rem}.service p{font-size:.9375rem}.case-grid{grid-template-columns:1fr 1fr;gap:20px}.featured-case{grid-column:auto}.case-role{min-height:0}.case-card h3{font-size:1.5rem;margin-top:16px}.case-card{padding:28px}.case-divider{margin:20px 0}.case-meta{min-height:0}.case-footer{padding-top:20px}.approach-grid,.about-grid{gap:7%}.approach h2{font-size:2.2rem}.credentials>div{display:block}.credentials dt{margin-bottom:8px}.contact{padding:65px 0}.contact-grid{gap:6%;grid-template-columns:1fr 1fr}.contact h2{font-size:3rem}.contact .desktop-break{display:none}.footer-inner{flex-wrap:wrap;gap:25px}.site-footer p{margin-right:auto}}
@media(max-width:620px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.site-header{height:auto;min-height:82px}.header-inner{min-height:82px;position:relative;flex-wrap:wrap;gap:0}.wordmark{font-size:1.6rem}.wordmark small{font-size:.75rem}.menu-toggle{display:flex;align-items:center;gap:18px;background:transparent;color:white;border:1px solid #65727d;padding:10px 12px;font-size:.875rem;min-height:44px}.menu-toggle span{font-size:1.2rem;line-height:1}.site-header nav{display:none;flex-basis:100%;padding:4px 0 23px;gap:4px}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.site-header nav>a{padding:13px 0;font-size:1rem}.nav-contact{border:0}.nav-contact span{margin-left:20px}.hero-overline{align-items:start;gap:18px}.hero-overline .eyebrow{max-width:150px;font-size:.75rem}.hero-location{font-size:.75rem;max-width:150px}.hero-grid{display:block;padding:44px 0 40px}.hero h1{font-size:clamp(2.9rem,10.2vw,4.5rem);line-height:1.06}.hero-intro{max-width:440px;font-size:1rem;line-height:1.7;margin-block:27px}.button{padding:17px 21px;min-height:58px;gap:30px}.hero-profile{margin-top:49px;padding-top:19px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.profile-topline{grid-column:1/-1;margin-bottom:22px;font-size:.75rem}.profile-name{font-size:2.5rem;margin:0;grid-row:2/4}.profile-title{margin:0;font-size:.875rem}.profile-rule,.profile-summary{display:none}.hero-profile .text-link{grid-column:2;margin-top:17px;font-size:.8125rem;gap:20px}.client-strip-inner{flex-wrap:wrap;justify-content:space-between;padding:24px 0;gap:23px 12px}.client-strip p{flex-basis:100%;font-size:.75rem}.client-strip p br{display:none}.client-name{font-size:1.4rem}.client-name span{font-size:.75rem;letter-spacing:.14em}.client-vasco{font-size:1.4rem}.section{padding:62px 0}.section-label{font-size:.75rem;margin-bottom:21px}.section-heading{display:block;margin-bottom:33px}h2{font-size:2.1rem}.section-heading>p{max-width:450px;margin-top:22px}.service{grid-template-columns:28px 1fr;gap:15px;padding:27px 0}.service h3{font-size:1.4rem}.service h3 br{display:none}.service>div{grid-column:2}.service-number{padding-top:1px;font-size:.75rem}.service p{font-size:.9375rem}.tags{margin-top:15px;gap:6px}.tags li{font-size:.75rem;padding:5px 8px}.case-grid{display:block}.case-card{margin-bottom:16px;padding:26px 24px}.case-card:last-child{margin-bottom:0}.case-card h3{font-size:1.5rem}.case-card h4{font-size:1.125rem}.case-meta{font-size:.75rem}.case-footer{font-size:.75rem}.approach-grid,.about-grid{display:block}.approach h2{font-size:2.3rem}.approach-intro>p{max-width:100%}.approach-steps{margin-top:36px}.approach-steps li{gap:16px}.approach-steps li:first-child{border-top:1px solid #ffffff2b;padding-top:25px}.approach-steps h3{font-size:1.1875rem}.about-title h2 br:last-of-type{display:none}.about-title .text-link{margin-top:24px}.about-copy{margin-top:35px}.about-copy .lead{font-size:1.25rem}.credentials>div{display:grid;grid-template-columns:115px 1fr;gap:16px}.credentials dt{font-size:.75rem}.credentials dd{font-size:.8125rem}.contact{padding:56px 0}.contact-grid{display:block}.contact h2{font-size:3.35rem}.contact-actions{margin-top:31px}.contact-actions .button{max-width:none}.contact p{margin-top:22px}.contact-email{font-size:.875rem;margin-top:19px}.contact-actions>p{font-size:.8125rem}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:23px 15px}.site-footer p{grid-row:2;grid-column:1/-1;margin:0;font-size:.75rem}.footer-inner>a:last-child{grid-column:2;grid-row:3}.footer-inner>a:nth-last-child(2){grid-column:1;grid-row:3}.site-footer{padding:31px 0}.footer-brand{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Selected photography: original framing is retained in each asset;
   object-fit provides responsive crops without altering the source images. */
.hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:64px;align-items:center;padding-block:52px 62px}
.hero-portrait{margin:0;min-width:0;border-bottom:1px solid #ffffff26}
.portrait-image{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
.portrait-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 0;min-width:0;overflow-wrap:anywhere}
.portrait-name{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.03em;line-height:1.25}
.portrait-caption p{font-size:.875rem;line-height:1.55;color:#c5cfd5;margin-top:9px}
.portrait-link{font-size:.875rem;line-height:1.7;margin-top:4px;color:var(--lime);border-bottom:1px solid #dcf58b88}
.portrait-link span{margin-left:12px}.portrait-link:hover{border-bottom-color:var(--lime)}
.approach-photo,.about-photo{margin:31px 0 0;overflow:hidden;background:var(--ink-soft)}
.approach-photo img,.about-photo img{display:block;width:100%;height:auto;object-fit:cover}
.approach-photo img{aspect-ratio:3/2;object-position:50% 50%}
.approach-steps{align-self:center}
.about-photo img{aspect-ratio:16/9;object-position:50% 50%}
@media(max-width:1100px){.hero-grid{grid-template-columns:minmax(0,1fr) 330px;gap:42px}.hero h1{font-size:clamp(3.2rem,6.3vw,4.8rem)}.portrait-caption{display:block}.portrait-link{display:inline-block;margin-top:16px}}
@media(max-width:800px){.hero-grid{grid-template-columns:minmax(0,1fr) 240px;gap:28px}.hero h1{font-size:clamp(2.55rem,6.5vw,3.7rem)}.portrait-name{font-size:1.35rem}.portrait-caption p{font-size:.8125rem}.portrait-link{font-size:.8125rem}.approach-photo,.about-photo{margin-top:26px}}
@media(max-width:620px){.hero-grid{display:block;padding-block:40px}.hero h1{font-size:clamp(2.9rem,10.2vw,4.5rem)}.hero-portrait{display:grid;grid-template-columns:140px minmax(0,1fr);gap:23px;margin-top:36px;border-bottom:0;align-items:center}.portrait-image{aspect-ratio:4/5}.portrait-caption{display:block;padding:0}.portrait-name{font-size:1.4rem}.portrait-caption p{font-size:.8125rem}.portrait-link{font-size:.8125rem;margin-top:17px}.portrait-link span{margin-left:7px}.approach-photo img{aspect-ratio:3/2;object-position:50% 50%}.about-photo img{aspect-ratio:16/9;object-position:50% 50%}.about-title .text-link{margin-top:23px}}
@media(max-width:360px){.hero-portrait{grid-template-columns:120px minmax(0,1fr);gap:18px}.portrait-name{font-size:1.25rem}.portrait-caption p{font-size:.75rem}}

/* Supplied FrontPoint logo: preserve the complete stacked lockup on white. */
.site-header{height:auto;min-height:166px;background:white;color:var(--ink);border-bottom:1px solid var(--line)}
.header-inner{min-height:166px;height:auto;padding-block:10px}
.brand-logo{display:block;flex:0 0 auto;width:192px;line-height:0}
.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
.site-header nav>a:hover{color:#103cab}
.site-header .nav-contact{border-bottom-color:#a6b3c5}
.menu-toggle{color:var(--ink);border-color:#a6b3c5}
.site-footer{background:white;color:var(--muted);border-top:1px solid var(--line);padding:30px 0}
.site-footer .footer-inner>a:not(.brand-logo):hover{color:#103cab}
.footer-logo{width:180px}
@media(max-width:800px){.site-header,.header-inner{min-height:151px}.brand-logo{width:176px}.footer-logo{width:176px}}
@media(max-width:620px){.site-header,.header-inner{min-height:143px}.header-inner{padding-block:10px}.brand-logo{width:164px}.footer-logo{width:180px}.site-header nav{padding-top:12px}.footer-inner{row-gap:22px}}

/* Official client marks retain their original colours and proportions. */
.client-strip{background:white}
.client-strip-inner{display:grid;grid-template-columns:160px minmax(0,1fr);gap:42px;min-height:154px;padding-block:30px}
.client-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:26px}
.client-logos li{min-width:0;display:flex;align-items:center;justify-content:center;min-height:78px}
.client-logos img{display:block;width:100%;height:auto;max-width:178px;max-height:76px;object-fit:contain}
.client-logos li:nth-child(4) img{max-height:78px;max-width:154px}
@media(max-width:1200px){.client-strip-inner{grid-template-columns:1fr;gap:22px;padding-block:26px}.client-strip p br{display:none}.client-logos{gap:34px}.client-logos img{max-width:165px}}
@media(max-width:620px){.client-strip-inner{gap:22px;padding-block:27px}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}.client-logos li{min-height:80px}.client-logos img{max-height:64px;max-width:162px}.client-logos li:nth-child(4) img{max-height:76px;max-width:145px}}
.client-logos li:nth-child(2) img{max-height:98px;max-width:142px}
@media(max-width:620px){.client-logos li:nth-child(2) img{max-height:92px;max-width:132px}}
.client-logos li:nth-child(3) img{max-width:210px;max-height:96px}

/* Keep the fifth client mark balanced in the small-screen logo grid. */
@media(max-width:620px){.client-logos li:last-child{grid-column:1/-1}.client-logos li:last-child img{max-width:162px}}

.client-logo-source{display:block;width:100%;max-width:178px}.client-logo-source img{margin-inline:auto}
@media(max-width:620px){.client-logo-source{max-width:162px}}

/* Expertise uses the same title and copy columns above and below the divider. */
.expertise{--expertise-columns:60px minmax(0,1fr) minmax(0,1.35fr);--expertise-gap:30px}
.expertise .section-heading,.expertise .service{display:grid;grid-template-columns:var(--expertise-columns);column-gap:var(--expertise-gap)}
.expertise .section-heading{align-items:start;row-gap:0}
.expertise .section-heading>.section-label{grid-column:1/-1;grid-row:1}
.expertise .section-heading>h2{grid-column:2;grid-row:2;min-width:0}
.expertise .section-heading>p{grid-column:3;grid-row:2;max-width:none;min-width:0;justify-self:stretch;padding:0;margin:0}
@media(max-width:1100px){.expertise{--expertise-columns:35px minmax(0,1fr) minmax(0,1.25fr);--expertise-gap:20px}}
@media(max-width:800px){.expertise{--expertise-columns:25px minmax(0,.9fr) minmax(0,1.2fr);--expertise-gap:18px}}
@media(max-width:620px){.expertise{--expertise-columns:28px minmax(0,1fr);--expertise-gap:15px}.expertise .section-heading>p{grid-column:2;grid-row:3;margin-top:22px}}

/* Experience headings follow the card columns and their text insets. */
.experience{--case-columns:minmax(0,1.18fr) minmax(0,1fr);--case-gap:20px;--case-inset:28px}
.experience .section-heading,.experience .case-grid{display:grid;grid-template-columns:var(--case-columns);column-gap:var(--case-gap)}
.experience .section-heading{align-items:start;row-gap:0}
.experience .section-heading>.section-label{grid-column:1/-1;grid-row:1}
.experience .section-heading>h2{grid-column:1;grid-row:2;min-width:0;padding-inline:calc(var(--case-inset) + 1px)}
.experience .section-heading>p{grid-column:2;grid-row:2;min-width:0;max-width:none;justify-self:stretch;margin:0;padding:0 calc(var(--case-inset) + 1px)}
.experience .case-card{padding-inline:var(--case-inset)}
@media(max-width:1100px){.experience{--case-columns:repeat(2,minmax(0,1fr));--case-gap:14px;--case-inset:20px}}
@media(max-width:800px){.experience{--case-gap:20px;--case-inset:28px}}
@media(max-width:620px){.experience{--case-columns:minmax(0,1fr);--case-gap:16px;--case-inset:24px}.experience .section-heading>p{grid-column:1;grid-row:3;margin-top:22px}.experience .case-grid{row-gap:var(--case-gap)}.experience .case-card{margin-bottom:0}}

/* Approach heading, introduction, photo and numbered text share one grid. */
.approach{--approach-gap:12%;--step-number-width:32px;--step-gap:22px;--approach-content-space:31px}
.approach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--approach-gap);row-gap:0;align-items:start}
.approach-grid>.section-label{grid-column:1/-1;grid-row:1}
.approach-grid>h2{grid-column:1;grid-row:2;min-width:0}
.approach-summary{grid-column:1;grid-row:3;min-width:0;max-width:none;margin:27px 0 0;padding:0;color:#c5cfd5;font-size:1rem}
.approach-grid>.approach-photo{grid-column:1;grid-row:4;min-width:0;margin:var(--approach-content-space) 0 0}
.approach-grid>.approach-steps{grid-column:2;grid-row:4;min-width:0;align-self:start;margin:var(--approach-content-space) 0 0}
.approach-steps li{grid-template-columns:var(--step-number-width) minmax(0,1fr);column-gap:var(--step-gap)}
.approach-steps li:first-child{padding-top:0}
@media(max-width:1100px){.approach{--approach-gap:8%}}
@media(max-width:800px){.approach{--approach-gap:7%;--approach-content-space:26px}.approach-summary{font-size:.9375rem}}
@media(max-width:620px){.approach{--approach-gap:16px;--step-gap:16px;--approach-content-space:26px}.approach-grid{grid-template-columns:var(--step-number-width) minmax(0,1fr)}.approach-grid>h2{grid-column:2;grid-row:2}.approach-summary{grid-column:2;grid-row:3;padding:0;margin-top:22px;font-size:1rem}.approach-grid>.approach-photo{grid-column:2;grid-row:4}.approach-grid>.approach-steps{grid-column:1/-1;grid-row:5}.approach-steps li:first-child{padding-top:25px}}

/* Keep the footer compact after removing its logo. */
@media(max-width:620px){.footer-inner{display:flex;flex-wrap:wrap;gap:18px 24px}.site-footer p{flex:0 0 100%;margin:0}.footer-inner>a:last-child{margin-left:auto}}

.analytics-settings{border:0;background:none;color:inherit;padding:0;font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.analytics-consent[hidden],.analytics-settings[hidden]{display:none!important}
.analytics-consent{position:fixed;z-index:1000;inset:auto 24px 24px;max-width:1080px;margin-inline:auto;display:flex;align-items:center;gap:24px;padding:24px;background:white;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 40px #15232e33;max-height:calc(100dvh - 48px);overflow:auto}
.analytics-consent-copy{flex:1;min-width:0}.analytics-consent h2{font-size:1.125rem;line-height:1.4;letter-spacing:normal;font-weight:600}.analytics-consent p{font-size:1rem;line-height:1.6;margin-top:8px}.analytics-consent a{text-decoration:underline;text-underline-offset:3px}.analytics-consent #analytics-consent-status:empty{display:none}
.analytics-consent-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.analytics-consent-actions button{padding:12px 18px;min-height:46px;border:1px solid var(--ink);background:var(--ink);color:white;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}.analytics-consent-actions button:hover{background:#304754}.analytics-settings:focus-visible,.analytics-consent :focus-visible{outline:3px solid #103cab;outline-offset:4px}
@media(max-width:620px){.analytics-consent{inset:auto 12px 12px;padding:20px;display:block;max-height:calc(100dvh - 24px)}.analytics-consent-actions{margin-top:18px;flex-direction:row;flex-wrap:wrap}.analytics-consent-actions button{flex:1;min-width:150px}}

/* Prominent expertise navigation connects the introduction to each service. */
.expertise-band{background:var(--lime);color:var(--ink);padding:30px 0 32px}
.expertise-band-label{font-size:.875rem;font-weight:700;letter-spacing:.11em;line-height:1.5;margin:0 0 21px}
.expertise-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.expertise-link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:12px;row-gap:26px;align-items:start;min-width:0;min-height:160px;padding:17px 0 14px;border-top:2px solid var(--ink)}
.expertise-link-number{grid-column:1;grid-row:1;font-size:.9375rem;font-weight:600;line-height:1.5}
.expertise-link-arrow{grid-column:2;grid-row:1;font-size:1.5rem;line-height:1;transition:transform .18s ease}
.expertise-link-title{grid-column:1/-1;grid-row:2;font-size:clamp(1.625rem,2vw,1.875rem);font-weight:700;letter-spacing:-.025em;line-height:1.2;overflow-wrap:anywhere}
.expertise-link-title>span{display:block}
.expertise-link:hover .expertise-link-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.expertise-link:hover .expertise-link-arrow{transform:translate(2px,2px)}
.expertise-link:focus-visible{outline:3px solid var(--ink);outline-offset:7px}
.service[id]{scroll-margin-top:16px}
.approach-photo picture{display:block}
.not-found-page{min-height:100vh;display:flex;align-items:center;background:var(--ink);color:white}
.not-found-content{padding-block:80px}.not-found-content .eyebrow{color:var(--lime)}.not-found-content h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.1;margin-top:24px}.not-found-content>p:not(.eyebrow){margin-top:24px;font-size:1.125rem;color:#c5cfd5}.not-found-content .button{margin-top:32px}
@media(max-width:1100px){.expertise-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}.expertise-link{min-height:150px;row-gap:20px}.expertise-link-title{font-size:1.875rem}}
@media(max-width:620px){.expertise-band{padding:26px 0 20px}.expertise-band-label{font-size:.875rem;margin-bottom:17px}.expertise-links{grid-template-columns:minmax(0,1fr);gap:0}.expertise-link{grid-template-columns:28px minmax(0,1fr) 24px;grid-template-rows:auto;align-items:center;column-gap:14px;row-gap:0;min-height:94px;padding:20px 0;border-top-width:1px}.expertise-link-title{grid-column:2;grid-row:1;font-size:1.5rem;line-height:1.2}.expertise-link-title>span{display:inline}.expertise-link-arrow{grid-column:3;grid-row:1;font-size:1.375rem}.expertise-link-number{font-size:.875rem}}
