:root{--ivory:#f7f6f1;--ivory-deep:#eeede6;--white:#fffefa;--navy:#102b4a;--navy-dark:#0b2039;--blue:#315f9a;--blue-soft:#e3ecf5;--green:#11836a;--green-dark:#086d58;--mint:#c5e9d9;--ink:#14253a;--muted:#5c6a76;--line:#dce2e3;--shadow:0 30px 75px rgba(16,43,74,.10);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
button{font:inherit}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{font-weight:650;letter-spacing:-.052em}
::selection{background:#b9e4d4;color:var(--navy)}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.container{width:min(100% - 96px,1360px);margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-90px;z-index:1000;background:var(--navy);color:white;padding:12px 17px;border-radius:8px}
.skip-link:focus{top:12px}
.scroll-progress{position:fixed;left:0;top:0;z-index:1000;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--green))}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(247,246,241,.82);border-bottom:1px solid rgba(16,43,74,.08);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);transition:background .25s,box-shadow .25s}
.site-header.is-scrolled{background:rgba(247,246,241,.93);box-shadow:0 9px 30px rgba(18,46,76,.06)}
.nav-shell{min-height:78px;display:flex;align-items:center;gap:32px}
.site-header .nav-shell:not(.container){width:min(100% - 96px,1360px);margin-inline:auto}
.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;min-width:220px}
.brand-mark,.footer-brand{display:inline-block;font-size:29px;line-height:1;font-weight:750;letter-spacing:-.1em;color:var(--navy)}
.brand-mark span,.footer-brand span{color:var(--green)}
.brand .brand-mark{display:block;width:36px;height:28px;flex:none;overflow:hidden}
.brand-name{font-size:13px;font-weight:720;letter-spacing:-.02em;color:var(--navy)}
.brand .brand-wordmark{display:block;width:142px;height:auto;aspect-ratio:1385/590;flex:none;overflow:hidden}
@media(max-width:600px){.brand .brand-wordmark{width:112px}}
.desktop-nav{display:flex;align-items:center;gap:30px;margin:auto}
.desktop-nav a{font-size:12px;font-weight:650;color:#506174;transition:color .2s}
.desktop-nav a:hover{color:var(--green)}
.language-switcher{display:inline-flex;align-items:center;gap:1px;flex:none;padding:3px;border:1px solid #cbd8d9;border-radius:999px;background:rgba(255,254,250,.74);color:#8a9aa2}
.language-switcher button{min-width:30px;min-height:27px;padding:2px 5px;border:0;border-radius:999px;background:transparent;color:#74848d;font-size:10px;font-weight:800;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.language-switcher button:hover{color:var(--navy)}
.language-switcher button:active{transform:scale(.92)}
.language-switcher button.is-active{background:var(--navy);color:white}
.language-switcher span{font-size:10px}
.nav-contact{display:inline-flex;align-items:center;gap:16px;white-space:nowrap;background:var(--navy);color:white;padding:12px 17px;border-radius:999px;font-size:12px;font-weight:700;transition:transform .25s,background .25s}
.nav-contact:hover{background:var(--blue);transform:translateY(-2px)}
.nav-contact span{font-size:16px;font-weight:400}
.menu-toggle,.mobile-menu{display:none}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;min-height:54px;padding:0 22px;border-radius:999px;font-size:13px;font-weight:720;line-height:1.2;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(16,43,74,.15)}
.button:active,.nav-contact:active{transform:scale(.97);transition-duration:.1s}
.button span{font-size:20px;font-weight:400}
.button-primary{background:var(--navy);color:white}
.button-primary:hover{background:var(--blue)}
.button-light{background:var(--ivory);color:var(--navy)}
.button-link,.inline-link,.story-link{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding:6px 0;transition:color .2s}
.button-link:hover,.inline-link:hover,.story-link:hover{color:var(--green)}
.button-link span,.inline-link span,.story-link span{font-size:19px;font-weight:400}
.section-kicker,.eyebrow,.story-overline,.case-type,.case-role{font-size:11px;line-height:1.4;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.section-kicker{color:var(--green)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.72,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* The first screen speaks to a potential consulting client. */
.hero{position:relative;min-height:100svh;padding:142px 0 32px;overflow:hidden;background:var(--ivory)}
.hero-glow{position:absolute;right:-15%;top:-16%;width:75vw;height:70vw;max-width:1100px;max-height:850px;border-radius:50%;background:radial-gradient(circle at 40% 42%,rgba(194,226,216,.49),rgba(194,218,235,.31) 45%,transparent 73%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.16fr .84fr;gap:clamp(40px,5vw,90px);align-items:center;min-height:calc(100svh - 240px)}
.hero-content{padding:0 0 26px}
.eyebrow{display:flex;gap:10px;align-items:center;color:var(--green);margin-bottom:27px}
.status-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 0 5px rgba(17,131,106,.1)}
.hero h1{max-width:800px;font-size:clamp(59px,6.2vw,100px);line-height:1.03;margin:0 0 30px;color:var(--navy)}
.hero h1 span{background:linear-gradient(95deg,#2d5f9c 4%,#148268 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:clamp(18px,1.65vw,22px);line-height:1.55;color:#4c5b67;max-width:625px;margin-bottom:35px;letter-spacing:-.02em}
.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap}
.button-link{color:var(--navy)}
.hero-proof{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid #d6dedf;margin-top:67px;padding-top:20px;color:#637180;font-size:11px;font-weight:720;letter-spacing:.04em}
.proof-label{font-size:10px;font-weight:600;color:#84919c;margin-right:7px}
.hero-visual{position:relative;width:100%;max-width:490px;justify-self:end;padding-bottom:26px}
.hero-image-wrap{position:relative;height:min(56vw,560px);min-height:440px;overflow:hidden;border-radius:240px 240px 21px 21px;background:#d5e3eb;box-shadow:var(--shadow)}
.hero-image-wrap::after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(transparent,rgba(13,39,64,.18))}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.92)}
.hero-visual-note{position:absolute;left:-50px;bottom:70px;display:flex;align-items:center;gap:13px;padding:14px 19px;background:rgba(255,254,250,.91);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:14px;box-shadow:0 17px 30px rgba(16,43,74,.1);font-size:12px;line-height:1.35;font-weight:700;color:var(--navy)}
.note-spark{font-size:25px;color:var(--green);font-weight:400}
.hero-visual-caption{position:absolute;right:0;bottom:0;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.hero-visual-caption span{font-weight:500;color:#778793}
.hero-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #d6dedf;padding-top:19px;margin-top:25px;color:#73828c;font-size:11px;font-weight:600}
.hero-bottom a{color:var(--green)}
.hero-bottom a span{margin-left:10px}

/* A three-scene, scroll-led introduction to the consulting work. */
.offer-section{background:var(--white)}
.offer-opening{min-height:calc(100svh - 78px);padding:138px 0 38px;background:radial-gradient(circle at 88% 40%,rgba(207,231,224,.33),transparent 31%),var(--white)}
.offer-opening-inner{min-height:calc(100svh - 254px);display:flex;flex-direction:column}
.offer-opening .section-kicker{margin:0}
.offer-opening h2{color:var(--navy);font-size:clamp(82px,10.8vw,174px);line-height:.9;letter-spacing:-.084em;font-weight:690;margin:auto 0;max-width:1100px}
.offer-opening h2 span{color:var(--green)}
.offer-opening-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:end;gap:24px}
.offer-opening-bottom p{font-size:16px;line-height:1.45;color:#4d5f6c;font-weight:600;margin:0}
.offer-opening-bottom>span{color:var(--green);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.offer-opening-bottom b{font-size:19px;font-weight:400;vertical-align:-2px;margin-left:8px}
.offer-scene{height:160svh;position:relative;isolation:isolate;overflow:clip}
.offer-stage{position:sticky;top:78px;height:calc(100svh - 78px);min-height:620px;display:flex;flex-direction:column;justify-content:space-between;padding-block:30px 25px}
.offer-stage-top,.offer-stage-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;font-weight:780;letter-spacing:.13em;text-transform:uppercase;color:#638095}
.offer-stage-top span:first-child{color:var(--green)}
.offer-stage-bottom i{display:block;width:170px;height:2px;background:linear-gradient(90deg,var(--blue),var(--green));transform:scaleX(var(--offer-progress,0));transform-origin:left}
.offer-scene-grid{display:grid;grid-template-columns:.87fr 1.13fr;align-items:center;gap:clamp(38px,5vw,90px);flex:1;min-height:0}
.offer-scene-copy{position:relative;z-index:2;opacity:var(--offer-reveal,1);transform:translateY(var(--offer-copy-y,0px));will-change:opacity,transform}
.offer-overline{color:var(--green);font-size:11px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin:0 0 17px}
.offer-scene-copy h3{color:var(--navy);font-size:clamp(58px,6.2vw,96px);line-height:.98;margin:0 0 25px;max-width:620px}
.offer-scene-copy h3 em{font-style:normal;color:var(--blue)}
.offer-scene-copy>p:not(.offer-overline){font-size:16px;line-height:1.63;color:#4f6070;max-width:490px;margin:0 0 24px}
.offer-scene-copy .story-link{color:var(--navy)}
.offer-photo,.offer-process-visual{position:relative;opacity:var(--offer-reveal,1);transform:translateY(var(--offer-media-y,0px)) scale(var(--offer-scale,1));transform-origin:50% 50%;will-change:opacity,transform}
.offer-photo{height:min(58svh,570px);min-height:390px;border-radius:26px;overflow:hidden;box-shadow:0 34px 70px rgba(16,43,74,.15);margin:0}
.offer-photo img{width:100%;height:100%;object-fit:cover}
.offer-photo::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgba(8,26,45,.56));pointer-events:none}
.offer-photo figcaption{position:absolute;z-index:1;bottom:19px;left:22px;right:22px;color:white;font-size:10px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.offer-scene-cudi{background:radial-gradient(circle at 78% 36%,#f4f8fb,transparent 38%),#e4edf4}
.offer-cudi-photo img{object-position:center}
.offer-scene-strategy{background:#102b4a}
.offer-scene-strategy .offer-stage-top,.offer-scene-strategy .offer-stage-bottom{color:#b8c9d6}
.offer-scene-strategy .offer-stage-top span:first-child,.offer-scene-strategy .offer-overline{color:#89d5b4}
.offer-scene-strategy .offer-scene-copy h3{color:white}
.offer-scene-strategy .offer-scene-copy h3 em{color:#8edabc}
.offer-scene-strategy .offer-scene-copy>p:not(.offer-overline){color:#d0dce4}
.offer-scene-strategy .story-link{color:white}
.offer-strategy-photo{box-shadow:0 32px 70px rgba(0,0,0,.2)}
.offer-strategy-photo img{object-position:center 45%}
.offer-strategy-mark{position:absolute;z-index:2;right:20px;top:20px;display:flex;flex-direction:column;align-items:flex-end;gap:0;padding:13px 16px;background:rgba(9,30,51,.72);color:white;border:1px solid rgba(255,255,255,.24);border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.offer-strategy-mark span{font-size:12px;letter-spacing:.04em;font-weight:700;color:#bdd0de}
.offer-strategy-mark s{color:#8ea9b7}
.offer-strategy-mark strong{font-size:32px;line-height:1;font-weight:770;letter-spacing:-.08em}
.offer-scene-process{background:radial-gradient(circle at 75% 48%,#e6f3ed,transparent 42%),#f2f5ef}
.offer-process-visual{height:min(57svh,550px);min-height:380px;padding:33px 30px;background:rgba(255,254,250,.82);border:1px solid #d8e3df;border-radius:26px;box-shadow:0 25px 65px rgba(16,43,74,.07);display:flex;flex-direction:column;justify-content:space-between}
.offer-process-label,.offer-process-caption{color:#607784;font-size:10px;font-weight:780;letter-spacing:.12em;text-transform:uppercase}
.offer-process-caption{text-align:right;color:var(--green)}
.offer-process-flow{display:flex;align-items:center;justify-content:center;width:100%;padding:30px 0}
.flow-start,.flow-end{width:20px;height:20px;flex:none;border:3px solid var(--green);border-radius:50%;background:white}
.flow-end{border:6px double var(--navy)}
.flow-line{height:2px;flex:1;min-width:18px;max-width:76px;background:#bed0d0;position:relative}
.flow-line::after{content:"";position:absolute;inset:0;background:var(--green);transform:scaleX(var(--offer-progress,1));transform-origin:left}
.flow-task{display:grid;place-items:center;min-width:96px;min-height:72px;padding:8px;border:2px solid var(--blue);border-radius:13px;background:#f4f9fb;color:var(--navy);font-size:12px;font-weight:760}
.flow-decision{width:78px;height:78px;display:grid;place-items:center;flex:none;transform:rotate(45deg);border:2px solid var(--green);border-radius:7px;background:#e7f3ec;color:var(--navy)}
.flow-decision span{transform:rotate(-45deg);font-size:11px;font-weight:760}
.offer-outro{position:relative;padding:75px 0;background:linear-gradient(115deg,#e1ecf7 0%,#e1eee6 70%,#edf1d9 100%);overflow:hidden}
.offer-outro::after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-120px;border:1px solid #008b7040;border-radius:50%;box-shadow:0 0 0 35px #008b7008,0 0 0 70px #008b7005;pointer-events:none}
.offer-outro-inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:30px}
.offer-outro-spark{display:grid;place-items:center;flex:none;width:56px;height:56px;font-size:48px;color:var(--green)}
.offer-outro .offer-outro-inner>p{flex:1;max-width:780px;background:linear-gradient(110deg,var(--navy),#28639a 50%,#087b62);background-clip:text;-webkit-background-clip:text;color:transparent}
.offer-outro .button{flex:none;box-shadow:0 8px 22px #102b4a18}
@media(max-width:800px){.offer-outro-spark{width:40px;height:40px;font-size:38px}}
@media(prefers-contrast:more){.offer-outro .offer-outro-inner>p{background:none;color:var(--navy)}}
.offer-outro p{font-size:clamp(25px,3vw,42px);line-height:1.16;font-weight:650;letter-spacing:-.045em;color:var(--navy);margin:0}

/* A scroll-led journey: the text and visuals respond to scroll position. */
.story-intro{position:relative;min-height:68svh;display:grid;align-content:center;padding:110px 0 95px;color:white;background:radial-gradient(circle at 85% 28%,rgba(31,111,115,.37),transparent 36%),linear-gradient(120deg,var(--navy-dark),#183c5a)}
.story-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.story-intro .section-kicker{color:#9edac2}
.story-intro h2{font-size:clamp(60px,6.1vw,94px);line-height:1.04;margin:18px 0 0;max-width:800px}
.story-intro-grid>p{max-width:470px;margin:0 0 8px;color:#d1dce4;font-size:18px;line-height:1.65}
.story-scroll-hint{position:absolute;bottom:37px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;letter-spacing:.18em;color:#9cb5c7}
.story-scroll-hint span{margin-left:12px;font-size:18px;vertical-align:-2px}
.story-sequence{background:var(--ivory)}
.journey-line{--line-progress:0;position:fixed;left:24px;top:50%;z-index:75;width:150px;transform:translateY(-44%) translateX(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,transform .3s,visibility .3s}
.journey-line.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-44%) translateX(0)}
.journey-label{display:block;margin:0 0 20px;color:#657988;font-size:9px;line-height:1;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.journey-track{position:absolute;top:43px;bottom:13px;left:6px;width:1px;background:#b8c9cf}
.journey-fill{display:block;width:100%;height:100%;background:var(--green);transform:scaleY(var(--line-progress));transform-origin:top}
.journey-stops{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:390px;list-style:none;margin:0;padding:0}
.journey-stops li{min-height:18px}
.journey-stops a{display:inline-flex;align-items:center;gap:10px;min-height:24px;color:#71818c;transition:color .2s}
.journey-stops a:hover,.journey-stops a.is-active{color:var(--navy)}
.journey-dot{width:13px;height:13px;flex:none;border:2px solid #9bb3bd;border-radius:50%;background:var(--ivory);transition:background .2s,border-color .2s,transform .2s}
.journey-stops a.is-active .journey-dot{background:var(--green);border-color:var(--green);transform:scale(1.2)}
.journey-number{font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.journey-name{font-size:10px;font-weight:700;line-height:1.1;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.journey-stops a:is(.is-active,:hover,:focus-visible) .journey-name{opacity:1;transform:none}
@media(min-width:801px){.journey-line.is-on-dark .journey-label,.journey-line.is-on-dark .journey-stops a{color:#c8d9df}.journey-line.is-on-dark .journey-stops a:is(.is-active,:hover,:focus-visible){color:#fff}.journey-line.is-on-dark .journey-track{background:rgba(214,232,233,.4)}.journey-line.is-on-dark .journey-dot{background:#183b56;border-color:#bad5d4}.journey-line.is-on-dark .journey-stops a.is-active .journey-dot{background:#a6dec7;border-color:#a6dec7}}
.story-sequence .story-stage{width:min(calc(100% - 190px),1210px);margin-right:48px;margin-left:auto}
.story-chapter{height:160svh;position:relative;isolation:isolate;overflow:clip;border-bottom:1px solid rgba(16,43,74,.09)}
.story-stage{position:sticky;top:78px;height:calc(100svh - 78px);min-height:650px;display:flex;flex-direction:column;justify-content:space-between;padding-top:32px;padding-bottom:26px}
.story-meta,.story-stage-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:#74838e}
.story-meta span:first-child{color:var(--green)}
.story-meta .story-date{font-size:clamp(25px,2.7vw,38px);line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--navy)}
.story-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,4vw,70px);align-items:center;flex:1;min-height:0}
.story-copy{position:relative;z-index:3;max-width:540px;opacity:var(--intro-opacity,1);transform:translateY(var(--intro-y,0px));will-change:opacity,transform}
.story-overline{color:var(--green);margin-bottom:14px}
.story-copy h3{font-size:clamp(58px,6.9vw,106px);line-height:.99;margin:0 0 25px;color:var(--navy)}
.story-copy h3 span{color:var(--green)}
.story-copy>p:not(.story-overline){max-width:490px;font-size:16px;line-height:1.65;color:#546370;margin-bottom:17px}
.story-copy .story-takeaway{font-weight:650;color:var(--navy)!important}
.story-link{margin-top:8px;color:var(--blue)}
.story-art{position:relative;height:min(63vh,600px);min-height:460px;opacity:var(--art-opacity,1);transform:translateY(var(--art-y,0px));will-change:opacity,transform}
.archive-frame,.floating-photo,.process-card,.linkube-card,.linkube-experience-photo{opacity:var(--media-opacity,1);translate:0 var(--media-y,0px);will-change:opacity,translate}
.story-progress-track{width:150px;height:2px;display:block;background:#d6dfdf}
.story-progress-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));transform:scaleX(var(--progress,0));transform-origin:left}
.chapter-planet{background:radial-gradient(circle at 79% 46%,#e5eff6,transparent 45%),var(--ivory)}
.story-orbit{position:absolute;border:1px solid rgba(61,100,136,.21);border-radius:50%;width:73%;aspect-ratio:1;top:11%;left:17%;transform:scale(var(--mark-scale,1))}
.orbit-two{width:49%;top:23%;left:29%}
.planet-wordmark,.jen-wordmark,.woaw-wordmark,.linkube-wordmark{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) scale(var(--mark-scale,1));text-align:center;white-space:nowrap;letter-spacing:-.08em;font-weight:850;color:var(--navy)}
.planet-wordmark{font-size:clamp(62px,7.3vw,112px);line-height:.73;display:flex;flex-direction:column;z-index:2}
.planet-wordmark span{font-size:.8em;color:var(--blue)}
.planet-wordmark i{position:absolute;right:-.23em;top:-.35em;font-style:normal;font-size:.52em;font-weight:300;color:var(--green)}
.planet-wordmark small{font-size:9px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#8295a2;margin-top:30px}
.archive-frame{position:absolute;z-index:3;width:30%;min-width:145px;aspect-ratio:1.23;background:rgba(255,254,250,.56);border:1.5px dashed #aabdc7;border-radius:15px;display:flex;flex-direction:column;justify-content:space-between;padding:14px 15px;color:#78909d;box-shadow:0 20px 30px rgba(16,43,74,.035)}
.archive-frame span{font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.12em}
.archive-frame strong{font-size:12px;line-height:1.3;font-weight:550;color:#8ca0aa}
.planet-art .archive-one{left:0;top:7%;transform:rotate(-8deg)}
.planet-art .archive-two{right:0;bottom:0;transform:rotate(7deg)}
.planet-art .planet-archive{margin:0;padding:6px;width:37%;aspect-ratio:auto;border:0;background:white;overflow:hidden;border-radius:12px;box-shadow:0 14px 35px #102b4a20}
.planet-archive img{display:block;width:100%;height:150px;object-fit:contain;background:white;border-radius:7px}
.planet-archive figcaption{padding:8px 4px 3px;font-size:9px;font-weight:650;color:var(--navy);line-height:1.4}
@media(max-width:800px){.planet-archive img{height:100px}}
@media(max-width:500px){.planet-art .planet-archive{width:33%;min-width:95px;padding:4px}.planet-archive img{height:75px}.planet-archive figcaption{font-size:7px;padding:5px 2px}}
.chapter-italy{background:radial-gradient(circle at 85% 46%,#eff2e1,transparent 44%),#f6f5ee}
.italy-rim{position:absolute;top:10%;left:25%;width:57%;aspect-ratio:1;border:1px solid #d6ddcf;border-radius:50%;box-shadow:0 0 0 15px rgba(255,255,255,.38),0 0 0 16px #e1e6dc;display:grid;place-items:start center;padding-top:10%;transform:scale(var(--mark-scale,1))}
.italy-rim span{font-size:10px;font-weight:780;letter-spacing:.18em;text-align:center;color:#829586}
.italy-number{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--mark-scale,1));font-size:clamp(85px,11vw,162px);font-weight:800;letter-spacing:-.115em;color:var(--navy);line-height:1}
.italy-number span{color:var(--green)}
.italy-number small{font-size:.4em;vertical-align:top;color:var(--green);margin-left:6px}
.italy-art .archive-one{left:0;top:5%;transform:rotate(-7deg)}
.italy-art .italy-creation-photo{width:36%;margin:0;padding:0;border:6px solid white;overflow:hidden;background:white;aspect-ratio:1.15}
.italy-art .italy-milestone-image{width:88%;font-size:0;line-height:0}
.italy-milestone-image img{display:block;width:100%;height:auto;mix-blend-mode:normal}
.italy-creation-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.italy-art .archive-two{right:0;bottom:0;transform:rotate(7deg)}
.chapter-fd{background:radial-gradient(circle at 77% 45%,#dde9ed,transparent 47%),#f1f5f4}
.fd-orbit{position:absolute;inset:11% 15%;border:1px solid rgba(30,95,116,.21);border-radius:50%;transform:scale(var(--mark-scale,1))}
.fd-orbit::after{content:"";position:absolute;inset:13%;border:1px solid rgba(30,95,116,.12);border-radius:50%}
.fd-wordmark{position:absolute;left:50%;top:48%;z-index:2;transform:translate(-50%,-50%) scale(var(--mark-scale,1));display:flex;flex-direction:column;align-items:center;font-size:clamp(85px,11vw,154px);line-height:.76;font-weight:850;letter-spacing:-.085em;color:var(--navy);white-space:nowrap}
.fd-wordmark span{color:var(--blue);font-size:.75em}
.fd-wordmark small{font-size:9px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#8295a2;margin-top:28px}
.fd-card{position:absolute;z-index:3;width:34%;min-width:155px;padding:15px 17px;background:rgba(255,254,250,.92);border:1px solid #d7e4e6;border-radius:12px;box-shadow:0 15px 30px rgba(16,43,74,.07);opacity:var(--media-opacity,1);translate:0 var(--media-y,0px)}
.fd-card small,.coo-card small{display:block;margin-bottom:6px;font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--green)}
.fd-card strong,.coo-card strong{font-size:15px;line-height:1.25;color:var(--navy)}
.fd-card-a{left:0;top:7%;transform:rotate(-6deg)}.fd-card-b{right:0;top:15%;transform:rotate(6deg)}.fd-card-c{right:8%;bottom:2%;transform:rotate(-3deg)}
.chapter-jen{background:radial-gradient(circle at 75% 40%,#e0eee9,transparent 48%),var(--ivory)}
.jen-art-panel::before{content:"";position:absolute;inset:12% 12%;border:1px solid rgba(14,112,102,.15);border-radius:32px;transform:rotate(-8deg)}
.jen-wordmark{font-size:clamp(82px,10vw,150px);line-height:.7;display:flex;flex-direction:column;z-index:2}
.jen-wordmark span{font-size:.28em;letter-spacing:.12em;color:var(--green);margin-top:13px}
.process-card{position:absolute;z-index:3;display:flex;flex-direction:column;gap:4px;width:34%;min-width:170px;padding:16px 18px;background:rgba(255,254,250,.92);border:1px solid #dce5e3;border-radius:13px;box-shadow:0 14px 30px rgba(16,43,74,.07)}
.process-card small{font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.process-card strong{font-size:14px;line-height:1.25;color:var(--navy)}
.process-one{left:0;top:4%;transform:rotate(-5deg)}
.process-two{right:0;top:15%;transform:rotate(5deg)}
.process-three{left:25%;bottom:2%;transform:rotate(-2deg)}
.process-line{position:absolute;inset:0;background:linear-gradient(145deg,transparent 49.9%,rgba(17,131,106,.13) 50%,transparent 50.1%);pointer-events:none}
.chapter-woaw{background:radial-gradient(circle at 77% 44%,#e6edf4,transparent 49%),#f4f5f2}
.woaw-wordmark{font-size:clamp(96px,11vw,170px);line-height:1;z-index:1;color:var(--navy)}
.woaw-wordmark span{font-size:.16em;vertical-align:top;margin-left:5px;letter-spacing:0;color:var(--green)}
.woaw-official-logo{width:94%;max-width:640px;font-size:0;line-height:0;white-space:normal}
.woaw-official-logo img{display:block;width:100%;height:auto;border-radius:18px}
.linkube-official{width:82%;max-width:420px;line-height:0;white-space:normal}
.linkube-official img{display:block;width:100%;height:auto}
.linkube-official svg{display:block;width:100%;height:auto;overflow:hidden}
.jen-official{width:70%;max-width:360px;line-height:0;white-space:normal}
.jen-official svg{display:block;width:100%;height:auto;overflow:hidden}
.fd-official{width:65%;max-width:370px;line-height:0;white-space:normal}
.fd-official img{display:block;width:100%;height:auto}
.chapter-mondelez{background:radial-gradient(ellipse at 80% 40%,#e4deef,transparent 65%),var(--ivory)}
.mondelez-type{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-size:clamp(42px,6vw,85px);font-weight:750;letter-spacing:-.055em;color:#51347b;white-space:nowrap;text-align:center}
.mondelez-type small{display:block;font-size:.23em;letter-spacing:.15em;text-transform:uppercase;margin-top:10px}
.mondelez-official{width:82%;max-width:480px;line-height:0}
.mondelez-official img{display:block;width:100%;height:auto}
.planet-official{width:58%;max-width:330px;line-height:0;white-space:normal}
.planet-official img{display:block;width:100%;height:auto;border-radius:50%;mix-blend-mode:multiply}
.linkube-experience-photo{position:absolute;right:2%;bottom:3%;width:36%;aspect-ratio:4/3;margin:0;border:7px solid white;border-radius:13px;overflow:hidden;transform:rotate(6deg);box-shadow:0 16px 40px #102b4a20;z-index:3}
.linkube-experience-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 55%}
@media(prefers-reduced-motion:reduce){.linkube-experience-photo{opacity:1!important;translate:none!important;will-change:auto}}
@media(max-width:800px){.linkube-experience-photo{width:31%;bottom:1%;border-width:4px}}
@media(max-width:500px){.linkube-experience-photo{width:30%;right:1%;border-radius:8px}}
.story-copy .story-logo-title{max-width:210px;line-height:0;margin:18px 0 25px}
.story-logo-title img{display:block;width:100%;height:auto;border-radius:12px}
@media(max-width:800px){.story-copy .story-logo-title{max-width:170px;margin:10px 0 15px}}
@media(max-width:500px){.story-copy .story-logo-title{max-width:145px}}
.floating-photo{position:absolute;z-index:2;margin:0;overflow:hidden;background:#e5e9e5;border:7px solid var(--white);border-radius:9px;box-shadow:0 21px 42px rgba(16,43,74,.16)}
.floating-photo img{width:100%;height:100%;object-fit:cover}
.photo-a{width:38%;height:43%;left:0;top:1%;transform:rotate(-8deg)}
.photo-a img{object-position:75% center}
.photo-b{width:32%;height:38%;right:0;top:6%;transform:rotate(8deg)}
.photo-c{width:50%;height:39%;left:24.5%;bottom:0;transform:rotate(-2deg)}
.photo-c img{object-position:center 65%}
.chapter-linkube{background:radial-gradient(circle at 73% 43%,#dcefe6,transparent 46%),var(--ivory)}
.linkube-wordmark{font-size:clamp(85px,10vw,152px);z-index:2}
.linkube-mark{position:absolute;z-index:1;left:40%;top:18%;width:20%;aspect-ratio:1;transform:scale(var(--mark-scale,1))}
.linkube-mark span{position:absolute;inset:0;border:2px solid rgba(17,131,106,.35);border-radius:18%;transform:rotate(15deg)}
.linkube-mark span:nth-child(2){transform:rotate(45deg)}
.linkube-mark span:nth-child(3){transform:rotate(75deg)}
.linkube-card{position:absolute;z-index:3;display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--white);border:1px solid #dae6e2;border-radius:14px;box-shadow:0 18px 35px rgba(16,43,74,.1);width:37%;min-width:180px}
.linkube-card small{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--green)}
.linkube-card strong{font-size:19px;line-height:1.25;letter-spacing:-.03em;color:var(--navy)}
.card-a{left:0;bottom:3%;transform:rotate(-6deg)}
.card-b{right:0;top:10%;transform:rotate(7deg)}
.chapter-coo{background:radial-gradient(circle at 78% 38%,rgba(34,116,111,.36),transparent 45%),linear-gradient(125deg,#0e2845,#173b56);border-bottom-color:transparent}
.chapter-coo .story-meta,.chapter-coo .story-stage-footer{color:#b8d0da}
.chapter-coo .story-meta .story-date,.chapter-coo .story-copy h3,.chapter-coo .story-copy .story-takeaway{color:#fff!important}
.chapter-coo .story-copy>p:not(.story-overline){color:#d3e1e7}
.chapter-coo .story-overline,.chapter-coo .story-copy h3 span,.chapter-coo .story-link{color:#a6dec7}
.coo-orbit{position:absolute;inset:10% 13%;border:1px solid rgba(181,221,217,.23);border-radius:50%;transform:scale(var(--mark-scale,1))}
.coo-orbit::after{content:"";position:absolute;inset:15%;border:1px solid rgba(181,221,217,.16);border-radius:50%}
.coo-wordmark{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) scale(var(--mark-scale,1));font-size:clamp(60px,8vw,116px);font-weight:850;letter-spacing:-.085em;white-space:nowrap;color:#fff}
.coo-wordmark span{color:#a6dec7;font-weight:400}
.coo-card{position:absolute;z-index:3;width:30%;min-width:150px;padding:16px 17px;background:rgba(249,251,248,.95);border:1px solid rgba(255,255,255,.42);border-radius:12px;box-shadow:0 20px 35px rgba(0,17,30,.18);opacity:var(--media-opacity,1);translate:0 var(--media-y,0px)}
.coo-card-a{left:0;top:3%;transform:rotate(-6deg)}.coo-card-b{right:0;top:13%;transform:rotate(6deg)}.coo-card-c{left:35%;bottom:0;transform:rotate(-3deg)}

/* Evidence, with explicit roles rather than borrowed institutional prestige. */
.case-section{padding:145px 0 160px;background:var(--white)}
.case-heading{max-width:830px;margin-bottom:62px}
.case-heading h2{margin:20px 0 24px}
.case-heading p:last-child{max-width:560px;color:var(--muted);font-size:17px;line-height:1.65;margin:0}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.case-card{display:block;min-width:0;border:1px solid #e3e9e9;background:var(--ivory);border-radius:18px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.case-featured{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .9fr}
.case-image{height:330px;background:#e7eceb;overflow:hidden}
.case-featured .case-image{height:480px}
.case-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.case-card:hover .case-image img{transform:scale(1.04)}
.case-body{padding:32px 34px 30px;display:flex;flex-direction:column}
.case-featured .case-body{padding:55px;justify-content:center}
.case-type{color:var(--green)}
.case-body h3{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--navy);font-size:clamp(37px,4vw,61px);line-height:1.06;margin:17px 0}
.case-body h3 span{font-size:25px;font-weight:350;color:var(--green);transition:transform .25s}
.case-card:hover h3 span{transform:translate(4px,-4px)}
.case-body p{max-width:500px;color:var(--muted);line-height:1.65;margin:0 0 32px}
.case-role{border-top:1px solid #d9e2e2;padding-top:16px;color:#667985;margin-top:auto;font-size:9px}
.case-jen-image{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 60% 45%,#a8d1c2,transparent 60%),#e2eee8}
.case-jen-image span{font-size:clamp(70px,9vw,125px);font-weight:850;letter-spacing:-.09em;line-height:.74;color:var(--navy)}
.case-jen-image i{position:absolute;right:30px;top:20px;font-size:52px;font-style:normal;font-weight:300;color:var(--green)}

/* Project showcases: large imagery, quiet controls and editorial hierarchy. */
#projets{padding:120px 0;background:var(--ivory)}
#projets .case-heading{max-width:900px;margin:0 auto 70px;text-align:center}
#projets .case-heading h2{font-size:clamp(64px,8.5vw,112px);line-height:.98;letter-spacing:-.065em;color:var(--navy);margin:25px 0 30px}
#projets .case-heading h2 span{color:var(--blue)}
#projets .case-heading p:last-child{max-width:560px;margin:auto;font-size:18px}
#projets .case-grid{gap:24px}
#projets .case-card{position:relative;isolation:isolate;display:block;height:610px;border:0;border-radius:30px;background:var(--navy-dark);color:var(--white);overflow:hidden;box-shadow:0 12px 35px rgba(16,43,74,.06);transition:box-shadow .3s}
#projets .case-card:hover{transform:none;box-shadow:0 22px 55px rgba(16,43,74,.16)}
#projets .case-card:active{box-shadow:0 4px 15px rgba(16,43,74,.12)}
#projets .case-featured{height:680px;grid-column:1/-1}
#projets .case-image,#projets .case-featured .case-image{position:absolute;inset:0;height:100%;width:100%;z-index:-2;background:var(--navy-dark)}
#projets .case-image img{width:100%;height:110%;object-fit:cover;transform:translateY(var(--case-drift,0px)) scale(1.025);transition:scale .5s;will-change:transform}
#projets .case-card:hover .case-image img{transform:translateY(var(--case-drift,0px)) scale(1.025);scale:1.035}
#projets .case-featured .case-image img{object-position:65% center}
#projets .case-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,19,33,.02) 15%,rgba(5,19,33,.25) 42%,rgba(5,19,33,.94) 100%);pointer-events:none}
#projets .case-featured::after{background:linear-gradient(90deg,rgba(5,19,33,.9),rgba(5,19,33,.65) 34%,rgba(5,19,33,.04) 75%)}
#projets .case-card::before{content:"02 / JEN CONSULT";position:absolute;top:30px;left:32px;font-size:10px;font-weight:700;letter-spacing:.15em;color:rgba(255,254,250,.8)}
#projets .case-featured::before{content:"01 / CUDI"}
#projets .case-card[href="projets/woaw.html"]::before{content:"03 / WOAW"}
#projets .case-crm::before{content:"04 / CRM"}
#projets .case-body,#projets .case-featured .case-body{position:absolute;inset:auto 0 0;padding:36px;display:flex;flex-direction:column;justify-content:flex-end}
#projets .case-featured .case-body{inset:0 auto 0 0;width:53%;padding:50px;justify-content:center}
#projets .case-type{color:var(--mint);font-size:10px;letter-spacing:.14em;max-width:90%}
#projets .case-body h3{color:var(--white);font-size:clamp(44px,5vw,70px);margin:14px 0 22px;letter-spacing:-.055em;line-height:1}
#projets .case-featured h3{font-size:clamp(80px,11vw,150px)}
#projets .case-body h3 span{position:absolute;right:28px;top:28px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(14px);color:var(--white);font-size:24px}
#projets .case-card:hover h3 span{transform:rotate(45deg);background:rgba(255,255,255,.25)}
#projets .case-body p{color:#e0e7eb;font-size:16px;line-height:1.55;margin:0 0 25px;max-width:360px}
#projets .case-role{color:#c5d5dc;border-color:rgba(255,255,255,.23);font-size:9px;line-height:1.6;padding-top:17px;margin:0;max-width:360px;letter-spacing:.06em}
#projets .case-jen-image{background:radial-gradient(ellipse at 70% 10%,#397a81,transparent 65%),#12334f;display:block}
#projets .case-jen-image span{position:absolute;top:90px;left:30px;font-size:clamp(75px,9vw,125px);line-height:.8;letter-spacing:-.08em;color:#c5e9d9;transform:translateY(var(--case-drift,0px));opacity:.95}
#projets .case-jen-image i{width:350px;height:350px;border:1px solid rgba(197,233,217,.28);border-radius:50%;top:5px;right:-125px;color:transparent;box-shadow:0 0 0 35px rgba(197,233,217,.045),0 0 0 80px rgba(197,233,217,.025)}
@media(min-width:801px){#projets .case-featured .case-body{width:100%}#projets .case-featured .case-body>p,#projets .case-featured .case-role{max-width:40%}}
@media(max-width:800px){
  #projets{padding:90px 0}#projets .case-heading{margin-bottom:45px}#projets .case-heading h2{font-size:clamp(58px,10vw,85px)}
  #projets .case-grid{grid-template-columns:1fr}#projets .case-card{height:590px;border-radius:24px}#projets .case-featured{height:660px}
  #projets .case-featured::after{background:linear-gradient(180deg,rgba(5,19,33,.04) 12%,rgba(5,19,33,.25) 35%,rgba(5,19,33,.95) 100%)}
  #projets .case-featured .case-body{inset:auto 0 0;width:100%;padding:32px;justify-content:flex-end}#projets .case-featured h3{font-size:90px}
  #projets .case-featured .case-image img{object-position:60% center}#projets .case-body p,#projets .case-role{max-width:450px}
  #projets .case-jen-image span{font-size:115px;top:85px;left:32px}
}
@media(max-width:500px){
  #projets .container{width:calc(100% - 28px)}#projets .case-heading{padding:0 9px}#projets .case-heading h2{font-size:57px}#projets .case-heading p:last-child{font-size:16px}
  #projets .case-card{height:560px}#projets .case-featured{height:620px}#projets .case-body,#projets .case-featured .case-body{padding:25px}
  #projets .case-card::before{left:25px;top:26px}#projets .case-body h3 span{right:22px;top:22px;width:40px;height:40px}
  #projets .case-body h3{font-size:48px}#projets .case-featured h3{font-size:80px}#projets .case-body p{font-size:15px}#projets .case-role{font-size:8px}
}
@media(prefers-reduced-motion:reduce){#projets .case-image img,#projets .case-jen-image span{transform:none!important;scale:1!important;will-change:auto}#projets .case-card,#projets .case-body h3 span{transition:none}}
@media(prefers-reduced-transparency:reduce){#projets .case-body h3 span{background:#294961;backdrop-filter:none}}
@media(prefers-contrast:more){#projets .case-type,#projets .case-role,#projets .case-body p{color:white}#projets .case-body{background:rgba(5,19,33,.85)}}

.international-section{padding:120px 0;background:var(--white)}
.international-heading{text-align:center;max-width:900px;margin:0 auto 65px}
.international-heading h2{font-size:clamp(60px,7.5vw,100px);line-height:1.02;letter-spacing:-.06em;color:var(--navy);margin:25px 0}
.international-heading h2 span{color:var(--blue)}
.international-heading>p:last-child{max-width:540px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.65}
.international-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}
.international-grid article{position:relative;isolation:isolate;overflow:hidden;border-radius:30px;padding:38px;min-width:0}
.international-place{font-size:10px;letter-spacing:.12em;line-height:1.6;text-transform:uppercase;font-weight:700;margin:0}
.international-tag{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;line-height:1.6;margin:0 0 16px}
.international-grid h3{line-height:1.04;letter-spacing:-.05em;font-size:clamp(37px,4vw,55px);margin:0 0 22px}
.international-grid h3+p{font-size:16px;line-height:1.65;max-width:460px;margin:0 0 24px}
.international-camp{grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between;gap:220px;background:radial-gradient(ellipse at 90% 15%,#2b6468,transparent 55%),var(--navy);color:var(--white)}
.international-camp .international-place,.international-camp .international-tag{color:var(--mint)}
.international-camp .camp-copy{position:relative}
.international-camp h3{font-size:clamp(53px,5.5vw,80px);margin-bottom:25px}
.international-camp h3 span{color:var(--mint)}
.international-camp h3+p{color:#d4e3e5;max-width:420px}
.camp-map{position:absolute;z-index:-1;inset:40px -100px auto -40px;color:#a9d8c9;opacity:.38;pointer-events:none}
.camp-map svg{width:100%;height:auto;stroke:currentColor;stroke-width:1}
.international-source{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:650;padding:5px 0;border-bottom:1px solid currentColor;line-height:1.5}
.international-source:hover{opacity:.75}.international-source:active{opacity:.5}
.international-rome{min-height:380px;display:flex;flex-direction:column;justify-content:space-between;gap:55px;background:#edf2ec;color:var(--navy)}
.international-rome .international-tag{color:var(--green);margin-bottom:12px}
.international-rome .international-place{padding-right:105px}
.international-award{position:absolute;right:28px;top:30px;max-width:100px;padding:7px 10px;border:1px solid #b8d6c6;border-radius:999px;color:var(--green);font-size:10px;line-height:1.4;font-weight:700;text-align:center}
.international-mtl{background:#e4edf5;color:var(--navy);min-height:360px;display:flex;flex-direction:column;justify-content:space-between;gap:110px}
.mtl-type{position:absolute;right:25px;top:50px;font-size:95px;line-height:1;letter-spacing:-.08em;font-weight:800;color:#315f9a;opacity:.18;pointer-events:none}
.mtl-type span{font-weight:400;letter-spacing:0;margin-left:15px}
.international-mtl h3{position:relative}
.education-note{position:relative;display:grid;grid-template-columns:1fr 3fr;gap:35px;padding:36px;margin-top:45px;border:1px solid #c8ddd6;border-left:5px solid var(--green);border-radius:24px;background:linear-gradient(115deg,#e0eaf7,#e3eee6 75%,#edf0dc)}
.education-note>p:first-child{color:#08775e}
.education-note>p:last-child{max-width:820px;font-size:17px;line-height:1.75;margin:0;color:var(--navy)}
@media(max-width:800px){.international-section{padding:90px 0}.international-heading{margin-bottom:45px}.international-heading h2{font-size:clamp(52px,9vw,76px)}.international-grid{grid-template-columns:1fr}.international-camp{grid-row:auto;min-height:620px;gap:200px}.international-camp h3{font-size:clamp(52px,9vw,78px)}.camp-map{inset:0 -40px auto 0}.international-grid h3+p{max-width:550px}.international-rome,.international-mtl{min-height:350px}.education-note{grid-template-columns:1fr;gap:10px}}
@media(max-width:500px){.international-section .container{width:calc(100% - 28px)}.international-heading{padding-inline:10px}.international-heading h2{font-size:48px}.international-heading>p:last-child{font-size:16px}.international-grid article{padding:27px;border-radius:24px}.international-camp{min-height:570px;gap:150px}.international-camp h3{font-size:48px}.international-grid h3+p{font-size:15px}.international-grid h3{overflow-wrap:break-word}.international-award{right:20px;top:23px;max-width:85px;font-size:9px}.international-rome .international-place{padding-right:82px}.education-note{padding-inline:12px}.education-note>p:last-child{font-size:15px}}

/* A concise, evidence-led inventory of tools and working methods. */
.tools-section{padding:140px 0 155px;background:linear-gradient(145deg,#f0f2ef 0%,var(--ivory) 57%,#edf4f2 100%)}
.tools-layout{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(65px,8vw,135px);align-items:start}
.tools-intro{position:sticky;top:125px}
.tools-intro h2{font-size:clamp(55px,5.5vw,85px);line-height:1.04;color:var(--navy);margin:21px 0 26px}
.tools-intro h2 span{color:var(--blue)}
.tools-intro>p:last-child{max-width:390px;font-size:17px;line-height:1.7;color:var(--muted);margin:0}
.tools-list{border-top:1px solid #bacbcf}
.tools-more{grid-column:1/-1;margin-top:24px;border-top:1px solid var(--line)}
.tools-built{grid-column:1/-1;margin-top:28px;padding:26px;border-radius:22px;background:var(--navy);color:white}
.tools-built .tool-tag{color:#a8dfce}
.tools-built{scroll-margin-top:120px}
#projets .case-crm{grid-column:1/-1}
#projets .case-crm-image{background:radial-gradient(ellipse at 80% 10%,#347e7a,transparent 65%),#102b4a;color:#a8dfce;padding:42px}
.crm-visual-title{display:block;font-size:clamp(90px,14vw,180px);font-weight:750;line-height:1;letter-spacing:-.07em}
.crm-visual-title>span{color:white;font-weight:350}
.crm-visual-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.crm-visual-pills>span{border:1px solid #a8dfce80;border-radius:20px;padding:7px 13px;font-size:12px}
.crm-visual-lines{position:absolute;right:6%;top:65px;width:28%;display:grid;gap:18px;opacity:.3}
.crm-visual-lines i{height:36px;border-radius:9px;background:#a8dfce}
.crm-visual-lines i:nth-child(2){width:80%}
.crm-visual-lines i:nth-child(3){width:60%}
@media(max-width:560px){#projets .case-crm-image{padding:32px 25px}.crm-visual-lines{display:none}}
.tools-built h4{margin:18px 0;font-size:clamp(25px,3vw,36px);line-height:1.12;letter-spacing:-.045em;color:white}
.tools-built p{margin:0;color:#d3dfeb;font-size:14px;line-height:1.65}
.tools-built .tools-built-note{margin-top:20px;padding-top:18px;border-top:1px solid #ffffff30;color:#a8dfce;font-weight:600}
.tools-more summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 4px;cursor:pointer;list-style:none;color:var(--navy);font-weight:650;font-size:15px}
.tools-more summary::-webkit-details-marker{display:none}
.tools-more summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.tools-more-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:white;font-size:22px;font-weight:400}
.tools-more[open] .tools-more-icon{transform:rotate(45deg)}
.tools-more-content{display:grid;gap:0;padding-top:12px}
.tools-more-content article{padding:22px 0;border-bottom:1px solid var(--line)}
.tool-tag{font-size:10px;letter-spacing:.12em;color:var(--green);font-weight:750}
.tools-more-content h4{margin:8px 0;font-size:24px;letter-spacing:-.04em;color:var(--navy)}
.tools-more-content p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.tools-group{padding:22px 0 28px}
.tools-group+.tools-group{margin-top:25px;border-top:1px solid #bacbcf}
.tools-group h3{margin:0 0 12px;font-size:11px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:750}
.tool-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;align-items:start;padding:24px 0 25px;border-bottom:1px solid #d3dedd}
.tool-item::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.72,.2,1)}
.tool-item.is-visible::after{transform:scaleX(1)}
.tool-index{font-size:11px;line-height:2.4;letter-spacing:.08em;font-weight:750;color:var(--green)}
.tool-item strong{display:block;font-size:clamp(26px,2.5vw,37px);line-height:1.16;letter-spacing:-.055em;color:var(--navy);font-weight:650}
.tool-item p{max-width:500px;font-size:14px;line-height:1.55;color:var(--muted);margin:8px 0 0}
.tools-skills p{font-size:16px;line-height:1.85;color:var(--navy);margin:18px 0 0}

/* A visual workbench, using typographic tool markers rather than borrowed logos. */
#outils{padding:120px 0;background:#eeefe9}
#outils .tools-layout{display:block}
#outils .tools-intro{position:static;text-align:center;max-width:860px;margin:0 auto 65px}
#outils .tools-intro h2{font-size:clamp(62px,7.6vw,104px);line-height:1;letter-spacing:-.065em;margin:24px 0 28px}
#outils .tools-intro>p:last-child{max-width:580px;margin:0 auto;font-size:18px;line-height:1.65}
#outils .tools-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;border:0}
#outils .tools-group{position:relative;min-width:0;margin:0;padding:32px;border:1px solid rgba(16,43,74,.04);border-radius:30px;background:var(--white);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;align-content:start}
#outils .tools-group h3{grid-column:1/-1;margin:0;color:var(--green);font-size:10px;letter-spacing:.15em}
#outils .tool-art{grid-column:1/-1;height:260px;position:relative;margin:10px -32px 15px;display:flex;align-items:center;justify-content:center}
#outils .software-dock{gap:12px;background:radial-gradient(ellipse at 50% 55%,#e2eae8,transparent 66%);perspective:700px}
.tool-key{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;flex:none;width:76px;height:94px;border-radius:20px;font-size:52px;font-weight:750;letter-spacing:-.06em;box-shadow:0 16px 25px rgba(16,43,74,.12),inset 0 1px 1px rgba(255,255,255,.6);transform:rotate(-8deg) translateY(12px)}
.tool-key span{font-size:11px;letter-spacing:0;line-height:1;font-weight:600}
.key-odoo{background:#72526b;color:#fff}.key-microsoft{width:86px;height:104px;background:#f7f7f4;transform:rotate(5deg) translateY(-14px);display:grid;grid-template-columns:repeat(2,23px);grid-template-rows:repeat(2,23px);gap:4px;align-content:center}
.key-microsoft i{display:block;width:100%;height:100%}.key-microsoft i:nth-child(1){background:#e7866b}.key-microsoft i:nth-child(2){background:#94b285}.key-microsoft i:nth-child(3){background:#73a3bf}.key-microsoft i:nth-child(4){background:#dfbe69}
.key-fusion{background:linear-gradient(140deg,#edba7e,#c86e3c);color:white;transform:rotate(-5deg) translateY(15px)}
.key-cura{background:linear-gradient(145deg,#346daa,#183b67);color:#fff;transform:rotate(8deg) translateY(-5px)}
#outils .tool-item{display:block;padding:22px 0;border-bottom:1px solid #e1e5e2;min-width:0;opacity:1;transform:none}
#outils .tool-item::after{display:none}
#outils .tool-index{display:block;font-size:9px;line-height:1;margin:0 0 12px;color:#7d8c91}
#outils .tool-item strong{font-size:23px;line-height:1.13;letter-spacing:-.04em}
#outils .tool-item p{font-size:13px;line-height:1.55;margin-top:10px}
#outils .tools-methods{background:#e3ece8}
#outils .method-board{perspective:700px}
.method-canvas{position:absolute;width:225px;height:155px;top:68px;left:calc(50% - 115px);padding:13px;background:var(--white);border:1px solid #c5d6cd;border-radius:13px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:1fr 1fr 30px;gap:5px;transform:rotate(-9deg);box-shadow:0 20px 35px rgba(16,43,74,.12)}
.method-canvas i{background:#e0e9e3;border-radius:3px}.method-canvas i:first-child{grid-row:span 2}.method-canvas i:nth-child(3){grid-row:span 2}.method-canvas i:nth-child(5){grid-row:span 2}.method-canvas i:nth-child(6){grid-column:span 2}.method-canvas i:nth-child(7){grid-column:span 3;background:#c2d8ce}
.method-flow{position:absolute;z-index:2;top:45px;left:calc(50% - 62px);width:200px;height:70px;display:flex;align-items:center;justify-content:center;background:#173d55;border-radius:13px;transform:rotate(7deg);box-shadow:0 14px 30px rgba(16,43,74,.15)}
.method-flow i{width:14px;height:14px;border:2px solid #b9dfce;border-radius:50%}.method-flow b{width:22px;height:1px;background:#b9dfce}.method-flow span{width:33px;height:27px;border:1px solid #b9dfce;border-radius:5px}
.method-note{position:absolute;z-index:3;bottom:12px;right:calc(50% - 150px);width:74px;height:74px;display:grid;place-items:center;border-radius:14px;background:#c8dfd2;color:#1d6555;font-size:46px;font-weight:600;transform:rotate(12deg);box-shadow:0 12px 25px rgba(16,43,74,.1)}
#outils .tools-skills{grid-column:1/-1;display:block;padding:42px 48px;background:radial-gradient(ellipse at 100% 0,rgba(35,137,111,.32),transparent 65%),linear-gradient(115deg,var(--navy),#123e4c);border:0;border-left:4px solid #89d5b4}
#outils .tools-skills h3{color:var(--mint)}
#outils .tools-skills p{max-width:1000px;color:#e1e9eb;font-size:19px;line-height:1.85;letter-spacing:-.015em;margin-top:20px}
@media(max-width:800px){#outils{padding:90px 0}#outils .tools-list{grid-template-columns:1fr}#outils .tools-intro{margin-bottom:45px}#outils .tools-intro h2{font-size:clamp(54px,10vw,80px)}#outils .tools-group{padding:30px;border-radius:25px}#outils .tool-art{margin-inline:-30px;height:260px}#outils .tool-item strong{font-size:26px}#outils .tools-skills{padding:32px}#outils .tools-skills p{font-size:17px}}
@media(max-width:500px){#outils .container{width:calc(100% - 28px)}#outils .tools-intro{padding-inline:12px}#outils .tools-intro h2{font-size:52px}#outils .tools-intro>p:last-child{font-size:16px}#outils .tools-group{padding:25px;column-gap:18px}#outils .tool-art{margin-inline:-25px;height:240px}.tool-key{width:61px;height:79px;font-size:43px;border-radius:16px}.key-microsoft{width:68px;height:88px;grid-template-columns:repeat(2,19px);grid-template-rows:repeat(2,19px)}#outils .software-dock{gap:9px}#outils .tool-item strong{font-size:21px;overflow-wrap:anywhere}#outils .tool-item p{font-size:12px}#outils .tools-skills p{font-size:16px}.method-note{right:calc(50% - 135px)}}
@media(prefers-contrast:more){#outils .tools-group{border:1px solid var(--navy)}#outils .tool-index{color:var(--navy)}}

.about-section{padding:145px 0;background:linear-gradient(125deg,#f3ebdf 0%,#f5f1e9 55%,#e7eee5 100%)}
.about-section .section-kicker{color:#376650}
.about-section .spoken-languages{border-top-color:#c8c9b9}
.about-section .spoken-languages-list>.language-fr{border-color:#6f9b81}
.about-section .spoken-languages-list>.language-en{border-color:#6489a6}
.about-section .spoken-languages-list>.language-es{border-color:#bd865c}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,10vw,160px);align-items:center}
.about-image{height:590px;overflow:hidden;border-radius:18px;background:#cbd7da;box-shadow:var(--shadow)}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.about-copy h2{font-size:clamp(53px,5.4vw,82px);line-height:1.05;margin:18px 0 28px}
.about-copy p:not(.section-kicker){color:var(--muted);font-size:16px;line-height:1.72;margin:0 0 20px;max-width:600px}
.about-copy .inline-link{margin-top:12px;color:#28634f}
.spoken-languages{position:relative;margin-top:85px;padding:48px;border:0;border-radius:28px;background:var(--navy);display:grid;grid-template-columns:1fr 1.4fr;gap:65px;align-items:center;scroll-margin-top:110px;box-shadow:0 20px 50px #102b4a12}
.spoken-languages-heading h3{font-size:clamp(32px,4.2vw,56px);line-height:1.05;letter-spacing:-.055em;color:#fff;margin:0 0 20px;max-width:280px}
.spoken-languages-heading::before{content:"↗";display:block;color:#9ddcc4;font-size:44px;line-height:1;margin-bottom:25px}
.spoken-languages-heading p{font-size:15px;color:#c3d4e0;line-height:1.6;max-width:230px;margin:0}
.spoken-languages-list{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.spoken-languages-list>.language-card{min-width:0;padding:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;border-bottom:1px solid #ffffff30;background:none}
.spoken-languages-list>.language-card:first-child{padding-top:0}
.spoken-languages-list>.language-card:last-child{border-bottom:0;padding-bottom:0}
.spoken-languages-list>.language-en{border-color:#6b8db8}
.spoken-languages-list>.language-es{border-color:#c79b71}
.spoken-languages-list dt{font-size:clamp(23px,2.5vw,32px);line-height:1.2;font-weight:600;letter-spacing:-.035em;color:#fff}
.spoken-languages-list dt>.language-code{display:block;font-size:10px;letter-spacing:.14em;font-weight:600;color:#9ddcc4;margin-bottom:9px}
.spoken-languages-list dd{margin:0;color:#c3d4e0;font-size:13px;line-height:1.6}
@media(max-width:800px){.spoken-languages{padding:35px;gap:35px;grid-template-columns:1fr 1.4fr;margin-top:55px}.spoken-languages-list>.language-card{grid-template-columns:1fr;gap:8px}.spoken-languages-heading h3{font-size:38px}}
@media(max-width:560px){.spoken-languages{padding:28px;grid-template-columns:1fr;border-radius:22px}.spoken-languages-heading::before{font-size:32px;margin-bottom:18px}.spoken-languages-heading h3{max-width:none;font-size:36px}.spoken-languages-heading p{max-width:none}.spoken-languages-list>.language-card{grid-template-columns:1fr 1fr;gap:18px;padding:20px 0}.spoken-languages-list dt{font-size:23px}}

.news-section{padding:120px 0;background:#eeefe9}
.news-heading{max-width:850px;margin-bottom:60px}
.news-heading h2{font-size:clamp(60px,7.5vw,100px);line-height:1.02;letter-spacing:-.06em;color:var(--navy);margin:25px 0}
.news-heading h2 span{color:var(--blue)}
.news-heading>p:last-child{max-width:590px;color:var(--muted);font-size:18px;line-height:1.65;margin:0}
.news-feature{position:relative;isolation:isolate;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;min-height:510px;padding:48px;border-radius:30px;background:var(--navy);color:var(--white);overflow:hidden}
.news-feature-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}
.news-eyebrow{font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:.14em;color:var(--mint);font-weight:750;margin:0 0 50px}
.news-context{font-size:11px;color:#b9ccd5;letter-spacing:.05em}
.news-feature h3{font-size:clamp(35px,4.1vw,58px);line-height:1.05;letter-spacing:-.05em;margin:18px 0 22px}
.news-feature h3 span{color:var(--mint)}
.news-feature-copy>p:not(.news-eyebrow){font-size:16px;line-height:1.65;color:#d6e3e7;max-width:460px;margin-bottom:28px}
.news-read{display:inline-flex;align-items:center;gap:22px;font-size:12px;line-height:1.5;font-weight:700;padding:7px 0;border-bottom:1px solid currentColor;margin-top:auto}
.news-read>span{font-size:20px;font-weight:400}
.news-feature-art{position:relative;display:grid;place-items:center;min-width:0;align-self:center;top:24px}
.news-feature-art img{position:relative;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:60% 25%;border-radius:50%;border:1px solid rgba(197,233,217,.2);box-shadow:0 25px 60px rgba(0,0,0,.16)}
.news-orbit{position:absolute;inset:-32px;border:1px solid rgba(197,233,217,.3);border-radius:50%;box-shadow:0 0 0 32px rgba(197,233,217,.035)}
.news-art-caption{position:absolute;right:-5px;bottom:20px;background:var(--mint);color:var(--navy);padding:12px 18px;font-size:11px;font-weight:750;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.news-card{display:flex;flex-direction:column;min-width:0;padding:34px;border-radius:25px;background:var(--white);border:1px solid rgba(16,43,74,.04);transition:box-shadow .2s}
.news-card:hover{box-shadow:0 18px 40px rgba(16,43,74,.1)}
.news-card-visual{position:relative;aspect-ratio:16/10;margin:-34px -34px 26px;overflow:hidden;border-radius:25px 25px 0 0;background:var(--navy)}
.news-card-visual img{width:100%;height:100%;display:block;object-fit:cover}
.news-card-mint{background:#e0ece5}
.news-card-blue{background:#dfe9f4}
.news-card-sand{background:#eee4d5}
.news-card-sand .news-card-visual{aspect-ratio:3/2}
.news-card-sand .news-card-visual img{object-position:center}
.news-card-night{background:var(--navy)}
.news-card.news-card-night h3,.news-card-night .news-card-top>span:first-child,.news-card.news-card-night .news-read{color:#fff}
.news-card.news-card-night>p:not(.news-kind),.news-card-night .news-card-top{color:#cad8e5}
.news-card-night .news-kind{color:#a8dfce}
.news-visual-arrow{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ivory);color:var(--navy);font-size:24px;box-shadow:0 3px 14px #102b4a15}
.news-card .news-card-top{margin-bottom:26px}
.news-card .news-read{margin-top:auto}
.news-card:focus-visible{outline:3px solid var(--green);outline-offset:5px}
@media(max-width:500px){.news-card-visual{margin:-27px -27px 24px;aspect-ratio:4/3}.news-visual-arrow{width:36px;height:36px;font-size:21px}}
.news-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:45px;color:var(--muted);font-size:10px;line-height:1.6}
.news-card-top>span:first-child{color:var(--navy);font-size:13px;font-weight:750}
.news-card-top time{white-space:nowrap}
.news-kind{color:var(--green);font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;margin-bottom:14px}
.news-card h3{font-size:clamp(28px,3.1vw,42px);line-height:1.1;letter-spacing:-.045em;color:var(--navy);margin:0 0 18px}
.news-card>p:not(.news-kind){color:var(--muted);font-size:15px;line-height:1.65;margin-bottom:24px}
.news-card .news-read{align-self:flex-start;color:var(--blue)}
.news-archive{margin-top:35px;border-top:1px solid #c4d0ce;border-bottom:1px solid #c4d0ce}
.news-archive summary{position:relative;cursor:pointer;list-style:none;padding:25px 45px 25px 0;font-size:19px;font-weight:650;color:var(--navy);line-height:1.4}
.news-archive summary::-webkit-details-marker{display:none}
.news-archive summary::after{content:"+";position:absolute;right:10px;top:18px;font-size:32px;font-weight:400}
.news-archive[open] summary::after{content:"−"}
.news-archive-list{padding-bottom:20px}
.news-archive-list>a{display:grid;grid-template-columns:1fr 1.8fr auto;align-items:center;gap:25px;padding:24px 0;border-top:1px solid #d5dcd8;font-size:14px;color:var(--navy);line-height:1.6}
.news-archive-list>a:hover{color:var(--green)}
.news-archive-source{color:var(--muted);font-size:11px;font-weight:650}
.news-archive-format{white-space:nowrap;font-size:11px;color:var(--green)}
@media(min-width:801px) and (max-width:1150px){.site-header .nav-shell{gap:12px}.site-header .desktop-nav{gap:12px}.site-header .desktop-nav a{font-size:11px}.site-header .nav-contact{font-size:11px;padding-inline:14px}}
@media(max-width:800px){.news-section{padding:90px 0}.news-heading{margin-bottom:40px}.news-heading h2{font-size:clamp(52px,9vw,76px)}.news-feature{grid-template-columns:1fr;padding:35px;gap:60px}.news-feature-art{width:min(75%,330px);justify-self:center;margin-bottom:15px}.news-feature h3{font-size:46px}.news-eyebrow{margin-bottom:30px}.news-grid{grid-template-columns:1fr}.news-archive-list>a{grid-template-columns:1fr auto;gap:7px 16px}.news-archive-source{grid-column:1/-1}.mobile-menu{overflow-y:auto}}
@media(max-width:500px){.news-section .container{width:calc(100% - 28px)}.news-heading{padding-inline:12px}.news-heading h2{font-size:48px}.news-heading>p:last-child{font-size:16px}.news-feature{padding:27px;border-radius:24px}.news-feature h3{font-size:38px}.news-feature-copy>p:not(.news-eyebrow){font-size:15px}.news-card{padding:27px}.news-card-top{margin-bottom:32px;gap:10px}.news-card h3{font-size:30px}.news-archive{margin-inline:12px}.news-archive summary{font-size:17px}.news-archive-list>a{font-size:13px}}
@media(prefers-reduced-motion:reduce){.news-card{transition:none}}
@media(prefers-contrast:more){.news-card{border-color:var(--navy)}.news-archive-source,.news-card-top{color:var(--navy)}}

.contact-section{padding:138px 0 145px;background:radial-gradient(circle at 89% 18%,rgba(43,126,110,.4),transparent 34%),linear-gradient(115deg,#102b4a,#153f5a);color:white;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:.93fr 1.07fr;align-items:start;gap:clamp(55px,7vw,115px)}
.contact-copy{position:sticky;top:145px;padding-top:28px}
.contact-section .section-kicker{color:#b6e5d3}
.contact-section h2{color:white;font-size:clamp(54px,5.6vw,82px);line-height:1.04;margin:18px 0 28px}
.contact-section h2 span{color:#a7e3cd}
.contact-copy>p:not(.section-kicker){max-width:630px;color:#d7e5e8;font-size:18px;line-height:1.65;margin-bottom:32px}
.contact-social{font-size:13px;font-weight:700;border-bottom:1px solid #9ac7c2;padding:5px 0}
.contact-social:hover{color:#b4ebd4}
.contact-form{padding:clamp(28px,4vw,54px);background:var(--ivory);color:var(--navy);border-radius:26px;box-shadow:0 30px 80px rgba(3,23,43,.23)}
.contact-form-kicker{margin:0 0 9px;color:var(--green);font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.contact-form h3{font-size:clamp(30px,3vw,42px);line-height:1.08;margin:0 0 30px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{margin-bottom:18px}
.form-field label{display:block;margin-bottom:8px;font-size:12px;font-weight:720;letter-spacing:-.01em;color:var(--navy)}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;padding:13px 15px;border:1px solid #cdd9dc;border-radius:10px;background:#fffefa;color:var(--navy);font:inherit;font-size:14px;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.form-field input,.form-field select{min-height:49px}
.form-field textarea{min-height:125px;resize:vertical}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#95adb5}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(17,131,106,.16)}
.form-field textarea::placeholder{color:#88969a}
.contact-form-note{font-size:11px;line-height:1.5;color:#657780;margin:1px 0 19px}
.contact-submit{width:100%;border:0;cursor:pointer}
.contact-form-status{font-size:12px;line-height:1.5;color:var(--green-dark);margin:16px 0 0}
.contact-form-status:empty{display:none}
.footer{padding:64px 0 28px;background:#0b2039;color:#e9f1f1}
.footer .footer-main{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:55px}
.footer-signature{display:block;max-width:860px;margin:0 auto 55px;padding:clamp(14px,3vw,38px);border-radius:25px;background:var(--ivory);overflow:hidden}
.footer-signature svg{display:block;width:100%;height:auto;aspect-ratio:1385/590;overflow:hidden}
@media(max-width:500px){.footer-signature{padding:12px;border-radius:17px;margin-bottom:35px}}
@media(max-width:800px){.footer .footer-main{grid-template-columns:1fr}}
.footer-brand{font-size:55px;color:white}
.footer-main .footer-brand{display:grid;place-items:center;align-self:start;width:75px;height:66px;padding:10px;background:var(--ivory);border-radius:14px;overflow:hidden}
.footer-main .footer-brand .brand-mark{display:block;width:100%;height:auto;aspect-ratio:650/485;overflow:hidden}
.footer-main strong{font-size:14px}
.footer-main p{font-size:13px;line-height:1.65;color:#9fb2c1;margin:10px 0 0}
.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;justify-self:end;font-size:12px;font-weight:600}
.footer-main nav a:hover,.footer-bottom a:hover{color:#a8e5cb}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#91a9ba;font-size:11px}

/* Project detail pages use the same ivory / blue / green design system. */
.detail-hero{position:relative;min-height:650px;padding:180px 0 85px;display:flex;align-items:end;overflow:hidden;background:#e7eff0;isolation:isolate}
.detail-hero-bg,.detail-jen-art{position:absolute;inset:0;z-index:-2}
.detail-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.detail-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory) 0%,rgba(247,246,241,.96) 27%,rgba(247,246,241,.54) 60%,rgba(247,246,241,.1) 100%),linear-gradient(0deg,var(--ivory) 0%,transparent 55%)}
.detail-breadcrumb{position:absolute;top:113px;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#70818d}
.detail-breadcrumb a{color:var(--blue)}
.detail-hero .section-index,.detail-content .section-index{font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.detail-hero h1{font-size:clamp(100px,12vw,170px);line-height:.94;letter-spacing:-.09em;color:var(--navy);margin:18px 0 23px}
.detail-hero h1 span{color:var(--green)}
.detail-hero p{font-size:clamp(20px,2.2vw,28px);line-height:1.38;letter-spacing:-.04em;font-weight:550;max-width:690px;color:#4c5e69;margin:0}
.detail-jen-art{background:radial-gradient(circle at 70% 45%,#b8d9cd,transparent 40%),#e3efeb;overflow:hidden}
.detail-jen-art .jen-art{position:absolute;right:8%;top:12%;width:43%;aspect-ratio:1;border:1px solid rgba(17,131,106,.25);border-radius:50%;display:grid;place-items:center;opacity:.28}
.jen-art-monogram{font-size:clamp(90px,13vw,185px);font-weight:750;letter-spacing:-.11em;color:var(--navy)}
.jen-art-monogram span{font-size:.6em;color:var(--green)}
.jen-art-grid{display:none}
.detail-content{padding:110px 0 135px}
.detail-lead,.detail-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.detail-lead{padding-bottom:85px;border-bottom:1px solid var(--line)}
.detail-lead h2,.detail-section h2{font-size:clamp(46px,5vw,71px);line-height:1.08;color:var(--navy);margin:18px 0 0}
.detail-lead p{font-size:19px;line-height:1.72;color:var(--muted);margin:0}
.detail-section{padding-top:85px}
.detail-section p,.detail-section li{font-size:16px;line-height:1.75;color:var(--muted)}
.detail-section p{margin:0 0 20px}
.detail-section strong{color:var(--navy)}
.detail-section .text-link{font-size:13px;color:var(--blue);border-bottom:1px solid;padding-bottom:5px}
.detail-image{margin:85px 0 0;background:var(--white);padding:12px 12px 18px;border-radius:12px;box-shadow:var(--shadow)}
.detail-image img{width:100%;max-height:720px;object-fit:cover;border-radius:6px}
.detail-image figcaption{font-size:12px;color:#6d808c;margin:13px 8px 0}
.context-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.context-links .story-link{margin-top:12px}
.context-sources{margin-top:64px;padding:28px 0;border-top:1px solid var(--line)}
.context-sources h2{font-size:20px;margin-bottom:20px}
.context-links a:focus-visible{outline:2px solid var(--green);outline-offset:6px}
.cudi-opening{padding-top:135px;padding-bottom:52px;text-align:center}
.cudi-back{display:block;width:fit-content;font-size:13px;color:var(--muted);margin-bottom:55px}
.cudi-opening h1{font-size:clamp(110px,20vw,260px);line-height:.95;letter-spacing:-.085em;margin:22px 0;color:var(--navy)}
.cudi-opening h1>span{color:var(--green)}
.cudi-opening-line{font-size:clamp(22px,3vw,36px);line-height:1.25;max-width:700px;margin:25px auto;color:var(--navy);letter-spacing:-.035em}
.cudi-facts{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:32px}
.cudi-facts>span{font-size:11px;padding:9px 15px;border-radius:30px;border:1px solid var(--line);color:var(--muted)}
.cudi-showcase{position:relative;margin-top:0;margin-bottom:0;border-radius:32px;overflow:hidden;background:#dfe8e4}
.cudi-showcase img{display:block;width:100%;height:clamp(380px,65vw,780px);object-fit:cover;object-position:center 55%}
.cudi-showcase figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:65px 32px 28px;color:white;font-size:13px;background:linear-gradient(transparent,#102b4ac9)}
.cudi-challenge{padding-block:110px;max-width:860px}
.cudi-challenge h2,.cudi-process h2{font-size:clamp(42px,6vw,76px);line-height:1.05;letter-spacing:-.055em;margin:25px 0 32px;color:var(--navy)}
.cudi-challenge>p:last-child{font-size:20px;line-height:1.7;color:var(--muted)}
.cudi-process{padding-bottom:110px}
.cudi-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}
.cudi-process-grid article{padding:30px;border-radius:25px;background:#e3ede7}
.cudi-process-grid article:nth-child(2){background:#dfe9f4}
.cudi-process-grid article:nth-child(3){background:#eee5d8}
.cudi-process-grid article>span{color:var(--green);font-size:12px;font-weight:700}
.cudi-process-grid h3{font-size:clamp(25px,3vw,38px);line-height:1.1;letter-spacing:-.045em;margin:45px 0 20px;color:var(--navy)}
.cudi-process-grid p{font-size:15px;line-height:1.65;color:var(--muted)}
.cudi-takeaway{padding:100px 0;background:radial-gradient(ellipse at 100% 0,#245b62,transparent 70%),var(--navy);color:white}
.cudi-takeaway .section-kicker{color:#a8dfce}
.cudi-takeaway h2{font-size:clamp(60px,11vw,140px);letter-spacing:-.065em;line-height:1;margin:30px 0}
.cudi-takeaway h2>span{color:#a8dfce}
.cudi-takeaway p:not(.section-kicker){max-width:650px;color:#d2e0ea;line-height:1.65;font-size:20px;margin-bottom:32px}
.cudi-end{padding-block:45px 75px}.cudi-disclaimer{max-width:700px;font-size:12px;line-height:1.7;color:var(--muted)}
.cudi-end .detail-next{margin-top:40px}
@media(max-width:700px){.cudi-opening{padding-top:110px;padding-bottom:35px}.cudi-back{margin-bottom:36px}.cudi-showcase{border-radius:22px}.cudi-showcase img{height:390px}.cudi-showcase figcaption{padding:60px 20px 20px;font-size:11px}.cudi-challenge{padding-block:65px}.cudi-challenge>p:last-child{font-size:17px}.cudi-process{padding-bottom:65px}.cudi-process-grid{grid-template-columns:1fr}.cudi-process-grid h3{margin-top:22px}.cudi-takeaway{padding:65px 0}.cudi-takeaway p:not(.section-kicker){font-size:17px}}
.detail-next{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-top:30px;margin-top:95px}
.detail-next a{font-weight:700;font-size:14px;color:var(--blue)}
.detail-next a:hover{color:var(--green)}

@media(max-width:1150px){.container,.site-header .nav-shell:not(.container){width:min(100% - 56px,1360px)}.nav-shell{gap:18px}.brand{min-width:auto}.desktop-nav{gap:19px}.hero h1{font-size:clamp(57px,6.8vw,82px)}.hero-visual-note{left:-25px}.offer-scene-copy h3{font-size:clamp(53px,6.2vw,76px)}.offer-scene-copy>p:not(.offer-overline){font-size:15px}.story-copy h3{font-size:clamp(57px,6.7vw,80px)}.story-copy>p:not(.story-overline){font-size:15px}.archive-frame{min-width:125px}.linkube-card{min-width:145px}.journey-line{left:18px;width:75px}.journey-name{display:none}.story-sequence .story-stage{width:calc(100% - 125px);margin-right:28px}}
@media(max-width:800px){
  html{scroll-padding-top:69px}.container,.site-header .nav-shell:not(.container){width:min(100% - 38px,1360px)}
  .site-header{background:rgba(247,246,241,.95);backdrop-filter:none;-webkit-backdrop-filter:none}.nav-shell{min-height:68px}.brand-mark{font-size:27px}.brand-name{font-size:12px}.desktop-nav,.nav-contact{display:none}
  .language-switcher{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;margin-left:0;border:1px solid #c6d3d5;border-radius:50%;background:transparent;position:relative;z-index:103}
  .menu-toggle span{width:17px;height:1.5px;background:var(--navy);transition:transform .25s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .mobile-menu{display:flex;position:fixed;inset:68px 0 0;z-index:101;padding:35px 25px 40px;background:var(--ivory);flex-direction:column;gap:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
  .mobile-menu.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu a{font-size:36px;font-weight:690;letter-spacing:-.06em;line-height:1.2;padding:11px 0;border-bottom:1px solid var(--line);color:var(--navy)}
  .hero{padding:107px 0 28px}.hero-grid{grid-template-columns:1fr;gap:50px;min-height:0}.hero-content{padding:0}.hero h1{max-width:690px;font-size:clamp(55px,9vw,82px)}.hero-lead{font-size:18px}.hero-proof{margin-top:47px}.hero-visual{justify-self:center;width:min(80%,490px)}.hero-image-wrap{height:520px;min-height:0}.hero-bottom{margin-top:45px}
  .case-section,.tools-section,.about-section{padding:95px 0}.case-heading h2,.about-copy h2,.contact-section h2{font-size:clamp(52px,8.7vw,76px);margin:19px 0}
  .tools-layout{grid-template-columns:1fr;gap:48px}.tools-intro{position:static}.tools-intro h2{font-size:clamp(52px,8.7vw,76px)}.tools-intro>p:last-child{max-width:620px}
  .offer-opening{min-height:calc(100svh - 68px);padding:120px 0 30px}.offer-opening-inner{min-height:calc(100svh - 218px)}.offer-opening h2{font-size:clamp(70px,12.5vw,110px)}.offer-opening-bottom p{font-size:14px}.offer-scene{height:180svh}.offer-stage{top:68px;height:calc(100svh - 68px);min-height:640px;padding-block:22px 18px}.offer-scene-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:18px}.offer-scene-copy h3{font-size:clamp(56px,9vw,78px);margin:0 0 14px}.offer-scene-copy>p:not(.offer-overline){font-size:14px;line-height:1.5;margin-bottom:12px}.offer-overline{margin-bottom:8px}.offer-photo,.offer-process-visual{height:100%;min-height:0;max-height:430px;align-self:stretch}.offer-stage-top,.offer-stage-bottom{font-size:9px}.offer-outro{padding:65px 0}.offer-outro-inner{align-items:flex-start;flex-direction:column}
  .journey-line{left:50%;top:auto;bottom:14px;width:min(calc(100% - 28px),420px);height:60px;padding:8px 18px 7px;background:rgba(255,254,250,.95);border:1px solid rgba(16,43,74,.13);border-radius:18px;box-shadow:0 12px 40px rgba(16,43,74,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateX(-50%) translateY(12px)}
  .journey-line.is-visible{transform:translateX(-50%) translateY(0)}.journey-label,.journey-name{display:none}.journey-track{top:19px;left:calc(7.14% + 18px);right:calc(7.14% + 18px);bottom:auto;width:auto;height:1px}.journey-fill{transform:scaleX(var(--line-progress));transform-origin:left}.journey-stops{height:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.journey-stops li{width:14.285%;text-align:center}.journey-stops a{width:100%;min-height:44px;display:flex;flex-direction:column;justify-content:flex-start;gap:2px}.journey-dot{width:12px;height:12px}.journey-number{font-size:9px}.story-sequence .story-stage{width:min(100% - 38px,1360px);margin-inline:auto}
  .story-intro{min-height:60svh;padding:100px 0}.story-intro-grid{grid-template-columns:1fr;gap:26px}.story-intro h2{font-size:clamp(56px,8.8vw,80px)}.story-intro-grid>p{font-size:16px}.story-chapter{height:170svh}.story-stage{top:68px;height:calc(100svh - 68px);min-height:640px;padding-top:22px;padding-bottom:18px}.story-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:0}.story-copy{max-width:700px}.story-copy h3{font-size:clamp(55px,9vw,79px);margin:8px 0 13px}.story-copy>p:not(.story-overline){font-size:14px;line-height:1.5;margin-bottom:7px}.story-overline{margin:0}.story-takeaway{display:none}.story-art{width:min(100%,600px);justify-self:center;height:100%;min-height:0;max-height:460px}.story-meta,.story-stage-footer{font-size:9px}.story-meta .story-date{font-size:28px}.planet-wordmark{font-size:clamp(55px,10vw,89px)}.fd-wordmark{font-size:clamp(76px,14vw,130px)}.jen-wordmark{font-size:clamp(79px,13vw,130px)}.woaw-wordmark{font-size:clamp(105px,15vw,150px)}.linkube-wordmark{font-size:clamp(80px,12vw,130px)}.coo-wordmark{font-size:clamp(65px,11vw,105px)}
  .case-grid{grid-template-columns:1fr}.case-featured{grid-column:auto;display:block}.case-featured .case-image,.case-image{height:340px}.case-featured .case-body,.case-body{padding:30px}.case-body h3{font-size:48px}.about-grid{grid-template-columns:1fr;gap:60px}.about-image{height:500px;max-width:600px}.about-copy p:not(.section-kicker){font-size:15px}.contact-section{padding:105px 0}.contact-grid{grid-template-columns:1fr;gap:55px}.contact-copy{position:static;padding:0}.contact-form{max-width:680px}
  .footer-main{grid-template-columns:65px 1fr}.footer-main nav{grid-column:1/-1;justify-self:start;margin-top:15px}.detail-hero{min-height:590px}.detail-lead,.detail-section{grid-template-columns:1fr;gap:28px}.detail-content{padding:90px 0 110px}.detail-lead h2,.detail-section h2{font-size:54px}
}
@media(max-width:520px){
  .hero{min-height:0;padding-top:96px}.hero-grid{gap:30px}.eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:clamp(48px,12.5vw,67px);margin-bottom:20px}.hero-lead{font-size:16px;margin-bottom:24px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{gap:12px 20px;margin-top:28px}.proof-label{flex-basis:100%}.hero-visual{width:89%}.hero-image-wrap{height:440px;border-radius:190px 190px 15px 15px}.hero-visual-note{left:-20px;bottom:55px;padding:10px 12px;font-size:10px}.hero-bottom span:first-child{max-width:160px}.hero-bottom{font-size:9px}
  .case-heading h2,.about-copy h2,.contact-section h2{font-size:clamp(46px,11.8vw,62px)}.offer-opening{padding-top:105px}.offer-opening h2{font-size:clamp(56px,13.5vw,72px);line-height:.98}.offer-opening-bottom{align-items:flex-start;flex-direction:column;gap:12px}.offer-opening-bottom p{font-size:13px}.offer-scene{height:190svh}.offer-stage{min-height:0}.offer-stage-top span:last-child{text-align:right}.offer-scene-grid{gap:10px}.offer-scene-copy h3{font-size:clamp(47px,11.3vw,58px);margin-bottom:12px}.offer-scene-copy>p:not(.offer-overline){font-size:14px;line-height:1.5;margin-bottom:7px}.offer-scene-copy .story-link{font-size:12px}.offer-photo,.offer-process-visual{max-height:330px;border-radius:17px}.offer-photo figcaption{font-size:8px;bottom:12px;left:13px}.offer-strategy-mark{top:10px;right:10px;padding:8px 10px}.offer-strategy-mark strong{font-size:25px}.offer-strategy-mark span{font-size:9px}.offer-process-visual{padding:15px}.offer-process-label,.offer-process-caption{font-size:8px}.flow-task{min-width:56px;min-height:50px;font-size:9px;padding:3px;border-radius:8px}.flow-decision{width:52px;height:52px}.flow-decision span{font-size:9px}.flow-start,.flow-end{width:14px;height:14px}.flow-line{min-width:8px}.offer-outro p{font-size:27px}.story-intro{min-height:70svh}.story-intro h2{font-size:clamp(51px,12vw,68px)}.story-scroll-hint{bottom:25px}
  .story-chapter{height:180svh}.story-stage{min-height:0;padding-bottom:73px}.story-meta span:last-child{text-align:right;max-width:160px}.story-meta .story-date{font-size:25px}.story-copy h3{font-size:clamp(46px,11.5vw,60px)}.story-copy>p:not(.story-overline){font-size:13px;line-height:1.45}.story-copy .story-takeaway{display:block;font-size:12px!important;margin-top:9px}.story-art{max-height:none}.story-progress-track{width:85px}.archive-frame{min-width:105px;padding:10px;width:32%;border-radius:10px}.archive-frame span{font-size:7px}.archive-frame strong{font-size:9px}.planet-wordmark{font-size:clamp(46px,12vw,64px)}.italy-number{font-size:clamp(82px,22vw,110px)}.fd-wordmark{font-size:clamp(67px,17vw,92px)}.fd-card,.coo-card{min-width:105px;width:38%;padding:10px}.fd-card small,.coo-card small{font-size:7px}.fd-card strong,.coo-card strong{font-size:10px}.process-card{min-width:105px;padding:10px;width:37%}.process-card small{font-size:7px}.process-card strong{font-size:10px}.jen-wordmark{font-size:clamp(75px,20vw,103px)}.woaw-wordmark{font-size:clamp(85px,24vw,130px)}.floating-photo{border-width:4px}.linkube-wordmark{font-size:clamp(68px,17vw,100px)}.linkube-card{min-width:105px;width:40%;padding:12px}.linkube-card small{font-size:8px}.linkube-card strong{font-size:11px}.coo-wordmark{font-size:clamp(48px,13vw,70px)}.story-stage-footer span:first-child{max-width:220px}
  .case-heading{margin-bottom:40px}.case-featured .case-image,.case-image{height:270px}.case-featured .case-body,.case-body{padding:25px}.case-body h3{font-size:40px}.case-body p{font-size:14px}.case-role{font-size:8px}.tools-intro h2{font-size:clamp(46px,11.8vw,62px)}.tools-intro>p:last-child{font-size:15px}.tools-group+.tools-group{margin-top:12px}.tool-item{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:20px 0}.tool-item strong{font-size:27px}.tool-item p{font-size:13px}.tools-skills p{font-size:14px}.about-image{height:360px}.contact-copy>p:not(.section-kicker){font-size:16px}.contact-form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:27px 22px;border-radius:18px}.contact-form h3{font-size:33px}.footer-bottom{flex-wrap:wrap;font-size:10px}.footer-bottom span:nth-child(2){display:none}
  .detail-hero{min-height:510px;padding:145px 0 55px}.detail-breadcrumb{top:95px;background:rgba(247,246,241,.88);padding:7px 10px;border-radius:5px}.detail-hero-bg::after{background:linear-gradient(0deg,var(--ivory) 0%,rgba(247,246,241,.88) 40%,rgba(247,246,241,.25) 100%)}.detail-hero h1{font-size:22vw}.detail-hero p{font-size:20px}.detail-content{padding:65px 0 95px}.detail-lead h2,.detail-section h2{font-size:47px}.detail-lead p{font-size:17px}.detail-section p{font-size:15px}.detail-image{margin-top:65px}.detail-next{align-items:flex-start;flex-direction:column}
}
@media(max-height:720px){.offer-scene{height:auto;overflow:visible}.offer-stage{position:relative;top:auto;height:auto;min-height:0;padding-block:30px}.offer-scene-grid{padding-block:34px}.offer-photo,.offer-process-visual{height:min(48svh,420px);min-height:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.offer-scene-copy,.offer-photo,.offer-process-visual,.story-copy,.story-art,.archive-frame,.floating-photo,.process-card,.linkube-card,.fd-card,.coo-card{opacity:1!important;transform:none!important;translate:none!important}.offer-stage-bottom i{transform:none}.planet-wordmark,.jen-wordmark,.woaw-wordmark,.linkube-wordmark,.fd-wordmark,.coo-wordmark,.italy-number,.italy-rim,.story-orbit,.fd-orbit,.coo-orbit,.linkube-mark{--mark-scale:1}}
@media(prefers-reduced-transparency:reduce){.site-header,.hero-visual-note,.journey-line{background:var(--ivory);backdrop-filter:none;-webkit-backdrop-filter:none}.offer-strategy-mark{background:var(--navy);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#344556;--line:#8b9ca8}.site-header{background:var(--ivory)}.offer-process-visual{border:2px solid var(--navy)}.offer-strategy-mark{background:var(--navy)}.archive-frame{border-color:var(--navy)}.story-meta,.story-stage-footer{color:var(--navy)}}

/* Local photographs: preserve the existing cards and scroll animations. */
.international-grid .international-camp,
.international-grid .international-rome,
.international-grid .international-mtl{gap:28px;justify-content:flex-start}
.international-grid .international-photo{margin:0;overflow:hidden;border-radius:16px;flex-shrink:0}
.international-photo img{display:block;width:100%;height:auto}
.international-camp .international-photo{order:1;margin-block:0 12px}
.international-camp .camp-copy{order:2;margin-top:12px}
.international-rome .international-photo{order:1;align-self:center;width:min(100%,360px)}
.international-rome>div:last-child{order:2}
.international-mtl .international-photo{order:1}
.international-mtl>div:last-child{order:2}
.international-rome .international-award{position:static;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;max-width:none;padding:9px 14px;border:1px solid #c8a451;background:linear-gradient(135deg,#fff3c9 0%,#e8c56d 50%,#f9e8ae 100%);color:#67480d;font-size:11px;font-weight:750;box-shadow:0 3px 12px rgba(146,105,25,.14)}
.international-rome .international-award::before{content:"★";font-size:15px;color:#936509}
.international-rome .international-place{padding-right:0}
.about-image img[src*="capaldo2"]{object-position:48% center}
.case-woaw-photo img{object-position:50% 52%}
@media(max-width:800px){
  .international-grid .international-camp{min-height:0}
  .international-camp .camp-copy{margin-top:0}
  .international-rome .international-photo{width:min(100%,360px)}
  .about-image img[src*="capaldo2"]{object-position:50% center}
}
@media(max-width:500px){
  .international-grid .international-photo{border-radius:12px}
  .international-rome .international-photo{width:min(100%,320px)}
  .about-image img[src*="capaldo2"]{object-position:52% center}
  .case-woaw-photo img{object-position:50% 55%}
}

.news-card-blue .news-card-visual{aspect-ratio:1158/679}
.news-card-blue .news-card-visual img{object-fit:contain;object-position:center}

.spoken-languages-list .language-flag{display:inline-block;margin-right:9px;font-size:22px;line-height:1;letter-spacing:0;vertical-align:-3px}

/* Compact Cambridge card and full-width Montréal feature. */
.international-grid{align-items:start}
.international-grid .international-camp{grid-row:auto;min-height:0}
.international-grid .international-mtl{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:auto 1fr;column-gap:48px;row-gap:22px;min-height:0;align-items:center}
.international-mtl .international-photo{grid-column:1;grid-row:1/3;order:0;width:100%}
.international-mtl .international-place{grid-column:2;grid-row:1;align-self:end}
.international-mtl>div:last-child{grid-column:2;grid-row:2;order:0;align-self:start}
@media(max-width:800px){
  .international-grid .international-mtl{display:flex;flex-direction:column;gap:28px;align-items:stretch}
  .international-mtl .international-photo{order:1}
  .international-mtl>div:last-child{order:2}
}

.news-card-night .news-card-visual img{object-position:50% 48%}
@media(max-width:500px){.news-card-night .news-card-visual img{object-position:50% 50%}}

/* Mobile motion: content determines section height; entrances run only once. */
@media(max-width:800px){
  .offer-scene,.story-chapter{height:auto;overflow:visible}
  .offer-stage,.story-stage{position:relative;top:auto;height:auto;min-height:0;padding-block:30px;opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}
  .offer-stage.is-visible,.story-stage.is-visible{opacity:1;transform:none}
  .offer-scene-grid,.story-layout{flex:none;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:26px;padding-block:24px}
  .offer-scene-copy,.offer-photo,.offer-process-visual,.story-copy,.story-art{opacity:1;transform:none;will-change:auto}
  .offer-photo{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}
  .offer-process-visual{height:280px;min-height:0;max-height:none}
  .story-art{width:min(100%,600px);height:clamp(300px,85vw,420px);min-height:0;max-height:none}
  .story-copy .story-takeaway{display:block}
  .archive-frame,.floating-photo,.process-card,.linkube-card,.linkube-experience-photo,.fd-card,.coo-card{opacity:1;translate:none;will-change:auto}
  .story-art{--mark-scale:1}
  .offer-stage-bottom i,.story-progress-track{display:none}
  .reveal{transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}
  .reveal.is-visible{transform:none}
  #projets .case-image img{height:100%;transform:none;scale:1;will-change:auto;transition:none}
  #projets .case-jen-image span{transform:none}
  #projets .case-card:hover .case-image img{transform:none;scale:1}
  .journey-line{bottom:calc(10px + env(safe-area-inset-bottom,0px));backdrop-filter:none;-webkit-backdrop-filter:none}
  .story-stage{padding-bottom:88px}
  .mobile-menu{max-height:calc(100dvh - 68px);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
}
@media(max-width:380px){
  .offer-process-visual{padding:20px 14px}
  .flow-task{min-width:48px;font-size:9px}
  .flow-line{min-width:6px}
  .flow-decision{width:44px;height:44px}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .offer-stage,.story-stage,.reveal{opacity:1;transform:none;transition:none}
}

@media(min-width:801px){
  .international-grid .international-camp{align-self:stretch}
}

.linkube-art .linkube-presentation-photo{left:0;top:2%;right:auto;bottom:auto;width:38%;aspect-ratio:3/2;transform:rotate(-5deg)}
.linkube-presentation-photo img{object-position:center}
@media(max-width:800px){.linkube-art .linkube-presentation-photo{width:42%;top:0}}

/* Searchable static language links keep the established selector appearance. */
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:27px;padding:2px 5px;border-radius:999px;color:#74848d;font-size:10px;font-weight:800;line-height:1.3}
.language-switcher a:hover{color:var(--navy)}
.language-switcher a.is-active{background:var(--navy);color:white}
.expertise-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:35px}
.expertise-directory>a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--white);font-size:16px;line-height:1.4;font-weight:650;color:var(--navy)}
.expertise-directory>a>span{color:var(--green);font-size:24px}
.expertise-hero{padding-block:145px 65px;max-width:1080px}
.expertise-hero .section-kicker{margin-top:40px}
.expertise-hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.05;letter-spacing:-.05em;color:var(--navy);max-width:1000px;margin-bottom:30px}
.expertise-tagline{font-size:clamp(24px,3vw,36px);line-height:1.2;letter-spacing:-.035em;color:var(--green);font-weight:650}
.expertise-lead{font-size:20px;line-height:1.7;color:var(--muted);max-width:800px;margin-bottom:32px}
.expertise-content{max-width:1080px;padding-bottom:100px}
.expertise-block,.expertise-proof{padding-block:40px;border-top:1px solid var(--line)}
.expertise-content h2{font-size:clamp(30px,3vw,45px);line-height:1.12;color:var(--navy);margin-bottom:22px}
.expertise-content p{max-width:800px;color:var(--muted);font-size:18px;line-height:1.75}
.expertise-content .section-kicker{color:var(--green);font-size:11px}
.expertise-proof{background:var(--blue-soft);padding:35px;border:0;border-radius:24px;margin-block:25px}
.expertise-related{display:flex;flex-wrap:wrap;gap:18px 35px;padding-top:35px}
@media(max-width:800px){.expertise-directory{grid-template-columns:1fr}.expertise-hero{padding-top:110px}.expertise-lead,.expertise-content p{font-size:17px}.expertise-proof{padding:25px}}

/* Concise, factual case summaries and links back to relevant expertise. */
.case-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-block:32px;border-bottom:1px solid var(--line)}
.case-summary>div{min-width:0}
.case-summary dt{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:750;margin-bottom:10px}
.case-summary dd{font-size:15px;line-height:1.65;color:var(--muted);margin:0}
.case-expertise-links{display:flex;flex-wrap:wrap;gap:20px 35px;padding-bottom:65px}
@media(max-width:700px){.case-summary{grid-template-columns:1fr;gap:22px;padding-block:28px}.case-expertise-links{flex-direction:column;align-items:flex-start;gap:14px}}

.sitemap-page{max-width:1050px;padding-top:145px;padding-bottom:90px}
.sitemap-page h1{font-size:clamp(46px,7vw,82px);line-height:1.05;color:var(--navy);margin-bottom:28px}
.sitemap-intro{max-width:730px;font-size:19px;line-height:1.7;color:var(--muted);margin-bottom:45px}
.sitemap-page section{padding-block:28px;border-top:1px solid var(--line)}
.sitemap-page h2{font-size:29px;line-height:1.2;color:var(--navy);margin-bottom:20px}
.sitemap-page ul{padding-left:22px;margin-bottom:0}
.sitemap-page li{padding-block:8px;color:var(--green)}
.sitemap-page li a{color:var(--navy);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b0c9c3;line-height:1.7}
.sitemap-page li a:hover{color:var(--green)}
.sitemap-page hr{border:0;border-top:1px solid var(--line);margin-block:28px}
@media(max-width:800px){.sitemap-page{padding-top:110px}.sitemap-intro{font-size:17px}}

.button-whatsapp{background:#176b43;color:#fff;margin-top:22px;justify-content:center;gap:11px}
.button-whatsapp:hover{background:#115536}
.button-whatsapp>span{font-size:13px;font-weight:700}
.button-whatsapp svg{flex:none}
.footer .button-whatsapp{min-height:44px;padding-inline:17px;margin-top:16px}
