@font-face{font-family:"Archivo";src:url("/assets/archivo.dedd901696d1.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"GV Cut";src:url("/assets/gv-cut-display.6f73b6fa398b.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"GV Cut Verb";src:url("/assets/gv-cut-connector.a4cd48ead5d1.woff2") format("woff2");font-weight:750;font-display:swap}
:root{--ink:#053539;--paper:#F4F1EA;--white:#FFFFFF;--panel:#E8E5DD;--muted:#3F5355;--line:#B9B5AB;--line-inv:#849FA2;--longevity-bright:#DD7E5B;--longevity-deep:#8D3619;--longevity-tint:#F08C6D;--longevity-on:var(--ink);--longevity-edge:var(--longevity-bright);--forestry-bright:#1FC47E;--forestry-deep:#126B45;--forestry-tint:#1FC47E;--forestry-on:var(--ink);--forestry-edge:var(--forestry-bright);--consulting-bright:#FFC229;--consulting-deep:#7A5600;--consulting-tint:#FFC229;--consulting-on:var(--ink);--consulting-edge:var(--consulting-bright);--public-affairs-bright:#814685;--public-affairs-deep:#57255F;--public-affairs-tint:#BC91D0;--public-affairs-on:var(--paper);--public-affairs-edge:var(--paper);--brand-bright:#ABE0DD;--brand-deep:#00585C;--brand-tint:#ABE0DD;--brand-on:var(--ink);--brand-edge:var(--brand-bright);--family:"Archivo";--display-wdth:75;--display-wght:900;--display-leading:0.92;--display-leading-sentence:1.0;--display-leading-caps-pt:1.0;--display-tracking-em:0em;--display-word-spacing-add-em:0.106em;--heading-wdth:85;--heading-wght:900;--heading-leading:1.0;--heading-tracking-em:0em;--heading-word-spacing-add-em:0.068em;--connector-wdth:80;--connector-wght:750;--connector-tracking-em:0em;--connector-word-spacing-add-em:0.106em;--text-wdth:100;--text-wght:400;--text-leading:1.5;--text-strong-wdth:100;--text-strong-wght:600;--label-wdth:88;--label-wght:650;--label-tracking-em:0.1em;--narrow-fallback-wdth:62;--narrow-fallback-wght:900}
.longevity{--category-bright:var(--longevity-bright);--category-deep:var(--longevity-deep);--category-tint:var(--longevity-tint);--category-on:var(--longevity-on);--category-edge:var(--longevity-edge)}
.forestry{--category-bright:var(--forestry-bright);--category-deep:var(--forestry-deep);--category-tint:var(--forestry-tint);--category-on:var(--forestry-on);--category-edge:var(--forestry-edge)}
.consulting{--category-bright:var(--consulting-bright);--category-deep:var(--consulting-deep);--category-tint:var(--consulting-tint);--category-on:var(--consulting-on);--category-edge:var(--consulting-edge)}
.public_affairs{--category-bright:var(--public-affairs-bright);--category-deep:var(--public-affairs-deep);--category-tint:var(--public-affairs-tint);--category-on:var(--public-affairs-on);--category-edge:var(--public-affairs-edge)}
.brand{--category-bright:var(--brand-bright);--category-deep:var(--brand-deep);--category-tint:var(--brand-tint);--category-on:var(--brand-on);--category-edge:var(--brand-edge)}
.chain .noun{font-family:"GV Cut",var(--family),sans-serif;font-synthesis:none}
.chain .connector{font-family:"GV Cut Verb",var(--family),sans-serif;font-synthesis:none}
.chain .connector{font-variation-settings:"wdth" var(--display-wdth),"wght" var(--connector-wght)}
/* Base assumptions
| ID | Assumption | Why | What would change it |
| CSS1 | Layout sizes are local, identity values are CSS tokens. | Approved concept. | Token revision. |
| CSS2 | The complete document is the default state. | Accessibility brief. | None. |
*/
*{box-sizing:border-box}html{container-type:inline-size;scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--family),sans-serif;font-size:18px;line-height:var(--text-leading);font-variation-settings:'wdth' var(--text-wdth),'wght' var(--text-wght)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:break-word}a{color:inherit;text-underline-offset:5px}a,button,summary{touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}strong{font-variation-settings:'wdth' var(--text-strong-wdth),'wght' var(--text-strong-wght);font-weight:var(--text-strong-wght)}img,svg{max-width:100%}img{display:block;height:auto}main,section,article,form,div{min-width:0}[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex='-1']:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.dark a:focus-visible,.dark button:focus-visible,.dark summary:focus-visible{outline-color:var(--paper)}.dark .entrance:focus-visible{outline-color:var(--category-on);outline-offset:-7px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:var(--paper);color:var(--ink);z-index:20}.skip:focus{top:10px}
.dark{background:var(--ink);color:var(--paper)}.display,.noun{font-variation-settings:'wdth' var(--display-wdth),'wght' var(--display-wght);font-weight:var(--display-wght);letter-spacing:var(--display-tracking-em);word-spacing:var(--display-word-spacing-add-em,0);line-height:var(--display-leading)}.display{font-size:clamp(56px,7.4vw,106px)}.heading,h2,h3{font-variation-settings:'wdth' var(--heading-wdth),'wght' var(--heading-wght);font-weight:var(--heading-wght);letter-spacing:var(--heading-tracking-em);word-spacing:var(--heading-word-spacing-add-em,0);line-height:var(--heading-leading)}.heading{font-size:36px}h2{font-size:44px}h3{font-size:30px}.label,.index{font-size:13px;text-transform:uppercase;letter-spacing:var(--label-tracking-em);font-variation-settings:'wdth' var(--label-wdth),'wght' var(--label-wght);line-height:1.45}.index{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.measure{max-width:62ch}.stack{display:grid;gap:20px}.actions{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}.arrow{width:25px;height:25px;flex-shrink:0;transition:transform 120ms linear}.control-icon{width:22px;height:22px;flex-shrink:0}.control-icon .vertical{display:block}details[open]>summary .control-icon .vertical{display:none}
.category-text{color:var(--category-deep)}.dark .category-text{color:var(--category-tint)}
.site-header{display:flex;align-items:center;gap:30px;margin:0 48px;border-bottom:1px solid var(--line);padding:20px 0;min-height:88px}.dark .site-header{border-color:var(--line-inv)}.brand-lockup{display:flex;align-items:center;flex-shrink:0;min-height:44px}.brand-lockup svg{width:270px;height:auto;display:block}.desktop-nav{display:flex;gap:24px;margin-left:auto;align-items:center}.desktop-nav a,.language{font-size:14px;min-height:44px;display:flex;align-items:center;text-decoration:none;font-weight:var(--text-strong-wght)}.desktop-nav a[aria-current],.mobile-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.language{border-left:1px solid var(--line);padding-left:22px}.mobile-nav{display:none}
.section{padding:52px 48px 64px}.section-head{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px 48px;align-items:end;margin-bottom:36px}.section-head>.label{grid-column:1/-1}.section-head .display{max-width:18ch}.intro{font-size:18px;line-height:1.5;max-width:62ch}.page-intro{padding-top:42px}.page-intro .section-head{margin-bottom:0}.button{display:inline-flex;justify-content:space-between;gap:24px;align-items:center;background:var(--ink);color:var(--paper);border:0;text-decoration:none;min-height:54px;padding:14px 18px;font-size:16px;font-weight:var(--text-strong-wght);cursor:pointer}.dark .button{background:var(--paper);color:var(--ink)}.action{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;border-bottom:2px solid currentColor;padding:12px 0;min-height:48px;font-size:16px;font-weight:var(--text-strong-wght);width:fit-content}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:var(--text-strong-wght)}
.home-top{padding-bottom:36px}.hero-band{padding:30px 48px 36px}.hero-kicker{margin-bottom:26px}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:44px;align-items:end}.chain{font-size:inherit;font-weight:normal}.clause{position:relative;display:flex;align-items:baseline;gap:18px;white-space:nowrap;border-top:1px solid var(--line-inv);padding:4px 0 14px}.clause:first-child{border-top:0}.clause-n{font-size:12px;min-width:20px;align-self:center}.noun{font-size:clamp(100px,12vw,172px)}html:lang(pt-PT) .noun{font-size:clamp(110px,13.2vw,190px)}.connector{font-size:48px;letter-spacing:var(--connector-tracking-em);word-spacing:var(--connector-word-spacing-add-em,0);font-variation-settings:'wdth' var(--connector-wdth),'wght' var(--connector-wght);font-weight:var(--connector-wght);line-height:1}.chain-rule{position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--line-inv);transform-origin:left}.clause:last-child .chain-rule{display:none}.hero-offer{display:grid;gap:20px;padding-bottom:20px}.hero-offer p{font-size:18px;line-height:1.45}.entrances{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 48px}.entrance{text-decoration:none;background:var(--category-bright);color:var(--category-on);outline:2px solid var(--category-edge);outline-offset:-2px;padding:14px 20px 18px;display:grid;gap:8px;min-height:90px}.entrance-name{display:flex;align-items:end;justify-content:space-between;gap:14px;font-size:29px;font-variation-settings:'wdth' var(--heading-wdth),'wght' var(--heading-wght);line-height:1}
.chain-running .clause{animation:clause-arrive 420ms linear both;animation-delay:var(--clause-delay)}.chain-running .chain-rule{animation:rule-advance 450ms linear both;animation-delay:var(--clause-delay)}@keyframes clause-arrive{from{clip-path:inset(0 0 100% 0);transform:translateY(10px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes rule-advance{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(hover:hover) and (pointer:fine){.button:hover .arrow,.action:hover .arrow,.entrance:hover .arrow{transform:translate(3px,-3px)}.desktop-nav a:hover,.language:hover{text-decoration:underline}.home-top:has(.entrance.longevity:hover,.entrance.longevity:focus-visible) .health{color:var(--longevity-tint)}.home-top:has(.entrance.forestry:hover,.entrance.forestry:focus-visible) .health{color:var(--forestry-tint)}.home-top:has(.entrance.consulting:hover,.entrance.consulting:focus-visible) .connector{color:var(--consulting-tint)}.home-top:has(.entrance.public_affairs:hover,.entrance.public_affairs:focus-visible) .connector{color:var(--public-affairs-tint)}.work-link:hover .tile{background:var(--ink);color:var(--paper)}.work-link:hover .neutral-tile{background:var(--panel);color:var(--ink)}.service-line>summary:hover .summary-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}}
.button:focus-visible .arrow,.action:focus-visible .arrow{transform:translate(3px,-3px)}
.commission-row{display:grid;grid-template-columns:3.5fr 4.5fr 3fr 1.5fr;gap:28px;padding:25px 0;border-top:1px solid var(--ink);align-items:start}.commission-name{display:grid;grid-template-columns:24px 1fr;gap:20px}.commission-name h3{font-size:32px}.commission-output,.commission-evidence{font-size:16px;line-height:1.45}.commission-output p+p{margin-top:12px}.question{font-weight:var(--text-strong-wght)}.commission-evidence{color:var(--muted)}.commission-evidence a{color:var(--ink)}.commission-start .action{font-size:15px}
.work-pair{display:grid;grid-template-columns:2fr 1fr;gap:32px}.work-entry{padding:28px 0;border-top:1px solid var(--ink);display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:center}.work-pair .work-entry{display:block;padding-top:0;border:0}.work-link{display:block;text-decoration:none}.tile{background:var(--category-bright);color:var(--category-on);padding:24px 28px;min-height:350px;display:flex;flex-direction:column;justify-content:space-between}.neutral-tile{background:var(--ink);color:var(--paper)}.panel-tile{background:var(--panel);color:var(--ink)}.tile-top{display:flex;gap:20px;justify-content:space-between}.tile-words{font-size:clamp(60px,7vw,96px);margin:24px 0;overflow-wrap:normal}.tile-words>span{display:block}.tile-status{padding-top:12px;border-top:1px solid currentColor}.work-pair .tile{min-height:416px}.work-info{display:grid;gap:16px}.work-pair .work-info{margin-top:22px}.work-info .heading{font-size:38px}.work-info>p{font-size:17px}.work-pair .work-info .heading{font-size:32px}.work-pair .work-info>p{font-size:16px}.work-meta{display:flex;flex-wrap:wrap;gap:10px 24px}.case-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.case-title{display:grid;gap:22px}.case-title .display{font-size:clamp(70px,6.7vw,96px);max-width:13ch}.case-credit{font-size:17px;font-weight:var(--text-strong-wght)}.case-top .tile{min-height:560px}.case-summary{max-width:50ch}.back{margin-bottom:24px}.evidence-row{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:28px 0;border-top:1px solid var(--ink)}.evidence-row h2{font-size:30px}.evidence-row p{max-width:62ch}.figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}.figure-value{font-size:clamp(50px,5vw,72px);margin-bottom:14px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery .tile{min-height:320px;padding:22px}.gallery figcaption{margin-top:12px;font-size:15px;line-height:1.4}.gallery-label{margin-bottom:28px}
.idea-lede{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:24px 0 36px}.idea-lede .heading{font-size:44px}.idea-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:48px}.idea-clause{border-top:1px solid var(--ink);padding-top:20px;display:grid;gap:16px}.idea-clause h3{font-size:32px}.categories-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 32px}.category-door{background:var(--category-bright);padding:24px;color:var(--category-on);display:grid;gap:16px;text-decoration:none}.category-door .heading{font-size:44px}.category-body{padding:22px 0;display:grid;gap:16px}.category-body h3{font-size:32px}.documentary img{width:100%;aspect-ratio:3/2;object-fit:cover}.documentary figcaption{font-size:13px;color:var(--muted);margin-top:8px}.category-image-fallback{aspect-ratio:3/2;display:flex;align-items:end;padding:24px;background:var(--panel)}.category-image-fallback .heading{font-size:54px;max-width:12ch}
.catalogue-row{display:grid;grid-template-columns:44px 4fr 3fr 2fr;gap:24px;padding:25px 0;border-top:1px solid var(--ink);align-items:start}.catalogue-row h3{font-size:34px}.catalogue-row p{font-size:17px}.catalogue-row .action{font-size:15px}.line-category{display:block;margin-bottom:12px}.catalogue-note{margin-top:24px;max-width:62ch}
.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.portrait-tile{background:var(--panel);color:var(--ink);height:210px;display:flex;align-items:end;padding:18px}.portrait-tile>.display{font-size:148px;line-height:.85}.person:nth-child(even) .portrait-tile{background:var(--ink);color:var(--paper)}.person-info{display:grid;gap:15px;padding:22px 0}.person-info>.heading{font-size:38px}.person-info>p{font-size:17px;line-height:1.45}.person-role{font-weight:var(--text-strong-wght)}.person-profile{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:38px 0;border-top:1px solid var(--ink)}.person-profile .portrait-tile{height:320px;margin-bottom:24px}.person-profile .portrait-tile>.display{font-size:220px}.person-profile:nth-child(even) .portrait-tile{background:var(--ink);color:var(--paper)}.person-details{display:grid;gap:24px;align-content:start}.person-details>.heading{font-size:48px}.record{padding:0;margin:0;list-style:none}.record li{border-top:1px solid var(--line);padding:14px 0}.person-details h3{font-size:25px}.person-index{margin:24px 0 0}.person-index a{min-height:44px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:0}.steps li{display:grid;grid-template-columns:44px 1fr 1.4fr;gap:28px;border-top:1px solid var(--ink);padding:26px 0}.steps h3{font-size:32px}.download{border-top:1px solid var(--ink);padding-top:28px;margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px 48px}.download .heading{font-size:36px}.download .actions{grid-column:1/-1}.closing{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center;border-top:1px solid var(--ink)}.closing .heading{font-size:54px}
.sector-hero{background:var(--category-bright);color:var(--category-on);padding:42px 48px 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px 48px}.sector-hero .display{font-size:clamp(60px,6.7vw,96px);max-width:15ch}.sector-title{display:grid;gap:24px;align-content:start}.sector-hero>.documentary{align-self:stretch}.sector-hero>.documentary img{height:100%;min-height:360px}.sector-hero>.documentary figcaption{color:var(--category-on)}.sector-hero>.intro{max-width:65ch;grid-column:1/-1;background:var(--paper);color:var(--ink);padding:20px 24px}.sector-hero>.actions{grid-column:1/-1}.sector-read{display:grid;grid-template-columns:1fr 1fr;gap:64px}.sector-read h2{margin-bottom:28px}.buyer-list{display:grid;gap:24px}.buyer-list h3{font-size:28px;margin-bottom:12px}.questions{list-style:none;padding:0;margin:0;counter-reset:questions}.questions li{counter-increment:questions;border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:24px 1fr;gap:18px}.questions li::before{content:counter(questions,decimal-leading-zero);font-size:13px;font-variant-numeric:tabular-nums}.sector-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.sector-detail .display{font-size:72px}.scope-note{border-top:1px solid var(--line);padding-top:18px;margin-top:26px;max-width:62ch;font-size:17px}
.services-index{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.services-index a{border-top:1px solid var(--line);padding:12px 0;min-height:48px;display:flex;gap:20px;text-decoration:none}.services-index a:hover{text-decoration:underline}.capability-anchor{display:block;scroll-margin-top:20px}.service-line{border-bottom:1px solid var(--ink)}.service-line>summary{list-style:none;display:grid;grid-template-columns:44px 1fr 140px 24px;gap:20px;align-items:center;padding:22px 24px;min-height:90px;cursor:pointer}.service-line>summary::-webkit-details-marker{display:none}.service-line[open]>summary{background:var(--category-bright);color:var(--category-on)}.summary-title{font-size:38px}.service-line>summary .line-category{margin:0;color:var(--category-deep)}.service-line[open]>summary .line-category{color:var(--category-on)}.line-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:24px 0;font-size:17px}.line-intro p+p{margin-top:14px}.deliverable{display:grid;grid-template-columns:44px 3.2fr 5fr 1.4fr;gap:24px;border-top:1px solid var(--line);padding:24px 0;align-items:start;scroll-margin-top:24px}.deliverable h3{font-size:30px}.deliverable-copy{font-size:17px;line-height:1.45}.deliverable-copy p+p{margin-top:12px}.deliverable>.action{font-size:15px;padding-top:0}.deliverable-list>.deliverable:first-child{border-color:var(--ink)}.deliverable .label{display:block;margin-bottom:8px}.deliverable .lead{margin-top:14px;color:var(--muted);font-size:15px}.engagement-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px}.engagement-grid article{padding-top:20px;border-top:1px solid var(--ink)}.engagement-grid h3{margin-bottom:16px}
.enquiry-section{display:grid;grid-template-columns:1fr 1fr;gap:40px 96px;align-items:start}.enquiry-title{display:grid;gap:24px;grid-column:1;grid-row:1;align-content:start}.enquiry-title .display{font-size:96px;max-width:11ch}.enquiry-title p{max-width:42ch}.enquiry-section form{grid-column:2;grid-row:1/span 3}.enquiry-next{grid-column:1;grid-row:2;border-top:1px solid var(--ink);padding-top:24px}.enquiry-next h2{font-size:32px}.enquiry-next ol{padding-left:24px;margin:20px 0 0;display:grid;gap:20px;font-size:17px}.enquiry-next h3{font-size:22px;margin-bottom:8px}.firm-info{grid-column:1;grid-row:3;display:grid;gap:16px;border-top:1px solid var(--line);padding-top:24px}.firm-info h2{font-size:30px}.firm-lines{font-size:17px}.firm-lines p+p{margin-top:8px}form{display:grid;gap:18px;align-content:start}.form-context{border-top:4px solid var(--ink);padding-top:12px;display:grid;gap:12px}.form-context .heading{font-size:34px}.context-sector{font-size:16px}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:15px;font-weight:var(--text-strong-wght);margin-bottom:8px}label small{font-size:13px;font-weight:var(--text-wght);color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--muted);border-radius:0;background:var(--white);color:var(--ink);padding:12px;min-height:48px;font-size:17px}textarea{min-height:150px;resize:vertical}.optional-fields{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.optional-fields>summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer;font-size:16px;font-weight:var(--text-strong-wght);list-style:none}.optional-fields>summary::-webkit-details-marker{display:none}.optional-content{padding:18px 0;display:grid;gap:16px}.privacy-note,.language-notice{font-size:14px;line-height:1.45;color:var(--muted)}.privacy-note .text-link{color:var(--ink);font-size:14px}.submit{width:100%}.form-status{font-size:16px;min-height:0}.error-summary{border:2px solid var(--ink);padding:20px}.error-summary h2{font-size:24px}.error-summary ul{padding-left:24px;margin-bottom:0}.field-error{font-size:15px;margin-top:8px}.invalid{border:2px solid var(--ink)}.submit[disabled]{cursor:wait}.language-notice{border-top:1px solid var(--line);padding-top:14px}.utility .display{max-width:18ch}.utility .intro{margin-top:24px}.utility .actions{margin-top:26px}.privacy-blocks{max-width:1000px}.privacy-block{display:grid;grid-template-columns:1fr 2fr;gap:48px;border-top:1px solid var(--ink);padding:28px 0}.privacy-block h2{font-size:30px}.thanks-context{margin-top:32px;padding-top:20px;border-top:1px solid var(--ink);max-width:62ch}
.site-footer{border-top:1px solid var(--line);margin:0 48px;padding:36px 0 40px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px 48px}.site-footer .brand-lockup svg{width:230px}.footer-about{display:grid;gap:20px}.footer-about p{font-size:17px;max-width:42ch}.footer-links{display:grid;align-content:start;gap:4px}.footer-links a{min-height:44px;display:flex;align-items:center;font-size:16px}.footer-end{grid-column:1/-1;font-size:14px;color:var(--muted)}
@media(min-width:1700px){.site-header,.entrances,.site-footer{max-width:1544px;margin-left:auto;margin-right:auto}.section,.hero-band,.sector-hero{padding-left:max(48px,calc((100% - 1544px)/2));padding-right:max(48px,calc((100% - 1544px)/2))}.hero-layout{grid-template-columns:minmax(0,1fr) 340px}.noun{font-size:190px}.connector{font-size:54px}}
/* 19 October 2026: the eight links need up to about 1270px in Portuguese. Below 1280px the header alone uses the menu. */
@media(max-width:1279px){.desktop-nav{display:none}.site-header{flex-wrap:wrap}.language{margin-left:auto}.mobile-nav{display:block;width:100%;border-top:1px solid var(--line)}.dark .mobile-nav{border-color:var(--line-inv)}.mobile-nav>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;list-style:none;font-size:15px}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav nav{display:grid;padding:10px 0;gap:2px}.mobile-nav nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}}
@media(max-width:1100px){.brand-lockup svg{width:210px}.site-header{gap:20px}.hero-layout{grid-template-columns:1fr}.hero-offer{grid-template-columns:1fr auto;align-items:center}.hero-offer .text-link{grid-column:2}.noun{font-size:15vw}.connector{font-size:44px}.section-head{grid-template-columns:1fr 280px}.commission-row{grid-template-columns:1fr 1.2fr}.work-entry{gap:28px;grid-template-columns:1fr 1fr}.work-pair .tile-words{font-size:72px}.catalogue-row{grid-template-columns:32px 1fr 1fr}.catalogue-row>.action{grid-column:2}.enquiry-section{gap:40px}.enquiry-title .display{font-size:72px}.sector-hero{gap:32px}.gallery .tile{padding:16px}.person-info>.heading{font-size:30px}}
@media(max-width:860px){.people-grid{grid-template-columns:1fr 1fr}.service-line>summary{grid-template-columns:32px 1fr minmax(min-content,130px) 22px;gap:16px}.summary-title{font-size:32px}.deliverable{grid-template-columns:40px 1fr 1.3fr}.deliverable>.action{grid-column:2}.sector-hero{grid-template-columns:1fr 1fr}.sector-hero .display{font-size:64px}.sector-read{gap:32px}.gallery{grid-template-columns:1fr}.gallery .tile{min-height:270px}.gallery .tile-words{font-size:52px}.site-footer{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}
@media(max-width:760px){body{font-size:17px}.site-header{margin:0 20px;padding:14px 0;gap:10px;min-height:70px}.brand-lockup svg{width:218px}.language{font-size:13px;padding-left:0;border-left:0}.mobile-nav>summary{font-size:14px}.display{font-size:52px}.heading,h2{font-size:32px}h3{font-size:28px}.section{padding:32px 20px 44px}.section-head{display:block;margin-bottom:28px}.section-head>.label{display:block;margin-bottom:16px}.section-head .display{max-width:100%;font-size:52px}.intro{margin-top:20px;font-size:17px}.page-intro{padding-top:28px}.home-top{padding-bottom:28px}.hero-band{padding:24px 20px 22px}.hero-kicker{max-width:none;margin-bottom:24px}.hero-layout{display:block}.clause{gap:6px;padding:5px 0 14px}.clause-n{font-size:11px;min-width:12px}.noun,html:lang(pt-PT) .noun{font-size:clamp(44px,14.35cqw,104px)}.connector{font-size:clamp(16px,4.62cqw,34px)}.hero-offer{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;padding-bottom:0}.hero-offer p{width:100%;font-size:17px;line-height:1.45}.hero-offer .button{font-size:15px;min-height:50px;padding:12px;gap:18px}.hero-offer .text-link{font-size:15px}.entrances{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 20px}.entrance{min-height:88px;padding:12px;gap:8px}.entrance .label{font-size:12px}.entrance-name{font-size:24px;align-items:start;gap:8px}.entrance-name .arrow{width:21px;height:21px}.commission-row{display:block;padding:28px 0}.commission-name{grid-template-columns:20px 1fr;gap:14px}.commission-name h3{font-size:36px}.commission-output,.commission-evidence{margin-top:20px;font-size:17px;line-height:1.5}.commission-start{margin-top:12px}.commission-start .action{font-size:16px}.work-entry{display:block;padding:24px 0 28px}.work-pair{display:block}.work-pair .work-entry{padding-top:22px;border-top:1px solid var(--ink)}.tile{padding:18px;min-height:290px}.tile-top{gap:14px}.tile-top>.label{font-size:12px}.tile-words{margin:24px 0}.work-pair .tile,.case-top .tile{min-height:300px}.work-info{gap:14px;margin-top:24px}.work-info .heading,.work-pair .work-info .heading{font-size:36px}.work-info>p,.work-pair .work-info>p{font-size:17px}.case-top{display:block}.back{margin-bottom:20px}.case-title{gap:16px}.case-title .display{font-size:52px;max-width:13ch}.case-credit{font-size:16px}.case-top>.work-figure{margin-top:28px}.case-title .action{font-size:16px}.evidence-row{display:block;padding:26px 0}.evidence-row h2{margin-bottom:18px;font-size:30px}.figures{grid-template-columns:1fr;gap:28px}.figure-value{font-size:52px}.gallery{gap:28px}.gallery .tile{padding:18px}.gallery figcaption{font-size:16px}.idea-lede{display:block}.idea-lede .heading{font-size:34px;margin-bottom:20px}.idea-chain{display:block;margin-bottom:32px}.idea-clause{padding:22px 0;gap:14px}.idea-clause h3{font-size:30px}.categories-grid{display:block}.categories-grid>article+article{margin-top:24px}.category-door{padding:20px}.category-door .heading{font-size:36px}.category-body h3{font-size:30px}.category-image-fallback{padding:20px}.category-image-fallback .heading{font-size:44px}.catalogue-row{display:grid;grid-template-columns:24px 1fr;gap:14px;padding:25px 0}.catalogue-row h3{font-size:32px}.catalogue-row>p{grid-column:2}.catalogue-row>.action{grid-column:2;font-size:16px}.people-grid{display:block}.person{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--ink)}.portrait-tile{height:110px;padding:10px}.portrait-tile>.display{font-size:58px}.person-info{padding:0;gap:12px}.person-info>.heading{font-size:32px}.person-info>p{font-size:17px}.person-role{font-size:16px!important}.person-profile{display:block;padding:28px 0}.person-profile .portrait-tile{height:180px;width:150px;margin-bottom:24px}.person-profile .portrait-tile>.display{font-size:110px}.person-details{margin-top:24px;gap:22px}.person-details>.heading{font-size:42px}.person-details h3{font-size:26px}.steps li{grid-template-columns:24px 1fr;gap:16px}.steps li>p{grid-column:2}.steps h3{font-size:30px}.download{display:block;padding-top:26px;margin-top:26px}.download .heading{font-size:32px}.download p{margin-top:18px}.download .actions{margin-top:14px}.closing{display:block}.closing .heading{font-size:42px}.closing .actions{margin-top:24px}.sector-hero{display:block;padding:28px 20px 36px}.sector-title{gap:20px}.sector-hero .display{font-size:58px}.sector-hero>.documentary{margin-top:28px}.sector-hero>.documentary img{min-height:0;height:auto}.sector-hero>.intro{margin-top:24px}.sector-hero>.actions{margin-top:20px}.sector-read{display:block}.sector-read>div+div{margin-top:36px}.sector-read h2{font-size:36px}.buyer-list h3{font-size:28px}.sector-detail{display:block}.sector-detail .display{font-size:50px;margin:24px 0 16px}.services-index{display:block}.services-index a{font-size:17px}.service-line>summary{grid-template-columns:24px 1fr 22px;gap:12px;padding:18px 14px;align-items:start}.summary-title{font-size:32px}.service-line>summary .line-category{grid-column:2;font-size:12px}.service-line>summary .control-icon{grid-column:3;grid-row:1}.line-intro{display:block;padding:22px 0;font-size:17px}.line-intro>div+div{margin-top:20px}.deliverable{display:block;padding:26px 0}.deliverable>.index{display:block;margin-bottom:12px}.deliverable h3{font-size:32px}.deliverable-copy{margin:18px 0;font-size:17px;line-height:1.5}.deliverable>.action{font-size:16px;padding:12px 0}.deliverable .lead{font-size:16px}.engagement-grid{display:block}.engagement-grid article{padding:22px 0}.enquiry-section{display:flex;flex-direction:column;gap:32px}.enquiry-section form{width:100%;order:2}.enquiry-title{order:1;gap:20px}.enquiry-title .display{font-size:52px;max-width:11ch}.enquiry-next{order:3;width:100%;padding-top:24px}.firm-info{order:4;width:100%}.form-context .heading{font-size:32px}.input-pair{grid-template-columns:1fr;gap:18px}form{gap:18px}textarea{min-height:140px}.privacy-note,.language-notice{font-size:14px}.utility .display{font-size:52px}.privacy-block{display:block;padding:26px 0}.privacy-block h2{font-size:30px;margin-bottom:18px}.site-footer{margin:0 20px;padding:28px 0;gap:28px;display:block}.footer-about{margin-bottom:24px}.site-footer .brand-lockup svg{width:220px}.footer-links{margin-top:16px}.footer-end{margin-top:24px}.site-footer a{min-height:44px}.actions{gap:8px 24px}}
@media(max-width:359px){.brand-lockup svg{width:180px}.site-header{gap:8px}.language{font-size:12px}.entrance-name{font-size:21px}.entrance-name .arrow{width:18px;height:18px}.display,.section-head .display,.case-title .display,.enquiry-title .display,.utility .display{font-size:46px}.sector-hero .display{font-size:50px}.person{grid-template-columns:60px 1fr;gap:16px}.portrait-tile>.display{font-size:44px}.person-info>.heading{font-size:30px}.summary-title{font-size:28px}.commission-name h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.clear-button{border:0;background:transparent;padding:0;cursor:pointer;text-decoration:underline;min-height:44px}
.desktop-nav a,.language{min-width:44px}.entrance-name .arrow{order:2}.entrance-text{order:1;min-width:0}
h1,h2,h3,p,figure{min-width:0}
.sn{display:inline-block}.section-head .display,.heading,h2,h3{text-wrap:balance}
.photo-tile{position:relative;padding:0;overflow:hidden;background:var(--panel)}.photo-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.portrait-tile.has-photo{padding:0;overflow:hidden}.portrait-tile.has-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}

