/* Compact page proportions and shared interaction styles for both languages. */
html { color-scheme: dark; }
.home-shell { inline-size: min(calc(100% - 80px), 1320px); }
.pc-details-shell, .pc-bridge-shell, .site-footer .footer-inner { width: min(calc(100% - 80px), 1232px); }
.home-header .home-shell { inline-size: min(calc(100% - 80px), 1200px); }
main > :is(#included,#bridge,#tools,#workflow,#pricing,#faq,#purchase) { margin-block-start: clamp(42px,6vh,64px); }
.home-grid { min-block-size: min(580px, calc(100svh - 180px)); padding-block: clamp(28px, 5vh, 50px); gap: 36px; }
.home-models { padding-block: 24px; }
.pc-details-heading h2, .pc-faq .pc-details-heading h2 { font-size: clamp(34px, 3.6vw, 50px); font-weight: 600; line-height: 1.1; }
.pc-details-heading > p:last-child { font-size: 15px; line-height: 1.6; }
.pc-details, #workflow.pc-workflow, #faq.pc-faq { padding-block: clamp(36px, 5.5vh, 58px); }
.pc-bridge-design { padding-block: clamp(36px, 5.5vh, 52px) 34px; background: #080c11; }
.pc-bridge-intro { align-items: center; }
.pc-bridge-copy h2 { font-size: clamp(36px, 3.3vw, 44px); margin-bottom: 14px; text-wrap: balance; }
.pc-bridge-kicker { margin-bottom: 16px; }
.pc-bridge-lead { font-size: 14px; line-height: 1.55; }
.pc-bridge-transfer { font-size: 13px; line-height: 1.55; margin-top: 10px; }
.pc-bridge-panel { margin-top: 18px; max-width: 330px; }
.pc-bridge-editors { margin-top: 16px; }
.pc-bridge-stage { height: 320px; }
.pc-bridge-source { bottom: 160px; }
.pc-bridge-result { bottom: 32px; }
#bridge .pc-bridge-modes { margin-top: 24px; gap: 14px; }
#bridge .pc-bridge-mode { padding: 15px 13px; gap: 12px; }
.pc-bridge-mode-copy { gap: 6px; }
.pc-bridge-mode-copy > strong { font-size: 16px; }
.pc-bridge-mode-copy > span { font-size: 11px; }
.pc-bridge-mode-icon { width: 56px; height: 28px; }
.pc-parallax-bg { position: absolute; inset: -80px 0; z-index: -1; pointer-events: none; transform: translate3d(0,var(--pc-parallax-y,0px),0); }
.home-hero .home-rain-bg[data-parallax] { transform: translate3d(0,var(--pc-parallax-y,0px),0); }
.pc-bridge-background { background: linear-gradient(90deg,#080c11e8,#080c1170 58%,#080c1190), url('assets/design/bifrost-space-01.webp') center / cover; }
.pc-tools, .pc-catalog, .pc-final-buy { position: relative; isolation: isolate; overflow: clip; background: #080c11; }
.pc-tools-background { background: radial-gradient(ellipse at 15% 65%,#8357733b,transparent 58%),radial-gradient(ellipse at 82% 5%,#38777540,transparent 60%); }
:is(#tools,#purchase)::after { content: ''; position: absolute; inset: 0 50% auto auto; width: min(calc(100% - 36px),1120px); height: 3px; transform: translateX(50%); background: var(--rainbow-grad,linear-gradient(90deg,#ad7952,#935d71,#756294,#4f839f,#699373)); mask-image: linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent); opacity: .7; }
.pc-tools .pc-details-heading { max-width: 880px; margin-bottom: 28px; }
.pc-eyebrow { margin-bottom: 12px; }
.pc-tools-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.pc-tool-card { border: 1px solid #53626b; border-radius: 12px; background: #141d25; overflow: hidden; }
.pc-tool-visual { height: 176px; position: relative; background: #151f28; overflow: hidden; }
.pc-camera-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.pc-tool-visual::after { content:''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,#141d25); pointer-events:none; }
.pc-camera-tags { position: absolute; z-index: 1; bottom: 14px; left: 16px; right: 16px; display: flex; flex-wrap: wrap; gap: 6px; }
.pc-camera-tags span { color: #e0e9ed; font-size: 10px; padding: 4px 7px; border: 1px solid #67808a; border-radius: 4px; background: #1d2b35; }
.pc-tool-copy { padding: 18px 22px 22px; }
.pc-tool-copy h3 { font-size: 22px; font-weight: 600; margin: 0 0 12px; }
.pc-tool-copy p { color: #b5c3ce; font-size: 14px; line-height: 1.6; margin: 0 0 20px; }
.pc-tool-copy a { display: inline-flex; gap: 12px; color: #bde5db; font-size: 13px; }
.pc-audio-visual { background: radial-gradient(ellipse at center,#3c394e,#18242d 70%); display: grid; place-items: center; }
.pc-waveform { display: flex; align-items: center; gap: 7px; height: 100px; margin-bottom: 28px; }
.pc-waveform i { width: 5px; height: 25px; border-radius: 3px; background: #91cdbf; }
.pc-waveform i:nth-child(3n) { height: 70px; background: #b89bbf; }
.pc-waveform i:nth-child(4n) { height: 45px; background: #c99982; }
.pc-waveform i:nth-child(5n) { height: 88px; }
.pc-workflow .pc-details-heading { margin-bottom: 25px; gap: 44px; }
.pc-flow-comparison { grid-template-columns: 150px minmax(0,1fr); gap: 18px 22px; }
.pc-flow-ruler { margin-left: 172px; margin-bottom: 14px; padding-block: 7px 17px; }
.pc-flow-lane { padding: 9px; }
.pc-flow-lane > li { min-height: 122px; padding: 13px 10px; }
.pc-flow-manual > li { min-height: 96px; }
.pc-flow-number { margin-bottom: 10px !important; }
.pc-flow-label p strong { font-size: 52px; }
.pc-flow-lane .pc-flow-generation { background: #273540; opacity: 1; border: 1px solid #6b818d; box-shadow: inset 0 1px 0 #ffffff13; }
.pc-flow-generation > strong { color: #e7eff3; }
.pc-flow-common { color: #bacbd6; margin-bottom: 12px; }
.pc-flow-bifrost .pc-flow-step { padding: 16px 19px; }
.pc-flow-note { margin: 18px 0 0 172px; line-height: 1.6; }
#workflow.pc-workflow > .hyperspace-scene.pc-workflow-hyperspace { transform: translate3d(0,var(--pc-parallax-y,0px),0); inset-block: -60px; }
#pricing.pc-catalog { padding-block: clamp(36px,5.5vh,56px); color: #e4edf2; }
.pc-catalog-background { background: radial-gradient(ellipse at 86% 40%,#72589822,transparent 55%),radial-gradient(ellipse at 8% 60%,#386c7222,transparent 50%); }
#pricing.pc-catalog .pc-details-heading { max-width: none; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 30px; margin-bottom: 20px; }
#pricing.pc-catalog .pc-details-heading h2 { margin: 0; font-size: clamp(34px,3.2vw,44px); }
#pricing .pc-provider-explanation { font-size: 13px; line-height: 1.5; }
.pc-catalog-provider-row { display: flex; align-items: center; justify-content: start; gap: 24px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid #344957; }
.pc-provider-explanation { margin: 0; max-width: 610px; font-size: 12px; line-height: 1.6; color: #b4c8d2; }
.pc-catalog-provider-filters { display: flex; flex-wrap: wrap; gap: 6px; flex: 0 0 auto; }
.pc-catalog-provider-filters button { padding: 8px 12px; border: 1px solid #586d79; background: #1a2934; border-radius: 5px; color: #cbd9e1; font: 12px/1.3 Inter,sans-serif; cursor: pointer; }
.pc-catalog-provider-filters button[aria-pressed=true] { background: #afcebd; border-color: #afcebd; color: #122825; }
.pc-catalog-provider-filters button:focus-visible { outline: 2px solid #b9e0d4; outline-offset: 3px; }
.pc-model-item .pc-model-provider-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.pc-model-item .pc-model-provider-badge { display: inline-flex; margin-top: 0; padding: 2px 5px; font-size: 9px; border-radius: 3px; background: #2a3944; color: #c2d2dd; }
.pc-model-item .pc-model-provider-badge[data-provider=kie] { background: #293d3c; color: #b7d8c8; }
.pc-example-provider { display: inline-block; margin: 0 0 7px; font-size: 10px; color: #c3d8cf; }
.pc-catalog-controls { display: flex; justify-content: space-between; gap: 22px; align-items: center; margin-bottom: 14px; }
.pc-catalog-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.pc-catalog-filters button { border: 1px solid #53616d; background: #1a2732; color: #c1cfdb; padding: 9px 14px; border-radius: 6px; font: inherit; font-size: 12px; cursor: pointer; }
.pc-catalog-filters button[aria-pressed=true] { background: #a4d4c8; color: #102528; border-color: #a4d4c8; }
.pc-model-search input { border: 1px solid #53616d; border-radius: 6px; background: #111b24; color: #e4edf2; padding: 10px 12px; width: 230px; max-width: 100%; font: inherit; font-size: 12px; }
.pc-model-search input::placeholder { color: #a7b7c6; }
.pc-model-list { max-height: clamp(180px,24vh,205px); overflow-y: auto; padding: 0 14px 14px; border: 1px solid #465762; border-radius: 8px; scrollbar-color: #667887 #13212c; background: #111b24; overscroll-behavior: contain; }
.pc-model-group-heading { font-size: 12px; font-weight: 600; color: #adcfc4; margin: 15px 0 9px; }
.pc-model-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; list-style: none; margin: 0; padding: 0; }
.pc-model-item { padding: 10px 12px; min-width: 0; border: 1px solid #344655; border-radius: 5px; background: #1b2834; content-visibility: auto; contain-intrinsic-size: auto 56px; }
.pc-model-item strong { display: block; font-weight: 500; font-size: 12px; color: #e2ebf2; overflow-wrap: anywhere; }
.pc-model-item span { display: block; font-size: 10px; color: #9ab1c2; margin-top: 5px; }
.pc-model-count { margin: 10px 0 20px; color: #9db3c2; font-size: 10px; }
.pc-model-empty { color: #b7c7d1; font-size: 13px; }
.pc-generation-examples { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.pc-generation-price { background: #222936; border: 1px solid #596674; padding: 15px 18px; border-radius: 8px; position: relative; }
.pc-generation-price::before { content: ''; position: absolute; inset: 0 16px auto; height: 2px; background: var(--rainbow-grad,linear-gradient(90deg,#b28a6a,#a583b9,#75b8c4)); opacity:.7; }
.pc-generation-price h3 { font-size: 13px; font-weight: 500; margin: 0 0 7px; }
.pc-example-amount { display: flex; align-items: baseline; gap: 10px; margin: 0 0 6px; flex-wrap: wrap; line-height: 1.2; }
.pc-example-amount strong { font-size: 27px; color: #bce1d7; font-weight: 500; font-variant-numeric: tabular-nums; }
.pc-example-amount span,.pc-example-parameters { font-size: 10px; color: #b1c0cc; line-height: 1.5; margin: 0; }
.pc-example-source { display: inline-block; margin-top: 9px; color: #c9d1dd; font-size: 10px; }
.pc-provider-prices { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; }
.pc-provider-prices > p { margin: 0; font-size: 12px; color: #b5c6d3; }
.pc-supplier-links { display: flex; gap: 10px; }
.pc-supplier-links a { color: #cde0dc; font-size: 12px; background: #1f3338; padding: 8px 13px; border-radius: 5px; border: 1px solid #527171; }
.pc-faq-layout { grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr); gap: 50px; }
.pc-faq-list summary { padding-block: 15px; font-size: 14px; }
.pc-faq-comparison { margin-top: 18px; }
.pc-faq-comparison table { width: 100%; border-collapse: collapse; background: #17252e; color: #d9e5ed; border: 1px solid #536975; }
.pc-faq-comparison caption { text-align: left; font-size: 12px; margin-bottom: 10px; color: #bbcec8; }
.pc-faq-comparison th,.pc-faq-comparison td { padding: 11px 10px; font-size: 12px; border-bottom: 1px solid #3c515e; text-align: left; font-variant-numeric: tabular-nums; }
.pc-faq-comparison td { white-space: nowrap; }
.pc-faq-comparison thead th { font-size: 10px; color: #a9bec9; }
.pc-faq-comparison td:nth-child(2) { color: #b5e5ce; }
.pc-faq-comparison small { display: block; font-size: 9px; font-weight: 400; margin-top: 5px; color: #a5bbc9; }
.pc-faq-list .pc-comparison-basis { font-size: 10px; line-height: 1.6; margin-top: 12px; }
.pc-faq-list .pc-comparison-sources { font-size: 10px; margin-top: 7px; }
.pc-final-background { background: radial-gradient(ellipse at 15% 65%,#8357733b,transparent 58%),radial-gradient(ellipse at 82% 5%,#38777540,transparent 60%); }
.pc-final-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 50px; align-items: center; padding-block: 22px; }
.pc-final-inner h2 { margin: 0 0 18px; font-weight: 600; font-size: clamp(38px,4vw,54px); line-height: 1.1; letter-spacing:-.045em; }
.pc-final-inner > div > p:last-child { color: #c1cdd6; font-size: 15px; max-width: 500px; line-height: 1.6; }
.pc-final-action { display: flex; justify-content: end; align-items: center; gap: 22px; }
.pc-final-price { margin: 0; font-size: 11px; color: #9fb4c4; }
.pc-final-price span { display: block; color: #d5e1e8; font-size: 15px; margin-top: 5px; }
.pc-language-switch { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; grid-column: 1 / -1; font-size: 11px; }
.pc-language-switch > span { color: #9bb2c0; margin-right: 8px; }
.pc-language-switch button { cursor: pointer; font: inherit; border: 1px solid #62727d; color: #c7d5dd; background: #1b2934; border-radius: 5px; padding: 8px 12px; min-height: 34px; }
.pc-language-switch button[aria-pressed=true] { color: #142525; background: #acd4c7; border-color: #acd4c7; }
.pc-language-switch button:hover { border-color: #bee2d7; }
.pc-language-switch button:focus-visible { outline: 2px solid #9cd2c7; outline-offset: 4px; }
.pc-skip-link { position: fixed; z-index: 100; top: -80px; left: 15px; padding: 12px 18px; border-radius: 5px; background: #bce2d6; color: #102c2d; }
.pc-skip-link:focus { top: 15px; }
.pc-reveal-pending { opacity: 0; transform: translate3d(0,18px,0); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.65,.25,1); }
.pc-reveal-visible { opacity: 1; transform: translate3d(0,0,0); }
@media (max-height: 720px) and (min-width: 901px) {
  .pc-bridge-copy h2 { font-size: 38px; }
  .pc-bridge-stage { height: 300px; }
  .pc-bridge-source { bottom: 170px; }
  .pc-bridge-result { bottom: 30px; }
  .pc-bridge-transfer { font-size: 12px; }
  .pc-bridge-modes { margin-top: 18px !important; }
  .pc-tool-visual { height: 140px; }
  .pc-flow-manual > li { min-height: 84px; }
  .pc-flow-lane > li { min-height: 110px; }
  .pc-model-list { max-height: 180px; }
}
@media (max-width: 1000px) {
  .pc-flow-comparison { grid-template-columns: 125px minmax(0,1fr); gap: 14px; }
  .pc-flow-ruler,.pc-flow-note { margin-left: 139px; }
  .pc-model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pc-final-action { flex-direction: column; align-items: start; }
}
@media (max-width: 900px) {
  .pc-flow-comparison { grid-template-columns: 1fr; }
  .pc-flow-ruler,.pc-flow-note { margin-left: 0; }
  .pc-bridge-copy h2 { font-size: clamp(34px,4.6vw,42px); }
  .pc-faq-layout { gap: 28px; }
}
@media (max-width: 760px) {
  .home-shell,.home-header .home-shell,.pc-details-shell,.pc-bridge-shell,.site-footer .footer-inner { width: calc(100% - 36px); inline-size: calc(100% - 36px); }
  .home-grid { min-block-size: 0; padding-block: 30px 34px; }
  .pc-bridge-stage { height: 330px; }
  .pc-bridge-copy h2 { font-size: clamp(34px,9.5vw,44px); }
  #bridge .pc-bridge-mode { padding: 16px; }
  .pc-details,.pc-bridge-design,#workflow.pc-workflow,#faq.pc-faq,#pricing.pc-catalog { padding-block: 38px; }
  .pc-tools-grid { grid-template-columns: 1fr; gap: 18px; }
  .pc-tool-visual { height: 160px; }
  .pc-flow-lane > li { min-height: 110px; }
  .pc-flow-lane .pc-flow-generation { min-height: 65px; }
  .pc-catalog-controls { display: block; }
  #pricing.pc-catalog .pc-details-heading { grid-template-columns: 1fr; gap: 14px; }
  .pc-catalog-provider-row { align-items: start; flex-direction: column; gap: 12px; }
  .pc-catalog-provider-filters { flex: 0 1 auto; }
  .pc-catalog-filters { margin-bottom: 12px; }
  .pc-catalog-filters button { padding: 8px 10px; font-size: 11px; }
  .pc-model-search input { width: 100%; }
  .pc-model-list { max-height: 285px; }
  .pc-model-item { padding: 10px 9px; }
  .pc-model-item strong { font-size: 11px; }
  .pc-generation-examples { grid-template-columns: 1fr; gap: 10px; }
  .pc-generation-price { padding: 14px 16px; }
  .pc-provider-prices { align-items: start; flex-direction: column; }
  .pc-faq-layout { grid-template-columns: 1fr; }
  .pc-faq-list details > div { padding-right: 0; }
  .pc-final-inner { grid-template-columns: 1fr; gap: 24px; }
  .pc-final-action { flex-direction: row; justify-content: start; align-items: center; flex-wrap: wrap; }
  .pc-faq-comparison th,.pc-faq-comparison td { font-size: 11px; padding: 10px 7px; }
  .site-footer .footer-inner { gap: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .pc-parallax-bg,[data-parallax] { transform: none !important; }
  .pc-reveal-pending { opacity: 1; transform: none; transition: none; }
}

.pc-language-switch .pc-motion-toggle { margin-left: auto; color: #b4c7d1; background: #17242d; border-color: #465b68; }
:root[data-motion="paused"] :is(.home-rain-bg,.home-logo-track,.pc-workflow-hyperspace .wrap,.pc-workflow-hyperspace .wall),
:root[data-motion="paused"] #bridge .pc-bridge-mode::after { animation-play-state: paused !important; }
@media (max-width:600px) { .pc-language-switch .pc-motion-toggle { margin-left: 0; } }
.pcf-footer .pc-language-switch { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.pc-language-switch .pc-motion-toggle { max-width: 100%; white-space: normal; }
#pricing.pc-catalog .pc-details-heading h2 { font-size: clamp(34px,3.2vw,44px); }
/* Keep the bundle and the four extra tools within a desktop viewport. */
@media (min-width: 901px) {
  .pcb-shell:not(.pcb-nav) { width: min(calc(100% - 80px),1232px); }
  .pcb-hero { padding-block: 30px; }
  .pcb-intro h1 { font-size: clamp(38px,3.8vw,50px); margin-top: 17px; }
  .pcb-lead { margin-top: 18px; font-size: 16px; line-height: 1.55; }
  .pcb-supported { margin-top: 16px; }
  .pcb-bundle { margin-top: 22px; gap: 12px; }
  .pcb-bundle-item { padding: 14px; }
  .pcb-bundle-top { margin-bottom: 14px; }
  .pcb-bundle-item p { margin-top: 9px; line-height: 1.55; }
  .pcb-item-tag { margin-top: 10px; }
  .pcb-purchase { padding: 22px; }
  .pcb-purchase h2 { margin-top: 12px; }
  .pcb-os-choice { margin-top: 18px; }
  .pcb-purchase-list { margin-top: 18px; gap: 8px 12px; }
  .pcb-card-price { margin-top: 16px; padding-top: 14px; }
  .pcb-buy-button { margin-top: 17px; }
  .pcb-generations-note { margin-top: 16px; padding-top: 14px; }
  .pcb-terms { margin-top: 8px; }
  .pcf-tools-section { padding-block: 36px; }
  .pcf-tools-section .pcf-section-heading { margin-bottom: 24px; }
  .pcf-tool-card { padding: 20px; }
  .pcf-tool-card h3 { font-size: 22px; margin-top: 18px; }
  .pcf-tool-card > p { font-size: 12px; line-height: 1.65; }
  .pcf-gallery-sample,.pcf-prompt-sample,.pcf-reference-sample,.pcf-bridge-sample { margin-top: 18px; }
}
@media (min-width: 1100px) {
  .pcf-tools-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
  .pcf-tool-top { gap: 9px; font-size: 10px; }
  .pcf-reference-sample { gap: 9px; }
  .pcf-reference-sample img { width: 70px; height: 52px; }
  .pcf-reference-sample > span { font-size: 17px; }
  .pcf-reference-sample > div { font-size: 10px; }
  .pcf-prompt-sample { padding: 12px; }
  .pcf-bridge-sample { gap: 8px; flex-wrap: wrap; }
  .pcf-bridge-sample > span:first-of-type { margin-inline: 0; }
  .pcf-bridge-sample > span:last-child { font-size: 13px; }
}
.pcb-hero,.pcb-start { position: relative; isolation: isolate; overflow: clip; }
.pc-extended-background { background: radial-gradient(ellipse at 12% 78%,#ab725b24,transparent 44%),radial-gradient(ellipse at 84% 28%,#589da12b,transparent 52%); }
