:root{
--terracotta:#8C4F43;--terracotta-dark:#703B32;--ivory:#F7F3EC;--white:#FFFDF9;
--champagne:#C9A668;--taupe:#746863;--ink:#272320;--line:rgba(116,104,99,.22);
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.72}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.progress{position:fixed;z-index:1000;left:0;top:0;width:0;height:3px;background:var(--champagne)}
.site-header{height:78px;position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,243,236,.92);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,70px);border-bottom:1px solid rgba(116,104,99,.12)}
.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--serif);font-size:20px;letter-spacing:.12em}.brand-role{font-size:8px;letter-spacing:.24em;margin-top:6px;color:var(--taupe)}
.nav{display:flex;align-items:center;gap:28px;font-size:12px}.nav>a:not(.nav-cta){position:relative}.nav>a:not(.nav-cta):after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--terracotta);transition:.3s}.nav>a:not(.nav-cta):hover:after{width:100%}
.nav-cta,.button{background:var(--terracotta);color:#fff;border-radius:999px;padding:12px 20px;display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:600;transition:.3s}.nav-cta:hover,.button:hover{background:var(--terracotta-dark);transform:translateY(-2px)}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);margin:6px auto}
.section{padding:130px clamp(22px,7vw,110px)}.section-light{background:var(--white)}
.hero{min-height:100vh;padding-top:145px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:7vw}.hero-copy{padding-bottom:25px}.eyebrow,.section-index{font-size:10px;letter-spacing:.19em;color:var(--taupe);font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:28px}.eyebrow i{display:block;width:34px;height:1px;background:var(--champagne)}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:.92}h1{font-size:clamp(65px,7vw,112px);letter-spacing:-.035em;margin-bottom:26px}h1 em,h2 em{color:var(--terracotta);font-style:normal}.hero-lead{font-family:var(--serif);font-size:24px;line-height:1.1;margin-bottom:10px}.hero-text{max-width:540px;color:var(--taupe);font-size:14px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.text-link{font-size:12px;border-bottom:1px solid var(--champagne);padding-bottom:3px}.image-frame{height:min(700px,72vh);position:relative;overflow:hidden}.image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(39,35,32,.22));pointer-events:none}.image-caption{position:absolute;z-index:2;bottom:20px;left:22px;right:22px;color:white;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em}.monogram{font-family:var(--serif);font-size:28px;color:#fff}.floating-note{position:relative;right:auto;bottom:auto;display:block;width:max-content;max-width:100%;margin:18px auto 0;padding:13px 22px;background:var(--white);font-family:var(--serif);font-size:18px;line-height:1.2;text-align:center;box-shadow:0 14px 35px rgba(39,35,32,.12);z-index:3;border:1px solid rgba(116,104,99,.10)}.floating-note span{color:var(--champagne);margin:0 6px}
.section-index span{color:var(--champagne);padding:0 6px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:55px}.intro h2,.section-heading h2{font-size:clamp(44px,5vw,70px);margin:0;letter-spacing:-.025em}.intro-copy{max-width:600px;color:var(--taupe)}.intro-copy .large{font-family:var(--serif);font-size:23px;line-height:1.25;color:var(--ink)}.keywords{display:flex;gap:24px;margin-top:35px;color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.keywords span:before{content:"•";color:var(--champagne);margin-right:8px}
.section-heading{margin:50px 0}.section-heading p{max-width:500px;color:var(--taupe);font-size:13px;margin-top:18px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.expertise-card{padding:34px 30px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px;transition:.35s;position:relative}.expertise-card:hover{background:var(--white);transform:translateY(-4px)}.card-number{font-size:10px;color:var(--champagne);letter-spacing:.1em}.card-icon{position:absolute;right:25px;top:25px;color:var(--terracotta);font-size:26px;font-family:var(--serif)}.expertise-card h3{font-family:var(--serif);font-size:28px;line-height:1.05;font-weight:500;margin:45px 0 12px}.expertise-card p{font-size:13px;color:var(--taupe);max-width:310px}
.quote-band{background:var(--terracotta);color:white;padding:100px 8vw;text-align:center;position:relative;overflow:hidden}.quote-mark{font-family:var(--serif);font-size:120px;line-height:.5;color:rgba(255,255,255,.16)}.quote-band p{font-family:var(--serif);font-size:clamp(42px,6vw,78px);line-height:.9;margin:30px 0}.quote-band p em{font-style:normal;color:#F0DCC0}.quote-band span{font-size:9px;letter-spacing:.25em}
.timeline{max-width:1050px;margin:55px auto 0}.timeline-item{display:grid;grid-template-columns:120px 25px 1fr;gap:22px;padding:0 0 42px}.year{font-family:var(--serif);font-size:20px;text-align:right;color:var(--taupe)}.dot{width:9px;height:9px;border:2px solid var(--terracotta);border-radius:50%;margin:8px auto;position:relative}.dot:after{content:"";position:absolute;top:8px;left:2px;width:1px;height:110px;background:var(--line)}.timeline-item:last-child .dot:after{display:none}.company{font-size:12px;letter-spacing:.13em;color:var(--terracotta);font-weight:700}.role{font-family:var(--serif);font-size:25px;line-height:1.05;margin:4px 0 10px}.timeline-content p{font-size:13px;color:var(--taupe);max-width:700px}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-image{height:390px;overflow:hidden}.project-image img{transition:transform .7s}.project:hover img{transform:scale(1.04)}.project-meta{display:grid;grid-template-columns:35px 1fr;gap:12px;padding-top:18px}.project-meta>span{font-family:var(--serif);color:var(--champagne);font-size:18px}.project-meta h3{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1;margin:0 0 5px}.project-meta strong{font-size:11px;letter-spacing:.12em;color:var(--terracotta)}.project-meta p{font-size:12px;color:var(--taupe);margin-top:10px}
.skills-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.skills h2{font-size:clamp(48px,5vw,72px);margin-top:55px}.skill-list>div{padding:20px 0;border-bottom:1px solid var(--line)}.skill-list span{display:block;font-family:var(--serif);font-size:24px}.skill-list small{font-size:11px;color:var(--taupe)}
.contact{background:var(--ivory)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.contact h2{font-size:clamp(52px,6vw,82px);margin:55px 0 20px}.contact-copy>p{color:var(--taupe);max-width:470px}.contact-details{margin:30px 0}.contact-details a{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.contact-details span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--taupe);margin-bottom:2px}.contact-image{height:620px;position:relative}.contact-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(39,35,32,.2))}.signature{position:absolute;z-index:2;bottom:24px;right:25px;color:#fff;font-family:cursive;font-size:28px;transform:rotate(-4deg)}
footer{background:var(--terracotta);color:white;min-height:125px;padding:35px clamp(22px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font-family:var(--serif);letter-spacing:.14em;font-size:19px}.footer-brand span{font-size:8px;letter-spacing:.2em}.footer-motto{font-family:var(--serif);font-style:italic;opacity:.85}.footer-right{display:flex;align-items:center;gap:18px;font-size:11px}.footer-right a{font-weight:700}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
 .site-header{height:70px}.menu-toggle{display:block}.nav{position:absolute;top:70px;left:0;right:0;background:var(--white);display:none;flex-direction:column;align-items:stretch;padding:20px 22px 25px;border-bottom:1px solid var(--line);gap:0;box-shadow:0 20px 30px rgba(39,35,32,.08)}.nav.open{display:flex}.nav>a{padding:13px 0}.nav-cta{justify-content:center;margin-top:10px}
 .section{padding:95px 22px}.hero{padding-top:115px;display:flex;flex-direction:column;align-items:stretch;gap:45px}.hero-copy{order:1}.hero-visual{order:2}.image-frame{height:70vh;min-height:470px}
 .intro-grid,.contact-grid,.skills-grid{grid-template-columns:1fr;gap:45px}.expertise-grid{grid-template-columns:1fr 1fr}.projects{grid-template-columns:1fr}.project-image{height:430px}.timeline-item{grid-template-columns:75px 18px 1fr;gap:12px}.year{font-size:16px}.role{font-size:22px}.contact-image{height:500px}
 footer{flex-direction:column;align-items:flex-start}.footer-motto{order:3}
}
@media(max-width:560px){
 h1{font-size:64px}.hero-lead{font-size:22px}.intro h2,.section-heading h2{font-size:43px}.expertise-grid{grid-template-columns:1fr}.expertise-card{min-height:220px}.timeline-item{grid-template-columns:1fr;gap:4px;padding-left:18px;border-left:1px solid var(--line);position:relative}.timeline-item .dot{position:absolute;left:-5px;top:5px;margin:0}.timeline-item .year{text-align:left;font-size:15px}.timeline-item .dot:after{display:none}.timeline-content{padding-top:3px}.project-image{height:390px}.quote-band{padding:80px 22px}.quote-band p{font-size:48px}.contact h2{font-size:54px}
}

.about-photo{margin-top:28px;width:min(100%,330px);height:390px;overflow:hidden;border-radius:2px}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block}
.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:45px}
.scope-grid>div{background:var(--ivory);padding:28px 24px;min-height:230px}
.scope-grid h3{font-size:11px;letter-spacing:.16em;color:var(--terracotta);margin:0 0 18px}
.scope-grid p{font-size:13px;line-height:1.9;color:var(--taupe);margin:0}
.why{background:var(--terracotta);color:#fff}
.why .section-index,.why .section-heading p{color:rgba(255,255,255,.7)}
.why .section-heading h2{color:#fff}
.why-grid{margin-top:45px}
.why-grid .expertise-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}
.why-grid .expertise-card h3{color:#fff}
.why-grid .expertise-card p{color:rgba(255,255,255,.72)}
.contact-art{height:100%;min-height:500px;background:var(--terracotta);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}
.contact-art:before,.contact-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}
.contact-art:before{width:380px;height:380px}
.contact-art:after{width:520px;height:520px}
.contact-art span{font-family:var(--serif);font-size:130px;z-index:1}
.contact-art small{text-align:center;letter-spacing:.18em;text-transform:uppercase;font-size:9px;line-height:1.8;z-index:1}
@media(max-width:900px){.scope-grid{grid-template-columns:1fr 1fr}.about-photo{width:100%;max-width:360px}}
@media(max-width:560px){.scope-grid{grid-template-columns:1fr}.scope-grid>div{min-height:auto}.about-photo{height:330px}.contact-art{min-height:400px}}

/* Company identity marks — exact supplied logos, placed beside the matching experience */
.company-line{display:flex;align-items:flex-start;gap:18px;margin-bottom:8px}
.company-line>div:last-child{flex:1;min-width:0}
.company-logo{width:96px;height:78px;object-fit:contain;object-position:center;flex:0 0 96px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:18px;padding:8px;box-sizing:border-box}
.continental-logo{padding:5px}
.aztec-logo{padding:8px 12px}
.text-logo{display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-weight:600;letter-spacing:.04em;color:#171717;line-height:.9;font-size:19px}
.text-logo small{font-family:var(--sans);font-size:8px;letter-spacing:.16em;margin-top:5px}
.ficav-logo{font-family:var(--sans);font-size:15px;letter-spacing:.08em}
.kibalii-logo{font-size:15px}
@media(max-width:900px){.company-logo{width:82px;height:68px;flex-basis:82px}.company-line{gap:12px}}
@media(max-width:620px){.company-line{align-items:center}.company-logo{width:72px;height:60px;flex-basis:72px;border-radius:14px}.company-line .company{font-size:10px}.company-line .role{margin-top:3px}}
/* V9 — logos officiels FICAV/Kibalii et remplacement de l'image DA */
.company-logo.ficav-logo,
.company-logo.kibalii-logo{object-fit:contain;object-position:center;background:#fff;padding:5px}
.project-event-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg, rgba(178,91,59,.12), rgba(236,215,191,.28));border:1px solid rgba(178,91,59,.12);box-sizing:border-box;padding:30px}
.project-event-art span{font-family:var(--serif);font-size:clamp(42px,5vw,72px);color:var(--terracotta);letter-spacing:.02em}
.project-event-art small{margin-top:14px;font-size:10px;letter-spacing:.16em;color:var(--taupe);max-width:360px;line-height:1.7}


/* V9.1 — améliorations mobiles ciblées, sans modifier la mise en page desktop */
@media(max-width:900px){
  body{font-size:15px;overflow-x:hidden}
  .site-header{padding:0 16px}
  .brand-name{font-size:18px}
  .brand-role{font-size:7px;letter-spacing:.16em}
  .section{padding-left:18px;padding-right:18px}
  .hero{gap:34px}
  .hero-copy{padding-bottom:0}
  .hero-text{font-size:13px}
  .hero-actions{flex-wrap:wrap;gap:18px}
  .image-frame{height:min(610px,76vh);min-height:420px}
  .floating-note{font-size:16px;margin-top:12px;padding:11px 16px}
  .intro-grid{margin-top:40px}
  .intro-copy .large{font-size:21px}
  .about-photo{max-width:none}
  .projects{gap:38px}
  .project-image{height:clamp(300px,70vw,430px)}
  .project-meta{grid-template-columns:28px 1fr}
  .project-meta h3{font-size:25px}
  .project-meta p{font-size:13px}
  .scope-grid{gap:1px}
  .scope-grid>div{padding:22px 18px}
  .timeline-content p{font-size:13px}
  .contact-image{height:auto;min-height:0}
  .contact-art{min-height:420px}
}
@media(max-width:560px){
  .site-header{height:64px}
  .nav{top:64px}
  .section{padding-top:78px;padding-bottom:78px}
  .section-index{font-size:9px;letter-spacing:.14em}
  h1{font-size:clamp(52px,15vw,64px);line-height:.9}
  .eyebrow{font-size:8px;letter-spacing:.13em;gap:7px;flex-wrap:wrap}
  .eyebrow i{width:20px}
  .hero{padding-top:96px;gap:28px}
  .image-frame{height:520px;min-height:0}
  .image-caption{bottom:14px;left:14px;right:14px}
  .intro h2,.section-heading h2{font-size:clamp(38px,11vw,48px)}
  .intro-copy .large{font-size:20px}
  .keywords{gap:12px;flex-wrap:wrap}
  .projects{gap:34px}
  .project-image{height:360px}
  .project-meta h3{font-size:24px}
  .project-meta strong{font-size:10px;line-height:1.5;display:block}
  .timeline-item{padding-bottom:32px}
  .role{font-size:21px}
  .quote-band{padding:68px 18px}
  .quote-band p{font-size:43px}
  .skills-grid{gap:30px}
  .skills h2{font-size:48px;margin-top:35px}
  .contact h2{font-size:clamp(43px,12vw,54px)}
  .contact-art{min-height:360px}
  .contact-art span{font-size:105px}
  footer{padding:30px 18px}
}
@media(max-width:380px){
  .brand-role{display:none}
  .hero-actions .button{width:100%;justify-content:center}
  .text-link{margin-left:4px}
  .project-image{height:320px}
  .contact-details a{font-size:12px}
}