/* Reflow (WCAG 1.4.4, 1.4.10, 1.4.12): nothing forces a single line, and a word longer than its box breaks */
.clause{white-space:normal;flex-wrap:wrap}
.noun,.connector,.display,.heading,h1,h2,h3,.tile-words,.tile-words span,.entrance-text,.label,.figure-value,.sn{overflow-wrap:break-word;min-width:0;max-width:100%}
.tile,.work-figure,.work-info,.case-title,.section-head>*,.hero-layout>*,.entrance,.entrance-name,.commission-name,.person-info,.category-door{min-width:0}
.tile-top{flex-wrap:wrap}

/* One category index per page (tokens: colour_rules.index). The later home headings are neutral, named in the deep colour */
.categories-grid .category-door{background:transparent;color:var(--ink);padding:18px 0 4px;border-top:8px solid var(--category-deep)}
.categories-grid .category-door .label{color:var(--category-deep)}
.lines-title{margin-bottom:24px}
.buyer-list .action{margin-top:14px}

/* Tiles size their words against their own width, so a line of the work never wraps a single short word */
.tile{container-type:inline-size}

/* Portuguese capitals carry accents: tile lines get room for them */
html:lang(pt-PT) .tile-words{line-height:var(--display-leading-caps-pt,1)}

/* Fit: a heading shrinks until its longest word fits its own box (the generator measures the word and writes --w).
   The emergency wrapping above is then only ever used when a reader enlarges or spaces the text. */
