@font-face {
  font-family: "Montserrat";
  src: url("assets/montserrat-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --midnight: #151724;
  --navy: #1b1e2d;
  --navy-soft: #25293b;
  --orange: #af5525;
  --orange-light: #d67a49;
  --paper: #faf8f3;
  --ivory: #f1eee8;
  --ink-muted: #656875;
  --line: rgba(21, 23, 36, .14);
  --line-light: rgba(255, 255, 255, .14);
  --sans: "Montserrat", Arial, sans-serif;
  --container: min(1200px, calc(100vw - 64px));
  --measure: 66ch;
  --text-xs: clamp(.75rem, .73rem + .08vw, .8rem);
  --text-sm: clamp(.84rem, .81rem + .12vw, .92rem);
  --text-body: clamp(.96rem, .93rem + .12vw, 1.04rem);
  --text-lead: clamp(1.12rem, 1.03rem + .35vw, 1.35rem);
  --text-h3: clamp(1.55rem, 1.3rem + .9vw, 2.1rem);
  --text-h2: clamp(2.6rem, 1.9rem + 2.7vw, 4.45rem);
  --text-display: clamp(3.25rem, 2.2rem + 3.7vw, 5.3rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 7.5rem;
  --section-space: clamp(5rem, 8vw, 7.5rem);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius: var(--radius-lg);
  --shadow-raised: 0 18px 48px rgba(21,23,36,.14);
  --duration-fast: 160ms;
  --duration-base: 240ms;
  --ease-standard: cubic-bezier(.2,0,0,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--midnight);
  background: var(--paper);
  font-family: var(--sans);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: 1.65;
}
body.dialog-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a, [role="button"] { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4, strong { font-weight: 700; }
:focus-visible { outline: 3px solid #e28a5b; outline-offset: 4px; }
.container { width: var(--container); margin-inline: auto; }
section[id] { scroll-margin-top: 104px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 1rem; left: 1rem; padding: .75rem 1rem; color: var(--midnight); background: var(--paper); border-radius: 8px; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: absolute; z-index: 50; inset: 0 0 auto; color: #fff; transition: transform .32s cubic-bezier(.22,.7,.2,1), opacity .25s ease, background .25s ease; }
.site-header.is-sticky { position: fixed; background: rgba(21,23,36,.98); box-shadow: 0 1px 0 rgba(255,255,255,.1); }
.nav-shell { height: 88px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.16); }
.brand-image { width: 146px; display: block; }
.brand-image img { width: 100%; height: auto; }
.main-nav { display: flex; align-items: center; gap: 1.55rem; font-size: var(--text-xs); font-weight: 600; }
.main-nav > a:not(.button) { position: relative; color: rgba(255,255,255,.72); transition: color .2s ease; }
.main-nav > a:not(.button)::after { content: ""; position: absolute; left: 50%; bottom: -.7rem; width: 5px; aspect-ratio: 1; background: var(--orange-light); border-radius: 50%; opacity: 0; transform: translate(-50%,4px); transition: .2s ease; }
.main-nav > a:hover, .main-nav > a.is-active { color: #fff; }
.main-nav > a.is-active::after { opacity: 1; transform: translate(-50%,0); }
.menu-toggle { display: none; }

.button { position: relative; min-height: 52px; padding: .82rem 1.35rem; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; color: #fff; border: 1px solid transparent; border-radius: 10px; cursor: pointer; font-size: var(--text-xs); font-weight: 700; transition: transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(.985); }
.button-sun, .button-sun:hover { color: #fff !important; background: var(--orange); box-shadow: 0 14px 36px rgba(175,85,37,.26); }
.button-sun:hover { background: #bf602d; box-shadow: 0 18px 44px rgba(175,85,37,.34); }
.button-small { min-height: 44px; padding: .65rem 1rem; border-color: rgba(255,255,255,.45); }
.button-full { width: 100%; }
.button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; opacity: .52; box-shadow: none; transform: none; }
.button.is-loading, .button[aria-busy="true"] { cursor: wait; color: transparent !important; pointer-events: none; }
.button.is-loading::before, .button[aria-busy="true"]::before { content: ""; position: absolute; width: 18px; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: loading-spin .7s linear infinite; }
.button.is-error, .button[data-state="error"] { color: #fff !important; background: #9f2d2d; border-color: #c44a4a; box-shadow: none; }
.status-message { margin-top: var(--space-3); padding: .8rem 1rem; border-radius: var(--radius-sm); font-size: var(--text-sm); }
.status-message--error { color: #7d1e1e; background: #fff0ef; border: 1px solid #e8aaa5; }
.status-message--success { color: #205b38; background: #edf8f1; border: 1px solid #9bc9ac; }
[role="button"][aria-disabled="true"] { cursor: not-allowed; opacity: .56; pointer-events: none; }
[role="button"][aria-busy="true"] { cursor: wait; }
[role="button"][data-state="error"] { border-color: #c44a4a; box-shadow: 0 0 0 2px rgba(196,74,74,.16); }
@keyframes loading-spin { to { transform: rotate(360deg); } }
.text-link { min-height: 52px; padding: .8rem 1.3rem; display: inline-flex; align-items: center; justify-content: center; color: #fff; border: 1px solid rgba(255,255,255,.48); border-radius: 10px; font-size: var(--text-xs); font-weight: 600; transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.text-link:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.58); }
.text-link:active { transform: scale(.985); }
.eyebrow { margin: 0 0 1.4rem; display: flex; align-items: center; gap: .75rem; color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { width: 26px; height: 1px; flex: 0 0 auto; background: currentColor; }
.eyebrow.dark { color: #93421f; }

.hero { position: relative; min-height: 880px; overflow: hidden; color: #fff; background: var(--midnight); isolation: isolate; }
.hero::before { content: ""; position: absolute; z-index: -3; inset: -2%; background: linear-gradient(90deg, rgba(21,23,36,.7), rgba(21,23,36,.9) 47%, rgba(21,23,36,.44)), linear-gradient(180deg, rgba(21,23,36,.08), #151724 96%), url("assets/orizon-desktop-solar-field.webp") center / cover no-repeat; transform: scale(1.03); }
.hero::after { content: ""; position: absolute; z-index: -2; inset: 0; opacity: .11; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, #000, transparent 86%); }
.hero-glow { position: absolute; z-index: -1; top: -260px; right: -230px; width: 760px; aspect-ratio: 1; background: radial-gradient(circle, rgba(175,85,37,.2), transparent 68%); border-radius: 50%; }
.hero-mobile-media { display: none; }
.hero-grid { min-height: 880px; display: grid; grid-template-columns: 1.06fr .94fr; gap: 4.5rem; align-items: center; padding-top: 96px; }
.hero-copy { position: relative; z-index: 3; max-width: 650px; }
.hero h1, .section-heading h2, .video-heading h2, .founder-copy h2, .faq-intro h2, .contact-copy h2 { margin: 0; line-height: 1.04; letter-spacing: -.052em; }
.hero h1 { font-size: var(--text-display); }
.hero h1 em, .founder-copy h2 em, .contact-copy h2 em { color: var(--orange-light); font-style: normal; }
.hero-lead { max-width: var(--measure); margin: 1.8rem 0; color: rgba(255,255,255,.78); font-size: var(--text-body); line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 1.25rem; }
.hero-note { margin-top: 2.3rem; display: flex; align-items: center; gap: .7rem; color: rgba(255,255,255,.7); font-size: var(--text-xs); }
.pulse { width: 8px; aspect-ratio: 1; background: #83dea3; border-radius: 50%; box-shadow: 0 0 0 5px rgba(131,222,163,.1); }
.hero-visual { position: relative; justify-self: end; width: min(100%,500px); padding-right: 1.6rem; }
.portrait-frame { position: relative; height: 640px; overflow: hidden; background: var(--navy); border: 1px solid rgba(255,255,255,.16); border-radius: 200px 200px 14px 14px; box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.72) contrast(1.04); }
.portrait-vignette { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 50%, rgba(21,23,36,.8)); }
.signature-card { position: absolute; z-index: 3; left: -42px; bottom: 52px; min-width: 242px; padding: .85rem 1rem; display: flex; align-items: center; gap: .8rem; color: var(--midnight); background: var(--paper); border: 1px solid rgba(255,255,255,.8); border-radius: 12px; box-shadow: var(--shadow-raised); }
.signature-card img { width: 46px; height: 46px; border-radius: 50%; }
.signature-card div { display: grid; }
.signature-card strong { font-size: .8rem; }
.signature-card span { color: var(--ink-muted); font-size: var(--text-xs); }
.vertical-caption { position: absolute; right: -104px; top: 47%; color: rgba(255,255,255,.64); font-size: var(--text-xs); letter-spacing: .2em; transform: rotate(90deg); }
.hero-index { position: absolute; bottom: 27px; left: 50%; display: flex; align-items: center; gap: .8rem; color: rgba(255,255,255,.58); font-size: var(--text-xs); letter-spacing: .14em; transform: translateX(-50%); }
.hero-index span { width: 80px; height: 1px; background: rgba(255,255,255,.25); }

.trust-strip { padding: 2.15rem 0; background: var(--paper); border-bottom: 1px solid var(--line); }
.trust-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 2rem; align-items: center; }
.trust-grid > p { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.25; letter-spacing: -.03em; }
.trust-item { display: grid; grid-template-columns: auto 1fr; column-gap: .7rem; }
.trust-item > span { grid-row: 1 / 3; color: #93421f; font-size: var(--text-xs); font-weight: 700; }
.trust-item strong { font-size: var(--text-sm); }
.trust-item small { color: var(--ink-muted); font-size: var(--text-xs); }

.section { padding: var(--section-space) 0; }
.section-ivory, .cases-section { background: var(--ivory); }
.section-heading { margin-bottom: 3.5rem; display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; align-items: start; }
.section-heading.compact { grid-template-columns: .8fr 1.2fr; }
.section-heading h2, .faq-intro h2 { font-size: var(--text-h2); }
.section-heading > div > p { max-width: var(--measure); margin: 1.4rem 0 0; color: var(--ink-muted); font-size: var(--text-body); }

.solutions-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; }
.solution-card { position: relative; min-height: 510px; padding: 1.8rem; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; color: #fff; background: var(--navy) center / cover no-repeat; border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius); cursor: pointer; isolation: isolate; transition: transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard); }
.solution-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(21,23,36,.18), rgba(21,23,36,.38) 42%, rgba(21,23,36,.98) 100%); }
.solution-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.34); box-shadow: var(--shadow-raised); }
.solution-card:active, .video-card:active, .case-card:active { transform: translateY(-1px) scale(.995); }
.solution-card > *:not(.card-media) { position: relative; z-index: 2; }
.card-media { position: absolute; z-index: -2; inset: -2%; width: 104%; height: 104%; max-width: none; object-fit: cover; filter: saturate(.8) contrast(1.05); transition: transform var(--duration-base) var(--ease-standard), filter var(--duration-base) var(--ease-standard); }
.solution-card:hover .card-media { transform: scale(1.018); filter: saturate(.88) contrast(1.04); }
.card-number { color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; }
.card-kicker { color: var(--orange-light) !important; font-size: var(--text-xs) !important; font-weight: 700; letter-spacing: .12em; }
.solution-card h3 { margin: .25rem 0 .9rem; font-size: var(--text-h3); line-height: 1.08; letter-spacing: -.04em; }
.solution-card p { color: rgba(255,255,255,.78); font-size: var(--text-sm); line-height: 1.65; }
.card-link { margin-top: 1rem; padding-top: 1rem; display: flex; justify-content: space-between; color: #fff; border-top: 1px solid rgba(255,255,255,.38); font-size: var(--text-xs); font-weight: 600; }

.immersive-section { position: relative; height: 360svh; min-height: 2400px; overflow: clip; color: #fff; background: #0d0f19; isolation: isolate; }
.immersive-sticky { position: sticky; top: 0; height: 100svh; min-height: 620px; overflow: hidden; background: #0d0f19; isolation: isolate; perspective: 1600px; perspective-origin: 58% 48%; }
.immersive-sticky::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(13,15,25,.94) 0%,rgba(13,15,25,.58) 28%,transparent 54%),linear-gradient(180deg,rgba(13,15,25,.2),transparent 62%,rgba(13,15,25,.56)); }
.immersive-atmosphere { position: absolute; z-index: 0; inset: -12%; opacity: .62; pointer-events: none; background: radial-gradient(circle at 72% 45%,rgba(175,85,37,.3),transparent 31%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: auto,72px 72px,72px 72px; transform-style: preserve-3d; will-change: transform,opacity; }
.immersive-atmosphere span { position: absolute; top: 50%; left: 70%; width: min(72vw,1040px); aspect-ratio: 1; border: 1px solid rgba(214,122,73,.18); border-radius: 50%; transform: translate(-50%,-50%) rotateX(68deg); }
.immersive-atmosphere span:nth-child(2) { width: min(48vw,690px); opacity: .7; }
.immersive-atmosphere span:nth-child(3) { width: min(25vw,360px); opacity: .5; }
.immersive-copy { position: absolute; z-index: 8; top: clamp(120px,16vh,170px); left: max(32px,calc((100vw - 1200px) / 2)); width: min(39vw,540px); will-change: transform,opacity; }
.immersive-copy h2 { max-width: 540px; margin: 0; font-size: clamp(3.2rem,5.1vw,5.65rem); line-height: .96; letter-spacing: -.06em; }
.immersive-copy > p:not(.eyebrow) { max-width: 500px; margin: 1.55rem 0; color: rgba(255,255,255,.76); font-size: var(--text-body); line-height: 1.68; }
.immersive-link { width: fit-content; }
.immersive-copy > small { margin-top: 2.35rem; display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.62); font-size: var(--text-xs); letter-spacing: .05em; }
.immersive-copy > small span { width: 31px; aspect-ratio: 1; display: grid; place-items: center; color: var(--orange-light); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.immersive-viewport { position: absolute; z-index: 2; inset: 0; perspective: 1600px; perspective-origin: 62% 48%; transform-style: preserve-3d; }
.immersive-card { position: absolute; top: 8svh; right: 32px; width: calc(100vw - 64px); height: 84svh; min-height: 520px; overflow: hidden; background: var(--navy); border: 1px solid rgba(255,255,255,.26); border-radius: 26px; box-shadow: 0 45px 120px rgba(0,0,0,.48); transform-style: preserve-3d; transform-origin: 50% 50%; isolation: isolate; will-change: transform,opacity; }
.immersive-industrial { z-index: 3; }
.immersive-rural { z-index: 2; }
.immersive-card.is-scene-active { z-index: 4; }
.immersive-card::before { content: ""; position: absolute; z-index: 4; inset: 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; pointer-events: none; transform: translateZ(32px); }
.immersive-media, .immersive-media video, .immersive-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.immersive-media { z-index: -2; overflow: hidden; background: #10121d; will-change: transform; }
.immersive-media::before { content: ""; position: absolute; z-index: 0; inset: -5%; background-position: center; background-size: cover; filter: blur(14px) saturate(.78) brightness(.58); transform: scale(1.07); }
.immersive-industrial .immersive-media::before { background-image: url("assets/orizon-industrial-cinematic-poster.webp"); }
.immersive-rural .immersive-media::before { background-image: url("assets/orizon-rural-cinematic-poster.webp"); }
.immersive-media video { z-index: 1; max-width: none; object-fit: contain; object-position: center; filter: saturate(.9) contrast(1.04); transform: scale(1); will-change: transform; }
.immersive-shade { z-index: -1; background: linear-gradient(180deg,rgba(21,23,36,.1),transparent 42%,rgba(10,11,18,.92) 100%); }
.immersive-hud { position: absolute; z-index: 3; top: 2rem; left: 2rem; right: 2rem; display: flex; justify-content: space-between; color: rgba(255,255,255,.76); font-size: .68rem; font-weight: 650; letter-spacing: .15em; text-shadow: 0 1px 10px rgba(0,0,0,.45); transform: translateZ(42px); }
.immersive-hud span:first-child { display: flex; align-items: center; gap: .55rem; }
.immersive-hud span:first-child::before { content: ""; width: 7px; aspect-ratio: 1; background: var(--orange-light); border-radius: 50%; box-shadow: 0 0 0 5px rgba(214,122,73,.16); }
.immersive-card.is-playing .immersive-hud span:first-child::before { animation: immersivePulse 1.8s ease-in-out infinite; }
.immersive-card-copy { position: absolute; z-index: 2; inset: auto 0 0; padding: 7rem clamp(1.5rem,3vw,3rem) clamp(1.7rem,3vw,3rem); transform: translateZ(56px); will-change: transform,opacity; }
.immersive-card-copy small { color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; letter-spacing: .13em; }
.immersive-card-copy h3 { max-width: 620px; margin: .55rem 0 .7rem; font-size: clamp(2.25rem,4.2vw,4.7rem); line-height: .95; letter-spacing: -.055em; }
.immersive-card-copy p { max-width: 480px; margin: 0; color: rgba(255,255,255,.76); font-size: var(--text-sm); line-height: 1.6; }
.immersive-depth { position: absolute; z-index: 3; top: 30%; right: 1.35rem; color: rgba(255,255,255,.68); font-size: .62rem; font-weight: 600; letter-spacing: .2em; writing-mode: vertical-rl; transform: translateZ(44px); }
.immersive-progress { position: absolute; z-index: 9; top: 50%; right: 1.5rem; display: grid; justify-items: center; gap: .7rem; color: rgba(255,255,255,.58); font-size: .66rem; font-weight: 700; letter-spacing: .12em; transform: translateY(-50%); }
.immersive-progress div { position: relative; width: 1px; height: 120px; overflow: hidden; background: rgba(255,255,255,.2); }
.immersive-progress i { position: absolute; inset: 0; display: block; background: var(--orange-light); transform: scaleY(0); transform-origin: top; will-change: transform; }
.immersive-end { position: absolute; z-index: 10; right: max(32px,5vw); bottom: clamp(34px,6vh,58px); width: min(440px,38vw); padding: 1rem 1.05rem; display: grid; grid-template-columns: 1fr auto; gap: .3rem 1rem; align-items: center; color: #fff; background: rgba(15,17,28,.94); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; box-shadow: 0 16px 46px rgba(0,0,0,.28); backdrop-filter: blur(16px); opacity: 0; visibility: hidden; transform: translateY(18px); will-change: transform,opacity; }
.immersive-end small { grid-column: 1; color: var(--orange-light); font-size: .62rem; font-weight: 700; letter-spacing: .14em; }
.immersive-end strong { max-width: 270px; font-size: clamp(1.05rem,1.35vw,1.3rem); line-height: 1.12; letter-spacing: -.03em; }
.immersive-end .button { grid-column: 2; grid-row: 1 / 3; min-height: 44px; padding: .7rem 1rem; align-self: center; white-space: nowrap; font-size: .72rem; border-radius: 9px; }
@keyframes immersivePulse { 50% { box-shadow: 0 0 0 9px rgba(214,122,73,0); } }

.video-section { padding: 7rem 0 7.5rem; overflow: hidden; color: #fff; background: radial-gradient(circle at 76% 46%,rgba(175,85,37,.1),transparent 28%),var(--midnight); }
.video-section > .container { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.video-heading { margin: 0; display: block; }
.video-heading h2 { max-width: 650px; font-size: var(--text-h2); }
.video-heading > p { max-width: 440px; margin: 1.65rem 0 0; color: rgba(255,255,255,.72); font-size: var(--text-body); line-height: 1.7; }
.video-carousel { position: relative; min-width: 0; }
.video-grid { width: min(100%,760px); display: flex; gap: 2.7rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 0; overscroll-behavior-inline: contain; scrollbar-width: none; perspective: 1800px; cursor: grab; }
.video-grid::-webkit-scrollbar { display: none; }
.video-grid.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.video-card { --pointer-x: 50%; --pointer-y: 50%; position: relative; flex: 0 0 clamp(350px,52vw,410px); height: min(79svh,780px); min-height: 660px; padding: 8px; overflow: hidden; color: #fff; background: #05060b; border: 1px solid rgba(255,255,255,.28); border-radius: 52px; box-shadow: 0 0 0 2px rgba(5,6,11,.92),0 34px 100px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.08); cursor: pointer; scroll-snap-align: start; text-align: left; isolation: isolate; opacity: .4; transform: scale(.88) rotateY(-7deg) translateZ(-80px); transform-origin: center; transition: transform .52s cubic-bezier(.2,0,0,1),opacity .34s ease,border-color .2s ease,box-shadow .34s ease; }
.video-card::before { content: ""; position: absolute; z-index: 8; top: 16px; left: 50%; width: 108px; height: 29px; background: #030409; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; box-shadow: 0 2px 10px rgba(0,0,0,.45); transform: translateX(-50%); pointer-events: none; }
.video-card.is-before { transform: scale(.88) rotateY(7deg) translateZ(-80px); }
.video-card.is-active { opacity: 1; transform: none; border-color: rgba(255,255,255,.42); box-shadow: 0 0 0 2px #05060b,0 38px 120px rgba(0,0,0,.58),0 0 70px rgba(175,85,37,.12),inset 0 0 0 1px rgba(255,255,255,.1); }
.video-card.is-active:hover { transform: translateY(-4px) rotateX(.5deg); }
.video-card::after { content: ""; position: absolute; z-index: 4; inset: 8px; border-radius: 44px; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,214,176,.22),transparent 25%); transition: opacity .25s ease; mix-blend-mode: screen; }
.video-card.is-active:hover::after { opacity: 1; }
.video-backdrop { display: none; }
.video-portrait { position: absolute; z-index: 1; inset: 8px; overflow: hidden; background: #080910; border: 1px solid rgba(255,255,255,.16); border-radius: 44px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }
.video-portrait img, .video-portrait video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-portrait img { filter: saturate(.72) contrast(1.06) brightness(.88); }
.video-portrait video { max-width: none; opacity: 0; transition: opacity .28s ease; }
.video-card.is-previewing .video-portrait video,.video-card.is-full-video .video-portrait video { opacity: 1; }
.video-shade { position: absolute; z-index: 2; inset: 8px; border-radius: 44px; background: linear-gradient(180deg,rgba(10,11,18,.12),rgba(10,11,18,.04) 32%,rgba(10,11,18,.2) 48%,rgba(10,11,18,.96) 82%,#0a0b12 100%); }
.video-reel-progress { position: absolute; z-index: 7; top: 54px; left: 24px; right: 24px; display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; }
.video-reel-progress i { height: 2px; display: block; overflow: hidden; background: rgba(255,255,255,.3); border-radius: 999px; }
.video-card:nth-child(1) .video-reel-progress i:nth-child(1),.video-card:nth-child(2) .video-reel-progress i:nth-child(-n+2),.video-card:nth-child(3) .video-reel-progress i { background: rgba(255,255,255,.92); }
.video-play { position: absolute; z-index: 7; top: 76px; right: 22px; width: 52px; aspect-ratio: 1; padding-left: .12rem; display: grid; place-items: center; color: #fff; background: rgba(10,11,18,.72); border: 1px solid rgba(255,255,255,.5); border-radius: 50%; box-shadow: 0 10px 30px rgba(0,0,0,.32); backdrop-filter: blur(10px); transition: transform .2s ease,background .2s ease; }
.video-card.is-previewing .video-play,.video-card.is-audio-active .video-play { background: var(--orange); transform: scale(.92); }
.video-hud { position: absolute; z-index: 6; top: 79px; left: 24px; right: 90px; display: flex; justify-content: flex-start; color: rgba(255,255,255,.8); font-size: .65rem; font-weight: 700; letter-spacing: .15em; text-shadow: 0 2px 14px rgba(0,0,0,.62); }
.video-hud span:first-child { display: none; }
.video-hud span:last-child { color: var(--orange-light); }
.video-card-copy { position: absolute; z-index: 6; left: 8px; right: 8px; bottom: 8px; padding: 7rem 1.45rem 1.8rem; display: grid; gap: .68rem; border-radius: 0 0 44px 44px; }
.video-card-copy::before { content: "@orizonsolar · história real"; color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .035em; }
.video-card-copy small { color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.video-card-copy strong { max-width: 350px; font-size: clamp(1.75rem,2.5vw,2.15rem); line-height: 1.02; letter-spacing: -.05em; }
.video-card-copy > span { max-width: 340px; color: rgba(255,255,255,.76); font-size: .78rem; line-height: 1.5; }
.video-carousel-controls { min-height: 58px; margin-top: 1.4rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.video-carousel-status { max-width: 680px; margin: 0; color: rgba(255,255,255,.7); font-size: var(--text-sm); }
.video-carousel-status span { margin-right: .65rem; color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.video-carousel-controls > div { display: flex; gap: .55rem; }
.video-carousel-controls button { width: 48px; aspect-ratio: 1; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; cursor: pointer; transition: background .2s ease,border-color .2s ease,transform .16s ease; }
.video-carousel-controls button:hover:not(:disabled) { background: var(--orange); border-color: var(--orange-light); }
.video-carousel-controls button:active:not(:disabled) { transform: scale(.94); }
.video-carousel-controls button:disabled { opacity: .28; cursor: not-allowed; }

.statement-section { padding: 7.5rem 0; overflow: hidden; color: #fff; background: var(--midnight); border-top: 1px solid rgba(255,255,255,.07); }
.statement-grid { display: grid; grid-template-columns: .48fr 1.35fr .7fr; gap: 4rem; align-items: center; }
.statement-orbit { position: relative; width: 210px; aspect-ratio: 1; border: 1px solid rgba(175,85,37,.46); border-radius: 50%; }
.statement-orbit::before, .statement-orbit::after { content: ""; position: absolute; inset: 22%; border: 1px solid rgba(175,85,37,.28); border-radius: 50%; }
.statement-orbit::after { inset: 45%; background: var(--orange); }
.statement-grid blockquote { margin: 0; font-size: clamp(2.2rem,3.7vw,3.7rem); font-weight: 700; line-height: 1.08; letter-spacing: -.05em; }
.statement-accent { color: var(--orange-light); }
.statement-copy { max-width: var(--measure); color: rgba(255,255,255,.72); }
.statement-proof { padding: 1.6rem; background: var(--navy); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-md); }
.statement-proof span { color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.statement-proof strong { display: block; margin: .5rem 0; font-size: 1.3rem; }
.statement-proof p { margin: 0; color: rgba(255,255,255,.72); font-size: var(--text-xs); }

.process-section { background: var(--paper); }
.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-list li { min-height: 142px; padding-inline: .6rem; display: grid; grid-template-columns: .25fr 1.55fr auto; gap: 2rem; align-items: center; border-bottom: 1px solid var(--line); cursor: pointer; transition: padding .25s ease, background .25s ease; }
.process-list li:hover { padding-inline: 1.1rem; background: rgba(175,85,37,.045); }
.process-list li > span { color: #93421f; font-size: var(--text-xs); font-weight: 700; }
.process-list h3 { margin: 0 0 .45rem; font-size: var(--text-h3); line-height: 1.05; letter-spacing: -.035em; }
.process-list p { max-width: 600px; margin: 0; color: var(--ink-muted); }
.process-list i { width: 44px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-style: normal; transition: .25s ease; }
.process-list li:hover i { color: #fff; background: var(--orange); border-color: var(--orange); transform: rotate(45deg); }

.founder-section { padding: 7.5rem 0; color: #fff; background: var(--navy); }
.founder-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7rem; align-items: center; }
.founder-photo { position: relative; height: 650px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 180px 180px 14px 14px; box-shadow: 0 35px 90px rgba(0,0,0,.25); }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.76); transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.founder-photo:hover img { transform: scale(1.025); }
.photo-label { position: absolute; right: 0; bottom: 0; width: 58%; padding: 1rem 1.2rem; display: grid; color: #fff; background: var(--orange); }
.photo-label span { font-weight: 700; letter-spacing: .18em; }
.photo-label small { font-size: var(--text-xs); letter-spacing: .1em; }
.founder-copy h2 { font-size: clamp(3rem,4.9vw,4.9rem); }
.founder-copy .lead { margin-top: 1.8rem; color: #fff; font-size: 1.3rem; font-weight: 600; line-height: 1.45; letter-spacing: -.02em; }
.founder-copy > p:not(.eyebrow):not(.lead) { color: rgba(255,255,255,.72); }
.founder-signature { margin-top: 2.2rem; display: flex; align-items: center; gap: 1rem; }
.founder-signature > span { width: 50px; height: 1px; background: var(--orange-light); }
.founder-signature div { display: grid; }
.founder-signature strong { font-size: var(--text-xs); letter-spacing: .1em; }
.founder-signature small { color: rgba(255,255,255,.68); font-size: var(--text-xs); }

.case-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 1rem; }
.case-card { position: relative; min-height: 520px; overflow: hidden; color: #fff; background: var(--navy); border: 1px solid rgba(21,23,36,.14); border-radius: var(--radius); cursor: pointer; isolation: isolate; transition: transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard); }
.case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-raised); }
.case-card::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(21,23,36,.05),rgba(21,23,36,.14) 42%,rgba(21,23,36,.96)); }
.case-media { position: absolute; inset: -2%; width: 104%; height: 104%; max-width: none; object-fit: cover; transition: transform .75s cubic-bezier(.2,.7,.2,1); }
.case-card:hover .case-media { transform: scale(1.018); }
.case-card footer { position: absolute; z-index: 2; inset: auto 0 0; padding: 4.5rem 1.6rem 1.6rem; display: flex; align-items: end; justify-content: space-between; background: linear-gradient(to top,rgba(21,23,36,.96),transparent); }
.case-card small { color: var(--orange-light); font-size: var(--text-xs); letter-spacing: .12em; }
.case-card h3 { margin: .3rem 0 0; font-size: var(--text-h3); line-height: 1.1; letter-spacing: -.035em; }
.case-card footer > span { width: 42px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; transition: .25s ease; }
.case-card:hover footer > span { color: #fff; background: var(--orange); border-color: var(--orange); transform: rotate(45deg); }

.faq-section { background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7rem; align-items: start; }
.faq-intro { position: sticky; top: 130px; }
.faq-intro > p:last-child { max-width: 430px; color: var(--ink-muted); }
.accordion { border-top: 1px solid var(--line); }
.accordion-item { border-bottom: 1px solid var(--line); }
.accordion-item h3 { margin: 0; }
.accordion-item button { width: 100%; min-height: 88px; padding: 1rem 0; display: flex; align-items: center; justify-content: space-between; color: var(--midnight); background: transparent; border: 0; cursor: pointer; text-align: left; font-weight: 700; }
.accordion-item button i { width: 36px; aspect-ratio: 1; display: grid; place-items: center; color: #93421f; border: 1px solid var(--line); border-radius: 50%; font-style: normal; }
.accordion-panel { padding: 0 3rem 1.7rem 0; color: var(--ink-muted); }
.accordion-panel p { margin: 0; }

.contact-section { padding: 7.5rem 0; color: #fff; background: var(--midnight); }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7rem; align-items: start; }
.contact-copy h2 { font-size: clamp(3.1rem,5.2vw,5.2rem); }
.contact-copy > p:not(.eyebrow) { max-width: var(--measure); color: rgba(255,255,255,.72); }
.instagram-link { display: inline-flex; margin-top: 1rem; color: var(--orange-light); border-bottom: 1px solid rgba(214,122,73,.5); }
.whatsapp-panel { padding: clamp(1.5rem,4vw,2.5rem); background: var(--navy); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-md); }
.whatsapp-panel > span { color: var(--orange-light); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.whatsapp-panel h3 { margin: 1rem 0; font-size: clamp(2.15rem,3.7vw,3.1rem); line-height: 1.03; letter-spacing: -.045em; }
.whatsapp-panel p { margin: 0 0 1.6rem; color: rgba(255,255,255,.74); }
.phone-link { margin: 1.3rem 0 .25rem; display: block; color: #fff; font-size: 1rem; font-weight: 600; }
.whatsapp-panel > small { color: rgba(255,255,255,.7); font-size: var(--text-xs); }

.site-footer { padding: 4rem 0 1.5rem; color: #fff; background: #0e0f18; }
.footer-top { padding-bottom: 3rem; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: start; }
.footer-logo { width: 108px; display: block; }
.footer-logo img { width: 100%; height: auto; }
.footer-top > p { margin: 0; color: rgba(255,255,255,.7); font-size: var(--text-sm); line-height: 1.45; }
.footer-top > p strong { color: rgba(255,255,255,.82); }
.footer-tagline-accent { color: var(--orange-light); }
.footer-top nav { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; color: rgba(255,255,255,.74); font-size: var(--text-xs); }
.footer-bottom { padding-top: 1.4rem; display: flex; justify-content: space-between; color: rgba(255,255,255,.64); border-top: 1px solid rgba(255,255,255,.1); font-size: var(--text-xs); }

.video-dialog { width: min(92vw,470px); max-height: 94vh; padding: 0; overflow: visible; background: #070812; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; box-shadow: 0 32px 120px rgba(0,0,0,.65); }
.video-dialog::backdrop, .detail-dialog::backdrop { background: rgba(7,8,18,.88); }
.video-dialog video { width: 100%; max-height: 90vh; background: #070812; border-radius: 18px; }
.video-dialog-close, .detail-dialog-close { position: absolute; z-index: 3; top: -14px; right: -14px; width: 44px; aspect-ratio: 1; display: grid; place-items: center; color: var(--midnight); background: var(--paper); border: 0; border-radius: 50%; box-shadow: 0 10px 28px rgba(0,0,0,.32); font-size: 1.45rem; cursor: pointer; }
.detail-dialog { width: min(92vw,640px); max-height: min(88vh,760px); padding: 0; overflow: hidden auto; color: var(--midnight); background: rgba(250,248,243,.97); border: 1px solid rgba(255,255,255,.8); border-radius: 20px; box-shadow: 0 40px 120px rgba(0,0,0,.4); }
.detail-dialog-close { position: sticky; top: 16px; float: right; margin: 16px 16px -60px 0; color: #fff; background: var(--midnight); }
.detail-dialog-content { padding: clamp(2rem,6vw,4rem); }
.detail-eyebrow { margin: 0 3.4rem 1rem 0; color: #93421f; font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.detail-dialog h2 { max-width: 520px; margin: 0; font-size: clamp(2.2rem,4.5vw,3.7rem); line-height: 1.03; letter-spacing: -.05em; }
.detail-copy { margin: 1.4rem 0; color: var(--ink-muted); }
.detail-dialog ul { margin: 0 0 2rem; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.detail-dialog li { position: relative; padding: .82rem 0 .82rem 1.4rem; border-bottom: 1px solid var(--line); font-size: .86rem; }
.detail-dialog li::before { content: ""; position: absolute; left: 0; top: 1.28rem; width: 7px; aspect-ratio: 1; background: var(--orange); border-radius: 50%; box-shadow: 0 0 0 5px rgba(175,85,37,.1); }

.mobile-dock { display: none; }
.scroll-progress { position: fixed; z-index: 90; inset: 0 0 auto; height: 3px; pointer-events: none; }
.scroll-progress span { width: 100%; height: 100%; display: block; background: var(--orange); transform: scaleX(0); transform-origin: left center; will-change: transform; }
.reveal { opacity: 1; }

@media (max-width: 1100px) {
  .main-nav { gap: 1.1rem; }
  .hero-grid { gap: 2.5rem; }
  .statement-grid { grid-template-columns: .4fr 1.3fr .7fr; gap: 2.5rem; }
  .statement-orbit { width: 165px; }
}

@media (max-width: 960px) {
  :root { --container: min(100% - 40px,760px); }
  .site-header { position: absolute; }
  .nav-shell { height: 76px; }
  .menu-toggle { width: 46px; height: 46px; padding: 0 11px; display: grid; align-content: center; gap: 7px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; cursor: pointer; }
  .menu-toggle span:not(.sr-only) { height: 1px; background: currentColor; }
  .main-nav { position: fixed; inset: 76px 20px auto; padding: 1.35rem; display: grid; gap: 1rem; background: var(--midnight); border: 1px solid rgba(255,255,255,.22); border-radius: 16px; box-shadow: 0 24px 60px rgba(0,0,0,.36); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard), visibility 0s linear var(--duration-base); }
  .main-nav.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
  .main-nav > a:not(.button)::after { left: 0; bottom: -.2rem; transform: none; }
  .hero, .hero-grid { min-height: 100svh; }
  .hero::before { inset: -4%; background: linear-gradient(90deg,rgba(21,23,36,.86),rgba(21,23,36,.7) 58%,rgba(21,23,36,.25)),linear-gradient(180deg,rgba(21,23,36,.04),#151724 98%),url("assets/orizon-desktop-solar-field.webp") center / cover no-repeat; }
  .hero-grid { position: relative; grid-template-columns: 1fr; align-items: center; padding-top: 110px; padding-bottom: 90px; }
  .hero-copy { max-width: 72%; }
  .hero h1 { font-size: clamp(3.3rem,8vw,4.8rem); }
  .hero-visual { position: absolute; z-index: 1; right: -11%; bottom: -6%; width: 52%; padding: 0; opacity: .62; }
  .portrait-frame { height: 620px; }
  .signature-card, .vertical-caption, .hero-index { display: none; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .section-heading, .section-heading.compact { grid-template-columns: 1fr; gap: 1rem; }
  .solutions-grid { grid-template-columns: 1fr; }
  .solution-card { min-height: 460px; }
  .immersive-copy { top: 12svh; left: 32px; width: min(72vw,620px); }
  .immersive-copy h2 { max-width: 620px; }
  .immersive-card { top: 29svh; right: 24px; width: calc(100vw - 48px); height: 64svh; min-height: 460px; }
  .immersive-end { right: 24px; width: min(440px,calc(100vw - 48px)); }
  .video-heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .video-section > .container { display: block; }
  .video-heading { margin-bottom: 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; }
  .video-heading > p { margin: 0 0 .35rem; }
  .video-grid { width: 100%; }
  .video-card { flex-basis: clamp(340px,54vw,400px); height: min(76svh,740px); min-height: 630px; }
  .statement-grid { grid-template-columns: .55fr 1.45fr; }
  .statement-proof { grid-column: 2; }
  .founder-grid { grid-template-columns: 1fr; gap: 4rem; }
  .founder-photo { max-width: 520px; justify-self: center; }
  .case-grid { grid-template-columns: 1fr; }
  .faq-grid, .contact-grid { grid-template-columns: 1fr; gap: 4rem; }
  .faq-intro { position: static; }
  .no-js .menu-toggle { display: none !important; }
  .no-js .main-nav { position: static !important; margin-left: auto; padding: 0 !important; display: flex !important; background: transparent !important; border: 0 !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .no-js .main-nav > a:not(.button) { display: none !important; }
}

@media (max-width: 600px) {
  :root { --container: calc(100vw - 32px); --radius: 14px; }
  body { padding-bottom: 98px; }
  .site-header { position: fixed; top: 10px; left: 12px; right: 12px; width: auto; }
  .site-header.nav-hidden { opacity: 0; transform: translateY(-130%); pointer-events: none; }
  .nav-shell { width: 100%; height: 60px; padding: 0 10px 0 14px; background: var(--midnight); border: 1px solid rgba(255,255,255,.28); border-radius: 14px; box-shadow: 0 12px 34px rgba(0,0,0,.24); }
  .brand-image { width: 122px; }
  .menu-toggle { width: 44px; height: 44px; }
  .main-nav { inset: 82px 12px auto; }
  .hero, .hero-grid { min-height: auto; }
  .hero::before { z-index: -2; inset: 0; background: linear-gradient(90deg,rgba(16,19,34,.52),rgba(16,19,34,.16) 72%,rgba(16,19,34,.32)),linear-gradient(180deg,rgba(16,19,34,.24),rgba(16,19,34,.38) 45%,rgba(16,19,34,.8) 78%,#151724 96%); transform: none; }
  .hero-mobile-media { position: absolute; z-index: -3; inset: -4%; display: block; background: url("assets/orizon-mobile-bridge.webp") center 48% / cover no-repeat; filter: saturate(.58) contrast(1.05) brightness(.86); transform: scale(1.04); will-change: transform; }
  .hero-grid { display: block; padding-top: 138px; padding-bottom: 4.5rem; }
  .hero-copy { max-width: none; text-shadow: none; }
  .hero h1 { font-size: clamp(2.55rem,12.6vw,3.45rem); line-height: 1.04; text-shadow: 0 2px 14px rgba(4,5,10,.52); }
  .hero-lead { margin: 1.4rem 0; color: rgba(255,255,255,.9); font-size: var(--text-body); line-height: 1.7; text-shadow: 0 1px 6px rgba(4,5,10,.42); }
  .hero-actions { flex-direction: column; align-items: stretch; gap: .8rem; }
  .hero-actions .button, .hero-actions .text-link { width: 100%; }
  .hero-note { width: fit-content; margin-top: 1.8rem; padding: 0; color: rgba(255,255,255,.8); background: transparent; border: 0; border-radius: 0; text-shadow: 0 1px 5px rgba(4,5,10,.4); }
  .hero-visual { position: relative; right: auto; bottom: auto; width: min(88%,360px); margin: 3rem auto 0; opacity: 1; }
  .portrait-frame { height: 480px; border-radius: 130px 130px 12px 12px; }
  .trust-strip { padding: 2.4rem 0; }
  .trust-grid { grid-template-columns: 1fr; gap: 1.3rem; }
  .trust-grid > p { padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
  .section, .founder-section, .contact-section { padding: 5rem 0; }
  .section-heading { margin-bottom: 2.5rem; }
  .section-heading h2, .faq-intro h2, .video-heading h2 { font-size: clamp(2.2rem,10.7vw,2.9rem); }
  .solutions-grid, .case-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; overflow: visible; }
  .solution-card { min-height: 430px; padding: 1.45rem; }
  .solution-card h3 { font-size: 1.75rem; }
  .immersive-section { height: 330svh; min-height: 2400px; }
  .immersive-sticky { min-height: 560px; }
  .immersive-sticky::after { background: linear-gradient(180deg,rgba(13,15,25,.9) 0%,rgba(13,15,25,.32) 38%,transparent 58%,rgba(13,15,25,.56)); }
  .immersive-atmosphere { background-size: auto,48px 48px,48px 48px; }
  .immersive-copy { top: 11svh; left: 16px; width: calc(100vw - 32px); }
  .immersive-copy h2 { max-width: 540px; font-size: clamp(2.55rem,11.2vw,3.4rem); }
  .immersive-copy > p:not(.eyebrow) { max-width: 560px; margin: 1rem 0 1.15rem; font-size: .92rem; line-height: 1.55; }
  .immersive-copy > small { margin-top: 1.45rem; }
  .immersive-card { top: 31svh; right: 12px; width: calc(100vw - 24px); height: 59svh; min-height: 410px; border-radius: 18px; }
  .immersive-card::before { inset: 8px; border-radius: 12px; }
  .immersive-hud { top: 1.25rem; left: 1.2rem; right: 1.2rem; font-size: .59rem; }
  .immersive-card-copy { padding: 5.5rem 1.25rem 1.35rem; }
  .immersive-card-copy h3 { max-width: 340px; font-size: clamp(2rem,9vw,2.7rem); }
  .immersive-card-copy p { max-width: 320px; font-size: .76rem; }
  .immersive-depth { top: 28%; right: .8rem; }
  .immersive-progress { right: 8px; }
  .immersive-end { right: 16px; bottom: 104px; width: min(288px,calc(100vw - 32px)); padding: .72rem .76rem; grid-template-columns: 1fr; gap: .26rem; border-radius: 10px; box-shadow: 0 12px 36px rgba(0,0,0,.26); }
  .immersive-end small { font-size: .56rem; }
  .immersive-end strong { max-width: 250px; font-size: 1rem; line-height: 1.12; }
  .immersive-end .button { grid-column: 1; grid-row: auto; width: fit-content; min-height: 38px; margin-top: .3rem; padding: .52rem .82rem; justify-self: start; color: #fff; background: rgba(175,85,37,.14); border: 1px solid rgba(214,122,73,.58); font-size: .66rem; }
  .immersive-end .button:hover { background: var(--orange); border-color: var(--orange-light); }
  .video-section { padding: 5rem 0; }
  .video-heading { margin-bottom: 2.3rem; display: block; }
  .video-heading > p { margin-top: 1.2rem; }
  .video-grid { gap: .8rem; }
  .video-card { flex-basis: calc(100% - 56px); height: min(76svh,680px); min-height: 590px; padding: 6px; opacity: .48; transform: scale(.94); border-radius: 43px; }
  .video-card::before { top: 13px; width: 92px; height: 25px; }
  .video-card.is-before { transform: scale(.94); }
  .video-card.is-active { transform: none; }
  .video-portrait { inset: 6px; border-radius: 36px; }
  .video-shade { inset: 6px; border-radius: 36px; }
  .video-reel-progress { top: 47px; left: 20px; right: 20px; }
  .video-hud { top: 68px; left: 20px; right: 82px; }
  .video-play { top: 62px; right: 18px; width: 46px; }
  .video-card.is-previewing .video-play,.video-card.is-audio-active .video-play { transform: scale(.92); }
  .video-card-copy { left: 6px; right: 6px; bottom: 6px; padding: 6rem 1.2rem 1.35rem; border-radius: 0 0 36px 36px; }
  .video-card-copy strong { max-width: 280px; font-size: 1.68rem; }
  .video-card-copy > span { max-width: 315px; font-size: .78rem; }
  .video-carousel-controls { align-items: flex-start; }
  .video-carousel-status { max-width: 230px; font-size: .76rem; line-height: 1.45; }
  .statement-section { padding: 5rem 0; }
  .statement-grid { grid-template-columns: 1fr; gap: 2.3rem; }
  .statement-orbit { width: 125px; }
  .statement-grid blockquote { font-size: 2rem; }
  .statement-proof { grid-column: auto; }
  .process-list li { min-height: 155px; grid-template-columns: auto 1fr; gap: 1rem; }
  .process-list li i { display: none; }
  .process-list h3 { font-size: 1.6rem; }
  .founder-grid { gap: 3rem; }
  .founder-photo { height: 500px; border-radius: 120px 120px 12px 12px; }
  .founder-copy h2, .contact-copy h2 { font-size: 2.65rem; }
  .founder-copy .lead { font-size: 1.2rem; }
  .case-card { min-height: 450px; }
  .case-card h3 { font-size: 1.5rem; }
  .faq-grid, .contact-grid { gap: 3rem; }
  .accordion-item button { min-height: 80px; }
  .accordion-item button span { max-width: 82%; }
  .footer-top { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; gap: .7rem; }
  .video-dialog { width: min(92vw,430px); }
  .video-dialog-close { top: 10px; right: 10px; }
  .detail-dialog { width: calc(100% - 24px); max-height: calc(100vh - 108px); margin-bottom: 88px; border-radius: 16px; }
  .detail-dialog-content { padding: 2rem 1.35rem 1.35rem; }
  .detail-dialog h2 { font-size: 2.2rem; }
  .mobile-dock { position: fixed; z-index: 55; left: 12px; right: 12px; bottom: max(10px,env(safe-area-inset-bottom)); min-height: 74px; padding: 6px 8px; display: grid; grid-template-columns: 1fr 1fr 1.15fr 1fr 1fr; align-items: center; background: var(--midnight); border: 1px solid rgba(255,255,255,.28); border-radius: 18px; box-shadow: 0 16px 42px rgba(0,0,0,.32); transition: transform var(--duration-base) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard); }
  .mobile-dock.dock-hidden { opacity: 0; transform: translateY(145%); pointer-events: none; }
  .mobile-dock a { min-width: 0; padding: 4px 1px; display: grid; place-items: center; gap: 1px; color: rgba(255,255,255,.72); border-radius: 12px; }
  .mobile-dock a.is-active:not(.dock-primary) { color: #fff; background: rgba(255,255,255,.1); }
  .mobile-dock a > span { height: 27px; display: grid; place-items: center; }
  .mobile-dock svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-dock small { max-width: 100%; overflow: hidden; font-size: var(--text-xs); line-height: 1.2; text-overflow: ellipsis; }
  .mobile-dock .dock-primary { color: #fff; transform: translateY(-8px); }
  .mobile-dock .dock-primary > span { width: 46px; height: 46px; color: #fff; background: var(--orange); border: 1px solid rgba(255,255,255,.55); border-radius: 13px; box-shadow: 0 10px 25px rgba(175,85,37,.38); }
  .mobile-dock .dock-primary svg { width: 26px; height: 26px; }
  .mobile-dock .dock-primary small { color: #fff; font-weight: 700; }
  .scroll-progress { height: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero::before, .hero-mobile-media { transform: none !important; }
  .immersive-card, .immersive-media video, .immersive-atmosphere { transform: none !important; }
  .button.is-loading::before, .button[aria-busy="true"]::before { animation: none; border-color: rgba(255,255,255,.72); }
}

.no-js .immersive-section, .motion-fallback .immersive-section { height: auto; min-height: 0; padding: clamp(5rem,8vw,7.5rem) 0; }
.no-js .immersive-sticky, .motion-fallback .immersive-sticky { position: relative; height: auto; min-height: 0; overflow: visible; }
.no-js .immersive-sticky::after, .motion-fallback .immersive-sticky::after { display: none; }
.no-js .immersive-copy, .motion-fallback .immersive-copy { position: relative; top: auto; left: auto; width: var(--container); margin: 0 auto 3rem; }
.no-js .immersive-viewport, .motion-fallback .immersive-viewport { position: relative; width: var(--container); margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; perspective: none; }
.no-js .immersive-card, .motion-fallback .immersive-card { position: relative; inset: auto; width: 100%; height: auto; min-height: 440px; aspect-ratio: 4 / 5; opacity: 1 !important; transform: none !important; }
.no-js .immersive-progress, .no-js .immersive-end, .motion-fallback .immersive-progress, .motion-fallback .immersive-end { display: none; }

@media (prefers-reduced-motion: reduce) {
  .immersive-section { height: auto; min-height: 0; padding: clamp(5rem,8vw,7.5rem) 0; }
  .immersive-sticky { position: relative; height: auto; min-height: 0; overflow: visible; }
  .immersive-sticky::after { display: none; }
  .immersive-copy { position: relative; top: auto; left: auto; width: var(--container); margin: 0 auto 3rem; }
  .immersive-viewport { position: relative; width: var(--container); margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; perspective: none; }
  .immersive-card { position: relative; inset: auto; width: 100%; height: auto; min-height: 440px; aspect-ratio: 4 / 5; opacity: 1 !important; }
  .immersive-progress, .immersive-end { display: none; }
}

@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
  .immersive-viewport { grid-template-columns: 1fr; }
}

/* Dobra Solar Paramétrica — approved hero direction */
:root {
  --midnight: #050810;
  --orange: #c75112;
  --orange-light: #e16318;
  --paper: #f5f2ee;
  --ivory: #eeeae4;
}

.site-header { background: rgba(5,8,16,.82); border-bottom: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(12px); }
.site-header.is-sticky { background: rgba(5,8,16,.96); }
.nav-shell { width: min(100% - 72px,1450px); height: 70px; border: 0; }
.brand-image { width: 124px; }
.main-nav { gap: 2rem; text-transform: none; }
.main-nav > a:not(.button) { color: rgba(255,255,255,.82); }
.nav-divider { width: 1px; height: 20px; background: rgba(255,255,255,.24); }
.main-nav .button { padding-inline: 1.55rem; border: 0; border-radius: 8px; }

.hero-dobra { min-height: clamp(680px,78vw,820px); background: #050810; }
.hero-dobra::before { inset: 0; background: radial-gradient(circle at 35% 48%,rgba(35,34,40,.6),transparent 30%),radial-gradient(circle at 78% 36%,rgba(14,24,42,.65),transparent 38%),#050810; transform: none; }
.hero-dobra::after { opacity: .14; background: linear-gradient(112deg,transparent 0 46%,rgba(255,255,255,.035) 46.2%,transparent 46.6%); mask-image: none; }
.hero-dobra .hero-glow { top: 16%; right: 12%; width: 42vw; opacity: .5; background: radial-gradient(circle,rgba(199,81,18,.16),transparent 68%); }
.hero-dobra .hero-grid { position: relative; width: min(100% - 72px,1450px); min-height: clamp(680px,78vw,820px); padding-top: 70px; display: block; }
.hero-dobra .hero-copy { position: absolute; z-index: 8; top: 20%; left: 0; width: 49%; max-width: 700px; }
.hero-dobra h1 { max-width: 700px; font-size: clamp(4.35rem,6.6vw,6rem); font-weight: 780; line-height: .91; letter-spacing: -.04em; text-wrap: balance; }
.hero-dobra h1 em { display: inline-block; color: var(--orange-light); }
.hero-profile-switch { width: min(450px,100%); min-height: 64px; margin-top: 2.4rem; display: grid; grid-template-columns: 1fr 1fr; color: rgba(255,255,255,.82); background: #151821; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; overflow: hidden; }
.hero-profile { min-width: 0; padding: 0 1.15rem; display: flex; align-items: center; gap: .8rem; color: inherit; background: transparent; border: 0; cursor: pointer; font-size: .78rem; font-weight: 750; letter-spacing: .015em; text-transform: uppercase; transition: color .2s ease,background .24s ease; }
.hero-profile + .hero-profile { border-left: 1px solid rgba(255,255,255,.12); }
.hero-profile svg { width: 27px; height: 27px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hero-profile.is-active { color: #fff; background: linear-gradient(135deg,#db6115,#ad3e08); }
.hero-profile:focus-visible { outline-offset: -4px; }
.hero-mode-copy { max-width: 440px; min-height: 2.8em; margin: 1rem 0 0; color: rgba(255,255,255,.55); font-size: .75rem; line-height: 1.45; }
.hero-mobile-cta { display: none; }
.hero-dobra .hero-visual { position: absolute; z-index: 2; top: 70px; right: -4vw; bottom: 0; left: auto; width: calc(71% + 4vw); max-width: none; padding: 0; opacity: 1; pointer-events: none; }
.hero-canvas { position: absolute; z-index: 2; inset: 0; opacity: 0; transition: opacity .65s ease; }
.hero-canvas canvas { width: 100%; height: 100%; display: block; }
.webgl-ready .hero-canvas { opacity: 1; }
.webgl-ready .hero-static-sheet { opacity: 0; }
.hero-founder { position: absolute; z-index: 4; top: -5%; left: 39%; width: min(37%,420px); height: auto; max-height: 60%; object-fit: contain; object-position: top center; filter: drop-shadow(0 24px 26px rgba(0,0,0,.38)); }
.hero-static-sheet { position: absolute; z-index: 1; left: 1%; right: -2%; bottom: 2%; height: 48%; overflow: hidden; color: #19191e; background: #e9e2da; border-radius: 44% 5% 4% 31% / 18% 6% 8% 26%; box-shadow: 0 26px 64px rgba(0,0,0,.52),inset 0 0 0 1px rgba(80,58,46,.12); transform: perspective(900px) rotateX(58deg) rotateZ(2deg) skewX(-3deg); transform-origin: center bottom; transition: opacity .35s ease; }
.sheet-grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(59,56,55,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(59,56,55,.24) 1px,transparent 1px); background-size: 56px 56px; }
.sheet-project { position: absolute; z-index: 2; margin: 0; overflow: hidden; background: #1a2028; box-shadow: 0 18px 20px rgba(20,12,8,.28); }
.sheet-project img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.84) contrast(1.06); }
.sheet-home { left: 22%; bottom: 15%; width: 29%; height: 43%; clip-path: polygon(50% 0,100% 28%,92% 100%,6% 100%,0 27%); }
.sheet-business { right: 6%; bottom: 17%; width: 35%; height: 47%; clip-path: polygon(7% 6%,100% 0,97% 100%,0 100%); }
.sheet-crease { position: absolute; z-index: 3; left: 52%; top: 4%; width: 2px; height: 95%; background: #f16c16; box-shadow: 0 0 11px 2px rgba(241,108,22,.64); transform: rotate(7deg); }
.sheet-label { position: absolute; z-index: 4; font-size: .48rem; font-weight: 700; line-height: 1.5; }
.sheet-label b { font-size: .39rem; font-weight: 500; }
.sheet-label-a { left: 18%; top: 14%; transform: rotate(-8deg); }
.sheet-label-b { right: 22%; bottom: 8%; }

.project-proof { padding: 2.5rem 0 3rem; border: 0; }
.proof-grid { display: grid; grid-template-columns: 1.05fr repeat(3,1fr); gap: 1rem; align-items: stretch; }
.proof-heading { padding: .55rem 1rem 0 0; }
.proof-heading small { color: var(--orange); font-size: .62rem; font-weight: 800; letter-spacing: .05em; }
.proof-heading h2 { margin: 1.05rem 0 1.3rem; font-size: clamp(2.1rem,3vw,3rem); line-height: .98; letter-spacing: -.04em; }
.proof-heading a { font-size: .72rem; font-weight: 750; }
.proof-heading a span { color: var(--orange); }
.proof-grid figure { position: relative; min-height: 190px; margin: 0; overflow: hidden; background: #ddd6cd; }
.proof-grid figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,0,0,1); }
.proof-grid figure:hover img { transform: scale(1.025); }
.proof-grid figcaption { position: absolute; inset: auto 0 0; padding: 2.3rem .8rem .65rem; color: #fff; background: linear-gradient(transparent,rgba(5,8,16,.8)); font-size: .68rem; font-weight: 700; }

@media (max-width: 1100px) {
  .hero-dobra .hero-grid { width: min(100% - 40px,1050px); }
  .hero-dobra .hero-copy { width: 48%; }
  .hero-dobra h1 { font-size: clamp(3.8rem,7vw,5rem); }
  .hero-founder { left: 42%; width: 38%; }
  .proof-grid { grid-template-columns: 1fr 1fr 1fr; }
  .proof-heading { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
  .proof-heading small { grid-column: 1 / -1; }
  .proof-heading a { justify-self: end; margin-bottom: 1.5rem; }
}

@media (max-width: 960px) {
  .nav-shell { width: var(--container); }
  .nav-divider { display: none; }
  .hero-dobra { min-height: 780px; }
  .hero-dobra .hero-grid { min-height: 780px; padding-top: 76px; }
  .hero-dobra .hero-copy { top: 15%; width: 58%; max-width: 540px; }
  .hero-dobra .hero-visual { top: 76px; right: -10vw; bottom: 0; left: auto; width: 84%; }
  .hero-founder { top: 4%; left: 49%; width: 38%; }
  .hero-static-sheet { height: 44%; }
}

@media (max-width: 600px) {
  .site-header { background: transparent; border: 0; backdrop-filter: none; }
  .brand-image { min-height: 44px; display: flex; align-items: center; }
  .hero-desktop-heading { display: none; }
  .nav-shell { width: 100%; height: 60px; }
  .hero-dobra { min-height: 940px; }
  .hero-dobra::before { background: radial-gradient(circle at 65% 42%,rgba(20,30,49,.72),transparent 37%),#050810; }
  .hero-dobra .hero-grid { width: var(--container); min-height: 940px; padding: 0; display: block; }
  .hero-dobra .hero-copy { position: relative; top: auto; left: auto; width: 100%; max-width: none; padding-top: 112px; }
  .hero-dobra h1 { max-width: 100%; font-size: clamp(3.1rem,14.6vw,4.15rem); line-height: .92; text-shadow: none; }
  .hero-profile-switch { width: 100%; min-height: 58px; margin-top: 1.5rem; }
  .hero-profile { padding: 0 .78rem; gap: .55rem; font-size: .68rem; }
  .hero-profile svg { width: 23px; }
  .hero-mode-copy { max-width: 90%; margin-top: .8rem; color: rgba(255,255,255,.66); }
  .hero-mobile-cta { width: 100%; margin-top: .8rem; display: inline-flex; }
  .hero-dobra .hero-visual { top: auto; right: -15vw; bottom: -1%; left: auto; width: 112vw; height: 380px; margin: 0; opacity: 1; }
  .hero-canvas { display: none; }
  .hero-founder { top: 22%; left: 37%; width: 45%; max-height: 65%; }
  .hero-static-sheet { left: -5%; right: -2%; bottom: 0; height: 64%; opacity: 1 !important; border-radius: 38% 5% 7% 25% / 20% 7% 10% 20%; transform: perspective(800px) rotateX(54deg) rotateZ(1deg); }
  .sheet-label { display: none; }
  .proof-grid { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .proof-heading { grid-template-columns: 1fr; grid-column: 1 / -1; }
  .proof-heading h2 { font-size: 2.5rem; }
  .proof-heading a { justify-self: start; margin-bottom: .7rem; }
  .proof-grid figure { min-height: 150px; }
  .proof-grid figure:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-canvas { display: none; }
  .hero-static-sheet { opacity: 1 !important; }
}

/* Exact approved hero plate. The interactive HTML remains as positioned hotspots. */
.hero-approved-plate, .hero-exact-hotspots { display: none; }

@media (min-width: 601px) {
  .site-header:not(.is-sticky) { opacity: 0; pointer-events: none; }
  .hero-dobra { width: 100%; min-height: 0; aspect-ratio: 1098 / 575; overflow: hidden; background: #050810; }
  .hero-dobra::before, .hero-dobra::after, .hero-dobra > .hero-glow { display: none; }
  .hero-approved-plate { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; display: block; object-fit: fill; }
  .hero-mobile-reflow { display: none !important; }
  .hero-exact-hotspots { position: absolute; z-index: 9; inset: 0; display: block; }
  .hero-exact-hotspots a { position: absolute; display: block; overflow: hidden; color: transparent; text-indent: -9999px; white-space: nowrap; }
  .hero-exact-hotspots a:focus-visible { outline: 3px solid #ff8a42; outline-offset: 2px; }
  .hotspot-logo { left: 3.2%; top: 1.2%; width: 8.5%; height: 4.5%; }
  .hotspot-residential-nav { left: 47.4%; top: 1.1%; width: 8.4%; height: 5.2%; }
  .hotspot-business-nav { left: 56.3%; top: 1.1%; width: 8.7%; height: 5.2%; }
  .hotspot-founder-nav { left: 68.2%; top: 1.1%; width: 8.1%; height: 5.2%; }
  .hotspot-cta { left: 78.1%; top: .6%; width: 18.2%; height: 6%; }
  .hotspot-residential { left: 3.7%; top: 64.2%; width: 14.6%; height: 9.3%; }
  .hotspot-business { left: 18.3%; top: 64.2%; width: 15%; height: 9.3%; }
}

@media (min-width: 1700px) {
  .hero-dobra { max-height: 100svh; }
}

/* Comp-first production world: live type over clean cinematic media */
.hero-scene { position: absolute; z-index: 0; inset: 0; display: block; overflow: hidden; background: #050810; }
.hero-scene img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.hero-sunset-overlay { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; mix-blend-mode: screen; opacity: .68; }
.hero-sunset-overlay img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: left center; filter: saturate(.92) contrast(1.08); }
.hero-sunset-overlay::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,7,15,.16) 0%,rgba(3,7,15,.08) 40%,rgba(3,7,15,.84) 64%,#03070f 83%); }
.hero-dobra .hero-visual { display: none; }
.hero-dobra .hero-mode-copy { display: none; }
.hero-dobra .hero-mobile-cta { display: none; }

@media (min-width: 961px) {
  .site-header:not(.is-sticky) { opacity: 1; pointer-events: auto; }
  .hero-dobra { min-height: clamp(720px,52.8vw,900px); aspect-ratio: auto; }
  .hero-scene { inset: 24px 0 -24px; }
  .hero-scene img { object-fit: cover; object-position: center top; }
  .hero-sunset-overlay img { object-position: left bottom; }
  .hero-dobra .hero-mobile-reflow { position: relative; width: min(100% - 72px,1450px); min-height: clamp(720px,52.8vw,900px); padding: 70px 0 0; display: block !important; }
  .hero-dobra .hero-copy { position: absolute; top: 19%; left: 0; width: min(49%,720px); max-width: 720px; }
  .hero-dobra h1 { max-width: 720px; font-size: clamp(4.45rem,6.45vw,6rem); font-weight: 790; line-height: .92; letter-spacing: -.04em; text-shadow: 0 3px 24px rgba(0,0,0,.28); }
  .hero-dobra .hero-profile-switch { width: 450px; margin-top: 2.25rem; }
}

@media (min-width: 1700px) {
  .hero-scene img { object-position: center top; }
}

/* The comps' architectural/technical language continues below the fold. */
.project-proof { position: relative; border-top: 1px solid rgba(199,81,18,.32); }
.project-proof::before { content: ""; position: absolute; top: 0; left: 0; width: 22%; height: 2px; background: var(--orange); }
.proof-grid figure { border-radius: 2px; }

#solucoes { position: relative; overflow: hidden; color: #fff; background: #080c15; isolation: isolate; }
#solucoes::before { content: ""; position: absolute; z-index: -1; top: -36%; right: -8%; width: min(70vw,980px); aspect-ratio: 1; border: 1px solid rgba(225,99,24,.26); border-radius: 50%; transform: rotateX(67deg); }
#solucoes::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(circle at 76% 48%,rgba(199,81,18,.13),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size: auto,96px 100%; }
#solucoes .section-heading h2 { color: #fff; }
#solucoes .section-heading > div > p { color: rgba(255,255,255,.66); }
#solucoes .eyebrow.dark { color: var(--orange-light); }
#solucoes .solution-card { min-height: 540px; border: 1px solid rgba(255,255,255,.18); border-radius: 3px; box-shadow: none; }
#solucoes .solution-card::after { content: ""; position: absolute; z-index: 3; inset: 10px; pointer-events: none; border: 1px solid rgba(255,255,255,.12); }
#solucoes .solution-card:hover { transform: translateY(-5px); border-color: rgba(225,99,24,.6); box-shadow: 0 28px 70px rgba(0,0,0,.34); }

.immersive-sticky { border-top: 1px solid rgba(225,99,24,.24); border-bottom: 1px solid rgba(225,99,24,.2); }
.immersive-card { border-radius: 3px; }
.immersive-card::before { border-radius: 1px; }

.cases-section { position: relative; background: #f4f0e9; }
.cases-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .24; background-image: linear-gradient(rgba(30,30,34,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(30,30,34,.08) 1px,transparent 1px); background-size: 88px 88px; mask-image: linear-gradient(to bottom,#000,transparent 62%); }
.case-card { border-radius: 3px; }
.case-card footer { border-radius: 0; }

.video-section { background: #060a12; }
.video-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 80% 20%,rgba(199,81,18,.12),transparent 28%); }

.statement-section { background: #0a0e17; border-top: 1px solid rgba(225,99,24,.22); border-bottom: 1px solid rgba(225,99,24,.22); }
.statement-grid blockquote { max-width: 16ch; }

.process-section { background: #f4f0e9; }
.process-list { border-top-color: rgba(5,8,16,.2); }
.process-list li { position: relative; }
.process-list li::before { content: ""; position: absolute; left: 0; top: -1px; width: 0; height: 2px; background: var(--orange); transition: width .38s cubic-bezier(.2,0,0,1); }
.process-list li:hover::before, .process-list li:focus-visible::before { width: 100%; }

.founder-section { position: relative; overflow: hidden; background: #080c15; }
.founder-section::after { content: ""; position: absolute; right: -18%; bottom: -52%; width: 64vw; aspect-ratio: 1; border: 1px solid rgba(225,99,24,.22); border-radius: 50%; transform: rotateX(68deg); pointer-events: none; }
.founder-photo { border-radius: 2px; }
.founder-photo::after { border-radius: 1px; }

.faq-section { background: #f4f0e9; }
.accordion-item { border-color: rgba(5,8,16,.18); }
.accordion-item button { min-height: 88px; }

.contact-section { background: #050810; }
.whatsapp-panel { border-radius: 3px; border-color: rgba(225,99,24,.38); background: rgba(255,255,255,.045); }

/* Typography floor: live, high-contrast and readable at every breakpoint. */
.section-heading > div > p, .video-heading > p, .founder-copy > p, .faq-intro > p, .contact-copy > p { max-width: 68ch; }
.solution-card p, .case-card p, .process-list p, .accordion-panel p { max-width: 65ch; }
.section-heading h2, .video-heading h2, .founder-copy h2, .faq-intro h2, .contact-copy h2 { letter-spacing: -.04em; text-wrap: balance; }

@media (min-width: 601px) and (max-width: 960px) {
  .site-header:not(.is-sticky) { opacity: 1; pointer-events: auto; }
  .hero-dobra { min-height: 780px; aspect-ratio: auto; }
  .hero-scene img { object-fit: contain; object-position: right bottom; }
  .hero-dobra .hero-mobile-reflow { width: var(--container); min-height: 780px; padding: 76px 0 0; display: block !important; }
  .hero-dobra .hero-copy { position: absolute; top: 17%; left: 0; width: 57%; max-width: 500px; }
  .hero-dobra h1 { max-width: 500px; font-size: clamp(3.65rem,8vw,4.7rem); line-height: .93; }
  .hero-dobra .hero-profile-switch { width: min(390px,100%); margin-top: 1.8rem; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-grid figure:last-child { display: none; }
}

@media (max-width: 600px) {
  .hero-dobra { min-height: 940px; aspect-ratio: auto; }
  .hero-scene { background: radial-gradient(circle at 72% 34%,rgba(17,27,45,.54),transparent 30%),#050810; }
  .hero-scene img { position: absolute; right: 0; bottom: 0; width: 100%; height: auto; object-fit: contain; object-position: bottom center; }
  .hero-dobra .hero-mobile-reflow { width: var(--container); min-height: 940px; padding: 0; display: block !important; }
  .hero-dobra .hero-copy { position: relative; z-index: 4; width: 100%; max-width: none; padding-top: 116px; }
  .hero-dobra h1 { width: 100%; max-width: 360px; font-size: clamp(3rem,14vw,3.65rem); font-weight: 790; line-height: .93; letter-spacing: -.04em; text-shadow: 0 4px 24px rgba(0,0,0,.38); }
  .hero-dobra .hero-profile-switch { width: 246px; min-height: 54px; margin-top: 1.5rem; }
  .hero-dobra .hero-profile { padding: 0 .65rem; gap: .42rem; font-size: .58rem; letter-spacing: .01em; }
  .hero-dobra .hero-profile svg { width: 20px; height: 20px; }
  .hero-dobra .hero-mode-copy, .hero-dobra .hero-mobile-cta { display: none; }
  .project-proof { padding-top: 3.2rem; }
  .proof-heading h2 { max-width: 10ch; font-size: 2.5rem; }
  #solucoes .solution-card { min-height: 450px; }
  #solucoes::before { top: 5%; right: -54%; width: 135vw; }
  .section-heading h2, .video-heading h2, .founder-copy h2, .faq-intro h2, .contact-copy h2 { letter-spacing: -.035em; }
  .section-heading > div > p, .video-heading > p, .founder-copy > p, .faq-intro > p, .contact-copy > p { font-size: 1rem; line-height: 1.68; }
}

/* Impeccable-led cleanup: headings speak for themselves; labels stay inside controls/content. */
.section-heading > .eyebrow,
.video-heading .eyebrow,
.statement-grid .eyebrow,
.founder-copy > .eyebrow,
.faq-intro > .eyebrow,
.contact-copy > .eyebrow,
.proof-heading > small,
.card-kicker,
.card-number,
.case-card footer small,
.immersive-card-copy > small { display: none; }

#solucoes .solution-card, .case-card, .founder-photo { border-radius: 12px; }
.immersive-card, .whatsapp-panel { border-radius: 14px; }
.immersive-card::before { border-radius: 10px; }

::selection { color: #fff; background: #c75112; }
html { scrollbar-color: #c75112 #080c15; scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #080c15; }
::-webkit-scrollbar-thumb { background: #c75112; border: 2px solid #080c15; border-radius: 10px; }
a { text-underline-offset: .22em; }

.solar-lab { position: relative; min-height: 780px; overflow: hidden; color: #fff; background: #070b13; isolation: isolate; }
.solar-lab::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(7,11,19,.98) 0%,rgba(7,11,19,.87) 33%,rgba(7,11,19,.18) 58%,rgba(7,11,19,.36) 100%),linear-gradient(180deg,rgba(7,11,19,.2),transparent 65%,rgba(7,11,19,.72)); }
.solar-lab::after { content: ""; position: absolute; z-index: 2; inset: 18px; pointer-events: none; border: 1px solid rgba(225,99,24,.28); border-radius: 14px; }
.solar-lab-canvas { position: absolute; z-index: 0; inset: 0; }
.solar-lab-canvas canvas { width: 100%; height: 100%; display: block; }
.solar-lab-fallback { position: absolute; z-index: 0; inset: 0; display: grid; grid-template-columns: 1fr 1fr; opacity: .58; }
.solar-lab-fallback::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#070b13 0%,rgba(7,11,19,.66) 48%,rgba(7,11,19,.12)); }
.solar-lab-fallback img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.06) brightness(.7); }
.solar-lab.is-webgl .solar-lab-fallback { opacity: 0; }
.solar-lab-layout { position: relative; z-index: 4; min-height: 780px; display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; }
.solar-lab-copy { max-width: 550px; padding: 6rem 0; }
.solar-lab-copy h2 { max-width: 9ch; margin: 0; font-size: clamp(3.7rem,6vw,5.8rem); font-weight: 560; line-height: .92; letter-spacing: -.04em; text-wrap: balance; }
.solar-lab-copy > p { max-width: 53ch; margin: 1.6rem 0 1.8rem; color: rgba(255,255,255,.72); line-height: 1.72; }
.solar-lab-switch { width: min(440px,100%); min-height: 58px; margin-bottom: 1.2rem; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; overflow: hidden; }
.solar-lab-switch button { padding: .9rem 1rem; color: rgba(255,255,255,.7); background: rgba(7,11,19,.62); border: 0; cursor: pointer; font-size: .76rem; font-weight: 750; text-transform: uppercase; }
.solar-lab-switch button + button { border-left: 1px solid rgba(255,255,255,.18); }
.solar-lab-switch button.is-active { color: #fff; background: #c75112; }
.solar-lab-copy .button { width: min(440px,100%); }
.solar-lab-note { position: absolute; right: 0; bottom: 2.4rem; max-width: 36ch; margin: 0; color: rgba(255,255,255,.5); font-size: .7rem; line-height: 1.5; text-align: right; }

@media (min-width: 601px) and (max-width: 960px) {
  .hero-dobra .hero-mobile-cta { width: min(390px,100%); margin-top: .9rem; display: inline-flex; }
  .solar-lab, .solar-lab-layout { min-height: 720px; }
  .solar-lab-layout { grid-template-columns: 1fr 1fr; }
  .solar-lab-copy h2 { font-size: clamp(3.3rem,7vw,4.4rem); }
}

@media (max-width: 600px) {
  .hero-dobra h1 { max-width: 350px; font-size: clamp(2.9rem,12.6vw,3.25rem); }
  .hero-dobra .hero-mobile-cta { width: 218px; min-height: 46px; margin-top: .75rem; padding: .65rem .75rem; display: inline-flex; font-size: .65rem; }
  .hero-scene img { -webkit-mask-image: linear-gradient(180deg,transparent 0%,#000 15%,#000 100%); mask-image: linear-gradient(180deg,transparent 0%,#000 15%,#000 100%); }
  .hero-sunset-overlay { opacity: .38; -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 62%,transparent 96%); mask-image: linear-gradient(180deg,#000 0%,#000 62%,transparent 96%); }
  .hero-sunset-overlay img { object-position: 28% top; }
  .hero-sunset-overlay::after { background: linear-gradient(180deg,rgba(3,7,15,.22) 0%,rgba(3,7,15,.28) 42%,#03070f 78%); }
  .solar-lab { min-height: 780px; }
  .solar-lab::before { background: linear-gradient(180deg,rgba(7,11,19,.98) 0%,rgba(7,11,19,.83) 53%,rgba(7,11,19,.38)); }
  .solar-lab::after { inset: 10px; border-radius: 12px; }
  .solar-lab-canvas { display: none; }
  .solar-lab-fallback { top: 42%; display: block; }
  .solar-lab-fallback img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .solar-lab-fallback img:last-child { display: none; }
  .solar-lab[data-solar-mode="business"] .solar-lab-fallback img:first-child { display: none; }
  .solar-lab[data-solar-mode="business"] .solar-lab-fallback img:last-child { display: block; }
  .solar-lab-fallback::after { background: linear-gradient(180deg,#070b13 0%,transparent 44%,rgba(7,11,19,.48)); }
  .solar-lab-layout { min-height: 780px; display: block; }
  .solar-lab-copy { max-width: 100%; padding: 5.2rem 1rem 0; }
  .solar-lab-copy h2 { max-width: 9ch; font-size: 3.35rem; }
  .solar-lab-copy > p { margin: 1.2rem 0 1.35rem; font-size: .95rem; line-height: 1.65; }
  .solar-lab-switch { min-height: 54px; }
  .solar-lab-switch button { font-size: .68rem; }
  .solar-lab-note { right: 1rem; bottom: 1.8rem; left: 1rem; max-width: none; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .solar-lab-canvas { display: none; }
  .solar-lab-fallback { opacity: .72 !important; }
}
