.obt-storyteller {
  --obt-accent:#c79a45;
  --obt-bg:#050505;
  --obt-panel:#111111;
  --obt-text:#f7f1e6;
  --obt-muted:#d7d0c2;
  --obt-max:1180px;
  background: var(--obt-bg);
  color: var(--obt-text);
  font-family: inherit;
  overflow:hidden;
}
.obt-storyteller * { box-sizing:border-box; }
.obt-storyteller h1,
.obt-storyteller h2,
.obt-storyteller h3 { margin:0; line-height:1.05; color:var(--obt-text); }
.obt-storyteller h1 { font-size:clamp(3rem, 7vw, 6.8rem); letter-spacing:-.05em; }
.obt-storyteller h2 { font-size:clamp(2rem, 3.2vw, 3.2rem); letter-spacing:-.03em; }
.obt-storyteller h3 { font-size:1.45rem; }
.obt-storyteller p { color:var(--obt-muted); font-size:1.02rem; line-height:1.75; }
.obt-eyebrow { color:var(--obt-accent)!important; text-transform:uppercase; letter-spacing:.24em; font-weight:700; font-size:.78rem!important; margin:0 0 1rem; }
.obt-eyebrow.centered { text-align:center; }
.obt-hero { min-height:620px; display:grid; grid-template-columns:1.05fr 1fr; border-bottom:1px solid color-mix(in srgb, var(--obt-accent), transparent 55%); }
.obt-hero-image { background-size:cover; background-position:center; min-height:520px; position:relative; }
.obt-hero-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 45%, var(--obt-bg)); }
.obt-hero-copy { padding:7rem clamp(2rem, 5vw, 5rem); display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 10% 20%, rgba(199,154,69,.16), transparent 28%), #050505; }
.obt-hero-copy h2 { color:var(--obt-accent); font-size:clamp(1.45rem, 2.5vw, 2.15rem); margin:1rem 0; }
.obt-buttons { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.4rem; }
.obt-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.9rem 1.35rem; border:1px solid var(--obt-accent); text-decoration:none!important; text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.76rem; transition:transform .2s ease, background .2s ease, color .2s ease; }
.obt-button:hover { transform:translateY(-2px); }
.obt-button-primary { background:var(--obt-accent); color:#111!important; }
.obt-button-outline { background:transparent; color:var(--obt-text)!important; }
.obt-split { max-width:var(--obt-max); margin:0 auto; min-height:380px; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:0; border-bottom:1px solid rgba(199,154,69,.28); }
.obt-copy { padding:4.5rem clamp(1.5rem, 4vw, 4rem); display:flex; flex-direction:column; justify-content:center; }
.obt-photo { min-height:360px; background-size:cover; background-position:center; filter:saturate(.92) contrast(1.05); }
.obt-universe { max-width:none; }
.obt-universe .obt-copy,
.obt-universe .obt-photo { min-height:390px; }
.obt-cases { max-width:var(--obt-max); margin:0 auto; padding:3.2rem 1.25rem 1.5rem; }
.obt-section-heading { display:flex; align-items:center; justify-content:center; gap:1.4rem; margin-bottom:2rem; }
.obt-section-heading span { display:block; width:70px; height:1px; background:var(--obt-accent); }
.obt-section-heading h2 { color:var(--obt-accent); text-transform:uppercase; font-size:1rem; letter-spacing:.28em; }
.obt-card-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:1.25rem; }
.obt-case-card { min-height:350px; border:1px solid color-mix(in srgb, var(--obt-accent), transparent 35%); overflow:hidden; position:relative; background:#111; color:var(--obt-text)!important; text-decoration:none!important; display:block; transition:transform .24s ease, border-color .24s ease; }
.obt-case-card:hover { transform:translateY(-5px); border-color:var(--obt-accent); }
.obt-card-image { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .35s ease; }
.obt-case-card:hover .obt-card-image { transform:scale(1.05); }
.obt-card-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; text-align:center; padding:1.35rem; background:linear-gradient(transparent 10%, rgba(0,0,0,.84) 72%); }
.obt-card-overlay h3 { font-size:clamp(1.5rem, 2.4vw, 2.2rem); text-transform:uppercase; letter-spacing:.06em; text-shadow:0 2px 18px rgba(0,0,0,.8); }
.obt-card-overlay h3:after { content:""; display:block; width:44px; height:2px; background:var(--obt-accent); margin:.9rem auto; }
.obt-card-overlay p { margin:0; font-size:.95rem; line-height:1.5; }
.obt-style-section { max-width:var(--obt-max); margin:0 auto; padding:2rem 1.25rem 3rem; }
.obt-style-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }
.obt-style-item { text-align:center; padding:1.8rem; border-left:1px solid color-mix(in srgb, var(--obt-accent), transparent 45%); }
.obt-style-item:first-child { border-left:none; }
.obt-icon { color:var(--obt-accent); font-size:2.5rem; margin-bottom:.9rem; }
.obt-listening { max-width:var(--obt-max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; min-height:300px; border-top:1px solid rgba(199,154,69,.28); border-bottom:1px solid rgba(199,154,69,.28); }
.obt-listening > div:first-child { padding:3.8rem clamp(1.5rem, 4vw, 4rem); }
.obt-listening-image { background-size:cover; background-position:center; min-height:280px; }
.obt-final { text-align:center; padding:4rem 1.25rem; background-size:cover; background-position:center; border-top:1px solid rgba(199,154,69,.28); }
.obt-final h2 { font-size:clamp(2.1rem, 4vw, 4rem); margin-bottom:1rem; }
.obt-final p { max-width:760px; margin:0 auto; }
.centered-buttons { justify-content:center; }
@media (max-width: 920px) {
  .obt-hero, .obt-split, .obt-listening { grid-template-columns:1fr; }
  .obt-hero-copy { padding:3.5rem 1.4rem; }
  .obt-hero-image:after { background:linear-gradient(0deg, var(--obt-bg), transparent 40%); }
  .obt-card-grid { grid-template-columns:repeat(2, 1fr); }
  .obt-style-grid { grid-template-columns:1fr; }
  .obt-style-item { border-left:none; border-top:1px solid color-mix(in srgb, var(--obt-accent), transparent 50%); }
  .obt-style-item:first-child { border-top:none; }
}
@media (max-width: 560px) {
  .obt-card-grid { grid-template-columns:1fr; }
  .obt-section-heading span { display:none; }
  .obt-button { width:100%; }
}
