/* ============================================================
   RUGS DE INDISKA - Our World
   Page-specific styles. Loads after styles.css and reuses its
   tokens, typography, buttons, reveal classes, header, CTA and footer.
   ============================================================ */

/* ============================================================
   HERO
   ============================================================ */
.world-hero{
  position:relative;
  min-height:clamp(470px, 72vh, 720px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:var(--sand);
}
.world-hero__media{
  position:absolute;
  inset:-10% 0;
  will-change:transform;
}
.world-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
  animation:worldHeroIn 2.2s var(--ease) both;
}
@keyframes worldHeroIn{ from{ transform:scale(1.08); } to{ transform:none; } }

.world-hero__scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(12,8,5,.7) 0%, rgba(12,8,5,.38) 36%, rgba(12,8,5,.16) 100%),
    linear-gradient(180deg, rgba(12,8,5,.42) 0%, rgba(12,8,5,.04) 44%, rgba(12,8,5,.22) 100%);
}
.world-hero__inner{
  position:relative;
  z-index:2;
  padding-block:clamp(58px, 8vw, 104px);
}
.world-hero__eyebrow{
  font-size:10px;
  margin-bottom:16px;
  opacity:0;
  animation:worldUp .9s var(--ease) .16s forwards;
}
.world-hero__title{
  max-width:980px;
  font-family:var(--ff-display);
  font-weight:300;
  font-size:clamp(42px, 6vw, 78px);
  line-height:1.04;
  margin-bottom:18px;
  text-shadow:0 2px 36px rgba(0,0,0,.35);
  opacity:0;
  animation:worldUp 1s var(--ease) .3s forwards;
}
.world-hero__copy{
  max-width:64ch;
  font-size:14.5px;
  line-height:1.85;
  color:rgba(255,255,255,.82);
  opacity:0;
  animation:worldUp 1s var(--ease) .46s forwards;
}
.world-hero__copy,
.lede,
.person blockquote,
.value-card p,
.presence__list dd,
.partnerships__copy p,
.partner p,
.world-pillar p{ overflow-wrap:break-word; }
@keyframes worldUp{
  from{ opacity:0; transform:translateY(18px); }
  to{ opacity:1; transform:none; }
}

.has-loader:not(.loaded) .world-hero__media img,
.has-loader:not(.loaded) .world-hero__eyebrow,
.has-loader:not(.loaded) .world-hero__title,
.has-loader:not(.loaded) .world-hero__copy{ animation-play-state:paused; }

/* ============================================================
   FOUNDATIONS
   ============================================================ */
.world-pillars{
  background:#fff;
  border-bottom:1px solid rgba(222,211,192,.5);
  padding-block:clamp(24px, 2.5vw, 34px);
}
.world-pillars__grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:clamp(18px, 3.2vw, 64px);
}
.world-pillar{
  text-align:center;
  color:var(--muted);
}
.world-pillar img{
  width:32px;
  height:32px;
  object-fit:contain;
  margin:0 auto 10px;
  opacity:1;
  transition:transform .7s var(--ease);
}
.world-pillar:hover img{ transform:translateY(-3px) scale(1.06); }
.world-pillar h2{
  font-size:9px;
  font-weight:500;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:7px;
}
.world-pillar p{
  max-width:25ch;
  margin-inline:auto;
  font-size:11px;
  line-height:1.62;
  color:var(--muted-lt);
}

/* ============================================================
   ORIGIN
   ============================================================ */
.origin{ padding-block:clamp(66px, 6.2vw, 96px) clamp(74px, 8vw, 130px); }
.origin__grid,
.founder__grid,
.apprentice__grid,
.presence__grid{
  display:grid;
  grid-template-columns:minmax(0, .96fr) minmax(0, 1.04fr);
  align-items:center;
  gap:clamp(42px, 6vw, 92px);
}
.origin__text .h2,
.founder__text .h2,
.apprentice__text .h2,
.presence__text .h2{ margin-bottom:24px; }

