/* ER / final unified visual layer */
:root {
  --er-black:#090c0a;
  --er-night:#101512;
  --er-paper:#f1f1ea;
  --er-muted:#b7c2b9;
  --er-lime:#c6ff34;
  --er-outline:rgba(255,255,255,.15);
  --er-round:16px;
  --er-gutter:clamp(20px,4vw,72px);
}
html {scroll-behavior:smooth;}
body {background:var(--er-black); color:#f8faf7; font-family:Inter,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;}
button,input,textarea,select {font:inherit;}
.container {width:min(1440px,calc(100% - 2 * var(--er-gutter)))!important; margin-inline:auto;}
:focus-visible {outline:2px solid var(--er-lime);outline-offset:4px;}
/* Navigation: equal gutters, single underline, naturally-sized language selector */
.site-header {background:rgba(7,10,8,.96);border-bottom:1px solid rgba(255,255,255,.105);}
.site-header::after {display:none!important;}
.site-header .nav-inner {width:min(1440px,calc(100% - 2 * var(--er-gutter)))!important;display:grid;grid-template-columns:minmax(115px,1fr) auto minmax(175px,1fr);gap:clamp(10px,2.4vw,38px);min-height:80px;padding:0!important;}
.site-header .logo-link {width:auto;min-width:0;justify-self:start;}
.site-header .logo-link img {height:44px;width:76px;max-height:44px;object-fit:contain;object-position:left center;}
.site-header .desktop-nav {gap:clamp(15px,2vw,31px);justify-self:center;white-space:nowrap;}
.site-header .desktop-nav .nav-link {position:relative;padding:12px 0;font-size:clamp(.82rem,1.03vw,.94rem);font-weight:540;letter-spacing:-.017em;color:#d8ddd8;text-decoration:none!important;border:0;}
.site-header .nav-link::before {display:none!important;}
.site-header .nav-link::after {content:""!important;position:absolute;bottom:5px;left:0;right:auto!important;width:100%;height:1.5px;background:var(--er-lime);transform:scaleX(0);transform-origin:left;transition:transform .24s ease;display:block!important;opacity:1;}
.site-header .nav-link:hover::after,.site-header .nav-link:focus-visible::after,.site-header .nav-link[aria-current="page"]::after {transform:scaleX(1);}
.site-header .nav-link:hover,.site-header .nav-link[aria-current="page"]{color:#fff;}
.site-header .nav-actions {justify-self:end;display:flex;align-items:center;gap:clamp(.45rem,1vw,.85rem);}
.site-header .language-control {width:auto;position:relative;}
.site-header .lang-select {display:inline-flex;align-items:center;gap:5px;justify-content:center;position:relative;width:auto!important;min-width:0!important;max-width:none!important;height:40px;min-height:40px;padding:0 5px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#f6faf6;box-shadow:none!important;font-size:.78rem;line-height:1;font-weight:650;white-space:nowrap;}
.site-header .lang-select>span {margin:0!important;}
.site-header .lang-select .lang-caret {position:static!important;width:12px!important;height:12px!important;transform:none!important;transition:transform .2s ease!important;color:var(--er-lime);}
.site-header .lang-select[aria-expanded="true"] .lang-caret {transform:rotate(180deg)!important;}
.site-header .lang-select:hover {color:var(--er-lime);}
.site-header .lang-menu {top:100%;right:0;left:auto;min-width:50px!important;width:50px!important;max-width:50px!important;}
.site-header .nav-cta {width:auto;min-height:40px!important;display:inline-flex;justify-content:center;gap:.6rem;align-items:center;padding:.55rem 1rem!important;font-size:clamp(.7rem,.82vw,.79rem)!important;font-weight:680;border-radius:999px!important;box-shadow:none!important;white-space:nowrap;}
.site-header .nav-cta svg {width:13px;height:13px;}
/* Sitewide scroll progress: intentionally unobtrusive but visible on every page, incl. Our Process. */
.scroll-progress {height:3px!important;z-index:10000!important;top:0!important;}
.scroll-progress span {background:#c6ff34!important;transition:width .1s linear;box-shadow:0 0 8px rgba(198,255,52,.42);}
/* Unadorned editorial hero: only brand statement and its description. */
.er-plain-hero.er-hero-final {background:#080b09;position:relative;isolation:isolate;}
.er-hero-final::before {background:radial-gradient(ellipse at 8% 88%,rgba(198,255,52,.035),transparent 63%);}
.er-hero-final-inner {min-height:clamp(475px,69svh,745px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(20px,3.3vw,42px);padding-top:clamp(84px,11vw,130px);padding-bottom:clamp(55px,8vw,105px);}
.er-hero-final h1.display {font-size:clamp(3.3rem,8vw,8.6rem);font-weight:650;letter-spacing:-.075em;line-height:.975;margin:0;max-width:1150px;text-wrap:balance;}
.er-hero-final h1.display span {color:var(--er-lime);}
.er-hero-final-copy {max-width:min(735px,96%);margin:0;color:#c2cbc4;font-size:clamp(1.03rem,1.5vw,1.3rem);line-height:1.75;font-weight:425;letter-spacing:-.012em;text-align:left;overflow-wrap:anywhere;}
/* Exact layout language of supplied services reference: pale editorial two-column listing. */
.home-services,body[data-page="about"] .about-services {background:var(--er-paper)!important;color:#090e0b;padding-top:clamp(65px,8vw,128px);padding-bottom:clamp(80px,9vw,140px);}
.home-services .section-heading,body[data-page="about"] .about-services .section-heading {margin-bottom:clamp(2rem,3.4vw,4rem);}
.home-services .eyebrow,body[data-page="about"] .about-services .eyebrow {color:#56712a!important;}
.home-services .eyebrow::before,body[data-page="about"] .about-services .eyebrow::before {background:#56712a!important;}
.home-services h2,body[data-page="about"] .about-services h2 {color:#090e0b!important;font-size:clamp(3rem,5.8vw,6.2rem);line-height:1.03;letter-spacing:-.073em;font-weight:650;}
.home-services .heading-copy,body[data-page="about"] .about-services .heading-copy {max-width:100%;}
.editorial-services-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(22px,3.5vw,60px);border:0;}
.editorial-service {border-top:1px solid #c7cbc1;padding:22px 0 23px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;}
.editorial-service .service-id {display:flex;gap:12px;align-items:center;text-transform:uppercase;letter-spacing:.105em;color:#526b25;font-size:.7rem;font-weight:750;margin:0 0 22px;}
.editorial-service .service-id span {display:block;background:#56712a;width:24px;height:1px;}
.editorial-service h3 {margin:0 0 6px;color:#101511!important;font-size:clamp(1.13rem,1.45vw,1.36rem);line-height:1.24;letter-spacing:-.035em;font-weight:680;}
.editorial-service>p:not(.service-id) {margin:0 0 13px;color:#636a63!important;font-size:clamp(.86rem,1.05vw,1rem);line-height:1.62;max-width:600px;font-weight:430;}
.editorial-service .service-tags {display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:5px;}
.editorial-service .service-tags span {border:1px solid #cdd2c8;color:#4a554b;background:transparent;border-radius:999px;line-height:1.3;white-space:nowrap;font-size:clamp(.58rem,.74vw,.69rem);padding:7px 10px;}
/* Photo essays: true dark surfaces throughout, no redundant metadata */
body[data-page="brand-project"],body[data-page="brand-project"] main {background:var(--er-black)!important;color:#f4f8f4!important;}
body[data-page="brand-project"] .project-editorial,body[data-page="brand-project"] .project-editorial .brand-detail-header,body[data-page="brand-project"] .project-editorial .project-story-section {background:var(--er-black)!important;color:#f4f8f4!important;}
.dark-project-editorial .brand-detail-header {padding-top:clamp(32px,6vw,70px);padding-bottom:clamp(20px,4vw,48px);}
.dark-project-editorial .project-back {color:#ced7ce!important;font-size:.83rem;letter-spacing:.015em;}
.dark-project-editorial .project-back:hover {color:var(--er-lime)!important;}
.dark-project-editorial .brand-detail-banner {height:clamp(160px,19vw,260px);overflow:hidden;border-radius:14px!important;}
.dark-project-editorial .brand-detail-banner img {max-width:45%;max-height:125px;}
.dark-project-editorial .project-editorial-heading {padding-top:clamp(24px,4vw,49px);}
.dark-project-editorial .project-editorial-heading h1 {color:#fff!important;font-size:clamp(3.2rem,6.3vw,7.2rem);line-height:.98;letter-spacing:-.07em;}
.dark-project-editorial .project-story-layout {grid-template-columns:minmax(245px,.33fr) minmax(0,.67fr);gap:clamp(30px,5vw,90px);}
.dark-project-editorial .project-story-copy {padding-top:0;}
.dark-project-editorial .project-story-copy .project-story-intro {color:#e7ece8!important;font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.76;letter-spacing:-.012em;font-weight:480;margin:0 0 2.4rem;}
.dark-project-editorial .project-story-chapter {border-top:1px solid var(--er-outline);padding:1.4rem 0 1.5rem;}
.dark-project-editorial .project-story-chapter h2 {color:#f8fbf9!important;font-size:1.09rem;font-weight:680;letter-spacing:-.024em;margin-bottom:.65rem;}
.dark-project-editorial .project-story-chapter p {color:#b7c2b9!important;font-size:.94rem;line-height:1.78;}
.dark-project-editorial .project-story-copy .text-link {color:var(--er-lime)!important;}
.dark-project-editorial .project-photo-tile {background:#19211b; border-radius:9px!important;outline:1px solid rgba(255,255,255,.075);}
.dark-project-editorial .project-photo-tile img {transition:transform .35s ease,filter .35s ease;}
.dark-project-editorial .project-photo-tile:hover img {filter:brightness(1.06);}
/* Partner logo reveals: gray-to-authentic artwork, never masking on pastel or white. */
.logo-wall .partner-logo.brand-reveal {background:#101512!important;border:1px solid rgba(255,255,255,.13);border-radius:12px;transition:border-color .22s ease,transform .22s ease,background .22s ease;}
.logo-wall .partner-logo.brand-reveal img.brand-logo {filter:grayscale(1) brightness(0) invert(.72);opacity:.75;transition:filter .25s ease,opacity .25s ease,transform .25s ease;}
.logo-wall .partner-logo.brand-reveal:hover,.logo-wall .partner-logo.brand-reveal:focus-visible {background:#1a201a!important;border-color:rgba(198,255,52,.30);transform:translateY(-2px);}
.logo-wall .partner-logo.brand-reveal:hover img.brand-logo,.logo-wall .partner-logo.brand-reveal:focus-visible img.brand-logo {filter:none!important;opacity:1;transform:scale(1.045);}
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="visa"],.logo-wall .partner-logo.brand-reveal:hover img[data-brand="loreal-paris"],.logo-wall .partner-logo.brand-reveal:hover img[data-brand="seiko"],.logo-wall .partner-logo.brand-reveal:hover img[data-brand="bobbi-brown"] {filter:brightness(0) invert(1)!important;}
.logo-wall .brand-reveal .partner-logo-fallback {color:#a4b0a6!important;}
.logo-wall .brand-reveal:hover .partner-logo-fallback {color:var(--er-lime)!important;}
/* Homepage process and the FAQ maintain legible optical hierarchy. */
.home-process-summary .timeline-item h3,.home-process-summary .timeline-item .step-name {color:#f5f8f5!important;font-weight:700;}
.home-process-summary .timeline-item p {color:#bec9c0!important;}
body[data-page="process"] .section-paper {background:#101512!important;color:#f6faf6!important;}
body[data-page="process"] #process-faq {color:#f7faf7!important;}
body[data-page="process"] .faq-list {border-top:1px solid var(--er-outline);}
body[data-page="process"] .faq-question {color:#f7faf7!important;font-weight:740!important;font-size:clamp(1rem,1.34vw,1.25rem);}
body[data-page="process"] .faq-answer,body[data-page="process"] .faq-answer p {color:#b5c0b8!important;font-weight:425;line-height:1.8;}
body[data-page="process"] .faq-item {border-color:var(--er-outline)!important;}
/* Journal: restrained 01-08 spine, no heavy blocks, clear title hierarchy */
body[data-page="journal"] .work-page-head h1.display {font-size:clamp(3.6rem,7.3vw,8rem);}
body[data-page="journal"] .values-flow {max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0;padding-left:0;}
body[data-page="journal"] .values-flow::before {left:36px;top:28px;bottom:45px;background:linear-gradient(to bottom,#c6ff34,rgba(198,255,52,.08));}
body[data-page="journal"] .values-flow .flow-step {grid-template-columns:75px minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,36px);padding:0 0 clamp(24px,3.2vw,42px);}
body[data-page="journal"] .values-flow .flow-step .flow-num {width:73px;height:73px;border-radius:50%;font-size:1.08rem;background:#0c120e;border:1px solid #4b6630;color:#c6ff34;font-weight:720;}
body[data-page="journal"] .values-flow .flow-step>div {background:none!important;border:0!important;border-top:1px solid var(--er-outline)!important;border-radius:0!important;padding:10px 0 clamp(20px,2vw,32px)!important;}
body[data-page="journal"] .values-flow .flow-step h3 {font-size:clamp(1.35rem,2.2vw,2.05rem);color:#f4f8f4;letter-spacing:-.045em;margin-bottom:12px;}
body[data-page="journal"] .values-flow .flow-step p {font-size:clamp(.92rem,1.05vw,1.03rem);line-height:1.8;color:#b8c4ba;max-width:775px;text-align:left;}
body[data-page="journal"] .values-flow + * {clear:both;}
body[data-page="journal"] .section-heading h2.h-xl {font-size:clamp(1.7rem,3.1vw,3.4rem);letter-spacing:-.055em;line-height:1.18;font-weight:630;}
/* Contact, brand-color icon strip; form typography unified */
.compact-contact-icons {margin-top:clamp(22px,4vw,43px);padding:0;background:transparent!important;border:0!important;box-shadow:none!important;}
.compact-contact-icons .eyebrow {margin-bottom:22px;}
.contact-icon-strip {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;}
.contact-social-link {height:56px;width:56px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:#111814;transition:transform .22s ease,border-color .22s ease,background .22s ease;}
.contact-social-link svg {width:25px;height:25px;stroke-width:1.8;}
.contact-social-link:hover,.contact-social-link:focus-visible {transform:translateY(-3px);border-color:currentColor;background:#1a231c;}
.social-email {color:#EA4335!important;}.social-whatsapp {color:#25D366!important;}.social-instagram {color:#E1306C!important;}.social-linkedin {color:#4495E0!important;}
/* Preserve official channel glyphs in the footer and the same order as Contact. */
.footer .social-row,.mobile-panel .social-row {display:flex;align-items:center;gap:10px;}
.footer .social-link,.mobile-panel .social-link {border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:#141b15!important;color:#fff;transition:transform .2s ease,border-color .2s ease;}
.footer .social-link:nth-child(1),.mobile-panel .social-link:nth-child(1) {color:#EA4335!important;}
.footer .social-link:nth-child(2),.mobile-panel .social-link:nth-child(2) {color:#25D366!important;}
.footer .social-link:nth-child(3),.mobile-panel .social-link:nth-child(3) {color:#E1306C!important;}
.footer .social-link:nth-child(4),.mobile-panel .social-link:nth-child(4) {color:#4495E0!important;}
.footer .social-link:hover,.footer .social-link:focus-visible,.mobile-panel .social-link:hover {transform:translateY(-2px);border-color:currentColor!important;}
#date-trigger,#date-trigger-text,.date-trigger {font-family:inherit!important;font-size:1rem!important;font-weight:425!important;letter-spacing:normal!important;}
#date-trigger-text {color:#aeb9b0;}
.date-trigger[aria-expanded="true"] #date-trigger-text {color:#fff;}
/* General consistency */
.section-heading .h-xl {text-wrap:balance;}
.btn:not(.nav-cta) {transition:background .23s ease,transform .23s ease,border-color .23s ease;}
.btn:hover {transform:translateY(-1px);}
@media(max-width:1100px) {
 .site-header .nav-inner {grid-template-columns:minmax(78px,1fr) auto minmax(155px,1fr);gap:12px;}
 .site-header .desktop-nav {gap:clamp(10px,1.4vw,20px);}
 .site-header .desktop-nav .nav-link {font-size:clamp(.75rem,1.07vw,.85rem);}
 .dark-project-editorial .project-story-layout {grid-template-columns:minmax(220px,.38fr) minmax(0,.62fr);gap:25px;}
}
@media(max-width:780px) {
 .site-header .nav-inner {display:flex;justify-content:space-between;min-height:70px;}
 .site-header .desktop-nav {display:none;}
 .site-header .nav-actions {margin-left:auto;}
 .site-header .logo-link img {width:62px;height:40px;}
 .er-hero-final-inner {min-height:clamp(485px,68svh,650px);padding-top:88px;padding-bottom:63px;}
 .editorial-services-grid {gap:0 24px;}
 .dark-project-editorial .project-story-layout {display:block;}
 .dark-project-editorial .project-story-copy {position:static;max-width:700px;margin-bottom:25px;}
}
@media(max-width:600px) {
 :root {--er-gutter:clamp(17px,5vw,24px);}
 .site-header .nav-cta {font-size:.72rem!important;padding:.56rem .72rem!important;min-height:38px!important;}
 .site-header .lang-select {font-size:.75rem;padding:0 2px!important;}
 .er-hero-final-inner {min-height:clamp(420px,66svh,650px);padding-top:72px;padding-bottom:55px;gap:25px;}
 .er-hero-final h1.display {font-size:clamp(2.8rem,10.9vw,5rem);letter-spacing:-.074em;}
 .er-hero-final-copy {max-width:100%;font-size:.99rem;line-height:1.68;}
 .home-services h2,body[data-page="about"] .about-services h2 {font-size:clamp(2.6rem,10vw,4rem);}
 .editorial-services-grid {grid-template-columns:1fr;}
 .editorial-service {padding:21px 0 27px;}
 .editorial-service .service-id {margin-bottom:18px;}
 .editorial-service .service-tags span {white-space:normal;}
 body[data-page="journal"] .values-flow .flow-step {grid-template-columns:46px minmax(0,1fr);gap:15px;}
 body[data-page="journal"] .values-flow .flow-step .flow-num {height:44px;width:44px;font-size:.78rem;}
 body[data-page="journal"] .values-flow::before {left:22px;}
 body[data-page="journal"] .values-flow .flow-step h3 {font-size:1.38rem;}
 .dark-project-editorial .brand-detail-banner {height:155px;}
 .dark-project-editorial .brand-detail-banner img {max-width:70%;}
 .contact-social-link {height:53px;width:53px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}}

/* Final readability and content stability refinements */
body[data-page="about"] .about-services .section-heading p:not(.eyebrow) { color:#586158!important; max-width:720px; }
body[data-page="about"] .about-services .editorial-service { color:#121611; }
.editorial-card.js-reveal,.journal-articles .editorial-card { opacity:1!important;transform:none!important;visibility:visible!important; }
body[data-page="journal"] .journal-articles .editorial-grid { min-height:0!important; }
/* Honor generous top-level desktop composition while keeping form inputs comfortable. */
@media(min-width:1101px) {
 .project-inquiry-layout {display:grid!important;grid-template-columns:minmax(290px,.34fr) minmax(0,.66fr)!important;align-items:start;gap:clamp(30px,5vw,70px)!important;}
 .project-inquiry-aside {position:sticky;top:100px;}
 .project-inquiry-section .contact-form-panel {margin:0;}
}
@media(max-width:1100px) { .project-inquiry-layout {display:grid!important;grid-template-columns:1fr!important;gap:24px!important;} .project-inquiry-aside {position:static;} }

/* Official artwork stays in its own palette on hover; light/dark backing adapts per brand. */
.logo-wall .partner-logo.brand-reveal:hover,.logo-wall .partner-logo.brand-reveal:focus-visible {background:var(--partner-hover,#182017)!important;}
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="visa"],
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="loreal-paris"],
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="seiko"],
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="bobbi-brown"] {filter:none!important;}
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="origins"] {filter:brightness(0) saturate(100%)!important;}
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="clinique"] {filter:brightness(0) saturate(100%)!important;}
.logo-wall .partner-logo.brand-reveal:hover img[data-brand="frave"] {filter:none!important;}
