:root{
  --bg:#f3f1ec;
  --paper:#fbfaf7;
  --ink:#171817;
  --muted:#686b68;
  --line:#d9d5cd;
  --accent:#87735e;
  --accent-dark:#665442;
  --dark:#1d201f;
  --max:1220px;
  --radius:3px;
  --shadow:0 18px 55px rgba(22,23,22,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;color:var(--accent-dark)}
.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:.96;margin:0;font-size:clamp(3.1rem,8vw,7.6rem)}
.h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.02;margin:.2em 0 .45em;font-size:clamp(2.7rem,6vw,5.8rem)}
.h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.06;margin:.2em 0 .55em;font-size:clamp(2.1rem,4.7vw,4.25rem)}
.h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;font-size:clamp(1.45rem,2.3vw,2rem);margin:.15em 0 .55em}
.lead{font-size:clamp(1.08rem,1.8vw,1.35rem);color:#373a37;max-width:760px}
.small{font-size:.88rem;color:var(--muted)}
.muted{color:var(--muted)}
.rule{border-top:1px solid var(--line)}
.section{padding:100px 0}
.section.tight{padding:64px 0}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.site-header{position:sticky;top:0;z-index:50;background:rgba(243,241,236,.91);backdrop-filter:blur(13px);border-bottom:1px solid rgba(120,113,103,.15)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:220px}
.brand-mark{width:44px;height:44px;border:1px solid var(--ink);display:grid;place-items:center;font-family:Georgia,serif;font-size:.78rem;line-height:1;text-align:center}
.brand-copy b{display:block;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}
.brand-copy span{font-size:.7rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.nav-links{display:flex;gap:28px;align-items:center;font-size:.83rem;letter-spacing:.06em;text-transform:uppercase}
.nav-links a{position:relative;padding:30px 0}
.nav-links a:after{content:"";position:absolute;left:0;bottom:21px;width:0;height:1px;background:var(--ink);transition:.22s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-cta{border:1px solid var(--ink);padding:11px 16px!important}
.nav-cta:after{display:none}
.menu-btn{display:none;border:0;background:none;font-size:1.25rem;padding:10px}

.hero{min-height:calc(100vh - 78px);display:grid;align-items:end;padding:55px 0 36px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:30px;align-items:end}
.hero-copy{padding:30px 0 42px}
.hero .lead{max-width:630px;margin-top:30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);padding:14px 20px;font-size:.79rem;text-transform:uppercase;letter-spacing:.09em;transition:.2s;background:transparent;cursor:pointer}
.btn.primary{background:var(--ink);color:white}
.btn:hover{transform:translateY(-2px)}
.hero-art{min-height:610px;background:var(--dark);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-tag{position:absolute;left:22px;bottom:22px;background:rgba(249,248,244,.94);padding:14px 16px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}

.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric{padding:26px 22px;border-right:1px solid var(--line)}
.metric:last-child{border-right:0}.metric b{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;display:block}.metric span{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}

.service{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;align-items:start}
.service:last-child{border-bottom:1px solid var(--line)}
.service-num{font-family:Georgia,serif;color:var(--accent-dark)}
.service p{margin-top:.2rem;color:var(--muted)}

.project-card{background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.project-media{aspect-ratio:4/3;background:#d9d4cb;overflow:hidden}
.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project-card:hover img{transform:scale(1.025)}
.project-info{padding:22px 22px 24px}
.project-info .meta{text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;color:var(--accent-dark)}
.project-info h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:.45rem 0 .35rem}

.dark{background:var(--dark);color:#f5f3ed}
.dark .muted,.dark .lead{color:#c4c6c2}.dark .rule{border-color:#3a3d3b}.dark .eyebrow{color:#cdbba8}.dark .btn{border-color:#f5f3ed;color:#f5f3ed}.dark .btn.primary{background:#f5f3ed;color:#1d201f}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#3d403e;border:1px solid #3d403e}
.step{background:var(--dark);padding:32px 26px;min-height:250px}.step b{font-family:Georgia,serif;font-size:2.1rem;font-weight:400;color:#cdbba8}.step h3{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:55px 0 10px}.step p{font-size:.9rem;color:#b8bbb7}

.quote{padding:62px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3.8rem);line-height:1.12;letter-spacing:-.02em}

.page-hero{padding:100px 0 70px;border-bottom:1px solid var(--line)}
.page-hero .lead{margin-top:24px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:var(--paper);padding:36px;border:1px solid #e2ded6;min-height:260px}.card .index{font-family:Georgia,serif;color:var(--accent-dark);font-size:1.2rem}.card h3{font-family:Georgia,serif;font-weight:400;font-size:1.8rem;margin:38px 0 14px}.card ul{padding-left:1.1rem;color:var(--muted)}

.project-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;padding:50px 0;border-bottom:1px solid var(--line);align-items:start}.project-detail img{width:100%;background:#ddd7ce}.project-detail p{color:var(--muted)}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tag{border:1px solid var(--line);padding:7px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}

.signature-hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.signature-copy{padding:90px max(32px,calc((100vw - var(--max))/2));padding-right:60px;display:flex;flex-direction:column;justify-content:center}.signature-visual{background:#cfc8bc;position:relative;overflow:hidden}.signature-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.principle{background:var(--bg);padding:28px;min-height:190px}.principle b{font-family:Georgia,serif;font-size:1.6rem;font-weight:400;color:var(--accent-dark)}

.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-details{border-top:1px solid var(--line)}.contact-row{padding:20px 0;border-bottom:1px solid var(--line)}.contact-row span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}.contact-row a{font-family:Georgia,serif;font-size:1.35rem}
.form{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.field input,.field textarea{background:var(--paper);border:1px solid var(--line);padding:14px 15px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--accent-dark)}.field textarea{min-height:170px;resize:vertical}.form-note{font-size:.78rem;color:var(--muted)}

.legal{max-width:850px}.legal h2{font-family:Georgia,serif;font-weight:400;font-size:2rem;margin-top:2.2em}.legal p,.legal li{color:#4f534f}
.placeholder{background:#fff3c9;border:1px solid #dcc982;padding:12px 14px;font-size:.84rem;color:#635516}

.cta-band{padding:78px 0;background:#b7aa98;color:#171817}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.cta-band .h2{max-width:800px;margin-bottom:0}

footer{background:#161817;color:#eceae4;padding:64px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.footer-title{font-family:Georgia,serif;font-size:2.2rem;font-weight:400}.footer-col h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#aeb0ac}.footer-col a{display:block;margin:8px 0;color:#d8d8d2;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:56px;padding-top:22px;border-top:1px solid #353735;font-size:.75rem;color:#999d99}

.reveal{opacity:0;transform:translateY(15px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .nav-links{position:fixed;left:0;right:0;top:78px;background:var(--bg);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 22px}.nav-links.open{display:flex}.nav-links a{padding:14px 0;border-bottom:1px solid var(--line)}.nav-links a:after{display:none}.nav-cta{margin-top:10px;text-align:center}.menu-btn{display:block}
  .hero-grid,.grid-2,.project-detail,.about-grid,.contact-wrap{grid-template-columns:1fr}.hero-art{min-height:480px}.hero-copy{padding-top:10px}.grid-3{grid-template-columns:1fr 1fr}.grid-4,.process{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .service{grid-template-columns:45px 1fr}.service p{grid-column:2}.signature-hero{grid-template-columns:1fr}.signature-visual{min-height:520px}.signature-copy{padding:70px 30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:72px 0}.page-hero{padding:70px 0 50px}.grid-3,.cards,.process,.principles{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr}.hero{min-height:auto;padding-top:28px}.hero-grid{gap:10px}.hero-art{min-height:380px}.metrics{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line)!important}.metric:last-child{border-bottom:0!important}.cta-inner{display:block}.cta-inner .btn{margin-top:28px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.brand-copy span{display:none}.brand{min-width:auto}.service{grid-template-columns:34px 1fr;gap:14px}.card{padding:28px}.project-detail{gap:24px}.signature-visual{min-height:390px}
}

/* ===== HOME V2 — PI 14.116 / Ligne claire ===== */
.home-v2{--navy:#202a33;--navy-2:#182129;--off:#f3f1ec;--paper2:#fbfaf7;--red:#ff3838;--yellow:#f1d654;--blue:#66c9ef;--green:#8bcf7b;background:var(--off);font-family:Arial,Helvetica,sans-serif;color:#14191d}
.home-v2 .site-header-v2{background:rgba(32,42,51,.96);border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px)}
.nav-v2{height:84px}
.brand-v2{min-width:auto;gap:12px;color:#fff}
.brand-pi{width:54px;height:54px;object-fit:cover;object-position:center;background:var(--navy)}
.brand-copy-v2{display:flex;flex-direction:column;line-height:1}
.brand-copy-v2 b{font-size:.92rem;letter-spacing:.16em}.brand-copy-v2 span{font-size:.65rem;letter-spacing:.19em;text-transform:uppercase;color:#cfd5d8;margin-top:7px}
.nav-links-v2{color:#f8f6f0}.nav-links-v2 a:after{background:#fff}.home-v2 .nav-cta{border-color:#fff}
.home-v2 .menu-btn{color:#fff}

.hero-v2{background:var(--navy);color:#f7f4ee;min-height:calc(100vh - 84px)}
.hero-v2-grid{min-height:calc(100vh - 84px);display:grid;grid-template-columns:46% 54%}
.hero-v2-copy{padding:clamp(70px,8vw,120px) clamp(34px,6vw,96px);display:flex;flex-direction:column;justify-content:center;position:relative}
.hero-v2-copy:before{content:"";width:54px;height:8px;background:linear-gradient(90deg,var(--red) 0 25%,var(--yellow) 25% 50%,var(--blue) 50% 75%,var(--green) 75%);position:absolute;top:46px;left:clamp(34px,6vw,96px)}
.hero-v2-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.69rem;font-weight:700;color:#cbd2d6;margin-bottom:35px}
.hero-v2 h1{font-size:clamp(3rem,6vw,6.3rem);line-height:.94;letter-spacing:-.055em;margin:0;font-weight:800;text-transform:uppercase;max-width:820px}
.hero-v2-copy>p{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;color:#d0d6da;max-width:620px;margin:34px 0 0}
.hero-v2-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.btn-v2{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-style:normal;transition:.2s}.btn-v2:hover{transform:translateY(-2px)}
.btn-v2.solid{background:#f7f4ee;color:var(--navy);border-color:#f7f4ee;font-weight:700}.btn-v2.ghost{color:#f7f4ee}
.hero-v2-signature{margin-top:auto;padding-top:50px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.2);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase}
.hero-v2-image{position:relative;min-height:630px;background:#bbb;overflow:hidden}.hero-v2-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-v2-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.24))}
.hero-v2-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:22px 28px;background:rgba(244,241,235,.92);color:#1b2329;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}

.section-v2{padding:105px 0}
.manifesto-v2{padding:84px 0;border-bottom:1px solid #cdd0cf;background:#f7f5ef}
.manifesto-v2-grid{display:grid;grid-template-columns:180px 1fr;gap:56px}
.manifesto-index{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:#657079;font-weight:700;padding-top:10px}
.manifesto-index.light{color:#9facb4}
.manifesto-v2 h2,.section-head-v2 h2,.method-v2 h2,.contact-v2 h2{font-size:clamp(2.4rem,5vw,5.2rem);line-height:1.03;letter-spacing:-.045em;margin:0;font-weight:800;text-transform:uppercase}
.manifesto-v2 p{max-width:780px;font-size:1.16rem;line-height:1.7;color:#4d565c;margin:28px 0 0}
.section-head-v2{display:grid;grid-template-columns:180px 1fr auto;gap:56px;align-items:end;margin-bottom:52px}.section-head-v2>a{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #1d252a;padding-bottom:4px}
.project-grid-v2{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project-v2{grid-column:span 4}.project-v2.wide{grid-column:span 8}.project-v2.tall .project-v2-media{aspect-ratio:3/4}.project-v2-media{aspect-ratio:4/3;overflow:hidden;background:#ddd}.project-v2-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-v2:hover img{transform:scale(1.02)}
.project-v2-meta{padding:14px 0 8px;border-top:3px solid var(--navy);display:grid;gap:5px}.project-v2-meta span{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:#69737a}.project-v2-meta b{font-size:.93rem;letter-spacing:.01em}
.project-v2:nth-child(2) .project-v2-meta{border-color:var(--blue)}.project-v2:nth-child(3) .project-v2-meta{border-color:var(--yellow)}.project-v2:nth-child(4) .project-v2-meta{border-color:var(--red)}.project-v2:nth-child(5) .project-v2-meta{border-color:var(--green)}

.method-v2{background:var(--navy);color:#f7f4ee}.method-v2-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px}.method-v2 h2{margin-top:14px}.method-list-v2{border-top:1px solid rgba(255,255,255,.25)}.method-list-v2>div{display:grid;grid-template-columns:64px 180px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.19);align-items:baseline}.method-list-v2 span{font-size:.65rem;color:#9facb4;letter-spacing:.12em}.method-list-v2 h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.11em;margin:0}.method-list-v2 p{margin:0;color:#b9c2c7;font-size:.92rem}

.services-v2{background:#f7f5ef}.service-lines-v2{border-top:1px solid #aeb5b5}.service-lines-v2 a{display:grid;grid-template-columns:70px 1fr 1fr;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid #aeb5b5;transition:.18s}.service-lines-v2 a:hover{padding-left:10px}.service-lines-v2 span{font-size:.66rem;letter-spacing:.12em;color:#6d777c}.service-lines-v2 strong{font-size:clamp(1.4rem,2.5vw,2.5rem);text-transform:uppercase;letter-spacing:-.03em}.service-lines-v2 em{font-style:normal;color:#626b70;font-size:.9rem}

.contact-v2{background:#161f26;color:#f7f4ee;padding:100px 0}.contact-v2-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.contact-v2-logo{width:120px;height:100px;object-fit:cover;margin-bottom:32px}.contact-v2-data{display:flex;flex-direction:column;align-items:flex-start;gap:15px;border-left:1px solid rgba(255,255,255,.2);padding-left:42px}.contact-v2-data>span{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:#aeb8be}.contact-v2-data .phone{font-size:clamp(2rem,4vw,4rem);font-weight:800;letter-spacing:-.04em}.contact-v2-data>a:not(.phone):not(.btn-v2){font-size:1.05rem}.light-btn{margin-top:14px}
.footer-v2{background:#10171c;color:#aeb7bd;padding:24px 0}.footer-v2-inner{display:flex;justify-content:space-between;gap:20px;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}.footer-v2 nav{display:flex;gap:20px}

@media(max-width:980px){
 .home-v2 .nav-links-v2{background:var(--navy);color:#fff}.home-v2 .nav-links-v2 a{border-color:rgba(255,255,255,.18)}
 .hero-v2-grid{grid-template-columns:1fr}.hero-v2{min-height:auto}.hero-v2-copy{min-height:650px}.hero-v2-image{min-height:600px}
 .manifesto-v2-grid,.section-head-v2,.method-v2-grid,.contact-v2-grid{grid-template-columns:1fr;gap:28px}.section-head-v2>a{justify-self:start}.project-v2,.project-v2.wide{grid-column:span 6}.method-v2-grid{gap:54px}.service-lines-v2 a{grid-template-columns:55px 1fr}.service-lines-v2 em{grid-column:2}.contact-v2-data{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding-left:0;padding-top:34px}
}
@media(max-width:640px){
 .brand-pi{width:46px;height:46px}.brand-copy-v2 span{display:block}.nav-v2{height:72px}.home-v2 .nav-links{top:72px}
 .hero-v2-grid{min-height:auto}.hero-v2-copy{min-height:590px;padding:80px 24px 34px}.hero-v2-copy:before{left:24px;top:36px}.hero-v2 h1{font-size:clamp(2.65rem,14vw,4.4rem)}.hero-v2-image{min-height:420px}.hero-v2-signature{font-size:.62rem}.section-v2{padding:74px 0}.manifesto-v2{padding:64px 0}.manifesto-v2-grid{grid-template-columns:1fr}.manifesto-index{padding-top:0}.project-grid-v2{grid-template-columns:1fr}.project-v2,.project-v2.wide{grid-column:auto}.project-v2.tall .project-v2-media,.project-v2-media{aspect-ratio:4/3}.method-list-v2>div{grid-template-columns:40px 1fr}.method-list-v2 p{grid-column:2}.service-lines-v2 a{grid-template-columns:38px 1fr}.contact-v2{padding:72px 0}.footer-v2-inner{display:block}.footer-v2 nav{margin-top:12px;flex-wrap:wrap}
}