.origin__media{
  position:relative;
  justify-self:end;
  width:min(100%, 620px);
  overflow:visible;
}
.origin__media img{
  aspect-ratio:850 / 909;
  width:100%;
  object-fit:cover;
  background:var(--sand);
}
.origin__media figcaption{
  position:absolute;
  left:clamp(-32px, -2vw, -18px);
  bottom:-24px;
  width:min(420px, 72%);
  min-width:0;
  background:var(--navy);
  color:#fff;
  padding:20px clamp(24px, 2.8vw, 34px);
  font-family:var(--ff-display);
  font-style:italic;
  font-size:clamp(15px, 1.45vw, 19px);
  line-height:1.4;
  box-shadow:0 24px 56px -38px rgba(15,26,48,.85);
}

/* ============================================================
   PEOPLE
   ============================================================ */
.people{
  background:var(--cream);
  padding-block:clamp(76px, 9vw, 134px);
}
.people .sec-head{ margin-bottom:clamp(34px, 5vw, 60px); }
.people__intro{
  max-width:62ch;
  margin:18px auto 0;
  font-size:14px;
  line-height:1.85;
  color:var(--muted-lt);
}
.people__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  align-items:start;
  gap:clamp(22px, 4vw, 58px);
}
.person{
  transition:transform .7s var(--ease);
}
.person:nth-child(2){ margin-top:clamp(46px, 6vw, 80px); }
.person:hover{ transform:translateY(-6px); }
.person__media{
  overflow:hidden;
  margin-bottom:22px;
  background:var(--sand);
}
.person__media img{
  width:100%;
  aspect-ratio:535 / 713;
  object-fit:cover;
  transition:transform 1.4s var(--ease);
}
.person:hover .person__media img{ transform:scale(1.045); }
.person__name{
  font-family:var(--ff-display);
  font-size:clamp(24px, 2.2vw, 32px);
  line-height:1.1;
  margin-bottom:6px;
}
.person__role{
  font-size:9px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted-lt);
  margin-bottom:12px;
}
.person blockquote{
  font-size:12.5px;
  line-height:1.8;
  color:var(--muted);
}

/* ============================================================
   FOUNDER
   ============================================================ */
.founder__grid{ grid-template-columns:.9fr 1fr; }
.founder__media{
  overflow:hidden;
  background:var(--sand);
}
.founder__media img{
  width:100%;
  aspect-ratio:696 / 712;
  object-fit:cover;
}
.founder__sub{
  font-family:var(--ff-display);
  font-size:clamp(18px, 1.8vw, 24px);
  color:var(--muted);
  margin-bottom:24px;
}
.founder__quote{
  border-left:2px solid var(--gold);
  padding-left:22px;
  margin:10px 0 24px;
  max-width:54ch;
  font-family:var(--ff-display);
  font-style:italic;
  font-size:clamp(16px, 1.5vw, 19px);
  line-height:1.7;
  color:var(--ink-soft);
}
.founder__note{ font-size:13.5px; }

/* ============================================================
   VALUES
   ============================================================ */
.values{ padding-block:clamp(62px, 7vw, 108px); }
.values__grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:304px 234px;
  gap:20px;
  /* max-width:960px; */
  margin-inline:auto;
}
.value-card,
.report-card{
  position:relative;
  background:var(--cream);
  padding:44px;
  overflow:hidden;
}
.value-card::after,
.report-card::after{
  content:"";
  position:absolute;
  inset:auto -80px -130px auto;
  width:280px;
  height:280px;
  background:url("images/pattern.avif") center / contain no-repeat;
  opacity:.035;
  pointer-events:none;
}
.value-card--navy{
  grid-column:1 / span 2;
  grid-row:1;
  background:var(--navy);
  color:#fff;
}
.values__grid > .value-card:not(.value-card--navy):nth-of-type(2){
  grid-column:3;
  grid-row:1;
}
.values__grid > .value-card:not(.value-card--navy):nth-of-type(3){
  grid-column:1;
  grid-row:2;
}
.value-card--navy h2{
  max-width:16ch;
  font-family:var(--ff-display);
  font-weight:400;
  font-size:clamp(28px, 3.1vw, 44px);
  line-height:1.16;
  margin-bottom:26px;
}
.value-card--navy p{
  max-width:65ch;
  font-size:11.5px;
  line-height:1.75;
  color:rgba(255,255,255,.76);
}
.value-card img{
  width:36px;
  height:36px;
  object-fit:contain;
  margin-bottom:22px;
}
.value-card h3{
  font-family:var(--ff-display);
  font-weight:400;
  font-size:clamp(22px, 2vw, 30px);
  line-height:1.18;
  margin-bottom:20px;
}
.value-card p{
  font-size:11.5px;
  line-height:1.7;
  color:var(--muted);
}
.report-card{
  grid-column:2 / span 2;
  grid-row:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  transition:transform .7s var(--ease), box-shadow .7s var(--ease);
}
.report-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 58px -42px rgba(36,26,18,.4);
}
.report-card strong{
  display:block;
  font-family:var(--ff-display);
  font-weight:400;
  font-size:clamp(23px, 2.4vw, 34px);
  line-height:1.2;
  margin-bottom:14px;
}
.report-card small{
  display:block;
  font-size:9px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
}
.report-card svg{
  flex:0 0 auto;
  width:28px;
  height:14px;
  color:var(--ink);
  transition:transform .5s var(--ease);
}
.report-card:hover svg{ transform:translateX(6px); }