.fit{container-type:inline-size}
.fit-in{display:block;font-size:min(1em,calc((100cqw - var(--r,0px))/var(--w)))}
.entrance-name,.portrait-tile{container-type:inline-size}
.entrance-text{flex:1 1 0;min-width:0}
.portrait-tile .fit-in{white-space:nowrap}
.tile .tile-words{font-size:min(var(--tile-cap,96px),calc(100cqw/var(--tw)))!important}
.work-pair .work-entry:nth-child(2) .tile{--tile-cap:72px}
.case-top .tile{--tile-cap:92px}
.gallery .tile{--tile-cap:54px}
@media(max-width:760px){.tile{--tile-cap:56px}}
@media(max-width:1100px){.entrances{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Sentence case in the display cut: descenders must clear the ascenders beneath them (tokens: display.leading_sentence) */
h1.display,h2.display,.section-head .display,.sector-hero .display,.case-title .display,.enquiry-title .display,.utility .display{line-height:var(--display-leading-sentence,1)}

/* Entrances on phones: the arrow sits in the corner, the name has the whole tile */
@media(max-width:760px){.entrance{position:relative}.entrance-name{display:block}.entrance-name .arrow{position:absolute;top:12px;right:12px}.entrance-text .fit-in{--r:0px!important}}
/* People: portrait, name, role and remit, record. Side by side on wide screens, in that order on a phone */
.person-profile{grid-template-rows:auto auto 1fr;gap:24px 48px}
.person-portrait{grid-column:1;grid-row:1/3}
.person-name{grid-column:2;grid-row:1;font-size:48px}
.person-side{grid-column:1;grid-row:3}
.person-details{grid-column:2;grid-row:2/4}
.person-profile .portrait-tile{margin-bottom:0}
@media(max-width:760px){.person-name{font-size:42px;margin:20px 0 12px}.person-side{margin-bottom:22px}.person-details{margin-top:0}}

/* The chain is sized against its own width: the largest size at which its widest clause fits on one line.
   These two rules replace the older per-breakpoint sizes, hence the priority. */
.chain{container-type:inline-size}
.clause{--noun:min(190px,calc((100cqw - var(--chain-fixed,64px))/var(--chain-w)))}
.chain .clause .noun{font-size:var(--noun)!important}
.chain .clause .connector{font-size:calc(var(--noun)*.29)!important}
@media(max-width:760px){.clause{--chain-fixed:28px}}

/* Portuguese capitals carry accents: the clause keeps them clear of the rule above */
html:lang(pt-PT) .chain .clause{padding-top:calc(var(--noun)*.11)}

/* Portrait initials are a drawing: they keep their place at any text size or spacing */
.portrait-tile .monogram{height:62%;width:auto;max-width:100%;fill:currentColor;display:block}

/* Desktop: the sentence and the five doors share the first screen. The numbers are the fixed heights around the
   three lines (header, label, rules, the doors) and the height of three lines per unit of type; Portuguese adds room
   for its accents and a second line in one door. Never smaller than 88px. */
@media(min-width:1101px){
.clause{--noun:min(190px,max(88px,calc((100vh - 376px)/2.76)),calc((100cqw - var(--chain-fixed,64px))/var(--chain-w)))}
html:lang(pt-PT) .clause{--noun:min(190px,max(88px,calc((100vh - 369px)/3.09)),calc((100cqw - var(--chain-fixed,64px))/var(--chain-w)))}
}

/* Case figures: up to tablet widths the heading sits above and the figures take the full width */
@media(max-width:1024px){.figures-row{display:block}.figures-row h2{margin-bottom:24px}}

/* The opening pair of work tiles stacks up to 900px: before that the second tile is too narrow to carry its words */
@media(max-width:900px){.work-pair{display:block}.work-pair .work-entry{padding-top:22px;border-top:1px solid var(--ink)}}
/* A word breaks only when it cannot fit a line of its own (enlarged text in a narrow column) */
body{overflow-wrap:break-word}

/* Round two: category values, including on and tint, are bound by the token generator. */
.capability-group{border-top:8px solid var(--category-deep);padding:24px 0;margin-top:32px;display:grid;gap:14px;scroll-margin-top:20px}
.person-lines{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.person-lines h3{font-size:22px;margin-bottom:12px}.person-lines .stack{gap:0}.person-lines a{font-size:15px}
@media(min-width:1101px){.categories-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.categories-grid>.sector{grid-column:span 3}.categories-grid>.capability{grid-column:span 2}}
.home-top:has(.entrance.longevity:focus-visible) .health{color:var(--longevity-tint)}
.home-top:has(.entrance.forestry:focus-visible) .health{color:var(--forestry-tint)}
.home-top:has(.entrance.consulting:focus-visible) .connector{color:var(--consulting-tint)}
.home-top:has(.entrance.public_affairs:focus-visible) .connector{color:var(--public-affairs-tint)}
.home-top:has(.entrance.brand:focus-visible) .connector{color:var(--brand-tint)}
@media(hover:hover) and (pointer:fine){.home-top:has(.entrance.brand:hover) .connector{color:var(--brand-tint)}}
.service-line[open]>summary:focus-visible{outline-color:var(--category-on);outline-offset:-6px}

/* Round three. Complete source pictures reserve their intrinsic ratio, with adjacent attribution. */
.tile.photo-tile,.work-pair .tile.photo-tile,.case-top .tile.photo-tile,.gallery .tile.photo-tile{padding:0;min-height:0;aspect-ratio:var(--photo-ratio);display:block;overflow:visible;background:var(--panel)}
.photo-tile img{position:static;inset:auto;width:100%;height:auto;object-fit:contain}
.tile.photo-tile{width:100%;max-width:var(--photo-max,100%)}
.work-figure figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--muted);max-width:68ch}
.portrait-tile,.person:nth-child(even) .portrait-tile{background:var(--ink);color:var(--paper);justify-content:center}
.portrait-tile.has-photo img{width:auto;max-width:180px;height:100%;object-fit:contain;object-position:center}
.portrait-figure figcaption{margin-top:10px;font-size:12px;line-height:1.5;color:var(--muted);max-width:40ch}
.person-profile .portrait-tile{width:180px;height:225px;max-width:100%}
.person-profile .portrait-figure{max-width:240px}
.person-work{display:grid;gap:20px}.person-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.person-work-card{display:grid;gap:10px;align-content:start}.person-work-card>a{display:block;text-decoration:none}.person-work-card h4{font-size:24px;margin:4px 0 0}
.person-work-card .tile{min-height:200px;--tile-cap:42px;padding:18px}.person-work-card .tile.photo-tile{min-height:0;padding:0}.person-work-card .tile-words{margin:18px 0}
.person-work-card figcaption{font-size:13px}.person-work-card .text-link{width:fit-content}
@media(min-width:761px){.categories-grid>article{display:grid;grid-row:span 3;grid-template-rows:subgrid}.categories-grid{row-gap:20px}}
.recommendations{display:grid;gap:16px;margin-top:12px;max-width:76ch}.recommendations h3{font-size:30px}.recommendation-context{font-weight:var(--text-strong-wght)}.recommendation-source{font-size:14px;color:var(--muted)}
.review-list{list-style:none;margin:0;padding:0}.recommendation{padding:24px 0;border-top:1px solid var(--line)}.recommendation blockquote{margin:0;max-width:64ch;font-size:20px;line-height:1.5}
.recommendation figcaption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:16px}.recommendation figcaption strong{color:var(--ink)}
.more-recommendations>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-top:2px solid var(--ink);cursor:pointer;list-style:none;min-height:54px;font-weight:var(--text-strong-wght)}.more-recommendations>summary::-webkit-details-marker{display:none}
.record-numbers{border-top:1px solid var(--line)}.numbers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 36px;margin-bottom:24px}.record-number{border-top:4px solid var(--ink);padding-top:20px;display:grid;gap:14px;align-content:start}.record-number .figure-value{font-size:64px;margin:0}.record-owner{color:var(--muted);margin-top:6px}
.engagement-rung{border-top:1px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px 40px}.engagement-name{display:flex;align-items:baseline;gap:18px}.engagement-name h3{font-size:32px;flex:1}
.engagement-rung dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}.engagement-rung dt{margin-bottom:12px;color:var(--muted)}.engagement-rung dd{margin:0}.engagement-rung>.action{grid-column:2}
.project-record{border-top:1px solid var(--line)}.project-record-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:48px;align-items:start}.project-record-layout>figure{max-width:430px}.project-wheel{display:block;width:100%;height:auto}
.wheel-segment{stroke:var(--paper);stroke-width:3}.wheel-large{fill:var(--ink)}.wheel-mid{fill:var(--consulting-bright)}.wheel-small{fill:var(--brand-deep)}
.wheel-label{fill:var(--paper)}.wheel-label-mid,.wheel-total{fill:var(--ink)}
.wheel-equivalent{font-size:14px;color:var(--muted);line-height:1.5;margin-top:8px}.project-lists{display:grid;gap:28px}.project-segment h3{font-size:30px;margin-bottom:16px;display:flex;gap:20px;align-items:baseline;justify-content:space-between}.segment-count{font-variant-numeric:tabular-nums}
.project-segment ul{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.project-segment li{padding:12px 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:16px}.project-segment a{display:inline-block;min-height:44px}.project-owner{font-size:13px;color:var(--muted)}.wheel-rule{border-top:1px solid var(--line);padding-top:24px;margin-top:36px;max-width:90ch;font-size:16px}.wheel-note{margin-top:16px;max-width:90ch;font-size:14px;color:var(--muted)}
@media(max-width:1024px){.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.engagement-rung{grid-template-columns:1fr}.engagement-rung>.action{grid-column:1}.project-record-layout{grid-template-columns:1fr}.project-record-layout>figure{margin:auto}}
@media(max-width:760px){.categories-grid>article{display:block}.person-work-grid,.numbers-grid,.engagement-rung dl{grid-template-columns:1fr}.record-number .figure-value{font-size:54px}.engagement-rung{gap:20px}.engagement-rung dl{gap:20px}.engagement-name h3{font-size:30px}.recommendation blockquote{font-size:18px}.project-record-layout{gap:32px}.project-segment ul{grid-template-columns:1fr}.project-segment h3{font-size:28px}.person-profile .portrait-tile{width:160px;height:200px;margin:0}.people-grid .portrait-figure{display:contents}.people-grid .portrait-figure figcaption{grid-column:1/-1;grid-row:2;max-width:100%;margin-top:0}.people-grid .person-info{grid-column:2;grid-row:1}.portrait-tile.has-photo img{max-width:100%}}

/* Home quotes: an open poster. Whole English fragments, in source order, with no fixed heights. */
.home-quotes{border-top:1px solid var(--line)}
.home-quotes .section-head{display:block;max-width:42rem;margin-bottom:48px}
.home-quotes .section-head .label{margin-bottom:16px}
.home-quotes .section-head .display{font-size:clamp(32px,4vw,58px);max-width:22ch}
.home-quotes-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:36px 32px;align-items:center}
.home-quote{min-width:0;--quote-size:clamp(28px,3.1vw,46px)}
.home-quote blockquote{margin:0;font-size:var(--quote-size);font-variation-settings:'wdth' var(--display-wdth),'wght' var(--display-wght);font-weight:var(--display-wght);letter-spacing:var(--display-tracking-em);word-spacing:var(--display-word-spacing-add-em,0);line-height:var(--display-leading-sentence);overflow-wrap:break-word}
.home-quote:nth-child(1){grid-column:1/11;--quote-size:clamp(38px,5.2vw,74px)}
.home-quote:nth-child(2){grid-column:1/8}
.home-quote:nth-child(3){grid-column:9/-1}
.home-quote:nth-child(4){grid-column:1/6;--quote-size:clamp(36px,4.4vw,62px)}
.home-quote:nth-child(5){grid-column:7/-1}
.home-quote:nth-child(6){grid-column:1/7}
.home-quote:nth-child(7){grid-column:8/-1;--quote-size:clamp(36px,4.4vw,62px)}
.home-quote:nth-child(8){grid-column:1/6}
.home-quote:nth-child(9){grid-column:7/-1}
.home-quote:nth-child(10){grid-column:3/-1;--quote-size:clamp(34px,4vw,56px);margin-top:8px}
@media(max-width:900px){
  .home-quotes .section-head{margin-bottom:36px}
  .home-quotes-list{grid-template-columns:minmax(0,1fr);gap:32px}
  .home-quotes-list .home-quote{grid-column:1/-1;margin:0;--quote-size:clamp(28px,4.4vw,40px)}
  .home-quotes-list .home-quote:nth-child(1){--quote-size:clamp(38px,5.5vw,52px)}
  .home-quotes-list .home-quote:nth-child(4),.home-quotes-list .home-quote:nth-child(7){--quote-size:clamp(34px,5vw,48px)}
  .home-quotes-list .home-quote:nth-child(10){--quote-size:clamp(32px,4.8vw,46px)}
}

