/* ============================================================
   Page-specific components (shared across all pages)
   ============================================================ */

/* ---------- HOME: The Pattern ---------- */
.pattern-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.pattern-img img { border-radius: var(--radius-md); aspect-ratio: 4/3; object-fit: cover; box-shadow: var(--shadow-md); }
@media (max-width: 760px) { .pattern-grid { grid-template-columns: 1fr; } }

/* ---------- Featured Worlds (image-tile cards) ---------- */
.worlds {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-10);
}
.world {
  position: relative;
  min-height: 200px;
  border-radius: var(--radius-md);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #f4efe7;
  overflow: hidden;
  background: linear-gradient(160deg, #2a2320, #14110f);
  border: 1px solid var(--color-border);
  transition: var(--transition);
}
.world:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.world-a { background: linear-gradient(160deg, #3a2226, #1a0e12); }
.world-ic { position: absolute; top: var(--space-5); left: var(--space-5); color: rgba(255,255,255,0.85); }
.world-ic svg { width: 26px; height: 26px; }
.world h3 { font-size: var(--text-lg); font-weight: 700; margin-bottom: var(--space-2); }
.world p { font-size: var(--text-sm); color: rgba(244,239,231,0.78); }
@media (max-width: 900px) { .worlds { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 460px) { .worlds { grid-template-columns: 1fr; } }

/* ---------- HOME: split (clips + upcoming) ---------- */
.home-split {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-divider);
}
@media (max-width: 820px) { .home-split { grid-template-columns: 1fr; } }
.clip-row { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); }
@media (max-width: 560px) { .clip-row { grid-template-columns: 1fr 1fr; } }
.clip { display: block; text-decoration: none; color: inherit; }
.clip figcaption { font-size: var(--text-sm); font-weight: 600; margin-top: var(--space-3); }
.clip:hover figcaption { color: var(--color-primary); }
.clip-tag {
  position: absolute; top: 10px; left: 10px;
  font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: var(--color-primary); color: #fff;
  padding: 0.25rem 0.55rem; border-radius: var(--radius-sm);
}

.up-list { display: flex; flex-direction: column; }
.up-list li {
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-divider);
  position: relative;
  padding-left: var(--space-5);
}
.up-list li::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 50%; background: var(--color-primary); }
.up-date { font-weight: 700; min-width: 70px; }
.up-city { color: var(--color-text-muted); }

/* ---------- HOME: selected work strip ---------- */
.selwork {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(1.5rem,4vw,3rem);
  align-items: center;
  background: var(--color-surface-2);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
}
.selwork-img img { border-radius: var(--radius-sm); aspect-ratio: 16/9; object-fit: cover; }
.cred-logos { display: flex; flex-wrap: wrap; gap: var(--space-5); margin-top: var(--space-5); }
.cred-logos span { font-weight: 800; color: var(--color-text-faint); font-size: var(--text-base); letter-spacing: 0.02em; }
@media (max-width: 720px) { .selwork { grid-template-columns: 1fr; } }

/* ============================================================
   SUBPAGE hero variants
   ============================================================ */
.hero--lg .hero-title { font-size: clamp(3rem, 0.5rem + 10vw, 8rem); }

/* About page hero is full-bleed-ish (image right, name left over warm bg) */

/* ============================================================
   Generic section heading row with horizontal rule (mockup)
   ============================================================ */
.head-row {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  margin-bottom: var(--space-8);
}
.head-row h2 { font-family: var(--font-display); font-size: var(--text-xl); white-space: nowrap; }
.head-row .line { flex: 1; height: 1px; background: var(--color-divider); }
.head-row .more { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-primary); white-space: nowrap; }

/* ============================================================
   COMEDY page
   ============================================================ */