/* ============================================================
   APPRENTICE
   ============================================================ */
.apprentice__grid{ grid-template-columns:.92fr 1fr; }
.apprentice__media{
  overflow:hidden;
  background:var(--sand);
}
.apprentice__media img{
  width:100%;
  aspect-ratio:820 / 820;
  object-fit:cover;
}
.check-list{
  display:grid;
  gap:13px;
  margin-top:28px;
}
.check-list li{
  position:relative;
  padding-left:28px;
  font-size:13px;
  line-height:1.7;
  color:var(--ink-soft);
}
.check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.54em;
  width:13px;
  height:13px;
  background:url("images/Icon%20(1).webp") center / contain no-repeat;
  filter:var(--tint-gold);
}

/* ============================================================
   PRESENCE
   ============================================================ */
.presence{ padding-top:clamp(32px, 5vw, 80px); }
.presence__grid{ grid-template-columns:1fr 1.06fr; }
.presence__list{
  display:grid;
  gap:18px;
  margin-top:34px;
  max-width:560px;
}
.presence__list div{
  border-left:2px solid var(--gold-pale);
  padding-left:18px;
}
.presence__list dt{
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:6px;
}
.presence__list dd{
  margin:0;
  font-size:12.5px;
  line-height:1.75;
  color:var(--muted);
}
.presence__media{
  overflow:hidden;
  background:var(--sand);
}
.presence__media img{
  width:100%;
  aspect-ratio:755 / 596;
  object-fit:cover;
}

/* ============================================================
   PARTNERSHIPS
   ============================================================ */
.partnerships{
  background:var(--cream);
  padding-block:clamp(58px, 7vw, 96px);
}
.partnerships__inner{
  display:grid;
  grid-template-columns:1.05fr 1.8fr;
  align-items:start;
  gap:clamp(32px, 5vw, 84px);
}
.partnerships__copy h2{
  font-family:var(--ff-display);
  font-weight:400;
  font-size:clamp(28px, 3.3vw, 44px);
  line-height:1.2;
  margin-bottom:18px;
}
.partnerships__copy p{
  max-width:46ch;
  font-size:13.5px;
  line-height:1.85;
  color:var(--muted);
}
.partnerships__items{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(20px, 3vw, 54px);
}
.partner{
  text-align:center;
}
.partner img{
  width:36px;
  height:36px;
  object-fit:contain;
  margin:0 auto 18px;
}
.partner h3{
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:12px;
}
.partner p{
  font-size:12px;
  line-height:1.75;
  color:var(--muted);
}