/* Native route choices share the existing reading, focus and disclosure system. */
.native-selection{margin-bottom:18px;border-top:1px solid var(--ink)}
.native-selection summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:12px 0;cursor:pointer;list-style:none;font-size:16px;font-weight:var(--text-strong-wght)}
.native-selection summary::-webkit-details-marker{display:none}
.native-route-instructions,.native-route-warning{font-size:16px;margin:16px 0;overflow-wrap:break-word}
.native-route-warning{border-left:4px solid var(--ink);padding-left:14px}
.native-sector{border-top:1px solid var(--ink)}
.native-line{border-top:1px solid var(--line);margin-left:12px}
.native-route-list{list-style:none;margin:0;padding:0 0 12px;display:grid;gap:8px}
.native-selection .action{display:grid;grid-template-columns:minmax(0,1fr) 25px;width:100%;gap:12px;overflow-wrap:break-word}
.native-selection .action[aria-current="true"]{border-bottom-width:4px}
/* Media page, 11 October 2026 */
.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.film-card{display:grid;gap:10px;align-content:start;text-decoration:none;color:inherit;min-width:0}
.film-frame{position:relative;display:block;background:var(--panel);aspect-ratio:16/9;overflow:hidden}
.film-frame img{width:100%;height:100%;object-fit:cover;display:block}
.film-play{position:absolute;left:0;bottom:0;width:54px;height:54px;background:var(--ink)}
.film-play::after{content:"";position:absolute;left:21px;top:17px;border-left:16px solid var(--paper);border-top:10px solid transparent;border-bottom:10px solid transparent}
.film-card h3{font-size:24px;line-height:1.1}
.film-card p{color:var(--muted);font-size:15px;line-height:1.5}
.film-card:hover .film-frame,.film-card:focus-visible .film-frame{outline:2px solid var(--ink);outline-offset:2px}
.media-photos{columns:3;column-gap:32px}
.media-photo{break-inside:avoid;margin:0 0 36px}
.media-photo img{width:100%;height:auto;display:block;background:var(--panel)}
.media-photo figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--muted)}
@media(max-width:1100px){.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-photos{columns:2}}
@media(max-width:760px){.film-grid{grid-template-columns:1fr;gap:32px}.media-photos{columns:1}}
/* Media page, press, articles and certificates, 15 October 2026 */
.press-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;align-items:start}
.press-card{display:grid;gap:10px;align-content:start;min-width:0}
.press-frame{display:block;background:var(--panel)}
.press-frame img{width:100%;height:auto;display:block}
.press-frame:hover,.press-frame:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.press-card h3,.article-card h3{font-size:20px;line-height:1.15}
.press-card p{color:var(--muted);font-size:15px;line-height:1.5}
.press-pages a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:2px 6px;margin-right:4px;border:1px solid var(--ink);text-align:center;text-decoration:none;color:inherit;font-size:14px}
.article-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 22px;align-items:start}
.article-card{display:grid;gap:8px;align-content:start;min-width:0}
.article-frame{display:block;border:1px solid var(--panel);background:var(--panel)}
.article-frame img{width:100%;height:auto;display:block}
.article-frame:hover,.article-frame:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.article-title{color:inherit;text-decoration:none}
.article-title:hover,.article-title:focus-visible{text-decoration:underline}
.article-title .arrow{margin-left:.3em}
.article-card p{color:var(--muted);font-size:14px;line-height:1.45}
.article-card .article-person{color:var(--ink);font-size:15px;font-variation-settings:'wdth' var(--text-strong-wdth),'wght' var(--text-strong-wght)}
.media-photo a{display:block}
@media(max-width:1100px){.press-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.press-grid,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}}
/* Home, Recent, 15 October 2026 */
.recent-grid{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}
.recent-card{display:grid;gap:10px;align-content:start;min-width:0}
.recent-frame{display:block;background:var(--panel);aspect-ratio:4/3;overflow:hidden}
.recent-frame img{width:100%;height:100%;object-fit:cover;display:block}
.recent-frame:hover,.recent-frame:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.recent-card h3{font-size:22px;line-height:1.15}
.recent-card p{color:var(--muted);font-size:15px;line-height:1.5}
@media(max-width:1100px){.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.recent-grid{grid-template-columns:1fr;gap:32px}}
/* 15 Oct 2026: each person's title on its own line, under the name */
.person-title{font-size:20px;line-height:1.3;font-weight:var(--text-strong-wght);color:var(--ink);margin:0}
.person-profile .person-title{grid-column:2;grid-row:2;font-size:24px;margin-top:-12px}
@media(min-width:761px){.person-profile{grid-template-rows:auto auto auto 1fr}.person-portrait{grid-row:1/4}.person-side{grid-row:4}.person-details{grid-row:3/5}}
@media(max-width:760px){.person-profile .person-title{font-size:20px;margin:0 0 18px}}
/* 17 October 2026: Media jump menu */
.media-jump{display:flex;flex-wrap:wrap;gap:0 24px;padding:0 48px 8px}@media(max-width:760px){.media-jump{padding:0 20px 8px;gap:0 18px}}
/* 17 October 2026: sector panels and shared capability steps */
.entrances{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-group.has-image{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px 40px;align-items:start}.capability-group.has-image .group-text{display:grid;gap:14px}.capability-group .work-figure figcaption{font-size:13px;color:var(--muted);margin-top:8px}.sector-services{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:0 20px;grid-template-columns:1fr 1fr}.sector-panel .category-body>.label{margin-top:8px;color:var(--category-deep)}.capability-steps li{grid-template-columns:44px 1fr 1.4fr}.capability-steps li>div{display:grid;gap:8px}.capability-photos{margin-top:40px}@media(max-width:760px){.capability-group.has-image{grid-template-columns:1fr}.sector-services{grid-template-columns:1fr}.capability-steps li{grid-template-columns:24px 1fr}.capability-steps li>div{grid-column:2}}
/* 17 October 2026: Insights channel and pieces */
.insight-group{font-size:26px;margin:8px 0 18px}.insight-card-title{font-size:22px;line-height:1.15;font-variation-settings:'wdth' var(--heading-wdth),'wght' var(--heading-wght);font-weight:var(--heading-wght);letter-spacing:var(--heading-tracking-em)}.insight-card-title a{text-decoration:none;display:inline-block;padding:12px 0;margin:-12px 0}.insight-card-title a:hover{text-decoration:underline}.insight-people{font-size:15px}.insight-year{margin-top:32px}.insight-year>h2{margin-bottom:18px;border-top:1px solid var(--ink);padding-top:14px}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:0 10px;padding:0;margin:0 0 24px;font-size:14px}.breadcrumbs li+li::before{content:"/";margin-right:10px;color:var(--muted)}.breadcrumbs li[aria-current]{color:var(--muted);align-self:center}.insight-article>.label{margin-bottom:12px}.insight-title{font-size:clamp(40px,5.4vw,76px);max-width:22ch;margin-bottom:16px}.insight-article>.intro{margin:16px 0 24px}.insight-picture img{width:100%;max-width:900px;height:auto;display:block}.insight-lang{margin-top:20px}.insight-body{max-width:68ch;font-size:18px;line-height:1.6;margin:28px 0}.insight-body p+p,.insight-body ul+p,.insight-body p+ul{margin-top:16px}.insight-body h2{font-size:28px;margin:30px 0 12px}.insight-body ul{padding-left:22px}.insight-body li+li{margin-top:6px}.insight-related{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}.insight-related h2{font-size:28px;margin-bottom:8px}.insight-author{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;border-top:1px solid var(--ink);padding-top:24px;margin-top:36px;align-items:start}.insight-author .heading{font-size:32px}.insight-pager{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);margin-top:32px;padding-top:12px}@media(max-width:760px){.insight-author{grid-template-columns:90px minmax(0,1fr);gap:16px}.insight-body{font-size:17px}.insight-pager{display:grid}}
/* 17 October 2026: research */
.research-tile{display:flex;flex-direction:column;justify-content:space-between;padding:18px;background:var(--ink);color:var(--paper);text-decoration:none}.research-tile.longevity{background:var(--longevity-bright);color:var(--ink)}.research-tile.forestry{background:var(--forestry-deep);color:var(--paper)}.research-publisher{font-size:26px;line-height:1.1;font-variation-settings:'wdth' var(--heading-wdth),'wght' var(--heading-wght);font-weight:var(--heading-wght)}.research-figure{border-top:8px solid var(--ink);padding:20px 0;margin:28px 0;max-width:68ch;display:grid;gap:10px}.research-figure.longevity{border-color:var(--longevity-deep)}.research-figure.forestry{border-color:var(--forestry-deep)}.research-figure .heading{font-size:30px;line-height:1.2}.research-why{max-width:68ch;margin:8px 0 24px;display:grid;gap:10px}.research-why p{font-size:18px;line-height:1.6}.research-source{margin-top:12px;font-size:14px}.research-cover{max-width:560px;margin:28px 0 8px}.research-cover a{display:block}.research-cover img{width:100%;height:auto}.research-cover figcaption{font-size:13px;color:var(--muted);margin-top:6px}.research-about{max-width:68ch;display:grid;gap:8px;margin:0 0 22px}.research-about p{font-size:18px;line-height:1.6}.research-credit{max-width:68ch;margin-top:18px;font-size:14px;overflow-wrap:anywhere}.research-credit .label{margin-right:6px}.research-open{display:inline-block;margin-top:10px}.photo-pop{display:block;cursor:zoom-in}.photo-source{display:block;margin-top:8px}.news-pop{border:0;padding:44px 28px 28px;width:min(620px,94vw);max-height:92vh;overflow:auto;background:var(--paper);color:var(--ink)}.news-pop::backdrop{background:rgba(5,53,57,.78)}.news-pop .heading{margin-top:8px}.news-x{position:absolute;top:6px;right:8px;background:none;border:0;color:var(--ink);font-size:34px;line-height:1;cursor:pointer;padding:4px 10px;min-width:44px;min-height:44px}.linkedin-button{display:inline-flex;align-items:center;gap:10px;width:fit-content;min-height:44px;padding:8px 16px;border:2px solid currentColor;text-decoration:none;font-size:15px;font-weight:var(--text-strong-wght);margin-top:16px}.linkedin-button:hover,.linkedin-button:focus-visible{background:var(--ink);color:var(--paper);border-color:var(--ink)}.in-mark{width:18px;height:18px;flex:none}.person-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}.person-links .linkedin-button{margin-top:0}.insight-author .linkedin-button{margin-top:0}

