/* Lumina: strona główna i wspólna rama wszystkich widoków witryny. */
body.lumina-site,
.lh-home {
    --lh-paper: #f0eee7;
    --lh-ink: #1c211c;
    --lh-muted: #626961;
    --lh-rule: #c9ccc2;
    --lh-accent: #305345;
    --lh-matte: #e5e5de;
    --lh-gutter: 48px;
    --lh-space: clamp(4rem, 7.2vw, 7rem);
}
:root:not([data-theme="forest"]) body.lumina-site,
:root:not([data-theme="forest"]) .lh-home {
    --lh-paper: #202220;
    --lh-ink: #efeee7;
    --lh-muted: #b0b5ab;
    --lh-rule: #484d45;
    --lh-accent: #e0dfd0;
    --lh-matte: #2b2f29;
}
.lh-home {
    color: var(--lh-ink);
    background: var(--lh-paper);
    font-family: var(--lf-font-body);
    font-weight: 400;
}
.lh-home [hidden] { display: none !important; }
.lh-home :where(h1,h2,h3,h4) {
    margin: 0;
    color: var(--lh-ink);
    font-family: var(--lf-font-body);
    font-weight: 600;
    font-style: normal;
}
.lh-home em { color: inherit; font-style: normal; font-weight: inherit; }
.lh-home p { text-wrap: pretty; }
.lh-home :where(button,a) { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.lh-home button { font: inherit; cursor: pointer; }
.lh-home a { color: inherit; text-decoration: none; }
.lh-home :where(button,a):focus-visible { outline: 2px solid var(--lh-accent); outline-offset: 5px; }
.lh-home :where(button,a):focus:not(:focus-visible) { outline: none; }
.lh-home section[id] { scroll-margin-top: calc(var(--lf-nav-height) + 20px); }
.lh-home ::selection { color: var(--lh-paper); background: var(--lh-ink); }
.lh-wrap { width: min(100%, 1440px); padding-inline: var(--lh-gutter); margin-inline: auto; }
.lh-title { font-size: clamp(2.1rem, 4vw, 3.6rem); line-height: 1.12; letter-spacing: -0.055em; }
.lh-kicker, .lh-section-label { margin: 0 0 1rem; color: var(--lh-muted); font-size: 0.78rem; line-height: 1.5; font-weight: 400; }
.lh-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem 4rem;
    margin-bottom: 2.75rem;
}
.lh-section-head > p { max-width: 26rem; margin: 0 0 0.2rem; color: var(--lh-muted); font-size: 0.9rem; line-height: 1.75; }
.lh-link, .lh-button, .lh-button-secondary, .lh-contact-mail {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.9rem;
    min-height: 44px;
    max-width: 100%;
    padding: 0.55rem 0;
    border: 0;
    border-bottom: 1px solid var(--lh-ink);
    border-radius: 0;
    color: var(--lh-ink);
    background: transparent;
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
}
.lh-home :is(.lh-link,.lh-button,.lh-button-secondary,.lh-contact-mail) svg { display: block; flex: 0 0 18px; width: 18px; height: 18px; transition: transform 0.2s ease; }

/* Nazwa i dwa samodzielne zdjęcia, bez nakładek i ozdobników. */
.lh-hero { padding-top: calc(var(--lf-nav-height) + 1.9rem); padding-bottom: 1.5rem; }
.lh-intro-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem 3rem; }
.lh-intro-name { margin: 0; color: var(--lh-ink); font-size: 0.82rem; line-height: 1.65; }
.lh-intro-name > span { color: var(--lh-muted); }
.lh-intro-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.15rem 1.6rem; }
.lh-intro-links > a { min-height: 44px; padding-block: 0.35rem; font-size: 0.82rem; line-height: 1.7; }
.lh-wordmark {
    width: fit-content;
    max-width: 100%;
    margin: 0.75rem 0 2.6rem !important;
    padding-right: 0.06em;
    font-size: clamp(100px, 17.8vw, 230px);
    font-weight: 700 !important;
    line-height: 0.94;
    letter-spacing: -0.085em;
    white-space: nowrap;
}
.lh-cover-grid { display: grid; grid-template-columns: minmax(0, 3.1fr) minmax(0, 1fr); gap: 1.5rem 3rem; align-items: start; }
.lh-cover-primary, .lh-cover-secondary { margin: 0; min-width: 0; }
.lh-cover-primary > img { display: block; width: 100%; height: auto; }
.lh-cover-secondary { padding-top: 5rem; }
.lh-cover-secondary > img { display: block; width: 100%; height: auto; }
.lh-cover-caption { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0.2rem 1rem; padding-top: 0.95rem; }
.lh-cover-caption > div { display: grid; gap: 0.3rem; min-width: 0; }
.lh-cover-caption strong { color: var(--lh-ink); font-size: 0.9rem; font-weight: 500; line-height: 1.5; }
.lh-cover-caption :is(p,span) { margin: 0; color: var(--lh-muted); font-size: 0.72rem; line-height: 1.65; }
.lh-cover-caption > .lh-link { grid-column: 2; grid-row: 1; justify-self: end; font-size: 0.74rem; margin-top: 0; }
.lh-cover-secondary .lh-cover-caption { grid-template-columns: minmax(0, 1fr); }
.lh-cover-secondary .lh-cover-caption > .lh-link { grid-column: 1; grid-row: 2; justify-self: start; }
.lh-cover-note { grid-column: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; padding-bottom: 1.75rem; border-bottom: 1px solid var(--lh-rule); }
.lh-cover-note > p { max-width: 31rem; margin: 0; color: var(--lh-muted); font-size: 0.95rem; line-height: 1.8; }
.lh-cover-note .lh-link { flex-shrink: 0; }

