:root { --elira-header-height: 73px; --elira-gutter: clamp(18px,5vw,80px); }
html { scroll-padding-top: calc(var(--elira-header-height) + 20px); }
.elira-wrap, .elira-grid > *, .elira-split > *, .elira-listen-panel > *, .elira-page-hero .elira-wrap > *, .elira-step > *, .elira-legal-layout > * { min-width: 0; }
.elira-header, .elira-section, .elira-page-hero, .elira-footer, .elira-dialog { overflow-wrap: break-word; }
.elira-nav-inner { padding-left: max(var(--elira-gutter),env(safe-area-inset-left)); padding-right: max(var(--elira-gutter),env(safe-area-inset-right)); }
.elira-header { padding-top: env(safe-area-inset-top); }
.elira-menu, .elira-gallery-controls button, .elira-lightbox-controls button, .elira-dialog-close, .elira-scene-meta button { min-height: 44px; min-width: 44px; }
.elira-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.elira-scene-controls button { min-height: 54px; }
.elira-form input, .elira-form textarea { font-size: 16px; }
.elira-mini-choice { white-space: normal; }
.elira-mini-choice > span, .elira-mini-entry > span, .elira-scene-choice > span { min-width: 0; overflow-wrap: anywhere; }
.elira-mini-choice > b, .elira-scene-choice > b { flex-shrink: 0; }
.elira-table-wrap { max-width: 100%; overscroll-behavior-inline: contain; }
.elira-footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
.elira-dialog { box-sizing: border-box; max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overscroll-behavior: contain; }
.elira-shot-dialog img { max-height: max(120px,calc(100dvh - 230px)); object-fit: contain; }
.elira-scroll-constellation .elira-stars button { height: 44px; }
.elira-scroll-constellation .elira-stars button > span:first-child { line-height: 44px; }
.elira-geometry-drawing { width: min(78vw,54svh,440px); }
html:has(body.elira-home) { font-size: min(1vw,19.2px); }
body.elira-home .container { width: 100%; max-width: 1920px; }
body.elira-home .hero-container { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto; gap: 18px; height: auto; min-height: 100svh; padding: calc(var(--elira-header-height) + 20px) var(--elira-gutter) max(22px,env(safe-area-inset-bottom)); }
body.elira-home .hero-content { display: contents; }
body.elira-home .text-elements.hero-s { grid-row: 1; position: relative; top: auto; translate: none; gap: 8px; width: 100%; z-index: 1000; }
body.elira-home .headline-mega { width: 100%; margin: 0; font-size: clamp(56px,8vw,120px); line-height: 1.12; letter-spacing: .025em; text-align: center; }
body.elira-home .hero-tag { margin: 0; font-size: clamp(16px,1.7vw,24px); line-height: 1.4; text-align: center; }
body.elira-home .hero-mobile-point { grid-row: 2; position: relative; inset: auto; display: grid; place-items: center; width: 100%; height: auto; min-height: 0; margin: 0; align-self: center; }
body.elira-home .hero-mobile { --phone-width: clamp(198px,calc((100svh - 380px) * .605),385px); position: relative; inset: auto; width: var(--phone-width); max-width: 74vw; height: auto; margin: 0; }
body.elira-home .hero-down-elements { grid-row: 3; position: relative; width: 100%; z-index: 1000; }
body.elira-home .hero-download-app { max-width: 100%; padding: 14px 18px; gap: 20px; border-radius: 22px; align-items: center; }
body.elira-home .hero-download-text { min-width: 0; gap: 5px; }
body.elira-home .hero-app-headline { font-size: 16px; line-height: 1.4; }
body.elira-home .hero-content .body-main { font-size: 13px; line-height: 1.5; }
body.elira-home .main-button { min-height: 44px; padding: 12px 22px; flex-shrink: 0; }
body.elira-home .main-button .button-text { font-size: 14px; line-height: 1.4; }
body.elira-home .name-headline { font-size: clamp(64px,14vw,210px); letter-spacing: -.025em; line-height: 1.2; }
body.elira-home #elira-signature .text-elements.name-s { flex-direction: column; align-items: center; gap: clamp(20px,3vw,44px); }
body.elira-home #elira-signature .name-tag { position: relative; inset: auto; margin: 0; max-width: 100%; font-size: clamp(16px,2vw,28px); line-height: 1.5; text-align: center; }
body.elira-home #elira-signature .name-headline-wrap { flex-shrink: 0; }
@media (min-width: 992px) and (max-width: 1199px) {
  .elira-page-hero.with-art > .elira-wrap { gap: 32px; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
  .elira-split, .elira-listen-panel { gap: 36px; }
  .elira-step { grid-template-columns: 64px minmax(0,1fr) minmax(200px,.7fr); gap: 24px; }
}
@media (max-width: 991px) {
  :root { --elira-header-height: 65px; }
  .elira-header .elira-nav-inner { padding-block: 10px; gap: 20px; }
  .elira-brand-logo { width: 38px; height: 38px; }
  .elira-brand .elira-brand-name { font-size: 16px; }
  .elira-menu { display: block; font-size: 12px; padding: 9px 13px; }
  .elira-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - var(--elira-header-height)); overflow-y: auto; overscroll-behavior: contain; padding: 16px var(--elira-gutter) max(20px,env(safe-area-inset-bottom)); background: #101827f5; border-bottom: 1px solid var(--elira-line); flex-direction: column; align-items: stretch; gap: 8px; }
  .elira-nav.is-open { display: flex; }
  .elira-nav a { padding: 10px 0; font-size: 17px; justify-content: space-between; border-bottom: 1px solid var(--elira-line); }
  .elira-nav a::after { position: static; }
  .elira-page-hero { padding: calc(var(--elira-header-height) + 48px) var(--elira-gutter) 56px; }
  .elira-page-hero.with-art > .elira-wrap { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .elira-page-title { font-size: clamp(38px,6.4vw,64px); }
  .elira-page-art.with-scene { width: 100%; max-width: 430px; margin-inline: auto; }
  .elira-section { padding: 76px var(--elira-gutter); }
  .elira-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .elira-split, .elira-listen-panel { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .elira-listen-panel { min-height: 0; }
  .elira-step { grid-template-columns: 48px minmax(0,1fr); gap: 24px; }
  .elira-step aside { grid-column: 2; }
  .elira-legal-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .elira-toc { position: static; display: flex; flex-wrap: wrap; gap: 5px 16px; border-bottom: 1px solid var(--elira-line); padding-bottom: 24px; }
  .elira-toc a { padding-block: 9px; }
}
@media (max-width: 1023px), (max-height: 649px), (prefers-reduced-motion: reduce) {
  body.elira-home .about-height, body.elira-home .about-pin, body.elira-home .about-pg-area, body.elira-home .about-pg-height, body.elira-home .about-pg-pin { position: relative; inset: auto; height: auto; min-height: 0; width: 100%; }
  body.elira-home .container.about-s { height: auto; padding: 72px var(--elira-gutter) 30px; }
  body.elira-home .about-headline-d, body.elira-home .about-pg-text-d { display: none; }
  body.elira-home .about-headline-p { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; max-width: 680px; }
  body.elira-home .about-headline-p .about-line-span { display: inline-block; position: relative; inset: auto; font-size: clamp(36px,6vw,64px); line-height: 1.15; letter-spacing: -.03em; }
  body.elira-home .about-headline-p .about-icon-position-p { display: none; }
  body.elira-home .container.about-pg-s { height: auto; padding: 20px var(--elira-gutter) 72px; }
  body.elira-home .about-pg-text-p { display: block; max-width: 650px; margin: auto; font-size: 18px; line-height: 1.75; width: 100%; }
  body.elira-home .container.how-work-s { display: block; height: auto; padding: 72px var(--elira-gutter); }
  body.elira-home .how-work-sticky { position: relative; inset: auto; height: auto; margin-bottom: 40px; }
  body.elira-home .how-work-headline { position: relative; width: 100%; margin: 0; font-size: clamp(42px,7vw,76px); line-height: 1.12; letter-spacing: -.04em; }
  body.elira-home .how-work-widgets-front { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; height: auto; gap: 24px; }
  body.elira-home .hw-position { position: relative; inset: auto; width: 100%; margin: 0; min-width: 0; }
  body.elira-home .hw-position.s1 { order: 1; }
  body.elira-home .hw-position.s5 { order: 2; }
  body.elira-home .hw-position.s2 { order: 3; }
  body.elira-home .hw-position.s6 { order: 4; }
  body.elira-home .hw-position.s3 { order: 5; }
  body.elira-home .hw-position.s7 { order: 6; }
  body.elira-home .hw-position.s4 { order: 7; }
  body.elira-home .hw-position.s8 { order: 8; }
  body.elira-home .hw-position.s9 { order: 9; grid-column: 1 / -1; max-width: 320px; justify-self: center; }
  body.elira-home .hw-view, body.elira-home .hw-card-block { width: 100%; height: 100%; }
  body.elira-home .hw-card-block { border-radius: 24px; padding: 1px; }
  body.elira-home .hw-card { width: 100%; height: 100%; border-radius: 23px; padding: 24px; gap: 18px; }
  body.elira-home .hw-card-icon { width: 44px; height: 44px; }
  body.elira-home .hw-card .headline-h4 { font-size: 24px; line-height: 1.3; }
  body.elira-home .hw-card .body-main { font-size: 15px; line-height: 1.65; }
  body.elira-home .name-headline-wrap.how-work-card-s, body.elira-home .description-wrap.how-work-card-s { width: 100%; }
  body.elira-home .how-work-widget { width: 100%; height: 100%; }
  body.elira-home .how-work-widget .elira-product-visual { min-height: 190px; padding: 20px; }
  body.elira-home .how-work-widget .elira-mini-choice { font-size: 12px; }
  body.elira-home .container.what-is-s { padding: 72px var(--elira-gutter); }
  body.elira-home .what-is-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 24px; }
  body.elira-home .what-is-list > .what-is-item { grid-area: auto !important; display: flex; flex-direction: column; padding: 0; gap: 24px; width: 100%; height: auto; min-width: 0; border: 0; }
  body.elira-home .what-is-line { display: none; }
  body.elira-home .what-is-widget { position: relative; inset: auto; width: 100%; max-width: 350px; height: auto; order: -1; }
  body.elira-home .text-elements.what-is-s { text-align: center; align-items: center; gap: 14px; width: 100%; }
  body.elira-home .name-headline-wrap.what-is-s, body.elira-home .description-wrap.what-is-s { width: 100%; }
  body.elira-home .what-is-item .headline-h3 { font-size: 30px; line-height: 1.2; }
  body.elira-home .what-is-item .body-main { font-size: 16px; line-height: 1.65; }
  body.elira-home .stack-height, body.elira-home .stack-sticky { position: relative; top: auto; height: auto; }
  body.elira-home .container.stack-s { display: flex; flex-direction: column; gap: 28px; padding: 40px var(--elira-gutter); }
  body.elira-home .stack-card-wrapper.s1, body.elira-home .stack-card-wrapper.s2 { position: relative; inset: auto; width: 100%; transform: none !important; opacity: 1 !important; }
  body.elira-home .stack-card-stroke, body.elira-home .cta-card-wrapper { width: 100%; height: auto; border-radius: 28px; }
  body.elira-home .stack-card, body.elira-home .cta-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.7fr); align-items: center; height: auto; padding: 32px; gap: 28px; border-radius: 27px; }
  body.elira-home .text-elements.stack-s, body.elira-home .text-elements.cta-s { width: 100%; min-width: 0; gap: 16px; }
  body.elira-home .stack-card .name-headline-wrap, body.elira-home .stack-card .description-wrap, body.elira-home .cta-card .name-headline-wrap, body.elira-home .cta-card .description-wrap { width: 100%; padding: 0; }
  body.elira-home .stack-card h2, body.elira-home .cta-card h2 { font-size: clamp(28px,3.8vw,42px); line-height: 1.2; letter-spacing: -.03em; }
  body.elira-home .stack-card .body-main, body.elira-home .cta-card .body-main { font-size: 16px; line-height: 1.7; }
  body.elira-home .stact-tag { font-size: 13px; }
  body.elira-home .stack-image.s1, body.elira-home .stack-image.s2, body.elira-home .cta-image { position: relative; inset: auto; width: auto; max-width: 100%; height: clamp(280px,45vw,450px); margin: 0; justify-self: center; }
  body.elira-home .container.cta-s { padding: 72px var(--elira-gutter); }
}
@media (max-width: 600px) {
  .elira-grid, .elira-grid.two { grid-template-columns: minmax(0,1fr); }
  .elira-section { padding-block: 64px; }
  .elira-heading { font-size: clamp(30px,8vw,40px); }
  .elira-card { padding: 24px; }
  .elira-page-title { font-size: clamp(36px,9.5vw,48px); }
  .elira-scene-panel { padding: 18px; }
  .elira-step { grid-template-columns: 36px minmax(0,1fr); gap: 16px; }
  .elira-step aside { grid-column: 1 / -1; }
  .elira-footer-links { width: 100%; gap: 16px; }
  body.elira-home .hero-container { padding-top: calc(var(--elira-header-height) + 16px); gap: 16px; }
  body.elira-home .hero-mobile { --phone-width: clamp(198px,calc((100svh - 400px) * .594),330px); }
  body.elira-home .hero-down-elements { justify-content: center; }
  body.elira-home .hero-download-app { flex-direction: column; width: min(100%,350px); gap: 12px; padding: 12px 16px; text-align: center; }
  body.elira-home .hero-app-headline { font-size: 14px; }
  body.elira-home .hero-download-text { align-items: center; }
  body.elira-home .how-work-widgets-front, body.elira-home .what-is-list { grid-template-columns: minmax(0,1fr); }
  body.elira-home .hw-position:has(.how-work-widget) { max-width: 300px; justify-self: center; }
  body.elira-home .stack-card, body.elira-home .cta-card { grid-template-columns: minmax(0,1fr); padding: 26px 22px; }
  body.elira-home .stack-image.s1, body.elira-home .stack-image.s2, body.elira-home .cta-image { height: min(380px,100vw); }
}
@media (max-height: 550px) and (min-width: 600px) {
  .elira-shot-dialog[open] { display: grid; grid-template-columns: minmax(130px,.8fr) minmax(0,1fr); grid-template-rows: auto auto auto 1fr; gap: 8px 24px; width: min(680px,calc(100% - 32px)); padding: 16px 24px; }
  .elira-shot-dialog > img { grid-column: 1; grid-row: 1 / 5; max-height: calc(100dvh - 70px); margin: auto; }
  .elira-shot-dialog > :not(img) { grid-column: 2; }
  .elira-shot-dialog .elira-lightbox-controls { gap: 16px; }
  body.elira-home .hero-container { grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-rows: auto auto; min-height: 520px; gap: 24px; }
  body.elira-home .text-elements.hero-s { grid-column: 1; grid-row: 1; align-self: end; }
  body.elira-home .hero-mobile-point { grid-column: 2; grid-row: 1 / 3; }
  body.elira-home .hero-mobile { --phone-width: min(30.8vw,231px); }
  body.elira-home .hero-down-elements { grid-column: 1; grid-row: 2; justify-content: center; align-self: start; }
  body.elira-home .hero-download-app { flex-direction: column; gap: 12px; text-align: center; }
  body.elira-home .headline-mega { font-size: clamp(50px,7vw,90px); }
  .elira-geometry-lockup { gap: 0; padding-top: 30px; }
  .elira-geometry-drawing { width: min(60svh,340px); }
  .elira-geometry-signature { transform: scale(.9); }
}