/* 18 October 2026: cross-sector brand research uses existing identity tokens. */
.research-tile.brand{background:var(--brand-bright);color:var(--ink)}.research-figure.brand{border-color:var(--brand-deep)}

/* 19 October: keep the close control visible and provide an independent document link. Media share one height, --ph:
   the visible height less the close row, the new-tab link and safe areas, so short landscape screens keep 16:9 video whole.
   dvh with a vh fallback. The backdrop stays literal ink: older browsers give ::backdrop no custom properties. */
.pop{--vh:1vh;--ph:calc(94*var(--vh) - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));--pw:calc(94vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));border:0;padding:48px 0 0;background:none;max-width:calc(var(--pw) + 2vw);max-height:calc(var(--ph) + 100px);overflow:visible}
@supports(height:1dvh){.pop{--vh:1dvh}}
.pop::backdrop{background:rgba(5,53,57,.92)}
.pop-x{position:absolute;top:0;right:0;min-width:44px;min-height:44px;padding:4px 8px;background:none;border:0;color:var(--paper);font-size:34px;line-height:1;cursor:pointer}
.pop-b{max-height:calc(var(--ph) + 48px);overflow:auto;overscroll-behavior:contain}
.pop-open{display:block;padding:12px 10px;color:var(--paper);font-size:16px}
.pop-x:focus-visible,.pop-open:focus-visible{outline-color:var(--paper)}.pop-open:focus-visible{outline-offset:-5px}
.pop-img{max-width:var(--pw);max-height:var(--ph);width:auto;height:auto}
.pop-pdf,.pop-video{display:block;border:0}.pop-pdf{width:min(1100px,var(--pw));height:var(--ph);background:var(--paper)}.pop-video{width:min(1100px,var(--pw),var(--ph)*16/9);aspect-ratio:16/9;background:var(--ink)}

