:root {
  --sg-red: #f2303a;
  --charcoal: #0b0d0e;
  --dark: #111416;
  --off-white: #f2f2ef;
  --paper: #f7f7f4;
  --white: #fff;
  --ink: #111315;
  --muted: #636a6d;
  --line-light: rgba(14,18,20,.15);
  --line-dark: rgba(255,255,255,.14);
  --shell: min(100% - 72px, 1500px);
  --ease: cubic-bezier(.2,.72,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--charcoal); }
body { margin: 0; font-family: Inter, "Helvetica Neue", Arial, sans-serif; color: var(--ink); background: var(--off-white); -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
::selection { background: var(--sg-red); color: #fff; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 1000; padding: 10px 14px; background: #fff; color: #000; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; color: #fff; transition: background .35s ease, border-color .35s ease; border-bottom: 1px solid transparent; }
.site-header.is-scrolled { background: rgba(11,13,14,.92); backdrop-filter: blur(14px); border-color: var(--line-dark); }
.header-inner { min-height: 88px; display: grid; grid-template-columns: 130px 1fr auto; gap: 34px; align-items: center; }
.brand { width: 84px; display: inline-block; }
.brand img { width: 84px; height: auto; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(20px, 2.2vw, 39px); }
.desktop-nav a { position: relative; text-decoration: none; font-size: 12px; font-weight: 650; letter-spacing: .015em; color: rgba(255,255,255,.76); }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--sg-red); transition: right .28s var(--ease); }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: #fff; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-cta { display: inline-flex; align-items: center; gap: 13px; min-height: 42px; padding: 0 0 0 20px; border-left: 1px solid var(--line-dark); color: #fff; text-decoration: none; font-size: 12px; font-weight: 700; }
.header-cta span { color: var(--sg-red); font-size: 16px; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: 100svh; overflow: hidden; background: radial-gradient(circle at 71% 54%, #202628 0, #131719 26%, #0b0d0e 71%, #090b0c 100%); color: #fff; }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(0,0,0,.34), transparent 46%, rgba(0,0,0,.08)); }
.hero-grid { position: relative; z-index: 1; min-height: 100svh; display: grid; grid-template-columns: minmax(0,.86fr) minmax(440px,1.14fr); align-items: center; gap: 44px; padding-top: 92px; }
.hero-copy { position: relative; z-index: 2; padding: 70px 0 120px; }
.eyebrow { margin: 0 0 27px; font-size: 11px; line-height: 1.3; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { margin: 0; max-width: 8.5ch; font-size: clamp(48px,5.4vw,82px); line-height: .88; letter-spacing: -.065em; font-weight: 680; }
.hero h1 span { color: var(--sg-red); }
.hero-intro { max-width: 520px; margin: 34px 0 0; color: rgba(255,255,255,.64); font-size: clamp(15px,1.05vw,18px); line-height: 1.55; }
.text-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 28px; text-decoration: none; font-size: 11px; font-weight: 760; letter-spacing: .10em; text-transform: uppercase; }
.text-link span { color: var(--sg-red); font-size: 17px; transition: transform .2s var(--ease); }
.text-link:hover span, .text-link:focus-visible span { transform: translateX(4px); }
.hero-link { margin-top: 56px; }
.hero-link:hover span { transform: translateY(4px); }
.hero-scene { align-self: stretch; display: flex; align-items: end; justify-content: end; opacity: .92; transform: translateX(7%); }
.hero-scene svg { width: min(760px,58vw); height: auto; }
.hero-footer { position: absolute; z-index: 2; left: 50%; bottom: 26px; transform: translateX(-50%); display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.42); }
.hero-rule { height: 1px; background: var(--line-dark); }

.section-light { background: var(--off-white); }
.section-grid { display: grid; grid-template-columns: 150px minmax(0,1.7fr) minmax(240px,.75fr); gap: 44px; padding-block: clamp(104px,10vw,160px); align-items: start; }
.section-index, .visual-label { color: var(--sg-red); font-size: 9px; line-height: 1.3; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.manifesto-main h2 { margin: 0; max-width: 11ch; font-size: clamp(36px,3.85vw,56px); line-height: .98; letter-spacing: -.055em; font-weight: 650; }
.manifesto-main h2 span { color: var(--sg-red); }
.manifesto-aside { border-left: 1px solid var(--line-light); padding-left: 28px; margin-top: 5px; }
.manifesto-aside p { margin: 0; color: #50575a; font-size: 14px; line-height: 1.6; }

.solutions { background: var(--charcoal); color: #fff; }
 .solutions-shell { min-height: 760px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(430px,.85fr); align-items: stretch; }
.solutions-visual { position: relative; min-height: 680px; overflow: hidden; border-right: 1px solid var(--line-dark); }
.solutions-visual svg { width: 100%; height: 100%; object-fit: cover; }
.visual-label { position: absolute; z-index: 2; top: 58px; left: 0; color: rgba(255,255,255,.55); }
.solutions-content { padding: 58px 0 70px clamp(46px,5vw,86px); display: flex; flex-direction: column; }
.solutions-heading .eyebrow { color: rgba(255,255,255,.45); }
.solutions-heading h2 { margin: 0 0 54px; max-width: 10.5ch; font-size: clamp(30px,3vw,46px); line-height: 1; letter-spacing: -.045em; font-weight: 590; }
.solution-list { border-top: 1px solid var(--line-dark); }
.solution-tab { width: 100%; color: rgba(255,255,255,.52); background: none; border: 0; border-bottom: 1px solid var(--line-dark); display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; padding: 24px 0 26px; text-align: left; cursor: pointer; font-size: clamp(18px,1.55vw,24px); line-height: 1.05; letter-spacing: -.035em; transition: color .22s ease, padding-left .22s var(--ease); }
.solution-tab:hover, .solution-tab:focus-visible, .solution-tab.is-active { color: #fff; }
.solution-tab.is-active { padding-left: 12px; }
.solution-number { color: var(--sg-red); font-size: 10px; letter-spacing: .12em; padding-top: 7px; }
.solution-detail { padding: 35px 0 5px 70px; max-width: 560px; }
.solution-kicker { margin: 0 0 11px; color: rgba(255,255,255,.92); font-weight: 650; }
.solution-description { margin: 0; color: rgba(255,255,255,.53); font-size: 14px; line-height: 1.6; }
.solution-detail ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 8px; color: rgba(255,255,255,.68); font-size: 13px; }
.solution-detail li::before { content: "—"; color: var(--sg-red); margin-right: 12px; }
.solutions-content > .text-link { margin-top: auto; color: rgba(255,255,255,.72); }

.system-section { padding-block: clamp(96px,9vw,138px); }
.system-head { display: grid; grid-template-columns: 160px minmax(0,1.4fr) minmax(250px,.6fr); gap: 48px; align-items: start; }
.system-overline { margin: 0 0 13px; color: var(--muted); font-size: 13px; }
.system-head h2 { margin: 0; font-size: clamp(34px,3.5vw,50px); line-height: .95; letter-spacing: -.055em; font-weight: 650; }
.system-intro { margin: 20px 0 0; padding-left: 24px; border-left: 1px solid var(--line-light); color: var(--muted); font-size: 14px; line-height: 1.55; }
.system-track { margin-top: 68px; display: grid; grid-template-columns: repeat(6,1fr); border-top: 1px solid var(--line-light); }
.system-step { min-height: 220px; padding: 24px 22px 30px 0; border-right: 1px solid var(--line-light); outline: 0; cursor: default; transition: background .25s ease, padding-left .25s var(--ease); }
.system-step:last-child { border-right: 0; }
.system-step span { display: inline-block; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .12em; transition: color .25s ease; }
.system-step h3 { margin: 38px 0 13px; font-size: clamp(18px,1.35vw,23px); letter-spacing: -.03em; font-weight: 620; }
.system-step p { margin: 0; max-width: 22ch; color: var(--muted); font-size: 13px; line-height: 1.6; opacity: .78; }
.system-step.is-active { background: rgba(242,48,58,.035); padding-left: 18px; }
.system-step.is-active span { color: var(--sg-red); }
.system-progress { height: 2px; background: rgba(14,18,20,.08); overflow: hidden; }
.system-progress span { display: block; width: 16.666%; height: 100%; background: var(--sg-red); transition: width .42s var(--ease); }

.markets { position: relative; min-height: 760px; overflow: hidden; background: #0d1113; color: #fff; }
.markets::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,13,14,.97) 0, rgba(11,13,14,.94) 32%, rgba(11,13,14,.76) 53%, rgba(11,13,14,.24) 100%); pointer-events: none; }
.markets-visual { position: absolute; inset: 0 0 0 36%; color: rgba(255,255,255,.13); display: grid; place-items: center; transition: transform .65s var(--ease), color .4s ease; }
.markets-visual svg { width: min(78vw,980px); height: auto; transform: translate(8%,3%); }
.market-code { position: absolute; right: 4vw; bottom: 5vw; color: rgba(255,255,255,.42); font-size: 11px; letter-spacing: .14em; }
.market-code span { color: var(--sg-red); }
.markets-layout { position: relative; z-index: 2; min-height: 760px; display: grid; grid-template-columns: minmax(250px,.72fr) minmax(260px,.58fr) minmax(320px,.7fr); gap: clamp(40px,5vw,86px); align-items: center; padding-block: 95px; }
.markets-copy h2 { margin: 30px 0 20px; max-width: 8ch; font-size: clamp(36px,3.7vw,52px); line-height: .91; letter-spacing: -.06em; font-weight: 640; }
.markets-copy > p { margin: 0; max-width: 30ch; color: rgba(255,255,255,.48); font-size: 14px; line-height: 1.55; }
.market-list { border-top: 1px solid var(--line-dark); }
.market-tab { width: 100%; display: grid; grid-template-columns: 42px 1fr; gap: 10px; padding: 14px 0; border: 0; border-bottom: 1px solid var(--line-dark); background: transparent; color: rgba(255,255,255,.48); text-align: left; cursor: pointer; font-size: 15px; transition: color .2s ease, padding-left .22s var(--ease); }
.market-tab span { color: rgba(255,255,255,.22); font-size: 9px; letter-spacing: .12em; padding-top: 4px; }
.market-tab:hover, .market-tab:focus-visible, .market-tab.is-active { color: #fff; }
.market-tab.is-active { padding-left: 10px; }
.market-tab.is-active span { color: var(--sg-red); }
.market-detail { align-self: center; padding-left: 32px; border-left: 1px solid var(--line-dark); }
.market-label { margin: 0 0 34px; color: var(--sg-red); font-size: 10px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.market-detail h3 { margin: 0 0 24px; max-width: 11ch; font-size: clamp(27px,2.35vw,36px); line-height: .98; letter-spacing: -.05em; font-weight: 590; }
.market-detail > p:not(.market-label) { margin: 0; max-width: 34ch; color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.55; }
.market-meta { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.market-meta span { color: rgba(255,255,255,.52); font-size: 11px; }
.market-meta span::before { content: "/"; color: var(--sg-red); margin-right: 7px; }
.market-detail .text-link { color: rgba(255,255,255,.8); margin-top: 45px; }

.projects { padding-block: clamp(96px,9vw,138px); }
.projects-head { display: grid; grid-template-columns: 160px minmax(0,1.2fr) minmax(260px,.55fr); gap: 48px; align-items: end; }
.projects-head h2 { margin: 0; font-size: clamp(35px,3.6vw,52px); line-height: .92; letter-spacing: -.06em; font-weight: 650; }
.projects-head p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.project-feature { margin-top: 60px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(330px,.45fr); background: var(--charcoal); color: #fff; min-height: 570px; }
.project-visual { position: relative; overflow: hidden; border-right: 1px solid var(--line-dark); }
.project-visual svg { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.project-feature:hover .project-visual svg { transform: scale(1.008); }
.project-demo-badge { position: absolute; left: 28px; bottom: 26px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.48); background: rgba(11,13,14,.55); font-size: 8px; font-weight: 750; letter-spacing: .13em; }
.project-info { padding: clamp(34px,4vw,66px); display: flex; flex-direction: column; }
.project-count { color: rgba(255,255,255,.4); font-size: 10px; letter-spacing: .13em; }
.project-count span:first-child { color: var(--sg-red); }
.project-kicker { margin: 70px 0 14px; color: var(--sg-red); font-size: 10px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.project-info h3 { margin: 0 0 22px; max-width: 11ch; font-size: clamp(25px,2.05vw,34px); line-height: .98; letter-spacing: -.05em; font-weight: 580; }
.project-info > div > p:last-child { margin: 0; color: rgba(255,255,255,.54); font-size: 14px; line-height: 1.55; }
.project-facts { margin: 40px 0 0; border-top: 1px solid var(--line-dark); }
.project-facts div { display: grid; grid-template-columns: 86px 1fr; gap: 15px; padding: 14px 0; border-bottom: 1px solid var(--line-dark); }
.project-facts dt { color: rgba(255,255,255,.35); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.project-facts dd { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; }
.project-actions { margin-top: auto; display: flex; justify-content: flex-end; gap: 8px; }
.project-arrow { width: 46px; height: 46px; border: 1px solid var(--line-dark); color: #fff; background: transparent; cursor: pointer; transition: background .2s ease, color .2s ease; }
.project-arrow:hover, .project-arrow:focus-visible { background: #fff; color: #000; }
.projects-note { margin-top: 30px; display: grid; grid-template-columns: 160px 1fr; gap: 48px; padding-top: 22px; border-top: 1px solid var(--line-light); }
.projects-note span { color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.projects-note p { margin: 0; color: var(--muted); font-size: 13px; }

.presence { background: #0d1113; color: #fff; border-top: 1px solid var(--line-dark); }
.presence-layout { min-height: 760px; display: grid; grid-template-columns: minmax(220px,.58fr) minmax(420px,1.05fr) minmax(280px,.52fr); gap: clamp(34px,4vw,72px); align-items: center; padding-block: clamp(92px,9vw,140px); }
.presence-copy h2 { margin: 34px 0 20px; font-size: clamp(35px,3.6vw,52px); line-height: .96; letter-spacing: -.05em; font-weight: 620; }
.presence-copy > p { margin: 0; max-width: 26ch; color: rgba(255,255,255,.52); font-size: 14px; line-height: 1.55; }
.presence-note { display: block; margin-top: 28px; color: rgba(255,255,255,.30); font-size: 10px; line-height: 1.5; text-transform: uppercase; letter-spacing: .1em; }
.presence-map-wrap { position: relative; min-height: 610px; display: grid; place-items: center; }
.presence-map { width: min(100%,620px); height: auto; overflow: visible; }
.state-node { cursor: pointer; outline: none; }
.state-node polygon, .state-node circle { fill: #171c1f; stroke: rgba(255,255,255,.20); stroke-width: 1.2; transition: fill .22s ease, stroke .22s ease, transform .22s var(--ease); transform-box: fill-box; transform-origin: center; }
.state-node text { fill: rgba(255,255,255,.44); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-anchor: middle; pointer-events: none; transition: fill .22s ease; }
.state-node:hover polygon, .state-node:hover circle, .state-node:focus-visible polygon, .state-node:focus-visible circle { fill: #242b2e; stroke: rgba(255,255,255,.48); transform: scale(1.05); }
.state-node:hover text, .state-node:focus-visible text { fill: #fff; }
.state-node.is-active polygon, .state-node.is-active circle { fill: var(--sg-red); stroke: var(--sg-red); transform: scale(1.06); }
.state-node.is-active text { fill: #fff; }
.state-node--small text { font-size: 7px; }
.map-tooltip { position: absolute; pointer-events: none; z-index: 5; min-width: 110px; padding: 9px 11px; background: rgba(7,9,10,.94); border: 1px solid var(--line-dark); color: #fff; font-size: 11px; transform: translate(12px,12px); }
.presence-panel { position: relative; align-self: center; min-height: 370px; padding-left: 30px; border-left: 1px solid var(--line-dark); }
.presence-panel-code { position: absolute; right: 0; top: -22px; color: rgba(255,255,255,.035); font-size: clamp(90px,9vw,148px); line-height: 1; font-weight: 760; letter-spacing: -.08em; pointer-events: none; }
.presence-panel-label { margin: 0 0 18px; color: var(--sg-red); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.presence-panel h3 { position: relative; margin: 0 0 16px; max-width: 10ch; font-size: clamp(27px,2.35vw,36px); line-height: .98; letter-spacing: -.045em; font-weight: 590; }
.presence-panel-status { position: relative; margin: 0; max-width: 31ch; color: rgba(255,255,255,.52); font-size: 14px; line-height: 1.55; }
.presence-facts { position: relative; margin: 38px 0 0; border-top: 1px solid var(--line-dark); }
.presence-facts div { display: grid; grid-template-columns: 90px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line-dark); }
.presence-facts dt { color: rgba(255,255,255,.34); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.presence-facts dd { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; }
.presence-link { position: relative; color: rgba(255,255,255,.75); margin-top: 34px; }


/* v0.4 — SG Assets: editorial showcase, not marketplace cards */
.assets-showcase { background: var(--paper); border-top: 1px solid var(--line-light); }
.assets-head { display: grid; grid-template-columns: 150px minmax(0,1fr) minmax(220px,.52fr); gap: 44px; align-items: end; padding: clamp(96px,8vw,128px) 0 48px; }
.assets-overline { margin: 0 0 10px; color: var(--muted); font-size: 12px; }
.assets-head h2 { margin: 0; font-size: clamp(34px,3.6vw,52px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.assets-head-copy { margin: 0; max-width: 28ch; padding-left: 24px; border-left: 1px solid var(--line-light); color: var(--muted); font-size: 13px; line-height: 1.55; }
.asset-stage { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.62fr) minmax(160px,.32fr); min-height: 620px; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.asset-visual { position: relative; display: grid; place-items: center; min-height: 620px; padding: 42px; border-right: 1px solid var(--line-light); background: linear-gradient(135deg,#eceeeb,#f8f8f5 60%,#e8eae8); overflow: hidden; }
.asset-visual::before { content: ""; position: absolute; inset: 9% 8%; border: 1px solid rgba(17,19,21,.055); pointer-events: none; }
.asset-visual svg { width: min(100%,820px); height: auto; }
.asset-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.asset-photo[hidden], .asset-visual svg[hidden] { display: none; }
.asset-art { opacity: 0; transition: opacity .32s var(--ease); }
.asset-art.is-active { opacity: 1; }
.asset-demo { position: absolute; left: 28px; bottom: 24px; color: rgba(17,19,21,.34); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.asset-info { position: relative; padding: 48px 42px 42px; display: flex; flex-direction: column; min-width: 0; }
.asset-counter { margin-bottom: auto; color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.asset-counter span:first-child { color: var(--sg-red); }
.asset-category { margin: 48px 0 10px; color: var(--sg-red); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.asset-info h3 { margin: 0; max-width: 10ch; font-size: clamp(28px,2.5vw,38px); line-height: .98; letter-spacing: -.045em; font-weight: 590; }
.asset-description { margin: 18px 0 0; max-width: 31ch; color: var(--muted); font-size: 13px; line-height: 1.58; }
.asset-specs { margin: 34px 0 0; border-top: 1px solid var(--line-light); }
.asset-specs div { display: grid; grid-template-columns: 74px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-light); }
.asset-specs dt { color: #8a9092; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.asset-specs dd { margin: 0; color: #3b4143; font-size: 12px; }
.asset-link { margin-top: 30px; }
.asset-controls { display: flex; gap: 8px; margin-top: auto; padding-top: 36px; }
.asset-arrow { width: 42px; height: 42px; border: 1px solid var(--line-light); background: transparent; color: var(--ink); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.asset-arrow:hover, .asset-arrow:focus-visible { border-color: var(--sg-red); color: var(--sg-red); }
.asset-index { border-left: 1px solid var(--line-light); display: flex; flex-direction: column; }
.asset-index-item { flex: 1; display: grid; align-content: center; gap: 10px; width: 100%; padding: 24px; border: 0; border-bottom: 1px solid var(--line-light); background: transparent; text-align: left; color: #7a8082; cursor: pointer; transition: background .22s ease, color .22s ease; }
.asset-index-item:last-child { border-bottom: 0; }
.asset-index-item span { color: #a0a5a6; font-size: 9px; letter-spacing: .12em; }
.asset-index-item strong { font-size: 13px; font-weight: 560; }
.asset-index-item.is-active { background: rgba(242,48,58,.035); color: var(--ink); }
.asset-index-item.is-active span { color: var(--sg-red); }
.asset-index-item:hover, .asset-index-item:focus-visible { color: var(--ink); }

.contact-strip { background: var(--sg-red); color: #0a0b0c; }
.contact-grid { min-height: 360px; display: grid; grid-template-columns: 160px 1fr auto; gap: 48px; align-items: center; }
.contact-grid .section-index { color: rgba(0,0,0,.55); }
.contact-grid h2 { margin: 0; max-width: 11ch; font-size: clamp(34px,3.5vw,50px); line-height: .94; letter-spacing: -.055em; font-weight: 670; }
.contact-link { display: inline-flex; align-items: center; gap: 30px; padding-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,.35); text-decoration: none; font-size: 13px; font-weight: 760; text-transform: uppercase; letter-spacing: .08em; }
.contact-link span { font-size: 21px; transition: transform .2s var(--ease); }
.contact-link:hover span { transform: translate(4px,-4px); }

.site-footer { background: var(--charcoal); color: #fff; }
.footer-grid { min-height: 250px; display: grid; grid-template-columns: 160px 1fr auto; gap: 48px; align-items: center; border-top: 1px solid var(--line-dark); }
.footer-brand img { width: 86px; height: auto; }
.footer-grid > p { max-width: 390px; margin: 0; color: rgba(255,255,255,.48); line-height: 1.6; }
.footer-status { text-align: right; display: grid; gap: 4px; }
.footer-status span { color: rgba(255,255,255,.4); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.footer-status strong { color: var(--sg-red); font-size: 22px; }
.footer-bottom { min-height: 70px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line-dark); color: rgba(255,255,255,.30); font-size: 10px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .78s var(--ease), transform .78s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  :root { --shell: min(100% - 44px,1020px); }
  .desktop-nav { display: none; }
  .header-inner { grid-template-columns: 1fr auto auto; gap: 22px; }
  .header-cta { border: 0; padding-left: 0; }
  .menu-toggle { width: 44px; height: 44px; display: grid; align-content: center; gap: 6px; border: 1px solid var(--line-dark); background: transparent; color: currentColor; cursor: pointer; }
  .menu-toggle span { display: block; width: 18px; height: 1px; background: currentColor; margin-inline: auto; transition: transform .25s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { display: block; position: fixed; inset: 88px 0 0; background: rgba(11,13,14,.985); color: #fff; padding: 34px max(22px,calc((100vw - var(--shell))/2)); }
  .mobile-menu[hidden] { display: none; }
  .mobile-menu nav { display: grid; }
  .mobile-menu a { text-decoration: none; border-bottom: 1px solid var(--line-dark); padding: 19px 0; font-size: 23px; letter-spacing: -.03em; display: flex; justify-content: space-between; }
  .mobile-menu a span { color: var(--sg-red); font-size: 10px; letter-spacing: .12em; padding-top: 6px; }
  .mobile-menu .mobile-contact { color: var(--sg-red); border-bottom: 0; margin-top: 18px; }
  .section-grid, .system-head, .projects-head { grid-template-columns: 110px 1fr; }
  .manifesto-aside, .system-intro, .projects-head > p { grid-column: 2; }
  .solutions-shell { grid-template-columns: 1fr 1fr; }
  .system-track { overflow-x: auto; grid-template-columns: repeat(6,minmax(220px,1fr)); scrollbar-width: thin; }
  .markets-layout { grid-template-columns: .8fr .7fr; }
  .market-detail { grid-column: 2; }
  .markets-visual { left: 42%; }
  .project-feature { grid-template-columns: 1.2fr .8fr; }
  .assets-head { grid-template-columns: 110px 1fr; }
  .assets-head-copy { grid-column: 2; }
  .asset-stage { grid-template-columns: 1fr minmax(300px,.64fr); }
  .asset-index { grid-column: 1 / -1; flex-direction: row; border-left: 0; border-top: 1px solid var(--line-light); }
  .asset-index-item { min-height: 92px; border-bottom: 0; border-right: 1px solid var(--line-light); }
  .asset-index-item:last-child { border-right: 0; }
}

@media (max-width: 760px) {
  :root { --shell: calc(100vw - 36px); }
  .site-header .header-inner { min-height: 74px; }
  .brand, .brand img { width: 70px; }
  .header-cta { display: none; }
  .mobile-menu { inset: 74px 0 0; }
  .hero-grid { grid-template-columns: 1fr; min-height: 100svh; padding-top: 74px; }
  .hero-copy { padding: 106px 0 160px; }
  .hero h1 { font-size: clamp(44px,13vw,60px); max-width: 8ch; }
  .hero-intro { max-width: 32ch; font-size: 16px; }
  .hero-scene { position: absolute; inset: auto -30% 0 22%; opacity: .42; }
  .hero-scene svg { width: 100%; min-width: 660px; }
  .hero-footer { grid-template-columns: auto 1fr; bottom: 20px; }
  .hero-footer span:last-child { display: none; }
  .section-grid, .system-head, .projects-head { grid-template-columns: 1fr; gap: 28px; padding-block: 92px; }
  .manifesto-main h2 { font-size: clamp(34px,9.8vw,46px); }
  .manifesto-aside, .system-intro, .projects-head > p { grid-column: auto; padding-left: 0; padding-top: 26px; border-left: 0; border-top: 1px solid var(--line-light); }
  .solutions-shell { width: 100%; grid-template-columns: 1fr; }
  .solutions-visual { min-height: 54svh; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .visual-label { left: 18px; top: 28px; }
  .solutions-content { padding: 62px 18px 78px; }
  .solution-detail { padding-left: 0; }
  .solutions-content > .text-link { margin-top: 48px; }
  .system-section { padding-block: 0 92px; }
  .system-track { width: 100%; padding-left: 18px; grid-template-columns: repeat(6,76vw); scroll-snap-type: x mandatory; }
  .system-step { scroll-snap-align: start; min-height: 280px; }
  .system-progress { width: calc(100% - 36px); }
  .markets { min-height: auto; }
  .markets::after { background: linear-gradient(180deg, rgba(11,13,14,.98), rgba(11,13,14,.91) 62%, rgba(11,13,14,.72)); }
  .markets-visual { inset: 33% -45% -10% 20%; opacity: .7; }
  .markets-layout { min-height: 0; grid-template-columns: 1fr; gap: 48px; padding-block: 92px; }
  .markets-copy h2 { font-size: clamp(35px,10.5vw,48px); }
  .market-list { order: 3; }
  .market-detail { grid-column: auto; order: 2; border-left: 0; padding: 28px 0 0; border-top: 1px solid var(--line-dark); }
  .market-tab { padding-block: 13px; }
  .project-feature { width: 100%; grid-template-columns: 1fr; min-height: 0; }
  .project-visual { min-height: 54svh; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .project-info { min-height: 520px; }
  .projects-note { grid-template-columns: 1fr; gap: 12px; }

  .presence-layout { min-height: 0; grid-template-columns: 1fr; gap: 44px; padding-block: 86px; }
  .presence-copy h2 { font-size: clamp(34px,9.8vw,46px); }
  .presence-map-wrap { min-height: 520px; overflow: hidden; }
  .presence-map { width: min(118%,620px); transform: translateX(-2%); }
  .presence-panel { min-height: 0; padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--line-dark); }
  .presence-panel-code { right: 0; top: 12px; font-size: 92px; }
  .assets-head { grid-template-columns: 1fr; gap: 24px; padding: 86px 0 36px; }
  .assets-head-copy { grid-column: auto; padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--line-light); }
  .assets-head h2 { font-size: clamp(32px,9.5vw,44px); }
  .asset-stage { width: 100%; grid-template-columns: 1fr; min-height: 0; }
  .asset-visual { min-height: 390px; padding: 24px 12px; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .asset-demo { left: 18px; bottom: 16px; }
  .asset-info { min-height: 480px; padding: 36px 18px; }
  .asset-counter { margin-bottom: 28px; }
  .asset-category { margin-top: 0; }
  .asset-info h3 { font-size: clamp(27px,8.5vw,36px); }
  .asset-index { grid-column: auto; flex-direction: row; overflow-x: auto; border-left: 0; border-top: 1px solid var(--line-light); }
  .asset-index-item { min-width: 150px; min-height: 88px; border-bottom: 0; border-right: 1px solid var(--line-light); }
  .contact-grid { min-height: 420px; grid-template-columns: 1fr; gap: 24px; align-content: center; }
  .contact-grid h2 { font-size: clamp(34px,10vw,46px); }
  .contact-link { justify-self: start; margin-top: 25px; }
  .footer-grid { grid-template-columns: 1fr; gap: 22px; padding-block: 52px; }
  .footer-status { text-align: left; }
  .footer-bottom { flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding-block: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* v0.6 — retained quiet scale and circularity baseline */
:focus-visible { outline: 2px solid var(--sg-red); outline-offset: 4px; }
.desktop-nav a.is-current { color: #fff; }
.desktop-nav a.is-current::after { right: 0; }

.hero h1 { font-size: clamp(46px,5vw,74px); }
.hero-intro { max-width: 410px; font-size: clamp(14px,.95vw,16px); }
.manifesto-main h2 { font-size: clamp(34px,3.5vw,50px); }
.solutions-heading h2 { font-size: clamp(29px,2.7vw,42px); }
.system-head h2 { font-size: clamp(31px,3.1vw,46px); }
.markets-copy h2 { font-size: clamp(32px,3.25vw,48px); }
.projects-head h2 { font-size: clamp(32px,3.2vw,48px); }
.presence-copy h2 { font-size: clamp(32px,3.2vw,48px); }
.assets-head h2 { font-size: clamp(31px,3.15vw,46px); }

.sustainability { background: #0d1113; color: #fff; border-top: 1px solid var(--line-dark); }
.sustainability-layout { min-height: 650px; display: grid; grid-template-columns: minmax(260px,.72fr) minmax(420px,1fr) minmax(240px,.55fr); gap: clamp(42px,5vw,86px); align-items: center; padding-block: clamp(92px,8vw,126px); }
.sustainability-copy .section-index { margin-bottom: 50px; }
.sustainability-kicker { margin: 0 0 13px; color: rgba(255,255,255,.42); font-size: 12px; }
.sustainability-copy h2 { margin: 0; max-width: 10ch; font-size: clamp(32px,3.15vw,46px); line-height: .96; letter-spacing: -.052em; font-weight: 620; }
.sustainability-copy h2 span { color: var(--sg-red); }
.sustainability-copy > p:last-child { margin: 28px 0 0; max-width: 27ch; color: rgba(255,255,255,.50); font-size: 13px; line-height: 1.58; }
.sustainability-flow { border-top: 1px solid var(--line-dark); }
.sustainability-flow article { display: grid; grid-template-columns: 54px minmax(0,1fr) minmax(120px,.6fr); gap: 18px; align-items: baseline; min-height: 112px; padding: 25px 0; border-bottom: 1px solid var(--line-dark); }
.sustainability-flow article > span { color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.sustainability-flow h3 { margin: 0; font-size: clamp(19px,1.5vw,24px); line-height: 1; letter-spacing: -.035em; font-weight: 580; }
.sustainability-flow p { margin: 0; color: rgba(255,255,255,.42); font-size: 12px; line-height: 1.5; }
.sustainability-mark { color: rgba(255,255,255,.55); align-self: stretch; display: grid; place-items: center; border-left: 1px solid var(--line-dark); padding-left: clamp(24px,3vw,48px); }
.sustainability-mark svg { width: min(100%,300px); height: auto; }

.contact-strip { background: #e9ebe8; color: var(--ink); border-top: 1px solid var(--line-light); }
.contact-grid { min-height: 320px; grid-template-columns: 150px minmax(0,1fr) auto; }
.contact-grid .section-index { color: var(--sg-red); }
.contact-kicker { margin: 0 0 11px; color: var(--muted); font-size: 12px; }
.contact-grid h2 { font-size: clamp(30px,3vw,44px); max-width: none; line-height: .96; letter-spacing: -.05em; font-weight: 630; }
.contact-link { border-bottom-color: rgba(17,19,21,.24); font-size: 11px; letter-spacing: .10em; }
.contact-link span { color: var(--sg-red); }

.reveal { transform: translateY(10px); transition-duration: .62s; }

@media (max-width: 1180px) {
  .sustainability-layout { grid-template-columns: minmax(230px,.65fr) 1fr; }
  .sustainability-mark { grid-column: 2; border-left: 0; border-top: 1px solid var(--line-dark); padding: 30px 0 0; justify-items: start; }
  .sustainability-mark svg { width: 210px; }
}

@media (max-width: 760px) {
  .hero h1 { font-size: clamp(40px,11.5vw,54px); }
  .hero-intro { font-size: 15px; }
  .manifesto-main h2 { font-size: clamp(31px,8.8vw,42px); }
  .markets-copy h2, .presence-copy h2 { font-size: clamp(31px,9vw,43px); }
  .assets-head h2 { font-size: clamp(29px,8.7vw,40px); }
  .sustainability-layout { min-height: 0; grid-template-columns: 1fr; gap: 52px; padding-block: 86px; }
  .sustainability-copy .section-index { margin-bottom: 34px; }
  .sustainability-copy h2 { font-size: clamp(31px,9vw,42px); }
  .sustainability-flow article { grid-template-columns: 42px 1fr; min-height: 96px; }
  .sustainability-flow p { grid-column: 2; }
  .sustainability-mark { grid-column: auto; justify-items: center; border-top: 1px solid var(--line-dark); padding: 38px 0 0; }
  .sustainability-mark svg { width: 190px; }
  .contact-grid { min-height: 350px; grid-template-columns: 1fr; gap: 26px; align-content: center; }
  .contact-grid h2 { font-size: clamp(30px,8.8vw,40px); }
  .contact-link { margin-top: 8px; }
}

/* v0.6 — premium finishing pass: quieter type, tighter header, calmer interaction */
:root {
  --shell: min(100% - 88px, 1440px);
  --header-h: 82px;
}

section[id] { scroll-margin-top: 72px; }
.site-header { will-change: background, border-color; }
.page-progress { position: absolute; inset: 0 0 auto; height: 1px; background: rgba(255,255,255,.055); overflow: hidden; }
.page-progress span { display: block; width: 100%; height: 100%; background: var(--sg-red); transform: scaleX(0); transform-origin: left center; will-change: transform; }
.header-inner { min-height: var(--header-h); transition: min-height .32s var(--ease); }
.site-header.is-scrolled .header-inner { min-height: 68px; }
.site-header.is-scrolled { background: rgba(9,11,12,.90); backdrop-filter: blur(18px) saturate(115%); }
.brand, .brand img { width: 78px; transition: width .32s var(--ease), opacity .2s ease; }
.site-header.is-scrolled .brand, .site-header.is-scrolled .brand img { width: 70px; }
.desktop-nav { gap: clamp(18px,2vw,34px); }
.desktop-nav a { font-size: 11px; font-weight: 620; letter-spacing: .01em; color: rgba(255,255,255,.66); }
.desktop-nav a::after { bottom: -7px; }
.header-cta { min-height: 36px; font-size: 11px; font-weight: 650; }

/* Calmer hierarchy */
.hero h1 { font-size: clamp(44px,4.6vw,68px); line-height: .91; letter-spacing: -.058em; }
.hero-intro { margin-top: 26px; font-size: clamp(13px,.88vw,15px); color: rgba(255,255,255,.56); }
.eyebrow { margin-bottom: 22px; font-size: 9px; letter-spacing: .16em; }
.hero-link { margin-top: 46px; }
.section-grid { padding-block: clamp(94px,8vw,132px); }
.manifesto-main h2 { font-size: clamp(31px,3.05vw,45px); line-height: 1; }
.manifesto-aside p { font-size: 13px; }
.solutions-shell { min-height: 700px; }
.solutions-visual { min-height: 620px; }
.solutions-content { padding-top: 52px; padding-bottom: 60px; }
.solutions-heading h2 { margin-bottom: 42px; font-size: clamp(27px,2.45vw,38px); }
.solution-tab { padding-block: 20px 22px; font-size: clamp(17px,1.35vw,21px); }
.solution-detail { padding-top: 28px; }
.solution-description, .solution-detail ul { font-size: 12px; }
.system-section, .projects { padding-block: clamp(88px,7.5vw,118px); }
.system-head h2 { font-size: clamp(29px,2.75vw,41px); }
.system-intro { font-size: 13px; }
.system-track { margin-top: 56px; }
.system-step { min-height: 196px; }
.system-step h3 { margin-top: 32px; font-size: clamp(17px,1.2vw,21px); }
.system-step p { font-size: 12px; }
.markets, .markets-layout { min-height: 700px; }
.markets-layout { padding-block: 84px; }
.markets-copy h2 { font-size: clamp(29px,2.8vw,42px); }
.markets-copy > p { font-size: 13px; }
.market-tab { font-size: 14px; padding-block: 12px; }
.market-detail { transition: opacity .18s ease, transform .28s var(--ease); }
.market-detail.is-switching { opacity: .28; transform: translateY(6px); }
.market-detail h3 { font-size: clamp(24px,2vw,31px); }
.market-detail > p:not(.market-label) { font-size: 13px; }
.projects-head h2 { font-size: clamp(29px,2.8vw,42px); }
.projects-head p { font-size: 13px; }
.project-feature { margin-top: 50px; min-height: 530px; }
.project-info h3 { font-size: clamp(23px,1.85vw,30px); }
.project-info > div > p:last-child { font-size: 13px; }
.project-info { transition: opacity .18s ease, transform .28s var(--ease); }
.project-info.is-switching { opacity: .24; transform: translateX(6px); }

/* Presence — interaction without dashboard styling */
.presence-layout { min-height: 700px; padding-block: clamp(84px,7.5vw,118px); }
.presence-copy h2 { font-size: clamp(29px,2.8vw,42px); }
.presence-copy > p { font-size: 13px; }
.presence-note { margin-top: 20px; font-size: 8px; }
.presence-map-wrap { min-height: 560px; }
.presence-map { width: min(94%,580px); }
.state-node polygon, .state-node circle { transition: fill .2s ease, stroke .2s ease, transform .2s var(--ease), opacity .25s ease; }
.presence-map.has-selection .state-node:not(.is-active) polygon,
.presence-map.has-selection .state-node:not(.is-active) circle { opacity: .58; }
.presence-map.has-selection .state-node:not(.is-active) text { opacity: .55; }
.state-node.is-active polygon, .state-node.is-active circle { transform: scale(1.075); }
.map-tooltip { min-width: 0; padding: 7px 9px; font-size: 10px; background: rgba(7,9,10,.96); }
.presence-panel { min-height: 340px; transition: opacity .18s ease, transform .28s var(--ease); }
.presence-panel.is-switching { opacity: .28; transform: translateX(6px); }
.presence-panel h3 { font-size: clamp(24px,2vw,31px); }
.presence-panel-status { font-size: 13px; }
.presence-panel-code { font-size: clamp(76px,7.4vw,120px); }

/* SG Assets — more editorial, less catalog UI */
.assets-head { padding-top: clamp(86px,7vw,110px); padding-bottom: 40px; }
.assets-head h2 { font-size: clamp(28px,2.7vw,40px); }
.assets-head-copy, .asset-description { font-size: 12px; }
.asset-stage { min-height: 570px; }
.asset-visual { min-height: 570px; }
.asset-info { padding: 42px 36px 36px; }
.asset-info h3 { font-size: clamp(24px,2.1vw,32px); }
.asset-index-item strong { font-size: 12px; font-weight: 540; }
.asset-visual, .asset-info { transition: opacity .2s ease, transform .32s var(--ease); }
.asset-stage.is-switching .asset-visual { opacity: .45; transform: translateX(-5px); }
.asset-stage.is-switching .asset-info { opacity: .45; transform: translateX(5px); }

/* Sustainability and CTA */
.sustainability-layout { min-height: 590px; padding-block: clamp(84px,7vw,110px); }
.sustainability-copy h2 { font-size: clamp(29px,2.75vw,40px); }
.sustainability-copy > p:last-child { font-size: 12px; }
.sustainability-flow article { min-height: 100px; padding-block: 22px; }
.sustainability-flow h3 { font-size: clamp(18px,1.35vw,21px); }
.contact-grid { min-height: 280px; }
.contact-kicker { font-size: 11px; }
.contact-grid h2 { font-size: clamp(27px,2.55vw,38px); }

/* Corporate footer — minimal but structured */
.site-footer { border-top: 1px solid var(--line-dark); }
.footer-main { min-height: 330px; display: grid; grid-template-columns: minmax(240px,1.2fr) minmax(340px,1fr) minmax(220px,.65fr); gap: clamp(48px,7vw,110px); align-items: start; padding-block: 66px; }
.footer-identity { display: grid; align-content: start; gap: 28px; }
.footer-brand { display: inline-flex; width: max-content; }
.footer-brand img { width: 82px; height: auto; }
.footer-identity p { margin: 0; max-width: 31ch; color: rgba(255,255,255,.45); font-size: 12px; line-height: 1.6; }
.footer-nav { display: grid; grid-template-columns: repeat(2,minmax(120px,1fr)); gap: 42px; }
.footer-nav > div, .footer-contact { display: grid; align-content: start; gap: 12px; }
.footer-label { margin-bottom: 8px; color: rgba(255,255,255,.28); font-size: 8px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.footer-nav a { width: max-content; color: rgba(255,255,255,.62); text-decoration: none; font-size: 11px; transition: color .18s ease; }
.footer-nav a:hover, .footer-nav a:focus-visible { color: #fff; }
.footer-contact { padding-left: 28px; border-left: 1px solid var(--line-dark); }
.footer-contact > a { display: inline-flex; width: max-content; gap: 14px; color: #fff; text-decoration: none; font-size: 12px; font-weight: 650; }
.footer-contact > a span { color: var(--sg-red); }
.footer-contact small { max-width: 28ch; color: rgba(255,255,255,.30); font-size: 9px; line-height: 1.5; }
.footer-bottom { min-height: 62px; display: grid; grid-template-columns: 1fr auto auto; gap: 28px; }
.footer-version { color: var(--sg-red); font-weight: 700; }

@media (max-width: 1180px) {
  :root { --shell: min(100% - 64px, 1320px); }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 2; padding-left: 0; border-left: 0; padding-top: 26px; border-top: 1px solid var(--line-dark); }
}

@media (max-width: 760px) {
  :root { --shell: calc(100vw - 36px); --header-h: 72px; }
  .site-header.is-scrolled .header-inner { min-height: 62px; }
  .brand, .brand img { width: 68px; }
  .site-header.is-scrolled .brand, .site-header.is-scrolled .brand img { width: 62px; }
  .hero-copy { padding-top: 100px; }
  .hero h1 { font-size: clamp(38px,10.8vw,50px); }
  .hero-intro { font-size: 14px; }
  .manifesto-main h2 { font-size: clamp(30px,8.5vw,40px); }
  .solutions-heading h2, .system-head h2, .markets-copy h2, .projects-head h2, .presence-copy h2, .assets-head h2, .sustainability-copy h2 { font-size: clamp(28px,8.2vw,38px); }
  .section-grid, .system-head, .projects-head { padding-block: 82px; }
  .solutions-visual { min-height: 48svh; }
  .solutions-content { padding-top: 52px; padding-bottom: 66px; }
  .market-detail h3, .presence-panel h3, .asset-info h3 { font-size: clamp(23px,6.8vw,30px); }
  .presence-map-wrap { min-height: 480px; }
  .presence-map { width: min(112%,580px); }
  .asset-visual { min-height: 350px; }
  .asset-info { min-height: 430px; }
  .sustainability-flow article { min-height: 90px; }
  .contact-grid { min-height: 320px; }
  .footer-main { min-height: 0; grid-template-columns: 1fr; gap: 44px; padding-block: 52px; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: auto; padding-top: 28px; border-top: 1px solid var(--line-dark); }
  .footer-bottom { min-height: 86px; grid-template-columns: 1fr auto; align-content: center; gap: 8px 18px; }
  .footer-bottom span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 760px) {
  .site-header.is-scrolled .mobile-menu { inset: 62px 0 0; }
  .mobile-menu a { font-size: 20px; padding-block: 17px; color: rgba(255,255,255,.72); }
  .mobile-menu a.is-current { color: #fff; }
}

/* v0.7 — quiet motion system -------------------------------------------------
   Motion is structural: lines draw, surfaces settle, content reveals.
   No looping decorative animation; all non-essential motion is disabled by
   prefers-reduced-motion. */

.reveal {
  transform: translateY(7px);
  transition-duration: .54s;
}

/* Hero: a restrained first-load settle. */
.motion-enabled .hero .hero-scene {
  opacity: .64;
  transform: translateX(8.5%) translateY(8px);
  transition: opacity .9s var(--ease), transform 1.05s var(--ease);
}
.motion-enabled .hero.is-inview .hero-scene {
  opacity: .92;
  transform: translateX(7%) translateY(0);
}
.motion-enabled .hero .hero-rule {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .9s .26s var(--ease);
}
.motion-enabled .hero.is-inview .hero-rule { transform: scaleX(1); }

/* Manifesto: border arrives after the copy, not before it. */
.motion-enabled .manifesto .manifesto-aside {
  border-left-color: transparent;
  transition: border-color .7s .18s ease;
}
.motion-enabled .manifesto.is-inview .manifesto-aside { border-left-color: var(--line-light); }

/* Solutions: shallow mask reveal and staggered solution rows. */
.motion-enabled .solutions .solutions-visual {
  clip-path: inset(0 0 0 3%);
  opacity: .78;
  transition: clip-path .9s var(--ease), opacity .7s ease;
}
.motion-enabled .solutions.is-inview .solutions-visual {
  clip-path: inset(0);
  opacity: 1;
}
.motion-enabled .solutions .solution-tab {
  opacity: .58;
  transform: translateX(-5px);
  transition: color .2s ease, padding-left .22s var(--ease), opacity .5s var(--ease), transform .5s var(--ease);
}
.motion-enabled .solutions.is-inview .solution-tab { opacity: 1; transform: none; }
.motion-enabled .solutions.is-inview .solution-tab:nth-child(2) { transition-delay: .07s; }
.motion-enabled .solutions.is-inview .solution-tab:nth-child(3) { transition-delay: .14s; }

/* Sistema SG: process line draws first; steps follow with a short stagger. */
.system-track { position: relative; border-top-color: transparent; }
.system-track::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--line-light);
  transform-origin: left center;
}
.motion-enabled .system-track::before {
  transform: scaleX(0);
  transition: transform .9s var(--ease);
}
.motion-enabled .system-section.is-inview .system-track::before { transform: scaleX(1); }
.motion-enabled .system-section .system-step {
  opacity: .46;
  transform: translateY(5px);
  transition: background .25s ease, padding-left .25s var(--ease), opacity .46s var(--ease), transform .46s var(--ease);
}
.motion-enabled .system-section.is-inview .system-step { opacity: 1; transform: none; }
.motion-enabled .system-section.is-inview .system-step:nth-child(1) { transition-delay: .08s; }
.motion-enabled .system-section.is-inview .system-step:nth-child(2) { transition-delay: .12s; }
.motion-enabled .system-section.is-inview .system-step:nth-child(3) { transition-delay: .16s; }
.motion-enabled .system-section.is-inview .system-step:nth-child(4) { transition-delay: .20s; }
.motion-enabled .system-section.is-inview .system-step:nth-child(5) { transition-delay: .24s; }
.motion-enabled .system-section.is-inview .system-step:nth-child(6) { transition-delay: .28s; }

/* Markets: the background geometry settles while the navigation enters. */
.motion-enabled .markets .markets-visual svg {
  opacity: .72;
  transform: translate(9%,3%) scale(1.012);
  transition: opacity .9s ease, transform 1.05s var(--ease);
}
.motion-enabled .markets.is-inview .markets-visual svg {
  opacity: 1;
  transform: translate(8%,3%) scale(1);
}
.motion-enabled .markets .market-tab {
  opacity: .48;
  transform: translateX(-4px);
  transition: color .2s ease, padding-left .22s var(--ease), opacity .42s var(--ease), transform .42s var(--ease);
}
.motion-enabled .markets.is-inview .market-tab { opacity: 1; transform: none; }
.motion-enabled .markets.is-inview .market-tab:nth-child(2) { transition-delay: .035s; }
.motion-enabled .markets.is-inview .market-tab:nth-child(3) { transition-delay: .07s; }
.motion-enabled .markets.is-inview .market-tab:nth-child(4) { transition-delay: .105s; }
.motion-enabled .markets.is-inview .market-tab:nth-child(5) { transition-delay: .14s; }
.motion-enabled .markets.is-inview .market-tab:nth-child(6) { transition-delay: .175s; }
.motion-enabled .markets.is-inview .market-tab:nth-child(7) { transition-delay: .21s; }
.motion-enabled .markets.is-inview .market-tab:nth-child(8) { transition-delay: .245s; }

/* Projects: editorial image reveal, no dramatic zoom. */
.motion-enabled .project-feature .project-visual svg {
  opacity: .72;
  transform: scale(1.008);
  transition: opacity .72s ease, transform 1s var(--ease);
}
.motion-enabled .project-feature.is-visible .project-visual svg {
  opacity: 1;
  transform: scale(1);
}
.motion-enabled .project-feature.is-visible:hover .project-visual svg { transform: scale(1.006); }

/* Presence: states appear as one coordinated layer. JS assigns --state-order. */
.motion-enabled .presence .state-node {
  opacity: .12;
  transition: opacity .35s var(--ease);
  transition-delay: calc(var(--state-order, 0) * 18ms);
}
.motion-enabled .presence.is-inview .state-node { opacity: 1; }

/* SG Assets: stage settles into place instead of sliding like a carousel. */
.motion-enabled .assets-showcase .asset-stage {
  clip-path: inset(0 0 0 2%);
  opacity: .82;
  transition: clip-path .78s var(--ease), opacity .62s ease;
}
.motion-enabled .assets-showcase.is-inview .asset-stage {
  clip-path: inset(0);
  opacity: 1;
}

/* Sustainability: the cycle is drawn once when the section enters view. */
.cycle-graphic { overflow: visible; }
.cycle-graphic text {
  fill: rgba(255,255,255,.52);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .14em;
}
.cycle-graphic .cycle-core-small {
  fill: rgba(255,255,255,.25);
  font-size: 7px;
  letter-spacing: .16em;
}
.cycle-ring {
  stroke-dasharray: 767;
  stroke-dashoffset: 0;
}
.cycle-inner {
  transform-origin: 180px 180px;
}
.cycle-path {
  stroke-dasharray: 220;
  stroke-dashoffset: 0;
}
.cycle-arrow,
.cycle-core { transform-box: fill-box; transform-origin: center; }

.motion-enabled .sustainability .cycle-ring { stroke-dashoffset: 767; }
.motion-enabled .sustainability .cycle-inner { opacity: 0; transform: scale(.92); }
.motion-enabled .sustainability .cycle-path { stroke-dashoffset: 220; }
.motion-enabled .sustainability .cycle-arrow { opacity: 0; transform: scale(.82); }
.motion-enabled .sustainability .cycle-core { opacity: 0; }
.motion-enabled .sustainability .cycle-core-dot { transform-origin: 180px 180px; }

.motion-enabled .sustainability-mark.is-cycle-visible .cycle-ring {
  animation: sg-cycle-draw-ring 1.25s .08s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-inner {
  animation: sg-cycle-inner .6s .48s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-path--1 {
  animation: sg-cycle-draw-path .72s .28s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-arrow--1 {
  animation: sg-cycle-arrow .28s .83s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-path--2 {
  animation: sg-cycle-draw-path .72s .68s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-arrow--2 {
  animation: sg-cycle-arrow .28s 1.21s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-path--3 {
  animation: sg-cycle-draw-path .8s 1.06s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-arrow--3 {
  animation: sg-cycle-arrow .28s 1.67s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-core {
  animation: sg-cycle-core .55s 1.58s var(--ease) forwards;
}
.motion-enabled .sustainability-mark.is-cycle-visible .cycle-core-dot {
  animation: sg-cycle-dot .62s 1.76s var(--ease) both;
}
.motion-enabled .sustainability .sustainability-flow article {
  opacity: .38;
  transform: translateY(5px);
  transition: opacity .48s var(--ease), transform .48s var(--ease);
}
.motion-enabled .sustainability.is-inview .sustainability-flow article { opacity: 1; transform: none; }
.motion-enabled .sustainability.is-inview .sustainability-flow article:nth-child(2) { transition-delay: .09s; }
.motion-enabled .sustainability.is-inview .sustainability-flow article:nth-child(3) { transition-delay: .18s; }

@keyframes sg-cycle-draw-ring { to { stroke-dashoffset: 0; } }
@keyframes sg-cycle-draw-path { to { stroke-dashoffset: 0; } }
@keyframes sg-cycle-inner { to { opacity: 1; transform: scale(1); } }
@keyframes sg-cycle-arrow { to { opacity: 1; transform: scale(1); } }
@keyframes sg-cycle-core { to { opacity: 1; } }
@keyframes sg-cycle-dot {
  0% { transform: scale(.65); opacity: .25; }
  55% { transform: scale(1.8); opacity: .55; }
  100% { transform: scale(1); opacity: 1; }
}

/* CTA: underline is built only when the final action comes into view. */
.contact-link { position: relative; border-bottom: 0; }
.contact-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(0,0,0,.35);
  transform-origin: left center;
}
.motion-enabled .contact-strip .contact-link::after {
  transform: scaleX(0);
  transition: transform .72s .22s var(--ease);
}
.motion-enabled .contact-strip.is-inview .contact-link::after { transform: scaleX(1); }

@media (prefers-reduced-motion: reduce) {
  .motion-enabled .hero .hero-scene,
  .motion-enabled .hero .hero-rule,
  .motion-enabled .manifesto .manifesto-aside,
  .motion-enabled .solutions .solutions-visual,
  .motion-enabled .solutions .solution-tab,
  .motion-enabled .system-track::before,
  .motion-enabled .system-section .system-step,
  .motion-enabled .markets .markets-visual svg,
  .motion-enabled .markets .market-tab,
  .motion-enabled .project-feature .project-visual svg,
  .motion-enabled .presence .state-node,
  .motion-enabled .assets-showcase .asset-stage,
  .motion-enabled .sustainability .sustainability-flow article,
  .motion-enabled .contact-strip .contact-link::after {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
  .motion-enabled .sustainability .cycle-ring,
  .motion-enabled .sustainability .cycle-path { stroke-dashoffset: 0; animation: none; }
  .motion-enabled .sustainability .cycle-inner,
  .motion-enabled .sustainability .cycle-arrow,
  .motion-enabled .sustainability .cycle-core,
  .motion-enabled .sustainability .cycle-core-dot {
    opacity: 1;
    transform: none;
    animation: none;
  }
}


/* v0.8 — sustainability becomes a scroll-led sticky cycle */
.sustainability { background: #0d1113; color: #fff; border-top: 1px solid var(--line-dark); }
.sustainability-shell { padding-block: clamp(92px, 8vw, 126px); }
.sustainability-head { max-width: 760px; margin-bottom: clamp(42px, 5vw, 74px); }
.sustainability-head .section-index { margin-bottom: 32px; }
.sustainability-kicker { margin: 0 0 12px; color: rgba(255,255,255,.44); font-size: 12px; }
.sustainability-head h2 { margin: 0; max-width: 12ch; font-size: clamp(30px, 3.05vw, 44px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.sustainability-head > p:last-child { margin: 20px 0 0; max-width: 48ch; color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.6; }
.sustainability-story { display: grid; grid-template-columns: minmax(0, .8fr) minmax(360px, 480px); gap: clamp(42px, 6vw, 96px); align-items: start; }
.sustainability-flow { display: grid; gap: 18px; }
.sustainability-step { min-height: min(58vh, 420px); display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; align-content: center; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.56); cursor: pointer; transition: color .35s var(--ease), opacity .35s var(--ease); }
.sustainability-step:last-child { border-bottom: 1px solid rgba(255,255,255,.10); }
.sustainability-step > span { color: var(--sg-red); font-size: 10px; font-weight: 800; letter-spacing: .14em; padding-top: 5px; }
.sustainability-step h3 { margin: 0 0 10px; font-size: clamp(24px, 2.05vw, 31px); line-height: .96; letter-spacing: -.04em; color: #fff; }
.sustainability-step p { margin: 0; max-width: 32ch; font-size: 13px; line-height: 1.6; color: currentColor; }
.sustainability-step.is-active { color: rgba(255,255,255,.84); }
.sustainability-step.is-active h3 { color: #fff; }
.sustainability-sticky { position: sticky; top: calc(var(--header-h) + 26px); }
.cycle-stage { position: relative; min-height: 560px; border-left: 1px solid rgba(255,255,255,.10); padding-left: clamp(28px, 2.8vw, 40px); color: rgba(255,255,255,.6); --cycle-rotation: 0deg; }
.cycle-stage-labels { position: absolute; inset: 0 auto auto 0; width: 100%; height: 100%; pointer-events: none; }
.cycle-stage-label { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); color: rgba(255,255,255,.45); font-size: 10px; font-weight: 800; letter-spacing: .12em; transition: color .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease), transform .55s var(--ease); }
.cycle-stage-label--1 { top: 42px; left: calc(50% - 17px); }
.cycle-stage-label--2 { top: 252px; right: 14px; }
.cycle-stage-label--3 { bottom: 68px; left: 22px; }
.cycle-stage[data-cycle-active="0"] .cycle-stage-label--1,
.cycle-stage[data-cycle-active="1"] .cycle-stage-label--2,
.cycle-stage[data-cycle-active="2"] .cycle-stage-label--3 { color: #fff; border-color: rgba(242,48,58,.65); background: rgba(242,48,58,.2); transform: scale(1.05); }
.cycle-rotor { width: min(100%, 390px); margin-inline: auto; transform: rotate(var(--cycle-rotation)); transition: transform .8s cubic-bezier(.2,.72,.2,1); }
.cycle-graphic { width: 100%; height: auto; display: block; }
.cycle-ring { transition: stroke .35s var(--ease); }
.cycle-segment, .cycle-arrow { stroke-opacity: .24; transition: stroke .35s var(--ease), stroke-opacity .35s var(--ease); }
.cycle-stage[data-cycle-active="0"] .cycle-segment--1,
.cycle-stage[data-cycle-active="0"] .cycle-arrow--1,
.cycle-stage[data-cycle-active="1"] .cycle-segment--2,
.cycle-stage[data-cycle-active="1"] .cycle-arrow--2,
.cycle-stage[data-cycle-active="2"] .cycle-segment--3,
.cycle-stage[data-cycle-active="2"] .cycle-arrow--3 { stroke: var(--sg-red); stroke-opacity: 1; }
.cycle-hub { position: absolute; inset: 50% auto auto calc(50% + 2px); width: min(100% - 72px, 276px); transform: translate(-50%, -50%); display: grid; gap: 18px; }
.cycle-media { position: relative; aspect-ratio: 1 / 1; border-radius: 24px; border: 1px solid rgba(255,255,255,.11); background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); overflow: hidden; }
.cycle-media::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 18px; }
.cycle-plate { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; transform: rotate(-10deg) scale(.92); transition: opacity .42s var(--ease), transform .58s var(--ease); color: rgba(255,255,255,.78); }
.cycle-plate svg { width: 76%; height: auto; }
.cycle-plate.is-active { opacity: 1; transform: rotate(0deg) scale(1); }
.cycle-copy { display: grid; gap: 6px; min-height: 92px; }
.cycle-eyebrow { margin: 0; color: var(--sg-red); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cycle-title { font-size: 18px; line-height: 1.04; letter-spacing: -.03em; color: #fff; font-weight: 600; }
.cycle-description { margin: 0; color: rgba(255,255,255,.52); font-size: 12px; line-height: 1.55; max-width: 28ch; }

.motion-enabled .sustainability-head,
.motion-enabled .sustainability-step,
.motion-enabled .sustainability-sticky { will-change: transform, opacity; }
.motion-enabled .sustainability .cycle-rotor { opacity: .96; }
.motion-enabled .sustainability .cycle-media::before { transform: scale(.98); transition: transform .72s var(--ease); }
.motion-enabled .sustainability.is-inview .cycle-media::before { transform: scale(1); }
.motion-enabled .sustainability .sustainability-step { opacity: .44; transform: translateY(10px); transition: opacity .46s var(--ease), transform .46s var(--ease), color .35s var(--ease); }
.motion-enabled .sustainability.is-inview .sustainability-step { opacity: .7; transform: none; }
.motion-enabled .sustainability .sustainability-step.is-active { opacity: 1; }
.motion-enabled .sustainability .cycle-stage { opacity: 0; transform: translateY(14px); transition: opacity .62s var(--ease), transform .62s var(--ease); }
.motion-enabled .sustainability.is-inview .cycle-stage { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .sustainability-story { grid-template-columns: 1fr; gap: 40px; }
  .sustainability-step { min-height: 0; padding-block: 22px; }
  .sustainability-sticky { position: relative; top: auto; }
  .cycle-stage { min-height: 480px; border-left: 0; border-top: 1px solid rgba(255,255,255,.10); padding: 34px 0 0; }
}
@media (max-width: 760px) {
  .sustainability-shell { padding-block: 84px; }
  .sustainability-head { margin-bottom: 34px; }
  .sustainability-head h2 { font-size: clamp(29px, 8.4vw, 38px); }
  .sustainability-head > p:last-child { font-size: 12px; }
  .sustainability-flow { gap: 0; }
  .sustainability-step { grid-template-columns: 42px 1fr; padding-block: 18px; min-height: 0; }
  .sustainability-step h3 { font-size: 22px; }
  .cycle-stage { min-height: 420px; }
  .cycle-stage-label--1 { top: 18px; }
  .cycle-stage-label--2 { top: 190px; right: 0; }
  .cycle-stage-label--3 { bottom: 44px; left: 4px; }
  .cycle-hub { width: min(100% - 38px, 242px); }
  .cycle-copy { min-height: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-enabled .sustainability .sustainability-step,
  .motion-enabled .sustainability .cycle-stage,
  .motion-enabled .sustainability .cycle-plate,
  .motion-enabled .sustainability .cycle-media::before { opacity: 1; transform: none; transition: none; }
  .motion-enabled .sustainability .cycle-rotor { transform: none !important; transition: none; }
}


/* v0.8.1 — compact sustainability pass */
.sustainability-shell { padding-block: clamp(72px, 6vw, 96px); }
.sustainability-head { margin-bottom: clamp(28px, 3.5vw, 46px); max-width: 680px; }
.sustainability-head .section-index { margin-bottom: 24px; }
.sustainability-head h2 { font-size: clamp(28px, 2.7vw, 39px); max-width: 13ch; }
.sustainability-head > p:last-child { margin-top: 16px; max-width: 44ch; }
.sustainability-story { grid-template-columns: minmax(0, .82fr) minmax(330px, 430px); gap: clamp(34px, 4.8vw, 72px); }
.sustainability-flow { gap: 0; }
.sustainability-step { min-height: 178px; padding: 24px 0; }
.sustainability-step h3 { font-size: clamp(21px, 1.7vw, 27px); margin-bottom: 8px; }
.sustainability-step p { max-width: 30ch; }
.sustainability-sticky { top: calc(var(--header-h) + 18px); }
.cycle-stage { min-height: 430px; padding-left: clamp(22px, 2.4vw, 34px); }
.cycle-rotor { width: min(100%, 320px); }
.cycle-hub { width: min(100% - 58px, 230px); }
.cycle-stage-label--1 { top: 18px; }
.cycle-stage-label--2 { top: 192px; right: 4px; }
.cycle-stage-label--3 { bottom: 36px; left: 8px; }
.cycle-title { font-size: 17px; }
.cycle-description { font-size: 11.5px; }
@media (max-width: 1100px) {
  .sustainability-shell { padding-block: 72px; }
  .sustainability-head { margin-bottom: 30px; }
  .sustainability-story { gap: 28px; }
  .sustainability-step { min-height: 132px; }
  .cycle-stage { min-height: 380px; padding-top: 26px; }
  .cycle-rotor { width: min(100%, 290px); }
  .cycle-hub { width: min(100% - 44px, 220px); }
}
@media (max-width: 760px) {
  .sustainability-shell { padding-block: 68px; }
  .sustainability-head { margin-bottom: 26px; }
  .sustainability-head h2 { font-size: clamp(27px, 7.8vw, 35px); }
  .sustainability-step { min-height: 0; padding-block: 16px; }
  .cycle-stage { min-height: 350px; padding-top: 24px; }
  .cycle-rotor { width: min(100%, 255px); }
  .cycle-hub { width: min(100% - 36px, 205px); }
  .cycle-stage-label--1 { top: 4px; }
  .cycle-stage-label--2 { top: 155px; right: 0; }
  .cycle-stage-label--3 { bottom: 26px; left: 0; }
}

/* v0.9 — Desmobilização Industrial internal page */
.service-page { background: #0b0d0e; }
.service-page .service-header { background: transparent; }
.service-page .service-header.is-scrolled { background: rgba(9,11,12,.92); }
.service-breadcrumb { display: flex; gap: 9px; align-items: center; margin-bottom: 46px; color: rgba(255,255,255,.42); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.service-breadcrumb a { color: rgba(255,255,255,.56); }
.service-breadcrumb strong { color: rgba(255,255,255,.76); font-weight: 600; }
.service-hero { min-height: 100vh; background: #0b0d0e; color: #fff; display: grid; align-content: center; padding-top: var(--header-h); overflow: hidden; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(440px,1fr); gap: clamp(48px,7vw,110px); align-items: center; min-height: calc(100vh - var(--header-h) - 78px); }
.service-hero-copy { padding-block: 48px; }
.service-hero-copy .eyebrow { color: rgba(255,255,255,.42); }
.service-hero-copy h1 { margin: 18px 0 0; max-width: 11ch; font-size: clamp(46px,5vw,72px); line-height: .94; letter-spacing: -.058em; font-weight: 640; }
.service-hero-copy h1 span { color: var(--sg-red); }
.service-hero-intro { margin: 28px 0 0; max-width: 42ch; color: rgba(255,255,255,.54); font-size: 14px; line-height: 1.62; }
.service-hero-actions { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 38px; }
.text-link-muted { color: rgba(255,255,255,.56); }
.service-hero-visual { position: relative; min-width: 0; }
.service-hero-visual svg { width: 100%; height: auto; display: block; }
.service-hero-tag { position: absolute; display: grid; gap: 3px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.10); background: rgba(7,9,10,.76); backdrop-filter: blur(8px); }
.service-hero-tag span { color: var(--sg-red); font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.service-hero-tag strong { font-size: 10px; font-weight: 580; letter-spacing: .02em; }
.service-hero-tag { top: 21%; left: 10%; }
.service-hero-tag--2 { top: 48%; left: 43%; }
.service-hero-tag--3 { top: auto; bottom: 12%; right: 9%; left: auto; }
.service-hero-footer { min-height: 78px; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; color: rgba(255,255,255,.32); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.service-hero-footer > span:nth-child(2) { height: 1px; background: rgba(255,255,255,.11); }

.service-statement { padding-block: clamp(92px,9vw,140px); }
.service-statement-grid { display: grid; grid-template-columns: 150px minmax(0,1fr) minmax(200px,.36fr); gap: clamp(36px,5vw,82px); align-items: start; }
.service-statement h2 { margin: 0; max-width: 15ch; font-size: clamp(34px,3.4vw,50px); line-height: .98; letter-spacing: -.052em; font-weight: 620; }
.service-statement h2 span { color: var(--sg-red); }
.service-statement p { margin: 0; max-width: 29ch; color: var(--muted); font-size: 13px; line-height: 1.65; }

.service-scope { background: #101416; color: #fff; border-top: 1px solid var(--line-dark); }
.service-scope-grid { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1fr); gap: clamp(52px,7vw,110px); padding-block: clamp(94px,9vw,138px); }
.service-scope-copy { align-self: start; position: sticky; top: 108px; }
.service-scope-copy .section-index { margin-bottom: 46px; }
.service-scope-copy .eyebrow { color: rgba(255,255,255,.38); }
.service-scope-copy h2 { margin: 12px 0 0; max-width: 10ch; font-size: clamp(31px,3vw,44px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.service-scope-copy > p:last-child { margin: 24px 0 0; color: rgba(255,255,255,.48); font-size: 12px; }
.service-scope-list { border-top: 1px solid rgba(255,255,255,.10); }
.scope-item { display: grid; grid-template-columns: 48px minmax(0,1fr) minmax(120px,.55fr); gap: 20px; align-items: baseline; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.10); }
.scope-item > span { color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.scope-item h3 { margin: 0; font-size: clamp(18px,1.45vw,22px); line-height: 1; letter-spacing: -.035em; font-weight: 570; }
.scope-item p { margin: 0; color: rgba(255,255,255,.42); font-size: 12px; }

.service-process { padding-block: clamp(94px,9vw,138px); }
.service-process-head { display: grid; grid-template-columns: 150px minmax(0,1fr) minmax(180px,.38fr); gap: clamp(34px,5vw,80px); align-items: end; margin-bottom: clamp(54px,6vw,82px); }
.service-process-head h2 { margin: 10px 0 0; font-size: clamp(31px,3vw,45px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.service-process-head > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.service-process-layout { display: grid; grid-template-columns: minmax(310px,.72fr) minmax(400px,1fr); gap: clamp(46px,6vw,94px); align-items: start; }
.service-process-nav { border-top: 1px solid var(--line-light); }
.process-tab { width: 100%; min-height: 62px; display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid var(--line-light); background: transparent; color: var(--muted); text-align: left; cursor: pointer; padding: 0; transition: color .25s ease, padding-left .35s var(--ease); }
.process-tab span { color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.process-tab strong { font-size: 15px; font-weight: 560; color: var(--ink); }
.process-tab.is-active { color: var(--ink); padding-left: 10px; }
.service-process-panel { position: sticky; top: 108px; min-height: 448px; background: #0f1315; color: #fff; padding: clamp(34px,4vw,56px); display: grid; align-content: end; overflow: hidden; }
.process-orbit { position: absolute; inset: 36px 36px auto; height: 1px; background: rgba(255,255,255,.11); }
.process-orbit-line { position: absolute; inset: 0; }
.process-orbit-dot { --process-position: 0%; position: absolute; top: 50%; left: var(--process-position); width: 8px; height: 8px; border-radius: 50%; background: var(--sg-red); transform: translate(-50%,-50%); transition: left .5s var(--ease); }
.process-panel-code { margin: 0 0 14px; color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-process-panel h3 { margin: 0; max-width: 12ch; font-size: clamp(29px,3vw,43px); line-height: .97; letter-spacing: -.05em; font-weight: 610; }
.service-process-panel > p:not(.process-panel-code) { margin: 22px 0 0; max-width: 44ch; color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.62; }
.process-panel-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.process-panel-meta span { border: 1px solid rgba(255,255,255,.12); padding: 8px 10px; color: rgba(255,255,255,.55); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.service-recovery { background: #0d1113; color: #fff; border-top: 1px solid var(--line-dark); }
.recovery-grid { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(0,1fr); gap: clamp(56px,7vw,112px); padding-block: clamp(94px,9vw,140px); }
.recovery-copy .section-index { margin-bottom: 48px; }
.recovery-copy .eyebrow { color: rgba(255,255,255,.4); }
.recovery-copy h2 { margin: 12px 0 0; max-width: 13ch; font-size: clamp(32px,3vw,44px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.recovery-copy h2 span { color: var(--sg-red); }
.recovery-copy > p:last-child { margin: 24px 0 0; max-width: 38ch; color: rgba(255,255,255,.48); font-size: 12px; line-height: 1.6; }
.recovery-spectrum { position: relative; border-top: 1px solid rgba(255,255,255,.10); }
.recovery-spectrum article { display: grid; grid-template-columns: 48px minmax(0,1fr) minmax(120px,.55fr); gap: 18px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.10); align-items: baseline; position: relative; z-index: 1; }
.recovery-spectrum article > span { color: var(--sg-red); font-size: 9px; font-weight: 800; }
.recovery-spectrum h3 { margin: 0; font-size: 19px; font-weight: 560; letter-spacing: -.03em; }
.recovery-spectrum p { margin: 0; color: rgba(255,255,255,.43); font-size: 12px; }
.recovery-axis { position: absolute; left: 19px; top: 25px; bottom: 25px; width: 1px; background: rgba(255,255,255,.07); }
.recovery-axis span { display: block; width: 1px; height: 52%; background: var(--sg-red); }

.service-markets { position: relative; overflow: hidden; padding-block: clamp(88px,8vw,120px); color: #fff; background: #0f1314; }
.service-markets::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,11,.58) 0%, rgba(8,10,11,.5) 14%, rgba(8,10,11,.7) 100%); z-index: 1; }
.service-markets::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,9,10,.86) 0, rgba(7,9,10,.68) 28%, rgba(7,9,10,.36) 54%, rgba(7,9,10,.78) 100%); z-index: 1; }
.service-markets-backdrop { position: absolute; inset: 0; z-index: 0; }
.service-markets-head { position: relative; z-index: 2; display: grid; grid-template-columns: 150px minmax(0,1fr); gap: clamp(36px,5vw,82px); align-items: start; margin-bottom: 24px; }
.service-markets-head .section-index { color: rgba(255,255,255,.42); }
.service-markets-head h2 { margin: 0; max-width: 13ch; font-size: clamp(32px,3.2vw,46px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.service-markets-head p { margin: 14px 0 0; max-width: 42ch; color: rgba(255,255,255,.56); font-size: 13px; line-height: 1.55; }
.service-markets-stage { position: relative; z-index: 2; min-height: 560px; border-top: 1px solid rgba(255,255,255,.10); background: transparent; color: #fff; overflow: hidden; }
.service-market-figure { position: absolute; inset: 0; opacity: 0; transition: opacity .55s var(--ease), transform 1s var(--ease), filter .55s var(--ease); transform: scale(1.035); filter: contrast(1.04) saturate(.92) brightness(.92); }
.service-market-figure svg { width: 100%; height: 100%; display: block; }
.service-market-figure.is-active { opacity: 1; transform: scale(1); filter: contrast(1.08) saturate(1) brightness(1); }
.service-markets-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(280px,.68fr) minmax(300px,.82fr); min-height: 560px; }
.service-market-list { align-self: stretch; padding: 24px 0 0; display: grid; gap: 0; align-content: center; }
.service-market-card { width: 100%; min-height: 68px; padding: 15px 0; display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; border: 0; border-top: 1px solid rgba(255,255,255,.10); background: transparent; color: rgba(255,255,255,.66); text-align: left; cursor: pointer; transition: color .24s ease, transform .3s var(--ease), border-color .24s ease, padding-left .3s var(--ease); }
.service-market-card:last-child { border-bottom: 1px solid rgba(255,255,255,.10); }
.service-market-card span { color: rgba(255,255,255,.34); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.service-market-card strong { font-size: 15px; font-weight: 540; letter-spacing: -.01em; }
.service-market-card:hover, .service-market-card:focus-visible, .service-market-card.is-active { color: #fff; border-color: rgba(242,48,58,.36); padding-left: 12px; }
.service-market-card.is-active span { color: var(--sg-red); }
.service-market-detail { align-self: stretch; justify-self: end; width: min(100%, 420px); padding: clamp(26px,4vw,40px) 0 clamp(26px,4vw,40px) clamp(32px,4vw,56px); display: grid; align-content: center; gap: 14px; background: transparent; border-left: 1px solid rgba(255,255,255,.08); }
.service-market-code { margin: 0; color: var(--sg-red); font-size: 10px; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }
.service-market-detail h3 { margin: 0; max-width: 11ch; font-size: clamp(30px,2.6vw,38px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.service-market-description { margin: 0; max-width: 30ch; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.6; }
.service-market-meta { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.service-market-meta span { color: rgba(255,255,255,.56); font-size: 11px; }
.service-market-meta span::before { content: "/"; color: var(--sg-red); margin-right: 7px; }
.motion-enabled .service-markets-backdrop .service-market-figure { will-change: opacity, transform, filter; }

.service-cases { background: #111516; color: #fff; }
.service-cases-grid { padding-block: clamp(92px,8vw,130px); display: grid; gap: 58px; }
.service-cases-head { display: grid; grid-template-columns: 150px minmax(0,1fr) minmax(200px,.4fr); gap: clamp(34px,5vw,80px); align-items: start; }
.service-cases-head h2 { margin: 0; font-size: clamp(31px,3vw,44px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.service-cases-head p { margin: 0; color: rgba(255,255,255,.45); font-size: 12px; }
.service-case-demo { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); min-height: 410px; border: 1px solid rgba(255,255,255,.10); position: relative; }
.case-demo-mark { position: absolute; top: 18px; left: 18px; z-index: 2; color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.case-demo-visual { min-width: 0; overflow: hidden; }
.case-demo-visual svg { width: 100%; height: 100%; display: block; object-fit: cover; }
.case-demo-copy { padding: clamp(30px,4vw,52px); align-self: end; }
.case-demo-copy > p { margin: 0 0 10px; color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.case-demo-copy h3 { margin: 0; font-size: clamp(26px,2.5vw,36px); line-height: 1; letter-spacing: -.045em; font-weight: 600; }
.case-demo-copy dl { margin: 34px 0 0; }
.case-demo-copy dl div { display: grid; grid-template-columns: 80px 1fr; gap: 16px; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.10); }
.case-demo-copy dt { color: rgba(255,255,255,.35); font-size: 9px; text-transform: uppercase; letter-spacing: .10em; }
.case-demo-copy dd { margin: 0; color: rgba(255,255,255,.62); font-size: 11px; }

.service-contact { background: #e9ebe8; color: var(--ink); border-top: 1px solid var(--line-light); }
.service-contact-grid { min-height: 330px; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 36px; align-items: center; }
.service-contact-grid .section-index { color: var(--sg-red); }
.service-contact-grid h2 { margin: 0; font-size: clamp(30px,3vw,44px); line-height: .96; letter-spacing: -.05em; font-weight: 630; }

.solution-page-link { margin-left: 22px; color: rgba(255,255,255,.55); }

.motion-enabled .service-hero-visual svg { clip-path: inset(0 0 100% 0); transition: clip-path 1s .16s var(--ease); }
.motion-enabled .service-hero-visual.is-visible svg { clip-path: inset(0 0 0 0); }
.motion-enabled .scope-item { opacity: .35; transform: translateY(7px); }
.motion-enabled .scope-item.is-visible { opacity: 1; transform: none; }
.motion-enabled .service-case-demo { clip-path: inset(0 0 10% 0); transition: clip-path .78s var(--ease), opacity .62s var(--ease), transform .62s var(--ease); }
.motion-enabled .service-case-demo.is-visible { clip-path: inset(0); }

@media (max-width: 1100px) {
  .service-hero-grid { grid-template-columns: minmax(0,.85fr) minmax(380px,1fr); gap: 42px; }
  .service-statement-grid, .service-process-head, .service-cases-head { grid-template-columns: 120px minmax(0,1fr); }
  .service-statement-grid > p, .service-process-head > p, .service-cases-head > p { grid-column: 2; }
  .service-process-layout { grid-template-columns: minmax(260px,.58fr) minmax(360px,1fr); }
  .service-contact-grid { grid-template-columns: 120px 1fr; }
  .service-contact-grid .contact-link { grid-column: 2; justify-self: start; }
}

@media (max-width: 820px) {
  .service-hero { min-height: 0; }
  .service-hero-grid { grid-template-columns: 1fr; min-height: 0; padding-top: 74px; }
  .service-hero-copy { padding-bottom: 0; }
  .service-hero-visual { max-width: 680px; }
  .service-hero-footer { grid-template-columns: auto 1fr; }
  .service-hero-footer > span:last-child { display: none; }
  .service-statement-grid, .service-scope-grid, .service-process-head, .service-process-layout, .recovery-grid, .service-cases-head, .service-case-demo { grid-template-columns: 1fr; }
  .service-statement-grid > p, .service-process-head > p, .service-cases-head > p { grid-column: auto; }
  .service-scope-copy { position: relative; top: auto; }
  .service-process-panel { position: relative; top: auto; min-height: 360px; }
  .service-process-nav { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-top: 0; gap: 8px; padding-bottom: 8px; }
  .process-tab { min-width: 180px; min-height: 68px; padding: 0 12px; border: 1px solid var(--line-light); scroll-snap-align: start; }
  .process-tab.is-active { padding-left: 18px; border-color: rgba(242,48,58,.4); }
  .service-case-demo { min-height: 0; }
  .case-demo-visual { min-height: 300px; }
  .service-contact-grid { grid-template-columns: 1fr; gap: 24px; min-height: 350px; align-content: center; }
  .service-contact-grid .contact-link { grid-column: auto; }
}

@media (max-width: 560px) {
  .service-breadcrumb { margin-bottom: 34px; }
  .service-hero-copy h1 { font-size: clamp(39px,11vw,50px); }
  .service-hero-intro { font-size: 13px; }
  .service-hero-tag { display: none; }
  .service-statement h2, .service-scope-copy h2, .service-process-head h2, .recovery-copy h2, .service-markets-head h2, .service-cases-head h2 { font-size: clamp(29px,8.2vw,38px); }
  .scope-item, .recovery-spectrum article { grid-template-columns: 40px 1fr; }
  .scope-item p, .recovery-spectrum p { grid-column: 2; }
  .service-markets-head { grid-template-columns: 1fr; }
  .service-markets-stage, .service-markets-grid { min-height: 0; }
  .service-markets-grid { grid-template-columns: 1fr; }
  .service-market-list { padding: 18px 0 0; align-content: start; }
  .service-market-detail { width: 100%; border-left: 0; border-top: 1px solid rgba(255,255,255,.08); padding: 24px 0 0; }
  .service-case-demo { border-left: 0; border-right: 0; }
  .case-demo-copy { padding-inline: 0; }
  .solution-page-link { display: inline-flex; margin: 18px 0 0; }
}

@media (max-width: 980px) {
  .service-markets-grid { grid-template-columns: 1fr; }
  .service-market-list { padding: 18px 0 0; align-content: start; }
  .service-market-detail { width: 100%; border-left: 0; border-top: 1px solid rgba(255,255,255,.08); padding: 24px 0 0; }
  .service-markets-stage, .service-markets-grid { min-height: 0; }
}
@media (max-width: 640px) {
  .service-markets-head p { font-size: 12px; }
  .service-market-card { min-height: 60px; padding: 14px 0; }
  .service-market-card strong { font-size: 14px; }
  .service-market-detail { padding: 24px 0 0; }
  .service-market-detail h3 { font-size: clamp(24px,7.2vw,30px); }
  .service-market-description { font-size: 13px; }
}


/* v0.10 — Asset Recovery internal page */
.recovery-hero-visual svg { width: 100%; height: 100%; display: block; }
.recovery-paths { background: #0d1113; color: #fff; }
.recovery-paths-grid { padding-block: clamp(92px,8vw,126px); display: grid; grid-template-columns: minmax(260px,.65fr) minmax(520px,1.1fr); gap: clamp(48px,7vw,100px); align-items: center; }
.recovery-paths-copy .section-index { margin-bottom: 44px; }
.recovery-paths-copy h2 { margin: 10px 0 22px; max-width: 11ch; font-size: clamp(31px,3vw,44px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.recovery-paths-copy h2 span { color: var(--sg-red); }
.recovery-paths-copy > p:last-child { margin: 0; max-width: 34ch; color: rgba(255,255,255,.5); font-size: 13px; line-height: 1.58; }
.recovery-paths-stage { position: relative; min-height: 500px; border-left: 1px solid rgba(255,255,255,.09); padding-left: clamp(30px,4vw,54px); display: grid; grid-template-columns: minmax(260px,1fr) minmax(180px,.55fr); grid-template-rows: 1fr auto; gap: 24px 34px; align-items: center; }
.recovery-path-visual { min-width: 0; }
.recovery-path-visual svg { width: 100%; height: auto; display: block; }
.recovery-route { fill: none; stroke: rgba(255,255,255,.18); stroke-width: 1.5; transition: stroke .35s var(--ease), stroke-width .35s var(--ease); }
.recovery-node circle { fill: #111516; stroke: rgba(255,255,255,.18); transition: stroke .35s var(--ease), fill .35s var(--ease); }
.recovery-node text { fill: rgba(255,255,255,.46); font-size: 10px; text-anchor: middle; font-weight: 700; }
.recovery-paths-stage[data-path-active="reuse"] .recovery-route--reuse,
.recovery-paths-stage[data-path-active="market"] .recovery-route--market,
.recovery-paths-stage[data-path-active="parts"] .recovery-route--parts,
.recovery-paths-stage[data-path-active="material"] .recovery-route--material { stroke: var(--sg-red); stroke-width: 2.6; }
.recovery-paths-stage[data-path-active="reuse"] .recovery-node--reuse circle,
.recovery-paths-stage[data-path-active="market"] .recovery-node--market circle,
.recovery-paths-stage[data-path-active="parts"] .recovery-node--parts circle,
.recovery-paths-stage[data-path-active="material"] .recovery-node--material circle { stroke: var(--sg-red); fill: rgba(242,48,58,.16); }
.recovery-path-list { display: grid; align-self: center; border-top: 1px solid rgba(255,255,255,.1); }
.recovery-path-tab { display: grid; grid-template-columns: 34px 1fr; gap: 10px; min-height: 62px; align-items: center; padding: 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.1); background: transparent; color: rgba(255,255,255,.48); text-align: left; cursor: pointer; transition: color .25s ease, padding-left .3s var(--ease); }
.recovery-path-tab span { font-size: 9px; letter-spacing: .13em; color: rgba(255,255,255,.25); }
.recovery-path-tab strong { font-size: 13px; font-weight: 540; }
.recovery-path-tab:hover,.recovery-path-tab:focus-visible,.recovery-path-tab.is-active { color: #fff; padding-left: 8px; }
.recovery-path-tab.is-active span { color: var(--sg-red); }
.recovery-path-detail { grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.09); display: grid; grid-template-columns: 150px minmax(180px,.55fr) minmax(220px,1fr); gap: 20px; align-items: baseline; }
.recovery-path-detail p { margin: 0; color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.recovery-path-detail h3 { margin: 0; font-size: 20px; line-height: 1; letter-spacing: -.035em; font-weight: 580; }
.recovery-path-detail span { color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.55; }
.recovery-assets-link { border-top: 1px solid var(--line-light); }
.recovery-assets-grid { min-height: 390px; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: clamp(34px,5vw,80px); align-items: center; }
.recovery-assets-copy h2 { margin: 10px 0 20px; max-width: 16ch; font-size: clamp(30px,2.9vw,42px); line-height: .98; letter-spacing: -.05em; font-weight: 620; }
.recovery-assets-copy h2 span { color: var(--sg-red); }
.recovery-assets-copy > p:last-child { margin: 0; max-width: 40ch; color: var(--muted); font-size: 13px; line-height: 1.55; }
.recovery-assets-cta { align-self: center; white-space: nowrap; }

.motion-enabled .recovery-paths-stage .recovery-route { stroke-dasharray: 360; stroke-dashoffset: 360; }
.motion-enabled .recovery-paths-stage.is-visible .recovery-route { stroke-dashoffset: 0; transition: stroke-dashoffset 1s var(--ease), stroke .35s var(--ease), stroke-width .35s var(--ease); }

@media (max-width: 980px) {
  .recovery-paths-grid { grid-template-columns: 1fr; }
  .recovery-paths-stage { min-height: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.09); padding: 34px 0 0; }
  .recovery-assets-grid { grid-template-columns: 120px 1fr; min-height: 360px; }
  .recovery-assets-cta { grid-column: 2; justify-self: start; }
}
@media (max-width: 720px) {
  .recovery-paths-stage { grid-template-columns: 1fr; }
  .recovery-path-visual { max-width: 520px; }
  .recovery-path-detail { grid-template-columns: 1fr; gap: 8px; }
  .recovery-assets-grid { grid-template-columns: 1fr; gap: 24px; padding-block: 72px; min-height: 0; }
  .recovery-assets-cta { grid-column: auto; }
}


/* v0.10.1 — Asset Recovery hero scroll motion */
.recovery-hero { --recovery-scroll: 0; }
.recovery-hero-visual { align-self: center; }
.recovery-hero-frame { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid rgba(255,255,255,.07); background: #0c0f10; }
.recovery-hero-frame > svg { width: 100%; height: 100%; display: block; }
.recovery-motion-grid { transform: translateY(calc(var(--recovery-scroll) * -18px)); transition: opacity .35s ease; }
.recovery-motion-orbit { transform-origin: 380px 380px; transform: rotate(calc(var(--recovery-scroll) * 110deg)); }
.recovery-motion-asset { transform-origin: 380px 380px; transform: translateY(calc(var(--recovery-scroll) * -7px)) scale(calc(1 + (var(--recovery-scroll) * .025))); }
.recovery-motion-inventory,
.recovery-motion-measure,
.recovery-motion-branches,
.recovery-motion-nodes,
.recovery-motion-exit { transition: opacity .42s var(--ease), transform .62s var(--ease); transform-origin: center; }
.recovery-motion-measure,
.recovery-motion-branches,
.recovery-motion-nodes,
.recovery-motion-exit { opacity: 0; }
.recovery-motion-inventory { opacity: 1; }
.recovery-motion-scan { transform: translateY(calc(var(--recovery-scroll) * 188px)); opacity: calc(1 - (var(--recovery-scroll) * .8)); }
.recovery-hero-visual[data-hero-state="1"] .recovery-motion-inventory { opacity: .16; transform: scale(.98); }
.recovery-hero-visual[data-hero-state="1"] .recovery-motion-measure { opacity: 1; }
.recovery-hero-visual[data-hero-state="2"] .recovery-motion-inventory { opacity: .08; }
.recovery-hero-visual[data-hero-state="2"] .recovery-motion-measure { opacity: .18; }
.recovery-hero-visual[data-hero-state="2"] .recovery-motion-branches,
.recovery-hero-visual[data-hero-state="2"] .recovery-motion-nodes { opacity: 1; }
.recovery-hero-visual[data-hero-state="3"] .recovery-motion-inventory,
.recovery-hero-visual[data-hero-state="3"] .recovery-motion-measure { opacity: .06; }
.recovery-hero-visual[data-hero-state="3"] .recovery-motion-branches,
.recovery-hero-visual[data-hero-state="3"] .recovery-motion-nodes { opacity: .28; }
.recovery-hero-visual[data-hero-state="3"] .recovery-motion-exit { opacity: 1; }
.recovery-hero-status { position: absolute; left: 30px; bottom: 30px; max-width: 250px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.14); display: grid; gap: 7px; }
.recovery-hero-status span { color: var(--sg-red); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.recovery-hero-status strong { color: #fff; font-size: 19px; line-height: 1; letter-spacing: -.03em; font-weight: 580; }
.recovery-hero-status p { margin: 0; color: rgba(255,255,255,.5); font-size: 11px; line-height: 1.5; }
.recovery-hero-steps { position: absolute; top: 28px; right: 28px; display: flex; gap: 7px; }
.recovery-hero-steps span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.36); font-size: 8px; font-weight: 800; letter-spacing: .08em; transition: color .25s ease, border-color .25s ease, background .25s ease; }
.recovery-hero-steps span.is-active { color: #fff; border-color: rgba(242,48,58,.55); background: rgba(242,48,58,.12); }
.recovery-scroll-cue { position: absolute; right: 28px; bottom: 30px; display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.34); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.recovery-scroll-cue > span { width: 32px; height: 1px; background: rgba(255,255,255,.18); position: relative; overflow: hidden; }
.recovery-scroll-cue > span::after { content: ""; position: absolute; inset: 0; background: var(--sg-red); transform-origin: left center; transform: scaleX(var(--recovery-scroll)); }
.motion-enabled .recovery-hero-visual svg { clip-path: none; }
.motion-enabled .recovery-motion-grid,
.motion-enabled .recovery-motion-orbit,
.motion-enabled .recovery-motion-asset,
.motion-enabled .recovery-motion-scan { will-change: transform, opacity; }
.motion-enabled .recovery-hero-status { transition: opacity .2s ease, transform .3s var(--ease); }
.motion-enabled .recovery-hero-status.is-switching { opacity: .28; transform: translateY(6px); }

@media (max-width: 1100px) {
  .recovery-hero-status { left: 22px; bottom: 22px; max-width: 225px; }
  .recovery-hero-steps { top: 22px; right: 22px; }
  .recovery-scroll-cue { right: 22px; bottom: 22px; }
}
@media (max-width: 820px) {
  .recovery-hero-frame { max-width: 680px; }
  .recovery-hero-status { max-width: 230px; }
}
@media (max-width: 560px) {
  .recovery-hero-status { left: 18px; bottom: 18px; max-width: 205px; }
  .recovery-hero-status strong { font-size: 16px; }
  .recovery-hero-status p { font-size: 10px; }
  .recovery-hero-steps { top: 18px; right: 18px; gap: 5px; }
  .recovery-hero-steps span { width: 24px; height: 24px; font-size: 7px; }
  .recovery-scroll-cue { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .recovery-motion-grid,
  .recovery-motion-orbit,
  .recovery-motion-asset,
  .recovery-motion-scan { transform: none !important; }
  .recovery-motion-measure,
  .recovery-motion-branches,
  .recovery-motion-nodes,
  .recovery-motion-exit { transition: none; }
}


/* v0.11 — SG Assets */
.assets-page,.asset-detail-page,.sell-asset-page{background:#f4f4f1;color:var(--ink)}
.assets-hero{background:#0d1113;color:#fff;min-height:720px;display:grid;align-items:center;overflow:hidden}
.assets-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1fr);gap:clamp(48px,7vw,110px);align-items:center;padding-top:var(--header-h);min-height:720px}
.assets-hero-copy h1{margin:18px 0 22px;max-width:10ch;font-size:clamp(46px,5vw,72px);line-height:.91;letter-spacing:-.065em;font-weight:650}.assets-hero-copy h1 span{color:var(--sg-red)}.assets-hero-copy>p{max-width:37ch;color:rgba(255,255,255,.53);font-size:14px;line-height:1.62}.assets-hero-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px}.assets-hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.assets-hero-stack{position:relative;width:min(100%,510px);height:390px}.assets-hero-stack>span{position:absolute;inset:70px 34px 34px;border:1px solid rgba(255,255,255,.10);background:#151a1c;transform-origin:center}.assets-hero-stack>span:nth-child(1){transform:translate(-34px,22px) rotate(-5deg)}.assets-hero-stack>span:nth-child(2){transform:translate(8px,-4px) rotate(3deg)}.assets-hero-stack>span:nth-child(3){background:#dfe1df;transform:translate(42px,18px) rotate(-1deg)}.assets-hero-object{position:absolute;inset:122px 86px 82px;display:grid;place-items:center;text-align:center;color:#101314;font-weight:800;letter-spacing:.16em;font-size:22px;line-height:1.5;transform:rotate(-1deg)}.assets-hero-object::after{content:"";width:76px;height:3px;background:var(--sg-red);margin-top:10px}.assets-hero-index{position:absolute;right:0;bottom:40px;color:rgba(255,255,255,.35);font-size:9px;letter-spacing:.16em}
.assets-catalog{padding-block:clamp(90px,8vw,124px)}.assets-catalog-head{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(220px,.42fr);gap:clamp(32px,5vw,74px);align-items:start;margin-bottom:46px}.assets-catalog-head h2{margin:6px 0 0;font-size:clamp(32px,3vw,44px);letter-spacing:-.05em;line-height:.98}.assets-catalog-head>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.assets-toolbar{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(150px,.55fr) minmax(150px,.55fr) 92px;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);margin-bottom:38px}.assets-toolbar label{display:grid;gap:7px;padding:15px 18px;border-right:1px solid var(--line-light)}.assets-toolbar label:first-child{padding-left:0}.assets-toolbar label>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.assets-toolbar input,.assets-toolbar select{width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;outline:none;padding:0}.assets-results{display:grid;place-items:center;border-left:1px solid var(--line-light)}.assets-results span{font-size:20px;font-weight:650}.assets-results small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}.assets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-light);border:1px solid var(--line-light)}.catalog-asset-card{min-width:0;background:#f4f4f1}.catalog-asset-visual{position:relative;display:block;aspect-ratio:1.28/1;overflow:hidden;background:#eceeeb}.catalog-asset-visual svg{width:100%;height:100%;display:block;transition:transform .65s var(--ease)}.catalog-asset-visual:hover svg{transform:scale(1.025)}.catalog-asset-visual>span{position:absolute;top:15px;left:15px;background:#101314;color:#fff;padding:7px 9px;font-size:8px;font-weight:800;letter-spacing:.13em}.catalog-asset-body{padding:26px 24px 28px}.catalog-asset-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.catalog-asset-meta span{font-size:9px;font-weight:800;color:var(--sg-red);text-transform:uppercase;letter-spacing:.13em}.catalog-asset-meta small{color:var(--muted);font-size:9px}.catalog-asset-body h3{margin:0 0 13px;font-size:22px;letter-spacing:-.035em;line-height:1}.catalog-asset-body h3 a{color:inherit;text-decoration:none}.catalog-asset-body>p{min-height:60px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.catalog-asset-body dl{margin:22px 0 24px}.catalog-asset-body dl div{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line-light)}.catalog-asset-body dt{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.catalog-asset-body dd{margin:0;font-size:10px}.assets-empty{padding:48px 0;text-align:center}.assets-empty p{color:var(--muted);font-size:12px}.assets-how{background:#111516;color:#fff}.assets-how-grid{padding-block:clamp(90px,8vw,120px);display:grid;grid-template-columns:140px minmax(250px,.55fr) minmax(420px,1fr);gap:clamp(34px,5vw,72px);align-items:start}.assets-how-copy h2{margin:8px 0 0;font-size:clamp(30px,2.8vw,42px);line-height:.98;letter-spacing:-.05em}.assets-how-steps{border-top:1px solid rgba(255,255,255,.1)}.assets-how-steps article{display:grid;grid-template-columns:48px 1fr minmax(120px,.55fr);gap:18px;align-items:baseline;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.1)}.assets-how-steps span{color:var(--sg-red);font-size:9px}.assets-how-steps strong{font-size:15px;font-weight:560}.assets-how-steps p{margin:0;color:rgba(255,255,255,.43);font-size:11px}.assets-sell-strip{padding-block:80px}.assets-sell-grid{display:grid;grid-template-columns:140px 1fr auto;gap:42px;align-items:center}.assets-sell-grid h2{margin:6px 0 12px;font-size:clamp(30px,2.8vw,42px);letter-spacing:-.05em}.assets-sell-grid p:last-child{max-width:46ch;color:var(--muted);font-size:12px;line-height:1.55}
.asset-detail-hero{padding-top:calc(var(--header-h) + 62px);padding-bottom:82px;background:#0d1113;color:#fff}.asset-detail-breadcrumb{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.42);font-size:10px;margin-bottom:38px}.asset-detail-breadcrumb a{color:inherit}.asset-detail-breadcrumb strong{color:rgba(255,255,255,.75);font-weight:550}.asset-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.65fr);gap:clamp(42px,6vw,90px);align-items:start}.asset-detail-main{position:relative;aspect-ratio:1.36/1;background:#eceeeb;overflow:hidden}.asset-detail-figure{position:absolute;inset:0;opacity:0;transform:scale(1.015);transition:opacity .34s ease,transform .55s var(--ease)}.asset-detail-figure.is-active{opacity:1;transform:scale(1)}.asset-detail-figure svg{width:100%;height:100%;display:block}.asset-detail-figure>span{position:absolute;left:16px;bottom:15px;background:#101314;color:#fff;padding:7px 9px;font-size:8px;letter-spacing:.12em}.asset-gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:1px}.asset-gallery-thumb{position:relative;border:0;background:#1a1f21;padding:0;aspect-ratio:1.7/1;overflow:hidden;cursor:pointer;opacity:.56;transition:opacity .2s ease}.asset-gallery-thumb.is-active,.asset-gallery-thumb:hover{opacity:1}.asset-gallery-thumb svg{width:100%;height:100%;display:block}.asset-gallery-thumb>span{position:absolute;z-index:2;top:8px;left:8px;color:#111;font-size:8px;font-weight:800}.asset-detail-summary{padding-top:4px}.asset-demo-label{display:inline-block;margin-bottom:22px;color:var(--sg-red);font-size:9px;font-weight:800;letter-spacing:.13em}.asset-detail-category{margin:0 0 10px;color:rgba(255,255,255,.42);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.asset-detail-summary h1{margin:0 0 22px;font-size:clamp(34px,3.3vw,48px);line-height:.94;letter-spacing:-.055em;font-weight:630}.asset-detail-summary>p{margin:0;color:rgba(255,255,255,.55);font-size:13px;line-height:1.62}.asset-detail-facts{margin:34px 0}.asset-detail-facts div{display:grid;grid-template-columns:100px 1fr;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}.asset-detail-facts dt{font-size:8px;color:rgba(255,255,255,.36);text-transform:uppercase;letter-spacing:.1em}.asset-detail-facts dd{margin:0;font-size:11px;color:rgba(255,255,255,.72)}.asset-detail-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.asset-tech{padding-block:clamp(90px,8vw,120px)}.asset-tech-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1fr);gap:clamp(46px,7vw,100px)}.asset-tech-head h2{margin:32px 0 18px;font-size:clamp(31px,3vw,44px);line-height:.98;letter-spacing:-.05em}.asset-tech-head p{max-width:38ch;color:var(--muted);font-size:12px;line-height:1.6}.asset-tech-table{margin:0;border-top:1px solid var(--line-light)}.asset-tech-table div{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid var(--line-light)}.asset-tech-table dt{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.asset-tech-table dd{margin:0;font-size:13px}.asset-condition{background:#111516;color:#fff;padding-block:clamp(86px,8vw,116px)}.asset-condition-grid{display:grid;grid-template-columns:140px minmax(250px,.62fr) minmax(320px,.75fr);gap:clamp(38px,6vw,82px)}.asset-condition-grid h2{margin:7px 0 0;font-size:clamp(30px,2.8vw,42px);line-height:.98;letter-spacing:-.05em}.asset-condition-note{padding-left:32px;border-left:1px solid rgba(255,255,255,.1)}.asset-condition-note p{margin:0 0 28px;color:rgba(255,255,255,.58);font-size:13px;line-height:1.65}.asset-condition-note span{color:rgba(255,255,255,.35);font-size:9px;text-transform:uppercase;letter-spacing:.11em}.asset-proposal{padding-block:78px}.asset-proposal-grid{display:grid;grid-template-columns:140px 1fr auto;gap:42px;align-items:center}.asset-proposal-grid h2{margin:6px 0 12px;font-size:clamp(30px,2.8vw,42px);letter-spacing:-.05em}.asset-proposal-grid p:last-child{max-width:48ch;color:var(--muted);font-size:12px;line-height:1.6}.asset-related{padding-block:86px;background:#eceeeb}.asset-related-head{display:grid;grid-template-columns:140px 1fr;gap:40px;margin-bottom:34px}.asset-related-head h2{margin:0;font-size:32px;letter-spacing:-.045em}.asset-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light)}.asset-related-card{display:grid;gap:12px;background:#f4f4f1;padding:28px;color:inherit;text-decoration:none}.asset-related-card span{font-size:9px;color:var(--sg-red);text-transform:uppercase;letter-spacing:.12em}.asset-related-card strong{font-size:21px;letter-spacing:-.035em}.asset-related-card small{font-size:10px;color:var(--muted)}
.sell-hero{background:#0d1113;color:#fff;padding-top:calc(var(--header-h) + 76px);padding-bottom:94px}.sell-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(330px,.55fr);gap:clamp(50px,8vw,120px);align-items:end}.sell-hero-copy h1{margin:18px 0 22px;max-width:11ch;font-size:clamp(44px,4.8vw,68px);line-height:.92;letter-spacing:-.06em}.sell-hero-copy h1 span{color:var(--sg-red)}.sell-hero-copy>p{max-width:42ch;color:rgba(255,255,255,.54);font-size:13px;line-height:1.65}.sell-hero-list{border-top:1px solid rgba(255,255,255,.1)}.sell-hero-list span{display:block;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:10px;color:rgba(255,255,255,.52);letter-spacing:.08em}.sell-form-section{padding-block:clamp(88px,8vw,120px)}.sell-form-grid{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(440px,1fr);gap:clamp(52px,8vw,110px)}.sell-form-intro h2{margin:32px 0 18px;font-size:clamp(31px,3vw,44px);letter-spacing:-.05em}.sell-form-intro>p{max-width:38ch;color:var(--muted);font-size:12px;line-height:1.6}.sell-form-note{margin-top:36px;padding-top:18px;border-top:1px solid var(--line-light);display:grid;gap:8px}.sell-form-note strong{font-size:10px;text-transform:uppercase;letter-spacing:.11em}.sell-form-note span{font-size:11px;color:var(--muted);line-height:1.5}.sell-form{display:grid;gap:22px}.sell-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sell-field{display:grid;gap:8px}.sell-field label{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.sell-field input,.sell-field select,.sell-field textarea{width:100%;border:0;border-bottom:1px solid #c8cbc8;background:transparent;padding:10px 0 12px;font:inherit;font-size:13px;color:var(--ink);outline:none;border-radius:0}.sell-field textarea{resize:vertical;min-height:130px;line-height:1.55}.sell-field input:focus,.sell-field select:focus,.sell-field textarea:focus{border-bottom-color:var(--sg-red)}.sell-form-submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}.sell-form-submit .contact-link{border:0;background:transparent;cursor:pointer;padding:8px 0}.sell-form-submit small{max-width:42ch;color:var(--muted);font-size:9px;line-height:1.45}.sell-form-status{margin:0;color:var(--sg-red);font-size:10px}.sell-next{background:#111516;color:#fff;padding-block:clamp(88px,8vw,116px)}.sell-next-grid{display:grid;grid-template-columns:140px minmax(260px,.6fr) minmax(420px,1fr);gap:clamp(36px,5vw,72px)}.sell-next-grid h2{margin:7px 0 0;font-size:clamp(30px,2.8vw,42px);line-height:.98;letter-spacing:-.05em}.sell-next-steps{border-top:1px solid rgba(255,255,255,.1)}.sell-next-steps article{display:grid;grid-template-columns:42px 1fr minmax(110px,.5fr);gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.1);align-items:baseline}.sell-next-steps span{color:var(--sg-red);font-size:9px}.sell-next-steps strong{font-size:14px}.sell-next-steps p{margin:0;color:rgba(255,255,255,.42);font-size:10px}
@media(max-width:1050px){.assets-hero-grid{grid-template-columns:1fr .8fr}.assets-grid{grid-template-columns:repeat(2,1fr)}.assets-how-grid,.sell-next-grid{grid-template-columns:120px 1fr}.assets-how-steps,.sell-next-steps{grid-column:2}.asset-detail-grid{grid-template-columns:1fr}.asset-detail-gallery{max-width:820px}.asset-detail-summary{max-width:620px}.asset-condition-grid{grid-template-columns:120px 1fr}.asset-condition-note{grid-column:2}.assets-sell-grid,.asset-proposal-grid{grid-template-columns:120px 1fr}.assets-sell-grid .contact-link,.asset-proposal-grid .contact-link{grid-column:2;justify-self:start}}
@media(max-width:760px){.assets-hero{min-height:0}.assets-hero-grid{grid-template-columns:1fr;min-height:0;padding-top:120px;padding-bottom:72px}.assets-hero-copy h1{font-size:clamp(40px,11vw,54px)}.assets-hero-visual{min-height:320px}.assets-hero-stack{height:280px}.assets-hero-object{inset:94px 72px 58px;font-size:17px}.assets-catalog-head,.asset-tech-grid,.sell-form-grid{grid-template-columns:1fr}.assets-catalog-head>p{max-width:40ch}.assets-toolbar{grid-template-columns:1fr 1fr}.assets-toolbar label:first-child{grid-column:1/-1;padding-left:18px}.assets-results{border-left:0;border-top:1px solid var(--line-light);min-height:62px}.assets-grid{grid-template-columns:1fr}.assets-how-grid,.sell-next-grid,.asset-condition-grid,.assets-sell-grid,.asset-proposal-grid{grid-template-columns:1fr}.assets-how-steps,.sell-next-steps,.asset-condition-note,.assets-sell-grid .contact-link,.asset-proposal-grid .contact-link{grid-column:auto}.asset-condition-note{padding:24px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}.asset-detail-hero{padding-top:120px}.asset-detail-summary h1{font-size:clamp(34px,10vw,46px)}.asset-tech-table div{grid-template-columns:120px 1fr}.asset-related-head{grid-template-columns:1fr}.asset-related-grid{grid-template-columns:1fr}.sell-hero-grid{grid-template-columns:1fr}.sell-hero-copy h1{font-size:clamp(39px,10.6vw,52px)}.sell-field-row{grid-template-columns:1fr}.sell-next-steps article,.assets-how-steps article{grid-template-columns:40px 1fr}.sell-next-steps p,.assets-how-steps p{grid-column:2}.assets-sell-strip{padding-block:68px}}
@media(max-width:520px){.assets-toolbar{grid-template-columns:1fr}.assets-toolbar label,.assets-toolbar label:first-child{grid-column:auto;padding:14px 0;border-right:0;border-bottom:1px solid var(--line-light)}.assets-results{min-height:58px}.catalog-asset-body{padding:22px 18px 24px}.asset-gallery-thumbs{gap:2px}.asset-detail-actions{align-items:flex-start;flex-direction:column}.asset-tech-table div{grid-template-columns:1fr;gap:6px}.sell-form-submit{align-items:flex-start;flex-direction:column}}


/* v0.12 — Empresa + Sustentabilidade institucional */
.institutional-page { background:#0d1113; }
.institutional-hero { min-height:720px; padding-top:calc(var(--header-h) + 56px); background:#0d1113; color:#fff; }
.institutional-hero-grid { min-height:620px; display:grid; grid-template-columns:minmax(0,.85fr) minmax(420px,1fr); gap:clamp(46px,7vw,110px); align-items:center; }
.institutional-hero-copy h1 { margin:18px 0 24px; max-width:12ch; font-size:clamp(45px,4.7vw,68px); line-height:.92; letter-spacing:-.06em; font-weight:650; }
.institutional-hero-copy h1 span { color:var(--sg-red); }
.institutional-hero-copy>p:not(.eyebrow) { margin:0 0 28px; max-width:42ch; color:rgba(255,255,255,.54); font-size:13px; line-height:1.65; }
.company-hero-visual { position:relative; min-width:0; }
.company-hero-visual svg { width:100%; height:auto; display:block; }
.company-hero-index { position:absolute; left:24px; right:24px; bottom:20px; display:flex; justify-content:space-between; color:rgba(255,255,255,.34); font-size:8px; letter-spacing:.16em; }
.company-position { padding-block:clamp(92px,8vw,126px); }
.company-position-grid { display:grid; grid-template-columns:140px minmax(300px,.8fr) minmax(320px,.62fr); gap:clamp(38px,6vw,86px); align-items:start; }
.company-position h2,.company-system-intro h2,.company-fronts-head h2,.company-guidelines-grid h2 { margin:8px 0 0; font-size:clamp(31px,3vw,44px); line-height:.98; letter-spacing:-.05em; font-weight:620; }
.company-position h2 span { color:var(--sg-red); }
.company-position-copy { padding-left:30px; border-left:1px solid var(--line-light); }
.company-position-copy p { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.68; }
.company-principles { background:#111516; color:#fff; padding-block:clamp(92px,8vw,126px); }
.company-principles-head,.company-fronts-head,.sustain-materials-head,.circularity-head { display:grid; grid-template-columns:140px 1fr; gap:clamp(38px,6vw,86px); margin-bottom:52px; }
.company-principles-head h2,.company-fronts-head h2,.sustain-materials-head h2,.circularity-head h2 { margin:8px 0 0; font-size:clamp(31px,3vw,44px); line-height:.98; letter-spacing:-.05em; font-weight:620; }
.company-principles-layout { display:grid; grid-template-columns:minmax(260px,.58fr) minmax(400px,1fr); gap:clamp(42px,6vw,86px); }
.company-principle-list { border-top:1px solid rgba(255,255,255,.1); }
.company-principle { width:100%; display:grid; grid-template-columns:42px 1fr; gap:12px; min-height:78px; align-items:center; padding:0; border:0; border-bottom:1px solid rgba(255,255,255,.1); background:transparent; color:rgba(255,255,255,.52); text-align:left; cursor:pointer; transition:color .22s ease,padding-left .3s var(--ease); }
.company-principle span { color:rgba(255,255,255,.26); font-size:9px; letter-spacing:.13em; }
.company-principle strong { font-size:14px; font-weight:540; }
.company-principle:hover,.company-principle:focus-visible,.company-principle.is-active { color:#fff; padding-left:10px; }
.company-principle.is-active span { color:var(--sg-red); }
.company-principle-stage { min-height:430px; position:relative; display:grid; align-content:end; overflow:hidden; border:1px solid rgba(255,255,255,.1); padding:clamp(30px,4vw,48px); background:#0d1113; }
.company-principle-art { position:absolute; inset:0; overflow:hidden; }
.company-principle-art::before,.company-principle-art::after,.company-principle-art span,.company-principle-art i { content:""; position:absolute; display:block; border:1px solid rgba(255,255,255,.09); transition:transform .7s var(--ease),opacity .45s ease,border-color .45s ease; }
.company-principle-art::before { width:280px; height:280px; border-radius:50%; top:45px; right:72px; }
.company-principle-art::after { width:180px; height:180px; border-radius:50%; top:95px; right:122px; }
.company-principle-art span:nth-child(1) { left:0; right:0; top:34%; border-width:1px 0 0; }
.company-principle-art span:nth-child(2) { left:0; right:0; top:51%; border-width:1px 0 0; }
.company-principle-art span:nth-child(3) { top:0; bottom:0; left:38%; border-width:0 0 0 1px; }
.company-principle-art i { width:9px; height:9px; border:0; border-radius:50%; background:var(--sg-red); top:133px; right:207px; }
.company-principle-stage[data-company-state="execucao"] .company-principle-art::before { transform:translate(-34px,24px) rotate(16deg); }
.company-principle-stage[data-company-state="execucao"] .company-principle-art i { transform:translate(-72px,52px); }
.company-principle-stage[data-company-state="valor"] .company-principle-art::after { border-color:rgba(242,48,58,.48); transform:scale(1.12); }
.company-principle-stage[data-company-state="valor"] .company-principle-art i { transform:translate(34px,72px); }
.company-principle-stage[data-company-state="destino"] .company-principle-art::before { transform:translate(54px,-18px) scale(.9); }
.company-principle-stage[data-company-state="destino"] .company-principle-art i { transform:translate(92px,108px); }
.company-principle-copy { position:relative; z-index:2; max-width:440px; }
.company-principle-copy>p:first-child { margin:0 0 12px; color:var(--sg-red); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.company-principle-copy h3 { margin:0 0 16px; font-size:clamp(27px,2.5vw,36px); line-height:.98; letter-spacing:-.045em; font-weight:600; }
.company-principle-copy>p:last-child { margin:0; max-width:37ch; color:rgba(255,255,255,.52); font-size:13px; line-height:1.62; }
.company-system { padding-block:clamp(92px,8vw,126px); }
.company-system-grid { display:grid; grid-template-columns:140px minmax(260px,.58fr) minmax(420px,1fr); gap:clamp(34px,5vw,72px); align-items:start; }
.company-system-track { border-top:1px solid var(--line-light); }
.company-system-track article { display:grid; grid-template-columns:42px 1fr minmax(100px,.55fr); gap:16px; padding:16px 0; border-bottom:1px solid var(--line-light); align-items:baseline; }
.company-system-track span { color:var(--sg-red); font-size:9px; }
.company-system-track strong { font-size:14px; font-weight:560; }
.company-system-track p { margin:0; color:var(--muted); font-size:10px; }
.company-fronts { background:#111516; color:#fff; padding-block:clamp(92px,8vw,126px); }
.company-fronts-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.1); border-left:1px solid rgba(255,255,255,.1); }
.company-front { min-height:330px; padding:28px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; gap:20px; color:inherit; text-decoration:none; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); transition:background .28s ease; }
.company-front>span { color:var(--sg-red); font-size:9px; letter-spacing:.13em; }
.company-front>div { grid-column:1; align-self:end; }
.company-front p { margin:0 0 10px; color:rgba(255,255,255,.38); font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.company-front h3 { margin:0 0 14px; font-size:clamp(24px,2vw,30px); line-height:1; letter-spacing:-.04em; font-weight:580; }
.company-front small { display:block; max-width:28ch; color:rgba(255,255,255,.48); font-size:11px; line-height:1.55; }
.company-front i { grid-column:2; grid-row:1; font-style:normal; color:rgba(255,255,255,.4); }
.company-front:hover { background:rgba(255,255,255,.035); }
.company-front:hover i { color:var(--sg-red); }
.company-guidelines { padding-block:clamp(88px,8vw,116px); }
.company-guidelines-grid { display:grid; grid-template-columns:140px minmax(270px,.65fr) minmax(380px,.9fr); gap:clamp(38px,6vw,82px); }
.company-guideline-list { border-top:1px solid var(--line-light); }
.company-guideline-list article { display:grid; grid-template-columns:42px 1fr minmax(100px,.55fr); gap:14px; padding:18px 0; border-bottom:1px solid var(--line-light); align-items:baseline; }
.company-guideline-list span { color:var(--sg-red); font-size:9px; }
.company-guideline-list strong { font-size:14px; }
.company-guideline-list p { margin:0; color:var(--muted); font-size:10px; }

/* Sustainability page */
.sustainability-page-hero { min-height:720px; padding-top:calc(var(--header-h) + 58px); background:#0d1113; color:#fff; }
.sustain-hero-grid { min-height:620px; display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,.9fr); gap:clamp(50px,8vw,120px); align-items:center; }
.sustain-hero-copy h1 { margin:18px 0 24px; max-width:12ch; font-size:clamp(44px,4.7vw,68px); line-height:.92; letter-spacing:-.06em; font-weight:650; }
.sustain-hero-copy h1 span { color:var(--sg-red); }
.sustain-hero-copy>p:not(.eyebrow) { max-width:42ch; color:rgba(255,255,255,.54); font-size:13px; line-height:1.65; margin:0 0 28px; }
.sustain-hero-orbit { color:rgba(255,255,255,.58); }
.sustain-hero-orbit svg { width:100%; height:auto; display:block; }
.sustain-hero-orbit text { fill:rgba(255,255,255,.84); font-size:16px; font-weight:620; letter-spacing:.08em; }
.sustain-hero-orbit text.small { fill:rgba(255,255,255,.36); font-size:8px; letter-spacing:.16em; }
.motion-enabled .sustain-hero-orbit svg { animation:sg-orbit-breathe 8s ease-in-out infinite alternate; transform-origin:center; }
@keyframes sg-orbit-breathe { to { transform:rotate(3deg) scale(1.012); } }
.sustain-premise { padding-block:clamp(92px,8vw,126px); }
.sustain-premise-grid { display:grid; grid-template-columns:140px minmax(300px,.8fr) minmax(320px,.62fr); gap:clamp(38px,6vw,86px); }
.sustain-premise h2,.sustain-flow-grid h2,.sustain-evidence-grid h2 { margin:8px 0 0; font-size:clamp(31px,3vw,44px); line-height:.98; letter-spacing:-.05em; font-weight:620; }
.sustain-premise h2 span { color:var(--sg-red); }
.sustain-premise-copy,.sustain-evidence-note { padding-left:30px; border-left:1px solid var(--line-light); }
.sustain-premise-copy p,.sustain-evidence-note p { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.68; }
.circularity-hierarchy { background:#111516; color:#fff; padding-block:clamp(92px,8vw,126px); }
.circularity-layout { display:grid; grid-template-columns:minmax(260px,.56fr) minmax(420px,1fr); gap:clamp(44px,7vw,96px); }
.circularity-steps { display:grid; align-content:start; border-top:1px solid rgba(255,255,255,.1); }
.circularity-step { min-height:120px; display:grid; grid-template-columns:44px 1fr; gap:14px; align-content:center; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.44); cursor:pointer; transition:color .28s ease,padding-left .32s var(--ease); }
.circularity-step>span { color:rgba(255,255,255,.25); font-size:9px; letter-spacing:.13em; }
.circularity-step h3 { margin:0 0 6px; color:#fff; font-size:21px; letter-spacing:-.035em; font-weight:560; }
.circularity-step p { margin:0; font-size:11px; }
.circularity-step:hover,.circularity-step:focus-visible,.circularity-step.is-active { color:rgba(255,255,255,.82); padding-left:10px; }
.circularity-step.is-active>span { color:var(--sg-red); }
.circularity-stage { position:sticky; top:calc(var(--header-h) + 26px); min-height:500px; display:grid; grid-template-columns:88px 1fr; grid-template-rows:1fr auto; gap:24px; padding:38px; border:1px solid rgba(255,255,255,.1); overflow:hidden; }
.circularity-scale { grid-row:1 / 3; display:grid; grid-template-rows:1fr auto auto; gap:10px; align-items:stretch; }
.circularity-scale-line { width:1px; margin-inline:auto; background:rgba(255,255,255,.12); position:relative; }
.circularity-scale-line i { position:absolute; top:0; left:0; width:1px; height:var(--circularity-progress); background:var(--sg-red); transition:height .6s var(--ease); }
.circularity-scale span { writing-mode:vertical-rl; transform:rotate(180deg); color:rgba(255,255,255,.24); font-size:7px; letter-spacing:.14em; }
.circularity-diagram { align-self:center; justify-self:center; position:relative; width:min(100%,340px); aspect-ratio:1; }
.circularity-ring { position:absolute; inset:0; border:1px solid rgba(255,255,255,.1); border-radius:50%; transition:transform .65s var(--ease),border-color .4s ease,opacity .4s ease; }
.circularity-ring.ring-2 { inset:18%; }
.circularity-ring.ring-3 { inset:36%; }
.circularity-core { position:absolute; inset:46%; display:grid; place-items:center; border-radius:50%; background:var(--sg-red); color:#fff; font-size:10px; font-weight:800; }
.circularity-stage[data-circularity-active="1"] .ring-1 { transform:scale(.92); }
.circularity-stage[data-circularity-active="1"] .ring-2 { border-color:rgba(242,48,58,.5); transform:rotate(24deg); }
.circularity-stage[data-circularity-active="2"] .ring-1 { transform:scale(.86); opacity:.68; }
.circularity-stage[data-circularity-active="2"] .ring-2 { transform:scale(.94); }
.circularity-stage[data-circularity-active="2"] .ring-3 { border-color:rgba(242,48,58,.55); transform:rotate(-28deg); }
.circularity-stage[data-circularity-active="3"] .circularity-ring { transform:scale(.78); opacity:.5; }
.circularity-stage-copy { align-self:end; }
.circularity-stage-copy>p:first-child { margin:0 0 10px; color:var(--sg-red); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.circularity-stage-copy h3 { margin:0 0 14px; font-size:clamp(28px,2.6vw,38px); line-height:.98; letter-spacing:-.05em; }
.circularity-stage-copy>p:last-child { margin:0; max-width:36ch; color:rgba(255,255,255,.52); font-size:13px; line-height:1.62; }
.sustain-flow { padding-block:clamp(92px,8vw,126px); }
.sustain-flow-grid { display:grid; grid-template-columns:140px minmax(260px,.58fr) minmax(420px,1fr); gap:clamp(34px,5vw,72px); }
.sustain-flow-list { border-top:1px solid var(--line-light); }
.sustain-flow-list article { display:grid; grid-template-columns:42px 1fr minmax(130px,.65fr); gap:16px; padding:17px 0; border-bottom:1px solid var(--line-light); align-items:baseline; }
.sustain-flow-list span { color:var(--sg-red); font-size:9px; }
.sustain-flow-list strong { font-size:14px; }
.sustain-flow-list p { margin:0; color:var(--muted); font-size:10px; }
.sustain-materials { background:#111516; color:#fff; padding-block:clamp(92px,8vw,126px); }
.sustain-materials-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(255,255,255,.1); border-left:1px solid rgba(255,255,255,.1); }
.sustain-materials-grid article { min-height:230px; padding:24px; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.sustain-materials-grid span { color:var(--sg-red); font-size:9px; }
.sustain-materials-grid h3 { margin:72px 0 10px; font-size:20px; font-weight:560; letter-spacing:-.035em; }
.sustain-materials-grid p { margin:0; color:rgba(255,255,255,.44); font-size:10px; line-height:1.55; }
.sustain-evidence { padding-block:clamp(88px,8vw,116px); }
.sustain-evidence-grid { display:grid; grid-template-columns:140px minmax(280px,.7fr) minmax(360px,.82fr); gap:clamp(38px,6vw,82px); }
.sustain-evidence-note span { display:block; color:var(--sg-red); font-size:9px; text-transform:uppercase; letter-spacing:.11em; }
.sustain-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }

@media(max-width:1050px){
  .institutional-hero-grid,.sustain-hero-grid{grid-template-columns:1fr .85fr;gap:42px}
  .company-position-grid,.sustain-premise-grid{grid-template-columns:120px 1fr}.company-position-copy,.sustain-premise-copy{grid-column:2}
  .company-system-grid,.sustain-flow-grid,.company-guidelines-grid,.sustain-evidence-grid{grid-template-columns:120px 1fr}.company-system-track,.sustain-flow-list,.company-guideline-list,.sustain-evidence-note{grid-column:2}
  .company-fronts-grid{grid-template-columns:1fr 1fr}.sustain-materials-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .institutional-hero,.sustainability-page-hero{min-height:0}.institutional-hero-grid,.sustain-hero-grid{grid-template-columns:1fr;min-height:0;padding-top:70px;padding-bottom:80px}.company-hero-visual,.sustain-hero-orbit{max-width:660px}
  .company-principles-head,.company-fronts-head,.sustain-materials-head,.circularity-head{grid-template-columns:1fr}
  .company-principles-layout,.circularity-layout{grid-template-columns:1fr}.company-principle-stage{min-height:380px}.circularity-stage{position:relative;top:auto;min-height:420px}
  .company-fronts-grid,.sustain-materials-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .institutional-hero-copy h1,.sustain-hero-copy h1{font-size:clamp(39px,11vw,50px)}
  .company-position-grid,.sustain-premise-grid,.company-system-grid,.sustain-flow-grid,.company-guidelines-grid,.sustain-evidence-grid{grid-template-columns:1fr}.company-position-copy,.sustain-premise-copy,.company-system-track,.sustain-flow-list,.company-guideline-list,.sustain-evidence-note{grid-column:auto}
  .company-position-copy,.sustain-premise-copy,.sustain-evidence-note{padding:22px 0 0;border-left:0;border-top:1px solid var(--line-light)}
  .company-principles-head,.company-fronts-head,.sustain-materials-head,.circularity-head{margin-bottom:34px}
  .company-fronts-grid,.sustain-materials-grid{grid-template-columns:1fr}.company-front{min-height:250px}.sustain-materials-grid article{min-height:190px}.sustain-materials-grid h3{margin-top:48px}
  .company-system-track article,.company-guideline-list article,.sustain-flow-list article{grid-template-columns:40px 1fr}.company-system-track p,.company-guideline-list p,.sustain-flow-list p{grid-column:2}
  .circularity-step{min-height:94px}.circularity-stage{grid-template-columns:54px 1fr;padding:24px}.circularity-stage-copy h3{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.motion-enabled .sustain-hero-orbit svg{animation:none}}
.sustainability-page-link { margin-top:18px; color:rgba(255,255,255,.74); }


/* v0.13 — Projects archive and case system */
.projects-archive-hero{min-height:720px;padding-top:calc(var(--header-h) + 54px);background:#0d1113;color:#fff}.projects-archive-hero-grid{min-height:620px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(420px,1fr);gap:clamp(52px,8vw,120px);align-items:center}.projects-archive-copy h1{margin:18px 0 24px;max-width:9ch;font-size:clamp(46px,5vw,72px);line-height:.9;letter-spacing:-.06em;font-weight:650}.projects-archive-copy h1 span{color:var(--sg-red)}.projects-archive-copy>p:not(.eyebrow){margin:0;max-width:38ch;color:rgba(255,255,255,.52);font-size:13px;line-height:1.65}.projects-archive-visual{position:relative}.projects-archive-visual svg{width:100%;height:auto;display:block}.projects-archive-index{position:absolute;left:26px;right:26px;bottom:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:8px;letter-spacing:.13em}.projects-archive{padding-block:clamp(92px,8vw,126px)}.projects-archive-head{display:grid;grid-template-columns:140px minmax(300px,.75fr) minmax(260px,.52fr);gap:clamp(36px,6vw,82px);align-items:start;margin-bottom:42px}.projects-archive-head h2,.projects-method-grid h2,.project-detail-overview h2,.project-detail-challenge h2,.project-detail-scope h2,.project-detail-execution h2,.project-detail-outcome h2{margin:7px 0 0;font-size:clamp(31px,3vw,44px);line-height:.98;letter-spacing:-.05em;font-weight:620}.projects-archive-head>p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.projects-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}.projects-filter-btn{border:1px solid var(--line-light);background:transparent;color:var(--muted);padding:10px 14px;font:inherit;font-size:10px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.projects-filter-btn:hover,.projects-filter-btn:focus-visible,.projects-filter-btn.is-active{color:var(--ink);border-color:rgba(242,48,58,.4);background:#fff}.projects-filter-btn.is-active::before{content:"/";color:var(--sg-red);margin-right:6px}.projects-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}.project-archive-card{min-width:0;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.project-archive-card>a{display:grid;grid-template-rows:minmax(260px,1fr) auto;height:100%;color:inherit}.project-card-visual{position:relative;overflow:hidden;background:#111516;min-height:310px}.project-card-art{position:absolute;inset:0}.project-card-art span,.project-card-art i{position:absolute;display:block;border:1px solid rgba(255,255,255,.14)}.project-card-art span:nth-child(1){left:12%;bottom:13%;width:31%;height:52%}.project-card-art span:nth-child(2){left:49%;bottom:13%;width:22%;height:37%}.project-card-art span:nth-child(3){right:8%;bottom:13%;width:14%;height:62%}.project-card-art i{left:8%;right:8%;bottom:13%;height:1px;border:0;background:rgba(242,48,58,.65)}.project-card-art--recovery span{border-radius:50%}.project-card-art--recovery span:nth-child(1){left:16%;bottom:21%;width:38%;height:auto;aspect-ratio:1}.project-card-art--recovery span:nth-child(2){left:44%;bottom:31%;width:28%;height:auto;aspect-ratio:1}.project-card-art--recovery span:nth-child(3){right:10%;bottom:41%;width:14%;height:auto;aspect-ratio:1}.project-card-art--infraestrutura span:nth-child(1){transform:skewY(-12deg)}.project-card-art--infraestrutura span:nth-child(2){transform:skewY(10deg)}.project-card-badge{position:absolute;top:18px;left:18px;color:var(--sg-red);font-size:9px;font-weight:800;letter-spacing:.14em}.project-card-copy{padding:28px;display:grid;gap:15px}.project-card-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.project-card-top span{color:var(--sg-red);font-size:9px;font-weight:800}.project-card-top p{margin:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.project-card-copy h3{margin:0;max-width:16ch;font-size:clamp(24px,2.1vw,31px);line-height:1;letter-spacing:-.04em;font-weight:590}.project-card-copy>p{margin:0;max-width:48ch;color:var(--muted);font-size:12px;line-height:1.58}.project-card-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:10px;border-top:1px solid var(--line-light)}.project-card-meta span{color:var(--muted);font-size:9px}.project-card-meta span::before{content:"/";color:var(--sg-red);margin-right:6px}.project-archive-card a:hover .project-card-art,.project-archive-card a:focus-visible .project-card-art{transform:scale(1.025)}.project-card-art{transition:transform .7s var(--ease)}.projects-method{padding-block:clamp(90px,8vw,120px);background:#111516;color:#fff}.projects-method-grid{display:grid;grid-template-columns:140px minmax(300px,.68fr) minmax(360px,.8fr);gap:clamp(36px,6vw,82px)}.projects-method-list{border-top:1px solid rgba(255,255,255,.1)}.projects-method-list article{display:grid;grid-template-columns:42px 1fr minmax(120px,.6fr);gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);align-items:baseline}.projects-method-list span{color:var(--sg-red);font-size:9px}.projects-method-list strong{font-size:14px}.projects-method-list p{margin:0;color:rgba(255,255,255,.42);font-size:10px}
.project-detail-hero{min-height:720px;padding-top:calc(var(--header-h) + 54px);background:#0d1113;color:#fff}.project-detail-hero-grid{min-height:620px;display:grid;grid-template-columns:minmax(0,.76fr) minmax(420px,1fr);gap:clamp(50px,8vw,112px);align-items:center}.project-detail-copy h1{margin:18px 0 22px;max-width:11ch;font-size:clamp(42px,4.5vw,64px);line-height:.94;letter-spacing:-.055em;font-weight:640}.project-detail-copy>p:not(.eyebrow){margin:0 0 24px;max-width:42ch;color:rgba(255,255,255,.54);font-size:13px;line-height:1.65}.project-detail-demo{display:inline-flex;padding:9px 11px;border:1px solid rgba(242,48,58,.38);color:var(--sg-red);font-size:8px;font-weight:800;letter-spacing:.14em}.project-detail-visual svg{width:100%;height:auto;display:block}.project-detail-overview,.project-detail-scope,.project-detail-outcome{padding-block:clamp(92px,8vw,126px)}.project-detail-overview-grid,.project-detail-challenge-grid,.project-detail-scope-grid,.project-detail-execution-grid,.project-detail-outcome-grid{display:grid;grid-template-columns:140px minmax(280px,.65fr) minmax(360px,.78fr);gap:clamp(36px,6vw,82px)}.project-detail-overview-copy,.project-detail-execution-copy,.project-detail-outcome-note{padding-left:30px;border-left:1px solid var(--line-light)}.project-detail-overview-copy>p,.project-detail-challenge-grid>p,.project-detail-execution-copy>p,.project-detail-outcome-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.68}.project-detail-overview-copy dl{margin:28px 0 0}.project-detail-overview-copy dl div{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:10px 0;border-top:1px solid var(--line-light)}.project-detail-overview-copy dt{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.project-detail-overview-copy dd{margin:0;font-size:11px}.project-detail-challenge,.project-detail-execution{padding-block:clamp(92px,8vw,126px);background:#111516;color:#fff}.project-detail-challenge-grid>p{color:rgba(255,255,255,.52);padding-left:30px;border-left:1px solid rgba(255,255,255,.1)}.project-detail-scope-list{border-top:1px solid var(--line-light)}.project-detail-scope-list article{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-light)}.project-detail-scope-list span{color:var(--sg-red);font-size:9px}.project-detail-scope-list strong{font-size:14px;font-weight:560}.project-detail-execution-copy{border-color:rgba(255,255,255,.1)}.project-detail-execution-copy>p{color:rgba(255,255,255,.52)}.project-detail-services{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 16px}.project-detail-services span{color:rgba(255,255,255,.55);font-size:10px}.project-detail-services span::before{content:"/";color:var(--sg-red);margin-right:6px}.project-detail-outcome-note span{display:block;margin-bottom:10px;color:var(--sg-red);font-size:9px;font-weight:800;letter-spacing:.12em}
@media(max-width:1050px){.projects-archive-hero-grid,.project-detail-hero-grid{grid-template-columns:1fr .85fr;gap:42px}.projects-archive-head,.projects-method-grid,.project-detail-overview-grid,.project-detail-challenge-grid,.project-detail-scope-grid,.project-detail-execution-grid,.project-detail-outcome-grid{grid-template-columns:120px 1fr}.projects-archive-head>p,.projects-method-list,.project-detail-overview-copy,.project-detail-challenge-grid>p,.project-detail-scope-list,.project-detail-execution-copy,.project-detail-outcome-note{grid-column:2}.projects-archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.projects-archive-hero,.project-detail-hero{min-height:0}.projects-archive-hero-grid,.project-detail-hero-grid{grid-template-columns:1fr;min-height:0;padding-top:70px;padding-bottom:80px}.projects-archive-visual,.project-detail-visual{max-width:680px}.projects-archive-grid{grid-template-columns:1fr}.project-card-visual{min-height:280px}}
@media(max-width:560px){.projects-archive-copy h1,.project-detail-copy h1{font-size:clamp(38px,11vw,50px)}.projects-archive-head,.projects-method-grid,.project-detail-overview-grid,.project-detail-challenge-grid,.project-detail-scope-grid,.project-detail-execution-grid,.project-detail-outcome-grid{grid-template-columns:1fr}.projects-archive-head>p,.projects-method-list,.project-detail-overview-copy,.project-detail-challenge-grid>p,.project-detail-scope-list,.project-detail-execution-copy,.project-detail-outcome-note{grid-column:auto}.project-detail-overview-copy,.project-detail-challenge-grid>p,.project-detail-execution-copy,.project-detail-outcome-note{padding:22px 0 0;border-left:0;border-top:1px solid var(--line-light)}.project-detail-challenge-grid>p,.project-detail-execution-copy{border-color:rgba(255,255,255,.1)}.projects-method-list article{grid-template-columns:40px 1fr}.projects-method-list p{grid-column:2}.project-card-copy{padding:22px}.projects-archive-index{display:none}}

.projects-archive-link{justify-self:end;align-self:start}.project-open{margin-right:auto;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.project-open span{color:var(--sg-red)}
@media(max-width:760px){.projects-archive-link{justify-self:start}}


/* v0.14 — commercial contact architecture */
.commercial-hero { background:#0d1113; color:#fff; padding-top:var(--header-h); border-bottom:1px solid var(--line-dark); }
.commercial-hero-grid { min-height:620px; display:grid; grid-template-columns:minmax(0,.86fr) minmax(360px,.7fr); gap:clamp(50px,7vw,112px); align-items:center; padding-block:clamp(80px,8vw,118px); }
.commercial-hero-copy .section-index { margin-bottom:44px; }
.commercial-hero-copy h1 { margin:12px 0 22px; max-width:8.5ch; font-size:clamp(46px,5vw,74px); line-height:.9; letter-spacing:-.065em; font-weight:650; }
.commercial-hero-copy h1 span { color:var(--sg-red); }
.commercial-hero-copy > p:last-child { margin:0; max-width:38ch; color:rgba(255,255,255,.52); font-size:14px; line-height:1.62; }
.commercial-route-rail { border-top:1px solid rgba(255,255,255,.12); }
.commercial-route-rail a { min-height:118px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:18px; align-items:center; border-bottom:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.68); transition:color .22s ease,padding-left .32s var(--ease); }
.commercial-route-rail a:hover,.commercial-route-rail a:focus-visible { color:#fff; padding-left:10px; }
.commercial-route-rail a > span { color:var(--sg-red); font-size:9px; font-weight:800; letter-spacing:.14em; }
.commercial-route-rail strong { display:block; margin-bottom:8px; color:currentColor; font-size:17px; font-weight:570; letter-spacing:-.025em; }
.commercial-route-rail small { color:rgba(255,255,255,.40); font-size:11px; line-height:1.45; }
.commercial-route-rail i { color:var(--sg-red); font-style:normal; font-size:13px; }
.commercial-request { background:#f1f2ef; color:var(--ink); }
.commercial-request-grid { padding-block:clamp(88px,8vw,126px); display:grid; grid-template-columns:minmax(280px,.65fr) minmax(460px,1fr); gap:clamp(52px,7vw,110px); align-items:start; }
.commercial-request-copy { position:sticky; top:calc(var(--header-h) + 32px); }
.commercial-request-copy .section-index { margin-bottom:50px; }
.commercial-request-copy h2 { margin:10px 0 18px; max-width:9ch; font-size:clamp(32px,3.2vw,47px); line-height:.96; letter-spacing:-.055em; font-weight:630; }
.commercial-request-copy > p:not(.eyebrow) { margin:0; max-width:37ch; color:var(--muted); font-size:13px; line-height:1.62; }
.commercial-route-index { margin-top:42px; border-top:1px solid var(--line-light); }
.commercial-route-index button { width:100%; min-height:54px; display:grid; grid-template-columns:34px 1fr; gap:8px; align-items:center; padding:0; border:0; border-bottom:1px solid var(--line-light); background:transparent; color:var(--muted); text-align:left; cursor:pointer; font-size:12px; transition:color .2s ease,padding-left .25s var(--ease); }
.commercial-route-index button span { font-size:8px; font-weight:800; letter-spacing:.13em; color:#a2a7a5; }
.commercial-route-index button.is-active,.commercial-route-index button:hover,.commercial-route-index button:focus-visible { color:var(--ink); padding-left:8px; }
.commercial-route-index button.is-active span { color:var(--sg-red); }
.commercial-form { border-top:1px solid var(--line-light); padding-top:6px; }
.commercial-form .sell-field,.commercial-form .sell-field-row { margin-top:20px; }
.commercial-form-submit { margin-top:32px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-top:24px; border-top:1px solid var(--line-light); }
.commercial-form-submit small { max-width:35ch; color:var(--muted); font-size:10px; line-height:1.5; }
.commercial-paths { background:#111516; color:#fff; }
.commercial-paths-grid { padding-block:clamp(88px,8vw,126px); display:grid; grid-template-columns:130px minmax(260px,.62fr) minmax(420px,1fr); gap:clamp(34px,5vw,78px); align-items:start; }
.commercial-paths-grid h2 { margin:10px 0 0; max-width:10ch; font-size:clamp(30px,3vw,43px); line-height:.97; letter-spacing:-.05em; font-weight:620; }
.commercial-path-list { border-top:1px solid var(--line-dark); }
.commercial-path-list article { min-height:92px; display:grid; grid-template-columns:42px 140px 1fr; gap:18px; align-items:center; border-bottom:1px solid var(--line-dark); }
.commercial-path-list article > span { color:var(--sg-red); font-size:9px; font-weight:800; letter-spacing:.13em; }
.commercial-path-list strong { font-size:14px; font-weight:560; }
.commercial-path-list p { margin:0; color:rgba(255,255,255,.43); font-size:12px; line-height:1.5; }
.commercial-options { background:#e9ebe8; }
.commercial-options-grid { padding-block:clamp(82px,7vw,110px); display:grid; grid-template-columns:minmax(280px,.55fr) minmax(440px,1fr); gap:clamp(50px,7vw,100px); }
.commercial-options-head .section-index { margin-bottom:34px; }
.commercial-options-head h2 { margin:0; max-width:9ch; font-size:clamp(30px,3vw,43px); line-height:.97; letter-spacing:-.05em; font-weight:620; }
.commercial-options-links { border-top:1px solid var(--line-light); }
.commercial-options-links a { min-height:100px; display:grid; grid-template-columns:110px 1fr auto; gap:20px; align-items:center; border-bottom:1px solid var(--line-light); color:var(--ink); transition:padding-left .28s var(--ease); }
.commercial-options-links a:hover,.commercial-options-links a:focus-visible { padding-left:10px; }
.commercial-options-links span { color:var(--sg-red); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.commercial-options-links strong { font-size:15px; font-weight:560; letter-spacing:-.02em; }
.commercial-options-links i { font-style:normal; color:var(--sg-red); }
@media (max-width:980px){
  .commercial-hero-grid,.commercial-request-grid,.commercial-options-grid { grid-template-columns:1fr; }
  .commercial-hero-grid { min-height:0; }
  .commercial-request-copy { position:relative; top:auto; }
  .commercial-paths-grid { grid-template-columns:1fr; }
}
@media (max-width:640px){
  .commercial-hero-grid { padding-block:78px; gap:48px; }
  .commercial-hero-copy h1 { font-size:clamp(40px,11.5vw,54px); }
  .commercial-route-rail a { min-height:96px; }
  .commercial-request-grid { padding-block:82px; }
  .commercial-form-submit { align-items:flex-start; flex-direction:column; }
  .commercial-path-list article { grid-template-columns:34px 1fr; gap:10px; padding-block:18px; }
  .commercial-path-list p { grid-column:2; }
  .commercial-options-links a { grid-template-columns:1fr auto; gap:8px 18px; padding-block:18px; }
  .commercial-options-links span { grid-column:1; }
  .commercial-options-links strong { grid-column:1; }
  .commercial-options-links i { grid-column:2; grid-row:1 / 3; }
}

/* v0.15 — pre-v1 hardening: mobile, accessibility and rendering consistency */
html { scrollbar-gutter: stable; }
body { overflow-x: clip; }
button, [role="button"], a, select { touch-action: manipulation; }
[hidden] { display: none !important; }

.mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
.mobile-menu[aria-hidden="false"] { visibility: visible; }

[role="tab"] { min-height: 44px; }
.text-link, .contact-link { min-height: 32px; }

@media (max-width: 760px) {
  input, select, textarea { font-size: 16px !important; }
  .text-link, .contact-link { min-height: 44px; align-items: center; }
  .mobile-menu { padding-bottom: max(34px, env(safe-area-inset-bottom)); }
  .header-inner { gap: 18px; }
  .shell { max-width: 100%; }
}

@media (max-width: 380px) {
  :root { --shell: calc(100vw - 28px); }
  .footer-nav { grid-template-columns: 1fr; gap: 34px; }
  .mobile-menu a { font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

@media (forced-colors: active) {
  :focus-visible { outline: 2px solid CanvasText; }
  .page-progress span, .hero h1 span, .section-index { forced-color-adjust: auto; }
}


/* v0.18 — final visual refinement / photo-ready media layer */
html { scrollbar-gutter: stable; }
body { text-rendering: optimizeLegibility; }
::selection { background: var(--sg-red); color: #fff; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a, button { -webkit-tap-highlight-color: transparent; }

[data-media-slot] { position: relative; isolation: isolate; overflow: hidden; }
[data-media-slot] > .managed-media { position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .72s var(--ease); pointer-events: none; }
[data-media-slot] > .managed-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,8,9,.12), rgba(6,8,9,.48)); }
[data-media-slot] > .managed-media img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.82) contrast(1.06); transform: scale(1.018); transition: transform 1.2s var(--ease), filter .5s ease; }
[data-media-slot].is-media-loaded > .managed-media { opacity: 1; }
[data-media-slot].is-media-loaded > .managed-media img { transform: scale(1); }
[data-media-slot] > :not(.managed-media) { position: relative; z-index: 1; }

.hero-scene.is-media-ready > svg,
.service-hero-visual.is-media-ready > svg,
.company-hero-visual.is-media-ready > svg,
.sustain-hero-orbit.is-media-ready > svg,
.projects-archive-visual.is-media-ready > svg,
.service-market-figure.is-media-ready > svg { opacity: .26; mix-blend-mode: screen; transition: opacity .5s ease; }
.recovery-hero-visual.is-media-ready .recovery-hero-frame > svg { opacity: .34; mix-blend-mode: screen; transition: opacity .5s ease; }
.assets-hero-visual.is-media-ready .assets-hero-stack { opacity: .48; mix-blend-mode: screen; transition: opacity .5s ease; }
.service-market-figure > .managed-media::after { background: linear-gradient(90deg, rgba(8,10,11,.16), rgba(8,10,11,.32) 60%, rgba(8,10,11,.66)); }

.text-link span,
.header-cta span,
.contact-link span,
.footer-contact a span { display: inline-block; transition: transform .28s var(--ease); }
@media (hover:hover) and (pointer:fine) {
  .text-link:hover span,
  .header-cta:hover span,
  .contact-link:hover span,
  .footer-contact a:hover span { transform: translate(3px,-1px); }
}
.section-index { letter-spacing: .13em; }
.site-footer a { transition: color .22s ease, opacity .22s ease; }
@media (hover:hover) and (pointer:fine) { .site-footer a:hover { color: #fff; } }

@media (max-width: 480px) {
  .shell { width: min(100% - 34px, 1440px); }
  .service-breadcrumb { max-width: 100%; overflow-wrap: anywhere; }
  input, select, textarea, button { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  [data-media-slot] > .managed-media,
  [data-media-slot] > .managed-media img,
  .text-link span,
  .header-cta span,
  .contact-link span,
  .footer-contact a span { transition: none !important; transform: none !important; }
}

/* v0.22 — CMS ↔ frontend bridge */
.project-card-photo,
.catalog-asset-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.project-card-visual:has(.project-card-photo),
.catalog-asset-visual:has(.catalog-asset-photo) {
  overflow: hidden;
}
.has-cms-media {
  position: relative;
  overflow: hidden;
}
.cms-slot-media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.project-detail-photo {
  min-height: 520px;
  margin: 0;
  overflow: hidden;
  background: #111516;
}
.project-detail-photo img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  display: block;
  object-fit: cover;
}
.cms-asset-placeholder {
  min-height: 520px;
  display: grid;
  place-items: center;
  background: #eceeeb;
  color: #656b6d;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
}
@media (max-width: 760px) {
  .project-detail-photo,
  .project-detail-photo img,
  .cms-asset-placeholder { min-height: 340px; }
}
.asset-gallery-thumb img{width:100%;height:100%;display:block;object-fit:cover}.asset-detail-figure>img{width:100%;height:100%;display:block;object-fit:cover}
