.home-main{display:block}

.eyebrow,
.section-index{
  margin:0;
  color:var(--color-text-secondary);
  font-size:0.72rem;
  font-weight:500;
  letter-spacing:0.16em;
  line-height:1.5;
  text-transform:uppercase;
}

.section-index{color:var(--color-accent)}

.text-link{
  display:inline-flex;
  align-items:center;
  gap:0.65rem;
  width:fit-content;
  padding-bottom:0.2rem;
  border-bottom:1px solid currentColor;
  font-size:0.86rem;
  font-weight:500;
  letter-spacing:0.06em;
}

.text-link span{transition:transform var(--transition-fast)}
.text-link:hover span{transform:translateX(0.2rem)}

.hero{
  position:relative;
  min-height:calc(100svh - 108px);
  isolation:isolate;
  overflow:hidden;
}

.hero-bg,
.hero-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.hero-bg{
  z-index:-2;
  border-radius:0;
  object-fit:cover;
  object-position:center 56%;
  transform:scale(1.015);
}

.hero-shade{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(8,9,12,0.84) 0%,rgba(8,9,12,0.46) 46%,rgba(8,9,12,0.12) 78%),
    linear-gradient(0deg,rgba(8,9,12,0.65) 0%,transparent 42%);
}

.hero-layout{
  min-height:inherit;
  display:grid;
  grid-template-columns:0.25fr minmax(0,1.25fr) 0.5fr;
  grid-template-rows:1fr auto;
  align-items:center;
  gap:var(--space-5);
  padding-block:clamp(4rem,8vh,7rem) var(--space-4);
}

.hero-kicker{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding-block:0.5rem 4.5rem;
  color:var(--color-text-secondary);
  font-size:0.68rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

.hero-content{
  max-width:820px;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}

.hero-content h1{
  max-width:800px;
  margin:0;
  font-size:clamp(3.3rem,6.4vw,6.75rem);
  font-weight:400;
  letter-spacing:-0.035em;
  line-height:0.96;
}

.hero-content h1 em{
  display:block;
  color:var(--color-accent);
  font-weight:400;
}

.hero-copy{
  max-width:600px;
  margin:0;
  color:#e8dfd2;
  font-size:clamp(1rem,1.3vw,1.2rem);
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:var(--space-3);
  margin-top:var(--space-1);
}

.hero-scroll{
  grid-column:3;
  grid-row:2;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:var(--space-2);
  color:var(--color-text-secondary);
  font-size:0.7rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
}

.intro{background:#17171d}

.intro-grid{
  display:grid;
  grid-template-columns:0.5fr 1.35fr 0.8fr;
  gap:clamp(2rem,5vw,6rem);
  align-items:start;
}

.intro-statement{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}

.intro-statement h2{
  margin:0;
  font-size:clamp(2.3rem,4vw,4.5rem);
  font-weight:400;
  letter-spacing:-0.025em;
  line-height:1.05;
}

.intro-copy{padding-top:2.4rem}
.intro-copy p{color:var(--color-text-secondary)}

.duality{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:760px;
}

.duality-panel{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:760px;
  isolation:isolate;
  overflow:hidden;
}

.duality-panel img,
.duality-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.duality-panel img{
  z-index:-2;
  border-radius:0;
  object-fit:cover;
  transition:transform 0.8s ease;
}

.duality-panel:hover img{transform:scale(1.025)}

.duality-overlay{
  z-index:-1;
  background:linear-gradient(0deg,rgba(8,9,12,0.94) 0%,rgba(8,9,12,0.18) 68%);
}

.duality-salon .duality-overlay{
  background:
    linear-gradient(0deg,rgba(16,20,25,0.95) 0%,rgba(16,20,25,0.2) 68%),
    rgba(15,31,33,0.12);
}

.duality-content{
  position:relative;
  width:100%;
  max-width:620px;
  padding:clamp(2rem,5vw,5rem);
}

.duality-content h2{
  margin:0.3rem 0 1rem;
  font-size:clamp(3rem,5vw,5.75rem);
  font-weight:400;
  letter-spacing:-0.035em;
}

.duality-content>p:last-child{
  max-width:520px;
  margin:0;
  color:#ddd3c5;
}

.duality-number{
  position:absolute;
  right:clamp(2rem,5vw,5rem);
  bottom:calc(100% - 2rem);
  color:rgba(242,232,216,0.7);
  font-family:var(--font-heading);
  font-size:2rem;
}

.journey{background:var(--color-bg-primary)}

.section-heading{
  display:grid;
  grid-template-columns:1.2fr 0.65fr;
  gap:var(--space-6);
  align-items:end;
  margin-bottom:var(--space-6);
}

.section-heading h2{
  max-width:760px;
  margin:var(--space-2) 0 0;
  font-size:clamp(2.3rem,4vw,4.3rem);
  font-weight:400;
  letter-spacing:-0.025em;
}

.section-heading>p{
  margin:0;
  color:var(--color-text-secondary);
}

.section-heading.compact{grid-template-columns:1fr}

.journey-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:journey;
  border-top:1px solid var(--color-border-subtle);
}

.journey-list li{
  position:relative;
  min-height:260px;
  margin:0;
  padding:var(--space-3) var(--space-3) var(--space-3) 0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid var(--color-border-subtle);
}

.journey-list li:not(:first-child){padding-left:var(--space-3)}
.journey-list li:last-child{border-right:0}

.journey-list li::before{
  content:"";
  position:absolute;
  top:-4px;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--color-accent);
}

