/* Lunea 2.3.2 — logo-only client rail + progressive, motion-safe interactions. */
body.lunea-v2 .lv-clients-section { background:#f5f5f3; border-top:1px solid #dedede; }
body.lunea-v2 .lv-client-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:42px; }
body.lunea-v2 .lv-client-heading h2 { max-width:23ch; font-size:clamp(36px,4.3vw,62px); font-weight:500; letter-spacing:-.05em; }
body.lunea-v2 .lv-client-heading .lv-kicker { margin-bottom:15px; }
body.lunea-v2 .lv-client-controls { display:flex; align-items:center; flex:0 0 auto; gap:8px; }
body.lunea-v2 .lv-client-controls[hidden] { display:none; }
body.lunea-v2 .lv-client-controls button { display:grid; place-items:center; min-width:48px; min-height:48px; padding:10px 14px; border:1px solid #ccc; border-radius:4px; color:#111; background:transparent; font-size:12px; font-weight:600; }
body.lunea-v2 .lv-client-controls button:hover { background:#111; color:#fff; border-color:#111; }
body.lunea-v2 .lv-client-controls button:disabled { opacity:.4; cursor:default; }
body.lunea-v2 .lv-client-controls button > span { font-size:22px; line-height:1; }
body.lunea-v2 .lv-client-controls [data-lv-logo-toggle] { min-width:96px; }
body.lunea-v2 .lv-client-controls [aria-pressed="true"] { background:#fff; }
body.lunea-v2 .lv-client-controls [aria-pressed="true"]:hover { background:#111; }
body.lunea-v2 .lv-client-track { display:flex; gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scrollbar-width:thin; scrollbar-color:#aaa #e2e2df; list-style:none; margin:0; padding:4px 2px 24px; }
body.lunea-v2 .lv-client-track > li { flex:0 0 calc((100% - 40px)/3); min-width:220px; scroll-snap-align:start; }
body.lunea-v2 .lv-client-mark.lv-project-visit { display:grid; place-items:center; width:100%; height:190px; margin:0; padding:32px; border:1px solid #e4e4e1; border-radius:5px; background:#fff; text-decoration:none; transition:background .3s,border-color .3s,box-shadow .3s; }
body.lunea-v2 .lv-client-mark .lv-project-logo { width:auto; height:auto; max-width:100%; max-height:100px; object-fit:contain; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
body.lunea-v2 .lv-client-mark:is(:hover,:focus-visible) { border-color:#999; box-shadow:0 10px 30px #00000008; }
body.lunea-v2 .lv-client-mark:is(:hover,:focus-visible) .lv-project-logo { transform:scale(1.05); }
body.lunea-v2 .lv-portfolio-section:not(.lv-clients-section) .lv-work-brand { min-height:180px; background:#f5f5f3; padding:28px; border:1px solid #e4e4e1; border-radius:5px; }
body.lunea-v2 .lv-portfolio-section:not(.lv-clients-section) .lv-work-brand > div { width:55%; height:110px; }
body.lunea-v2 .lv-portfolio-section:not(.lv-clients-section) .lv-work-brand .lv-project-logo { max-width:100%; max-height:110px; }
/* Content is visible by default. JS animates only elements entering the view. */
body.lunea-v2 .lv-hero--agency { position:relative; overflow:hidden; }
body.lunea-v2 .lv-agency-stage { position:relative; }
body.lunea-v2 .lv-agency-stage::before { content:""; position:absolute; top:-1px; left:0; width:110px; height:1px; background:#111; animation:lv-rule-travel 8s cubic-bezier(.45,0,.55,1) infinite alternate; pointer-events:none; }
body.lunea-v2 .lv-button { transition:background .25s,color .25s,border-color .25s,box-shadow .35s,transform .35s cubic-bezier(.2,.7,.2,1); }
body.lunea-v2 .lv-button > span[aria-hidden] { transition:transform .35s cubic-bezier(.2,.7,.2,1); }
body.lunea-v2 .lv-button:is(:hover,:focus-visible) > span[aria-hidden] { transform:translate(3px,-3px); }
body.lunea-v2 .lv-button:is(:hover,:focus-visible) { box-shadow:0 8px 20px #00000012; }
body.lunea-v2 .lv-service-card,
body.lunea-v2 .lv-agency-capability-grid article,
body.lunea-v2 .lv-process-card { position:relative; }
body.lunea-v2 .lv-service-card { background-image:radial-gradient(ellipse at var(--lv-pointer-x,50%) var(--lv-pointer-y,50%),#00000004,transparent 70%); }
body.lunea-v2 .lv-service-card .lv-card-index { transition:background .35s,color .35s; }
body.lunea-v2 .lv-service-card:hover .lv-card-index { background:#111; color:#fff; }
body.lunea-v2 .lv-agency-capability-grid article::before { content:""; position:absolute; height:2px; top:-1px; left:0; width:100%; background:#fff; transform:scaleX(0); transform-origin:left; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
body.lunea-v2 .lv-agency-capability-grid article:hover::before { transform:scaleX(1); }
body.lunea-v2 .lv-cta h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.14em; text-decoration-color:#b3b3ae; }
@keyframes lv-rule-travel { from { transform:translateX(0); } to { transform:translateX(min(60vw,900px)); } }
@media (max-width:900px) {
  body.lunea-v2 .lv-client-track > li { flex-basis:calc((100% - 20px)/2.3); }
  body.lunea-v2 .lv-client-mark.lv-project-visit { height:170px; padding:25px; }
}
@media (max-width:700px) {
  body.lunea-v2 .lv-client-heading { align-items:flex-start; flex-direction:column; gap:23px; margin-bottom:26px; }
  body.lunea-v2 .lv-client-heading h2 { font-size:38px; }
  body.lunea-v2 .lv-client-track { gap:14px; }
  body.lunea-v2 .lv-client-track > li { flex-basis:76%; min-width:0; }
  body.lunea-v2 .lv-client-mark.lv-project-visit { height:170px; padding:25px; }
  body.lunea-v2 .lv-client-mark .lv-project-logo { max-height:96px; }
  body.lunea-v2 .lv-agency-stage::before { width:65px; }
}
@media (prefers-reduced-motion:reduce) {
  body.lunea-v2 .lv-agency-stage::before { animation:none; }
  body.lunea-v2 :is(.lv-client-mark,.lv-client-mark .lv-project-logo,.lv-button,.lv-button > span,.lv-service-card,.lv-card-index,.lv-agency-capability-grid article::before) { transition:none; transform:none; }
  body.lunea-v2 .lv-client-track { scroll-behavior:auto; }
}
@media print {
  body.lunea-v2 .lv-client-controls { display:none; }
  body.lunea-v2 .lv-client-track { overflow:visible; display:grid; grid-template-columns:repeat(2,1fr); }
  body.lunea-v2 .lv-agency-stage::before { animation:none; }
}
