/* Homepage adaptation of the canonical VIP design system.
   VIP tokens and shared components load first. This file changes only the
   homepage composition needed to preserve its approved content and behavior. */

.home-shiloh main{overflow:clip;background:var(--le-color-surface)}
.home-shiloh .home-sheet{background:var(--le-color-surface)}
.home-shiloh #lcConcierge{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease,visibility 0s linear .28s;
}
.home-shiloh.home-concierge-ready #lcConcierge{
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transition:opacity .28s ease,visibility 0s;
}

/* 1. Homepage hero with eighth-strength image grading and a lower copy scrim. */
.home-shiloh .home-hero .home-hero-image{
  object-position:50% 50%;
  filter:saturate(.9775) contrast(1.005) brightness(.9725);
  transform:scale(1.001);
}
.home-shiloh .home-hero .home-hero-scrim{
  background:
    linear-gradient(90deg,rgba(8,8,10,.42),rgba(8,8,10,.08) 70%),
    radial-gradient(72% 42% at 50% 80%,rgba(8,8,10,.88),rgba(8,8,10,.3) 58%,rgba(0,0,0,.03) 88%);
}
.home-shiloh .home-hero .home-hero-content{
  bottom:clamp(58px,8vh,96px);
  width:min(94%,900px);
}
.home-shiloh .home-hero .le-kicker{
  font-size:13px;
  font-weight:400;
  line-height:32px;
  letter-spacing:.32em;
  transform:none;
}
.home-shiloh .home-hero .home-hero-content h1 .home-hero-balance-accent{
  --home-hero-accent-gold:#d8bc88;
  --home-hero-accent-pale:#fff4ce;
  display:inline-block;
  position:relative;
  margin:0;
  color:var(--home-hero-accent-gold);
  font:inherit;
  font-style:italic;
  transform:none;
}
.home-shiloh .home-hero .home-hero-content h1 .home-hero-balance-accent::after{
  content:"";
  position:absolute;
  right:.02em;
  bottom:.04em;
  left:.08em;
  height:1px;
  background:linear-gradient(90deg,rgba(216,188,136,.2),var(--home-hero-accent-pale) 50%,rgba(216,188,136,.42));
  opacity:.88;
  transform:skewX(-12deg);
  transform-origin:left center;
}
.home-shiloh .home-hero .home-hero-content>p{
  width:min(100%,700px);
  margin:28px auto 32px;
  font-size:22px;
  line-height:1.45;
}
.home-hero-actions{
  display:grid;
  grid-template-columns:minmax(0,var(--le-button-width));
  justify-content:center;
  width:min(100%,var(--le-button-width));
  margin:0 auto;
}
.home-closing-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,var(--le-button-width)));
  justify-content:center;
  gap:12px;
  width:min(100%,696px);
  margin:0 auto;
}
.home-hero-actions .le-button,
.home-closing-actions .le-button{
  width:100%;
  padding-right:24px;
  padding-left:24px;
  font-size:11px;
  letter-spacing:.15em;
  white-space:nowrap;
}
.home-button-outline{
  background:rgba(9,9,9,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.76);
  color:var(--le-color-text-on-dark);
}
.home-button-outline:hover{
  background:var(--le-color-text-on-dark);
  box-shadow:none;
  color:var(--le-color-surface-dark);
}

/* 2. Manifesto and principle. */
.home-intro .le-intro-prose{width:min(100%,var(--le-measure-prose))}
.home-intro .le-intro-prose p{font-size:var(--le-type-section-body)}
.home-principle>div{width:min(100%,var(--le-measure-prose));text-align:center}
.home-principle blockquote{width:100%}
.home-principle .le-kicker{
  margin-top:30px;
  color:var(--le-color-bronze-on-dark);
  transform:none;
}

