/* Controlled refinement of KORVY V2. Original palette, fonts and components. */
:root {
  --text-secondary: rgba(245,245,242,.72);
  --text-muted: rgba(245,245,242,.54);
  --graphite-border: rgba(245,245,242,.11);
  --radius-lg: 14px;
  --radius-xl: 18px;
}
:focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
.skip-link { position: fixed; left: 24px; top: -70px; z-index: 10002; padding: 12px 20px; background: var(--lime); color: var(--carbon); border-radius: 6px; }
.skip-link:focus { top: 12px; }
.header { background: rgba(10,10,10,.9); border-bottom-color: var(--graphite-border); }
.header--scrolled { background: rgba(10,10,10,.94); backdrop-filter: blur(12px); }
.logo__img { height: 32px; }
.nav-desktop__list { background: transparent; border: 0; gap: 0; padding: 0; }
.nav-desktop__link { padding: 9px 14px; border-radius: 6px; font-size: .82rem; }
.nav-desktop__link.is-active { color: var(--lime); }
.btn, .btn-nav { border-radius: 8px; min-height: 44px; }
.btn--primary, .btn--primary:hover, .btn-nav:hover { box-shadow: none; }
.btn--primary:hover, .btn--secondary:hover { transform: translateY(-1px); }
.btn--secondary { background: #131313; }
.pulse-dot::after { animation: none; opacity: 0; }
.section { padding: 88px 0; }
.section-header { max-width: 860px; margin-bottom: 36px; }
.section-header__tag { margin-bottom: 18px; padding: 0; background: transparent; border: 0; gap: 12px; }
.section-header__title { font-size: clamp(1.7rem,3vw,2.45rem); line-height: 1.22; text-wrap: balance; }
.section-header__subtitle { max-width: 65ch; }
.hero { min-height: min(820px,100svh); padding: calc(var(--header-height) + 54px) 0 56px; border-bottom: 1px solid var(--graphite-border); }
.hero__container { grid-template-columns: minmax(0,1.16fr) minmax(0,.84fr); gap: 52px; }
.hero__title { font-size: clamp(2.7rem,4.55vw,4.25rem); letter-spacing: -.045em; line-height: 1.09; margin-bottom: 24px; }
.hero__subtitle { max-width: 33ch; line-height: 1.75; margin-bottom: 28px; }
.hero__actions { gap: 10px; }
.hero__actions .btn { padding: 14px 20px; font-size: .84rem; }
.hero__grid-mesh { background-size: 80px 80px; opacity: .38; mask-image: radial-gradient(ellipse 48% 85% at 26% 55%,black,transparent); }
.hero__glow-primary { filter: none; top: 10%; left: -5%; width: 760px; height: 760px; background: radial-gradient(ellipse,rgba(180,255,0,.055),transparent 65%); }
.hero__glow-secondary { display: none; }
.hero__visual { gap: 18px; min-width: 0; }
.showcase-badge { max-width: none; padding: 0 0 14px; background: transparent; border: 0; border-bottom: 1px solid var(--graphite-border); border-radius: 0; }
.showcase-badge__live { font-size: .66rem; letter-spacing: .14em; }
.showcase-badge__counter { font-size: .65rem; }
.notebook-viewport { padding: 18px 13% 42px 0; }
.notebook__chassis { padding: 14px 7px 7px; border-radius: 12px 12px 4px 4px; border-color: #454749; background: linear-gradient(135deg,#353739,#171819 45%,#292b2d); box-shadow: 0 25px 48px #0009, inset 0 1px 0 #ffffff18; }
.notebook__base { height: 9px; background: linear-gradient(#626568,#242628 60%,#151617); margin: 0 -3%; border-color: #484b4d; }
.notebook__display-glare { opacity: .3; }
.showcase-phone { width: 24%; right: 0; bottom: 4px; padding: 5px; border-radius: 22px; border-color: #63686a; background: linear-gradient(125deg,#45494b,#151617 45%,#34383a); box-shadow: -10px 22px 35px #0008, inset 0 0 0 1px #ffffff15; }
.showcase-phone__screen { border-radius: 17px; }
.showcase-nav { max-width: none; gap: 12px; }
.showcase-nav__tabs { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; }
.showcase-tab { min-height: 44px; padding: 7px 4px; border-color: var(--graphite-border); border-radius: 5px; color: var(--text-secondary); font: 500 .65rem var(--font-main); }
.showcase-tab.is-active { background: #b4ff0010; color: var(--lime); border-color: #b4ff0055; }
.showcase-progress { opacity: 1; }
.showcase-progress__bar { opacity: 1; }
.showcase-project { text-align: left; margin: 0; font-size: .75rem; color: var(--text-secondary); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.showcase-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.showcase-controls .showcase-project { flex: 1; }
.showcase-pause { min-width: 44px; min-height: 44px; color: var(--text-secondary); background: transparent; border: 1px solid var(--graphite-border); border-radius: 5px; font: 500 .7rem var(--font-main); padding: 0 12px; }
.showcase-pause:hover { color: var(--lime); border-color: var(--lime-border); }
/* Keep all five problems and solutions; replace repeated floating boxes with a comparison. */
.problems__grid { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--graphite-border); }
.problem-card, .problem-card--featured { display: grid; grid-template-columns: 150px minmax(0,1.15fr) minmax(0,1fr); gap: 30px; align-items: start; padding: 24px 0; border: 0; border-bottom: 1px solid var(--graphite-border); border-radius: 0; background: transparent; overflow: visible; }
.problem-card:hover { transform: none; box-shadow: none; border-color: var(--graphite-border); background: linear-gradient(90deg,#b4ff0005,transparent); }
.problem-card__top { justify-content: flex-start; padding-top: 3px; }
.problem-card__tag, .problem-card__tag--lime { background: transparent; padding: 0; border: 0; font-size: .65rem; }
.problem-card__signal { display: none; }
.problem-card__quote { font-size: 1rem; font-weight: 600; line-height: 1.65; }
.problem-card__solution { border: 0; padding: 0; }
.solution-bridge { gap: 8px; }
.solution-bridge__label { color: var(--lime); letter-spacing: .08em; font-size: .59rem; }
.solution-bridge__result { color: var(--text-secondary); font-size: .86rem; font-weight: 500; line-height: 1.65; }
.problems-cta { text-align: left; margin-top: 36px; padding-top: 0; border: 0; }
.problems-cta__actions { justify-content: flex-start; }
.solutions-map__item { padding: 24px 0; }
.solutions-map__title { font-size: 1.3rem; }
.solutions-map__line { font-size: .9rem; }
.projects-teaser { background: #10110e; border-block: 1px solid #b4ff0020; padding: 60px 0; }
.projects-teaser__inner { max-width: none; }
.projects-teaser__title { font-size: clamp(1.7rem,3vw,2.45rem); }
#processo.section { padding-block: 80px; }
.timeline__step { padding-block: 22px; }
.timeline__title { font-weight: 600; }
.pricing-grid { gap: 0; border: 1px solid var(--graphite-border); border-radius: 12px; overflow: hidden; }
.pricing-card { border: 0; border-right: 1px solid var(--graphite-border); border-radius: 0; background: #111; padding: 32px 26px; gap: 24px; }
.pricing-card:last-child { border-right: 0; }
.pricing-card:hover { transform: none; box-shadow: none; border-color: var(--graphite-border); }
.pricing-card--featured { background: #15180f; box-shadow: inset 0 3px var(--lime); }
.pricing-card__featured-badge { top: 13px; right: 26px; left: auto; transform: none; background: transparent; color: var(--lime); padding: 0; font-size: .55rem; }
.pricing-card__name { font-size: 1.3rem; margin-top: 14px; }
.pricing-card__tier { font-size: .62rem; }
.pricing-card__tech-chip { border: 0; background: transparent; padding: 0; font-size: .6rem; }
.pricing-card__desc { line-height: 1.7; min-height: 85px; }
.pricing-preview { border: 0; border-radius: 0; background: transparent; margin: 0; padding: 0; box-shadow: none; min-height: 90px; }
.preview-browser-bar { background: transparent; padding-inline: 0; }
.preview-lp-body, .preview-inst-footer { padding-inline: 0; }
.pricing-card__value { font-size: clamp(1.65rem,2.6vw,2.1rem); letter-spacing: -.03em; }
.pricing-card__features { margin: 0; gap: 11px; }
.pricing-card__features li { font-size: .8rem; line-height: 1.6; }
.pricing-secondary { background: transparent; border: 0; border-bottom: 1px solid var(--graphite-border); padding: 28px 0; border-radius: 0; }
.faq-container { max-width: none; }
.faq-item { border-radius: 0; background: transparent; border-width: 0 0 1px; margin: 0; }
.faq-item__trigger { padding: 24px 0; }
.faq-item__panel { padding-inline: 0; }
.faq-item.is-open .faq-item__panel { max-height: 1000px; }
.faq-item__text { padding: 0 0 24px; }
.faq-item__indicator { background: transparent; }
.cta-final__box { border-radius: 0; border: 0; padding: 64px 0; background: transparent; box-shadow: none; }
.cta-final__mesh { opacity: .25; }
.cta-final__glow { opacity: .35; }
.cta-final__title { font-size: clamp(2rem,4.8vw,4rem); }
.footer { border-top: 1px solid var(--graphite-border); }
.footer__meta { font-size: .65rem; }
.intro-replay { color: var(--text-secondary); background: transparent; font: inherit; text-decoration: underline; text-underline-offset: 4px; padding: 8px 0; }
/* Existing project hierarchy and demos remain intact. */
.project-showcase { border-radius: 12px; background: #111; }
.project-showcase:hover { transform: none; box-shadow: none; }
.project-showcase--taskly-featured, .project-showcase--nexora-featured { background: #101010; border-color: var(--graphite-border); padding: 40px; }
.taskly-device { animation: none; }
.project-showcase__desc { line-height: 1.8; }
.project-badge { background: transparent; border-color: var(--graphite-border); color: var(--lime); }
.finder-card { box-shadow: 0 20px 50px #0003; }
.finder-option-btn { border-radius: 8px; }
/* Labs retain every experiment, status and description in a calmer two-column list. */
.labs-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 48px; }
.lab-card { border: 0; border-top: 1px solid var(--graphite-border); border-radius: 0; background: transparent; padding: 28px 0; gap: 16px; }
.lab-card:hover { background: transparent; transform: none; border-color: var(--lime-border); }
.lab-card__desc { font-size: .9rem; line-height: 1.8; }
.lab-card__icon { background: transparent; justify-content: flex-start; }
.lab-card__meta { font-size: .65rem; }
/* Assembling K, now in the original carbon/lime palette. No dependency on JS to unhide the page. */
.brand-loader { display: none; }
.korvy-entering .brand-loader { position: fixed; inset: 0; z-index: 10001; display: flex; align-items: center; justify-content: center; background: #0a0a0a; animation: loader-failsafe 2.7s step-end forwards; }
.brand-loader__center { display: flex; align-items: center; flex-direction: column; }
.k-mark { width: clamp(90px,12vw,135px); height: auto; overflow: visible; fill: var(--lime); }
.k-piece { opacity: 0; animation: k-assemble .85s cubic-bezier(.16,1,.3,1) forwards; }
.k-piece--one { --kx: -70px; --ky: 40px; animation-delay: .05s; }
.k-piece--two { --kx: 60px; --ky: -65px; animation-delay: .18s; }
.k-piece--three { --kx: 65px; --ky: 45px; animation-delay: .32s; }
.brand-loader__center > span { font: 700 .75rem var(--font-display); letter-spacing: .32em; margin: 26px 0 12px; }
.brand-loader__center p { color: var(--text-muted); font: 400 .65rem var(--font-mono); }
.brand-loader__baseline { position: absolute; bottom: 30px; left: 32px; right: 32px; display: flex; justify-content: space-between; gap: 24px; color: var(--text-muted); font: 500 .58rem var(--font-mono); letter-spacing: .08em; }
.brand-loader.is-leaving { opacity: 0; transform: translateY(-12px); transition: opacity .42s ease,transform .6s var(--ease-out-expo); pointer-events: none; }
.korvy-arrived .hero__copy { animation: hero-arrive .85s var(--ease-out-expo) both; }
.korvy-arrived .hero__visual { animation: hero-arrive 1s var(--ease-out-expo) .08s both; }
@keyframes k-assemble { from { opacity: 0; transform: translate(var(--kx),var(--ky)); } to { opacity: 1; transform: translate(0,0); } }
@keyframes hero-arrive { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
@keyframes loader-failsafe { to { visibility: hidden; pointer-events: none; } }
@media (min-width:901px) and (max-width:1100px) {
  .hero__container { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 32px; }
  .hero__copy { order: 2; align-items: flex-start; text-align: left; }
  .hero__visual { order: 1; max-width: none; }
  .hero__title { font-size: clamp(2.1rem,4.25vw,2.9rem); }
  .hero__subtitle { margin-left: 0; font-size: .95rem; }
  .hero__actions { justify-content: flex-start; }
  .hero__actions .btn { font-size: .75rem; padding: 12px; }
  .nav-desktop__link { padding-inline: 9px; font-size: .74rem; }
  .btn-nav { padding-inline: 12px; font-size: .75rem; }
  .pricing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: none; }
  .pricing-card { padding: 28px 18px; }
}
@media (max-width:900px) {
  .hero { min-height: auto; padding-top: calc(var(--header-height) + 34px); }
  .hero__container { grid-template-columns: 1fr; gap: 34px; }
  .hero__title { font-size: clamp(2.7rem,6vw,3.6rem); }
  .hero__visual { max-width: 590px; }
  .hero__subtitle { max-width: 47ch; }
  .problem-card { grid-template-columns: 105px minmax(0,1fr); gap: 12px 22px; }
  .problem-card__solution { grid-column: 2; }
  .pricing-grid { max-width: 600px; }
  .pricing-card { border-right: 0; border-bottom: 1px solid var(--graphite-border); }
  .pricing-card:last-child { border-bottom: 0; }
  .pricing-card__desc { min-height: auto; }
  .pricing-preview { min-height: auto; }
}
@media (max-width:600px) {
  .section { padding-block: 60px; }
  .hero { padding-top: calc(var(--header-height) + 28px); padding-bottom: 36px; }
  .hero__container { display: flex; flex-direction: column; gap: 0; }
  .hero__copy { display: contents; }
  .hero__title { order: 0; font-size: clamp(1.9rem,8.5vw,3rem); text-align: center; margin-bottom: 26px; }
  .hero__visual { order: 1; gap: 12px; margin-bottom: 26px; }
  .hero__subtitle { order: 2; font-size: .93rem; line-height: 1.75; text-align: center; margin-bottom: 20px; }
  .hero__actions { order: 3; flex-direction: row; gap: 8px; margin: 0; }
  .hero__actions .btn { width: auto; flex: 1; padding: 12px 9px; font-size: .72rem; }
  .hero__glow-primary { width: 500px; height: 500px; left: -30%; }
  .notebook-viewport { padding: 8px 14% 24px 0; }
  .notebook__chassis { padding: 10px 4px 4px; border-radius: 8px 8px 3px 3px; }
  .notebook__base { height: 6px; }
  .showcase-phone { width: 25%; padding: 3px; border-radius: 14px; bottom: 0; }
  .showcase-phone__screen { border-radius: 10px; }
  .showcase-phone__island { top: 5px; height: 4px; }
  .showcase-badge { padding-bottom: 10px; }
  .showcase-badge__live, .showcase-badge__counter { font-size: .6rem; }
  .showcase-nav__tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .showcase-nav { gap: 8px; }
  .showcase-tab { min-height: 38px; font-size: .67rem; }
  .showcase-project { font-size: .67rem; }
  .showcase-pause { padding: 0 10px; min-height: 38px; }
  .problem-card { grid-template-columns: 1fr; gap: 12px; padding-block: 24px; }
  .problem-card__solution { grid-column: 1; }
  .problem-card__quote { font-size: 1rem; }
  .problems-cta__actions { flex-direction: column; }
  .solutions-map__title { font-size: 1.1rem; }
  .solutions-map__item { padding-block: 20px; }
  #processo.section { padding-block: 60px; }
  .timeline__step { padding-block: 20px; }
  .pricing-card { padding: 28px 22px; }
  .labs-grid { grid-template-columns: 1fr; }
  .project-showcase--taskly-featured, .project-showcase--nexora-featured { padding: 20px; }
  .brand-loader__baseline { left: 20px; right: 20px; bottom: 24px; justify-content: center; font-size: .53rem; }
  .brand-loader__baseline span:last-child { display: none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .korvy-entering .brand-loader { display: none; }
  .k-piece { opacity: 1; transform: none; }
}