@media (prefers-reduced-motion:reduce){
  .world-hero__media img,
  .world-hero__eyebrow,
  .world-hero__title,
  .world-hero__copy{ animation:none; opacity:1; transform:none; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .world-pillars__grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .origin__grid,
  .founder__grid,
  .apprentice__grid,
  .presence__grid,
  .partnerships__inner{ grid-template-columns:1fr; }
  .origin__media,
  .presence__media{ justify-self:stretch; width:100%; }
}

@media (max-width:780px){
  .world-hero{ min-height:clamp(420px, 72vh, 560px); }
  .world-hero__title{ max-width:10ch; }
  .world-hero__copy,
  .origin__text .lede,
  .founder__text .lede,
  .apprentice__text .lede,
  .presence__text .lede{
    max-width:min(100%, 34ch);
  }
  .world-pillars__grid,
  .people__grid,
  .partnerships__items,
  .values__grid{ grid-template-columns:1fr; }
  .values__grid{
    grid-template-rows:auto;
    gap:14px;
  }
  .value-card--navy,
  .values__grid > .value-card:not(.value-card--navy):nth-of-type(2),
  .values__grid > .value-card:not(.value-card--navy):nth-of-type(3),
  .report-card{
    grid-column:1;
    grid-row:auto;
  }
  .people .sec-head .h2,
  .partnerships__copy h2{
    max-width:12ch;
    margin-inline:auto;
  }
  .people__intro{ max-width:32ch; }
  .world-pillar{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:0 14px;
    text-align:left;
  }
  .world-pillar img{
    grid-row:span 2;
    margin:0;
  }
  .world-pillar p{ margin-inline:0; max-width:none; }
  .person:nth-child(2){ margin-top:0; }
  .origin__media figcaption{
    position:relative;
    right:auto;
    bottom:auto;
    width:calc(100% - 32px);
    min-width:0;
    margin:-28px auto 0;
  }
  .value-card,
  .report-card{ min-height:auto; }
  .report-card{ align-items:flex-start; }
  .partnerships__items{ gap:30px; }
  .partner{ text-align:left; }
  .partner img{ margin-inline:0; }
}

@media (max-width:560px){
  .world-hero__copy,
  .lede{ font-size:13.5px; }
  .report-card{ flex-direction:column; }
}

/* Bhadohi heritage — shared palette, typography and page grid. */
.bh-origin {
  padding-block: clamp(28px, 4vw, 56px) clamp(64px, 7vw, 104px);
  color: var(--ink);
  background: #fff;
}
.bh-origin__intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(40px, 7vw, 104px);
  padding-block: clamp(36px, 4vw, 56px) clamp(40px, 5vw, 72px);
  border-top: 1px solid var(--hair);
}
.bh-origin__eyebrow {
  margin-bottom: 24px;
  font-size: 9px;
  line-height: 1.8;
  letter-spacing: .2em;
}
.bh-origin__eyebrow span { padding-inline: .45em; }
.bh-origin__identity h2 {
  margin: 0;
  font-family: var(--ff-display);
  font-size: clamp(64px, 7.4vw, 104px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.035em;
}
.bh-origin__tagline {
  margin-top: 14px;
  color: var(--gold);
  font-family: var(--ff-display);
  font-size: clamp(26px, 2.5vw, 34px);
  font-style: italic;
  line-height: 1.25;
}
.bh-origin__preface { max-width: 58ch; }
.bh-origin__preface p {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.85;
}
.bh-origin__preface p + p { margin-top: 12px; }
.bh-origin__preface .bh-origin__lead {
  margin-bottom: 20px;
  color: var(--ink);
  font-family: var(--ff-display);
  font-size: clamp(25px, 2.3vw, 32px);
  font-weight: 400;
  line-height: 1.25;
  text-wrap: pretty;
}
.bh-origin__heritage {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(40px, 7vw, 104px);
}
.bh-origin__visual { min-width: 0; }
.bh-origin__photograph { position: relative; }
.bh-origin__photograph img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  background: var(--sand);
}
.bh-origin__photograph figcaption {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 14px;
  color: var(--ink-soft);
  font-size: 9px;
  line-height: 1.7;
}
.bh-origin__photograph figcaption span:first-child {
  text-transform: uppercase;
  letter-spacing: .14em;
}
.bh-origin__image-note {
  margin-top: 26px;
  font-family: var(--ff-display);
  font-size: clamp(25px, 2.4vw, 32px);
  line-height: 1.2;
}
.bh-origin__image-note em { color: var(--gold); }
.bh-origin__stories { min-width: 0; }
.bh-origin__chapters-label {
  margin-bottom: 18px;
  font-size: 9px;
  letter-spacing: .2em;
}
.bh-origin__chapter { border-top: 1px solid var(--hair); }
.bh-origin__chapter:last-child { border-bottom: 1px solid var(--hair); }
.bh-origin__chapter summary {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 16px;
  align-items: baseline;
  gap: 14px;
  padding-block: 23px;
  list-style: none;
  cursor: pointer;
}
.bh-origin__chapter summary::-webkit-details-marker { display: none; }
.bh-origin__chapter summary::marker { content: ""; }
.bh-origin__number {
  color: var(--gold);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
}
.bh-origin__chapter h3 {
  font-family: var(--ff-display);
  font-size: clamp(23px, 2.1vw, 29px);
  font-weight: 400;
  line-height: 1.18;
  transition: color .25s ease;
  text-wrap: pretty;
}
.bh-origin__chapter summary:hover h3 { color: var(--gold); }
.bh-origin__toggle {
  position: relative;
  align-self: center;
  width: 14px;
  height: 14px;
  color: var(--gold);
}
.bh-origin__toggle::before,
.bh-origin__toggle::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 1px;
  width: 12px;
  height: 1px;
  background: currentColor;
}
.bh-origin__toggle::after { transform: rotate(90deg); }
.bh-origin__chapter[open] .bh-origin__toggle::after { transform: rotate(0); }
.bh-origin__chapter-copy {
  padding: 0 30px 28px 38px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.85;
  overflow-wrap: break-word;
}
.bh-origin__chapter-copy p + p { margin-top: 12px; }
.bh-origin__ending {
  display: grid;
  justify-items: center;
  gap: 24px;
  margin-top: clamp(48px, 6vw, 88px);
  padding-block: clamp(48px, 5vw, 72px) 8px;
  border-top: 1px solid var(--hair);
  text-align: center;
  scroll-margin-top: calc(var(--header-h) + 24px);
}
.bh-origin__ending-heading {
  max-width: 100%;
  color: var(--ink);
  font-family: var(--ff-display);
  font-size: clamp(36px, 4.6vw, 64px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.bh-origin__ending-heading span,
.bh-origin__ending-heading em { display: block; }
.bh-origin__ending-heading em {
  margin-top: 4px;
  color: var(--gold);
  font-weight: 400;
}
.bh-origin__ending-signature {
  color: var(--ink-soft);
  font-size: 9px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-wrap: balance;
}
.bh-origin__link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 44px;
  margin-top: 4px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 400;
  border-bottom: 1px solid var(--hair);
  transition: color .25s ease, border-color .25s ease;
}
.bh-origin__link svg { width: 24px; height: 12px; transition: transform .25s ease; }
.bh-origin__link:hover { color: var(--gold); border-color: var(--gold); }
.bh-origin__link:hover svg { transform: translateX(4px); }

@media (max-width: 900px) {
  .bh-origin__intro,
  .bh-origin__heritage { gap: 36px; }
  .bh-origin__eyebrow { max-width: 30ch; }
  .bh-origin__chapter summary { gap: 10px; }
  .bh-origin__chapter-copy { padding-inline: 34px 0; }
  .bh-origin__photograph img { aspect-ratio: 3 / 4; }
}
@media (max-width: 680px) {
  .bh-origin { padding-block: 20px 56px; }
  .bh-origin__intro,
  .bh-origin__heritage { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .bh-origin__intro { padding-block: 30px 36px; }
  .bh-origin__eyebrow { max-width: none; margin-bottom: 20px; font-size: 8px; }
  .bh-origin__identity h2 { font-size: clamp(64px, 17vw, 90px); }
  .bh-origin__tagline { margin-top: 10px; }
  .bh-origin__preface { max-width: none; }
  .bh-origin__preface p,
  .bh-origin__chapter-copy { font-size: 13px; }
  .bh-origin__photograph img { aspect-ratio: 5 / 4; object-position: center 45%; }
  .bh-origin__image-note { margin-top: 20px; font-size: 28px; }
  .bh-origin__chapters-label { margin-bottom: 16px; }
  .bh-origin__chapter summary { padding-block: 22px; }
  .bh-origin__chapter h3 { font-size: 25px; }
  .bh-origin__ending { gap: 22px; margin-top: 40px; padding-block: 40px 8px; }
  .bh-origin__ending-heading { font-size: clamp(32px, 10.2vw, 44px); }
  .bh-origin__ending-signature { max-width: 32ch; font-size: 8px; }
}