.feat-clips { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-4); }
@media (max-width: 900px){ .feat-clips { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 480px){ .feat-clips { grid-template-columns: 1fr;} }

.topic-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-4); }
@media (max-width: 900px){ .topic-grid { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 480px){ .topic-grid { grid-template-columns: 1fr;} }
.topic {
  border-radius: var(--radius-md);
  padding: var(--space-5);
  min-height: 170px;
  color: #f3ede4;
  display: flex; flex-direction: column; gap: var(--space-3);
}
.topic .ic svg { width: 26px; height: 26px; }
.topic h3 { font-size: var(--text-base); font-weight: 700; }
.topic p { font-size: var(--text-sm); color: rgba(243,237,228,0.82); }
.topic-1 { background: #7a1530; }
.topic-2 { background: #1a1512; }
.topic-3 { background: #8a6a45; }
.topic-4 { background: #14110f; }

.live-style { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(1.5rem,4vw,3rem); align-items: center; }
@media (max-width:720px){ .live-style { grid-template-columns: 1fr; } }
.live-style img { border-radius: var(--radius-md); aspect-ratio: 3/4; object-fit: cover; }
.check-list { display: flex; flex-direction: column; gap: var(--space-3); }
.check-list li { display: flex; gap: var(--space-3); align-items: flex-start; }
.check-list li svg { width: 20px; height: 20px; color: var(--color-primary); flex-shrink: 0; margin-top: 2px; }
.check-list b { font-weight: 700; }

.reactions { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-4); }
@media (max-width: 760px){ .reactions { grid-template-columns: 1fr 1fr;} }
.reaction {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}
.reaction .q { font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-primary); line-height: 0.5; }
.reaction p { font-size: var(--text-sm); margin: var(--space-3) 0; }
.reaction cite { font-size: var(--text-xs); color: var(--color-text-muted); font-style: normal; }

/* big maroon CTA band */
.cta-band {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  align-items: center;
  background: linear-gradient(110deg, #5e0f24, #2a0a12);
  color: #fff;
  min-height: 220px;
}
.cta-band .cta-img { height: 100%; }
.cta-band .cta-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.cta-band .cta-body { padding: clamp(1.5rem,4vw,3rem); display: flex; flex-direction: column; gap: var(--space-4); }
.cta-band h2 { font-family: var(--font-display); font-size: var(--text-2xl); }
.cta-band .cta-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.cta-band .btn-light { background:#fff; color: var(--color-ink); border:0; }
.cta-band .btn-light:hover { background:#f0e0e4; transform: translateY(-2px); }
.cta-band .btn-ghost { border:1.5px solid rgba(255,255,255,0.7); color:#fff; }
.cta-band .btn-ghost:hover { background:#fff; color: var(--color-ink); }
@media (max-width: 720px){ .cta-band { grid-template-columns: 1fr; } .cta-band .cta-img { aspect-ratio: 16/9; } }

/* ============================================================
   ACTING page
   ============================================================ */
.work-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: var(--space-4); }
@media (max-width: 1000px){ .work-grid { grid-template-columns: repeat(3,1fr);} }
@media (max-width: 640px){ .work-grid { grid-template-columns: repeat(2,1fr);} }
.work-card { background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; transition: var(--transition); }
.work-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.work-thumb { position: relative; aspect-ratio: 3/4; }
.work-thumb img { width:100%; height:100%; object-fit: cover; }
.work-thumb .tag { position:absolute; top:8px; left:8px; font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; background: var(--color-primary); color:#fff; padding: .2rem .5rem; border-radius: var(--radius-sm); }
.work-card .body { padding: var(--space-4); }
.work-card h3 { font-size: var(--text-base); font-weight:700; }
.work-card .role { font-size: var(--text-xs); color: var(--color-text-muted); margin: 2px 0 var(--space-2); }
.work-card .desc { font-size: var(--text-sm); color: var(--color-text-muted); }

.credits-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: clamp(1.5rem,3vw,2.5rem); }
@media (max-width:900px){ .credits-grid { grid-template-columns: repeat(2,1fr);} }
@media (max-width:480px){ .credits-grid { grid-template-columns: 1fr;} }
.credit-col h3 { font-size: var(--text-xs); letter-spacing:.12em; text-transform:uppercase; color: var(--color-primary); font-weight:700; margin-bottom: var(--space-4); padding-bottom: var(--space-2); border-bottom:1px solid var(--color-divider); }
.credit-col .row { display:flex; justify-content:space-between; gap: var(--space-4); padding: var(--space-2) 0; font-size: var(--text-sm); }
.credit-col .row span:last-child { color: var(--color-text-muted); text-align:right; }

/* Resume-style acting credits */
.resume { max-width: 980px; margin: 0 auto; }
.resume-block { margin-bottom: clamp(2rem,4vw,3rem); }
.resume-block h3 { font-family:'Anton',sans-serif; font-size: var(--text-lg); letter-spacing:.04em; text-transform:uppercase; padding-bottom: var(--space-3); border-bottom: 2px solid var(--color-primary); margin-bottom: var(--space-2); }
.cred-line { display:grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.7fr) minmax(0,1.2fr); gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-divider); align-items:baseline; }
.cred-line:last-child { border-bottom: none; }
.cred-line .title { font-weight:700; }
.cred-line .title em { font-weight:400; font-style:italic; color: var(--color-text-muted); }
.cred-line .role { font-size: var(--text-sm); color: var(--color-text-muted); }
.cred-line .detail { font-size: var(--text-sm); color: var(--color-text-muted); text-align:right; }
@media (max-width:640px){
  .cred-line { grid-template-columns: 1fr; gap: 2px; padding: var(--space-3) 0; }
  .cred-line .detail { text-align:left; }
}

/* Demo Reel — coming soon */
.reel-soon { max-width: 980px; margin: 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap: var(--space-4); text-align:center; padding: clamp(3rem,6vw,5rem) var(--space-5); border: 1px dashed var(--color-primary); border-radius: var(--radius-md); background: var(--color-surface-2); }
.reel-soon svg { width: 48px; height: 48px; color: var(--color-primary); }
.reel-soon-title { font-family:'Anton',sans-serif; font-size: var(--text-2xl); letter-spacing:.05em; text-transform:uppercase; color: var(--color-ink); }

.two-panel { display:grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
@media (max-width:760px){ .two-panel { grid-template-columns: 1fr;} }
.panel { background: var(--color-surface-2); border:1px solid var(--color-border); border-radius: var(--radius-md); padding: clamp(1.5rem,3vw,2.5rem); }
.style-item { display:flex; gap: var(--space-4); padding: var(--space-3) 0; }
.style-item svg { width:24px; height:24px; color: var(--color-primary); flex-shrink:0; }
.style-item h4 { font-size: var(--text-base); font-weight:700; }
.style-item p { font-size: var(--text-sm); color: var(--color-text-muted); }
.train-grid { display:grid; grid-template-columns: 0.8fr 1.2fr; gap: var(--space-5); align-items:start; }
@media (max-width:560px){ .train-grid { grid-template-columns: 1fr;} }
.train-grid img { border-radius: var(--radius-sm); aspect-ratio: 3/4; object-fit: cover; }
.train-list { font-size: var(--text-sm); color: var(--color-text-muted); }
.train-list li { padding: 2px 0; list-style: disc; margin-left: 1.1rem; }
.pull-quote { color: var(--color-primary); font-weight:600; font-style:italic; border-left:3px solid var(--color-primary); padding-left: var(--space-4); margin-top: var(--space-5); font-size: var(--text-sm); }

/* small footer CTA bar (light) */
.cta-light {
  background: var(--color-surface-2);
  border-radius: var(--radius-md);
  border:1px solid var(--color-border);
  padding: clamp(1.5rem,3vw,2.25rem);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap: var(--space-5);
}
.cta-light h2 { font-family: var(--font-display); font-size: var(--text-xl); }
.cta-light .grow { flex: 1; min-width: 240px; }
.cta-light .actions { display:flex; flex-wrap:wrap; gap: var(--space-3); }

/* ============================================================
   SHOWS page
   ============================================================ */
.next-up {
  display:grid; grid-template-columns: auto auto 1fr auto; gap: clamp(1rem,3vw,2rem); align-items:center;
  background: var(--color-primary); color:#fff;
  border-radius: var(--radius-md); padding: var(--space-5);
}
.next-up .nlabel { font-size: var(--text-xs); letter-spacing:.14em; text-transform:uppercase; font-weight:700; writing-mode: vertical-rl; transform: rotate(180deg); opacity:.85; }
.next-up .nimg { width: 130px; aspect-ratio: 1; border-radius: var(--radius-sm); overflow:hidden; }
.next-up .nimg img { width:100%; height:100%; object-fit:cover; }
.next-up .ninfo { border-left: 1px solid rgba(255,255,255,0.25); padding-left: clamp(1rem,3vw,2rem); }
.next-up .ninfo h2 { font-family: var(--font-display); font-size: var(--text-xl); }
.next-up .ninfo .venue { font-weight:600; margin: 4px 0; }
.next-up .ninfo .when { font-size: var(--text-sm); opacity:.9; }
.next-up .nbtn { text-align:center; }
.next-up .btn-light { background:#fff; color: var(--color-primary); border:0; }
.next-up .btn-light:hover { background:#f0e0e4; }
.next-up .seats { font-size: var(--text-xs); opacity:.85; margin-top: var(--space-2); }
@media (max-width: 760px){
  .next-up { grid-template-columns: 1fr; text-align:center; }
  .next-up .nlabel { writing-mode: horizontal-tb; transform:none; }
  .next-up .nimg { margin: 0 auto; }
  .next-up .ninfo { border-left:0; padding-left:0; }
}

.shows-table { width:100%; }
.shows-filter { display:flex; gap: var(--space-4); align-items:center; }
.shows-filter button { font-size: var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--color-text-muted); padding-bottom: 4px; border-bottom: 2px solid transparent; }
.shows-filter button.active { color: var(--color-primary); border-color: var(--color-primary); }

.show-row { display:grid; grid-template-columns: 64px 1fr auto auto; gap: clamp(1rem,3vw,2rem); align-items:center; padding: var(--space-4) 0; border-bottom: 1px solid var(--color-divider); position: relative; padding-left: var(--space-6); }
.show-row::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background: var(--color-divider); }
.show-row::after { content:''; position:absolute; left:-3px; top:50%; transform:translateY(-50%); width:9px; height:9px; border-radius:50%; background: var(--color-primary); }
.show-row .sdate { text-align:center; }
.show-row .sdate .m { font-size:var(--text-xs); font-weight:700; text-transform:uppercase; color: var(--color-primary); }
.show-row .sdate .d { font-family: var(--font-display); font-size: var(--text-lg); }
.show-row .sdate .w { font-size: 10px; color: var(--color-text-faint); text-transform:uppercase; }
.show-row .scity h3 { font-size: var(--text-base); font-weight:700; }
.show-row .scity .venue { font-size: var(--text-sm); color: var(--color-text-muted); }
.show-row .stime { font-size: var(--text-sm); color: var(--color-text-muted); white-space:nowrap; }
@media (max-width: 640px){
  .show-row { grid-template-columns: 56px 1fr; row-gap: var(--space-2); }
  .show-row .stime, .show-row .sbtn { grid-column: 2; justify-self:start; }
}

.month-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: var(--space-6); }
@media (max-width: 820px){ .month-grid { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 460px){ .month-grid { grid-template-columns: 1fr;} }
.month-col h3 { font-size: var(--text-sm); font-weight:700; color: var(--color-primary); padding-bottom: var(--space-3); margin-bottom: var(--space-3); border-bottom:2px solid var(--color-divider); position: relative; }
.month-col h3::after { content:''; position:absolute; left:0; bottom:-2px; width:30px; height:2px; background: var(--color-primary); }
.month-col .mrow { display:flex; gap: var(--space-3); font-size: var(--text-sm); padding: var(--space-1) 0; }
.month-col .mrow .md { font-weight:700; min-width:48px; }
.month-col .mrow .mc { color: var(--color-text-muted); }

.highlights { display:grid; grid-template-columns: repeat(4,1fr); gap: var(--space-4); }
@media (max-width: 900px){ .highlights { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 480px){ .highlights { grid-template-columns: 1fr;} }
.hl-card img { border-radius: var(--radius-md); aspect-ratio: 4/3; object-fit: cover; }
.hl-card h3 { font-size: var(--text-base); font-weight:700; margin-top: var(--space-3); }
.hl-card p { font-size: var(--text-sm); color: var(--color-text-muted); }

.book-band { background: var(--color-surface-2); border:1px solid var(--color-border); border-radius: var(--radius-md); padding: clamp(1.5rem,3vw,2.25rem); display:flex; flex-wrap:wrap; gap: var(--space-5); align-items:center; }
.book-band .ic { width:48px; height:48px; border-radius:var(--radius-md); display:grid; place-items:center; background: var(--color-primary-soft); color: var(--color-primary); flex-shrink:0; }
.book-band .ic svg { width:24px; height:24px; }
.book-band .grow { flex:1; min-width: 260px; }
.book-band h3 { font-size: var(--text-base); font-weight:700; }
.book-band p { font-size: var(--text-sm); color: var(--color-text-muted); }

/* ============================================================
   MEDIA page
   ============================================================ */
.presskit {
  background: var(--color-surface-2);
  border:1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: clamp(1.5rem,3vw,2.5rem);
  display:grid; grid-template-columns: 1fr 1.1fr 0.9fr 0.9fr; gap: clamp(1.5rem,3vw,2.5rem);
}
@media (max-width: 1000px){ .presskit { grid-template-columns: 1fr 1fr;} }
@media (max-width: 560px){ .presskit { grid-template-columns: 1fr;} }
.presskit .pk-ic { width:42px; height:42px; border-radius: var(--radius-md); display:grid; place-items:center; background: var(--color-primary-soft); color: var(--color-primary); }
.presskit .pk-ic svg { width:22px; height:22px; }
.presskit h3 { font-family: var(--font-display); font-size: var(--text-lg); margin: var(--space-4) 0 var(--space-2); }
.presskit .col-label { font-size: var(--text-xs); letter-spacing:.1em; text-transform:uppercase; font-weight:700; color: var(--color-text-muted); margin-bottom: var(--space-4); }
.pk-shots { display:flex; gap: var(--space-2); }
.pk-shots img { width: 33%; aspect-ratio: 3/4; object-fit:cover; border-radius: var(--radius-sm); }
.viewall { font-size: var(--text-sm); font-weight:700; color: var(--color-primary); display:inline-flex; align-items:center; gap: 6px; margin-top: var(--space-3); }
.bio-row { display:flex; align-items:center; justify-content:space-between; padding: var(--space-3) 0; border-bottom:1px solid var(--color-divider); }
.bio-row b { display:block; font-size: var(--text-sm); }
.bio-row span { font-size: var(--text-xs); color: var(--color-text-muted); }
.bio-row svg { width:18px; height:18px; color: var(--color-primary); }
.approved li { display:flex; gap: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); padding: 3px 0; }
.approved svg { width:16px; height:16px; color: var(--color-primary); flex-shrink:0; margin-top:3px; }

.press-hl { display:grid; grid-template-columns: repeat(5,1fr); gap: var(--space-4); }
@media (max-width: 1000px){ .press-hl { grid-template-columns: repeat(3,1fr);} }
@media (max-width: 640px){ .press-hl { grid-template-columns: 1fr 1fr;} }
.ph-card { background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-5); display:flex; flex-direction:column; }
.ph-card h3 { font-size: var(--text-sm); font-weight:700; }
.ph-card blockquote { font-size: var(--text-sm); color: var(--color-text-muted); margin: var(--space-3) 0 var(--space-4); flex:1; }
.ph-card a { font-size: var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--color-primary); display:inline-flex; gap:6px; align-items:center; }

.bio-opts { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(1.5rem,3vw,2.5rem); }
@media (max-width: 820px){ .bio-opts { grid-template-columns: 1fr;} }
.bio-opt h3 { font-size: var(--text-xs); letter-spacing:.1em; text-transform:uppercase; font-weight:700; color: var(--color-primary); margin-bottom: var(--space-3); }
.bio-opt p { font-size: var(--text-sm); color: var(--color-text-muted); }
.bio-opt a { font-size: var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--color-primary); display:inline-flex; gap:6px; align-items:center; margin-top: var(--space-4); }

.asset-row { display:grid; grid-template-columns: repeat(5,1fr); gap: var(--space-3); }
@media (max-width: 700px){ .asset-row { grid-template-columns: repeat(3,1fr);} }
.asset-row img { aspect-ratio: 4/5; object-fit:cover; border-radius: var(--radius-sm); }

.video-row { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); }
@media (max-width: 640px){ .video-row { grid-template-columns: 1fr;} }
.video-row figcaption { font-size: var(--text-sm); font-weight:600; margin-top: var(--space-2); }
.video-row .dur { font-size: var(--text-xs); color: var(--color-text-muted); }

.press-contact { background: var(--color-surface-2); border:1px solid var(--color-border); border-radius: var(--radius-md); padding: clamp(1.5rem,3vw,2.5rem); display:flex; flex-wrap:wrap; gap: var(--space-6); align-items:center; }
.press-contact .ic { width:54px; height:54px; border-radius: var(--radius-full); display:grid; place-items:center; background: var(--color-primary-soft); color: var(--color-primary); flex-shrink:0; }
.press-contact .ic svg { width:26px; height:26px; }
.press-contact .grow { flex:1; min-width: 260px; }
.press-contact h2 { font-family: var(--font-display); font-size: var(--text-lg); }
.press-contact p { font-size: var(--text-sm); color: var(--color-text-muted); }

/* ============================================================
   CONTACT page
   ============================================================ */
.contact-grid { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4rem); align-items:start; }
@media (max-width: 860px){ .contact-grid { grid-template-columns: 1fr;} }
.form-field { margin-bottom: var(--space-4); }
.form-field label { display:block; font-size: var(--text-sm); font-weight:600; margin-bottom: var(--space-2); }
.form-field label .req { color: var(--color-primary); }
.form-field input, .form-field select, .form-field textarea {
  width:100%; padding: 0.75rem 0.9rem;
  background: var(--color-surface); border:1px solid var(--color-border);
  border-radius: var(--radius-sm); font-size: var(--text-sm);
  transition: var(--transition);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--color-primary); outline: none; box-shadow: 0 0 0 3px var(--color-primary-soft); }