/* 4. Full-bleed cinematic service paths. */
.home-services{
  overflow:hidden;
  padding:var(--le-space-section) 0 0;
}
.home-services>.le-shell{width:100%;max-width:none}
.home-services .le-centered-head{
  width:min(100%,var(--le-measure-prose));
  padding-inline:56px;
}
.home-services .le-centered-head h2 strong{display:block;font-size:var(--le-type-primary-bottom)}
.home-collections{
  display:grid;
  height:clamp(720px,62vw,900px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  margin:var(--le-space-block-xl) auto 0;
  gap:0;
  background:var(--le-color-surface-dark);
}
.home-collection{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  border:0;
  background:var(--le-color-surface-dark);
  color:#fff;
}
.home-collection:focus-visible{
  outline:2px solid var(--le-color-bronze-on-dark);
  outline-offset:-4px;
}
.home-collection-media{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  aspect-ratio:auto;
  overflow:hidden;
  background:var(--le-color-surface-dark);
}
.home-collection-media::after{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,10,10,.06) 34%,rgba(10,10,10,.8) 100%);
  content:"";
  pointer-events:none;
}
.home-collection-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72) contrast(1.04);
  transition:transform .9s cubic-bezier(.2,.65,.25,1);
}
.home-collection:first-child img{object-position:58% center}
.home-collection:last-child img{object-position:center 44%}
.home-collection:hover .home-collection-media img{transform:scale(1.035)}
.home-collection-copy{
  position:absolute;
  z-index:1;
  inset:auto 0 0;
  display:flex;
  min-height:0;
  padding:clamp(38px,3.4vw,52px);
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
}
.home-collection-copy small{
  font-family:var(--le-font-interface);
  font-size:var(--le-type-card-eyebrow-size);
  font-weight:var(--le-type-card-eyebrow-weight);
  line-height:var(--le-type-card-eyebrow-leading);
  letter-spacing:var(--le-type-card-eyebrow-tracking);
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
.home-collection-copy strong{
  margin-top:16px;
  font-family:var(--le-font-editorial);
  font-size:clamp(34px,3.2vw,50px);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-.018em;
}
.home-collection-body{
  width:min(100%,440px);
  margin-top:20px;
  font-family:var(--le-font-interface);
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:rgba(255,255,255,.88);
}
.home-collection-copy u{
  margin-top:24px;
  padding-top:0;
  font-family:var(--le-font-interface);
  font-size:11px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.16em;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
  text-transform:none;
  color:#fff;
}
.home-section-breath{
  display:grid;
  width:100%;
  min-height:280px;
  margin:0;
  padding:48px 24px;
}

/* 5. Plain dark statement. */
.home-philosophy{
  position:relative;
  min-height:560px;
  overflow:hidden;
  isolation:isolate;
  background:var(--le-color-surface-dark);
  text-align:center;
}
.home-philosophy>div{position:relative;z-index:1;width:min(100%,860px)}
.home-philosophy .le-kicker{color:var(--le-color-bronze-on-dark);transform:none}
.home-philosophy h2{
  margin-top:28px;
  font-family:var(--le-font-editorial);
  font-size:var(--le-type-quote);
  font-weight:300;
  line-height:1.08;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.home-philosophy h2 strong{font-weight:600}
.home-philosophy p{
  width:min(100%,var(--le-measure-prose));
  margin:24px auto 0;
  font-size:var(--le-type-body);
  line-height:1.85;
  color:var(--le-color-text-on-dark-soft);
}
.home-philosophy .home-philosophy-scenes{
  margin-top:34px;
  font-family:var(--le-font-editorial);
  font-size:20px;
  font-style:italic;
  line-height:1.55;
  color:var(--le-color-text-on-dark);
}

/* 6. Balance Method editorial explanation. */
.home-method{padding-top:var(--le-space-section);padding-bottom:var(--le-space-section)}
.home-method-head{width:min(100%,860px)}
.home-method-head h2 strong{display:block;font-size:var(--le-type-primary-bottom)}
.home-story{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  width:min(100%,var(--le-measure-shell));
  margin:var(--le-space-block-xl) auto 0;
  align-items:center;
  gap:clamp(48px,7vw,94px);
}
.home-story-main{aspect-ratio:4/5;overflow:hidden}
.home-story-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}
.home-story-copy{max-width:470px}
.home-story-copy p{
  font-size:var(--le-type-section-body);
  font-weight:300;
  line-height:1.85;
  color:var(--le-color-text-soft);
}
.home-story-copy p+p{margin-top:22px}
.home-dropcap::first-letter{
  float:left;
  margin:-2px 8px 0 0;
  font-family:var(--le-font-editorial);
  font-size:62px;
  line-height:.78;
  color:var(--le-color-bronze);
}

/* 7. Editorial image composition. */
.home-experience{padding-top:var(--le-space-section);padding-bottom:var(--le-space-section)}
.home-experience-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  width:min(100%,var(--le-measure-shell));
  margin:0 auto;
  align-items:start;
  gap:clamp(38px,5vw,78px) clamp(20px,2.5vw,36px);
}
.home-experience-card{overflow:hidden}
.home-experience-card-capsule{grid-column:1/8}
.home-experience-card-closet{grid-column:9/13;margin-top:clamp(72px,7vw,112px)}
.home-experience-card-styling{grid-column:1/5;margin-top:clamp(42px,4vw,72px)}
.home-experience-card-foundation{grid-column:6/13;margin-top:clamp(-110px,-7vw,-72px)}
.home-experience-card img{
  display:block;
  width:100%;
  height:auto;
  filter:saturate(.84) contrast(1.015);
  transition:transform .8s cubic-bezier(.2,.65,.25,1);
}
.home-experience-card:hover img{transform:scale(1.018)}

