/* Studio Dawn — Ways to Work page. Loads after system.css + site.css. */

/* ---------- nav — crimson text on this page ---------- */
.nav, .nav.solid { color: var(--crimson); }
.nav.solid { background: color-mix(in oklab, var(--canvas) 92%, transparent); border-bottom-color: var(--hair); }
.nav-links a.active { opacity: 1; color: var(--crimson); }

/* ---------- hero — brown band, small heading (not full display type) ---------- */
.hero { background: var(--umber); color: var(--cream); min-height: auto; display: block; overflow: visible; }
.hero-top { padding-top: clamp(112px, 17vh, 176px); padding-bottom: 4px; }
.work-h { font-weight: 600; letter-spacing: -0.022em; line-height: 1.1; font-size: clamp(20px, 2.1vw, 27px); color: var(--cream); margin: 0; text-wrap: balance; }

/* ---------- content bands ---------- */
.band-svc  { background: var(--umber); color: var(--cream); }
.band-svc2 { background: var(--pink);  color: var(--umber); }
.band-faq  { background: var(--cream); color: var(--umber); }

.section { border-top: 0; }

/* For Brands & Businesses — brown band, light text */
.band-svc .sec-head { color: color-mix(in oklab, var(--cream) 78%, transparent); }
.band-svc .sun-mark { background: var(--pink); }
.band-svc .offers { border-top-color: rgba(245,230,208,0.30); }
.band-svc .offer { border-top-color: rgba(245,230,208,0.18); }
.band-svc .offer .nm { color: var(--cream); }
.band-svc .offer .for { color: color-mix(in oklab, var(--cream) 80%, transparent); }
.band-svc .pls { color: var(--pink); }
.band-svc .offer .detail .lead { color: color-mix(in oklab, var(--cream) 88%, transparent); }
.band-svc .offer .detail p { color: color-mix(in oklab, var(--cream) 85%, transparent); }
.band-svc .tag { border-color: rgba(245,230,208,0.3); color: color-mix(in oklab, var(--cream) 78%, transparent); }
.band-svc .vex { border-top-color: rgba(245,230,208,0.18); }
.band-svc .vex .vh { color: var(--pink); }
.band-svc .vex li { color: var(--cream); }
.band-svc .vex li::before { background: var(--pink); }
.band-svc .vex p { color: color-mix(in oklab, var(--cream) 85%, transparent); }
.band-svc .ph-list li { color: color-mix(in oklab, var(--cream) 86%, transparent); }
.band-svc .ph-list li::before { background: var(--pink); }
.band-svc .cs-wrap { border-top-color: rgba(245,230,208,0.30); }
.band-svc .cs { border-top-color: rgba(245,230,208,0.18); }
.band-svc .cs:last-child { border-bottom-color: rgba(245,230,208,0.18); }
.band-svc .cs-idx { color: var(--pink); }
.band-svc .cs-nm { color: var(--pink); }
.band-svc2 .cs-nm { color: var(--crimson); }
.band-svc .cs-role { color: color-mix(in oklab, var(--cream) 66%, transparent); }
.band-svc .phase .ph { color: var(--pink); }
.band-svc .phase p { color: color-mix(in oklab, var(--cream) 86%, transparent); }
.band-svc .cs-did { border-top-color: rgba(245,230,208,0.18); }
.band-svc .cs-did .vh { color: var(--pink); }
.band-svc .cs-did li { color: color-mix(in oklab, var(--cream) 80%, transparent); border-color: rgba(245,230,208,0.3); }
.band-svc .cs-note { color: color-mix(in oklab, var(--cream) 66%, transparent); }
.band-svc .cs-fig figcaption, .band-svc .figs-cap { color: color-mix(in oklab, var(--cream) 60%, transparent); }
.band-svc .who-links a { color: color-mix(in oklab, var(--cream) 72%, transparent); border-bottom-color: rgba(245,230,208,0.34); }
.band-svc .who-links a:hover { color: var(--pink); border-bottom-color: var(--pink); }
.band-svc .btn { border-color: color-mix(in oklab, var(--pink) 70%, transparent); color: var(--pink); }
.band-svc .btn:hover { background: var(--pink); color: var(--umber); }
.band-svc .linkhead { color: var(--pink); }