/* Prace mają podpis pod zdjęciem i zachowują własne proporcje. */
.lh-portfolio { padding-block: var(--lh-space); }
.lh-filters { display: flex; flex-wrap: wrap; gap: 0.4rem 0.7rem; margin-bottom: 2rem; }
.lh-filter {
    min-height: 44px;
    padding: 0.6rem 0.9rem;
    border: 1px solid var(--lh-rule);
    border-radius: 0;
    color: var(--lh-muted);
    background: transparent;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.5;
}
.lh-filter[aria-pressed="true"] { color: var(--lh-ink); border-color: var(--lh-ink); font-weight: 600; }
.lh-work-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: 3rem 3.5rem; align-items: start; }
.lh-work { display: block; width: 100%; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--lh-ink); text-align: left; }
.lh-work:first-child { grid-column: 1 / -1; }
.lh-work > img { display: block; width: 100%; height: auto; }
.lh-work:first-child > img { width: 100%; max-height: 640px; object-fit: cover; }
.lh-work-copy { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.3rem 1rem; padding-top: 1rem; }
.lh-work-title { color: var(--lh-ink); font-size: clamp(1.02rem, 1.4vw, 1.2rem); font-weight: 500; line-height: 1.5; letter-spacing: -0.025em; }
.lh-work-tag { color: var(--lh-muted); font-size: 0.72rem; font-weight: 400; line-height: 1.65; }
.lh-work-grid.is-filtered { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lh-work-grid.is-filtered .lh-work { grid-column: auto; }
.lh-work-grid.is-filtered .lh-work > img { max-height: none; object-fit: initial; }
.lh-portfolio-foot { display: flex; justify-content: space-between; align-items: center; gap: 1.25rem 3rem; margin-top: 2rem; }
.lh-portfolio-foot > p { margin: 0; color: var(--lh-muted); font-size: 0.75rem; line-height: 1.65; }
.lh-portfolio-links { display: flex; flex-wrap: wrap; gap: 0.6rem 2rem; }
.lh-portfolio-links .lh-link { font-size: 0.8rem; }

/* Materiał ze zlotu, obok zwykłego opisu zakresu pracy. */
.lh-case { padding-block: var(--lh-space); border-top: 1px solid var(--lh-rule); }
.lh-case-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 7vw, 6.5rem); align-items: start; }
.lh-case-copy { min-width: 0; }
.lh-case-copy > p { max-width: 29rem; margin: 1.5rem 0 0; color: var(--lh-muted); font-size: 0.94rem; line-height: 1.85; }
.lh-case-copy > .lh-kicker { margin: 0 0 1rem; }
.lh-case-copy .lh-title { font-size: clamp(2.1rem, 4vw, 3.3rem); }
.lh-case-links { display: flex; flex-wrap: wrap; gap: 0.65rem 1.5rem; margin-top: 1.5rem; }
.lh-case-links .lh-link { margin-top: 0; font-size: 0.8rem; }
.lh-case-photo { margin: 0; min-width: 0; width: min(100%,500px); justify-self: end; }
.lh-case-photo > img { display: block; width: 100%; height: auto; }
.lh-case-photo figcaption { margin-top: 0.85rem; color: var(--lh-muted); font-size: 0.72rem; line-height: 1.65; }

/* Druk z pliku oraz zdjęcie rzeczywistej lampki. */
.lh-print { padding-block: var(--lh-space); border-top: 1px solid var(--lh-rule); }
.lh-print-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.lh-print-copy { min-width: 0; }
.lh-print-photo { margin: 0; min-width: 0; width: min(100%,480px); justify-self: end; }
.lh-print-photo > img { display: block; width: 100%; height: auto; }
.lh-print-photo > figcaption { margin-top: 0.85rem; color: var(--lh-muted); font-size: 0.72rem; line-height: 1.65; }
.lh-print-description { max-width: 31rem; margin: 1.45rem 0 0; color: var(--lh-muted); font-size: 0.94rem; line-height: 1.85; }
.lh-print-choices { display: flex; flex-wrap: wrap; gap: 0 1.5rem; margin-top: 1.9rem; border-bottom: 1px solid var(--lh-rule); }
.lh-print-choice { min-height: 46px; padding: 0.7rem 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--lh-muted); font-size: 0.79rem; line-height: 1.5; }
.lh-print-choice[aria-pressed="true"] { border-bottom-color: var(--lh-ink); color: var(--lh-ink); font-weight: 500; }
.lh-print-panel { padding-top: 1.25rem; }
.lh-print-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem 1.7rem; }
.lh-print-panel > p { max-width: 31rem; margin: 0 0 1.2rem; color: var(--lh-muted); font-size: 0.89rem; line-height: 1.8; }
.lh-shop-teaser { max-width: 31rem; }
.lh-shop-teaser .lf-shop { padding: 1.3rem; border: 1px solid var(--lh-rule); border-radius: 0; box-shadow: none; background: var(--lh-matte); color: var(--lh-ink); }
.lh-shop-teaser .lf-shop:hover { transform: none; box-shadow: none; }
.lh-shop-teaser .lf-shop :is(.lf-shop-lead,.lf-shop-url) { color: var(--lh-ink); }
.lh-shop-teaser .lf-shop-lead { font-family: var(--lf-font-body); font-size: 1.1rem; line-height: 1.5; }
.lh-shop-teaser .lf-shop-facts span { color: var(--lh-muted); }
.lh-shop-teaser .lf-shop-foot { border-top-color: var(--lh-rule); }
.lh-shop-teaser .lf-shop-soon, .lh-shop-teaser .lf-shop-go { color: var(--lh-ink); border-color: var(--lh-rule); }
.lh-shop-teaser .lf-shop-facts span::before { background: var(--lh-muted); }
.lh-shop-teaser .lf-shop-logo { max-width: 200px; }

/* Rzeczywiste podglądy stron i ich proste podpisy. */
.lh-web { padding-block: var(--lh-space); border-top: 1px solid var(--lh-rule); }
.lh-web-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 3rem; align-items: start; }
.lh-web-project { display: block; min-width: 0; }
.lh-web-project:nth-child(2) { padding-top: 4rem; }
.lh-web-preview { overflow: hidden; background: var(--lh-matte); }
.lh-web-preview > img { display: block; width: 100%; height: clamp(320px, 42vw, 590px); object-fit: cover; object-position: center top; }
.lh-web-copy { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; margin-top: 1rem; }
.lh-web-copy > div { min-width: 0; }
.lh-web-copy .lh-work-tag { margin: 0 0 0.55rem; }
.lh-web-copy h3 { margin: 0 0 0.55rem; font-size: 1.2rem; font-weight: 500; letter-spacing: -0.03em; line-height: 1.4; }
.lh-web-copy > div > p:not(.lh-work-tag) { max-width: 28rem; margin: 0; color: var(--lh-muted); font-size: 0.8rem; line-height: 1.75; }
.lh-web-copy > span { display: grid; flex: 0 0 24px; width: 24px; min-height: 44px; place-items: center; }
.lh-web-copy > span svg { width: 18px; height: 18px; transition: transform 0.2s ease; }
.lh-web-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem 1.7rem; margin-top: 2rem; }

