/* Archive system. Campaign-specific colors are supplied by campaignDesigns. */
#case-view.campaign-page {
  --gold:var(--campaign-accent); --muted:var(--campaign-muted);
  --brand-tone:var(--campaign-accent); --campaign-line:color-mix(in srgb,var(--campaign-ink) 18%,transparent);
  background:var(--campaign-bg);color:var(--campaign-ink);
}
#case-view.campaign-page .case-content {max-width:1440px;margin:auto;padding:30px clamp(22px,6vw,88px) 70px;}
#case-view.campaign-page .case-nav {padding:18px clamp(22px,6vw,88px);border-color:var(--campaign-line);}
#case-view.campaign-page .case-nav .logo-on-light {display:block;}
#case-view.campaign-page .case-nav .logo-on-dark {display:none;}
#case-view.campaign-page .case-breadcrumb {margin-bottom:30px;font-size:11px;letter-spacing:.045em;gap:12px;}
#case-view.campaign-page .case-footer {border-color:var(--campaign-line);padding:32px clamp(22px,6vw,88px);}
#case-view.campaign-page .eyebrow {color:var(--campaign-accent);font-size:10px;line-height:1.8;letter-spacing:.16em;text-transform:uppercase;}
#case-view.campaign-page a, #case-view.campaign-page button { -webkit-tap-highlight-color:transparent; }
#case-view.campaign-page :is(a,button,summary):focus-visible {outline:2px solid var(--campaign-accent);outline-offset:5px;}
#case-view.campaign-page a {text-underline-offset:6px;}
#case-view.campaign-page :is(a,button,summary) {transition:color .2s ease,background-color .2s ease,border-color .2s ease;}
#case-view.campaign-page .text-link {border-color:var(--campaign-line);}
#case-view.campaign-page .text-link:hover {color:var(--campaign-accent);border-color:currentColor;}

