:root{--paper:#f5f3ee;--ink:#191918;--line:#d1cec8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #aa8050;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:24px;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}h3{font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:.13em;line-height:1.5}img{display:block;width:100%;object-fit:cover}.header{min-height:90px;padding:21px 5.2%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:24px;line-height:1.2;text-transform:uppercase;white-space:nowrap}.brand small{display:block;font:13px Arial,sans-serif;letter-spacing:.23em;margin-top:4px}.header nav{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.header nav a:hover{border-bottom:1px solid}.language{border-left:1px solid #777;padding-left:35px;margin-left:15px}.hero{position:relative;min-height:467px;background:#131311;color:white;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;height:100%;object-position:70% 50%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.96),rgba(9,9,8,.72) 31%,rgba(9,9,8,.1) 62%,rgba(9,9,8,.05))}.hero-copy{position:relative;z-index:1;padding:36px 5.2%;max-width:760px}.hero h1{font-size:clamp(38px,3.8vw,59px);line-height:.99;letter-spacing:-.025em}.rule{display:block;width:44px;border-top:1px solid #aaa;margin:23px 0 16px}.hero .lead{font-size:19px;letter-spacing:.015em;margin-bottom:20px}.hero-copy>p:not(.lead){font-size:16px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #a7a6a2;padding:12px 28px;font-size:13px;letter-spacing:.15em;text-transform:uppercase;margin-top:23px;transition:background .2s,color .2s}.button:hover{background:var(--paper);color:var(--ink)}.motto{position:absolute;right:5.2%;bottom:38px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;z-index:1}.section{padding:31px 5.2%}.subtitle{letter-spacing:.04em;font-size:16px;margin-top:3px}.expertise-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:28px 0 7px}.expertise-grid article{border-left:1px solid var(--line);padding:0 24px;min-width:0}.expertise-grid article:first-child{border:0;padding-left:4px}.expertise-grid article:last-child{padding-right:0}.expertise-grid svg{width:49px;height:49px;display:block;margin-bottom:17px}.expertise-grid p{font-size:14px;letter-spacing:.02em;margin-top:6px;line-height:1.45}.bridge{min-height:407px;position:relative;background:#080808;color:var(--paper);overflow:hidden;display:flex;align-items:center}.bridge>img{position:absolute;right:0;top:0;width:60%;height:100%;object-position:center}.bridge:after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,#090909 18%,#090909 33%,transparent 70%)}.bridge-copy{position:relative;z-index:1;width:550px;margin-left:5.2%;padding:35px 0}.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:.22em;line-height:1.5}.bridge h2{font-size:40px;line-height:1.05;letter-spacing:-.025em;text-transform:none;margin-top:22px}.bridge-copy>p:last-child{max-width:430px;font-size:16px;letter-spacing:.015em}.portfolio-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-top:20px}.portfolio-grid img{aspect-ratio:1.04;height:auto}.portfolio-grid h3{text-transform:none;font-size:12px;font-weight:600;letter-spacing:0;margin-top:8px}.portfolio-grid figcaption p{font-size:12px;color:#555}.method{padding-top:10px;padding-bottom:33px}.method-grid{list-style:none;padding:0;margin:23px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:55px}.step{font-family:Georgia,serif;font-size:25px;display:flex;align-items:center;gap:16px;margin-bottom:9px}.step:after{content:'';height:1px;background:var(--line);flex:1}.method-grid p{font-size:14px;letter-spacing:.015em}.about{display:grid;grid-template-columns:28.3% 1fr 22%;align-items:center;border-top:1px solid #fff;min-height:230px}.about>img{height:230px;object-position:center 35%}.about-copy{padding:26px 30px 25px 64px}.about-copy p{font-size:14px;letter-spacing:.02em;line-height:1.5;margin-top:14px}.signature{padding:20px 30px;text-align:center}.signature>p{font-family:'Snell Roundhand','Brush Script MT',cursive;font-style:italic;font-size:31px;line-height:1.1;transform:rotate(-8deg);margin-bottom:20px}.signature small{font-size:11px;letter-spacing:.07em;text-transform:uppercase}.signature small span{font-size:12px;text-transform:none;letter-spacing:0;color:#555}.contact{position:relative;text-align:center;background:linear-gradient(#080808c9,#080808dc),url('assets/contact.jpg') center/cover;color:var(--paper);padding:34px 20%;min-height:217px}.contact h2{text-transform:none;letter-spacing:-.02em;font-size:42px;line-height:1.15;margin:9px 0 0}.contact .button{margin-top:24px}.contact-categories{position:absolute;left:5.2%;bottom:42px;text-align:left;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.contact .motto{text-align:left}.contact-pending{margin-top:20px;font-size:14px}footer{padding:13px 5.2%;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.025em}footer>div{display:flex;gap:24px}footer a:hover{text-decoration:underline}.skip{position:fixed;top:-100px;left:15px;z-index:10;padding:12px;background:#fff;color:#000}.skip:focus{top:10px}[hidden]{display:none!important}.legal{max-width:850px;margin:50px auto;padding:25px}.legal h1{font-size:40px}.legal h2{margin:28px 0 12px;font-size:22px}.legal a{text-decoration:underline}
@media(min-width:1600px){.hero{min-height:540px}.hero-copy{padding-top:50px;padding-bottom:50px}}@media(max-width:1150px){.header nav{gap:16px}.brand{font-size:21px}.language{padding-left:15px;margin-left:0}.expertise-grid article{padding:0 16px}.bridge-copy{margin-left:5.2%}.method-grid{gap:27px}.about-copy{padding:23px 28px}.signature{padding:20px 15px}.signature>p{font-size:25px}.contact h2{font-size:35px}}
@media(max-width:850px){.header{flex-wrap:wrap}.header nav{width:100%;justify-content:space-between;padding:12px 0 0}.hero{min-height:490px}.hero h1{font-size:48px}.hero .motto{display:none}.expertise-grid{grid-template-columns:repeat(3,1fr);gap:28px 0}.expertise-grid article:nth-child(4){border:0;padding-left:4px}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 14px}.portfolio-grid h3{font-size:14px}.portfolio-grid figcaption p{font-size:13px}.method-grid{grid-template-columns:repeat(3,1fr);gap:22px 35px}.about{grid-template-columns:30% 1fr}.about>img{height:100%;min-height:280px}.signature{display:none}.contact{padding:35px 8% 90px}.contact .motto{bottom:20px;font-size:10px}.contact-categories{bottom:20px}.bridge-copy{margin-left:5.2%;max-width:80%}.bridge h2{font-size:36px}.bridge-copy>p:last-child{max-width:360px}.bridge>img{width:70%}}
@media(max-width:540px){h2{font-size:22px}.header{padding:24px 6%;gap:12px}.brand{font-size:20px}.brand small{font-size:11px}.menu-toggle{background:none;border:1px solid #999;padding:6px 10px;font-size:13px}.header nav{flex-wrap:wrap;gap:16px;font-size:12px}.header nav.menu-closed{display:none}.header .language{display:none}.hero{min-height:510px}.hero-image{object-position:60% center}.hero:after{background:linear-gradient(90deg,#090909e8,#09090966)}.hero-copy{padding:36px 6%;max-width:100%}.hero h1{font-size:43px}.hero .lead{font-size:16px;max-width:300px}.hero-copy>p:not(.lead){font-size:15px;max-width:320px}.desktop{display:none}.button{font-size:12px;padding:12px 18px}.section{padding:28px 6%}.subtitle{font-size:15px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 0}.expertise-grid article{padding:0 15px}.expertise-grid article:nth-child(4){border-left:1px solid var(--line);padding-left:15px}.expertise-grid article:nth-child(odd){border:0;padding-left:0}.expertise-grid h3{font-size:13px}.bridge{min-height:450px}.bridge-copy{margin-left:6%;padding:35px 0;max-width:88%}.bridge:after{background:linear-gradient(90deg,#090909f5,#09090991)}.bridge>img{width:100%}.bridge h2{font-size:33px}.bridge-copy>p:last-child{font-size:15px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.method-grid h3{font-size:13px}.about{grid-template-columns:1fr}.about>img{height:270px;min-height:0;object-position:center 30%}.about-copy{padding:29px 6%}.about-copy p{font-size:15px}.contact{padding:35px 6% 105px}.contact h2{font-size:33px}.contact .eyebrow{font-size:12px}footer{padding:18px 6%;flex-direction:column;gap:10px}footer>div{flex-wrap:wrap;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Espacement du bandeau Expertise. */
.expertise.section{padding-top:50px;padding-bottom:50px}
@media(max-width:540px){.expertise.section{padding-top:42px;padding-bottom:42px}}

/* Davantage de respiration entre les sections et leur contenu. */
.portfolio.section,.method.section{padding-top:64px;padding-bottom:64px}
.portfolio-grid{margin-top:32px}
.method-grid{margin-top:36px}
.about{padding-top:48px;padding-bottom:48px}
.about-copy p{margin-top:24px}
@media(max-width:540px){
  .portfolio.section,.method.section{padding-top:44px;padding-bottom:44px}
  .portfolio-grid{margin-top:26px}
  .method-grid{margin-top:28px}
  .about{padding-top:32px;padding-bottom:32px}
  .about-copy p{margin-top:20px}
}

.contact-details{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:20px;font-size:16px}.contact-details a:hover{text-decoration:underline}
@media(max-width:540px){.contact-details{flex-direction:column}}

/* Rythme plus aéré sur l’ensemble de la page. */
.expertise.section{padding-top:80px;padding-bottom:80px}
.expertise-grid{margin-top:40px}
.bridge-copy{padding-top:70px;padding-bottom:70px}
.portfolio.section,.method.section{padding-top:92px;padding-bottom:92px}
.portfolio-grid{margin-top:42px}
.method-grid{margin-top:46px}
.about{padding-top:80px;padding-bottom:80px}
.contact{padding-top:64px;padding-bottom:64px}
@media(max-width:850px){.contact{padding-bottom:110px}}
@media(max-width:540px){
  .expertise.section{padding-top:60px;padding-bottom:60px}
  .expertise-grid{margin-top:34px}
  .bridge-copy{padding-top:55px;padding-bottom:55px}
  .portfolio.section,.method.section{padding-top:64px;padding-bottom:64px}
  .portfolio-grid{margin-top:34px}
  .method-grid{margin-top:36px}
  .about{padding-top:56px;padding-bottom:56px}
  .contact{padding-top:54px;padding-bottom:115px}
}

/* Séparation visible entre l’en-tête et le bandeau photo. */
.hero{margin-top:60px}
@media(max-width:540px){.hero{margin-top:36px}}

/* Centre le nom et la navigation dans le bandeau clair agrandi. */
.header{min-height:150px;padding-top:51px;padding-bottom:51px}
.hero{margin-top:0}
@media(max-width:540px){
  .header{min-height:126px;padding-top:42px;padding-bottom:42px}
  .hero{margin-top:0}
}

/* Aère le contenu du bandeau photo, avec des marges verticales équilibrées. */
.hero-copy{padding-top:72px;padding-bottom:72px}
@media(max-width:540px){.hero-copy{padding-top:60px;padding-bottom:60px}}

/* Cadrage du portrait fourni par Tristan. */
.about>img{object-position:center 55%}
