/* Trois couleurs uniquement : blanc, beige, bordeaux */
@font-face{
  font-family:'Co Headline';
  src:local('Co Headline'), local('CoHeadline'), local('Co Headline Regular'),
      url('../assets/fonts/CoHeadline.woff2') format('woff2'),
      url('../assets/fonts/CoHeadline.otf') format('opentype');
  font-weight:400;
  font-style:normal;
}
:root{
  --white:#ffffff;
  --beige:#F5EFE1;
  --red:#521B12;
  --line:rgba(82,27,18,0.28);
  --max:1160px;
  --spine:64px;
  --h:54vh;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--red);
  background:var(--white);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brand{
  font-family:'Co Headline','Quicksand','Jost',sans-serif;
  font-weight:500;
  letter-spacing:0.01em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}

/* Guideline in the left gutter, never inside the text column */
.plan{position:relative;padding-left:var(--spine);}
.plan::before{
  content:'';
  position:absolute;
  left:24px;top:6px;bottom:6px;
  width:1px;
  background:var(--red);
}

/* Header */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--red);
}
header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:84px;
}
header .logo-mark{height:25px;width:auto;max-width:none;flex-shrink:0;}
header .wrap{gap:28px;}
nav ul{list-style:none;display:flex;gap:30px;}
nav a{
  font-family:'Jost', sans-serif;
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--red);
  opacity:0.7;
  transition:opacity .25s ease;
}
nav a:hover, nav a.active{opacity:1;}