.form-field textarea { min-height: 120px; resize: vertical; }
.form-check { display:flex; gap: var(--space-2); align-items:flex-start; font-size: var(--text-sm); color: var(--color-text-muted); margin-bottom: var(--space-4); }
.form-check input { width:16px; height:16px; margin-top:3px; accent-color: var(--color-primary); }
.form-note { font-size: var(--text-sm); margin-top: var(--space-4); display:flex; gap: var(--space-2); align-items:center; color: var(--color-text-muted); }
.form-note svg { width:16px; height:16px; color: var(--color-primary); }

.help-card {
  display:flex; align-items:center; gap: var(--space-4);
  background: var(--color-surface); border:1px solid var(--color-border);
  border-radius: var(--radius-md); padding: var(--space-5);
  transition: var(--transition); cursor:pointer;
}
.help-card:hover { transform: translateX(4px); border-color: var(--color-primary); box-shadow: var(--shadow-sm); }
.help-card .hic { width:46px; height:46px; border-radius: var(--radius-md); display:grid; place-items:center; background: var(--color-primary-soft); color: var(--color-primary); flex-shrink:0; }
.help-card .hic svg { width:24px; height:24px; }
.help-card .grow { flex:1; }
.help-card h3 { font-size: var(--text-base); font-weight:700; }
.help-card p { font-size: var(--text-sm); color: var(--color-text-muted); }
.help-card .arrow { color: var(--color-primary); }