/* Imię i zakres pracy, bez kolejnej karty promocyjnej. */
.lh-person { padding-block: var(--lh-space); border-top: 1px solid var(--lh-rule); }
.lh-person-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 6.5rem); align-items: start; }
.lh-person-grid > div { min-width: 0; }
.lh-person .lh-title { font-size: clamp(2.1rem, 3.7vw, 3.1rem); }
.lh-person-location { margin: 1rem 0 0; color: var(--lh-muted); font-size: 0.8rem; line-height: 1.75; }
.lh-person-copy > p { max-width: 36rem; margin: 0 0 1.2rem; color: var(--lh-muted); font-size: 0.96rem; line-height: 1.85; }
.lh-person-copy .lh-link { margin-top: 0.2rem; }

/* Jeden formularz i telefon, zamiast trzech powtarzalnych kafli. */
.lh-contact { padding-block: var(--lh-space); border-top: 1px solid var(--lh-rule); }
.lh-contact-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 6.5rem); }
.lh-contact .lh-title { font-size: clamp(2.1rem, 4vw, 3.5rem); }
.lh-contact-intro { max-width: 28rem; margin: 1.4rem 0 0; color: var(--lh-muted); font-size: 0.92rem; line-height: 1.85; }
.lh-contact-phone { display: inline-block; max-width: 100%; min-height: 44px; font-size: clamp(2rem, 4.35vw, 3.9rem); font-weight: 500; line-height: 1.18; letter-spacing: -0.055em; white-space: nowrap; }
.lh-contact-details > p { margin: 0 0 0.75rem; color: var(--lh-muted); font-size: 0.82rem; line-height: 1.75; }
.lh-contact-links { display: flex; flex-wrap: wrap; gap: 0.7rem 2.2rem; margin-top: 1.5rem; }

