/* =========================================================
   SHARED / DESIGN TOKENS / UTILITIES
   Used by all Atelier blocks
   ========================================================= */
:root {
  --arb-ivory: #f8f6f1;
  --arb-ink: #0a0a0b;
  --arb-graphite: #1c1f23;
  --arb-brass: #c6a66b;
  --arb-line: rgba(0, 0, 0, 0.12);
  --arb-line-dark: rgba(255, 255, 255, 0.14);
  --arb-wrap-default: min(92vw, 1440px);
  --arb-wrap-narrow: min(92vw, 840px);
  --arb-wrap-wide: min(96vw, 1640px);
  --arb-wrap-full: min(98vw, 1920px);
  --arb-ease: cubic-bezier(.2,.7,.2,1);
    }

[class*="wp-block-arb-"] { box-sizing: border-box; }
[class*="wp-block-arb-"] *, [class*="wp-block-arb-"] *::before, [class*="wp-block-arb-"] *::after { box-sizing: border-box; }
.arb-wrap { width: var(--arb-wrap-default); margin-inline: auto; position: relative; z-index: 2; }
.arb-wrap--narrow, .arb-wrap-desktop-narrow > .arb-wrap { width: var(--arb-wrap-narrow); }
.arb-wrap--default, .arb-wrap-desktop-default > .arb-wrap { width: var(--arb-wrap-default); }
.arb-wrap--wide, .arb-wrap-desktop-wide > .arb-wrap { width: var(--arb-wrap-wide); }
.arb-wrap--full, .arb-wrap-desktop-full > .arb-wrap { width: var(--arb-wrap-full); }

.arb-theme-light { background: var(--arb-ivory); color: var(--arb-ink); }
.arb-theme-ink { background: var(--arb-ink); color: var(--arb-ivory); }
.arb-theme-graphite { background: var(--arb-graphite); color: var(--arb-ivory); }
.has-border-top { border-top: 1px solid var(--arb-line); }
.has-border-bottom { border-bottom: 1px solid var(--arb-line); }
.arb-theme-ink.has-border-top, .arb-theme-ink.has-border-bottom, .arb-theme-graphite.has-border-top, .arb-theme-graphite.has-border-bottom { border-color: var(--arb-line-dark); }

.arb-eyebrow { display: inline-block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; opacity: .72; }
.arb-eyebrow--spaced { margin-top: 28px; }
.arb-display, .arb-section-title, .arb-masthead__logo, .arb-feature h3, .arb-card__overlay h4, .arb-post h3, .arb-footer__brand, .arb-quote p { letter-spacing: -.02em; text-transform: uppercase; }
.arb-display { font-size: clamp(44px, 10vw, 168px); line-height: .82; margin: 0; }
.arb-section-title { font-size: clamp(30px, 5vw, 72px); line-height: .92; margin: 0; }
.arb-btn-line { position: relative; display: inline-block; color: inherit; text-decoration: none; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding-bottom: 6px; }
.arb-btn-line::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .5s var(--arb-ease); }
.arb-btn-line:hover::after { transform: scaleX(1); }
.arb-btn-line--light { color: var(--arb-ivory); }
.arb-rule { width: 100%; height: 1px; background: var(--arb-line); }
.arb-reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--arb-ease), transform .9s var(--arb-ease); }
.arb-reveal.is-visible { opacity: 1; transform: translateY(0); }

.arb-hide-desktop { display: none !important; }
@media (max-width: 1024px) { .arb-hide-desktop { display: block !important; } .arb-hide-tablet { display: none !important; } }
@media (max-width: 720px) { .arb-hide-tablet { display: block !important; } .arb-hide-mobile { display: none !important; } }

.arb-masthead { background: var(--arb-ivory); color: var(--arb-ink); border-bottom: 1px solid var(--arb-line); padding-top: var(--arb-pt-desktop, 0); padding-bottom: var(--arb-pb-desktop, 0); }
.arb-masthead.is-sticky { position: sticky; top: 0; z-index: 100; }
.arb-masthead__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 56px; }
.arb-masthead__side { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; opacity: .72; }
.arb-masthead__side--right { justify-self: end; }
.arb-masthead__logo { font-size: 22px; letter-spacing: .02em; }