.direct-grid { display:grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem,5vw,4rem); }
@media (max-width: 760px){ .direct-grid { grid-template-columns: 1fr;} }
.direct-item { display:flex; align-items:center; gap: var(--space-4); padding: var(--space-4) 0; }
.direct-item svg { width:22px; height:22px; color: var(--color-primary); flex-shrink:0; }
.direct-item .dl { font-size: var(--text-sm); font-weight:700; }
.direct-item .dv { font-size: var(--text-sm); color: var(--color-primary); }
.work-list li { display:flex; gap: var(--space-3); align-items:flex-start; padding: var(--space-3) 0; }
.work-list svg { width:20px; height:20px; color: var(--color-primary); flex-shrink:0; margin-top:2px; }
.work-list b { font-weight:700; }
.work-list span { color: var(--color-text-muted); }

.contact-final {
  background: var(--color-surface-2); border:1px solid var(--color-border);
  border-radius: var(--radius-md); padding: var(--space-5);
  display:grid; grid-template-columns: 0.7fr 1.3fr auto; gap: clamp(1.5rem,4vw,2.5rem); align-items:center;
}
.contact-final img { border-radius: var(--radius-sm); aspect-ratio: 16/10; object-fit:cover; }
.contact-final h2 { font-family: var(--font-display); font-size: var(--text-lg); }
.contact-final p { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-2); }
@media (max-width: 760px){ .contact-final { grid-template-columns: 1fr; } }

