/* Post-hero editorial layer. Never target the hero, its ancestors, or global GSAP state. */
[data-editorial] { --ed-cream:#fff8d7; --ed-muted:#b9b5a8; --ed-line:rgba(255,248,215,.2); }
[data-editorial] .section-kicker { font-size:12px; line-height:1.5; }
[data-editorial] :is(h1,h2,h3) { font-style:normal; text-wrap:balance; }
[data-editorial] .motion-line { display:block; overflow:clip; padding-block:.065em; margin-block:-.035em; }
[data-editorial] .motion-line > span { display:block; }
[data-editorial] .motion-line,[data-editorial] .motion-line > span { color:inherit; }
[data-editorial] .motion-line em { font-style:normal; }
[data-editorial] .editorial-divider { height:1px; background:var(--ed-line); transform-origin:left; }
[data-editorial] .text-link { padding-block:12px; }
[data-editorial] .text-link span { display:inline-block; transition:transform .3s ease; }
[data-editorial] .text-link:is(:hover,:focus-visible) span { transform:translate(3px,-3px); }
[data-editorial] :is(a,button):focus-visible { outline:2px solid var(--ed-cream); outline-offset:6px; }

/* Typography opens the next chapter without another pin. */
.brand-reveal[data-editorial] { padding-top:clamp(100px,12vw,190px); padding-bottom:clamp(100px,12vw,190px); background:#090a0a; }
.brand-reveal[data-editorial] .display-title { font-size:clamp(3.2rem,8.4vw,9.5rem); max-width:1000px; letter-spacing:-.065em; }
.brand-reveal[data-editorial] .reveal-bottom { padding-top:48px; border-top:1px solid var(--ed-line); margin-top:64px; }
.brand-reveal[data-editorial] .reveal-bottom p { max-width:590px; font-size:17px; }
.founder-intro[data-editorial],.about-band[data-editorial] { background:#0d0e0e; gap:clamp(40px,7vw,120px); }
[data-editorial] .portrait-wrap { max-width:560px; width:100%; transform-origin:center; }
[data-editorial] .portrait-wrap img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; filter:grayscale(.75); border-radius:2px; }
[data-editorial] .portrait-tag { font-size:14px; backdrop-filter:blur(16px); background:rgba(6,7,7,.68); border:1px solid var(--ed-line); }
[data-editorial] .portrait-tag small { font-size:12px; }
.founder-intro[data-editorial] .display-title { font-size:clamp(3rem,5.8vw,6.7rem); line-height:1.02; letter-spacing:-.055em; }
.about-band[data-editorial] .display-title { margin-bottom:36px; }
.about-notes[data-editorial] p { color:var(--ed-muted)!important; }

/* One continuous, user-pausable type interlude. */
.editorial-marquee { padding:36px 0 28px; border-block:1px solid var(--ed-line); background:#111210; overflow:clip; }
.editorial-marquee .marquee-track { display:flex; width:max-content; animation:editorial-ticker 42s linear infinite; animation-play-state:paused; }
.editorial-marquee.is-in-view:not(.is-paused) .marquee-track { animation-play-state:running; }
.editorial-marquee:is(:hover,:focus-within) .marquee-track { animation-play-state:paused!important; }
.editorial-marquee .marquee-group { display:flex; align-items:center; flex-shrink:0; gap:4vw; padding-right:4vw; color:var(--ed-cream); font:600 clamp(3.5rem,8.8vw,9.6rem)/1.14 var(--sans); letter-spacing:-.06em; }
.editorial-marquee .marquee-group span:nth-of-type(even) { color:transparent; -webkit-text-stroke:1px rgba(255,248,215,.55); }
.editorial-marquee .marquee-group b { display:block; width:28px; height:1px; background:rgba(255,248,215,.4); }
.editorial-marquee .marquee-tools { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px max(7vw,40px) 0; color:var(--ed-muted); font:12px var(--mono); text-transform:uppercase; letter-spacing:.09em; }
.editorial-marquee button { background:none; border:0; color:var(--ed-cream); padding:10px 0; font:inherit; cursor:pointer; }
@keyframes editorial-ticker { to { transform:translateX(-50%); } }

/* An index, with the title carrying the interaction. */
.services-preview[data-editorial] .service-list { border-top:1px solid var(--ed-line); }
.services-preview[data-editorial] .service-row { position:relative; padding:32px 0; grid-template-columns:54px minmax(0,1.4fr) minmax(0,.8fr) 32px; transition:background .3s,color .3s; }
.services-preview[data-editorial] .service-row:after { content:''; position:absolute; inset:auto 0 -1px; height:1px; background:var(--ed-cream); transform:scaleX(var(--rule-progress,0)); transform-origin:left; }
.services-preview[data-editorial] .service-row:hover { padding-left:0; background:rgba(255,248,215,.025); }
.services-preview[data-editorial] .service-name { font-size:clamp(1.4rem,2.45vw,2.7rem); line-height:1.2; letter-spacing:-.035em; transition:transform .35s; }
.services-preview[data-editorial] .service-description { font-size:14px; line-height:1.7; }
.services-preview[data-editorial] .service-index { font-size:13px; opacity:.6; transition:opacity .3s; }
.services-preview[data-editorial] .service-arrow { font-size:25px; transition:transform .35s; }
.services-preview[data-editorial] .service-row:is(:hover,:focus-visible) .service-name { transform:translateX(8px); }
.services-preview[data-editorial] .service-row:is(:hover,:focus-visible) .service-index { opacity:1; }
.services-preview[data-editorial] .service-row:is(:hover,:focus-visible) .service-arrow { transform:translate(3px,-3px); }

/* Scale the complete media frame; never zoom/crop the footage inside it. */
.video-story[data-editorial] { background:#101110; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,8vw,140px); align-items:center; }
.video-story[data-editorial] .video-frame { width:100%; background:transparent; display:block; transform-origin:center; }
.video-story[data-editorial] .video-frame video { width:100%!important; max-width:100%; height:auto!important; max-height:none; object-fit:contain; border-radius:3px; }
.video-story[data-editorial] .video-shade { display:none; }
.video-story[data-editorial] .video-caption { position:static; display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; font:12px/1.5 var(--mono); color:var(--ed-muted); }
.video-story[data-editorial] .video-copy .display-title { font-size:clamp(3rem,6.7vw,7.4rem); line-height:1.01; letter-spacing:-.06em; }
[data-editorial] [data-editorial-player] { position:relative; }
[data-editorial] .editorial-play { position:absolute; left:24px; top:24px; z-index:3; display:flex; gap:18px; align-items:center; padding:14px 18px; border:1px solid rgba(255,248,215,.55); border-radius:999px; background:rgba(7,8,8,.75); backdrop-filter:blur(14px); color:var(--ed-cream); font:12px var(--mono); cursor:pointer; transition:background .3s,transform .3s; }
[data-editorial] .editorial-play:after { content:'↗'; font-size:20px; }
[data-editorial] .editorial-play:hover { background:#fff8d7; color:#080909; transform:translateY(-2px); }
[data-editorial] .editorial-play[hidden] { display:none; }
[data-editorial] .video-error { position:relative; padding:12px; color:var(--ed-cream); background:#292623; font-size:14px; }

/* Authentic feedback: one focus, with a quiet index and deliberate controls. */
.feedback-section[data-editorial] { overflow:clip; background:radial-gradient(ellipse at 50% 58%,rgba(255,248,215,.05),transparent 65%),#090a0a; padding-block:clamp(96px,11vw,170px); }
.feedback-section[data-editorial] .feedback-heading { display:block; text-align:center; margin-bottom:52px; }
.feedback-section[data-editorial] .feedback-heading .display-title { font-size:clamp(3.5rem,7.5vw,8rem); }
.feedback-section[data-editorial] .feedback-deck { max-width:900px; margin:auto; position:relative; }
.feedback-section[data-editorial] .feedback-focus { min-height:370px; padding:36px clamp(24px,5vw,70px); border:1px solid var(--ed-line); border-radius:24px; background:linear-gradient(130deg,rgba(255,248,215,.07),rgba(255,248,215,.015)); text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.feedback-section[data-editorial] .feedback-serial { align-self:flex-start; font:12px var(--mono); letter-spacing:.12em; color:var(--ed-muted); }
.feedback-section[data-editorial] .feedback-reaction { font-size:clamp(4rem,7vw,6rem); margin:32px 0 26px; }
.feedback-section[data-editorial] .feedback-handle { font-size:clamp(1rem,2vw,1.35rem); letter-spacing:-.02em; margin:0 0 22px; overflow-wrap:anywhere; }
.feedback-section[data-editorial] .feedback-source { font:12px/1.7 var(--mono); letter-spacing:.07em; }
.feedback-section[data-editorial] .feedback-navigation { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:26px; }
.feedback-section[data-editorial] .feedback-paging { display:flex; gap:5px; }
.feedback-section[data-editorial] .feedback-paging button { position:relative; width:28px; height:44px; border:0; background:none; cursor:pointer; }
.feedback-section[data-editorial] .feedback-paging button:after { content:''; display:block; height:2px; width:100%; background:rgba(255,248,215,.22); transition:background .3s; }
.feedback-section[data-editorial] .feedback-paging button[aria-current=true]:after { background:var(--ed-cream); }
.feedback-section[data-editorial] .feedback-direction { background:none; border:1px solid var(--ed-line); color:var(--ed-cream); width:52px; height:52px; border-radius:50%; cursor:pointer; font-size:21px; transition:background .3s,color .3s; }
.feedback-section[data-editorial] .feedback-direction:hover { background:var(--ed-cream); color:#090a0a; }

/* Source media library and a quieter homepage rail. */
.media-strip[data-editorial] .media-rail-shell { overflow-x:auto; scrollbar-width:none; touch-action:pan-x pan-y; }
.media-strip[data-editorial] .media-rail-shell::-webkit-scrollbar { display:none; }
.media-strip[data-editorial] .media-rail { gap:32px; padding-bottom:20px; }
.media-strip[data-editorial] .poster-card { flex:0 0 clamp(230px,28vw,420px); width:clamp(230px,28vw,420px); transition:transform .4s; user-select:none; }
.media-strip[data-editorial] .poster-card img { border-radius:3px; transform:none; }
.media-strip[data-editorial] .poster-card span { font-size:12px; line-height:1.5; }
.media-strip[data-editorial] .poster-card:hover { transform:translateY(-6px); }
.media-strip[data-editorial] .rail-tools { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--ed-line); margin-top:30px; padding-top:20px; color:var(--ed-muted); font:12px/1.5 var(--mono); }
.media-strip[data-editorial] .rail-tools button { background:none; color:var(--ed-cream); font:inherit; border:0; padding:12px; cursor:pointer; }
.media-page[data-editorial] { background:#0a0b0b; }
.media-page[data-editorial] h1 { line-height:1.02; letter-spacing:-.065em; }
.media-page[data-editorial] .media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 28px; align-items:start; }
.media-page[data-editorial] .media-item { min-width:0; }
.media-page[data-editorial] .media-item video { border-radius:3px; filter:none; }
.media-page[data-editorial] .media-item > .media-label { font:12px/1.7 var(--mono); letter-spacing:.04em; padding-top:8px; border-top:1px solid var(--ed-line); margin-top:18px; }
.media-page[data-editorial] .media-item .editorial-play { left:16px; top:16px; font-size:12px; }

/* Supporting pages share the language, not another cinematic pin. */
.page-hero[data-editorial],.service-hero[data-editorial] { background:radial-gradient(ellipse at 85% 70%,rgba(255,248,215,.065),transparent 45%),#090a0a; }
.page-hero[data-editorial] h1,.service-hero[data-editorial] h1 { line-height:1.02; letter-spacing:-.065em; }
.service-hero[data-editorial] .service-hero-meta { font-size:12px; border-bottom:1px solid var(--ed-line); padding-bottom:22px; }
.service-content[data-editorial] .service-content-main h2 { line-height:1.05; }
.service-content[data-editorial] .service-detail-panel { padding-left:28px; border-top:0; border-left:1px solid var(--ed-line); }
.service-content[data-editorial] .service-detail-panel li { position:relative; transition:color .3s; padding-block:15px; }
.service-content[data-editorial] .service-detail-panel li:before { display:none; }
.service-content[data-editorial] .service-detail-panel li:hover { color:var(--ed-cream); }
.service-media[data-editorial] .service-media-frame { height:auto; min-height:0; background:none; border:0; overflow:visible; max-width:620px; margin-inline:auto; }
.service-media[data-editorial] .service-media-frame img { width:100%; height:auto; object-fit:contain; background:none; border-radius:3px; }
.service-media[data-editorial] .service-media-note { max-width:620px; margin-inline:auto; font-size:12px; border-bottom:1px solid var(--ed-line); padding-bottom:20px; }
.service-page-list[data-editorial] .service-detail { position:relative; }
.service-page-list[data-editorial] .service-detail .service-index { font:500 clamp(1rem,2vw,1.6rem) var(--mono); }
.service-page-list[data-editorial] .service-detail h2 { line-height:1.1; letter-spacing:-.045em; }
.service-page-list[data-editorial] .service-detail .text-link { margin-top:20px; font-size:12px; }
.cta-panel[data-editorial]:not(.consultation-panel),.service-cta-band[data-editorial] { background:#fff8d7; color:#111210; }
.cta-panel[data-editorial]:not(.consultation-panel) :is(h2,strong,em),.service-cta-band[data-editorial] h2 { color:#111210; line-height:1.05; }
.cta-panel[data-editorial]:not(.consultation-panel) .motion-line,.service-cta-band[data-editorial] .motion-line { overflow:clip; }
.cta-panel[data-editorial] .button-solid,.service-cta-band[data-editorial] .button-solid { transition:transform .3s,box-shadow .3s; }
.cta-panel[data-editorial] .button-solid:hover,.service-cta-band[data-editorial] .button-solid:hover { transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,.15); }

/* Forms are never animation targets. Normal-flow visible defaults are retained. */
[data-editorial] .contact-form { opacity:1; visibility:visible; transform:none; height:auto; }
[data-editorial] .contact-form .field label { font-size:12px!important; line-height:1.5; }
[data-editorial] .contact-form :is(input,textarea) { font-size:16px; transition:border-color .2s,box-shadow .2s; }
[data-editorial] .contact-form .field:focus-within label { color:#fff8d7; }
[data-editorial] .contact-details { overflow-wrap:anywhere; }
.faq-block[data-editorial] .faq-question { transition:color .25s,padding-left .25s; }
.faq-block[data-editorial] .faq-question:hover { padding-left:8px; color:#fff8d7; }

@media(min-width:1025px) {
  .founder-intro[data-editorial] .founder-copy,.video-story[data-editorial] .video-copy { position:sticky; top:18svh; align-self:center; }
  .service-content[data-editorial] .service-content-main { position:sticky; top:130px; align-self:start; }
}
@media(max-width:1024px) {
  .media-page[data-editorial] .media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .services-preview[data-editorial] .service-row { grid-template-columns:36px minmax(0,1fr) 28px; gap:14px; }
  .services-preview[data-editorial] .service-description { grid-column:2; grid-row:2; display:block; }
  .services-preview[data-editorial] .service-arrow { grid-column:3; grid-row:1 / span 2; }
  .video-story[data-editorial] { grid-template-columns:minmax(0,1fr); }
  .video-story[data-editorial] .video-frame { max-width:640px; margin:auto; }
}
@media(max-width:767px) {
  [data-editorial] .section-kicker { font-size:12px; letter-spacing:.12em; }
  .brand-reveal[data-editorial] { min-height:0; padding-block:100px; }
  .brand-reveal[data-editorial] .display-title { font-size:clamp(2.8rem,10.8vw,4.8rem); }
  .brand-reveal[data-editorial] .reveal-bottom { margin-top:38px; padding-top:28px; }
  .founder-intro[data-editorial],.about-band[data-editorial] { gap:44px; }
  [data-editorial] .portrait-wrap { max-width:100%; }
  .editorial-marquee .marquee-group { gap:24px; padding-right:24px; font-size:3.7rem; }
  .editorial-marquee .marquee-tools { padding-inline:24px; font-size:11px; letter-spacing:.04em; }
  .services-preview[data-editorial] .service-row { padding-block:25px; }
  .services-preview[data-editorial] .service-name { font-size:1.55rem; }
  .services-preview[data-editorial] .service-row:hover .service-name { transform:none; }
  .video-story[data-editorial] .video-copy .display-title { font-size:clamp(2.8rem,12vw,4.7rem); }
  .feedback-section[data-editorial] .feedback-focus { min-height:320px; padding:28px 22px; border-radius:18px; }
  .feedback-section[data-editorial] .feedback-source { font-size:11px; }
  .media-strip[data-editorial] .poster-card { flex-basis:74vw; width:74vw; }
  .media-strip[data-editorial] .media-rail { gap:20px; }
  .media-strip[data-editorial] .rail-tools { gap:12px; }
  .media-page[data-editorial] .media-grid { grid-template-columns:minmax(0,1fr); gap:42px; }
  .service-hero[data-editorial] h1 { font-size:clamp(2.8rem,11.5vw,5rem); }
  .service-hero[data-editorial] .service-hero-meta { font-size:11px; }
  .service-content[data-editorial] .service-detail-panel { padding-left:0; border-left:0; border-top:1px solid var(--ed-line); }
  .page-hero[data-editorial] h1,.media-page[data-editorial] h1 { font-size:clamp(3rem,12vw,5rem); }
}
@media(prefers-reduced-motion:reduce) {
  [data-editorial] *,[data-editorial] *:before,[data-editorial] *:after { animation:none!important; transition:none!important; }
  .editorial-marquee .marquee-tools button,.media-strip[data-editorial] [data-rail-pause] { display:none; }
  .editorial-marquee .marquee-group { flex-wrap:wrap; font-size:clamp(1.5rem,4vw,4rem); gap:20px; padding:0 24px; }
  .editorial-marquee .marquee-track { width:100%; }
  .editorial-marquee .marquee-group[aria-hidden=true] { display:none; }
  .media-strip[data-editorial] [data-rail-clone] { display:none; }
}