/* Wspólna rama jest niezależna od aktualnej trasy. */
body.lumina-site { background: var(--lh-paper); }
body.lumina-site::after { content: none; }
body.lumina-site #custom-cursor { display: none; }
body.lumina-site #mainNav,
body.lumina-site #mainNav.navbar-shrink {
    background: var(--lh-paper);
    border-bottom: 1px solid var(--lh-rule);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding-block: 1rem;
}
body.lumina-site #mainNav > .container { max-width: 1440px; padding-inline: var(--lh-gutter) !important; }
body.lumina-site #mainNav .navbar-brand { color: var(--lh-ink) !important; letter-spacing: -0.02em; }
body.lumina-site #mainNav .brand-dot { color: var(--lh-ink); animation: none; text-shadow: none; }
body.lumina-site #mainNav .navbar-brand:hover { transform: none; }
body.lumina-site #mainNav .navbar-nav .nav-link { color: var(--lh-muted); font-size: 0.78rem; letter-spacing: 0; text-transform: none; min-height: 44px; display: flex; align-items: center; }
body.lumina-site #mainNav .navbar-nav .nav-link:is(:hover,.active),
body.lumina-site #mainNav .theme-toggle,
body.lumina-site #mainNav .cart-btn-nav { color: var(--lh-ink) !important; }
body.lumina-site #mainNav .navbar-nav .nav-link::after { background: var(--lh-ink); height: 1px; }
body.lumina-site #mainNav .navbar-toggler {
    min-height: 44px;
    border-color: var(--lh-rule) !important;
    border-radius: 0;
    background: transparent !important;
    color: var(--lh-ink);
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.lumina-site #mainNav .navbar-toggler:focus-visible { outline: 2px solid var(--lh-accent) !important; outline-offset: 4px; }
body.lumina-site #mainNav .navbar-label { letter-spacing: 0; text-transform: none; font-size: 0.74rem; }
body.lumina-site #mainNav .nav-burger span { background: var(--lh-ink); }
body.lumina-site #mainNav .theme-dot { background: var(--lh-ink); border: 1px solid var(--lh-rule); box-shadow: none; }
body.lumina-site #mainNav .theme-label { letter-spacing: 0; text-transform: none; }
body.lumina-site #scroll-progress { background: var(--lh-ink); box-shadow: none; height: 2px; }
body.lumina-site .site-footer {
    padding-block: 3rem 2.5rem;
    border-top: 1px solid var(--lh-rule);
    background: var(--lh-paper);
    color: var(--lh-muted);
    opacity: 1;
    transform: none;
    transition: none;
}
body.lumina-site .site-footer > .container { max-width: 1440px; padding-inline: var(--lh-gutter) !important; }
/* Prawa kolumna stopki nie chowa się pod pływającym przyciskiem Luny (na telefonie stopka jest wyśrodkowana). */
@media (min-width: 600px) { body.lumina-site .site-footer { padding-bottom: 6.5rem; } }
body.lumina-site .footer-brand,
body.lumina-site .footer-brand span { color: var(--lh-ink); }
body.lumina-site .footer-tagline,
body.lumina-site .footer-location,
body.lumina-site .footer-copyright,
body.lumina-site .footer-privacy a { color: var(--lh-muted); }
body.lumina-site .footer-privacy a { display: inline-flex; align-items: center; min-height: 44px; }
body.lumina-site .site-footer .btn-social { width: 44px; height: 44px; border: 1px solid var(--lh-rule); border-radius: 0; background: transparent; color: var(--lh-ink); box-shadow: none; }
body.lumina-site .site-footer .btn-social:hover { color: var(--lh-ink); background: var(--lh-matte); border-color: var(--lh-ink); transform: none; }
body.lumina-site :is(#mainNav,.site-footer) a:focus-visible,
body.lumina-site #mainNav button:focus-visible { outline: 2px solid var(--lh-accent); outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
    .lh-home :is(.lh-link,.lh-button,.lh-contact-mail):hover svg { transform: translateX(3px); }
    .lh-web-project:hover .lh-web-copy > span svg { transform: translate(2px,-2px); }
    .lh-home .lh-work:hover .lh-work-title { text-decoration: underline; text-underline-offset: 0.25em; text-decoration-thickness: 1px; }
}
@media (max-width: 1099px) {
    body.lumina-site, .lh-home { --lh-gutter: 36px; }
    .lh-cover-grid { gap: 1.5rem 2rem; grid-template-columns: minmax(0,2.6fr) minmax(0,1fr); }
    .lh-cover-secondary { padding-top: 3.5rem; }
    .lh-cover-note { gap: 1.5rem; }
    .lh-work-grid { gap: 2.5rem; }
    .lh-web-grid { gap: 2.5rem; }
    .lh-print-grid, .lh-case-grid { gap: 2.5rem; }
}
@media (max-width: 849px) {
    body.lumina-site, .lh-home { --lh-gutter: 30px; --lh-space: 4rem; }
    .lh-hero { padding-top: calc(var(--lf-nav-height) + 1.5rem); }
    .lh-intro-row { gap: 1rem 2rem; }
    .lh-intro-name { font-size: 0.76rem; }
    .lh-intro-links { gap: 0.2rem 1rem; }
    .lh-intro-links > a { font-size: 0.76rem; }
    .lh-wordmark { margin-top: 1rem !important; margin-bottom: 1.8rem !important; }
    .lh-cover-grid { grid-template-columns: minmax(0,2.2fr) minmax(0,1fr); gap: 1.5rem; }
    .lh-cover-secondary { padding-top: 2.5rem; }
    .lh-cover-note { grid-column: 1 / -1; }
    .lh-cover-note > p { max-width: 30rem; font-size: 0.87rem; }
    .lh-section-head { align-items: flex-start; flex-direction: column; gap: 1.25rem; margin-bottom: 2rem; }
    .lh-section-head > p { max-width: 34rem; font-size: 0.87rem; }
    .lh-title { font-size: clamp(2.1rem, 4.8vw, 2.75rem); }
    .lh-work-grid { gap: 2rem; }
    .lh-work-copy { flex-direction: column; gap: 0.25rem; padding-top: 0.75rem; }
    .lh-work-title { font-size: 1rem; }
    .lh-portfolio-foot { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .lh-case-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 2rem; }
    .lh-case-copy > p { font-size: 0.86rem; }
    .lh-print-grid { grid-template-columns: minmax(0,1fr) minmax(0,.85fr); gap: 2rem; }
    .lh-print-choices { gap: 0 1.1rem; }
    .lh-print-choice { font-size: 0.72rem; }
    .lh-web-grid { gap: 2rem; }
    .lh-web-project:nth-child(2) { padding-top: 2rem; }
    .lh-web-preview > img { height: 410px; }
    .lh-person-grid, .lh-contact-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 2rem; }
    .lh-person-copy > p { font-size: 0.89rem; }
    .lh-contact-phone { font-size: 2.5rem; }
}
@media (max-width: 599px) {
    body.lumina-site, .lh-home { --lh-gutter: 24px; --lh-space: 3.75rem; }
    .lh-hero { padding-top: calc(var(--lf-nav-height) + 1.2rem); padding-bottom: 0; }
    .lh-intro-row { align-items: flex-start; gap: 0.75rem; flex-direction: column; }
    .lh-intro-name { font-size: 0.75rem; line-height: 1.6; }
    .lh-intro-links { justify-content: flex-start; gap: 0 1.5rem; }
    .lh-intro-links > a { padding-block: 0.2rem; font-size: 0.73rem; min-height: 44px; }
    .lh-wordmark { margin: 0.8rem 0 1.65rem !important; font-size: clamp(78px,25vw,100px); line-height: 0.98; letter-spacing: -0.085em; }
    .lh-cover-grid { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
    .lh-cover-primary { grid-column: 1; grid-row: 1; }
    .lh-cover-caption { padding-top: 0.75rem; gap: 0.25rem 0.75rem; }
    .lh-cover-caption strong { font-size: 0.8rem; }
    .lh-cover-caption :is(p,span) { font-size: 0.65rem; }
    .lh-cover-caption > .lh-link { font-size: 0.72rem; }
    .lh-cover-secondary { grid-column: 1; grid-row: 3; width: 64%; margin-left: auto; padding-top: 0; }
    .lh-cover-secondary .lh-cover-caption { gap: 0.2rem; }
    .lh-cover-note { grid-column: 1; grid-row: 2; padding-bottom: 1.5rem; align-items: flex-start; flex-direction: column; gap: 0.8rem; }
    .lh-cover-note > p { font-size: 0.86rem; line-height: 1.8; }
    .lh-title { font-size: clamp(2.05rem,8.6vw,2.5rem); line-height: 1.15; }
    .lh-section-head { margin-bottom: 1.75rem; }
    .lh-kicker { margin-bottom: 0.8rem; font-size: 0.73rem; }
    .lh-section-head > p { font-size: 0.83rem; line-height: 1.8; }
    .lh-filters { gap: 0.5rem; margin-bottom: 1.6rem; }
    .lh-filter { font-size: 0.71rem; padding-inline: 0.75rem; }
    .lh-work-grid, .lh-work-grid.is-filtered { grid-template-columns: minmax(0,1fr); gap: 2rem; }
    .lh-work, .lh-work:first-child, .lh-work-grid.is-filtered .lh-work { grid-column: 1; }
    .lh-work:first-child > img { max-height: none; object-fit: initial; }
    .lh-work-copy { gap: 0.3rem; }
    .lh-work-title { font-size: 1.04rem; }
    .lh-work-tag { font-size: 0.68rem; }
    .lh-portfolio-foot { margin-top: 1.7rem; }
    .lh-portfolio-links { gap: 0.65rem 1.7rem; }
    .lh-portfolio-links .lh-link { font-size: 0.77rem; }
    .lh-case-grid { grid-template-columns: minmax(0,1fr); gap: 2rem; }
    .lh-case-copy .lh-title { font-size: 2.15rem; }
    .lh-case-copy > p { font-size: 0.86rem; line-height: 1.8; margin-top: 1.15rem; }
    .lh-case-photo figcaption { font-size: 0.68rem; }
    .lh-print-grid { grid-template-columns: minmax(0,1fr); gap: 2rem; }
    .lh-print-description { margin-top: 1.15rem; font-size: 0.86rem; line-height: 1.8; }
    .lh-print-choices { gap: 0 1.5rem; margin-top: 1.4rem; }
    .lh-print-choice { font-size: 0.73rem; }
    .lh-print-panel > p { font-size: 0.84rem; }
    .lh-web-grid { grid-template-columns: minmax(0,1fr); gap: 2.6rem; }
    .lh-web-project:nth-child(2) { padding-top: 0; }
    .lh-web-preview > img { height: auto; aspect-ratio: .85; object-fit: cover; }
    .lh-web-copy { margin-top: 0.85rem; gap: 1rem; }
    .lh-web-copy h3 { font-size: 1.08rem; }
    .lh-web-copy > div > p:not(.lh-work-tag) { font-size: 0.77rem; }
    .lh-web-foot { margin-top: 1.8rem; }
    .lh-person-grid, .lh-contact-grid { grid-template-columns: minmax(0,1fr); gap: 1.6rem; }
    .lh-person .lh-title { font-size: 2.1rem; }
    .lh-person-location { font-size: 0.75rem; margin-top: 0.8rem; }
    .lh-person-copy > p { font-size: 0.87rem; line-height: 1.8; }
    .lh-contact .lh-title { font-size: 2.1rem; }
    .lh-contact-intro { font-size: 0.86rem; margin-top: 1rem; }
    .lh-contact-phone { font-size: clamp(1.8rem,8.5vw,3rem); line-height: 1.3; letter-spacing: -0.04em; }
    .lh-contact-details > p { font-size: 0.76rem; }
    .lh-contact-links { gap: 0.7rem 1.7rem; margin-top: 1.25rem; }
    .lh-contact-links :is(.lh-link,.lh-contact-mail) { font-size: 0.8rem; }
    body.lumina-site #mainNav, body.lumina-site #mainNav.navbar-shrink { padding-block: 0.8rem; }
    body.lumina-site .site-footer { padding-block: 2.5rem 1.75rem; }
}
@media (max-width: 359px) {
    .lh-intro-links { column-gap: 1.1rem; }
    .lh-intro-links > a { font-size: 0.68rem; }
    .lh-wordmark { font-size: 78px; }
    .lh-cover-caption { grid-template-columns: minmax(0,1fr); }
    .lh-cover-caption > .lh-link { grid-column: 1; grid-row: 2; justify-self: start; }
    .lh-cover-secondary { width: 72%; }
    .lh-print-choices { gap: 0 1rem; }
    .lh-print-choice { font-size: 0.65rem; }
    .lh-contact-phone { font-size: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
    .lh-home { animation: none !important; opacity: 1; }
    body.lumina-site .lh-home *, .lh-home *::before, .lh-home *::after { animation: none !important; transition: none !important; }
    body.lumina-site #mainNav *, body.lumina-site .site-footer * { animation: none !important; transition: none !important; }
}

/* Przewijanie zdjęć jest natywne. Ruch odpowiada przesunięciu palca. */
.lh-home { --lh-ease: cubic-bezier(0.22,1,0.36,1); }
.lh-reel { min-width: 0; }
.lh-reel-track {
    --lh-peek: 48px;
    --lh-reel-gap: 20px;
    position: relative;
    display: flex;
    gap: var(--lh-reel-gap);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.lh-reel-track::-webkit-scrollbar { display: none; }
.lh-reel-track::after { content: ''; flex: 0 0 calc(var(--lh-peek) - var(--lh-reel-gap)); }
.lh-shot { flex: 0 0 calc(100% - var(--lh-peek)); min-width: 0; scroll-snap-align: start; }
.lh-shot > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: var(--lh-shot-position,center); }
.lh-reel-track:focus-visible { outline: 2px solid var(--lh-accent); outline-offset: 4px; }
.lh-reel-info { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-top: 14px; }
.lh-reel-meta { display: grid; gap: 4px; min-width: 0; }
.lh-reel-meta > strong { font-size: 0.93rem; line-height: 1.5; font-weight: 500; }
.lh-reel-meta > span { color: var(--lh-muted); font-size: 0.77rem; line-height: 1.5; }
.lh-reel-controls { display: flex; align-items: center; flex-shrink: 0; }
.lh-reel-count { color: var(--lh-muted); font-size: 0.74rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lh-reel-arrow { display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 0; color: var(--lh-ink); background: transparent; }
.lh-reel-arrow svg { width: 18px; height: 18px; }
.lh-reel-prev svg { transform: rotate(180deg); }
.lh-reel-arrow:disabled { opacity: 0.25; cursor: default; }
.lh-reel-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; }
.lh-reel-thumbs { display: flex; gap: 8px; min-width: 0; }
.lh-reel-thumbs > button { display: block; width: 62px; height: 50px; padding: 3px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; opacity: 0.55; transition: opacity 160ms ease, border-color 160ms ease; }
.lh-reel-thumbs > button[aria-pressed="true"] { border-bottom-color: var(--lh-ink); opacity: 1; }
.lh-reel-thumbs img { display: block; width: 100%; height: 40px; object-fit: cover; }
.lh-reel-bottom > .lh-link { font-size: 0.8rem; }
.lh-print-photo .lh-shot > img { aspect-ratio: 4 / 5; }
.lh-print-photo .lh-reel-track { --lh-peek: 24px; --lh-reel-gap: 12px; }
.lh-print-photo .lh-reel-info { gap: 8px; }
.lh-cover-grid { grid-template-columns: minmax(0,3fr) minmax(0,1fr); }
.lh-cover-secondary { padding-top: 4rem; }
.lh-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; padding-bottom: 2px; }
.lh-filters::-webkit-scrollbar { display: none; }
.lh-filter { flex-shrink: 0; border: 0; border-bottom: 2px solid transparent; padding: 0.6rem 0.85rem; font-size: 0.83rem; transition: border-color 180ms ease, color 180ms ease; }
.lh-filter[aria-pressed="true"] { border-bottom-color: var(--lh-ink); }
.lh-work-grid { overflow-anchor: none; }
.lh-work > img { aspect-ratio: 4 / 5; object-fit: cover; }
.lh-work:first-child > img { aspect-ratio: 2 / 1; object-fit: cover; }
.lh-work[data-gallery="kat-miasto"] > img { object-position: center 65%; }
.lh-work[data-gallery="kat-sport"] > img { object-position: center 35%; }
.lh-work-grid.is-filtered .lh-work > img { aspect-ratio: 4 / 5; object-fit: cover; }
.lh-home :is(.lh-link,.lh-button,.lh-reel-arrow,.lh-preview-toggle,.lh-filter) { transition: transform 120ms var(--lh-ease), color 160ms ease, border-color 160ms ease; }
.lh-home :is(.lh-link,.lh-button,.lh-reel-arrow,.lh-preview-toggle,.lh-filter):active { transform: translateY(1px); }
.lh-web-entry { min-width: 0; }
.lh-web-entry:nth-child(2) { padding-top: 4rem; }
.lh-web-preview { height: clamp(320px,42vw,590px); }
.lh-web-preview > img { height: auto; aspect-ratio: auto; object-fit: initial; transition: transform 1600ms var(--lh-ease); }
.lh-preview-toggle { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; padding: 4px 0; border: 0; border-bottom: 1px solid var(--lh-rule); border-radius: 0; color: var(--lh-muted); background: transparent; font-size: 0.8rem; }

/* Przejście widoku po wybraniu galerii lub oferty. */
:root[data-lh-transition] { view-transition-name: none; }
:root[data-lh-transition] #app-content { view-transition-name: lh-content; }
::view-transition-group(lh-content) { animation-duration: 220ms; animation-timing-function: cubic-bezier(0.22,1,0.36,1); }
::view-transition-old(lh-content), ::view-transition-new(lh-content) { animation-duration: 180ms; }

@media (max-width: 849px) {
    .lh-reel-track { --lh-peek: 32px; --lh-reel-gap: 14px; }
    .lh-cover-grid { gap: 1.5rem; grid-template-columns: minmax(0,2.4fr) minmax(0,1fr); }
    .lh-reel-thumbs > button { width: 48px; }
    .lh-reel-bottom { align-items: flex-start; flex-wrap: wrap; }
    .lh-web-entry:nth-child(2) { padding-top: 2rem; }
    .lh-web-preview { height: 410px; }
}
@media (max-width: 599px) {
    body.lumina-site, .lh-home { --lh-gutter: 20px; --lh-space: 3rem; }
    .lh-hero { padding-top: calc(var(--lf-nav-height) + 0.8rem); }
    .lh-intro-row { gap: 4px; }
    .lh-intro-name { font-size: 0.78rem; }
    .lh-intro-links { gap: 0 1.3rem; }
    .lh-intro-links > a { font-size: 0.82rem; }
    .lh-wordmark { font-size: clamp(64px,20vw,110px); margin: 12px 0 24px !important; letter-spacing: -0.075em; }
    .lh-cover-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .lh-cover-primary { grid-column: 1; }
    .lh-cover-secondary { display: none; }
    .lh-cover-note { grid-column: 1; grid-row: auto; padding-bottom: 0; border: 0; gap: 10px; }
    .lh-cover-note > p { font-size: 0.96rem; line-height: 1.65; }
    .lh-cover-note .lh-link { font-size: 0.96rem; }
    .lh-reel-track { --lh-peek: 24px; --lh-reel-gap: 12px; }
    .lh-shot > img { aspect-ratio: 4 / 3; }
    .lh-reel-info { gap: 6px; padding-top: 12px; }
    .lh-reel-meta > strong { font-size: 0.87rem; }
    .lh-reel-meta > span { font-size: 0.77rem; }
    .lh-reel-count { font-size: 0.69rem; }
    .lh-reel-arrow { width: 44px; min-width: 44px; min-height: 44px; }
    .lh-reel-bottom { flex-wrap: wrap; align-items: center; margin-top: 10px; gap: 8px 12px; }
    .lh-reel-thumbs { gap: 6px; }
    .lh-reel-thumbs > button { width: clamp(44px,11vw,52px); min-width: 44px; height: 48px; padding: 2px 0; }
    .lh-reel-thumbs img { height: 40px; }
    .lh-reel-bottom > .lh-link { min-width: 44px; font-size: 0.8rem; gap: 5px; }
    .lh-reel-bottom > .lh-link svg { width: 14px; }
    .lh-section-head { gap: 12px; margin-bottom: 22px; }
    .lh-section-head > p { font-size: 0.92rem; line-height: 1.6; }
    .lh-title { font-size: 2.05rem; }
    .lh-filters { margin-bottom: 22px; }
    .lh-filter { font-size: 0.81rem; padding-inline: 0.65rem; }
    .lh-work-grid, .lh-work-grid.is-filtered { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 16px; }
    .lh-work, .lh-work-grid.is-filtered .lh-work { grid-column: auto; }
    .lh-work:first-child { grid-column: 1 / -1; }
    .lh-work:first-child > img { aspect-ratio: 3 / 2; object-fit: cover; }
    .lh-work-grid.is-filtered .lh-work:first-child { grid-column: auto; }
    .lh-work-grid.is-filtered .lh-work > img { aspect-ratio: 4 / 5; object-fit: cover; }
    .lh-work-copy { padding-top: 10px; gap: 3px; }
    .lh-work-title { font-size: 0.93rem; line-height: 1.4; }
    .lh-work-tag { font-size: 0.75rem; line-height: 1.45; }
    .lh-portfolio-links .lh-link { font-size: 0.84rem; }
    .lh-case-copy > p, .lh-print-description, .lh-person-copy > p { font-size: 0.95rem; line-height: 1.75; }
    .lh-case-links .lh-link { font-size: 0.84rem; }
    .lh-print-choice { font-size: 0.87rem; }
    .lh-print-grid { gap: 28px; }
    .lh-print-photo { width: 100%; }
    .lh-print-photo .lh-shot > img { aspect-ratio: 1 / 1; object-position: center 58%; }
    .lh-web-entry:nth-child(2) { padding-top: 0; }
    .lh-web-preview { height: auto; aspect-ratio: 1 / 1.05; }
    .lh-web-copy > div > p:not(.lh-work-tag) { font-size: 0.87rem; }
    .lh-preview-toggle { font-size: 0.86rem; }
    .lh-contact-links :is(.lh-link,.lh-contact-mail) { font-size: 0.9rem; }
}
@media (max-width: 359px) {
    body.lumina-site, .lh-home { --lh-gutter: 16px; }
    .lh-reel-info { flex-wrap: wrap; align-items: center; }
    .lh-reel-controls { margin-left: auto; }
    .lh-reel-thumbs { gap: 4px; }
    .lh-reel-thumbs > button { width: 44px; }
    .lh-reel-bottom { gap: 8px; }
    .lh-reel-bottom > .lh-link { margin-left: auto; }
    .lh-work-grid, .lh-work-grid.is-filtered { column-gap: 12px; }
    .lh-work-title { font-size: 0.86rem; }
}
@media (prefers-reduced-motion: reduce) {
    .lh-reel-track { scroll-behavior: auto; }
    ::view-transition-group(lh-content), ::view-transition-old(lh-content), ::view-transition-new(lh-content) { animation: none !important; }
}

/* Autorskie portfolio: album fotografii, większy reportaż i ruch przedmiotów. */
body.lumina-site, .lh-home { --lh-paper: #f5f6f0; --lh-matte: #e7ebdf; --lh-rule: #cbd1c3; --lh-space: clamp(3.5rem,6vw,6rem); }
.lh-home { font-family: Arial, sans-serif; }
.lh-home .lh-title { font-family: 'Playfair Display',Georgia,serif; font-weight: 500; font-size: clamp(2.6rem,5vw,4.8rem); line-height: 1.14; letter-spacing: -0.04em; }
.lh-home .lh-section-head { display: block; }
.lh-home .lh-section-head > p { max-width: 32rem; margin-top: 16px; font-size: 1rem; }
.lh-hero { padding-top: calc(var(--lf-nav-height) + 32px); padding-bottom: 0; }
.lh-opening { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 20px 48px; align-items: center; }
.lh-opening-copy { min-width: 0; padding-bottom: 45px; }
.lh-opening .lh-intro-name { font-size: 0.91rem; }
.lh-opening .lh-wordmark { font-family: 'Playfair Display',Georgia,serif; font-size: clamp(84px,9.3vw,144px); font-weight: 500 !important; line-height: 1.1; letter-spacing: -0.07em; margin: 12px 0 22px !important; }
.lh-opening-description { font-size: clamp(1.2rem,1.7vw,1.55rem); line-height: 1.45; margin: 0; }
.lh-opening-contact { margin-top: 26px; font-size: 1rem; }
.lh-album { min-width: 0; }
.lh-album-stage { position: relative; isolation: isolate; height: clamp(340px,38vw,550px); touch-action: pan-y; user-select: none; }
.lh-album-stage:focus-visible { outline: 2px solid var(--lh-accent); outline-offset: 8px; }
.lh-album-front { position: absolute; width: 78%; aspect-ratio: 4 / 3; left: 11%; top: 10%; transform: rotate(-2deg); z-index: 2; background: var(--lh-matte); border: 7px solid var(--lh-paper); box-shadow: 0 10px 25px rgb(25 43 29 / .12); }
.lh-album-frame { position: absolute; inset: 0; opacity: 0; transition: opacity 450ms ease; }
.lh-album-frame[data-active="true"] { opacity: 1; }
.lh-album-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--lh-shot-position,center); }
.lh-album-side { position: absolute; width: 34%; aspect-ratio: 4 / 5; padding: 0; border: 6px solid var(--lh-paper); border-radius: 0; background: var(--lh-matte); box-shadow: 0 5px 16px rgb(25 43 29 / .1); }
.lh-album-side img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lh-album-left { left: 0; top: 2%; transform: rotate(-8deg); }
.lh-album-right { right: 0; bottom: 6%; transform: rotate(7deg); }
.lh-album-caption { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; }
.lh-album-caption > div { display: grid; gap: 4px; min-width: 0; }
.lh-album-caption strong { font-size: 0.97rem; font-weight: 500; line-height: 1.4; }
.lh-album-caption span { color: var(--lh-muted); font-size: 0.78rem; }
.lh-album-caption .lh-link { flex-shrink: 0; font-size: 0.81rem; border: 0; }
.lh-album-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 14px; margin-top: 12px; }
.lh-album-thumbs { display: flex; gap: 6px; }
.lh-album-thumbs button { flex-shrink: 0; width: 44px; height: 48px; padding: 0 0 4px; border: 0; border-bottom: 2px solid transparent; background: transparent; opacity: .58; }
.lh-album-thumbs button[aria-pressed="true"] { opacity: 1; border-bottom-color: var(--lh-ink); }
.lh-album-thumbs img { width: 100%; height: 39px; object-fit: cover; }
.lh-album-play, .lh-lamp-play { min-height: 44px; padding: 5px 0; border: 0; border-bottom: 1px solid var(--lh-rule); border-radius: 0; color: var(--lh-muted); background: transparent; font-size: 0.8rem !important; }
.lh-album-error { font-size: .85rem; color: var(--lh-ink); }
.lh-service-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 38px; }
.lh-service-nav a { display: flex; justify-content: space-between; align-items: center; min-height: 64px; gap: 8px; border-top: 1px solid var(--lh-rule); font-size: 1rem; }
.lh-service-nav svg { width: 18px; height: 18px; flex-shrink: 0; }
.lh-work-grid { gap: 42px 48px; align-items: end; }
.lh-work:first-child > img { aspect-ratio: 2 / 1; }
.lh-work:nth-child(2) > img, .lh-work:nth-child(5) > img { aspect-ratio: 1 / 1; }
.lh-work:nth-child(3) > img, .lh-work:nth-child(7) > img { aspect-ratio: 3 / 4; }
.lh-work:nth-child(4) > img, .lh-work:nth-child(6) > img { aspect-ratio: 4 / 3; }
.lh-work-grid.is-filtered .lh-work > img { aspect-ratio: 1 / 1; }
.lh-work:first-child .lh-work-title { font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.8rem,3vw,2.5rem); line-height: 1.2; }
.lh-work-grid.is-filtered .lh-work-title { font-family: Arial,sans-serif; font-size: 1rem; }
.lh-work-copy { gap: 5px; }
.lh-case { border: 0; background: #e1e9d9; }
:root:not([data-theme="forest"]) .lh-case { background: #2c382e; }
.lh-case-heading { margin-bottom: 26px; }
.lh-case-heading > p { margin: 16px 0 0; font-size: 1rem; line-height: 1.65; }
.lh-case-photos { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.6fr); padding-inline: 6px; }
.lh-case-photos button { display: block; min-width: 0; padding: 0; border: 0; border-radius: 0; background: var(--lh-matte); }
.lh-case-photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lh-case-day { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.lh-case-night { grid-column: 2; aspect-ratio: 3 / 4; margin-top: -30%; transform: rotate(3deg); border: 6px solid #e1e9d9 !important; }
:root:not([data-theme="forest"]) .lh-case-night { border-color: #2c382e !important; }
.lh-case-bottom { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 26px 48px; margin-top: 22px; }
.lh-case-details summary { min-height: 44px; padding-top: 10px; font-size: .95rem; cursor: pointer; }
.lh-case-details > p { margin-top: 16px; font-size: .95rem; line-height: 1.75; }
.lh-case-links { justify-content: flex-end; align-content: flex-start; margin: 0; }
.lh-print { border: 0; }
.lh-print-grid { align-items: center; }
.lh-print-description { font-size: 1rem; }
.lh-lamp-media { width: 100%; aspect-ratio: 4 / 5; position: relative; overflow: hidden; }
.lh-lamp-media > img, .lh-lamp-media > video { display: block; width: 100%; height: 100%; object-fit: cover; }
.lh-lamp-media > video { position: absolute; inset: 0; opacity: 0; }
.lh-lamp-media.is-playing > video { opacity: 1; }
.lh-reel-count { display: none; }
.lh-lamp-play { margin-top: 8px; }
.lh-web { border: 0; padding-top: 0; }
.lh-web-entry:nth-child(2) { padding-top: 85px; }
.lh-web-preview { box-shadow: 0 8px 24px rgb(25 43 29 / .08); }
/* Nagłówek nie może leżeć na linii sekcji: mniejszy odstęp niż reszta, ale nie zero. */
.lh-person { padding-top: clamp(2.25rem, 4vw, 3.5rem); }
.lh-home .lh-person .lh-title, .lh-home .lh-contact .lh-title { font-family: 'Playfair Display',Georgia,serif; font-size: clamp(2.5rem,4vw,4rem); }
/* Kontakt: uczciwa pora dnia w Polsce i kopiowanie numeru na komputerze. */
.lh-contact-details > .lh-contact-status { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; color: var(--lh-muted); font-size: .86rem; line-height: 1.6; }
.lh-contact-status::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; margin-top: calc(.8em - 4px); border-radius: 50%; background: #3f8f5f; box-shadow: 0 0 0 0 rgb(63 143 95 / .45); animation: lhStatusPulse 2.8s ease-out infinite; }
.lh-contact-status.is-night::before { background: var(--lh-muted); box-shadow: none; animation: none; opacity: .6; }
@keyframes lhStatusPulse { 0% { box-shadow: 0 0 0 0 rgb(63 143 95 / .45); } 70%, 100% { box-shadow: 0 0 0 9px rgb(63 143 95 / 0); } }
.lh-contact-phone-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.lh-contact-copy { display: none; min-height: 44px; padding: 0; border: 0; background: none; color: var(--lh-muted); font: inherit; font-size: .82rem; text-decoration: underline; text-decoration-color: var(--lh-rule); text-underline-offset: 5px; cursor: pointer; transition: color .2s ease; }
.lh-contact-copy:hover { color: var(--lh-ink); }
.lh-contact-copy.is-done { color: var(--lh-accent); text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .lh-contact-copy { display: inline-block; } }
@media (prefers-reduced-motion: reduce) { .lh-contact-status::before { animation: none; } }
@media (max-width: 849px) {
    .lh-opening { grid-template-columns: minmax(0,1fr); gap: 4px; }
    .lh-opening-copy { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; padding: 0; }
    .lh-intro-name, .lh-wordmark { grid-column: 1 / -1; }
    .lh-opening-contact { margin: 0 0 4px; font-size: .91rem; }
    .lh-opening-description { font-size: 1.15rem; }
    .lh-album-stage { height: clamp(320px,65vw,520px); }
    .lh-album-front { width: 73%; left: 14%; top: 7%; }
    .lh-album-side { width: 31%; }
    .lh-album-right { bottom: 7%; }
    .lh-case-bottom { grid-template-columns: minmax(0,1fr); gap: 12px; }
    .lh-case-links { justify-content: flex-start; }
}
@media (max-width: 599px) {
    .lh-hero { padding-top: calc(var(--lf-nav-height) + 16px); }
    .lh-opening { gap: 14px; }
    .lh-opening .lh-intro-name { font-size: .83rem; }
    .lh-opening .lh-wordmark { font-size: clamp(68px,20vw,92px); margin: 7px 0 12px !important; }
    .lh-opening-description { font-size: 1.02rem; line-height: 1.45; }
    .lh-opening-contact { font-size: .79rem; gap: 6px; }
    .lh-album-stage { height: clamp(248px,77vw,345px); }
    .lh-album-front { width: 79%; left: 10%; top: 10%; border-width: 5px; }
    .lh-album-side { width: 35%; border-width: 4px; }
    .lh-album-right { bottom: 4%; }
    .lh-album-left { top: 2%; }
    .lh-album-caption { margin-top: 0; }
    .lh-album-caption strong { font-size: .88rem; }
    .lh-album-caption span { font-size: .75rem; }
    .lh-album-thumbs { gap: 4px; }
    .lh-album-play { font-size: .75rem !important; }
    .lh-service-nav { gap: 16px; margin-top: 30px; }
    .lh-service-nav a { min-height: 50px; font-size: .83rem; }
    .lh-service-nav svg { display: none; }
    .lh-home .lh-title { font-size: 2.65rem; }
    .lh-home .lh-section-head { margin-bottom: 24px; }
    .lh-home .lh-section-head > p { font-size: .94rem; margin-top: 12px; line-height: 1.65; }
    .lh-work-grid, .lh-work-grid.is-filtered { gap: 28px 16px; align-items: end; }
    .lh-work:first-child > img { aspect-ratio: 4 / 3; }
    .lh-work:first-child .lh-work-title { font-size: 1.8rem; }
    .lh-work-grid.is-filtered .lh-work-title { font-size: .94rem; }
    .lh-work-title { font-size: .97rem; }
    .lh-work-tag { font-size: .77rem; }
    .lh-case-heading > p { font-size: .95rem; }
    .lh-case-day { aspect-ratio: 4 / 3; }
    .lh-case-night { margin-top: -45%; border-width: 4px !important; }
    .lh-case-bottom { margin-top: 16px; }
    .lh-case-details summary { font-size: .9rem; }
    .lh-print-grid { gap: 24px; }
    .lh-print-photo { width: min(100%,420px); justify-self: center; }
    .lh-web-entry:nth-child(2) { padding-top: 0; }
    .lh-web-grid { gap: 34px; }
    .lh-person { padding-top: 2rem; }
}
@media (max-width: 359px) {
    .lh-album-bottom { gap: 4px; }
    .lh-album-play { margin-left: auto; }
    .lh-opening-description { font-size: .95rem; }
    .lh-opening-contact { font-size: .73rem; }
    .lh-opening-contact svg { width: 15px; }
    .lh-service-nav { gap: 8px; }
    .lh-service-nav a { font-size: .8rem; }
}