/* ============================================================
   ABOUT page
   ============================================================ */
.about-hero { display:grid; grid-template-columns: 1fr 1fr; align-items:stretch; }
.about-hero .at { padding: clamp(2rem,5vw,4.5rem) clamp(1.25rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center; gap: var(--space-5); }
.about-hero .at h1 { font-family: var(--font-display); font-size: clamp(2.5rem, 0.5rem + 8vw, 6.5rem); line-height:.9; }
.about-hero .at .sub { font-family: var(--font-display); font-size: var(--text-xl); }
.about-hero .at p { color: var(--color-text-muted); max-width: 42ch; }
.about-hero .ai img { width:100%; height:100%; object-fit:cover; object-position: center top; min-height: 360px; }
@media (max-width: 820px){ .about-hero { grid-template-columns: 1fr; } .about-hero .ai { order:-1; aspect-ratio:4/3; } }

.story { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(1.5rem,4vw,3rem); }
@media (max-width: 760px){ .story { grid-template-columns: 1fr;} }
.story-col .num { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background: var(--color-primary); color:#fff; font-weight:700; font-size: var(--text-sm); margin-bottom: var(--space-4); }
.story-col h3 { font-size: var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color: var(--color-primary); font-weight:700; margin-bottom: var(--space-3); }
.story-col .tag { font-weight:700; margin-bottom: var(--space-2); }
.story-col p { font-size: var(--text-sm); color: var(--color-text-muted); }

.themes { display:grid; grid-template-columns: repeat(4,1fr); gap: var(--space-4); }
@media (max-width: 900px){ .themes { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 460px){ .themes { grid-template-columns: 1fr;} }
.theme {
  position:relative; min-height: 200px; border-radius: var(--radius-md);
  padding: var(--space-5); display:flex; flex-direction:column; justify-content:flex-end;
  color:#f4efe7; overflow:hidden; border:1px solid var(--color-border);
}
.theme-1 { background: linear-gradient(160deg,#2a2320,#14110f); }
.theme-2 { background: linear-gradient(160deg,#1f1a17,#0e0b0a); }
.theme-3 { background: linear-gradient(160deg,#5e0f24,#240a10); }
.theme-4 { background: linear-gradient(160deg,#8a6a45,#2a2018); }
.theme .ic { position:absolute; top: var(--space-5); left: var(--space-5); color: rgba(255,255,255,.85); }
.theme .ic svg { width:24px; height:24px; }
.theme h3 { font-size: var(--text-base); font-weight:700; margin-bottom: var(--space-2); }
.theme p { font-size: var(--text-sm); color: rgba(244,239,231,.82); }

.remember { display:grid; grid-template-columns: 1.3fr 1fr; gap: clamp(2rem,5vw,4rem); align-items:start; }
@media (max-width: 820px){ .remember { grid-template-columns: 1fr;} }
.remember-grid { display:grid; grid-template-columns: repeat(5,1fr); gap: var(--space-4); }
@media (max-width: 600px){ .remember-grid { grid-template-columns: repeat(3,1fr);} }
.rem-item { text-align:center; }
.rem-item svg { width:26px; height:26px; color: var(--color-primary); margin: 0 auto var(--space-3); }
.rem-item h4 { font-size: var(--text-sm); font-weight:700; }
.rem-item p { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: var(--space-1); }
.facts li { display:flex; gap: var(--space-3); align-items:center; padding: var(--space-3) 0; font-size: var(--text-sm); }
.facts svg { width:18px; height:18px; color: var(--color-primary); flex-shrink:0; }

.about-cta {
  position:relative; overflow:hidden; border-radius: 0;
  background: linear-gradient(110deg,#5e0f24,#1a0a0e); color:#fff;
  display:grid; grid-template-columns: 1.4fr 1fr; align-items:center;
}
.about-cta .ac-body { padding: clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem); display:flex; flex-direction:column; gap: var(--space-5); }
.about-cta h2 { font-family: var(--font-display); font-size: var(--text-2xl); }
.about-cta .actions { display:flex; flex-wrap:wrap; gap: var(--space-3); }
.about-cta .ac-img { height:100%; }
.about-cta .ac-img img { width:100%; height:100%; object-fit:cover; min-height: 200px; }
.about-cta .btn-light { background:#fff; color: var(--color-ink); border:0; }
.about-cta .btn-light:hover { background:#f0e0e4; }
.about-cta .btn-ghost { border:1.5px solid rgba(255,255,255,.7); color:#fff; }
.about-cta .btn-ghost:hover { background:#fff; color: var(--color-ink); }
@media (max-width: 760px){ .about-cta { grid-template-columns: 1fr;} .about-cta .ac-img { aspect-ratio:16/9;} }
