/* Lunea Studio 2.3: monochrome structure; real projects provide the colour. */
body.lunea-v2 {
  --lv-forest:#111111; --lv-forest-light:#242424; --lv-mint:#ffffff;
  --lv-paper:#ffffff; --lv-white:#ffffff; --lv-ink:#161616; --lv-copy:#565656;
  --lv-surface-soft:#f5f5f3; --lv-darkest:#101010; --lv-on-dark:#ffffff;
  --lv-on-dark-muted:#c9c9c9; --lv-accent-ink:#434343; --lv-line-dark:#3b3b3b;
  --lv-hover:#333333; --lv-hover-mint:#e9e9e9; --lv-focus:#171717;
  --lv-line:#dededb; --lv-disabled:#eeeeec; --lv-radius:6px;
  background:#ffffff; color:#161616;
}
body.lunea-v2 .lv-container { width:min(1400px,calc(100% - 104px)); }
body.lunea-v2 :is(p,li,h1,h2,h3,a) { overflow-wrap:break-word; }
body.lunea-v2 .lv-header { background:#fff; color:#151515; border-bottom-color:#e5e5e5; }
body.lunea-v2 .lv-header > .lv-container { min-height:96px; }
body.lunea-v2 .lv-header .lv-brand img { filter:brightness(0); }
body.lunea-v2 .lv-nav a { font-size:12px; letter-spacing:-.01em; }
body.lunea-v2 .lv-nav a:is(:hover,[aria-current="page"]) { color:#111; text-decoration-color:#111; }
body.lunea-v2 .lv-languages { border-color:#dedede; border-radius:5px; padding:3px; }
body.lunea-v2 .lv-languages a { color:#111; border-radius:3px; }
body.lunea-v2 .lv-languages a:hover { background:#eeeeec; }
body.lunea-v2 .lv-languages a[aria-current="page"] { background:#111; color:#fff; }
body.lunea-v2 .lv-menu-toggle { color:#111; border-color:#d5d5d5; border-radius:4px; }
body.lunea-v2 .lv-header :is(a,button):focus-visible { outline-color:#111; }
body.lunea-v2 .lv-hero { background:#fff; color:#111; padding:82px 0 84px; overflow:visible; }
body.lunea-v2 .lv-hero::before { display:none; }
body.lunea-v2 .lv-hero--editorial .lv-hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:64px; align-items:center; }
body.lunea-v2 .lv-hero--editorial .lv-hero-copy h1 { max-width:17ch; font-size:clamp(48px,5.3vw,84px); line-height:1.04; letter-spacing:-.065em; }
body.lunea-v2 .lv-hero h1 em { color:#111; }
body.lunea-v2 .lv-hero .lv-eyebrow { color:#555; margin-bottom:26px; letter-spacing:.16em; }
body.lunea-v2 .lv-hero--editorial .lv-hero-copy > p:not(.lv-eyebrow) { color:#555; max-width:55ch; font-size:16px; line-height:1.85; }
body.lunea-v2 .lv-button { background:#111; border-color:#111; color:#fff; border-radius:4px; min-height:55px; }
body.lunea-v2 .lv-button:visited { color:#fff; }
body.lunea-v2 .lv-button:is(:hover,:focus-visible) { background:#333; border-color:#333; color:#fff; }
body.lunea-v2 .lv-button-outline { background:transparent; color:#111; border-color:#c7c7c7; }
body.lunea-v2 .lv-button-outline:visited { color:#111; }
body.lunea-v2 .lv-button-outline:is(:hover,:focus-visible) { background:#f2f2f0; border-color:#111; color:#111; }
body.lunea-v2 .lv-hero :is(a,button):focus-visible { outline-color:#111; }
body.lunea-v2 .lv-studio-scene { position:relative; min-width:0; background:#f3f3f0; border:1px solid #d8d8d5; border-radius:7px; box-shadow:20px 24px 0 #f2f2f0; transform:rotate(-1.5deg); transition:transform .4s ease; }
body.lunea-v2 .lv-studio-scene:hover { transform:rotate(0); }
body.lunea-v2 .lv-browser-bar { display:flex; align-items:center; gap:5px; height:36px; padding:0 15px; border-bottom:1px solid #d8d8d5; background:#fafafa; border-radius:7px 7px 0 0; }
body.lunea-v2 .lv-browser-bar > span { width:6px; height:6px; border-radius:50%; background:#b6b6b6; }
body.lunea-v2 .lv-browser-bar i { margin-left:auto; font:10px/1.2 var(--lv-text); color:#666; letter-spacing:.02em; }
body.lunea-v2 .lv-scene-capture { display:block; background:#fff; }
body.lunea-v2 .lv-scene-capture img { width:100%; height:auto; aspect-ratio:16/10; object-fit:contain; }
body.lunea-v2 .lv-studio-scene figcaption { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:24px; border-top:1px solid #d8d8d5; }
body.lunea-v2 .lv-studio-scene figcaption .lv-kicker { margin-bottom:5px; font-size:9px; color:#666; }
body.lunea-v2 .lv-studio-scene figcaption strong { font-size:16px; letter-spacing:-.025em; }
body.lunea-v2 .lv-studio-scene figcaption a { flex:0 0 auto; font-size:11px; text-align:right; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
body.lunea-v2 .lv-band { background:#111; color:#f5f5f5; border-color:#111; padding:22px 0; }
body.lunea-v2 .lv-band .lv-container > *::before { background:#bdbdbd; }
body.lunea-v2 .lv-brand-strip { padding:38px 0 44px; border-bottom:1px solid #e2e2df; background:#fafaf8; }
body.lunea-v2 .lv-brand-strip > .lv-container { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,2fr); gap:50px; align-items:center; }
body.lunea-v2 .lv-brand-strip .lv-kicker { margin:0; font-size:10px; max-width:23ch; color:#626262; line-height:1.8; }
body.lunea-v2 .lv-client-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:22px; }
body.lunea-v2 .lv-client-logo { display:flex; justify-content:center; align-items:center; min-height:86px; padding:10px 12px; border:1px solid transparent; border-radius:4px; transition:border-color .2s,background .2s; }
body.lunea-v2 .lv-client-logo:hover { background:#fff; border-color:#ddd; }
body.lunea-v2 .lv-client-logo .lv-project-logo { width:auto; height:auto; max-width:100%; max-height:70px; object-fit:contain; }
body.lunea-v2 .lv-section { padding:94px 0; }
body.lunea-v2 .lv-section-heading h2 { max-width:23ch; }
body.lunea-v2 .lv-section-intro { max-width:85ch; color:#595959; margin-bottom:40px; font-size:16px; line-height:1.85; }
body.lunea-v2 .lv-kicker { color:#626262; }
body.lunea-v2 .lv-work-grid { gap:54px 38px; }
body.lunea-v2 .lv-work-card { display:flex; flex-direction:column; padding-bottom:25px; border-bottom:1px solid #d9d9d7; }
body.lunea-v2 .lv-work-brand { display:flex; justify-content:space-between; gap:24px; align-items:center; min-height:86px; margin-bottom:20px; }
body.lunea-v2 .lv-work-brand > div { display:flex; align-items:center; width:160px; height:74px; }
body.lunea-v2 .lv-work-brand .lv-project-logo { width:auto; height:auto; max-width:160px; max-height:74px; object-fit:contain; object-position:left center; }
body.lunea-v2 .lv-work-brand > span { max-width:25ch; font-size:11px; line-height:1.6; color:#666; text-align:right; }
body.lunea-v2 .lv-work-card > a.lv-work-capture { border-radius:5px; }
body.lunea-v2 .lv-work-media { border-radius:5px; border-color:#ddd; background:#f5f5f3; }
body.lunea-v2 .lv-work-media.lv-work-media--screenshot { padding:12px; background:#f2f2ef; }
body.lunea-v2 .lv-work-card .lv-work-meta { padding-top:25px; }
body.lunea-v2 .lv-work-meta h3 { font-size:28px; }
body.lunea-v2 .lv-work-card > p { line-height:1.85; }
body.lunea-v2 .lv-project-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 22px; margin-top:auto; padding-top:25px; }
body.lunea-v2 :is(.lv-project-case,.lv-project-visit) { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:12px; font-weight:650; text-decoration:underline; text-underline-offset:6px; text-decoration-color:#c5c5c5; transition:text-decoration-color .2s; }
body.lunea-v2 :is(.lv-project-case,.lv-project-visit):hover { text-decoration-color:#111; }
body.lunea-v2 .lv-project-visit > span { font-size:18px; }
body.lunea-v2 .lv-service-card { border-radius:5px; padding:34px; }
body.lunea-v2 .lv-service-card:hover { border-color:#888; box-shadow:0 12px 28px #00000009; }
body.lunea-v2 .lv-card-index { color:#555; border-radius:4px; }
body.lunea-v2 .lv-list li::before { border-color:#555; border-radius:0; width:5px; height:5px; top:.75em; }
body.lunea-v2 .lv-editorial { background:#161616; color:#fff; }
body.lunea-v2 .lv-editorial .lv-process-grid { border-color:#555; }
body.lunea-v2 .lv-editorial .lv-card-index { color:#111; }
body.lunea-v2 .lv-process-grid { border-color:#c7c7c7; }
body.lunea-v2 .lv-faq summary::after { color:#111; border-color:#bbb; border-radius:4px; }
body.lunea-v2 .lv-cta { background:#f1f1ee; color:#111; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
body.lunea-v2 .lv-inner-hero { padding:76px 0 80px; }
body.lunea-v2 .lv-inner-hero-dark { background:#f7f7f4; color:#111; border-color:#e2e2df; }
body.lunea-v2 .lv-inner-hero-dark :is(.lv-eyebrow,.lv-kicker,h1 em), body.lunea-v2 .lv-inner-hero .lv-eyebrow { color:#666; }
body.lunea-v2 .lv-inner-hero-dark p { color:#555; }
body.lunea-v2 .lv-inner-hero-dark .lv-button-outline { color:#111; }
body.lunea-v2 .lv-inner-hero .lv-button-outline { border-color:#bbb; }
body.lunea-v2 .lv-inner-hero-dark :is(a,button):focus-visible { outline-color:#111; }
body.lunea-v2 .lv-breadcrumb, body.lunea-v2 .lv-inner-hero-dark .lv-breadcrumb { color:#666; }
body.lunea-v2 .lv-contact-info :is(a[href^="mailto:"],a[href^="tel:"]) { text-decoration-color:#aaa; }
body.lunea-v2 .lv-contact-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),select,textarea) { border-color:#ccc; }
body.lunea-v2 .lv-contact-form :is(input,textarea)::placeholder { color:#707070; }
body.lunea-v2 .lv-team-card { border-color:#c7c7c7; }
body.lunea-v2 .lv-partner-logo, body.lunea-v2 .lv-partner { border-radius:5px; }
body.lunea-v2 .lv-project-case-section { border-top:1px solid #ddd; background:#f7f7f4; }
body.lunea-v2 .lv-case-intro { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); gap:65px; margin-bottom:55px; align-items:center; }
body.lunea-v2 .lv-case-brand { display:flex; align-items:center; justify-content:center; padding:28px; background:#fff; border:1px solid #ddd; min-height:150px; }
body.lunea-v2 .lv-case-brand .lv-project-logo { max-width:240px; max-height:110px; width:auto; height:auto; object-fit:contain; }
body.lunea-v2 .lv-case-intro h2 { max-width:23ch; font-size:clamp(32px,3.4vw,52px); }
body.lunea-v2 .lv-case-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:75px; }
body.lunea-v2 .lv-case-grid p { color:#555; font-size:16px; line-height:1.9; }
body.lunea-v2 .lv-case-grid p + p { margin-top:23px; }
body.lunea-v2 .lv-case-grid h3 { font-size:21px; margin-bottom:22px; }
body.lunea-v2 .lv-case-grid .lv-project-visit { margin-top:24px; }
body.lunea-v2 .lv-footer .lv-brand img { filter:brightness(0) invert(1); }
body.lunea-v2 .lv-footer { background:#111; }
body.lunea-v2 .lv-footer a:hover { color:#fff; }
@media (max-width:1180px) {
  body.lunea-v2 .lv-container { width:calc(100% - 64px); }
  body.lunea-v2 .lv-nav { border-top-color:#ddd; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-grid { gap:34px; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-copy h1 { font-size:clamp(47px,5.4vw,69px); }
  body.lunea-v2 .lv-studio-scene { box-shadow:12px 16px 0 #f2f2f0; }
  body.lunea-v2 .lv-brand-strip > .lv-container { grid-template-columns:1fr; gap:18px; }
  body.lunea-v2 .lv-brand-strip .lv-kicker { max-width:none; }
}
@media (max-width:900px) {
  body.lunea-v2 .lv-hero--editorial .lv-hero-grid { grid-template-columns:1fr; gap:42px; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-copy h1 { max-width:20ch; font-size:clamp(48px,7.5vw,72px); }
  body.lunea-v2 .lv-studio-scene { max-width:700px; width:100%; transform:none; }
  body.lunea-v2 .lv-case-intro { grid-template-columns:.7fr 1.3fr; gap:35px; }
  body.lunea-v2 .lv-case-grid { gap:40px; }
}
@media (max-width:700px) {
  body.lunea-v2 .lv-container { width:calc(100% - 40px); }
  body.lunea-v2 .lv-header > .lv-container { min-height:80px; }
  body.lunea-v2 .lv-nav a { border-bottom-color:#e5e5e5; }
  body.lunea-v2 .lv-hero { padding:48px 0 55px; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-copy h1 { font-size:clamp(40px,10.8vw,58px); line-height:1.075; letter-spacing:-.055em; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-copy > p:not(.lv-eyebrow) { font-size:15px; }
  body.lunea-v2 .lv-studio-scene { box-shadow:7px 10px 0 #f2f2f0; }
  body.lunea-v2 .lv-studio-scene figcaption { padding:18px; gap:18px; }
  body.lunea-v2 .lv-studio-scene figcaption a { max-width:15ch; }
  body.lunea-v2 .lv-brand-strip { padding:28px 0 32px; }
  body.lunea-v2 .lv-client-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; }
  body.lunea-v2 .lv-client-logo { min-height:94px; padding:8px 14px; background:#fff; border-color:#e5e5e2; }
  body.lunea-v2 .lv-client-logo .lv-project-logo { max-height:67px; }
  body.lunea-v2 .lv-section { padding:64px 0; }
  body.lunea-v2 .lv-section-intro { font-size:15px; margin-bottom:29px; }
  body.lunea-v2 .lv-work-grid { gap:38px; }
  body.lunea-v2 .lv-work-brand { margin-bottom:15px; gap:18px; }
  body.lunea-v2 .lv-work-brand > div { width:125px; }
  body.lunea-v2 .lv-work-brand .lv-project-logo { max-width:125px; max-height:67px; }
  body.lunea-v2 .lv-work-brand > span { font-size:10px; max-width:20ch; }
  body.lunea-v2 .lv-work-media.lv-work-media--screenshot { padding:7px; }
  body.lunea-v2 .lv-project-actions { gap:7px 18px; margin-top:0; padding-top:20px; }
  body.lunea-v2 .lv-work-meta h3 { font-size:26px; }
  body.lunea-v2 .lv-inner-hero { padding:50px 0 55px; }
  body.lunea-v2 .lv-inner-hero h1 { font-size:clamp(38px,10.5vw,58px); }
  body.lunea-v2 .lv-case-intro, body.lunea-v2 .lv-case-grid { grid-template-columns:1fr; gap:30px; }
  body.lunea-v2 .lv-case-intro { margin-bottom:35px; }
  body.lunea-v2 .lv-case-brand { justify-content:flex-start; min-height:125px; }
  body.lunea-v2 .lv-case-brand .lv-project-logo { max-width:min(240px,100%); max-height:90px; }
  body.lunea-v2 .lv-case-grid p { font-size:15px; }
}
@media (max-width:380px) {
  body.lunea-v2 .lv-container { width:calc(100% - 32px); }
  body.lunea-v2 .lv-project-actions { align-items:flex-start; flex-direction:column; gap:3px; }
  body.lunea-v2 .lv-studio-scene figcaption { align-items:flex-start; flex-direction:column; gap:12px; }
  body.lunea-v2 .lv-studio-scene figcaption a { max-width:none; text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  body.lunea-v2 .lv-studio-scene { transform:none; transition:none; }
  body.lunea-v2 :is(.lv-client-logo,.lv-project-case,.lv-project-visit) { transition:none; }
}
@media print {
  body.lunea-v2 .lv-hero, body.lunea-v2 .lv-inner-hero-dark { background:#fff; color:#111; }
  body.lunea-v2 .lv-studio-scene { box-shadow:none; transform:none; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-copy h1 { font-size:38pt; }
  body.lunea-v2 .lv-hero--editorial .lv-hero-grid { display:block; }
}