/* 8. FAQ and closing action. */
.home-closing .le-kicker{color:var(--le-color-bronze-on-dark);transform:none}
.home-faq-head{margin-bottom:0}
.home-faq-head h2{
  margin:32px 0 20px;
  font-family:var(--le-font-editorial);
  font-size:var(--le-type-faq-top);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.012em;
}
.home-faq-head h2 strong{
  display:block;
  font-size:var(--le-type-faq-bottom);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.025em;
}
.home-closing{
  position:relative;
  min-height:var(--le-min-dark-cta);
  overflow:hidden;
  isolation:isolate;
  background:var(--le-color-surface-dark);
}
.home-closing>div{position:relative;z-index:1;width:min(100%,var(--le-measure-prose))}
.home-closing .home-closing-lines{
  margin-bottom:0;
  font-family:var(--le-font-editorial);
  font-size:20px;
  font-style:italic;
  line-height:1.55;
  color:var(--le-color-text-on-dark);
}
.home-closing-actions{margin-top:34px}

@media(max-width:880px){
  .home-shiloh .home-hero .home-hero-image{object-position:59% 50%;filter:saturate(.975) contrast(1.005) brightness(.965)}
  .home-shiloh .home-hero .home-hero-scrim{
    background:radial-gradient(100% 48% at 50% 82%,rgba(8,8,10,.92),rgba(8,8,10,.42) 60%,rgba(0,0,0,.08) 90%);
  }
  .home-shiloh .home-hero .home-hero-content{
    position:relative;
    bottom:auto;
    width:100%;
    max-width:100vw;
    min-height:calc(100svh - 52px);
    padding:24px 24px 38px;
  }
  .home-shiloh .home-hero .le-kicker{font-size:10px;line-height:1.5;letter-spacing:.26em}
  .home-shiloh .home-hero .home-hero-content>p{margin:22px auto 26px;font-size:16px;line-height:1.5}
  .home-hero-actions,.home-closing-actions{
    grid-template-columns:1fr;
    width:min(100%,340px);
    gap:10px;
  }

  .home-principle{width:100%}
  .home-principle blockquote{font-size:clamp(28px,8vw,36px)}

  .home-services{padding:124px 0 0}
  .home-services .le-centered-head{padding-inline:24px}
  .home-services .le-centered-head h2 strong{font-size:var(--le-type-primary-bottom)}
  .home-collections{grid-template-columns:1fr;height:auto;margin-top:76px;gap:0}
  .home-collection{min-height:max(78svh,620px)}
  .home-collection:first-child img{object-position:61% center}
  .home-collection:last-child img{object-position:56% center}
  .home-collection-copy{padding:38px 28px 34px}
  .home-collection-copy strong{font-size:38px}
  .home-collection-body{font-size:14px}
  .home-section-breath{min-height:240px;margin-top:44px;padding:42px 28px}

  .home-philosophy{width:100%;min-height:560px;padding:68px 24px}
  .home-philosophy h2{font-size:clamp(31px,8.5vw,40px)}
  .home-philosophy p{font-size:var(--le-type-section-body);line-height:1.75}

  .home-method{padding:124px 24px}
  .home-method-head h2 strong{font-size:var(--le-type-primary-bottom)}
  .home-story{grid-template-columns:1fr;margin-top:76px;gap:46px}
  .home-story-main{width:100%;aspect-ratio:4/5}
  .home-story-copy{max-width:none}
  .home-story-copy p{font-size:var(--le-type-section-body);line-height:1.75}

  .home-experience{padding:124px 24px}
  .home-experience-grid{grid-template-columns:1fr;gap:28px}
  .home-experience-card:nth-child(n){grid-column:1;width:100%;margin-top:0}

  .home-faq{padding:40px 24px 100px}
  .home-faq-head h2{font-size:var(--le-type-faq-top)}
  .home-faq-head h2 strong{font-size:var(--le-type-faq-bottom)}
  .home-closing{width:100%;min-height:720px;padding:80px 24px}
  .home-closing h2{font-size:var(--le-type-section-title)}
  .home-closing .home-closing-lines{font-size:18px}
}

@media(max-width:380px){
  .home-shiloh .home-hero .home-hero-content{padding-inline:18px}
  .home-method,.home-experience{padding-right:20px;padding-left:20px}
  .home-services .le-centered-head{padding-right:20px;padding-left:20px}
  .home-collection-copy{padding-right:24px;padding-left:24px}
}

@media(prefers-reduced-motion:reduce){
  .home-shiloh #lcConcierge{transition:none}
  .home-collection-media img,
  .home-experience-card img{transition:none}
}
