
:root{--paper:#f5f5f0;--ink:#20231f;--muted:#63675e;--line:#cdd0c5;--accent:#d8ec9d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #7e9847;outline-offset:6px}header{margin:0 4vw;padding:25px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600;letter-spacing:.05em}.identity img{width:40px;height:40px;object-fit:contain;background:#20231f;border-radius:50%;padding:5px}nav{display:flex;gap:30px;font-size:13px}.contact-link{border-bottom:1px solid;padding-bottom:4px}.hero{padding:46px 4vw 62px;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center}.eyebrow,.label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.eyebrow{display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:#6a7f4e}h1{font-size:clamp(58px,7.1vw,110px);line-height:.97;letter-spacing:-.065em;font-weight:400;margin:32px 0}h1 span{color:#7b8370}.intro{font-size:17px;line-height:1.6;max-width:420px;color:var(--muted)}.pill{display:inline-flex;gap:35px;align-items:center;background:var(--ink);color:white;padding:17px 22px;border-radius:40px;font-size:13px;margin-top:20px}.pill:hover{background:#434d35}.hero figure{margin:0}.hero img{width:100%;height:auto;display:block;aspect-ratio:1086/1448}.hero figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;letter-spacing:.04em;color:var(--muted)}.sectors{padding:25px 4vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.section{padding:86px 4vw}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:50px}h2{font-size:clamp(35px,4.4vw,66px);line-height:1.07;letter-spacing:-.045em;font-weight:400;margin:0}.worklist{border-top:1px solid var(--ink)}.workitem{display:grid;grid-template-columns:60px 1fr 180px;padding:25px 0;border-bottom:1px solid var(--line);align-items:center}.workitem .num{font-size:11px;color:var(--muted)}.workitem h3{font-size:clamp(24px,3vw,40px);font-weight:400;letter-spacing:-.03em;margin:0}.workitem p{font-size:12px;color:var(--muted);margin:0}.subnote{font-size:13px;line-height:1.6;color:var(--muted);max-width:580px;margin:25px 0 0 auto}.services{background:var(--ink);color:var(--paper)}.services .label{color:var(--accent)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service{border-top:1px solid #596050;padding-top:24px}.service small{font-size:11px;color:var(--accent)}.service h3{font-weight:400;font-size:27px;letter-spacing:-.03em;line-height:1.15}.service p{color:#bac0b1;font-size:14px;line-height:1.65}.about-copy{font-size:21px;line-height:1.5;max-width:760px;margin:0}.ventures{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:50px}.ventures article{border-top:1px solid var(--line);padding-top:20px}.ventures h3{font-size:22px;font-weight:400;margin:14px 0}.ventures p{color:var(--muted);font-size:14px;line-height:1.6;max-width:450px}.contact{background:var(--accent);padding:75px 4vw}.contact h2{font-size:clamp(48px,7vw,105px);max-width:920px;margin:25px 0 40px}.email{display:inline-block;font-size:clamp(17px,2.3vw,30px);border-bottom:1px solid;padding-bottom:10px}.footer{padding:25px 4vw;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}@media(max-width:700px){header{padding:20px 0}.identity{font-size:11px}.identity img{width:32px;height:32px}nav{gap:16px;font-size:12px}nav .wide{display:none}.hero{grid-template-columns:1fr;padding-top:35px;gap:35px}.hero h1{font-size:clamp(57px,13vw,85px);max-width:560px}.hero figure{max-width:500px}.sectors{flex-wrap:wrap;justify-content:flex-start;gap:12px 24px}.section{padding:55px 5vw}.section-top{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.workitem{grid-template-columns:30px 1fr;padding:20px 0}.workitem p{grid-column:2;margin-top:8px}.services-grid,.ventures{grid-template-columns:1fr;gap:22px}.about-copy{font-size:19px}.contact{padding:55px 5vw}.footer{gap:20px}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:10px}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none;padding:10px}.mobile-nav[open] nav{display:flex;flex-direction:column;position:absolute;right:4vw;top:75px;padding:24px;background:var(--paper);border:1px solid var(--line);z-index:5;gap:22px;min-width:170px}@media(max-width:700px){header>nav{display:none}.mobile-nav{display:block}.mobile-nav nav{display:none}.hero figcaption{gap:12px;line-height:1.5}.email{overflow-wrap:anywhere}} .identity{gap:22px;font-size:32px;font-weight:500;letter-spacing:-.025em}.identity img{width:120px;height:84px;background:none;border-radius:0;padding:0}.contact,.footer{background:#7b8370;color:#141811}.footer{border-top:1px solid #636c57}.contact .label{color:#141811}@media(max-width:700px){.identity{font-size:21px;gap:12px}.identity img{width:76px;height:55px}.mobile-nav[open] nav{top:92px}}@media(max-width:360px){.identity{font-size:18px}.identity img{width:64px;height:46px}} .menu-trigger{display:none;white-space:nowrap}.menu-trigger,.menu-close{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:12px}.menu-trigger:focus-visible,.menu-close:focus-visible{outline:2px solid #20231f}#mobile-menu{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 6vw;background:#7b8370;color:#141811;border:0;overflow:auto}#mobile-menu::backdrop{background:#7b8370}.menu-head{display:flex;align-items:center;justify-content:space-between;font-size:15px}.menu-head>span{letter-spacing:-.02em;font-weight:600}#mobile-menu nav{display:flex;flex-direction:column;gap:0;margin:9vh 0 6vh}#mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(40px,11vw,70px);letter-spacing:-.04em;border-bottom:1px solid #616b56;padding:12px 0}#mobile-menu nav a span{font-size:12px;letter-spacing:0}.menu-bottom{font-size:20px;line-height:1.6}.menu-bottom a{display:inline-block;font-size:14px;border-bottom:1px solid;margin-top:20px}@media(max-width:700px){.menu-trigger{display:block;font-size:14px}} 
.hero h1{font-size:clamp(52px,6.1vw,94px)}.page-intro{padding:65px 4vw 55px;max-width:1100px}.page-intro h1{font-size:clamp(48px,6vw,88px);line-height:1.04;margin:28px 0}.page-intro p{max-width:680px;font-size:20px;line-height:1.6;color:var(--muted)}.workitem.linked:hover{background:#e9ece2}.workitem .arrow{font-size:22px}.timeline .workitem{grid-template-columns:130px 1fr 220px}.timeline h3{font-size:clamp(22px,2.5vw,34px)}.timeline .num{font-size:13px}.timeline .workitem p{text-align:right}.section-lead{max-width:660px;font-size:17px;line-height:1.65;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 2fr;gap:55px}.detail-grid article{border-top:1px solid var(--line);padding:28px 0}.detail-grid h2{font-size:36px}.detail-grid p,.detail-grid li{font-size:18px;line-height:1.7;max-width:760px}.detail-grid ul{padding-left:22px}.facts{border-top:1px solid var(--line);padding-top:20px}.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:22px}.facts dd{margin:8px 0;font-size:16px;line-height:1.5}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.contact-layout h2{font-size:36px}.contact-layout p{color:var(--muted);line-height:1.7}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.field label{font-size:14px}.field input,.field textarea,.field select{width:100%;font:inherit;padding:14px;border:1px solid #a5ac9a;background:transparent;border-radius:0;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #636e54;outline-offset:3px}button.pill{border:0;cursor:pointer;font:inherit}button:disabled{opacity:.5;cursor:not-allowed}.form-status{font-size:15px;line-height:1.6;padding:16px;background:#e7eadd;margin-bottom:24px}.trap{position:absolute;left:-10000px}.small{font-size:13px;line-height:1.6;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid;padding:8px 0;margin-top:18px}.services-grid{margin-top:40px}.compact-callout{padding:65px 4vw;background:#7b8370}.compact-callout h2{max-width:850px}.compact-callout .text-link{font-size:20px}.breadcrumb{font-size:13px;color:var(--muted)}.project-nav{display:flex;justify-content:space-between;gap:20px;margin-top:45px}.timeline-note{margin-top:28px;font-size:13px;color:var(--muted)}@media(max-width:700px){.hero h1{font-size:clamp(50px,12vw,78px)}.timeline .workitem{grid-template-columns:80px 1fr}.timeline .workitem p{text-align:left}.detail-grid,.contact-layout{grid-template-columns:1fr;gap:30px}.page-intro{padding:45px 5vw}.page-intro p{font-size:18px}.detail-grid h2{font-size:30px}.detail-grid p,.detail-grid li{font-size:17px}.identity{font-size:20px}.section{padding:55px 5vw}.compact-callout{padding:50px 5vw}.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.facts div{min-width:0}.workitem{grid-template-columns:30px 1fr 24px}.workitem p{grid-column:2}.workitem .arrow{grid-column:3;grid-row:1}.footer{flex-wrap:wrap}}

.featured-projects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.featured-projects .workitem{display:flex;flex-direction:column;align-items:flex-start;gap:20px;border-top:1px solid var(--ink);border-bottom:0;padding:25px 0}.featured-projects .workitem h3{font-size:clamp(24px,2.5vw,36px)}.featured-projects .arrow{margin-top:auto}.featured-projects .workitem:hover{background:transparent;color:#626e54}@media(max-width:900px){.featured-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.featured-projects{gap:20px}.featured-projects .workitem h3{font-size:25px}}

.icon-arrow{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0}.featured-projects{margin-top:30px}.featured-projects .arrow{display:flex}.pill .icon-arrow{width:18px;height:18px}#mobile-menu nav .icon-arrow{width:28px;height:28px}.breadcrumb .icon-arrow{width:16px;height:16px;margin-right:5px}.footer .icon-arrow{width:14px;height:14px}

/* v5: restored headline scale and native timeline disclosures. */
.hero h1{font-size:clamp(58px,7.1vw,110px)}
.timeline-entry{border-bottom:1px solid var(--line)}.timeline-entry summary{display:grid;grid-template-columns:130px minmax(0,1fr) 24px;align-items:center;gap:24px;list-style:none;padding:27px 0;cursor:pointer}.timeline-entry summary::-webkit-details-marker{display:none}.timeline-entry summary::marker{content:""}.timeline-entry h3{margin:0;font-weight:400;letter-spacing:-.03em;font-size:clamp(22px,2.5vw,34px)}.timeline-entry .num{font-size:13px;color:var(--muted)}.timeline-toggle{width:22px;height:22px}.timeline-entry[open] .toggle-vertical{display:none}.timeline-entry[open] summary{padding-bottom:18px}.timeline-body{margin-left:154px;max-width:680px;padding:0 45px 30px 0}.timeline-category{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.timeline-body p{font-size:17px;line-height:1.65;margin:12px 0 0;color:var(--muted)}.timeline-entry summary:hover h3{color:#636e54}@media(max-width:700px){.hero h1{font-size:clamp(57px,13vw,85px)}.timeline-entry summary{grid-template-columns:70px minmax(0,1fr) 20px;gap:12px;padding:23px 0}.timeline-entry h3{font-size:24px}.timeline-body{margin-left:82px;padding-right:0}.timeline-body p{font-size:16px}.timeline-toggle{width:20px;height:20px}}

.form-status:empty{display:none}

.timeline-note{font-size:17px;line-height:1.65}

/* v15: consistent mobile title sizing and safe responsive columns. */
.keep-together{white-space:nowrap}.featured-projects .workitem{min-width:0}.featured-projects h3{max-width:100%;overflow-wrap:anywhere}@media(max-width:700px){.featured-projects .workitem h3{font-size:23px;line-height:1.18}.contact-layout{display:block}.contact-layout form{max-width:720px}}@media(max-width:420px){.featured-projects{grid-template-columns:1fr}.featured-projects .workitem{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;gap:10px 14px;padding:22px 0}.featured-projects .workitem p{grid-column:2}.featured-projects .workitem .arrow{grid-column:3;grid-row:1;margin:0}.featured-projects .workitem h3{font-size:23px}}
.project-logo{display:block;width:100%;max-width:320px;height:auto;margin-top:30px}

.archive-figure{margin:40px 0}.archive-figure img{display:block;width:100%;max-width:300px;height:auto}.archive-figure figcaption{font-size:14px;margin-top:12px;color:var(--muted)}
.kafein-logo{box-sizing:border-box;padding:24px 0;background:rgb(34,43,106)}

.kafein-logo{padding:36px 44px;object-fit:contain}

.beggars-invitation img{max-width:440px}

.mansion-symbol{box-sizing:border-box;padding:28px;max-width:320px}

.timeline-project-logo{display:block;max-width:220px;width:100%;height:auto;margin:24px 0 8px}.venue-logo-label{margin-top:32px}

.gudo-round-logo{border-radius:50%;aspect-ratio:1;object-fit:cover}

.lgb-company-logo{max-width:150px;max-height:150px;object-fit:contain}.antomilio-logo{max-width:160px;max-height:160px;object-fit:contain}

/* Shared project and timeline layout. Original image proportions remain intact. */
.timeline-project-logo,.timeline-project-logo.lgb-company-logo,.timeline-project-logo.antomilio-logo{width:200px;max-width:100%;height:160px;max-height:none;object-fit:contain;object-position:left center;margin:24px 0 16px}
.timeline-project-logo.gudo-round-logo{width:160px;height:160px;aspect-ratio:1;border-radius:0}
.project-logo{width:240px;max-width:100%;height:180px;object-fit:contain;object-position:center;padding:0;margin:30px 0}
.project-logo.kafein-logo{height:auto;padding:36px 44px}.project-logo.mansion-symbol{height:240px;padding:24px}
.timeline-story-link{display:inline-flex;align-items:center;max-width:100%;margin-top:20px;margin-bottom:6px;padding:8px 0;line-height:1.5;overflow-wrap:anywhere}
.project-summary p{font-size:18px;line-height:1.7;max-width:760px;margin-top:24px}.project-summary>.label{border-top:1px solid var(--line);padding-top:28px}
@media(max-width:700px){.timeline-body{padding-right:16px}.timeline-story-link{margin-right:12px}.project-nav{flex-wrap:wrap}.project-nav .text-link{max-width:100%;overflow-wrap:anywhere}.detail-grid>*{min-width:0}.timeline-entry summary h3{min-width:0;overflow-wrap:anywhere}}

/* v37: centered logo artwork in every available expanded timeline entry */
.timeline-project-logo,.timeline-project-logo.lgb-company-logo,.timeline-project-logo.antomilio-logo{display:block;width:240px;height:180px;object-fit:contain;object-position:center;margin:26px auto 20px;max-width:100%}
.timeline-project-logo.gudo-round-logo{width:180px;height:180px}
.timeline-project-logo.brand-header-logo{width:420px;height:auto;max-height:none}
.timeline-brand-lockup{display:flex;align-items:center;justify-content:center;gap:14px;max-width:100%;width:420px;background:#273228;padding:20px;margin:26px auto 20px;box-sizing:border-box}
.tap-lockup img{width:66px;height:66px;object-fit:contain;flex-shrink:0}
.tap-lockup span{color:#fff;font:600 12px/1.5 Arial,sans-serif;letter-spacing:.04em}
@media(max-width:400px){.tap-lockup{gap:10px;padding:16px}.tap-lockup img{width:48px;height:48px}.tap-lockup span{font-size:10px}}

/* Match the approved story-page Kafein display in the timeline. */
.timeline-project-logo.kafein-timeline-logo{width:240px;height:auto;max-height:none;padding:36px 44px;background:#222b6a;box-sizing:border-box}
.timeline-brand-lockup{justify-content:center;text-align:left}
.timeline-project-logo{object-position:center}

/* Consulting approach: align title with the paragraph below. */
.consulting-approach .section-top{display:block}.consulting-approach .section-top .label{margin-bottom:24px}.consulting-approach h2{text-align:left}

/* v73: phone touch areas, compact tablet header and safe mobile menu spacing. */
header>nav a{display:inline-flex;align-items:center;min-height:44px}
.menu-trigger,.menu-close{min-width:44px;min-height:44px}
.footer{align-items:center}.footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.timeline-story-link{min-height:44px}
#mobile-menu{height:100vh;height:100dvh;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(6vw,env(safe-area-inset-left));padding-right:max(6vw,env(safe-area-inset-right))}
@media(min-width:701px) and (max-width:1000px){.identity{font-size:24px;gap:14px}.identity img{width:90px;height:64px}header>nav{gap:22px}}
@media(max-width:360px){.identity{font-size:17px;gap:8px}.identity img{width:58px;height:44px}.identity span{white-space:nowrap}}

/* Keep native Safari form controls comfortably tappable. */
.field input,.field select{min-height:48px}

.project-media{padding-top:24px}.project-media .section-top{margin-bottom:24px}
.media-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 28px}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px;max-width:1400px;margin:0 auto}
.media-grid figure{margin:0;min-width:0}.media-grid .media-wide{grid-column:1/-1}
.media-image-link{display:block;background:#e9ebe3}.media-image-link img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;max-height:720px}
.media-document .media-image-link{background:transparent}.media-document img{aspect-ratio:auto;max-height:none;object-fit:contain}
.media-grid figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:12px;max-width:760px}
.media-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#20231f;max-height:760px}
.media-film figcaption span{display:block}
@media(max-width:700px){.media-grid{grid-template-columns:1fr;gap:28px}.project-media .section-top{gap:16px}.media-image-link img{max-height:none}.media-grid .media-wide{grid-column:auto}}

.archive-menu .section-top{margin-bottom:32px}.archive-menu-content{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:center;gap:56px}.archive-menu-preview{display:block;background:#fff}.archive-menu-preview img{display:block;width:100%;height:auto}.archive-menu-content p{color:var(--muted);line-height:1.7}.archive-menu-content .text-link{max-width:100%;white-space:normal}@media(max-width:700px){.archive-menu-content{grid-template-columns:1fr;gap:24px}.archive-menu-preview{max-width:420px}}

/* Archive menus: each page visible, with an accessible image viewer. */
.menu-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.menu-page{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:zoom-in}.menu-page img{display:block;width:100%;height:auto}.menu-page span{display:block;font-size:14px;padding:10px 0}.menu-page:focus-visible{outline:2px solid currentColor;outline-offset:6px}.menu-viewer{width:96vw;max-width:1600px;height:94dvh;max-height:94dvh;padding:0;border:0;background:#f6f5ef;color:#222}.menu-viewer::backdrop{background:#000c}.menu-viewer-controls{display:flex;justify-content:space-between;padding:12px;background:#f6f5ef}.menu-viewer-controls button{padding:10px 16px;font:inherit;cursor:pointer}.menu-viewer-scroll{height:calc(100% - 70px);overflow:auto}.menu-viewer-scroll img{display:block;width:100%;height:auto;margin:auto}.menu-viewer.zoomed .menu-viewer-scroll img{width:auto;max-width:none;margin:0}@media(max-width:700px){.menu-pages{grid-template-columns:1fr;gap:24px}}

.venue-photo img{aspect-ratio:4/3;object-fit:cover}.event-presentation-pages{display:grid;grid-template-columns:1fr;gap:30px}

/* Compact Kafein archive gallery */
.kafein-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:960px;margin-inline:auto}.kafein-photo{display:block;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;aspect-ratio:1}.kafein-photo img{display:block;width:100%;height:100%;object-fit:cover}.kafein-photo:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media(max-width:600px){.kafein-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Bilingual site header */
header{column-gap:24px}header>nav{margin-left:auto}.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0;border:1px solid var(--line);border-radius:999px;padding:3px}.language-link{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:36px;padding:0 9px;font-size:11px;font-weight:600;letter-spacing:.03em;border-radius:999px;color:var(--muted)}.language-link.is-active{background:var(--ink);color:var(--paper)}.language-link:hover:not(.is-active){background:#e7e9df}.language-link:focus-visible{outline:2px solid #7e9847;outline-offset:3px}@media(max-width:700px){header{column-gap:10px}.language-switch{margin-left:auto}.language-link{min-width:34px;min-height:38px;padding:0 6px}.menu-trigger{padding-inline:6px}html[lang=fr] .hero h1{font-size:clamp(53px,12vw,85px)}}@media(max-width:370px){.identity{gap:7px}.identity img{width:42px;height:36px}.identity span{font-size:10px}header{column-gap:6px}.language-link{min-width:30px}}

@media(max-width:370px){html[lang=fr] .page-intro h1{font-size:44px}}

/* Archive sections retain full-width headings after the shared label. */
.section-top.archive-continuation{grid-template-columns:minmax(0,1fr)}
