
:root{
  --black:#0d0b09;
  --charcoal:#15120f;
  --cream:#f0e4d1;
  --paper:#ddccb0;
  --orange:#c45f2d;
  --gold:#c79b45;
  --muted:#baa991;
  --line:rgba(240,228,209,.22);
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:var(--cream);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
}
a{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--orange);color:white}

.grain{
  pointer-events:none;
  position:fixed;
  inset:0;
  z-index:9999;
  opacity:.06;
  mix-blend-mode:screen;
  background-image:
    radial-gradient(circle at 22% 30%,rgba(255,255,255,.18) 0 1px,transparent 1.2px),
    radial-gradient(circle at 72% 68%,rgba(255,255,255,.11) 0 1px,transparent 1.2px);
  background-size:8px 8px,13px 13px;
}

.wrap{max-width:var(--max);margin:0 auto;padding-left:28px;padding-right:28px}

.hero{
  width:100%;
  min-height:100vh;
  background:#050403;
}
.hero img{
  width:100%;
  height:100vh;
  object-fit:cover;
  object-position:center;
}

.headline-block{
  background:var(--cream);
  color:var(--black);
  border-top:2px solid var(--black);
  border-bottom:2px solid var(--black);
}
.headline-grid{
  display:grid;
  grid-template-columns:.55fr 1.45fr;
  gap:60px;
  padding-top:85px;
  padding-bottom:90px;
}
.headline-label p{
  margin:0 0 14px;
  color:var(--orange);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.2em;
}
.headline-label span{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
}
.headline-copy h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.5rem,6.5vw,6.8rem);
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:500;
}
.headline-copy p{
  margin:24px 0 0;
  max-width:660px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
}

.section-label{
  margin:0 0 18px;
  color:var(--orange);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.2em;
}

.profile{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:center;
  padding-top:110px;
  padding-bottom:120px;
}
.portrait{
  margin:0;
  padding:12px;
  background:var(--cream);
  transform:rotate(-1deg);
  box-shadow:14px 14px 0 var(--orange);
}
.portrait img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 20%;
  filter:saturate(.82) contrast(1.05);
}
.portrait figcaption{
  color:var(--black);
  padding:10px 2px 0;
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.13em;
}
.profile h2,.approach h2,.paris h2,.contact-band h2{
  margin:0 0 26px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,5.6vw,5.7rem);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:500;
}
.profile-copy p{
  color:#cdbda6;
  max-width:760px;
}
.profile-copy .big-copy{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.28rem;
  color:var(--cream);
}
.bio-truth{
  margin-top:30px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  color:var(--cream)!important;
  font-weight:700;
}
.bio-close{
  margin-top:12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3.4vw,3.2rem);
  line-height:1.05;
  color:var(--gold)!important;
  font-style:italic;
}

.approach{
  background:#17120e;
  border-top:10px solid var(--orange);
  border-bottom:10px solid var(--gold);
}
.approach-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:70px;
  padding-top:100px;
  padding-bottom:100px;
}
.gold{color:var(--gold)}
.approach-copy>p{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  color:#d4c5b0;
}
.principles{
  margin-top:42px;
  border-top:1px solid var(--line);
}
.principles article{
  display:grid;
  grid-template-columns:52px 170px 1fr;
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.principles span{color:var(--gold);font-weight:900}
.principles h3{margin:0;font-family:Georgia,serif;font-size:1.3rem}
.principles p{margin:0;color:#ad9c85}

.quote-section{
  text-align:center;
  padding-top:125px;
  padding-bottom:125px;
}
.quote-section blockquote{
  max-width:980px;
  margin:0 auto 24px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.2rem,4.4vw,4.5rem);
  line-height:1.12;
}
.quote-name{
  margin:0;
  color:var(--orange);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.2em;
}

.paris{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  padding-top:100px;
  padding-bottom:110px;
  border-top:1px solid var(--line);
}
.paris-tag{
  font-family:Georgia,serif;
  font-size:1.4rem;
  color:var(--orange);
  font-style:italic;
}
.paris-intro>p{color:#cdbda6}
.paris-list{border-top:2px solid var(--cream)}
.paris-row{
  display:grid;
  grid-template-columns:54px 190px 1fr;
  gap:16px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.paris-row span{font:700 2rem Georgia,serif;color:var(--orange)}
.paris-row p{margin:0;color:#bba98f}
.paris-row strong{padding-top:4px}

.button:hover{transform:translate(-2px,-2px)}
.dark-button{background:var(--black);color:var(--cream);border-color:var(--black)}

.footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding-top:30px;
  padding-bottom:44px;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#9f907b;
}

.reveal.visible{opacity:1;transform:none}

@media (max-width:860px){
  .headline-grid,.profile,.approach-grid,.paris{grid-template-columns:1fr}
  .principles article,.paris-row{grid-template-columns:50px 1fr}
  .principles p,.paris-row p{grid-column:2}
}
@media (max-width:600px){
  .wrap{padding-left:20px;padding-right:20px}
  .hero img{height:auto;min-height:100vh;object-fit:cover}
  .headline-copy h1{font-size:clamp(3.3rem,16vw,5.2rem)}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