/* 19 October 2026: report covers stay whole inside the 4:3 card (the six added covers are 3:4).
   Under 480px the two sector entrances stack, and press and article cards take the full width. */
.research-cover-frame img{object-fit:contain}
@media(max-width:479px){.entrances,.press-grid,.article-grid{grid-template-columns:minmax(0,1fr)}}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:32px 96px;align-items:start;border-top:1px solid var(--ink)}.newsletter-head{display:grid;gap:16px}.newsletter-head p:not(.label){max-width:42ch}.consent-line{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}.consent-line input{width:22px;height:22px;min-height:0;margin:2px 0 0;padding:0}.consent-line label{font-weight:var(--text-wght);font-size:15px;margin:0}
@media(max-width:760px){.newsletter{display:block}.newsletter form{margin-top:24px}}

/* Finite editorial shelves. Desktop retains its grid; phones browse one short row. */
.home-jump{display:none}@media(max-width:760px){.home-jump{display:flex;flex-wrap:wrap;gap:4px 18px;margin:24px 20px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-jump a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}}
[data-page="media"] .insight-shelf{margin-bottom:0}@media(max-width:760px){.shelf-track>*{scroll-snap-align:start;min-width:0}.shelf-track .press-frame,.shelf-track .article-frame,.shelf-track .media-photo>a{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--panel)}.shelf-track .press-frame img,.shelf-track .article-frame img,.shelf-track .media-photo>a img{width:100%;height:100%;object-fit:contain}.shelf-track .media-photo{margin:0}.shelf-track.media-photos{columns:auto}.shelf-track .film-card{margin:0}}
.insight-shelf{margin-bottom:36px;min-width:0}.insight-shelf .recent-grid{margin-bottom:0}.shelf-hint{display:none}.shelf-controls{align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.shelf-count{margin-right:auto;font-size:14px;font-variant-numeric:tabular-nums}.shelf-controls button{display:grid;place-items:center;min-width:48px;min-height:48px;border:1px solid var(--ink);background:var(--paper);font-size:24px;line-height:1;cursor:pointer}.shelf-controls button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.shelf-controls button:disabled{opacity:.35;cursor:default}.archive-total{max-width:68ch;font-size:16px;line-height:1.6}.archive-range{margin:24px 0 20px;font-size:28px}.archive-pager{border-top:1px solid var(--ink);padding-top:20px;margin-top:28px;display:grid;gap:16px}.archive-turn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;font-size:15px}.archive-pages{display:flex;flex-wrap:wrap;gap:6px}.archive-page{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;text-decoration:none;border:1px solid var(--line);font-size:15px}.archive-page:hover{border-color:var(--ink);text-decoration:underline}.archive-page[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.archive-disabled{color:var(--muted);padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.overview-section{border-top:1px solid var(--line)}.overview-section>h2{margin-bottom:24px}.overview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}.overview-pair article{display:grid;align-content:start;gap:12px}.overview-pair h3{font-size:28px}.overview-pair h3 a{font-size:inherit}.overview-section p{line-height:1.6}.overview-section>p+p{margin-top:10px}.overview-detail{border-top:1px solid var(--line);padding:0}.overview-detail summary{cursor:pointer;min-height:52px;padding:14px 0;font-weight:var(--text-strong-wght)}.overview-detail p{max-width:68ch;margin:0 0 12px}.overview-detail>a{margin:0 0 16px}.overview-section>.measure{margin-bottom:24px}.overview-resources{display:grid;gap:8px}.overview-resources a{min-height:44px;display:flex;align-items:center}
@media(min-width:761px){.shelf-controls{display:none}}
@media(max-width:760px){.shelf-hint{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 12px}.insight-shelf .shelf-track{position:relative;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100% - 34px);gap:16px;align-items:start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:4px;padding:4px;scrollbar-width:thin;scrollbar-color:var(--ink) var(--panel)}.shelf-track>.recent-card{scroll-snap-align:start;padding-bottom:8px}.shelf-track .insight-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shelf-track .insight-card-title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.shelf-track .insight-card-title a{display:block;min-height:44px;padding:0;margin:0}.shelf-controls{display:flex}.insights-section.section{padding-top:8px}.archive-total{font-size:14px}.archive-range{font-size:26px;margin-top:18px}.archive-turn{font-size:13px;gap:8px}.archive-turn>.archive-page{font-size:13px;min-width:0;padding:8px}.overview-pair{grid-template-columns:1fr;gap:28px}.overview-pair h3{font-size:26px}.overview-section .measure{font-size:17px}}
.example-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.example-card{border-top:1px solid var(--ink);padding:22px 0 26px;display:grid;gap:10px;align-content:start}.example-card h3{font-size:26px}.example-source{font-size:14px}.example-source .text-link{font-size:14px}
@media(max-width:760px){.example-grid{grid-template-columns:1fr}.example-card h3{font-size:24px}}
.analytics-banner{position:fixed;inset:auto 20px 20px;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;max-width:1080px;margin:auto;padding:22px;background:var(--paper);color:var(--ink);border:2px solid var(--ink)}
.analytics-banner[hidden],.analytics-preferences[hidden]{display:none}
.analytics-banner h2{font-size:22px;line-height:1.25;margin:0 0 8px}
.analytics-banner p{font-size:15px;line-height:1.5;margin:0;max-width:70ch}
.analytics-choices{display:flex;flex-wrap:wrap;gap:10px}
.analytics-choices .button{justify-content:center;font-size:15px;min-height:44px;padding:10px 16px;white-space:normal}
.analytics-preferences{appearance:none;border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:0;min-height:44px}
@media(max-width:760px){.analytics-banner{inset:auto 12px 12px;padding:18px;grid-template-columns:1fr;gap:14px;max-height:calc(100dvh - 24px);overflow:auto}.analytics-banner h2{font-size:20px}.analytics-choices{display:grid;grid-template-columns:1fr 1fr}.analytics-choices .button{font-size:14px}}