/* For Creatives — pink band, crimson accents */
.band-svc2 .btn { border-color: var(--crimson); color: var(--crimson); }
.band-svc2 .btn:hover { background: var(--crimson); color: var(--canvas); }

/* offer cards — wider label column than homepage; case studies nested inside */
.offers { border-top: 1px solid var(--hair-strong); }
.offer .detail .body { display: contents; }
/* desktop-only: wider label column, bigger title, side-by-side layout. Mobile stacking + sizing comes entirely from site.css's shared media queries below 861px — kept out of them here so the two never fight over the same properties. */
@media (min-width: 861px) {
  .offer summary { grid-template-columns: minmax(160px, 1fr) 1.7fr 32px; padding: 26px 0; }
  .offer .nm { font-size: clamp(20px, 2.1vw, 27px); line-height: 1.1; }
  .offer .detail { grid-template-columns: minmax(160px,1fr) 1.7fr 32px; padding: 0 0 32px; }
  .offer .detail .body > * { grid-column: 2; max-width: none; }
}
.offer .detail .body > .lead { max-width: 64ch; font-size: 15px; font-weight: 500; margin: 0 0 18px; line-height: 1.6; letter-spacing: 0; }
.offer .detail .body > p { max-width: 64ch; }
.offer .detail .body > .vex { max-width: 64ch; }
.offer .detail .body > .cs-wrap { grid-column: 1 / -1; }
.vex { margin: 22px 0 0; }
.vex .tags { margin: 0; }
.vex p { font-size: 14px; color: var(--umber); line-height: 1.55; margin: 0; max-width: 64ch; }
.card-cta { margin-top: 4px; }
.offers-cta { margin-top: clamp(28px,3.5vw,44px); }
.linkhead { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--crimson); font-weight: 700; margin: 22px 0 10px; }

/* "After Dawn" result bullets */
.ph-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ph-list li { display: flex; gap: 11px; font-size: 15px; line-height: 1.55; color: var(--umber); align-items: baseline; max-width: 72ch; }
.ph-list li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--pink-deep); transform: translateY(-1px); }
.phase { margin-top: 16px; }
.phase .ph { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--crimson); font-weight: 700; margin-bottom: 8px; }
.phase p { font-size: 15px; line-height: 1.62; color: var(--umber); margin: 0; max-width: 70ch; }

/* case studies — nested inside each offer card */
.cs-wrap { border-top: 1px solid var(--hair); margin-top: 30px; padding-top: 26px; }
.cs-wrap .cs:first-of-type { border-top: 0; }
.cs { border-top: 1px solid var(--hair); }
.cs:last-child { border-bottom: 0; }
.cs summary { display: grid; grid-template-columns: 1fr 28px; column-gap: 20px; align-items: baseline; padding: 18px 0; cursor: pointer; list-style: none; }
.cs summary::-webkit-details-marker { display: none; }
.cs-h { grid-column: 1; display: flex; flex-direction: column; gap: 4px; }
.cs-idx { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--crimson); }
.cs-nm { font-size: clamp(19px, 2vw, 24px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--umber); }
.cs-role { font-family: var(--grotesque); font-weight: 300; font-size: 14px; color: var(--umber-2); line-height: 1.35; }
.cs .pls { grid-column: 2; align-self: center; font-size: 26px; }
.cs-detail { padding: 0 0 28px; max-width: none; }
.cs-detail .phase p, .cs-detail .cs-did, .cs-detail .who-links, .cs-detail .cs-note { max-width: 72ch; }
.cs-figs { display: grid; gap: 12px; margin: 0 0 22px; grid-template-columns: 1fr; max-width: 960px; }
.cs-figs.two { grid-template-columns: 1fr 1fr; }
.cs-fig { margin: 0; max-width: 960px; }
.cs-fig img { width: 100%; height: auto; border-radius: 10px; }
.cs-fig figcaption { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--umber-2); margin-top: 8px; line-height: 1.4; }
.figs-cap { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--umber-2); margin: -12px 0 4px; line-height: 1.4; }
.cs-did { border-top: 1px solid var(--hair); margin-top: 20px; padding-top: 16px; }
.cs-did .vh { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--crimson); font-weight: 700; margin-bottom: 12px; }
.cs-did ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px; }
.cs-did li { display: inline-flex; font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; border: 1px solid var(--hair-strong); border-radius: 999px; padding: 5px 11px; color: var(--umber-2); line-height: 1.3; }
.cs-note { font-family: var(--mono); font-size: 11px; letter-spacing: 0.03em; color: var(--umber-2); line-height: 1.55; margin-top: 18px; }