/* Context stays compact: brand and date, then brand / month navigation on one rail. */
#case-view .campaign-header {display:block;animation:none;}
.campaign-identity {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:6px 0 32px;}
#case-view.campaign-page .campaign-header .case-logo {width:180px;max-width:45%;height:62px;object-fit:contain;object-position:left center;padding:0;background:transparent;margin:0;border-radius:0;box-sizing:border-box;}
.campaign-date {display:flex;gap:16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.campaign-date>span:last-child {color:var(--campaign-muted);}
.campaign-switcher {display:flex;justify-content:space-between;align-items:stretch;gap:24px;border-block:1px solid var(--campaign-line);}
#case-view.campaign-page :is(.campaign-brands,.month-tabs) {position:static;display:flex;align-items:stretch;gap:24px;margin:0;padding:0;overflow-x:auto;white-space:nowrap;font-size:12px;line-height:1.5;border:0;}
#case-view.campaign-page :is(.campaign-brands,.month-tabs) a {display:flex;gap:7px;align-items:center;padding:16px 0;min-height:48px;border:0;border-bottom:2px solid transparent;color:var(--campaign-muted);}
#case-view.campaign-page :is(.campaign-brands,.month-tabs) a[aria-current] {color:var(--campaign-ink);background:transparent;border-bottom-color:var(--campaign-accent);}
#case-view.campaign-page :is(.campaign-brands,.month-tabs) a:hover {color:var(--campaign-accent);}
.campaign-month-number {font-size:10px;opacity:.7;font-variant-numeric:tabular-nums;}

/* All stories keep their authored layout and receive the same editorial scale. */
#case-view.campaign-page .campaign-story {
  --gold:var(--campaign-accent);--muted:var(--campaign-muted);
  padding:0;margin:0;background:transparent;color:var(--campaign-ink);border-radius:0;
}
#case-view.campaign-page .campaign-hero {
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,84px);
  align-items:center;inset:auto;z-index:auto;width:auto;height:auto;max-width:none;
  padding:clamp(36px,5vw,72px) 0 clamp(55px,7vw,100px);margin:0;
}
#case-view.campaign-page .campaign-intro {text-align:left;padding:0;margin:0;min-width:0;max-width:none;}
#case-view.campaign-page .campaign-title {
  font:400 clamp(36px,4.35vw,66px)/1.06 Georgia,serif;letter-spacing:-.04em;
  margin:23px 0 26px;max-width:15ch;text-wrap:balance;overflow-wrap:normal;
}
#case-view.campaign-page[data-brand="carelika"] .campaign-title {font-family:Manrope,sans-serif;font-weight:400;line-height:1.12;font-size:clamp(33px,3.8vw,58px);letter-spacing:-.045em;}
#case-view.campaign-page[data-brand="bernard-cassiere"] .campaign-title {font-size:clamp(35px,4.15vw,64px);}
#case-view.campaign-page .campaign-intro>.eyebrow {display:block;margin:0 0 15px;}
#case-view.campaign-page .campaign-intro p {font-size:clamp(15px,1.25vw,18px);line-height:1.85;margin:0 0 24px;max-width:58ch;color:var(--campaign-muted);}
#case-view.campaign-page .campaign-intro h3 {font:400 21px/1.45 Manrope,sans-serif;letter-spacing:-.02em;margin:0 0 20px;}
#case-view.campaign-page .campaign-hero figure {max-width:none;margin:0;}
#case-view.campaign-page .campaign-hero .campaign-image {border-radius:2px;box-shadow:0 22px 60px color-mix(in srgb,var(--campaign-ink) 10%,transparent);}
#case-view.campaign-page .campaign-story p {color:var(--campaign-muted);font-size:17px;line-height:1.85;max-width:76ch;}
#case-view.campaign-page .campaign-story .campaign-section-title {font:400 clamp(28px,3.1vw,45px)/1.18 Georgia,serif;letter-spacing:-.025em;margin:18px 0 28px;text-wrap:balance;}
#case-view.campaign-page[data-brand="carelika"] .campaign-story .campaign-section-title {font-family:Manrope,sans-serif;font-size:clamp(26px,2.8vw,40px);letter-spacing:-.04em;}
#case-view.campaign-page .campaign-story .campaign-subheading {font:400 24px/1.3 Georgia,serif;margin:22px 0 16px;}
#case-view.campaign-page .campaign-section {padding:clamp(48px,6vw,85px) 0;margin:0;border-top:1px solid var(--campaign-line);}
#case-view.campaign-page .campaign-section>:last-child {margin-bottom:0;}
#case-view.campaign-page :is(.campaign-concept,.campaign-art,.sensory-strategy) {padding:clamp(36px,5vw,64px);background:var(--campaign-surface);margin-block:30px;border-radius:2px;}
#case-view.campaign-page .campaign-section .eyebrow {display:block;margin-bottom:16px;}
#case-view.campaign-page .campaign-close {border-top:1px solid var(--campaign-line);padding:clamp(65px,9vw,125px) 0;text-align:left;}
#case-view.campaign-page .campaign-close .campaign-section-title {font-size:clamp(32px,4vw,55px);max-width:22ch;}
#case-view.campaign-page .campaign-close p {margin-left:0;}
#case-view.campaign-page :is(.technical-sheet,.campaign-meta) {padding:32px 0 42px;border-top:1px solid var(--campaign-line);}
#case-view.campaign-page .technical-sheet :is(h2,h3) {font:400 11px/1.5 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.15em;margin:0 0 30px;color:var(--campaign-accent);}
#case-view.campaign-page .technical-sheet dl {grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 35px;}
#case-view.campaign-page .technical-sheet dt {font-size:10px;color:var(--campaign-accent);}
#case-view.campaign-page .technical-sheet dd {font-size:13px;line-height:1.75;color:var(--campaign-muted);}
#case-view.campaign-page :is(.elixirs-role,.sensory-steps details) {border-color:var(--campaign-line);padding:22px 0;}
#case-view.campaign-page :is(.elixirs-role,.sensory-steps details) summary {font-size:17px;line-height:1.5;gap:20px;min-height:28px;}
#case-view.campaign-page :is(.elixirs-role,.sensory-steps details)[open] summary {color:var(--campaign-accent);}
#case-view.campaign-page .elixirs-role p {margin:22px 0 0;}
#case-view.campaign-page :is(.carelika-journey li,.campaign-steps>div,.bakuchiol-stories>div) {border-color:var(--campaign-line);}
#case-view.campaign-page .carelika-journey {gap:10px;}
#case-view.campaign-page .carelika-journey li {border-radius:2px;font-size:14px;}
#case-view.campaign-page .elixirs-path {background:var(--campaign-surface);border-radius:2px;}