.arb-section { position: relative; overflow: hidden; padding-top: var(--arb-pt-desktop, 96px); padding-bottom: var(--arb-pb-desktop, 96px); min-height: var(--arb-section-min-desktop, auto); background-size: cover; background-position: center; }
.arb-section__overlay { position: absolute; inset: 0; background: rgba(0,0,0,var(--arb-section-overlay,0)); z-index: 1; }
.arb-align-desktop-center { text-align: center; }
.arb-align-desktop-right { text-align: right; }
.arb-align-desktop-left { text-align: left; }

.arb-hero { position: relative; min-height: var(--arb-hero-min-desktop, 760px); overflow: hidden; background: #000; color: var(--arb-ivory); padding-top: var(--arb-pt-desktop, 0); padding-bottom: var(--arb-pb-desktop, 0); }
.arb-hero__slides, .arb-hero__slide { position: absolute; inset: 0; }
.arb-hero__slide { opacity: 0; transition: opacity 1.2s var(--arb-ease); }
.arb-hero__slide.is-active { opacity: 1; z-index: 2; }
.arb-hero__slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 7s linear; filter: contrast(1.05) brightness(.9); }
.arb-hero__slide.is-active img { transform: scale(1); }
.arb-hero__slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,var(--arb-overlay-opacity,.55)) 100%); }
.arb-hero__content { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 16vh; text-align: inherit; }
.arb-hero__sub { margin: 14px 0 18px; font-size: 14px; letter-spacing: .02em; opacity: .85; max-width: 42ch; }
.arb-align-desktop-center .arb-hero__content { align-items: center; text-align: center; }
.arb-align-desktop-right .arb-hero__content { align-items: flex-end; text-align: right; }
.arb-align-desktop-center .arb-hero__sub, .arb-align-desktop-right .arb-hero__sub { margin-inline: auto 0; }
.arb-hero__ui { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.arb-hero__side { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: auto; }
.arb-hero__side--left { left: 24px; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; opacity: .85; }
.arb-hero__side--right { right: 24px; display: flex; flex-direction: column; gap: 14px; }
.arb-arrow, .arb-q-prev, .arb-q-next { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; }
.arb-progress { position: absolute; left: 50%; bottom: 48px; transform: translateX(-50%); width: min(72vw,860px); height: 1px; background: rgba(255,255,255,.22); }
.arb-progress i { display: block; height: 100%; width: 0; background: #fff; }

.arb-split { padding-top: var(--arb-pt-desktop, 110px); padding-bottom: var(--arb-pb-desktop, 110px); }
.arb-split__grid { display: grid; gap: 84px; align-items: start; }
.arb-split__grid--intro { grid-template-columns: 1.15fr .85fr; }
.arb-split__grid--media { grid-template-columns: 1fr 1.2fr; align-items: center; }
.arb-split.is-reverse .arb-split__grid--media > :first-child { order: 2; }
.arb-lead { font-size: clamp(20px, 2.2vw, 26px); line-height: 1.5; margin: 0 0 18px; }
.arb-split__main p, .arb-split__text p, .arb-split__side p { max-width: 48ch; color: rgba(10,10,11,.78); }
.arb-theme-ink .arb-split__main p, .arb-theme-ink .arb-split__text p, .arb-theme-ink .arb-split__side p, .arb-theme-graphite .arb-split__main p, .arb-theme-graphite .arb-split__text p, .arb-theme-graphite .arb-split__side p { color: rgba(248,246,241,.76); }
.arb-split__side { position: relative; padding-left: 40px; }
.arb-split__side::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 1px; background: var(--arb-line); }
.arb-theme-ink .arb-split__side::before, .arb-theme-graphite .arb-split__side::before { background: var(--arb-line-dark); }
.arb-split__media { position: relative; aspect-ratio: var(--arb-media-ratio, 16/10); overflow: hidden; background: #000; margin: 0; }
.arb-split__media img { width: 100%; height: 100%; object-fit: cover; }
.arb-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,.18); color: #fff; font-size: 32px; }

.arb-features { padding-top: var(--arb-pt-desktop, 140px); padding-bottom: var(--arb-pb-desktop, 140px); }
.arb-features.arb-theme-ink, .arb-features.arb-theme-graphite { color: var(--arb-ivory); }
.arb-features.arb-theme-ink { background: var(--arb-ink); }
.arb-features.arb-theme-graphite { background: var(--arb-graphite); }
.arb-features.arb-theme-light { background: var(--arb-ivory); color: var(--arb-ink); }
.arb-features__grid { display: grid; gap: 56px; grid-template-columns: repeat(3, 1fr); }
.arb-features-cols-1 .arb-features__grid { grid-template-columns: 1fr; }
.arb-features-cols-2 .arb-features__grid { grid-template-columns: repeat(2, 1fr); }
.arb-features-cols-4 .arb-features__grid { grid-template-columns: repeat(4, 1fr); }
.arb-feature { position: relative; padding-top: 88px; }
.arb-feature__num { position: absolute; top: -8px; left: -6px; font-size: clamp(96px, 16vw, 220px); line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .18); pointer-events: none; font-family: "Science Gothic", sans-serif; font-weight: bold; }
.arb-theme-light .arb-feature__num { -webkit-text-stroke: 1px rgba(0,0,0,.18); }
.arb-feature__icon { width: 52px; height: 52px; color: rgba(198, 166, 107, 04); margin-bottom: 22px; }
.arb-feature__icon svg { width: 100%; height: 100%; }
.arb-feature h3 { font-size: 28px; margin: 0 0 10px; }
.arb-feature p { margin: 0; max-width: 32ch; }
.arb-theme-ink .arb-feature p, .arb-theme-graphite .arb-feature p { color: rgba(248,246,241,.72); }
.arb-hairline { height: 1px; background: var(--arb-line-dark); margin-top: 32px; width: 100%; }
.arb-theme-light .arb-hairline { background: var(--arb-line); }