/* FAQ — grouped, collapsible on mobile only */
.faq { max-width: 940px; margin-top: 4px; }
.band-faq .section { padding-block: clamp(44px, 5vw, 72px); }
.faqg { margin-top: clamp(22px,2.6vw,32px); }
.faqg:first-of-type { margin-top: clamp(8px,1.5vw,18px); }
.faqg > summary.faq-gh { display: flex; justify-content: space-between; align-items: center; list-style: none; margin: 0 0 2px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--umber-2); font-weight: 700; }
.faqg > summary.faq-gh::-webkit-details-marker { display: none; }
.faqg-pls { display: none; font-family: var(--grotesque); font-weight: 700; font-size: 22px; line-height: 0.7; color: var(--crimson); transition: transform .25s; }
.faqg[open] > summary .faqg-pls { transform: rotate(45deg); }
.qa { border-top: 1px solid var(--hair); }
.faqg .qa:last-child { border-bottom: 1px solid var(--hair); }
.qa summary { display: grid; grid-template-columns: 1fr 28px; column-gap: 18px; align-items: baseline; padding: 11px 0; cursor: pointer; list-style: none; }
.qa summary::-webkit-details-marker { display: none; }
.qa-q { grid-column: 1; font-size: 14px; font-weight: 500; letter-spacing: -0.005em; line-height: 1.35; color: var(--umber); }
.qa .pls { grid-column: 2; align-self: center; font-size: 20px; }
.qa-a { padding: 0 0 14px; max-width: 80ch; }
.qa-a p { font-size: 13px; line-height: 1.55; color: var(--umber-2); margin: 0 0 8px; }

/* contact heading is bigger on this page than the ecosystem heading on the homepage */
.sec-title { font-size: clamp(24px, 3vw, 40px); color: var(--cream); }

@media (min-width: 861px) { .faqg > summary.faq-gh { pointer-events: none; } }

@media (max-width: 860px) {
  .offer .detail .body > * { grid-column: 1; }
  .offer .detail .body > .cs-wrap { grid-column: 1; }
  .cs-figs.two { grid-template-columns: 1fr; }
  .foot-sign { align-items: flex-start; flex-direction: column; gap: 18px; }
  .faqg { margin-top: 0; border-top: 1px solid var(--hair); }
  .faqg:last-of-type { border-bottom: 1px solid var(--hair); }
  .faqg > summary.faq-gh { cursor: pointer; padding: 16px 0; margin: 0; }
  .faqg-pls { display: inline-flex; }
  .faqg-body { padding-bottom: 8px; }
  .brand-tag { display: none; }
  .nav-in { align-items: center; }
  .hero { min-height: auto; }
  .hero-top { padding-top: 22vh; padding-bottom: 0; }
  .band-svc .section { padding-block-start: 14px; }
  .cs-did { display: none; }
}

@media (max-width: 560px) {
  .offer .for { font-size: 15px; }
  .offer .nm { font-size: 18px; }
}
