/* OPALE-BET — restrained editorial refinements on the existing visual identity. */
:root{--detail-ink:#514e49;--detail-bronze:#775438;--detail-soft:#e8e5dd;--detail-line:#b9b1a4;--detail-ease:cubic-bezier(.2,.65,.3,1)}
html{scroll-padding-top:112px}
body{overflow-wrap:break-word}
main,section,article,figure,.editorial-heading>*,.case-story>*,.service-layout>*,.project-link-copy{min-width:0}
h1,h2,h3,h4,p,li,dd,figcaption,a,button{overflow-wrap:anywhere}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.eyebrow,.section-index,.project-category{line-height:1.6}
.editorial-heading .heading-copy{margin-bottom:0}
.editorial-heading h2 em,.method-compact h2 em,.method-steps b{font-weight:500}
.site-header{gap:1.5rem}
.site-header .brand{flex-shrink:0}
.site-header #navigation{font-size:clamp(.92rem,.9vw,.98rem);gap:clamp(.85rem,1.4vw,1.6rem);line-height:1.4}
.site-header #navigation a{padding-top:.6rem;padding-bottom:.6rem;white-space:nowrap}
.site-header #navigation a[aria-current="page"],.site-header #navigation a[aria-current="location"]{font-weight:600}
.site-header #navigation a[aria-current]:after{width:100%}
.site-header .menu-button{flex-shrink:0;cursor:pointer}
.site-header .nav-contact{padding:.78rem 1rem}

/* Photographs and logos retain their original colours and proportions. */
body img,body a:hover img,body a:focus-visible img{filter:none!important;transform:none!important;mix-blend-mode:normal!important}
.project-link,.course-card{transition:border-color .22s var(--detail-ease),box-shadow .22s var(--detail-ease)}
.project-link:hover,.course-card:hover{transform:none;border-color:var(--detail-bronze);box-shadow:0 8px 24px rgba(17,17,15,.07)}
.project-link:focus-visible,.course-card:focus-visible{outline-offset:5px}
.project-cards{align-items:stretch}
.project-cards>.project-link{min-width:0;height:100%}
.project-link-copy{gap:.85rem}
.project-link .project-category{font-size:.875rem;color:var(--detail-bronze)}
.project-link .project-read{min-height:44px;display:flex;align-items:flex-end;line-height:1.5}
.project-link h3{line-height:1.25}
.project-link-copy p{max-width:45ch}
.project-cards [hidden],.catalog-group[hidden]{display:none!important}
.project-filters{display:flex;gap:.65rem;flex-wrap:wrap;padding:0 0 1.3rem;margin:0;border-bottom:1px solid var(--line)}
.project-filters button{appearance:none;background:transparent;border:1px solid var(--detail-line);border-radius:0;color:var(--ink);padding:.75rem 1.05rem;min-height:46px;font:500 .94rem/1.4 "DM Sans",Arial,sans-serif;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.project-filters button:hover{border-color:var(--detail-bronze);background:#e8e0d4}
.project-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.project-filters button[aria-pressed="true"]:hover{background:#34322d}
#project-count{font-size:.94rem;color:var(--detail-ink);margin:1rem 0 2rem;min-height:1.6em}
.no-js .project-filters{display:none}
.project-filter-note{font-size:.9rem;color:var(--detail-ink)}

/* A calm, repeatable rhythm for the technical knowledge library. */
.knowledge-block{padding:2.5rem 0 3rem;border-top:1px solid var(--line)}
.knowledge-block:first-of-type{padding-top:0;border-top:0}
.knowledge-block+.knowledge-block{margin-top:1rem}
.knowledge-block-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem;align-items:start;margin-bottom:1.5rem}
.knowledge-block h2,.knowledge-block h3{font-family:"Manrope",Arial,sans-serif;font-weight:500;letter-spacing:-.025em}
.knowledge-block-header h2,.knowledge-block>h2{font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.16;margin-bottom:1rem}
.knowledge-block-header p{color:var(--detail-ink);max-width:65ch;line-height:1.75;margin-bottom:0}
.knowledge-block-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);background:var(--detail-soft);padding:clamp(1.4rem,3vw,2.5rem);margin-bottom:1.5rem}
.knowledge-block-visual>img,.knowledge-block-visual>picture{max-width:100%;width:auto;height:auto;max-height:330px;justify-self:center}
.knowledge-block-visual>picture img{width:auto;height:auto;max-height:330px}
.knowledge-block-visual h2,.knowledge-block-visual h3{font-size:clamp(1.6rem,2.8vw,2.5rem);line-height:1.17;margin:0 0 1rem}
.knowledge-block-visual p{color:var(--detail-ink);line-height:1.75;margin:0;max-width:58ch}
.knowledge-block .knowledge-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;align-items:stretch}
.knowledge-card{display:flex;flex-direction:column;min-width:0;gap:.9rem;padding:clamp(1.35rem,2.6vw,2rem);border:1px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s}
.knowledge-card:hover,.knowledge-card:focus-within{border-color:var(--detail-bronze);box-shadow:0 8px 24px rgba(17,17,15,.045)}
.knowledge-card .fiche-number,.knowledge-card .knowledge-category{font:500 .85rem/1.5 "DM Sans",Arial,sans-serif;color:var(--detail-bronze);letter-spacing:.035em}
.knowledge-card h3{font:500 clamp(1.25rem,1.75vw,1.55rem)/1.28 "Manrope",Arial,sans-serif;margin:0}
.knowledge-card p{color:var(--detail-ink);font-size:1rem;line-height:1.7;margin:0}
.knowledge-card .text-link,.knowledge-card>a:last-child{margin-top:auto;padding-top:1rem;min-height:44px;text-decoration:underline;text-underline-offset:.24em;font-size:.94rem;font-weight:600}
.knowledge-block .section-action{margin-top:1.5rem}
.publications .knowledge-block{border-color:#57534c}
.publications .knowledge-block h2,.publications .knowledge-block-header p{color:var(--paper)}
.publications .knowledge-card,.publications .knowledge-block-visual{color:var(--ink)}
.publications .knowledge-block-visual h2,.publications .knowledge-block-visual h3{color:var(--ink)}

.agency-story{border-top:1px solid var(--line)}
.agency-story .agency-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;margin:2.5rem 0 0}
.agency-values>article,.agency-values>div,.agency-values>li{min-width:0;border-top:2px solid var(--detail-bronze);padding:1.4rem 0 0}
.agency-values h3,.agency-values strong{font:500 1.2rem/1.4 "Manrope",Arial,sans-serif;display:block;margin:0 0 .8rem}
.agency-values p{font-size:1rem;line-height:1.75;color:var(--detail-ink);margin:0;max-width:50ch}
.agency-story .agency-signature{margin:2rem 0 0;color:var(--detail-ink);font-size:1rem}
.territory-panel{background:var(--ink);color:var(--paper);max-width:none}
.territory-panel .editorial-heading,.territory-panel .territory-grid,.territory-panel>.privacy-note{max-width:calc(var(--max) - 2 * var(--pad));margin-left:auto;margin-right:auto}
.territory-panel .eyebrow,.territory-panel h2 em{color:var(--bronze-light)}
.territory-panel .heading-copy{color:#d3cfc7}
.territory-panel .territory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:0;list-style:none}
.territory-grid>div,.territory-grid>article,.territory-grid>li{border-top:1px solid #645e53;padding-top:1.3rem;min-width:0}
.territory-grid h3,.territory-grid strong{font:500 1.18rem/1.4 "Manrope",Arial,sans-serif;display:block;margin:0 0 .8rem;color:var(--paper)}
.territory-grid p,.territory-grid li,.territory-grid dd{font-size:1rem;color:#d3cfc7;line-height:1.75}
.territory-grid ul{padding-left:1.15rem;margin:.5rem 0 0}
.territory-panel .privacy-note{border-color:#645e53;color:#d3cfc7;background:transparent;padding:1.25rem 0 0;margin-top:2.5rem}
.method-steps li{display:flex;flex-direction:column;gap:.25rem}
.method-steps strong{line-height:1.35}
.method-steps .method-deliverable{display:block;font:400 .9rem/1.6 "DM Sans",Arial,sans-serif;color:#e5d2bf;border-top:1px solid #514b43;padding-top:.8rem;margin-top:1rem}
.method-deliverable strong{font:600 .9rem/1.6 "DM Sans",Arial,sans-serif;color:inherit;display:inline}
.privacy-note{padding:1.25rem 1.5rem;border-left:2px solid var(--detail-bronze);background:#ede9e1;color:var(--detail-ink);font-size:.94rem;line-height:1.75;margin:2rem 0}
.privacy-note p{margin:0}
.privacy-note p+p{margin-top:.7rem}
.privacy-note a{text-decoration:underline;text-underline-offset:.24em}
.service-focus{padding:clamp(1.5rem,3vw,2.5rem);background:var(--detail-soft);border-top:2px solid var(--detail-bronze);margin:2.5rem 0}
.service-focus h2{font:500 clamp(1.55rem,2.6vw,2.2rem)/1.2 "Manrope",Arial,sans-serif;margin:0 0 1.2rem}
.service-focus h3{font:500 1.15rem/1.4 "Manrope",Arial,sans-serif;margin:1.5rem 0 .65rem}
.service-focus p,.service-focus li{font-size:1rem;line-height:1.75;color:var(--detail-ink)}
.service-focus p:last-child,.service-focus ul:last-child{margin-bottom:0}
.service-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.service-focus-grid h3{margin-top:0}

.case-visual{margin:0 auto;background:var(--detail-soft);overflow:hidden}
.case-visual>img,.case-visual>a>img,.case-visual>picture>img{width:auto;max-width:100%;height:auto;max-height:720px;object-fit:contain;aspect-ratio:auto;margin:auto}
.case-visual figcaption{font-size:.875rem;line-height:1.6;color:var(--detail-ink);padding:.9rem 1.2rem}
.case-visual .project-art{margin:0;min-height:300px}
.project-art{display:grid;align-content:center;gap:1rem;padding:clamp(1.5rem,5vw,4rem);background:var(--detail-soft);color:var(--detail-ink)}
.project-art svg{width:100%;height:auto;max-height:360px;display:block}
.project-art p{font-size:.9rem;line-height:1.65;margin:0;max-width:75ch}
.project-link>.project-art{aspect-ratio:4/3;min-height:0;padding:1.5rem}
.project-link>.project-art svg{max-height:210px}
.project-meta{gap:1.5rem 2.5rem}
.project-meta>div{min-width:0}
.project-meta dt{font-size:.875rem;line-height:1.6;color:#625d56}
.project-meta dd{font-size:1rem;line-height:1.6}
.project-scope{line-height:1.75}
.gallery-grid{align-items:start}
.gallery-link{display:flex;align-items:center;justify-content:center;min-height:160px;background:var(--detail-soft);border:1px solid var(--line);cursor:zoom-in;position:relative}
.gallery-link:hover{border-color:var(--detail-bronze)}
.gallery-link>img,.gallery-link>picture>img{width:auto;max-width:100%;height:auto;max-height:550px;aspect-ratio:auto;object-fit:contain;margin:auto}
.gallery-link:focus-visible{outline-offset:5px}
.gallery-grid figcaption{font-size:.94rem;line-height:1.65;color:var(--detail-ink)}
.faq-list summary{min-height:44px;padding:.25rem 2rem .25rem 0;line-height:1.55}
.faq-list summary::marker{color:var(--detail-bronze)}
.faq-list details[open] summary{color:var(--detail-bronze)}
.faq-list details[open]{padding-bottom:1.65rem}
.faq-list details p{max-width:76ch}

/* Explicit states, without shifting photos or hiding essential content. */
.button,button,.text-link,.topic-links a,.project-footer a,.poster-link{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}
.button:hover{transform:none}
.button:active,button:active,.topic-links a:active{box-shadow:inset 0 0 0 2px currentColor}
.button[disabled],button:disabled,.button[aria-disabled="true"],button[aria-disabled="true"]{background:#e8e5dd;color:#625d56;border-color:#b9b1a4;cursor:not-allowed;box-shadow:none;transform:none}
.button[aria-busy="true"],button[aria-busy="true"]{cursor:progress}
.button[aria-busy="true"]::after,button[aria-busy="true"]::after{content:"";width:.9em;height:.9em;flex:none;display:inline-block;vertical-align:middle;margin-left:.5rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:opale-progress .8s linear infinite}
@keyframes opale-progress{to{transform:rotate(1turn)}}
:focus-visible{outline:3px solid var(--detail-bronze);outline-offset:5px}
.hero :focus-visible,.method-compact :focus-visible,.territory-panel :focus-visible,.publications :focus-visible,footer :focus-visible{outline-color:#e3c6a7}
.contact :focus-visible{outline-color:#11110f}
.text-link,.contact-privacy a,.privacy-note a,.poster-link{text-decoration-thickness:1px}
.text-link:hover,.contact-privacy a:hover,.privacy-note a:hover,.poster-link:hover{text-decoration-thickness:2px}
section[id],article[id],h2[id],h3[id]{scroll-margin-top:112px}

/* Native modal: no backdrop blur, no image correction, no enlargement. */
body.gallery-open{overflow:hidden}
.project-lightbox{width:min(1120px,94vw);max-width:94vw;max-height:94svh;padding:0;border:1px solid #645e53;background:#171715;color:#f4f2ec;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px rgba(0,0,0,.35)}
.project-lightbox::backdrop{background:rgba(9,9,8,.9)}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;border-bottom:1px solid #514b43}
.lightbox-title{font:500 1rem/1.5 "Manrope",Arial,sans-serif;letter-spacing:0;margin:0;text-wrap:wrap}
.project-lightbox button{border:1px solid #9c9386;min-height:44px;padding:.65rem .85rem;background:transparent;color:#f4f2ec;font:500 .94rem/1.4 "DM Sans",Arial,sans-serif;cursor:pointer}
.project-lightbox button:hover{background:#34322d;border-color:#e3c6a7}
.project-lightbox :focus-visible{outline-color:#e3c6a7;outline-offset:3px}
.lightbox-close{flex-shrink:0}
.lightbox-figure{margin:0}
.lightbox-media{display:flex;justify-content:center;align-items:center;min-height:160px;background:#11110f;padding:1rem}
.lightbox-image{width:auto;height:auto;max-width:100%;max-height:calc(94svh - 235px);object-fit:contain}
.lightbox-caption{padding:1rem 1.25rem 0;color:#e3dfd6;font-size:.94rem;line-height:1.65}
.lightbox-error{max-width:50ch;line-height:1.7;padding:1.5rem;margin:0;color:#f4f2ec}
.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}
.lightbox-position{font-size:.875rem;line-height:1.5;text-align:center;margin:0 auto;color:#d3cfc7}
.lightbox-original{display:block;width:fit-content;margin:0 1.25rem 1.25rem;min-height:32px;font-size:.875rem;line-height:1.6;text-decoration:underline;text-underline-offset:.2em;color:#e3c6a7}

@media(min-width:1051px) and (max-width:1180px){
 .site-header{gap:1rem;padding-left:2rem;padding-right:2rem}
 .site-header #navigation{gap:.85rem;font-size:.92rem}
 .site-header .nav-contact{padding:.7rem .8rem}
}
@media(max-width:1100px){
 .knowledge-block .knowledge-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .agency-story .agency-values{gap:1.1rem}
}
@media(max-width:1050px){
 .site-header #navigation{font-size:1rem;gap:.3rem}
 .site-header #navigation a{white-space:normal;min-height:48px;padding:.8rem 0}
 .site-header #navigation .nav-contact{margin-top:.65rem;padding:.8rem 1rem}
 .site-header #navigation a:after{bottom:.4rem}
 .no-js .site-header .brand{margin-right:auto}
 .knowledge-block-header,.knowledge-block-visual{gap:1.5rem}
}
@media(max-width:780px){
 html{scroll-padding-top:96px}
 section[id],article[id],h2[id],h3[id]{scroll-margin-top:96px}
 .site-header{gap:1rem}
 .knowledge-block .knowledge-cards,.knowledge-block-header,.knowledge-block-visual,.agency-story .agency-values,.territory-panel .territory-grid,.service-focus-grid{grid-template-columns:1fr}
 .knowledge-block{padding:2rem 0}
 .knowledge-block-visual{padding:1.4rem}
 .knowledge-block-visual>img,.knowledge-block-visual>picture,.knowledge-block-visual>picture img{max-height:260px}
 .knowledge-card{padding:1.4rem;gap:.85rem}
 .knowledge-card h3{font-size:1.35rem}
 .agency-story .agency-values{gap:1.6rem;margin-top:1.8rem}
 .territory-panel .territory-grid{gap:1.5rem}
 .project-filters{gap:.55rem;padding-bottom:1.2rem}
 .project-filters button{font-size:.9rem;padding:.7rem .9rem;flex:0 1 auto}
 #project-count{margin-bottom:1.5rem}
 .privacy-note{padding:1.1rem 1.2rem}
 .method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .method-steps .method-deliverable{font-size:.875rem}
 .case-visual .project-art{min-height:220px}
 .project-meta{gap:1rem}
 .project-lightbox{width:100%;max-width:100%;max-height:100svh;margin:auto 0;border-left:0;border-right:0}
 .lightbox-toolbar,.lightbox-controls{padding:.85rem 1rem;gap:.75rem}
 .lightbox-title{font-size:.94rem}
 .lightbox-media{padding:.5rem}
 .lightbox-image{max-height:calc(100svh - 250px)}
 .lightbox-caption{padding:.85rem 1rem 0;font-size:.9rem}
 .lightbox-controls button{font-size:.875rem;padding:.6rem .7rem}
 .lightbox-position{font-size:.82rem}
 .lightbox-original{margin:0 1rem 1rem}
}
@media(max-width:400px){
 .method-steps{grid-template-columns:1fr}
 .project-filters button{flex:1 1 calc(50% - .55rem)}
 .lightbox-toolbar{align-items:flex-start}
 .lightbox-controls{flex-wrap:wrap}
 .lightbox-position{order:3;flex-basis:100%}
 .lightbox-image{max-height:calc(100svh - 285px)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
 .project-filters,.project-lightbox{display:none!important}
 .project-cards [data-project-category][hidden],.catalog-group[hidden]{display:block!important}
}

/* C.A.D.R.E.R. reads from left to right, at every screen width. */
.method-inner{display:block}
.method-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.method-overview .agency-compact{margin-top:0}
.method-compact .method-title{font-size:clamp(2.4rem,6.5vw,5.8rem);letter-spacing:-.055em;white-space:nowrap;line-height:1.12;overflow-wrap:normal;margin-bottom:1.2rem}
.method-compact .method-lead{font:500 clamp(1.1rem,1.7vw,1.4rem)/1.5 "Manrope",Arial,sans-serif;color:var(--paper)}
.method-journey{margin-top:3rem}
.method-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.method-steps li{border-top:1px solid #8f7964;padding-top:1.1rem}
.method-steps b{font:500 clamp(2.3rem,4vw,3.6rem)/1.15 "Manrope",Arial,sans-serif;color:var(--bronze-light)}
.method-steps strong{font-size:clamp(1rem,1.2vw,1.15rem);letter-spacing:-.025em;line-height:1.45}
.method-steps .method-deliverable{font-size:.9rem;line-height:1.5;min-height:4.8em;margin-top:.4rem}
.method-steps span:last-child{font-size:.94rem;line-height:1.7}
.method-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;border-bottom:1px solid #8f7964;padding-bottom:1rem;margin-bottom:1.5rem}
.method-tabs[hidden],.method-steps li[hidden],.method-hint[hidden]{display:none!important}
.method-tabs button{min-width:0;min-height:48px;padding:.5rem 0;border:1px solid transparent;border-radius:0;background:transparent;color:var(--bronze-light);font:500 clamp(1.3rem,5vw,2rem)/1.25 "Manrope",Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.method-tabs button:hover{background:#353027;border-color:#8f7964}
.method-tabs button[aria-selected="true"]{background:var(--bronze-light);border-color:var(--bronze-light);color:var(--ink)}
.method-tabs button:focus-visible{outline-offset:1px}
.method-hint{font-size:.9rem;margin:0 0 1rem}
.method-compact-view .method-steps{display:block}
.method-compact-view .method-steps li{border-top:0;padding:0;max-width:68ch}
.method-compact-view .method-steps b{display:none}
.method-compact-view .method-steps strong{font-size:1.4rem;margin:0 0 .6rem}
.method-compact-view .method-steps .method-deliverable{font-size:1rem;min-height:0;border:0;padding:0;margin:0 0 .5rem;color:#e5d2bf}
.method-compact-view .method-steps span:last-child{font-size:1rem}

/* A small diagram of intervention areas: never locations of client projects. */
.territory-layout{max-width:calc(var(--max) - 2 * var(--pad));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.territory-diagram{margin:0;width:100%;max-width:560px;justify-self:center;border:1px solid #645e53;background:#1b1b18}
.territory-orbit{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) .25fr minmax(0,1fr);grid-template-rows:minmax(85px,auto) 100px minmax(85px,auto);gap:.5rem 0;align-items:center;padding:1.2rem}
.territory-orbits{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:#c5a586;stroke-width:1;opacity:.3;pointer-events:none}
.territory-orbits path{stroke-dasharray:3 6}
.territory-node{background:#1b1b18;padding:.4rem 0;min-width:0;line-height:1.5}
.territory-node::before{content:"";display:block;width:6px;height:6px;margin-bottom:.6rem;border-radius:50%;background:#c5a586;box-shadow:0 0 0 5px #c5a58615}
.territory-node strong{display:block;font:500 1rem/1.45 "Manrope",Arial,sans-serif;color:#f4f2ec}
.territory-node span{display:block;font-size:.875rem;line-height:1.65;color:#d3cfc7;margin-top:.2rem}
.territory-coast{grid-column:1;grid-row:1}
.territory-lille{grid-column:3;grid-row:1}
.territory-paris{grid-column:1;grid-row:3}
.territory-belgium{grid-column:3;grid-row:3}
.territory-hub{grid-column:1/-1;grid-row:2;justify-self:center;display:grid;align-content:center;text-align:center;background:transparent;color:#e5d2bf;padding:0;border:0}
.territory-hub::before{content:"";width:7px;height:7px;justify-self:center;margin-bottom:.6rem;border-radius:50%;background:#c5a586;box-shadow:0 0 0 5px #c5a58615}
.territory-hub>span{font-size:.8rem}
.territory-hub>strong{font:500 1.3rem/1.6 "Manrope",Arial,sans-serif}
.territory-diagram figcaption{padding:1rem 1.2rem;border-top:1px solid #645e53;font-size:.9rem;line-height:1.65;color:#f4f2ec}
.territory-diagram figcaption>span{display:block;font-size:.8rem;color:#c8c0b5}
.territory-panel .territory-layout .territory-grid{grid-template-columns:1fr;gap:1.25rem}
.territory-layout .territory-grid p{margin-bottom:0}
.territory-panel .territory-note{font-size:.9rem;line-height:1.7;color:#d3cfc7;margin:1.5rem 0 0}
/* Give the reference headline enough space for whole words and a calm two-line composition. */
#references .editorial-heading{grid-template-columns:minmax(0,1fr);gap:1.25rem}
#references .editorial-heading h2,#references .editorial-heading h2 em{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:wrap}
#references .editorial-heading h2 em{white-space:nowrap}
#references .editorial-heading .heading-copy{max-width:76ch}
@media(max-width:1050px){
 .method-overview{grid-template-columns:1fr;gap:2rem}
 .method-overview .agency-compact{max-width:70ch}
 .method-journey{margin-top:2rem}
 .method-steps{grid-template-columns:1fr}
 .method-steps .method-deliverable{min-height:0}
}
@media(max-width:780px){
 #references .editorial-heading h2{font-size:clamp(1.55rem,5.7vw,2.5rem);line-height:1.2}
 #references .editorial-heading h2 em{white-space:normal}
 .territory-layout{grid-template-columns:1fr;gap:2rem}
 .territory-orbit{padding:1rem;grid-template-rows:minmax(85px,auto) 95px minmax(85px,auto)}
 .territory-panel .editorial-heading{margin-bottom:2rem}
}
@media print{
 .method-tabs,.method-hint{display:none!important}
 .method-steps li[hidden]{display:flex!important}
 .method-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Three architectural readings, placed only where the visitor chooses a mission. */
.expertise-illustrated .expertise-tile{gap:1rem}
.expertise-illustrated .expertise-tile h3{min-height:2.5em;overflow-wrap:normal;word-break:normal;hyphens:none}
.mission-illustration{margin:.2rem 0 .35rem;padding:.7rem 0 1rem;border-bottom:1px solid #c9bba9}
.mission-illustration img{width:100%;max-width:400px;height:auto;aspect-ratio:2/1;margin:0 auto;object-fit:contain}
.mission-illustration figcaption{font:500 .875rem/1.65 "DM Sans",Arial,sans-serif;color:#775438;margin-top:.75rem;letter-spacing:.01em}
#expertises .editorial-heading{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:end}
#expertises .editorial-heading h2,#expertises .editorial-heading h2 em{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:1050px){
 #expertises .editorial-heading{grid-template-columns:1fr;gap:1rem}
 .expertise-illustrated .expertise-tile{padding:1.4rem}
 .expertise-illustrated .expertise-tile h3{min-height:3.6em}
}
@media(max-width:780px){
 .expertise-illustrated .expertise-tile h3{min-height:0}
 .mission-illustration{padding-top:0}
 .mission-illustration img{max-width:320px}
}