.arb-showcase { padding-top: var(--arb-pt-desktop, 120px); padding-bottom: var(--arb-pb-desktop, 120px); border-top: 1px solid var(--arb-line); }
.arb-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 48px; }
.arb-masonry { display: grid; grid-template-columns: repeat(12,1fr); gap: 24px; }
.arb-card { position: relative; overflow: hidden; background: #000; grid-column: span 7; aspect-ratio: 16/10; }
.arb-card:nth-child(2) { grid-column: 8 / 13;     aspect-ratio: 45 / 40; }
.arb-card:nth-child(3) { grid-column: 1 / 6;     aspect-ratio: 45 / 40; }
.arb-card:nth-child(4) { grid-column: 6 / 13; aspect-ratio: 16/10; }
.arb-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--arb-ease); }
.arb-card:hover img { transform: scale(1.04); }
.arb-card__meta { position: absolute; top: 14px; left: 16px; right: 16px; display: flex; justify-content: space-between; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--arb-ivory); z-index: 2; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.arb-card__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(10,10,11,.88) 100%); opacity: 0; transition: opacity .45s var(--arb-ease); display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; color: var(--arb-ivory); z-index: 3; }
.arb-card:hover .arb-card__overlay, .arb-overlay-always .arb-card__overlay, .arb-card__overlay.is-visible { opacity: 1; }
.arb-card__overlay h4 { font-size: 32px; margin: 0 0 14px; }
.arb-specs { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; border-top: 1px solid rgba(255,255,255,.2); padding-top: 14px; margin-bottom: 14px; }
.arb-specs i { display: block; font-style: normal; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.arb-specs b { font-weight: 400; font-size: 15px; }

.arb-testimonials { background: var(--arb-graphite); color: var(--arb-ivory); padding-top: var(--arb-pt-desktop, 150px); padding-bottom: var(--arb-pb-desktop, 150px); position: relative; overflow: hidden; }
.arb-testimonials.arb-theme-light { background: var(--arb-ivory); color: var(--arb-ink); }
.arb-testimonials.arb-theme-ink { background: var(--arb-ink); color: var(--arb-ivory); }
.arb-testimonials__mark { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-42%); font-size: clamp(140px,18vw,340px); opacity: .05; line-height: 1; }
.arb-quotes { position: relative; max-width: 980px; margin: 0 auto; text-align: center; min-height: 240px; transition: height .35s var(--arb-ease); }
.arb-quote { position: absolute; inset: 0; width: 100%; opacity: 0; transition: opacity .9s var(--arb-ease); display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0 40px; pointer-events: none; }
.arb-quote.is-active { opacity: 1; position: relative; pointer-events: auto; }
.arb-quote p { font-size: clamp(26px,3.8vw,46px); line-height: 1.12; margin: 0; }
.arb-quote__meta { margin-top: 26px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; display: flex; gap: 18px; opacity: .85; }
.arb-quote__meta strong { font-weight: 500; color: var(--arb-brass); }
.arb-quote-nav { display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 56px; }
.arb-q-lines { display: flex; gap: 10px; }
.arb-q-lines i { width: 38px; height: 1px; background: rgba(255,255,255,.28); display: block; transform-origin: left; transition: background .4s, transform .4s; }
.arb-q-lines i.is-active { background: var(--arb-brass); transform: scaleX(1.4); }