/* Full artwork stays intact. Shared galleries and viewer work with every campaign. */
#case-view.campaign-page .campaign-media {min-width:0;margin:0;}
#case-view.campaign-page .campaign-image {display:block;width:100%;height:auto;max-width:100%;border-radius:2px;}
.campaign-image-button {display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in;}
[data-campaign-image] {display:block;cursor:zoom-in;}
#case-view.campaign-page .campaign-media figcaption {font-size:11px;line-height:1.65;letter-spacing:.025em;color:var(--campaign-muted);margin:13px 0 0;overflow-wrap:anywhere;}
#case-view.campaign-page .campaign-collection {padding:25px 0;margin:0;background:transparent;border:0;border-top:1px solid var(--campaign-line);border-radius:0;}
#case-view.campaign-page .campaign-collection summary {display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:18px;line-height:1.5;min-height:44px;list-style:none;}
.campaign-collection summary::-webkit-details-marker {display:none;}
.campaign-collection summary>span:last-child {transition:transform .25s ease;font-weight:400;}
.campaign-collection[open] summary>span:last-child {transform:rotate(45deg);}
#case-view.campaign-page .campaign-media-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px;margin:30px 0;align-items:start;}
#case-view.campaign-page .campaign-video {display:block;width:100%;max-height:80svh;}
.campaign-navigation {position:static;inset:auto;overflow:visible;white-space:normal;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,5vw,70px);border-top:1px solid var(--campaign-line);padding:38px 0 0;}
.campaign-navigation>a {display:flex;flex-direction:column;gap:15px;min-width:0;padding:16px 0 26px;border-bottom:1px solid transparent;}
.campaign-navigation>a:last-child {text-align:right;align-items:flex-end;}
.campaign-navigation>a:hover {border-color:var(--campaign-accent);}
.campaign-navigation .eyebrow {margin:0;}
.campaign-neighbor-title {font:400 clamp(24px,2.4vw,34px)/1.2 Georgia,serif;max-width:25ch;}
.campaign-neighbor-date {font-size:11px;color:var(--campaign-muted);line-height:1.5;}
.campaign-viewer {position:fixed;inset:0;width:min(1300px,96vw);height:94svh;max-width:96vw;max-height:94svh;margin:auto;padding:0;border:1px solid #ffffff30;border-radius:3px;background:#171b1d;color:#f5f2ed;box-shadow:0 25px 100px #0008;}
.campaign-viewer[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto;}
.campaign-viewer::backdrop {background:#101618e8;}
.campaign-viewer-toolbar,.campaign-viewer-footer {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;}
.campaign-viewer-toolbar {border-bottom:1px solid #ffffff20;font-size:12px;}
.campaign-viewer button {min-width:44px;min-height:44px;background:transparent;border:1px solid #ffffff30;border-radius:2px;color:inherit;padding:8px 14px;cursor:pointer;}
.campaign-viewer-stage {min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;}
.campaign-viewer-stage img {width:100%;height:100%;object-fit:contain;}
#case-view .campaign-viewer-caption {color:#e4dfd6;margin:0;text-align:center;font-size:12px;line-height:1.5;max-width:70ch;}
body:has(.campaign-viewer[open]) {overflow:hidden;}

@media(prefers-reduced-motion:no-preference) {
  .campaign-hero {animation:campaign-enter .65s ease both;}
  .campaign-reveal {transition:opacity .65s ease,transform .8s cubic-bezier(.2,.65,.3,1);}
  .campaign-reveal:not(.is-visible) {opacity:0;transform:translateY(18px);}
  [data-campaign-image] {transition:transform .5s cubic-bezier(.2,.65,.3,1);}
  @media(hover:hover) {[data-campaign-image]:hover {transform:translateY(-3px);}}
  @keyframes campaign-enter {from {opacity:0;transform:translateY(10px);} to {opacity:1;transform:none;}}
}
@media(min-width:1500px) {#case-view.campaign-page .campaign-media-grid {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1000px) {
  .campaign-switcher {flex-direction:column;gap:0;}
  #case-view.campaign-page .campaign-brands {border-bottom:1px solid var(--campaign-line);}
  #case-view.campaign-page .campaign-hero {gap:32px;}
  #case-view.campaign-page .technical-sheet dl {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px) {
  #case-view.campaign-page .case-content {padding:22px 6% 45px;}
  #case-view.campaign-page .case-nav {padding:12px 6%;font-size:12px;}
  #case-view.campaign-page .case-nav button {min-height:44px;min-width:44px;}
  #case-view.campaign-page .case-breadcrumb {font-size:10px;margin-bottom:24px;}
  #case-view.campaign-page .campaign-header .case-logo {width:135px;height:52px;}
  .campaign-identity {padding-bottom:20px;}
  .campaign-date {flex-direction:column;gap:3px;font-size:10px;text-align:right;}
  #case-view.campaign-page :is(.campaign-brands,.month-tabs) {gap:22px;}
  #case-view.campaign-page :is(.campaign-brands,.month-tabs) a {font-size:11px;}
  #case-view.campaign-page .campaign-hero {grid-template-columns:minmax(0,1fr);padding:34px 0 50px;gap:28px;}
  #case-view.campaign-page .campaign-title {font-size:clamp(34px,8.5vw,52px);max-width:18ch;}
  #case-view.campaign-page[data-brand="carelika"] .campaign-title {font-size:clamp(32px,8vw,46px);}
  #case-view.campaign-page .campaign-story p {font-size:16px;line-height:1.8;}
  #case-view.campaign-page .technical-sheet dl {grid-template-columns:1fr;gap:22px;}
  #case-view.campaign-page .campaign-media-grid {grid-template-columns:minmax(0,1fr);gap:30px;}
  #case-view.campaign-page :is(.campaign-concept,.campaign-art,.sensory-strategy) {padding:32px 22px;}
  .campaign-navigation {gap:20px;}
  .campaign-neighbor-title {font-size:22px;overflow-wrap:anywhere;}
  .campaign-viewer-toolbar,.campaign-viewer-footer {padding:10px 12px;gap:10px;}
  .campaign-viewer {height:96svh;max-height:96svh;}
  #case-view .campaign-viewer-caption {font-size:11px;}
}
@media(prefers-reduced-motion:reduce) {
  #case-view.campaign-page *,#case-view.campaign-page *::before,#case-view.campaign-page *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .campaign-reveal {opacity:1!important;transform:none!important;}
}

#case-view.campaign-page[data-brand] .case-content .campaign-image{border-radius:2px}