.journey-list li:not(:first-child)::before{left:var(--space-3)}

.journey-time{
  color:var(--color-accent);
  font-size:0.78rem;
  letter-spacing:0.1em;
}

.journey-list strong{
  display:block;
  margin-bottom:0.5rem;
  font-family:var(--font-heading);
  font-size:var(--fs-4);
  font-weight:400;
}

.journey-list p{
  margin:0;
  color:var(--color-text-secondary);
  font-size:0.92rem;
}

.detail-gallery{background:#d9cabb;color:#18171b}
.detail-gallery .section-index,
.clarity .section-index{color:#7f4827}

.gallery-layout{
  display:grid;
  grid-template-columns:0.8fr 0.9fr 1.2fr;
  grid-template-rows:auto auto;
  gap:clamp(1rem,2.4vw,2.5rem);
  align-items:end;
}

.gallery-copy{
  align-self:start;
  padding:clamp(1rem,3vw,3rem) var(--space-3) 0 0;
}

.gallery-copy h2{
  margin:var(--space-3) 0;
  font-size:clamp(2.2rem,3.8vw,4.15rem);
  font-weight:400;
  letter-spacing:-0.025em;
  line-height:1.06;
}

.gallery-copy p:not(.section-index){color:#514b47}

.gallery-image{margin:0}

.gallery-image img{
  width:100%;
  border-radius:0;
  object-fit:cover;
  filter:saturate(0.8);
}

.gallery-image-tall{grid-row:1 / span 2;grid-column:2}
.gallery-image-tall img{aspect-ratio:3/4}
.gallery-image-wide{grid-row:1 / span 2;grid-column:3;align-self:start}
.gallery-image-wide img{aspect-ratio:4/3;margin-top:clamp(5rem,10vw,10rem)}

.gallery-image figcaption{
  margin-top:0.65rem;
  color:#5a524c;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.principles{background:#17171d}

.principles-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--color-border-subtle);
  border-bottom:1px solid var(--color-border-subtle);
}

.principles-grid article{
  min-height:310px;
  padding:var(--space-3);
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--color-border-subtle);
}

.principles-grid article:first-child{padding-left:0}
.principles-grid article:last-child{padding-right:0;border-right:0}
.principles-grid span{color:var(--color-accent);font-size:0.76rem}

.principles-grid h3{
  margin:auto 0 var(--space-2);
  font-weight:400;
}

.principles-grid p{
  margin:0;
  color:var(--color-text-secondary);
  font-size:0.92rem;
}

.occasion{background:var(--color-bg-accent)}

.occasion-grid{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:clamp(3rem,7vw,8rem);
  align-items:center;
}

.occasion-image img{
  width:100%;
  aspect-ratio:4/3;
  border-radius:0;
  object-fit:cover;
}

.occasion-content h2{
  margin:var(--space-3) 0;
  font-size:clamp(2.3rem,4vw,4.3rem);
  font-weight:400;
  letter-spacing:-0.025em;
}

.occasion-content p:not(.section-index){color:#c5bbaa}
.occasion-content .button{margin-top:var(--space-2)}

.clarity{background:#d9cabb;color:#18171b}

.clarity-layout{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:clamp(3rem,8vw,9rem);
}

.clarity-title h2{
  margin:var(--space-3) 0 0;
  font-size:clamp(2.3rem,4vw,4.3rem);
  font-weight:400;
  letter-spacing:-0.025em;
}

.clarity-list article{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:var(--space-3);
  padding:var(--space-4) 0;
  border-top:1px solid rgba(24,23,27,0.25);
}

.clarity-list article:last-child{border-bottom:1px solid rgba(24,23,27,0.25)}

.clarity-list span{
  color:var(--color-accent);
  font-family:var(--font-heading);
  font-size:var(--fs-4);
}

.clarity-list h3{
  margin:0 0 var(--space-1);
  font-weight:400;
}

.clarity-list p{margin:0;color:#514b47}

.responsible{
  position:relative;
  background:#1c2025;
  overflow:hidden;
}

.responsible-grid{
  display:grid;
  grid-template-columns:1fr 0.75fr 0.45fr;
  gap:clamp(2rem,6vw,7rem);
  align-items:center;
}

.responsible h2{
  margin:var(--space-3) 0 0;
  font-size:clamp(2.3rem,4vw,4.3rem);
  font-weight:400;
  letter-spacing:-0.025em;
}

.responsible-grid>div:nth-child(2) p{color:var(--color-text-secondary)}

.responsible-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  width:clamp(150px,16vw,220px);
  aspect-ratio:1;
  border:1px solid var(--color-accent);
  border-radius:50%;
  color:var(--color-accent);
  font-family:var(--font-heading);
  font-size:clamp(3rem,6vw,5.5rem);
}

.faq{background:var(--color-bg-primary)}

.faq-layout{
  display:grid;
  grid-template-columns:0.7fr 1.3fr;
  gap:clamp(3rem,8vw,9rem);
}

.faq-heading h2{
  margin:var(--space-3) 0;
  font-size:clamp(2.3rem,4vw,4.3rem);
  font-weight:400;
  letter-spacing:-0.025em;
}

.faq-item{border-top:1px solid var(--color-border-subtle)}
.faq-item:last-child{border-bottom:1px solid var(--color-border-subtle)}

.faq-question{
  position:relative;
  width:100%;
  padding:var(--space-3) 3.5rem var(--space-3) 0;
  text-align:left;
  font-family:var(--font-heading);
  font-size:var(--fs-5);
}

.faq-question::after{
  content:"+";
  position:absolute;
  top:50%;
  right:0.2rem;
  transform:translateY(-50%);
  color:var(--color-accent);
  font-family:var(--font-body);
  font-size:1.6rem;
  font-weight:300;
}

.faq-answer{
  display:none;
  max-width:680px;
  padding:0 var(--space-5) var(--space-3) 0;
  color:var(--color-text-secondary);
}

.faq-item.active .faq-question::after{content:"−"}
.faq-item.active .faq-answer{display:block}

.closing{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
}

.closing>img,
.closing-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.closing>img{
  z-index:-2;
  border-radius:0;
  object-fit:cover;
}

.closing-overlay{
  z-index:-1;
  background:linear-gradient(90deg,rgba(8,9,12,0.88) 0%,rgba(8,9,12,0.52) 56%,rgba(8,9,12,0.18) 100%);
}

.closing-content{padding-block:var(--space-7)}

.closing-content h2{
  max-width:780px;
  margin:var(--space-3) 0 var(--space-5);
  font-size:clamp(3rem,5.6vw,6rem);
  font-weight:400;
  letter-spacing:-0.035em;
  line-height:1;
}

.closing-actions{display:flex;gap:var(--space-2)}

@media(max-width:1000px){
  .hero-layout{grid-template-columns:40px 1fr}
  .hero-scroll{display:none}
  .intro-grid{grid-template-columns:0.35fr 1.2fr}
  .intro-copy{grid-column:2;padding-top:0}
  .duality,
  .journey-list{grid-template-columns:1fr 1fr}
  .duality-panel{min-height:640px}
  .journey-list li:nth-child(2){border-right:0}
  .journey-list li:nth-child(-n+2){border-bottom:1px solid var(--color-border-subtle)}
  .journey-list li:nth-child(3){padding-left:0}
  .journey-list li:nth-child(3)::before{left:0}
  .gallery-layout{grid-template-columns:0.8fr 1fr}
  .gallery-copy{grid-column:1 / -1}
  .gallery-image-tall{grid-column:1;grid-row:2}
  .gallery-image-wide{grid-column:2;grid-row:2}
  .gallery-image-wide img{margin-top:5rem}
  .principles-grid{grid-template-columns:1fr 1fr}
  .principles-grid article:nth-child(2){border-right:0}
  .principles-grid article:nth-child(-n+2){border-bottom:1px solid var(--color-border-subtle)}
  .principles-grid article:nth-child(3){padding-left:0}
  .responsible-grid{grid-template-columns:1fr 1fr}
  .responsible-mark{grid-column:1 / -1;justify-self:start;width:150px}
}

@media(max-width:760px){
  .hero{min-height:calc(100svh - 94px)}
  .hero-shade{
    background:
      linear-gradient(0deg,rgba(8,9,12,0.92) 0%,rgba(8,9,12,0.28) 78%),
      linear-gradient(90deg,rgba(8,9,12,0.36),transparent);
  }
  .hero-bg{object-position:62% center}
  .hero-layout{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:stretch;
    padding-block:clamp(7rem,26vh,12rem) var(--space-4);
  }
  .hero-kicker{display:none}
  .hero-content h1{font-size:clamp(2.8rem,13vw,4.5rem)}
  .hero-content h1 em{display:inline}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .intro-grid,
  .duality,
  .section-heading,
  .occasion-grid,
  .clarity-layout,
  .responsible-grid,
  .faq-layout{grid-template-columns:1fr}
  .intro-grid{gap:var(--space-3)}
  .intro-copy{grid-column:auto;padding-top:var(--space-2)}
  .intro-statement h2 br{display:none}
  .duality-panel{min-height:580px}
  .duality-number{bottom:calc(100% - 1rem)}
  .section-heading{gap:var(--space-3);margin-bottom:var(--space-5)}
  .journey-list{grid-template-columns:1fr}
  .journey-list li,
  .journey-list li:not(:first-child){
    min-height:auto;
    display:grid;
    grid-template-columns:70px 1fr;
    gap:var(--space-3);
    padding:var(--space-3) 0;
    border-right:0;
    border-bottom:1px solid var(--color-border-subtle);
  }
  .journey-list li:not(:first-child)::before{left:0}
  .journey-list li:last-child{border-bottom:0}
  .gallery-layout{grid-template-columns:1fr 1fr}
  .gallery-copy{padding:0 0 var(--space-3)}
  .gallery-image-wide img{margin-top:3rem}
  .principles-grid{grid-template-columns:1fr}
  .principles-grid article,
  .principles-grid article:first-child,
  .principles-grid article:nth-child(3),
  .principles-grid article:last-child{
    min-height:210px;
    padding:var(--space-3) 0;
    border-right:0;
    border-bottom:1px solid var(--color-border-subtle);
  }
  .principles-grid article:last-child{border-bottom:0}
  .occasion-image{order:2}
  .occasion-content{order:1}
  .responsible-mark{grid-column:auto}
  .closing{min-height:600px}
}

@media(max-width:520px){
  .hero-copy{font-size:0.96rem}
  .hero-actions .button{width:100%}
  .duality-panel{min-height:520px}
  .duality-content{padding:var(--space-3)}
  .duality-content h2{font-size:3.25rem}
  .duality-number{right:var(--space-3)}
  .gallery-layout{display:flex;flex-direction:column}
  .gallery-image-wide img{margin-top:0}
  .gallery-image-tall img,
  .gallery-image-wide img{aspect-ratio:4/3}
  .clarity-list article{grid-template-columns:38px 1fr;gap:var(--space-2)}
  .responsible h2 br{display:none}
  .responsible-mark{width:125px}
  .faq-answer{padding-right:0}
  .closing{min-height:560px}
  .closing-content h2{font-size:clamp(2.8rem,13vw,4rem)}
  .closing-actions{flex-direction:column}
  .closing-actions .button{width:100%}
}