.arb-posts { padding-top: var(--arb-pt-desktop, 120px); padding-bottom: var(--arb-pb-desktop, 120px); }
.arb-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px; }
.arb-post-cols-1 .arb-post-grid { grid-template-columns: 1fr; }
.arb-post-cols-2 .arb-post-grid { grid-template-columns: repeat(2,1fr); }
.arb-post-cols-4 .arb-post-grid { grid-template-columns: repeat(4,1fr); }
.arb-post a { color: inherit; text-decoration: none; }
.arb-post img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .7s var(--arb-ease); }
.arb-post:hover img { transform: scale(1.02); }
.arb-post__meta { display: flex; justify-content: space-between; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; margin: 14px 0 8px; opacity: .7; }
.arb-post h3 { font-size: 24px; margin: 0 0 16px; line-height: 1.2; }
.arb-post .arb-rule { margin-top: 14px; }

.arb-footer { padding-top: var(--arb-pt-desktop, 72px); padding-bottom: var(--arb-pb-desktop, 36px); background: var(--arb-ivory); color: var(--arb-ink); }
.arb-footer__toprule { margin-bottom: 40px; }
.arb-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 40px; align-items: start; }
.arb-footer__brand { font-size: 28px; }
.arb-footer__contact p { margin: 8px 0 12px; line-height: 1.5; }
.arb-footer__nav { display: grid; gap: 8px; }
.arb-footer__nav a { text-decoration: none; font-size: 14px; opacity: .8; }
.arb-footer__bottom { display: flex; justify-content: space-between; margin-top: 56px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .6; border-top: 1px solid var(--arb-line); padding-top: 16px; }

@media (max-width: 1024px) {
  .arb-wrap-tablet-narrow > .arb-wrap { width: var(--arb-wrap-narrow); }
  .arb-wrap-tablet-default > .arb-wrap { width: var(--arb-wrap-default); }
  .arb-wrap-tablet-wide > .arb-wrap, .arb-wrap-tablet-full > .arb-wrap { width: min(96vw, 1200px); }
  .arb-section, .arb-showcase, .arb-posts, .arb-features, .arb-testimonials, .arb-footer, .arb-split, .arb-hero, .arb-masthead { padding-top: var(--arb-pt-tablet, var(--arb-pt-desktop, 72px)); padding-bottom: var(--arb-pb-tablet, var(--arb-pb-desktop, 72px)); }
  .arb-split__grid--intro, .arb-split__grid--media { grid-template-columns: 1fr; gap: 48px; }
  .arb-features-tablet-1 .arb-features__grid { grid-template-columns: 1fr; }
  .arb-features-tablet-2 .arb-features__grid { grid-template-columns: repeat(2,1fr); }
  .arb-features-tablet-3 .arb-features__grid { grid-template-columns: repeat(3,1fr); }
  .arb-post-tablet-1 .arb-post-grid { grid-template-columns: 1fr; }
  .arb-post-tablet-2 .arb-post-grid { grid-template-columns: repeat(2,1fr); }
  .arb-post-tablet-3 .arb-post-grid { grid-template-columns: repeat(3,1fr); }
  .arb-masonry { grid-template-columns: 1fr; }
  .arb-card, .arb-card:nth-child(n) { grid-column: 1 / -1; aspect-ratio: 16/10; }
}

