.brand {
  position: relative;
  display: flex;
  align-items: center;
  width: 168px;
  height: 82px;
  letter-spacing: 0;
}

.brand small {
  position: absolute;
  right: .05rem;
  bottom: .05rem;
  color: #d9d1c6;
  font-size: .48rem;
  font-weight: 500;
  letter-spacing: .22em;
  line-height: 1;
  text-transform: uppercase;
}

.nav > .brand small {
  left: calc(100% + .7rem);
  right: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  padding-left: .8rem;
  border-left: 1px solid rgba(180, 122, 73, .72);
  color: #eee8df;
  font-family: 'Playfair Display', serif;
  font-size: .78rem;
  font-style: italic;
  font-weight: 500;
  letter-spacing: .07em;
  line-height: 1.35;
  text-transform: none;
  white-space: nowrap;
}

.brand img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .5));
}

.nav.scrolled .brand {
  height: 68px;
}

.language-switch {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  padding: .52rem .68rem;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(0, 0, 0, .18);
  color: #fff;
  font: inherit;
  font-size: .68rem;
  letter-spacing: .08em;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.language-switch:hover,
.language-switch:focus-visible {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .55);
  outline: none;
}
.language-switch i{position:relative;width:24px;height:13px;border:1px solid rgba(255,255,255,.55);border-radius:20px}
.language-switch i::after{content:'';position:absolute;top:2px;left:2px;width:7px;height:7px;border-radius:50%;background:var(--wine);transition:transform .25s ease}
.language-switch[aria-pressed="true"] i::after{transform:translateX(11px)}
.lang-current{color:#fff;font-weight:600}.lang-next{color:#888}

.hero h1{max-width:1100px}
.hero-service{font-size:clamp(1rem,1.7vw,1.65rem);font-weight:500;letter-spacing:.22em;color:#fff}
.hero-bg{background-image:linear-gradient(90deg,rgba(14,8,7,.9) 0%,rgba(25,10,9,.7) 38%,rgba(48,17,10,.25) 69%,rgba(52,24,10,.12) 100%),linear-gradient(0deg,rgba(15,8,7,.84) 0%,rgba(42,18,10,.25) 48%,rgba(58,27,12,.12) 100%),linear-gradient(120deg,rgba(120,39,31,.2),rgba(158,83,34,.08) 62%,transparent 82%),url('images/hero-studio.webp');background-position:center 47%;filter:sepia(.08) saturate(1.06) contrast(1.04) brightness(.91)}
.feature{min-height:0}
.feature .feature-copy{padding-top:7vw;padding-bottom:7vw}
.mix-img{background-image:linear-gradient(135deg,rgba(69,25,13,.04),rgba(33,8,10,.14)),url('images/mixage-studio.webp');background-position:center;background-size:cover;background-repeat:no-repeat;filter:sepia(.05) saturate(1.03) contrast(1.03) brightness(.92)}
.gallery-main{background-image:linear-gradient(135deg,rgba(69,25,13,.08),rgba(33,8,10,.12)),url('images/hero-studio.webp');background-position:center 47%;filter:sepia(.05) saturate(1.03) contrast(1.03) brightness(.94)}
.hero h1 strong,.hero h1 span{display:block}
.hero h1 strong{margin-bottom:.7rem;color:#fff;font-size:.82em;font-weight:400;line-height:.95;letter-spacing:.13em;white-space:nowrap}
.hero h1 span{max-width:820px;font-size:.23em;font-weight:500;line-height:1.35;letter-spacing:.22em;text-transform:uppercase}

footer .footer-brand {
  width: 270px;
  height: 110px;
  flex:0 0 270px;
}
footer .footer-brand img{width:145px;height:110px}
footer{flex-wrap:wrap;gap:2rem 3rem}
footer .footer-address{
  color:#a8a7a3;
  font-style:normal;
  line-height:1.7;
  text-align:center;
}
footer .footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.85rem}
footer .footer-meta p{margin:0}
.social-links{display:flex;gap:.55rem}
.social-links a{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#d9d1c6;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}
.social-links a:hover,.social-links a:focus-visible{color:#fff;border-color:var(--copper);background:rgba(180,122,73,.12);transform:translateY(-2px);outline:none}
.social-links svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.social-links a:nth-child(2) svg,.social-links a:nth-child(3) svg{fill:currentColor;stroke:none}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}
.contact-layout .contact-inner h2{font-size:clamp(3.8rem,7vw,7.5rem)}
.contact-form{padding:2rem;background:rgba(12,13,13,.72);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.3rem}
.contact-form label{display:flex;flex-direction:column;gap:.45rem;color:#d8d4cd;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.32);border-radius:0;padding:.7rem 0;background:transparent;color:#fff;font:inherit;font-size:1rem;letter-spacing:0;outline:none;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--copper)}
.contact-form .form-message{grid-column:1/-1}
.contact-form .button{margin-top:1.5rem;cursor:pointer}
.form-help{margin:.8rem 0 0;color:#92908c;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-inner .actions{align-items:stretch}
.contact-inner .contact-email{text-transform:none;letter-spacing:.06em}
footer .footer-brand small{
  left:155px;
  right:auto;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  padding-left:.8rem;
  border-left:1px solid rgba(180,122,73,.72);
  color:#eee8df;
  font-family:'Playfair Display',serif;
  font-size:.78rem;
  font-style:italic;
  font-weight:500;
  letter-spacing:.07em;
  line-height:1.35;
  text-transform:none;
  white-space:nowrap;
}

.team {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 7vw;
  padding: 9rem 7vw;
  background: var(--ivory);
  color: var(--ink);
}

.team-heading > p:last-child {
  max-width: 520px;
  color: #565552;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
}

.team-member { min-width: 0; }

.portrait {
  width: min(100%, 300px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin-bottom: 1.8rem;
  border-radius: 50%;
  border: 1px solid rgba(92, 20, 34, .3);
  background: radial-gradient(circle at 35% 30%, #9c394c, #5b1422 48%, #161819 72%);
  box-shadow: 0 18px 50px rgba(62, 29, 29, .16);
  overflow: hidden;
}

.portrait-david { background: radial-gradient(circle at 65% 30%, #b47a49, #6d2932 45%, #161819 72%); }
.portrait img { width: 100%; height: 100%; object-fit: cover; }
.portrait-guillaume img { object-position: 50% 42%; }
.portrait-david img { object-position: 50% 36%; }
.portrait span { color: rgba(255,255,255,.86); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 300; letter-spacing: .12em; }
.team-number { margin-bottom: .55rem; color: var(--wine); font-size: .65rem; letter-spacing: .22em; }
.team-member h3 { margin-bottom: .35rem; font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 500; letter-spacing: .04em; }
.team-role { color: #666; text-transform: uppercase; font-size: .72rem; letter-spacing: .14em; }

.spaces {
  padding: 9rem 7vw;
  background: #0c0f10;
}

.spaces-heading {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  column-gap: 7vw;
  align-items: end;
  margin-bottom: 4rem;
}

.spaces-heading .eyebrow { grid-column: 1 / -1; }
.spaces-heading h2 { margin-bottom: 0; }
.spaces-heading > p:last-child { max-width: 540px; margin-bottom: .65rem; color: #b8b6b1; }

.spaces-grid {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  grid-template-rows: repeat(2, minmax(250px, 34vw));
  gap: 1rem;
}

.space-photo { position: relative; margin: 0; overflow: hidden; background: #171a1b; }
.space-sofa { grid-row: 1 / 3; }
.space-photo::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); pointer-events: none; }
.space-photo img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.82) contrast(1.07) brightness(.83); transition: transform .8s ease, filter .8s ease; }
.space-photo:hover img { transform: scale(1.025); filter: saturate(.9) contrast(1.08) brightness(.9); }
.space-sofa img { object-position: 53% center; }
.space-vinyl img { object-position: center; }
.space-client img { object-position: center; }

@media (max-width: 900px) {
  .brand {
    width: 118px;
    height: 64px;
  }

  .nav.scrolled .brand {
    height: 56px;
  }

  .language-switch { align-self: flex-start; }
  .spaces-heading { grid-template-columns: 1fr; row-gap: 1.5rem; }
  .spaces-grid { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(420px, 70vw) minmax(240px, 42vw); }
  .space-sofa { grid-column: 1 / -1; grid-row: auto; }
  .team { grid-template-columns: 1fr; padding-top: 7rem; }
  footer .footer-address{text-align:left}
  footer .footer-meta{align-items:flex-start}
  footer .footer-brand{width:240px;flex-basis:240px}
  footer .footer-brand img{width:120px;height:82px}
  footer .footer-brand small{left:126px}
  .contact-layout{grid-template-columns:1fr;gap:3rem}
}

@media (max-width: 560px) {
  .brand small{display:block;font-size:.42rem}
  .nav > .brand small{left:calc(100% + .4rem);padding-left:.55rem;font-size:.67rem;letter-spacing:.04em}
  footer .footer-brand small{left:126px;padding-left:.55rem;font-size:.67rem;letter-spacing:.04em}
  .hero .hero-bg{background-position:54% center;filter:sepia(.08) saturate(1.04) contrast(1.06) brightness(.87)}
  .mix-img{background-position:center;filter:sepia(.05) saturate(1.03) contrast(1.03) brightness(.94)}
  .hero h1 strong{font-size:.86em;letter-spacing:.08em;white-space:normal}
  .hero h1 span{max-width:19rem;font-size:.34em;line-height:1.45;letter-spacing:.14em}
  .spaces { padding: 7rem 7vw; }
  .spaces-grid { grid-template-columns: 1fr; grid-template-rows: 360px 260px 260px; }
  .space-sofa { grid-column: auto; }
  .team-grid { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
  .portrait { margin-bottom: 1.2rem; }
  .team-role { font-size: .62rem; }
  .contact-form{padding:1.4rem}
  .form-grid{grid-template-columns:1fr}
  .contact-form .form-message{grid-column:auto}
}
