:root {
  --catalog-yellow: #fdc401;
  --catalog-ink: #171817;
  --catalog-muted: #666862;
  --catalog-line: rgba(24, 25, 23, .12);
  --catalog-panel: rgba(255, 255, 255, .88);
}

html:has(body.catalog-body) { scroll-behavior: auto; }
.catalog-body { background: #e8e8e4; }
.catalog-body .site-header { z-index: 150; }
.catalog-body .radar-float { width: 70px; height: 86px; z-index: 118; }

#catalog-scene {
  position: fixed;
  inset: 76px 0 0;
  width: 100%;
  height: calc(100% - 76px);
  z-index: 0;
  pointer-events: none;
  opacity: .72;
}

.catalog-presentation { position: relative; z-index: 1; overflow: clip; }
.catalog-frame {
  position: relative;
  min-height: calc(100svh - 76px);
  scroll-snap-align: start;
  scroll-margin-top: 76px;
  display: grid;
  align-items: center;
  padding: 58px 0 86px;
  color: var(--catalog-ink);
  background: rgba(248, 248, 245, .93);
  border-bottom: 1px solid rgba(23, 24, 23, .1);
  isolation: isolate;
}
.catalog-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .46;
  background-image: linear-gradient(rgba(25, 25, 24, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(25, 25, 24, .035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to right, transparent, #000 15%, #000 85%, transparent);
}
.catalog-frame:nth-child(even):not(.is-dark) { background: rgba(239, 239, 235, .94); }
.catalog-frame.is-soft { background: rgba(244, 241, 230, .95); }
.catalog-frame.is-dark {
  color: #fff;
  background: rgba(25, 26, 24, .97);
  border-color: rgba(255, 255, 255, .1);
}
.catalog-frame.is-dark::before {
  opacity: .7;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
}
.catalog-frame__inner {
  width: min(calc(100% - 96px), 1400px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 22px 28px;
  align-items: center;
}

.catalog-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: #8f6d00;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.catalog-kicker::before { content: ""; width: 26px; height: 4px; border-radius: 5px; background: var(--catalog-yellow); }
.is-dark .catalog-kicker { color: #ffe36b; }
.catalog-heading { grid-column: 1 / -1; display: block; margin: 0; max-width: 1060px; }
.catalog-heading h2, .catalog-copy h2, .catalog-closing h2 {
  margin: 0;
  max-width: 1020px;
  color: inherit;
  font-size: clamp(36px, 4.2vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
}
.catalog-heading > p, .catalog-copy > p {
  max-width: 850px;
  margin: 17px 0 0;
  color: var(--catalog-muted);
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.55;
}
.is-dark .catalog-heading > p, .is-dark .catalog-copy > p { color: rgba(255,255,255,.66); }
.catalog-lead { color: #9a7200 !important; font-weight: 800; }
.is-dark .catalog-lead { color: #ffd334 !important; }
.catalog-copy { grid-column: span 6; align-self: center; }
.catalog-copy h3 { margin: 30px 0 8px; font-size: 17px; }
.catalog-copy p { max-width: 650px; }

.catalog-motion {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.catalog-frame.is-active .catalog-motion { animation: catalogFrameEnter .86s cubic-bezier(.2,.72,.2,1) both; }
.catalog-frame.is-active .catalog-motion:nth-child(2) { animation-delay: .08s; }
.catalog-frame.is-active .catalog-motion:nth-child(3) { animation-delay: .16s; }
.catalog-frame.is-active .catalog-motion:nth-child(4) { animation-delay: .24s; }
.catalog-frame.is-active .catalog-motion:nth-child(5) { animation-delay: .3s; }
@keyframes catalogFrameEnter {
  from { opacity:0; transform:translate3d(0,26px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}

.catalog-quote {
  grid-column: 1 / -1;
  position: relative;
  margin: 4px 0 0;
  padding: 18px 24px 18px 72px;
  color: #181818;
  background: var(--catalog-yellow);
  border-radius: 10px;
  font-size: clamp(16px, 1.45vw, 22px);
  font-weight: 850;
  line-height: 1.3;
  box-shadow: 0 12px 28px rgba(119, 89, 0, .14);
}
.catalog-quote::before { content: "“"; position: absolute; left: 24px; top: 10px; font-size: 44px; line-height: 1; font-family: Georgia,serif; }

.catalog-cover { overflow: hidden; background: #1c1d1b; }
.catalog-cover::after {
  content: ""; position: absolute; inset: auto -5vw -35vh 37%; height: 95vh; z-index: -1;
  background: linear-gradient(135deg, rgba(253,196,1,.95), rgba(253,196,1,.08) 54%, transparent 55%);
  transform: skewX(-12deg);
}
.catalog-cover__grid > div:first-child { grid-column: 1 / 7; }
.catalog-cover__mark { width: 92px; margin: 6px 0 30px; filter: drop-shadow(0 12px 24px rgba(0,0,0,.2)); }
.catalog-cover h1 { margin: 0; color: #fff; font-size: clamp(55px, 7vw, 108px); line-height: .85; letter-spacing: -.065em; }
.catalog-cover h1 span { color: var(--catalog-yellow); }
.catalog-cover p { max-width: 560px; margin: 24px 0; color: rgba(255,255,255,.68); font-size: clamp(18px,1.55vw,24px); }
.catalog-cover__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.catalog-cover__tags span { padding: 10px 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; color: #fff; font-size: 12px; font-weight: 800; }
.catalog-cover__visual { grid-column: 8 / -1; position: relative; height: min(58vh, 570px); perspective: 950px; }
.catalog-tower { position: absolute; inset: 10% 12%; transform: rotateX(58deg) rotateZ(-35deg); transform-style: preserve-3d; }
.catalog-tower i { position: absolute; inset: 25%; background: linear-gradient(135deg,#ffe985,#c79600); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 0 60px rgba(253,196,1,.22); transform: translateZ(calc(var(--z, 0) * 1px)); }
.catalog-tower i:nth-child(1) { --z: 0; inset: 15%; background: #41371b; }
.catalog-tower i:nth-child(2) { --z: 44; inset: 20%; background: #fbf8e9; }
.catalog-tower i:nth-child(3) { --z: 88; inset: 25%; background: #e2b416; }
.catalog-tower i:nth-child(4) { --z: 132; inset: 30%; background: #ffe77a; }
.catalog-orbit { position: absolute; inset: 8%; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; transform: rotate(-18deg); }
.catalog-orbit span { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--catalog-yellow); box-shadow:0 0 22px var(--catalog-yellow); animation:catalogOrbit 8s linear infinite; offset-path: ellipse(49% 49% at 50% 50%); }
.catalog-orbit span:nth-child(2){animation-delay:-2.7s}.catalog-orbit span:nth-child(3){animation-delay:-5.4s}
@keyframes catalogOrbit { to { offset-distance: 100%; } }
.catalog-scroll-hint { position:absolute; bottom:30px; left:50%; display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.55); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; transform:translateX(-50%); }
.catalog-scroll-hint svg { width:17px; }

.catalog-split .catalog-image { grid-column: span 6; }
.catalog-split .catalog-four, .catalog-split .catalog-duo { grid-column: 1 / -1; }
.catalog-image {
  grid-column: 1 / 7;
  min-height: 270px;
  border-radius: 20px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 20px 50px rgba(20,20,18,.16);
  overflow: hidden;
}
.catalog-image span { display:flex; align-items:flex-end; width:100%; height:100%; min-height:270px; padding:26px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.74)); font-size:20px; font-weight:800; }
.catalog-image--building { background-image: url("section-sobre-2027.png"); }
.catalog-image--team, .catalog-image--corporate { background-image: url("consulting-enterprise-architecture.webp"); }
.catalog-image--portfolio { background-image: url("consulting-portfolio-apm.webp"); }
.catalog-image--strategy { background-image: url("consulting-strategy-transformation.webp"); }
.catalog-image--solutions { background-image: url("consulting-solution-architecture.webp"); }
.catalog-image--governance { background-image: url("consulting-governance-innovation.webp"); }
.catalog-image--service { background-image: url("consulting-architecture-service.webp"); }
.catalog-image--training { background-image: url("section-cursos-2027.png"); }
.catalog-image--business { background-image: url("training-business-analysis.webp"); }

.catalog-duo { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:34px; }
.catalog-duo article, .catalog-four article, .catalog-note-grid article {
  display:grid; align-content:start; gap:5px; padding:20px; border:1px solid var(--catalog-line); border-radius:14px; background:rgba(255,255,255,.7);
}
.catalog-duo svg, .catalog-four svg { width:24px; color:#bd8f00; }
.catalog-duo strong, .catalog-four strong, .catalog-note-grid strong { font-size:15px; }
.catalog-duo span, .catalog-four span, .catalog-note-grid p { margin:0; color:var(--catalog-muted); font-size:13px; line-height:1.4; }
.catalog-four { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.is-dark .catalog-four article { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); }
.is-dark .catalog-four span { color:rgba(255,255,255,.6); }

.catalog-clients { grid-column:1/-1; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.catalog-clients figure { margin:0; min-width:0; padding:20px; border:1px solid var(--catalog-line); border-radius:14px; background:rgba(255,255,255,.78); }
.catalog-clients img { display:block; width:100%; height:60px; object-fit:contain; filter:grayscale(1); transition:filter .25s,transform .25s; }
.catalog-clients figure:hover img { filter:none; transform:translateY(-3px); }
.catalog-clients figcaption { margin-top:12px; color:var(--catalog-muted); font-size:11px; line-height:1.35; }
.catalog-note-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }

.catalog-layers { grid-column:1/-1; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:4px 0 0; padding:0; list-style:none; }
.catalog-layers li { position:relative; min-height:190px; padding:22px 18px; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:rgba(255,255,255,.055); }
.catalog-layers li::after { content:""; position:absolute; top:50%; right:-11px; width:12px; height:2px; background:var(--catalog-yellow); }
.catalog-layers li:last-child::after { display:none; }
.catalog-layers span { display:block; color:var(--catalog-yellow); font-size:12px; font-weight:900; }
.catalog-layers strong { display:block; margin:42px 0 8px; font-size:20px; }
.catalog-layers small { color:rgba(255,255,255,.6); font-size:13px; line-height:1.4; }

.catalog-paths { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.catalog-paths article { position:relative; padding:27px; border:1px solid var(--catalog-line); border-radius:18px; background:rgba(255,255,255,.74); }
.catalog-paths article > span { position:absolute; top:22px; right:22px; color:#b9b9b4; font-size:13px; font-weight:900; }
.catalog-paths svg { width:32px; height:32px; color:#b78900; }
.catalog-paths h3 { margin:15px 0 6px; font-size:26px; }
.catalog-paths p { color:var(--catalog-muted); }
.catalog-paths ul { columns:2; margin:16px 0 0; padding:0; list-style:none; }
.catalog-paths li { position:relative; padding:4px 0 4px 15px; color:#555751; font-size:13px; break-inside:avoid; }
.catalog-paths li::before { content:""; position:absolute; left:0; top:10px; width:5px; height:5px; border-radius:50%; background:var(--catalog-yellow); }
.catalog-paths--training article { display:grid; grid-template-columns:auto 1fr; column-gap:16px; }
.catalog-paths--training svg { grid-row:1/4; }
.catalog-paths--training h3,.catalog-paths--training p { margin:0; }

.catalog-fronts { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.catalog-fronts article { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; gap:4px 13px; min-height:116px; padding:18px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.055); }
.catalog-fronts article > span { position:absolute; opacity:0; }
.catalog-fronts svg { grid-row:1/3; width:27px; color:var(--catalog-yellow); }
.catalog-fronts strong { font-size:16px; }
.catalog-fronts small { color:rgba(255,255,255,.56); }

.catalog-process { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin:0; padding:0; list-style:none; counter-reset:steps; }
.catalog-process li { position:relative; min-height:185px; padding:18px 15px; border:1px solid var(--catalog-line); border-radius:14px; background:rgba(255,255,255,.75); }
.catalog-process li::after { content:""; position:absolute; top:40px; right:-9px; width:10px; height:2px; background:#d5a300; }
.catalog-process li:last-child::after { display:none; }
.catalog-process span { color:#a47b00; font-size:11px; font-weight:900; }
.catalog-process svg { display:block; width:25px; margin:25px 0 12px; color:#a47b00; }
.catalog-process strong { display:block; font-size:15px; }
.catalog-process small { display:block; margin-top:6px; color:var(--catalog-muted); font-size:12px; line-height:1.4; }

.service-frame .catalog-heading { grid-column:1/8; align-self:end; }
.service-frame .catalog-heading h2 { font-size:clamp(34px,3.5vw,58px); }
.service-frame .catalog-image { grid-column:8/-1; grid-row:1/3; min-height:350px; align-self:stretch; }
.service-frame__summary { grid-column:1/8; align-self:start; }
.service-frame__summary > p { margin:0 0 16px; color:var(--catalog-muted); font-size:15px; line-height:1.55; }
.service-frame__context { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.service-frame__context article { display:grid; grid-template-columns:auto 1fr; gap:4px 9px; padding:14px; border:1px solid var(--catalog-line); border-radius:12px; background:rgba(255,255,255,.65); }
.service-frame__context svg { grid-row:1/3; width:18px; color:#a47b00; }
.service-frame__context span { color:var(--catalog-muted); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.service-frame__context strong { font-size:12px; line-height:1.35; }
.service-frame__deliveries { grid-column:8/-1; }
.service-frame__deliveries h3 { margin:0 0 10px; font-size:16px; }
.service-frame__deliveries ul { display:grid; grid-template-columns:repeat(2,1fr); gap:7px 18px; margin:0; padding:0; list-style:none; }
.service-frame__deliveries li { position:relative; padding-left:15px; color:var(--catalog-muted); font-size:12px; }
.service-frame__deliveries li::before { content:""; position:absolute; left:0; top:.45em; width:6px; height:6px; background:var(--catalog-yellow); }
.is-dark .service-frame__summary > p,.is-dark .service-frame__deliveries li { color:rgba(255,255,255,.64); }
.is-dark .service-frame__context article { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.055); }
.is-dark .service-frame__context span { color:rgba(255,255,255,.52); }

.catalog-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.catalog-facts article { display:grid; grid-template-columns:auto 1fr; gap:3px 10px; min-height:92px; padding:16px; border:1px solid var(--catalog-line); border-radius:12px; background:rgba(255,255,255,.75); }
.catalog-facts svg { grid-row:1/3; width:22px; color:#a47b00; }
.catalog-facts span { color:var(--catalog-muted); font-size:10px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.catalog-facts strong { font-size:12px; line-height:1.35; }
.training-frame .catalog-heading { grid-column:1/7; }
.training-frame .catalog-image { grid-column:7/-1; grid-row:1/3; min-height:300px; }
.training-frame .catalog-facts { grid-column:1/7; }
.training-frame__content { grid-column:7/-1; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.training-frame__content article { padding:18px; border:1px solid var(--catalog-line); border-radius:12px; background:rgba(255,255,255,.65); }
.training-frame__content h3 { margin:0 0 8px; font-size:15px; }
.training-frame__content p,.training-frame__content li { color:var(--catalog-muted); font-size:12px; line-height:1.45; }
.training-frame__content ul { margin:0; padding-left:18px; }

.catalog-open-group__brand { grid-column:1/6; padding:30px; border:1px solid var(--catalog-line); border-radius:18px; background:rgba(255,255,255,.7); text-align:center; }
.catalog-open-group__brand img { width:min(250px,80%); }
.catalog-open-group__brand p { color:var(--catalog-muted); font-size:13px; line-height:1.5; }
.catalog-open-group .catalog-four { grid-column:6/-1; grid-template-columns:repeat(2,1fr); }

.catalog-closing { background:rgba(23,24,22,.98); }
.catalog-closing__grid > div:first-child { grid-column:1/8; }
.catalog-closing__words { margin:20px 0; color:var(--catalog-yellow); font-size:clamp(30px,3.8vw,58px); font-weight:900; line-height:1; letter-spacing:-.04em; }
.catalog-closing__grid > div:first-child > p:not(.catalog-closing__words) { max-width:620px; color:rgba(255,255,255,.66); font-size:18px; line-height:1.5; }
.catalog-closing__panel { grid-column:9/-1; padding:38px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(255,255,255,.055); }
.catalog-closing__panel img { width:66px; }
.catalog-closing__panel blockquote { margin:28px 0; font-size:clamp(20px,2.2vw,31px); font-weight:850; line-height:1.18; }
.catalog-closing__panel ul { margin:0; padding:0; list-style:none; }
.catalog-closing__panel li { display:flex; align-items:center; gap:9px; margin:8px 0; color:rgba(255,255,255,.65); font-size:13px; }
.catalog-closing__panel svg { width:16px; color:var(--catalog-yellow); }
.catalog-download { color:#fff; border-color:rgba(255,255,255,.28); }

.catalog-progress { position:fixed; z-index:152; top:76px; left:0; width:100%; height:3px; background:rgba(0,0,0,.08); }
.catalog-progress span { display:block; width:0; height:100%; background:var(--catalog-yellow); box-shadow:0 0 14px rgba(253,196,1,.65); transition:width .35s ease; }
.catalog-summary-toggle { position:fixed; z-index:122; top:94px; left:20px; display:flex; align-items:center; gap:8px; padding:10px 13px; border:1px solid rgba(30,30,28,.14); border-radius:999px; color:#20211f; background:rgba(255,255,255,.88); box-shadow:0 8px 24px rgba(0,0,0,.08); backdrop-filter:blur(12px); font-size:11px; font-weight:850; cursor:pointer; }
.catalog-summary-toggle svg { width:16px; }
.catalog-outline { position:fixed; z-index:171; top:0; left:0; bottom:0; width:min(390px,90vw); padding:24px; color:#fff; background:#1c1d1b; box-shadow:30px 0 80px rgba(0,0,0,.24); transform:translateX(-105%); transition:transform .35s cubic-bezier(.2,.75,.2,1); overflow:auto; }
.catalog-outline.is-open { transform:translateX(0); }
.catalog-outline__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
.catalog-outline__head small { display:block; color:#e1ad00; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.catalog-outline__head strong { display:block; margin-top:4px; font-size:20px; }
.catalog-outline__head button { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.16); border-radius:50%; color:#fff; background:transparent; cursor:pointer; }
.catalog-outline nav { display:grid; gap:5px; }
.catalog-outline nav a { display:grid; grid-template-columns:34px 1fr; align-items:center; padding:11px 12px; border-radius:9px; color:rgba(255,255,255,.72); font-size:13px; }
.catalog-outline nav a:hover,.catalog-outline nav a.is-current { color:#151515; background:var(--catalog-yellow); }
.catalog-outline nav span { font-size:10px; font-weight:900; }
.catalog-outline-backdrop { position:fixed; z-index:170; inset:0; display:block; border:0; background:rgba(0,0,0,.42); opacity:0; visibility:hidden; transition:.3s; }
.catalog-outline-backdrop.is-open { opacity:1; visibility:visible; }

.catalog-controls { position:fixed; z-index:121; left:50%; bottom:max(18px,env(safe-area-inset-bottom)); display:grid; grid-template-columns:38px minmax(190px,340px) auto 38px; gap:12px; align-items:center; padding:8px; border:1px solid rgba(30,30,28,.12); border-radius:14px; color:#242522; background:rgba(255,255,255,.91); box-shadow:0 12px 40px rgba(0,0,0,.14); backdrop-filter:blur(15px); transform:translateX(-50%); transition:opacity .25s,transform .25s;
}
.catalog-controls.is-hidden { opacity:0; pointer-events:none; transform:translate(-50%,16px); }
.catalog-controls button { display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:9px; color:#222; background:#eee; cursor:pointer; }
.catalog-controls button:hover { background:var(--catalog-yellow); }
.catalog-controls button:disabled { opacity:.25; cursor:not-allowed; }
.catalog-controls svg { width:18px; }
.catalog-controls div { min-width:0; }
.catalog-controls small { display:block; overflow:hidden; color:#9a7300; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; text-overflow:ellipsis; white-space:nowrap; }
.catalog-controls strong { display:block; overflow:hidden; margin-top:2px; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.catalog-controls > span { color:#777; font-size:10px; font-weight:800; white-space:nowrap; }
.catalog-controls > span b { color:#222; }

@media (max-width: 1000px) {
  .catalog-frame { min-height:auto; padding:80px 0 110px; }
  .catalog-frame__inner { width:min(calc(100% - 40px),760px); gap:18px; }
  .catalog-copy,.catalog-split .catalog-image,.catalog-cover__grid > div:first-child,.catalog-cover__visual,.service-frame .catalog-heading,.service-frame .catalog-image,.service-frame__summary,.service-frame__deliveries,.training-frame .catalog-heading,.training-frame .catalog-image,.training-frame .catalog-facts,.training-frame__content,.catalog-open-group__brand,.catalog-open-group .catalog-four,.catalog-closing__grid > div:first-child,.catalog-closing__panel { grid-column:1/-1; }
  .catalog-cover__visual { height:360px; }
  .catalog-layers { grid-template-columns:repeat(2,1fr); }
  .catalog-layers li:last-child { grid-column:1/-1; min-height:130px; }
  .catalog-fronts { grid-template-columns:repeat(2,1fr); }
  .catalog-process { grid-template-columns:repeat(3,1fr); }
  .catalog-process li::after { display:none; }
  .service-frame .catalog-image,.training-frame .catalog-image { grid-row:auto; min-height:300px; }
  .catalog-open-group .catalog-four { grid-template-columns:repeat(2,1fr); }
  .catalog-clients { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 700px) {
  #catalog-scene { inset:68px 0 0; height:calc(100% - 68px); }
  .catalog-frame { scroll-margin-top:68px; padding:72px 0 104px; }
  .catalog-frame__inner { width:calc(100% - 30px); gap:15px; }
  .catalog-frame::before { background-size:34px 34px; }
  .catalog-heading h2,.catalog-copy h2,.catalog-closing h2 { font-size:clamp(35px,11vw,52px); }
  .catalog-heading > p,.catalog-copy > p { font-size:15px; }
  .catalog-cover h1 { font-size:clamp(42px,13vw,58px); line-height:.92; overflow-wrap:anywhere; }
  .catalog-cover__visual { height:280px; }
  .catalog-cover::after { inset:auto -25vw -30vh 30%; }
  .catalog-duo,.catalog-four,.catalog-note-grid,.catalog-paths,.catalog-fronts,.catalog-process,.catalog-facts,.training-frame__content,.service-frame__context,.catalog-open-group .catalog-four { grid-template-columns:1fr; }
  .catalog-clients { grid-template-columns:repeat(2,1fr); }
  .catalog-clients figure { padding:13px; }
  .catalog-clients img { height:48px; }
  .catalog-layers { grid-template-columns:1fr; }
  .catalog-layers li,.catalog-layers li:last-child { grid-column:auto; min-height:115px; }
  .catalog-layers li::after { display:none; }
  .catalog-layers strong { margin:19px 0 4px; }
  .catalog-paths ul { columns:1; }
  .catalog-process li { min-height:145px; }
  .service-frame .catalog-image,.training-frame .catalog-image,.catalog-image { min-height:230px; }
  .service-frame__deliveries ul { grid-template-columns:1fr; }
  .catalog-quote { padding:17px 17px 17px 55px; font-size:15px; }
  .catalog-quote::before { left:17px; }
  .catalog-summary-toggle { top:80px; left:12px; }
  .catalog-summary-toggle span { display:none; }
  .catalog-controls { bottom:max(10px,env(safe-area-inset-bottom)); grid-template-columns:36px minmax(0,1fr) 36px; width:calc(100% - 86px); gap:7px; padding:6px; }
  .catalog-controls button { width:36px; height:36px; }
  .catalog-controls strong { font-size:10px; }
  .catalog-controls small { font-size:8px; }
  .catalog-controls > span { display:none; }
  .catalog-body .radar-float { right:7px; bottom:max(8px,env(safe-area-inset-bottom)); width:66px; height:80px; }
  .catalog-closing__panel { padding:25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .catalog-motion { opacity:1; transform:none; transition:none; }
  .catalog-frame.is-active .catalog-motion { animation:none; }
  .catalog-orbit span { animation:none; }
  #catalog-scene { display:none; }
}