@media (max-width: 720px) {
  .arb-wrap-mobile-narrow > .arb-wrap { width: var(--arb-wrap-narrow); }
  .arb-wrap-mobile-default > .arb-wrap, .arb-wrap-mobile-wide > .arb-wrap, .arb-wrap-mobile-full > .arb-wrap { width: min(94vw, 100%); }
  .arb-section, .arb-showcase, .arb-posts, .arb-features, .arb-testimonials, .arb-footer, .arb-split, .arb-hero, .arb-masthead { padding-top: var(--arb-pt-mobile, var(--arb-pt-tablet, 56px)); padding-bottom: var(--arb-pb-mobile, var(--arb-pb-tablet, 56px)); }
  .arb-section { min-height: var(--arb-section-min-mobile, auto); }
  .arb-align-mobile-center { text-align: center; }
  .arb-align-mobile-right { text-align: right; }
  .arb-align-mobile-left { text-align: left; }
  .arb-masthead.is-compact-mobile .arb-masthead__inner { min-height: 48px; }
  .arb-masthead.is-compact-mobile .arb-masthead__side { display: none; }
  .arb-masthead.show-meta-mobile .arb-masthead__side { display: block; font-size: 10px; }
  .arb-masthead__logo { justify-self: center; }
  .arb-hero { min-height: var(--arb-hero-min-mobile, 560px); }
  .arb-hero__side--left { left: 12px; display: none; }
  .arb-side-mobile .arb-hero__side--left { display: block; }
  .arb-hero__side--right { right: 12px; }
  .arb-display { font-size: clamp(40px, 13vw, 84px); }
  .arb-hero__content { padding-bottom: 20vh; }
  .arb-progress { bottom: 32px; width: 82vw; }
  .arb-split.is-reverse-mobile .arb-split__grid--media > :first-child { order: 2; }
  .arb-split.is-reverse-mobile .arb-split__grid--media > :last-child { order: 1; }
  .arb-split__side { padding-left: 24px; }
  .arb-features__grid, .arb-post-grid, .arb-footer__grid { grid-template-columns: 1fr; }
  .arb-mobile-grid-2 .arb-features__grid, .arb-mobile-grid-2 .arb-post-grid { grid-template-columns: repeat(2,1fr); }
  .arb-mobile-swipe .arb-features__grid, .arb-mobile-swipe .arb-post-grid, .arb-mobile-swipe .arb-masonry { display: grid; grid-auto-flow: column; grid-auto-columns: 82vw; overflow-x: auto; scroll-snap-type: x mandatory; }
  .arb-mobile-swipe .arb-feature, .arb-mobile-swipe .arb-post, .arb-mobile-swipe .arb-card { scroll-snap-align: start; }
  .arb-testimonials { padding-top: var(--arb-pt-mobile, 110px); padding-bottom: var(--arb-pb-mobile, 110px); }
  .arb-footer-stack-mobile .arb-footer__grid, .arb-footer__bottom, .arb-section-head { grid-template-columns: 1fr; flex-direction: column; align-items: flex-start; }
  .arb-specs { grid-template-columns: repeat(2,1fr); row-gap: 10px; }
}

.arb-split__innerblocks > *:first-child { margin-top: 0; }
.arb-split__innerblocks > *:last-child { margin-bottom: 0; }

.arb-hero__content a.arb-btn-line.arb-btn-line--light {
    border: 1px solid white;
    padding: 10px 30px;
    color: white;
}