/* Alternating full-width bands, all the same height */
.hero, .band{
  min-height:var(--h);
  display:flex;flex-direction:column;justify-content:center;
}
.hero{
  position:relative;
  align-items:center;
  padding:0 32px;
  background:var(--beige);
  text-align:center;
}
.hero .hero-inner{
  max-width:var(--max);width:100%;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.hero img{width:min(46vw, 300px);margin-bottom:22px;padding-top:40px;}
.hero .loc{
  font-family:'Jost', sans-serif;
  font-size:13px;
  letter-spacing:0.22em;
  text-transform:uppercase;
}
.hero .coord{
  position:absolute;
  bottom:30px;left:32px;
  font-family:'Jost', sans-serif;
  font-size:11px;
  letter-spacing:0.1em;
  padding-bottom:6px;
  border-bottom:1px solid var(--red);
}
.band{padding:56px 0;background:var(--white);}
.band.glass{background:var(--beige);}
.band > .wrap{width:100%;}

.eyebrow{
  font-family:'Jost', sans-serif;
  font-size:11.5px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  margin-bottom:20px;
}
h2, .page-header h1{
  font-size:clamp(21px,2.5vw,30px);
  font-weight:500;
  margin-bottom:26px;
}
.lede{
  font-size:16.5px;
  max-width:600px;
  opacity:0.85;
}

/* Page header band (Références, Profil), full width like the home bands */
.page-header{
  background:var(--beige);
  padding:130px 0 44px;
}
.page-header .eyebrow{margin-bottom:16px;}
.page-header h1{margin-bottom:18px;}

/* Small framed numbers */
.tag{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;
  border:1px solid var(--red);
  font-family:'Jost', sans-serif;
  font-size:11px;
  margin-bottom:18px;
}

/* Studio */
.studio-grid{
  display:grid;
  grid-template-columns:1fr 0.62fr;
  gap:0;
}
.studio-grid .col-a{padding-right:56px;}
.studio-grid .num{
  font-family:'Jost', sans-serif;
  font-size:12.5px;
  letter-spacing:0.1em;
  padding-top:16px;
  margin-top:30px;
  border-top:1px solid var(--red);
  display:inline-block;
}
.bays{
  display:grid;grid-template-columns:1fr 1fr;
  border-left:1px solid var(--red);
}
.bay{padding:0 28px;border-right:1px solid var(--red);}
.bay + .bay{border-left:none;}
.bay h3{font-size:22px;font-weight:500;margin-bottom:6px;}
.bay span{
  font-size:11.5px;letter-spacing:0.08em;
  text-transform:uppercase;
}

/* Prestations */
.services{display:grid;grid-template-columns:repeat(3, 1fr);}
.service{
  padding:36px 30px;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.service:nth-child(-n+3){border-top:none;}
.service:nth-child(3n+1){border-left:none;}
.service h3{
  font-size:17.5px;font-weight:400;margin-bottom:10px;
  text-transform:uppercase;letter-spacing:0.02em;
}
.service p{font-size:13.5px;opacity:0.8;}

/* Contact */
.contact-grid{max-width:560px;}
.contact-list{margin-top:32px;}
.contact-list .row{
  display:flex;justify-content:space-between;
  padding:18px 0;
  border-top:1px solid var(--red);
  font-size:15px;
}
.contact-list .row:last-child{border-bottom:1px solid var(--red);}
.contact-list .row span:first-child{
  font-family:'Jost', sans-serif;
  font-size:11.5px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding-top:2px;
}
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:30px;
  font-family:'Jost', sans-serif;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.btn::before{
  content:'';
  width:10px;height:34px;
  background:var(--red);
  transition:width .3s ease;
}
.btn:hover::before{width:18px;}

/* References feed */
.feed-section{background:var(--white);padding-top:70px;}
.feed{max-width:760px;margin:0 auto;}
.feed figure{margin:0 0 74px;position:relative;}
.feed .plate-num{
  font-family:'Jost', sans-serif;
  font-size:11px;
  letter-spacing:0.08em;
  margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.feed .plate-num::before{
  content:'';display:block;width:22px;height:1px;background:var(--red);
}
.feed img{
  width:100%;height:auto;
  filter:grayscale(1) contrast(1.05);
  transition:filter .5s ease;
}
.feed figure:hover img{filter:grayscale(0) contrast(1);}
.feed figcaption{
  margin-top:14px;
  font-size:13px;
  border-top:1px solid var(--red);
  padding-top:12px;
}
.feed figcaption .proj{font-weight:500;font-style:normal;}
.feed-credit{
  max-width:760px;margin:40px auto 60px;
  font-size:12px;
}

/* Profil */
.profil-layout{
  display:grid;grid-template-columns:280px 1fr;gap:130px;align-items:start;
}
.profil-banner{position:relative;}
.profil-banner img{width:100%;max-width:255px;height:auto;margin:0;filter:grayscale(1);}
.profil-text{max-width:440px;align-self:start;}
.profil-text p{font-size:15px;line-height:1.95;margin-bottom:26px;opacity:0.9;text-align:justify;hyphens:auto;}
.profil-text p.name{
  font-family:'Jost', sans-serif;
  font-size:15px;letter-spacing:0.08em;text-transform:uppercase;opacity:1;margin-bottom:6px;text-align:left;
}
.profil-text p.role{font-size:12px;margin-bottom:22px;text-align:left;letter-spacing:0.06em;}

/* Footer */
footer{
  border-top:1px solid var(--red);
  padding:36px 0;
  background:var(--white);
}
footer .wrap{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
}
footer img{height:15px;}
footer p{font-size:12px;letter-spacing:0.03em;}

@media (max-width:840px){
  header .wrap{gap:14px;}
  header .logo-mark{height:20px;}
  nav ul{gap:12px;}
  nav a{font-size:10px;letter-spacing:0.08em;}
  .studio-grid, .profil-layout{grid-template-columns:1fr;gap:40px;}
  .studio-grid .col-a{padding-right:0;}
  .services{grid-template-columns:1fr 1fr;}
  .service:nth-child(-n+3){border-top:1px solid var(--line);}
  .service:nth-child(2n+1){border-left:none;}
  .service:nth-child(1),.service:nth-child(2){border-top:none;}
  .plan{padding-left:40px;}
  .plan::before{left:12px;}
}
@media (max-width:560px){
  header .wrap{height:66px;}
  header .logo-mark{height:21px;}
  nav ul{gap:10px;}
  .hero, .band{min-height:auto;}
  .hero{padding-top:90px;padding-bottom:90px;}
  .band{padding:70px 0;}
  .page-header{padding:110px 0 40px;}
  .feed figure{margin-bottom:52px;}
  .bays{grid-template-columns:1fr;}
  .bay{border-right:none;border-bottom:1px solid var(--red);padding:20px 0;}
  .services{grid-template-columns:1fr;}
  .service{border-left:none !important;}
}


.band.profil-only{padding:118px 0 110px;min-height:100vh;justify-content:flex-start;}
@media (max-width:840px){.profil-layout{grid-template-columns:1fr;gap:40px;}}

.profil-text p.mail{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.06em;text-align:left;margin-top:22px;opacity:1;}
.profil-text p.mail a{border-bottom:1px solid var(--red);padding-bottom:2px;}

.profil-banner{text-align:left;}
.profil-banner p.name{font-family:'Jost',sans-serif;font-size:15px;letter-spacing:0.08em;text-transform:uppercase;margin:24px 0 6px;text-align:left;}
.profil-banner p.role{font-size:12px;letter-spacing:0.06em;}
.profil-text{align-self:center;}
