/* Ellamin Studio light identity layer */
:root {
  --ink: #0a0a0a;
  --paper: #fff;
  --white: #fff;
  --grey: #74736f;
  --line: rgba(10, 10, 10, .2);
  --accent: #ffd400;
}

html, body { background: #fff; }
body { color: var(--ink); }

.editorial-hero,
.home-work,
.home-dispatch,
.page-hero,
.services-index,
.process-section,
.portfolio-section,
.archive-close,
.journal-masthead,
.journal-lead,
.journal-grid-section,
.article-header,
.article-body,
.article-next,
.enquiry-layout,
.contact-close,
.site-footer,
.not-found { color: var(--ink); background: #fff; }

.image-window { background: #eeeeeb; }
.site-header { color: var(--ink); background: linear-gradient(to bottom, rgba(255,255,255,.96), rgba(255,255,255,0)); mix-blend-mode: normal; }
.site-header.is-scrolled { background: rgba(255,255,255,.9); border-bottom: 1px solid rgba(10,10,10,.12); backdrop-filter: blur(14px); }
.site-nav { color: var(--ink); }
.site-nav > a:not(.nav-enquire)::after { height: 2px; background: var(--accent); }
.nav-enquire { color: #0a0a0a; background: var(--accent); border-color: var(--accent); transition: color .25s ease, background .25s ease; }
.nav-enquire:hover { color: #fff; background: #0a0a0a; border-color: #0a0a0a; }
.scroll-progress i { background: var(--accent); mix-blend-mode: normal; }

.brand-logo { position: relative; display: block; flex: 0 0 auto; overflow: hidden; background: #fff; }
.brand-logo img { position: absolute; top: 50%; left: 50%; display: block; max-width: none; height: auto; transform: translate(-50%, -50%); }
.brand-logo-header { width: 158px; height: 58px; margin-top: -12px; }
.brand-logo-header img { width: 206px; }
.brand-logo-footer { width: min(360px, 42vw); height: 170px; }
.brand-logo-footer img { width: min(420px, 52vw); }

.page-loader { color: var(--ink); background: #fff; }
.loader-logo { position: relative; z-index: 0; grid-column: 1 / -1; grid-row: 1 / -1; place-self: center; width: min(78vw,760px); }
.page-loader > i, .page-loader > b { position: relative; z-index: 1; }
.page-loader > i { background: var(--accent); box-shadow: 0 0 0 8px rgba(255,212,0,.18); }
.page-loader::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 6px; background: var(--accent); transform-origin: left; animation: accent-load .85s cubic-bezier(.76,0,.24,1) both; }
@keyframes accent-load { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.hero-index,
.hero-brief,
.wide-link,
.filters,
.services-index,
.service-row,
.journal-line,
.journal-grid-section,
.journal-card > div > p:first-child,
.article-byline,
.article-aside,
.article-copy blockquote,
.enquiry-layout { border-color: rgba(10,10,10,.25); }

.hero-title { color: var(--ink); }
.hero-serif { position: relative; }
.hero-serif::after { content: ""; position: absolute; z-index: -1; right: -.03em; bottom: .02em; left: -.03em; height: .12em; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .9s .6s cubic-bezier(.76,0,.24,1); }
.hero-serif.is-visible::after { transform: scaleX(1); }
.hero-frame figcaption span:last-child { padding: 4px 7px; color: #0a0a0a; background: var(--accent); }
.text-link { transition: background .25s ease, padding .25s ease; }
.text-link:hover { padding-right: 8px; padding-left: 8px; background: var(--accent); }
.issue-number { color: #0a0a0a; background: var(--accent); border-color: var(--accent); }
.project-meta { border-color: rgba(10,10,10,.2); }
.project-meta p { color: #62615e; }

.wide-link { border-color: rgba(10,10,10,.55); transition: padding .3s ease, background .3s ease; }
.wide-link:hover { padding-right: 14px; padding-left: 14px; background: var(--accent); }
.dispatch-story > div:last-child { border-color: rgba(10,10,10,.26); }
.dispatch-story .image-window { border: 1px solid rgba(10,10,10,.12); }
.button-light { color: var(--ink); border-color: var(--ink); }
.button-light:hover { color: var(--ink); background: var(--accent); border-color: var(--accent); }
.button-dark { color: #fff; background: var(--ink); border-color: var(--ink); }
.button-dark:hover { color: var(--ink); background: var(--accent); border-color: var(--accent); }

.filters { color: var(--ink); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.filter::after { height: 2px; background: var(--accent); }
.filter.is-active { font-weight: 850; }
.service-row:last-child { border-color: rgba(10,10,10,.25); }
.service-row p { color: #565551; }
.service-row:hover h2, .service-row:focus-within h2 { color: #a37f00; }
.process-grid { background: var(--ink); border-color: var(--ink); }
.process-grid li { color: var(--ink); background: #fff; }
.process-grid li:hover { background: #fff9d6; }
.process-grid li > span { display: grid; width: 30px; height: 30px; place-items: center; background: var(--accent); border-radius: 50%; }

.archive-close { border-top: 1px solid rgba(10,10,10,.25); }
.archive-close a:hover { text-decoration-color: var(--accent); text-decoration-line: underline; text-decoration-thickness: .08em; text-underline-offset: .08em; }
.archive-close > span { position: relative; }
.archive-close > span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 12px; background: var(--accent); border-radius: 50%; }
.project-detail-hero,
.project-detail-story,
.project-detail-next,
.concert-gallery,
.wildlife-gallery,
.places-gallery { color: var(--ink); background: #fff; }
.project-detail-media { background: var(--accent); box-shadow: 14px 14px 0 var(--accent); }
.concert-media { background: #050505; }
.wildlife-media { background: #050505; }
.places-media { background: #050505; }
.concert-frame-secondary { box-shadow: -14px 14px 0 var(--accent); }
.wildlife-hero .project-detail-media { box-shadow: 14px 14px 0 var(--accent); }
.wildlife-frame:nth-child(2) .project-detail-media,
.wildlife-frame:nth-child(3) .project-detail-media { box-shadow: -10px 10px 0 var(--accent); }
.wildlife-frame:nth-child(1) .project-detail-media,
.wildlife-frame:nth-child(4) .project-detail-media,
.wildlife-frame:nth-child(5) .project-detail-media { box-shadow: 10px 10px 0 var(--accent); }
.places-hero .project-detail-media { box-shadow: 14px 14px 0 var(--accent); }
.places-frame:nth-child(1) .project-detail-media,
.places-frame:nth-child(3) .project-detail-media { box-shadow: 10px 10px 0 var(--accent); }
.places-frame:nth-child(2) .project-detail-media { box-shadow: -10px 10px 0 var(--accent); }
.concert-hero .project-detail-copy h1 span { color: var(--accent); }
.project-detail-copy h1 em { position: relative; z-index: 0; }
.project-detail-copy h1 em::after { content: ""; position: absolute; z-index: -1; right: -.03em; bottom: .02em; left: -.03em; height: .12em; background: var(--accent); }
.project-facts { background: var(--ink); }
.project-facts div { background: #fff; }
.project-detail-link:hover { background: var(--accent); }

.lead-story { color: var(--ink); background: #fff; border: 1px solid var(--ink); }
.lead-story-copy > span { border-color: rgba(10,10,10,.3); }
.journal-card > div > p:first-child { border-color: rgba(10,10,10,.2); }
.journal-card > div > p:nth-of-type(2) { color: #5d5c58; }
.journal-masthead h1 em { position: relative; z-index: 0; }
.journal-masthead h1 em::after { content: ""; position: absolute; z-index: -1; right: -.04em; bottom: .02em; left: -.04em; height: .11em; background: var(--accent); }
.article-header h1 em { text-decoration-color: var(--accent); text-decoration-thickness: 5px; }
.article-cover figcaption, .article-inline figcaption { color: #63625e; }
.article-copy blockquote { border-color: rgba(10,10,10,.34); background: #fff9d6; }
.article-next { border-top: 1px solid rgba(10,10,10,.25); }
.article-next a:hover { color: #846700; }

.email-link { border-color: var(--ink); }
.enquiry-form input:not([type=radio]):not([type=checkbox]),
.enquiry-form select,
.enquiry-form textarea { color: var(--ink); background: transparent; border-color: rgba(10,10,10,.72); color-scheme: light; }
.enquiry-form select option { color: var(--ink); background: #fff; }
.budget-options { border-color: var(--ink); }
.budget-options span { border-color: var(--ink); }
.budget-options input:checked + span { color: var(--ink); background: var(--accent); }
.budget-options input:focus-visible + span { outline-color: var(--ink); }
.consent input { accent-color: var(--accent); }
.form-foot p { color: #5f5e5a; }
.contact-close { border-top: 1px solid rgba(10,10,10,.25); }
.contact-close span { padding: 7px 9px; color: var(--ink); background: var(--accent); }

.site-footer { border-color: rgba(10,10,10,.24); }
.footer-bottom { border-color: rgba(10,10,10,.24); }
.footer-top a:hover span { color: #9a7800; }
.footer-mark { display: none; }

.lightbox { color: var(--ink); background: rgba(255,255,255,.985); }
.lightbox::backdrop { background: #fff; }
.lightbox-close, .lightbox-nav { color: var(--ink); }

@media (max-width: 900px) {
  .site-nav { color: var(--ink); background: #fff; }
  .site-nav .nav-enquire { padding: 5px 9px; color: var(--ink); background: var(--accent); }
  .brand-logo-header { width: 145px; height: 52px; }
  .brand-logo-header img { width: 188px; }
}

@media (max-width: 620px) {
  .brand-logo-header { width: 126px; height: 48px; margin-top: -9px; }
  .brand-logo-header img { width: 165px; }
  .brand-logo-footer { width: 260px; height: 132px; }
  .brand-logo-footer img { width: 318px; }
  .loader-logo { width: 100vw; max-width: 580px; }
  .project-detail-media { box-shadow: 8px 8px 0 var(--accent); }
  .concert-frame-secondary { box-shadow: -8px 8px 0 var(--accent); }
  .wildlife-hero .project-detail-media,
  .wildlife-frame:nth-child(n) .project-detail-media { box-shadow: 7px 7px 0 var(--accent); }
  .places-hero .project-detail-media,
  .places-frame:nth-child(n) .project-detail-media { box-shadow: 7px 7px 0 var(--accent); }
  .budget-options label:nth-child(-n+2) span { border-color: var(--ink); }
}
