
 :root {
 --bg-deep: #2E1F0F;
 --bg-soft: #EDE6DA;
 --fg-primary: #EDE6DA;
 --fg-inverse: #2E1F0F;
 --accent-warm: #8B3A2A;
 --accent-cool: #C9A96E;
 --accent-soft: #C9B8A3;
 --muted: #4A3020;

 --font-wordmark: 'Big Shoulders Display', sans-serif;
 --font-display: 'Cormorant Garamond', serif;
 --font-body: 'Inter Tight', sans-serif;
 --font-label: 'Jura', sans-serif;

 --fs-hero: clamp(80px, 14vw, 220px);
 --fs-display-xl: clamp(48px, 7vw, 120px);
 --fs-display-lg: clamp(36px, 5vw, 72px);
 --fs-display-md: clamp(20px, 2.5vw, 36px);
 --fs-body-lg: clamp(19px, 1.5vw, 24px);
 --fs-body: clamp(16px, 1.25vw, 19px);
 --fs-label: clamp(10px, 0.8vw, 12px);

 --space-1: 8px;
 --space-2: 16px;
 --space-3: 24px;
 --space-4: 32px;
 --space-6: 48px;
 --space-8: 64px;
 --space-12: 96px;
 --space-16: 128px;

 --gutter: clamp(20px, 4vw, 64px);
 --max-content: 1400px;
 }

 *, *::before, *::after { box-sizing: border-box; }
 html, body { margin: 0; padding: 0; }
 body {
 font-family: var(--font-body);
 font-weight: 400;
 font-size: var(--fs-body);
 line-height: 1.55;
 background: var(--bg-deep);
 color: var(--fg-primary);
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-rendering: optimizeLegibility;
 }
 img, video { max-width: 100%; display: block; }
 a { color: inherit; }
 h1, h2, h3, h4, p, ul { margin: 0; padding: 0; }
 ul { list-style: none; }

 /* SR-only snapshot for crawlers */
 .snapshot {
 position: absolute;
 width: 1px; height: 1px;
 padding: 0; margin: -1px; overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap; border: 0;
 }

 .dot { color: var(--accent-warm); }

 /* ========== NAV ========== */
 .nav {
 position: fixed; top: 0; left: 0; right: 0; z-index: 50;
 padding: var(--space-3) var(--gutter);
 display: flex; align-items: center; justify-content: space-between;
 mix-blend-mode: difference;
 color: var(--fg-primary);
 pointer-events: none;
 }
 .nav > * { pointer-events: auto; }
 .nav-brand {
 font-family: var(--font-wordmark);
 font-weight: 600;
 font-size: 20px;
 letter-spacing: -0.01em;
 text-transform: uppercase;
 text-decoration: none;
 color: inherit;
 }
 .nav-brand .dot { color: var(--accent-warm); }
 .nav-links {
 display: flex;
 gap: var(--space-4);
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 }
 .nav-links a {
 color: inherit; text-decoration: none; opacity: 0.85;
 transition: opacity .25s ease, color .25s ease;
 }
 .nav-links a:hover { opacity: 1; color: var(--accent-cool); }
 .nav-links a.is-active { color: var(--accent-cool); opacity: 1; }
 .nav-toggle {
 display: none;
 position: relative;
 z-index: 45;
 width: 30px; height: 22px;
 padding: 0; margin: 0;
 background: none; border: 0; cursor: pointer;
 color: inherit;
 }
 .nav-toggle span {
 position: absolute; left: 3px; right: 3px; height: 2px;
 background: currentColor; border-radius: 2px;
 transition: transform .3s ease-out, opacity .2s ease-out;
 }
 .nav-toggle span:nth-child(1) { top: 6px; }
 .nav-toggle span:nth-child(2) { bottom: 6px; }
 .nav--open .nav-toggle span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
 .nav--open .nav-toggle span:nth-child(2) { transform: translateY(-5px) rotate(-45deg); }

 @media (max-width: 768px) {
 .nav-brand { position: relative; z-index: 45; }
 .nav-toggle { display: block; }
 .nav--open { mix-blend-mode: normal; }
 .nav-links {
 position: fixed;
 inset: 0;
 z-index: 40;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: var(--space-6);
 background: var(--bg-deep);
 font-size: 16px;
 letter-spacing: 0.34em;
 transform: translateY(-100%);
 opacity: 0;
 pointer-events: none;
 transition: transform .45s cubic-bezier(.32,.72,0,1), opacity .3s ease-out;
 }
 .nav-links--open {
 transform: translateY(0);
 opacity: 1;
 pointer-events: auto;
 }
 .nav-links a { opacity: 1; padding: var(--space-2); }
 }

 /* ========== HERO ========== */
 .hero {
 position: relative;
 height: 100vh;
 min-height: 640px;
 width: 100%;
 overflow: hidden;
 background: var(--bg-deep);
 }
 .hero-video {
 position: absolute; inset: 0;
 width: 100%; height: 100%;
 object-fit: cover;
 z-index: 0;
 }
 .hero-gradient {
 position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(180deg,
 rgba(46,31,15,0.45) 0%,
 rgba(46,31,15,0.08) 38%,
 rgba(46,31,15,0.20) 60%,
 rgba(46,31,15,0.85) 100%);
 pointer-events: none;
 }
 .hero-overlay {
 position: relative; z-index: 2;
 height: 100%;
 padding: calc(var(--space-8) + 18px) var(--gutter) var(--space-6);
 display: flex; flex-direction: column;
 justify-content: space-between;
 color: var(--fg-primary);
 }
 .hero-strip-top {
 display: flex; justify-content: space-between;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 opacity: 0.78;
 }
 @media (max-width: 560px) {
 .hero-strip-top { flex-direction: column; gap: 6px; font-size: 10px; }
 }
 .hero-center { text-align: center; }
 .hero-wordmark {
 font-family: var(--font-wordmark);
 font-weight: 600;
 font-size: var(--fs-hero);
 line-height: 0.86;
 letter-spacing: -0.02em;
 text-transform: uppercase;
 margin: 0;
 }
 .hero-wordmark-sub {
 display: block;
 font-size: 0.32em;
 letter-spacing: 0.34em;
 opacity: 0.92;
 margin-top: 0.12em;
 padding-left: 0.34em; /* compensa o tracking p/ manter centralizado */
 }
 .hero-tagline-italic {
 font-family: var(--font-display);
 font-style: italic;
 font-weight: 300;
 font-size: var(--fs-display-md);
 margin-top: var(--space-2);
 color: var(--accent-soft);
 }
 .hero-tagline-tech {
 font-family: var(--font-label);
 font-size: 12px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-soft);
 opacity: 0.7;
 margin-top: var(--space-3);
 }
 .hero-scroll-hint {
 display: flex; flex-direction: column;
 align-items: center; gap: 10px;
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 opacity: 0.65;
 }
 .hero-scroll-line {
 width: 1px; height: 32px;
 background: currentColor;
 transform-origin: top center;
 animation: pulse-line 1.8s ease-in-out infinite;
 }
 @keyframes pulse-line {
 0%, 100% { transform: scaleY(0.3); opacity: 0.25; }
 50% { transform: scaleY(1); opacity: 1; }
 }

 /* ========== LAB ========== */
 .lab {
 min-height: 100vh;
 background: var(--bg-deep);
 padding: var(--space-16) var(--gutter) var(--space-12);
 color: var(--fg-primary);
 position: relative;
 }
 .lab-header {
 text-align: center;
 margin: 0 auto var(--space-12);
 max-width: 980px;
 }
 .lab-label {
 display: block;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 margin-bottom: var(--space-3);
 opacity: 0.85;
 }
 .lab-headline {
 font-family: var(--font-display);
 font-style: italic;
 font-weight: 300;
 font-size: var(--fs-display-lg);
 line-height: 1.08;
 letter-spacing: -0.01em;
 text-wrap: balance;
 }
 .lab-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: var(--space-4);
 max-width: var(--max-content);
 margin: 0 auto;
 }
 .lab-card {
 display: block;
 text-decoration: none;
 color: inherit;
 overflow: hidden;
 background: var(--muted);
 transition: transform .5s cubic-bezier(.2,.7,.2,1);
 will-change: transform;
 }
 .lab-card:hover { transform: translateY(-8px); }
 .lab-card-media-wrap {
 position: relative;
 overflow: hidden;
 aspect-ratio: 4/5;
 }
 .lab-card-media {
 width: 100%; height: 100%;
 object-fit: cover;
 object-position: center;
 transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s ease;
 filter: saturate(0.95);
 }
 .lab-card-media--everest { object-position: 28% center; }
 .lab-card:hover .lab-card-media {
 transform: scale(1.04);
 filter: saturate(1.05);
 }
 .lab-card-index {
 position: absolute;
 top: var(--space-2); left: var(--space-2);
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 color: var(--accent-soft);
 opacity: 0.85;
 mix-blend-mode: difference;
 }
 .lab-card-meta { padding: var(--space-3); }
 .lab-card-category {
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.85;
 }
 .lab-card-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 margin: var(--space-1) 0 var(--space-2);
 letter-spacing: -0.01em;
 }
 .lab-card-cta {
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-warm);
 opacity: 0;
 transform: translateX(-4px);
 transition: opacity .3s ease, transform .3s ease;
 display: inline-block;
 }
 .lab-card:hover .lab-card-cta {
 opacity: 1;
 transform: translateX(0);
 }
 @media (max-width: 900px) {
 .lab-grid { grid-template-columns: 1fr 1fr; }
 }
 @media (max-width: 640px) {
 .lab { padding-top: var(--space-12); }
 .lab-grid { grid-template-columns: 1fr; gap: var(--space-3); }
 }

 /* ========== CTA ========== */
 .cta {
 min-height: 100vh;
 background:
 radial-gradient(ellipse at center,
 rgba(139,58,42,0.18) 0%,
 rgba(46,31,15,0) 55%),
 var(--bg-deep);
 display: flex; align-items: center; justify-content: center;
 padding: var(--space-12) var(--gutter);
 color: var(--fg-primary);
 }
 .cta-inner { text-align: center; max-width: 900px; }
 .cta-eyebrow {
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 margin-bottom: var(--space-4);
 opacity: 0.85;
 }
 .cta-headline {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-xl);
 line-height: 1.04;
 letter-spacing: -0.02em;
 text-wrap: balance;
 }
 .cta-headline em {
 font-style: italic;
 color: var(--accent-warm);
 }
 .cta-sub {
 font-family: var(--font-label);
 font-size: 12px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 margin: var(--space-6) 0 var(--space-8);
 opacity: 0.65;
 line-height: 1.9;
 }
 .cta-button {
 display: inline-block;
 font-family: var(--font-label);
 font-size: 12px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 padding: var(--space-3) var(--space-6);
 border: 1px solid var(--accent-cool);
 color: var(--fg-primary);
 text-decoration: none;
 transition: background .3s ease, border-color .3s ease, color .3s ease;
 }
 .cta-button:hover {
 background: var(--accent-warm);
 border-color: var(--accent-warm);
 color: var(--fg-primary);
 }
 .cta-secondary {
 display: block;
 margin-top: var(--space-6);
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.65;
 text-decoration: none;
 transition: opacity .25s ease;
 }
 .cta-secondary:hover { opacity: 1; }

 /* ========== FOOTER (sub-pages only) ========== */
 .footer {
 background: var(--bg-deep);
 color: var(--fg-primary);
 padding: var(--space-12) var(--gutter) var(--space-6);
 border-top: 1px solid rgba(201,169,110,0.18);
 }
 .footer-grid {
 max-width: var(--max-content);
 margin: 0 auto;
 display: grid;
 grid-template-columns: 1.4fr 1fr 1fr;
 gap: var(--space-8);
 }
 .footer-brand {
 font-family: var(--font-wordmark);
 font-weight: 600;
 font-size: clamp(40px, 5vw, 72px);
 line-height: 0.9;
 text-transform: uppercase;
 letter-spacing: -0.02em;
 }
 .footer-brand-sub {
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.75;
 margin-top: var(--space-2);
 }
 .footer h4 {
 font-family: var(--font-label);
 font-weight: 400;
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 margin-bottom: var(--space-3);
 opacity: 0.85;
 }
 .footer ul { display: flex; flex-direction: column; gap: 10px; }
 .footer li, .footer a {
 font-family: var(--font-body);
 font-size: 14px;
 color: var(--fg-primary);
 text-decoration: none;
 opacity: 0.85;
 transition: opacity .25s ease, color .25s ease;
 }
 .footer a:hover { color: var(--accent-cool); opacity: 1; }
 .footer-meta {
 max-width: var(--max-content);
 margin: var(--space-12) auto 0;
 padding-top: var(--space-4);
 border-top: 1px solid rgba(201,169,110,0.12);
 display: flex; justify-content: space-between;
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.65;
 }
 @media (max-width: 720px) {
 .footer-grid { grid-template-columns: 1fr; gap: var(--space-6); }
 .footer-meta { flex-direction: column; gap: 8px; }
 }

 /* ========== PAGE PLACEHOLDER ========== */
 .page-placeholder {
 min-height: calc(100vh - 320px);
 background: var(--bg-deep);
 color: var(--fg-primary);
 display: flex;
 align-items: center;
 justify-content: center;
 padding: var(--space-16) var(--gutter) var(--space-12);
 }
 .page-placeholder-inner {
 max-width: 720px;
 text-align: center;
 }
 .page-label {
 display: block;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 margin-bottom: var(--space-3);
 opacity: 0.85;
 }
 .page-placeholder-inner h1 {
 font-family: var(--font-display);
 font-style: italic;
 font-weight: 300;
 font-size: var(--fs-display-lg);
 letter-spacing: -0.01em;
 line-height: 1.05;
 }
 .page-placeholder-inner p {
 margin-top: var(--space-6);
 font-family: var(--font-body);
 font-size: var(--fs-body-lg);
 color: var(--accent-soft);
 line-height: 1.6;
 }
 .page-placeholder-inner a {
 color: var(--accent-warm);
 text-decoration: none;
 border-bottom: 1px solid rgba(139,58,42,0.4);
 padding-bottom: 2px;
 }
 .page-placeholder-inner a:hover { color: var(--accent-cool); border-bottom-color: var(--accent-cool); }

 /* Study detail (placeholder with hero image) */
 .study {
 background: var(--bg-deep);
 color: var(--fg-primary);
 padding-top: 96px;
 }
 .study-hero {
 position: relative;
 width: 100%;
 aspect-ratio: 16/9;
 overflow: hidden;
 background: var(--muted);
 }
 .study-hero img {
 width: 100%; height: 100%;
 object-fit: cover;
 }
 .study-meta {
 max-width: var(--max-content);
 margin: 0 auto;
 padding: var(--space-12) var(--gutter);
 }
 .study-cat {
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 margin-bottom: var(--space-3);
 }
 .study-title {
 font-family: var(--font-display);
 font-style: italic;
 font-weight: 300;
 font-size: var(--fs-display-xl);
 line-height: 1.02;
 letter-spacing: -0.02em;
 margin-bottom: var(--space-6);
 }
 .study-back {
 display: inline-block;
 margin-top: var(--space-8);
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-warm);
 text-decoration: none;
 }

 /* ============================================================
 ABOUT PAGE, /about
 ============================================================ */

 /* Placeholder image, gradient warm + label */
 .placeholder-image {
 width: 100%;
 background: linear-gradient(
 135deg,
 var(--muted) 0%,
 rgba(139, 58, 42, 0.4) 40%,
 rgba(201, 184, 163, 0.3) 70%,
 var(--muted) 100%
 );
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 overflow: hidden;
 }
 .placeholder-image::before {
 content: '';
 position: absolute;
 inset: 0;
 background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.12 0 0 0 0 0.06 0 0 0 0.15 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
 opacity: 0.15;
 mix-blend-mode: overlay;
 pointer-events: none;
 }
 .placeholder-label {
 position: relative;
 z-index: 2;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--fg-primary);
 opacity: 0.4;
 text-align: center;
 padding: 0 var(--space-3);
 }

 /* Shared about-label + section-title */
 .about-label {
 display: block;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.75;
 margin-bottom: var(--space-3);
 }
 .about-section-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-lg);
 line-height: 1.08;
 letter-spacing: -0.01em;
 margin: 0;
 text-wrap: balance;
 }
 .about-section-title em { font-style: italic; color: var(--accent-warm); }
 .about-section-title .dot { color: var(--accent-warm); }

 /* Section 1, Hero manifesto */
 .about-hero {
 position: relative;
 min-height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-16);
 background: var(--bg-deep);
 overflow: hidden;
 isolation: isolate;
 }
 .about-hero-bg { position: absolute; inset: 0; z-index: -2; }
 .about-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
 .about-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46,31,15,.60) 0%, rgba(46,31,15,.08) 20%, rgba(46,31,15,.16) 55%, rgba(46,31,15,.88) 100%), radial-gradient(ellipse at 50% 45%, rgba(46,31,15,.03) 0%, rgba(46,31,15,.24) 70%, rgba(46,31,15,.52) 100%); }
 .about-hero .about-manifesto, .about-hero .about-sub, .about-hero .about-signature { text-shadow: 0 1px 2px rgba(46,31,15,.92), 0 2px 38px rgba(46,31,15,.85); }
 .about-hero-inner {
 width: 100%;
 max-width: 900px;
 text-align: center;
 }
 .about-hero .about-label { margin-bottom: var(--space-6); opacity: 0.7; }
 .about-manifesto {
 font-family: var(--font-display);
 font-weight: 300;
 font-style: italic;
 font-size: var(--fs-display-xl);
 line-height: 1.05;
 letter-spacing: -0.02em;
 margin: 0;
 text-wrap: balance;
 }
 .about-manifesto .dot { color: var(--accent-warm); }
 .about-sub {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 line-height: 1.6;
 margin-top: var(--space-6);
 opacity: 0.88;
 text-wrap: pretty;
 }
 .about-sub em { color: var(--accent-warm); font-style: italic; }
 .about-signature {
 display: block;
 margin-top: var(--space-8);
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 opacity: 0.5;
 color: var(--accent-cool);
 }

 /* Section 1.5, The Studio (origin) */
 .about-studio {
 padding: var(--space-8) var(--gutter) var(--space-8);
 }
 .about-studio-inner {
 max-width: 820px;
 margin: 0 auto;
 text-align: center;
 }
 .about-studio-body {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 line-height: 1.5;
 margin-top: var(--space-4);
 opacity: 0.9;
 text-wrap: pretty;
 }

 /* Section 2, Founders diptych */
 .about-founders {
 padding: var(--space-16) var(--gutter);
 max-width: var(--max-content);
 margin: 0 auto;
 }
 .about-founders-header {
 text-align: center;
 margin-bottom: var(--space-12);
 }
 .about-founders-diptych {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: var(--space-8);
 }
 .founder-card {
 display: flex;
 flex-direction: column;
 gap: var(--space-4);
 }
 .founder-card .placeholder-image { aspect-ratio: 4/5; }
 .founder-portrait {
 width: 100%;
 aspect-ratio: 4/5;
 object-fit: cover;
 display: block;
 background: var(--muted);
 filter: saturate(0.95) contrast(1.02);
 }
 .founder-portrait--diogo { object-position: 38% 32%; }
 .founder-portrait--maria { object-position: center 25%; }
 .founder-meta { padding: 0 var(--space-2); }
 .founder-name {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 margin: 0;
 }
 .founder-role {
 display: block;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.85;
 margin-top: var(--space-1);
 }
 .founder-bio {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.55;
 margin-top: var(--space-3);
 max-width: 50ch;
 opacity: 0.92;
 color: var(--fg-primary);
 text-wrap: pretty;
 }
 .founder-keywords {
 display: flex;
 flex-wrap: wrap;
 gap: var(--space-2);
 margin-top: var(--space-4);
 }
 .founder-keywords span {
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-soft);
 padding: 6px 12px;
 border: 1px solid var(--muted);
 opacity: 0.85;
 white-space: nowrap;
 }

 /* Section 3, Sentimagem method */
 .about-method {
 padding: var(--space-16) var(--gutter);
 max-width: var(--max-content);
 margin: 0 auto;
 }
 .about-method-header {
 text-align: center;
 margin: 0 auto var(--space-12);
 max-width: 720px;
 }
 .about-method-intro {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.6;
 margin-top: var(--space-4);
 opacity: 0.82;
 text-wrap: pretty;
 }
 .about-pillars {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: var(--space-6);
 }
 .pillar {
 display: flex;
 flex-direction: column;
 gap: var(--space-3);
 }
 .pillar .placeholder-image { aspect-ratio: 4/5; }
 .pillar-img {
 width: 100%;
 aspect-ratio: 4/5;
 object-fit: cover;
 display: block;
 background: var(--muted);
 filter: saturate(0.96);
 }
 .pillar-meta { padding: var(--space-2) var(--space-2) 0; }
 .pillar-num {
 font-family: var(--font-label);
 font-size: 13px;
 letter-spacing: 0.32em;
 color: var(--accent-warm);
 display: block;
 margin-bottom: var(--space-2);
 }
 .pillar-name {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: 0.04em;
 text-transform: uppercase;
 margin: 0;
 }
 .pillar-body {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.6;
 margin-top: var(--space-2);
 opacity: 0.88;
 max-width: 35ch;
 text-wrap: pretty;
 }

 /* Section 4, Council */
 .about-council {
 padding: var(--space-16) var(--gutter);
 background: linear-gradient(
 180deg,
 var(--bg-deep) 0%,
 rgba(74, 48, 32, 0.45) 50%,
 var(--bg-deep) 100%
 );
 }
 .about-council-inner {
 max-width: 820px;
 margin: 0 auto;
 text-align: center;
 }
 .about-council-line {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-lg);
 line-height: 1.18;
 letter-spacing: -0.01em;
 margin: var(--space-4) 0 0;
 text-wrap: balance;
 }
 .about-council-line em { font-style: italic; color: var(--accent-warm); }
 .about-council-line .dot { color: var(--accent-warm); }
 .about-council-sub {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.6;
 margin: var(--space-6) auto 0;
 opacity: 0.82;
 max-width: 55ch;
 text-wrap: pretty;
 }

 /* Section 5, About CTA */
 .about-cta {
 min-height: 60vh;
 background: radial-gradient(
 ellipse at center,
 rgba(139, 58, 42, 0.15) 0%,
 var(--bg-deep) 60%
 );
 display: flex;
 align-items: center;
 justify-content: center;
 padding: var(--space-12) var(--gutter);
 }
 .about-cta-inner { text-align: center; max-width: 800px; }
 .about-cta-headline {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-xl);
 line-height: 1.05;
 letter-spacing: -0.02em;
 margin: 0;
 text-wrap: balance;
 }
 .about-cta-headline em { font-style: italic; color: var(--accent-warm); }
 .about-cta-headline .dot { color: var(--accent-warm); }
 .about-cta-sub {
 font-family: var(--font-label);
 font-size: 12px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 margin: var(--space-6) 0 var(--space-8);
 opacity: 0.6;
 }

 @media (max-width: 768px) {
 .about-founders-diptych { grid-template-columns: 1fr; gap: var(--space-12); }
 .about-pillars { grid-template-columns: 1fr; gap: var(--space-8); }
 .about-manifesto { font-size: var(--fs-display-lg); }
 .about-hero { padding-top: calc(var(--space-12) + var(--space-4)); padding-bottom: var(--space-12); }
 .about-founders, .about-method, .about-council { padding-top: var(--space-12); padding-bottom: var(--space-12); }
 }

 /* ============================================================
 STUDIO PAGE, /studio
 ============================================================ */

 /* Section 1, Hero */
 .studio-hero {
 position: relative;
 min-height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-16);
 background: var(--bg-deep);
 overflow: hidden;
 isolation: isolate;
 }
 .studio-hero-bg {
 position: absolute;
 inset: 0;
 z-index: -2;
 }
 .studio-hero-bg img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center;
 display: block;
 /* tune the image toward the brand palette */
 filter: saturate(0.92) contrast(1.02);
 }
 .studio-hero-bg::after {
 content: '';
 position: absolute;
 inset: 0;
 background:
 radial-gradient(ellipse at center, rgba(46,31,15,0.10) 0%, rgba(46,31,15,0.55) 55%, rgba(46,31,15,0.92) 100%),
 linear-gradient(180deg, rgba(46,31,15,0.55) 0%, rgba(46,31,15,0.10) 35%, rgba(46,31,15,0.10) 65%, rgba(46,31,15,0.85) 100%);
 }
 .studio-hero-inner {
 position: relative;
 z-index: 1;
 width: 100%;
 max-width: 900px;
 text-align: center;
 }
 .studio-label {
 display: block;
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.75;
 margin-bottom: var(--space-6);
 }
 .studio-hero-headline {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-xl);
 line-height: 1.05;
 letter-spacing: -0.02em;
 margin: 0;
 text-wrap: balance;
 }
 .studio-hero-headline { color: var(--fg-primary); text-shadow: 0 2px 24px rgba(46,31,15,0.55); }
 .studio-hero-headline em { font-style: italic; color: var(--accent-soft); text-shadow: 0 2px 24px rgba(46,31,15,0.65); }
 .studio-hero-headline .dot { color: var(--accent-warm); }
 .studio-hero-sub { text-shadow: 0 2px 18px rgba(46,31,15,0.55); }
 .studio-hero-sub {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 line-height: 1.5;
 margin: var(--space-6) auto 0;
 opacity: 0.88;
 max-width: 60ch;
 text-wrap: pretty;
 }
 .studio-hero-meta {
 display: flex;
 justify-content: center;
 gap: var(--space-2);
 margin-top: var(--space-8);
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 opacity: 0.55;
 color: var(--accent-cool);
 }

 /* Shared studio section title */
 .studio-section-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-lg);
 line-height: 1.1;
 letter-spacing: -0.01em;
 margin: var(--space-3) 0 0;
 text-wrap: balance;
 }
 .studio-section-title .dot { color: var(--accent-warm); }
 .studio-section-intro {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.6;
 margin: var(--space-4) auto 0;
 opacity: 0.82;
 max-width: 56ch;
 text-wrap: pretty;
 }

 /* Section 1.5, How it works */
 .studio-how {
 padding: var(--space-8) var(--gutter) var(--space-12);
 max-width: var(--max-content);
 margin: 0 auto;
 }
 .studio-how-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: var(--space-6);
 }
 .studio-how-step {
 border-top: 1px solid var(--accent-warm);
 padding-top: var(--space-3);
 }
 .studio-how-num {
 font-family: var(--font-label);
 font-size: 13px;
 letter-spacing: 0.32em;
 color: var(--accent-warm);
 display: block;
 margin-bottom: var(--space-2);
 }
 .studio-how-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 margin: 0;
 }
 .studio-how-body {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.6;
 margin-top: var(--space-2);
 opacity: 0.85;
 text-wrap: pretty;
 }
 @media (max-width: 768px) {
 .studio-how-grid { grid-template-columns: 1fr; gap: var(--space-4); }
 }

 /* Section 2.5, Investment */
 .studio-invest {
 padding: var(--space-8) var(--gutter) var(--space-12);
 max-width: var(--max-content);
 margin: 0 auto;
 }
 .studio-invest-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: var(--space-6);
 }
 .studio-invest-item { border-top: 1px solid var(--muted); padding-top: var(--space-3); }
 .studio-invest-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 margin: 0;
 }
 .studio-invest-body {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.6;
 margin-top: var(--space-2);
 opacity: 0.85;
 text-wrap: pretty;
 }
 .studio-invest-note {
 text-align: center;
 max-width: 640px;
 margin: var(--space-8) auto 0;
 font-family: var(--font-display);
 font-style: italic;
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.5;
 opacity: 0.85;
 }
 .studio-invest-note a { color: var(--accent-warm); text-decoration: none; border-bottom: 1px solid rgba(139,58,42,0.4); }
 .studio-invest-note a:hover { color: var(--accent-cool); border-bottom-color: var(--accent-cool); }
 @media (max-width: 768px) {
 .studio-invest-grid { grid-template-columns: 1fr; gap: var(--space-4); }
 }

 /* Section 2, Services */
 .studio-services {
 padding: var(--space-16) var(--gutter);
 max-width: var(--max-content);
 margin: 0 auto;
 }
 .studio-services-header {
 text-align: center;
 margin: 0 auto var(--space-12);
 max-width: 720px;
 }
 .studio-services-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: var(--space-6);
 }
 .service {
 padding: var(--space-6);
 border-top: 1px solid var(--muted);
 display: flex;
 flex-direction: column;
 gap: var(--space-2);
 position: relative;
 }
 .service-featured {
 background: rgba(139, 58, 42, 0.06);
 border-top-color: var(--accent-warm);
 }
 .service-badge {
 position: absolute;
 top: var(--space-3);
 right: var(--space-3);
 font-family: var(--font-label);
 font-size: 9px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-warm);
 padding: 4px 10px;
 border: 1px solid var(--accent-warm);
 }
 .service-num {
 font-family: var(--font-label);
 font-size: 13px;
 letter-spacing: 0.32em;
 color: var(--accent-warm);
 margin-bottom: var(--space-1);
 }
 .service-name {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 margin: 0;
 }
 .service-body {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.6;
 margin-top: var(--space-2);
 opacity: 0.88;
 text-wrap: pretty;
 }
 .service-tags {
 display: flex;
 flex-wrap: wrap;
 gap: var(--space-1);
 margin-top: var(--space-3);
 }
 .service-tags span {
 font-family: var(--font-label);
 font-size: 9px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-soft);
 opacity: 0.7;
 padding: 4px 8px;
 border: 1px solid var(--muted);
 white-space: nowrap;
 }
 .studio-services-disclaimer {
 text-align: center;
 margin: var(--space-12) auto 0;
 padding-top: var(--space-8);
 border-top: 1px solid var(--muted);
 max-width: 720px;
 }
 .studio-services-disclaimer p {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.55;
 opacity: 0.78;
 text-wrap: pretty;
 }
 .studio-services-disclaimer em { font-style: italic; color: var(--accent-warm); }

 /* Section 3, FAQ */
 .studio-faq {
 padding: var(--space-16) var(--gutter);
 max-width: 900px;
 margin: 0 auto;
 }
 .studio-faq-header {
 text-align: center;
 margin-bottom: var(--space-12);
 }
 .studio-faq-list {
 display: flex;
 flex-direction: column;
 }
 .faq-item {
 border-top: 1px solid var(--muted);
 padding: var(--space-2) 0;
 }
 .faq-item:last-child { border-bottom: 1px solid var(--muted); }
 .faq-question {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 cursor: pointer;
 list-style: none;
 display: flex;
 align-items: baseline;
 gap: var(--space-3);
 padding: var(--space-3) 0;
 transition: color 0.3s ease;
 }
 .faq-question::-webkit-details-marker { display: none; }
 .faq-question::marker { content: ''; }
 .faq-question::after {
 content: '+';
 margin-left: auto;
 font-family: var(--font-label);
 font-size: 24px;
 color: var(--accent-cool);
 transition: transform 0.3s ease;
 line-height: 1;
 }
 .faq-item[open] .faq-question::after { content: '−'; color: var(--accent-warm); }
 .faq-item[open] .faq-question { color: var(--accent-soft); }
 .faq-q-num {
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 color: var(--accent-warm);
 flex-shrink: 0;
 min-width: 32px;
 }
 .faq-answer {
 padding: var(--space-2) 0 var(--space-4);
 padding-left: 60px;
 }
 .faq-answer p {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.65;
 opacity: 0.88;
 max-width: 60ch;
 text-wrap: pretty;
 }
 .faq-answer p + p { margin-top: var(--space-2); }
 .faq-cta {
 margin-top: var(--space-3) !important;
 font-family: var(--font-label) !important;
 font-size: 11px !important;
 letter-spacing: 0.32em !important;
 text-transform: uppercase !important;
 opacity: 1 !important;
 }
 .faq-cta a { color: var(--accent-warm); text-decoration: none; border-bottom: 1px solid rgba(139,58,42,0.4); }
 .faq-cta a:hover { color: var(--accent-cool); border-bottom-color: var(--accent-cool); }

 /* Section 4, Studio CTA */
 .studio-cta {
 min-height: 70vh;
 background: radial-gradient(
 ellipse at center,
 rgba(139, 58, 42, 0.15) 0%,
 var(--bg-deep) 60%
 );
 display: flex;
 align-items: center;
 justify-content: center;
 padding: var(--space-12) var(--gutter);
 }
 .studio-cta-inner { width: 100%; text-align: center; max-width: 800px; }
 .studio-cta-headline {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-xl);
 line-height: 1.05;
 letter-spacing: -0.02em;
 margin: 0;
 text-wrap: balance;
 }
 .studio-cta-headline em { font-style: italic; color: var(--accent-warm); }
 .studio-cta-headline .dot { color: var(--accent-warm); }
 .studio-cta-sub {
 font-family: var(--font-label);
 font-size: 12px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 margin: var(--space-6) 0 var(--space-8);
 opacity: 0.6;
 }

 @media (max-width: 768px) {
 .studio-services-grid { grid-template-columns: 1fr; gap: var(--space-4); }
 .studio-hero-headline { font-size: var(--fs-display-lg); }
 .studio-hero { padding-top: calc(var(--space-12) + var(--space-4)); padding-bottom: var(--space-12); }
 .studio-services, .studio-faq { padding-top: var(--space-12); padding-bottom: var(--space-12); }
 .faq-answer { padding-left: 0; }
 .studio-hero-meta { flex-wrap: wrap; }
 }

 /* ============================================================
 LAB PAGE, /laboratorio
 ============================================================ */
 .labpage {
 background: var(--bg-deep);
 color: var(--fg-primary);
 }
 .labpage-hero {
 position: relative;
 min-height: 62vh;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-12);
 overflow: hidden;
 isolation: isolate;
 }
 .labpage-hero-bg { position: absolute; inset: 0; z-index: -2; }
 .labpage-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
 .labpage-hero-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 46% 46%, rgba(46,31,15,.26) 0%, rgba(46,31,15,.54) 60%, rgba(46,31,15,.86) 100%), linear-gradient(180deg, rgba(46,31,15,.72) 0%, rgba(46,31,15,.10) 24%, rgba(46,31,15,.30) 64%, rgba(46,31,15,.93) 100%); }
 .labpage-hero .labpage-header { position: relative; z-index: 1; margin-bottom: 0; }
 .labpage-hero .lab-headline, .labpage-hero .labpage-intro { text-shadow: 0 2px 28px rgba(46,31,15,.7); }
 .labpage-header {
 text-align: center;
 max-width: 900px;
 margin: 0 auto var(--space-12);
 }
 .labpage-intro {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.6;
 margin: var(--space-4) auto 0;
 max-width: 58ch;
 opacity: 0.82;
 text-wrap: pretty;
 }
 .labpage-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: var(--space-4);
 max-width: var(--max-content);
 margin: 0 auto;
 padding: var(--space-12) var(--gutter) var(--space-16);
 }
 .labpage-card-blurb {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.55;
 margin-top: var(--space-1);
 opacity: 0.78;
 max-width: 38ch;
 text-wrap: pretty;
 }
 @media (max-width: 900px) { .labpage-grid { grid-template-columns: 1fr 1fr; } }
 @media (max-width: 640px) {
 .labpage-hero { padding-top: calc(var(--space-12) + var(--space-4)); min-height: 52vh; }
 .labpage-grid { grid-template-columns: 1fr; gap: var(--space-3); }
 }

 /* ============================================================
 CONTACT PAGE, /contato
 ============================================================ */
 .contact {
 background: var(--bg-deep);
 color: var(--fg-primary);
 }
 .contact-hero {
 position: relative;
 padding: calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-8);
 text-align: center;
 overflow: hidden;
 isolation: isolate;
 }
 .contact-hero-bg { position: absolute; inset: 0; z-index: -2; }
 .contact-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
 .contact-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46,31,15,.60) 0%, rgba(46,31,15,.08) 20%, rgba(46,31,15,.16) 55%, rgba(46,31,15,.88) 100%), radial-gradient(ellipse at 50% 45%, rgba(46,31,15,.03) 0%, rgba(46,31,15,.24) 70%, rgba(46,31,15,.52) 100%); }
 .contact-hero .contact-headline, .contact-hero .contact-sub { text-shadow: 0 1px 2px rgba(46,31,15,.92), 0 2px 38px rgba(46,31,15,.85); }
 .contact-headline {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-xl);
 line-height: 1.05;
 letter-spacing: -0.02em;
 margin: var(--space-3) 0 0;
 text-wrap: balance;
 }
 .contact-headline em { font-style: italic; color: var(--accent-warm); }
 .contact-headline .dot { color: var(--accent-warm); }
 .contact-sub {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 line-height: 1.5;
 margin: var(--space-6) auto 0;
 opacity: 0.86;
 max-width: 52ch;
 text-wrap: pretty;
 }
 .contact-body {
 max-width: var(--max-content);
 margin: 0 auto;
 padding: var(--space-8) var(--gutter) var(--space-16);
 display: grid;
 grid-template-columns: 1.2fr 0.8fr;
 gap: var(--space-12);
 align-items: start;
 }
 .contact-form { display: flex; flex-direction: column; gap: var(--space-4); }
 .field { display: flex; flex-direction: column; gap: var(--space-2); }
 .field label {
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.85;
 }
 .field input, .field textarea {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 color: var(--fg-primary);
 background: transparent;
 border: 1px solid var(--muted);
 padding: var(--space-3);
 transition: border-color .25s ease-out, background .25s ease-out;
 }
 .field input:focus, .field textarea:focus {
 outline: none;
 border-color: var(--accent-cool);
 background: rgba(201,169,110,0.05);
 }
 .field textarea { resize: vertical; min-height: 150px; }
 .contact-submit {
 align-self: flex-start;
 font-family: var(--font-label);
 font-size: 12px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 padding: var(--space-3) var(--space-6);
 border: 1px solid var(--accent-cool);
 background: transparent;
 color: var(--fg-primary);
 cursor: pointer;
 transition: background .3s ease-out, border-color .3s ease-out, transform .16s ease-out;
 }
 .contact-submit:hover { background: var(--accent-warm); border-color: var(--accent-warm); }
 .contact-submit:active { transform: scale(0.97); }
 .contact-submit[disabled] { opacity: 0.45; cursor: default; }
 .contact-status {
 font-family: var(--font-body);
 font-size: var(--fs-body);
 margin-top: var(--space-1);
 text-wrap: pretty;
 }
 .contact-status--ok { color: var(--accent-cool); }
 .contact-status--err { color: var(--accent-warm); }
 .contact-status--err a { color: var(--accent-warm); }
 .contact-aside { display: flex; flex-direction: column; gap: var(--space-8); }
 .contact-block h4 {
 font-family: var(--font-label);
 font-size: 11px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.85;
 margin-bottom: var(--space-3);
 }
 .contact-block p, .contact-block li {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 line-height: 1.6;
 opacity: 0.9;
 }
 .contact-block ul { display: flex; flex-direction: column; gap: var(--space-2); }
 .contact-block a {
 color: var(--fg-primary);
 text-decoration: none;
 border-bottom: 1px solid rgba(201,169,110,0.3);
 transition: color .25s ease-out, border-color .25s ease-out;
 }
 .contact-block a:hover { color: var(--accent-cool); border-bottom-color: var(--accent-cool); }
 .contact-note {
 font-family: var(--font-display) !important;
 font-style: italic;
 opacity: 0.8 !important;
 margin-top: var(--space-2);
 }
 @media (max-width: 860px) {
 .contact-body { grid-template-columns: 1fr; gap: var(--space-12); }
 .contact-headline { font-size: var(--fs-display-lg); }
 .contact-hero { padding-top: calc(var(--space-12) + var(--space-4)); }
 }

 /* ============================================================
 STUDY DETAIL, video + storyboard gallery
 ============================================================ */
 .study-video {
 position: relative;
 width: 100%;
 max-width: var(--max-content);
 margin: 0 auto;
 aspect-ratio: 16 / 9;
 background: #000;
 }
 .study-video iframe,
 .study-video video {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 border: 0;
 object-fit: contain;
 background: #000;
 }
 .study-video-native {
 display: flex;
 justify-content: center;
 background: #000;
 padding: var(--space-6) var(--gutter);
 }
 .study-video-native video {
 width: auto;
 max-width: 100%;
 max-height: 82vh;
 display: block;
 }
 .study-text {
 max-width: 60ch;
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body-lg);
 color: var(--accent-soft);
 line-height: 1.6;
 text-wrap: pretty;
 }
 .study-text + .study-text { margin-top: var(--space-3); }
 .study-quote {
 max-width: 30ch;
 margin: var(--space-8) 0;
 border: 0;
 padding: 0;
 }
 .study-quote p {
 font-family: var(--font-display);
 font-weight: 300;
 font-style: italic;
 font-size: var(--fs-display-md);
 line-height: 1.25;
 letter-spacing: -0.01em;
 color: var(--fg);
 margin: 0;
 text-wrap: balance;
 }
 .study-quote cite {
 display: block;
 margin-top: var(--space-3);
 font-family: var(--font-label);
 font-size: 11px;
 font-style: normal;
 letter-spacing: 0.28em;
 text-transform: uppercase;
 color: var(--accent-warm);
 }
 .study-decisions { margin-top: var(--space-8); }
 .study-decisions > .studio-label { display: block; margin-bottom: var(--space-5); }
 .study-decision { max-width: 60ch; border-top: 1px solid var(--accent-warm); padding-top: var(--space-3); }
 .study-decision + .study-decision { margin-top: var(--space-6); }
 .study-decision-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 margin: 0;
 }
 .study-decision-body {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.6;
 color: var(--accent-soft);
 margin-top: var(--space-2);
 text-wrap: pretty;
 }
 .study-gallery {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: var(--space-4);
 margin-top: var(--space-8);
 }
 .study-gallery-item {
 margin: 0;
 overflow: hidden;
 background: var(--muted);
 }
 .study-gallery-item img {
 width: 100%;
 height: auto;
 display: block;
 transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
 }
 .study-gallery-item:hover img { transform: scale(1.03); }
 .study-gallery-item figcaption {
 font-family: var(--font-label);
 font-size: 10px;
 letter-spacing: 0.32em;
 text-transform: uppercase;
 color: var(--accent-cool);
 opacity: 0.8;
 padding: var(--space-2) 0 0;
 }
 @media (max-width: 640px) {
 .study-gallery { grid-template-columns: 1fr; gap: var(--space-3); }
 }

 /* ============================================================
 FREE TEST SCENE, /free-scene
 ============================================================ */
 .freescene-steps {
 max-width: var(--max-content);
 margin: 0 auto;
 padding: var(--space-4) var(--gutter) var(--space-8);
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: var(--space-6);
 }
 .freescene-step { border-top: 1px solid var(--muted); padding-top: var(--space-3); }
 .freescene-step-num {
 font-family: var(--font-label);
 font-size: 13px;
 letter-spacing: 0.32em;
 color: var(--accent-warm);
 display: block;
 margin-bottom: var(--space-2);
 }
 .freescene-step-title {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--fs-display-md);
 letter-spacing: -0.01em;
 margin: 0;
 }
 .freescene-step-body {
 font-family: var(--font-body);
 font-weight: 300;
 font-size: var(--fs-body);
 line-height: 1.6;
 margin-top: var(--space-2);
 opacity: 0.85;
 text-wrap: pretty;
 }
 .freescene-note {
 font-family: var(--font-label) !important;
 font-size: 11px !important;
 letter-spacing: 0.28em !important;
 text-transform: uppercase;
 color: var(--accent-warm) !important;
 opacity: 0.9 !important;
 }
 @media (max-width: 768px) {
 .freescene-steps { grid-template-columns: 1fr; gap: var(--space-4); }
 }

 /* ============================================================
    WHO WE WORK WITH — /who-we-work-with
    ============================================================ */
 .sectors-hero { position: relative; min-height: 82vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-12); background: var(--bg-deep); overflow: hidden; isolation: isolate; }
 .sectors-hero-bg { position: absolute; inset: 0; z-index: -2; }
 .sectors-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
 .sectors-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46,31,15,.60) 0%, rgba(46,31,15,.08) 20%, rgba(46,31,15,.16) 55%, rgba(46,31,15,.88) 100%), radial-gradient(ellipse at 50% 45%, rgba(46,31,15,.03) 0%, rgba(46,31,15,.24) 70%, rgba(46,31,15,.52) 100%); }
 .sectors-hero .studio-label, .sectors-hero .studio-hero-headline, .sectors-hero .studio-hero-sub { text-shadow: 0 1px 2px rgba(46,31,15,.92), 0 2px 38px rgba(46,31,15,.85); }
 .sectors-hero-inner { width: 100%; max-width: var(--max-content); }
 .sectors { max-width: var(--max-content); margin: 0 auto; padding: var(--space-4) var(--gutter) var(--space-12); }
 .sectors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
 .sector { border-top: 1px solid var(--muted); padding-top: var(--space-3); }
 .sector-name { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-display-md); letter-spacing: -0.01em; margin: 0; }
 .sector-line { font-family: var(--font-body); font-weight: 400; font-size: var(--fs-body); line-height: 1.6; margin-top: var(--space-2); opacity: 0.85; text-wrap: pretty; }
 @media (max-width: 900px) { .sectors-grid { grid-template-columns: 1fr 1fr; } }
 @media (max-width: 560px) { .sectors-grid { grid-template-columns: 1fr; gap: var(--space-4); } }
 

.journal-hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-12);overflow:hidden;isolation:isolate}
.journal-hero-bg{position:absolute;inset:0;z-index:-2}
.journal-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.96)}
.journal-hero-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%, rgba(46,31,15,.45) 0%, rgba(46,31,15,.74) 55%, rgba(46,31,15,.94) 100%),linear-gradient(180deg, rgba(46,31,15,.82) 0%, rgba(46,31,15,.3) 30%, rgba(46,31,15,.5) 70%, rgba(46,31,15,.92) 100%)}
.journal-hero .journal-header{position:relative;z-index:1;margin:0 auto;max-width:900px;text-align:center}
.journal-hero .journal-headline,.journal-hero .journal-intro{text-shadow:0 2px 28px rgba(46,31,15,.65)}
.journal{padding:var(--space-12) var(--gutter) var(--space-12)}
.journal-header{max-width:900px;margin:0 auto var(--space-12);text-align:center}
.journal-headline{font-family:var(--font-display);font-weight:300;font-size:var(--fs-display-lg);line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
.journal-intro{font-family:var(--font-body);font-weight:300;font-size:var(--fs-body-lg);line-height:1.6;margin:var(--space-4) auto 0;max-width:56ch;opacity:.82;text-wrap:pretty}
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);max-width:var(--max-content);margin:0 auto}
.journal-card{display:block;text-decoration:none;color:inherit;padding:var(--space-6);border-top:1px solid var(--muted);transition:background .3s ease-out,transform .4s cubic-bezier(.2,.7,.2,1)}
.journal-card:hover{background:rgba(201,169,110,.05);transform:translateY(-4px)}
.journal-card-cat{font-family:var(--font-label);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent-cool);opacity:.85}
.journal-card-title{font-family:var(--font-display);font-weight:300;font-size:var(--fs-display-md);letter-spacing:-.01em;margin:var(--space-2) 0}
.journal-card-dek{font-family:var(--font-body);font-weight:300;font-size:var(--fs-body);line-height:1.55;opacity:.8;text-wrap:pretty}
.journal-card-date{display:block;font-family:var(--font-label);font-size:10px;letter-spacing:.32em;color:var(--accent-soft);opacity:.6;margin-top:var(--space-3)}
.article{max-width:760px;margin:0 auto;padding:calc(var(--space-16) + var(--space-4)) var(--gutter) var(--space-12)}
.article-head{margin-bottom:var(--space-8);border-bottom:1px solid var(--muted);padding-bottom:var(--space-6)}
.article-title{font-family:var(--font-display);font-weight:300;font-size:var(--fs-display-lg);line-height:1.08;letter-spacing:-.01em;margin:var(--space-3) 0 0;text-wrap:balance}
.article-dek{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--fs-display-md);line-height:1.4;margin-top:var(--space-3);opacity:.85}
.article-date{display:block;font-family:var(--font-label);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent-soft);opacity:.6;margin-top:var(--space-4)}
.article-body{font-family:var(--font-body);font-weight:400;font-size:var(--fs-body-lg);line-height:1.7;color:var(--fg-primary)}
.article-h2{font-family:var(--font-display);font-weight:300;font-size:var(--fs-display-md);letter-spacing:-.01em;margin:var(--space-8) 0 var(--space-2);opacity:.95}
.article-p{margin:var(--space-3) 0;opacity:.9;text-wrap:pretty}
.article-ul{margin:var(--space-3) 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}
.article-ul li{list-style:disc;margin-left:var(--space-2);opacity:.9}
.article-quote{font-family:var(--font-display);font-style:italic;font-size:var(--fs-display-md);line-height:1.4;border-left:2px solid var(--accent-warm);padding-left:var(--space-4);margin:var(--space-6) 0;opacity:.92}
.article-takeaway{font-family:var(--font-display);font-style:italic;font-size:var(--fs-display-md);line-height:1.4;color:var(--accent-cool);border:0;border-top:1px solid var(--muted);padding-top:var(--space-6);margin:var(--space-8) 0 0}
.article-faq{max-width:760px;margin:var(--space-12) auto 0}
.article-faq .about-label{display:block;text-align:center;margin-bottom:var(--space-4)}
@media (max-width:720px){.journal-grid{grid-template-columns:1fr}}


:root{--ease-out:cubic-bezier(.23,1,.32,1);}
.cta-button{transition:background .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out),transform .16s var(--ease-out);}
.cta-button:active,.lab-card:active,.journal-card:active{transform:scale(.985);}
@media (prefers-reduced-motion: no-preference){
  html.motion .lab-card,html.motion .journal-card,html.motion .studio-how-step,html.motion .studio-invest-item,html.motion .service,html.motion .pillar,html.motion .founder-card,html.motion .lab-header,html.motion .studio-services-header,html.motion .about-studio-inner,html.motion .journal-header,html.motion .article-head,html.motion .cta-inner,html.motion .studio-cta-inner,html.motion .about-cta-inner,html.motion .about-council-inner,html.motion .about-method-header,html.motion .studio-faq-header{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);will-change:opacity,transform;}
  html.motion .is-in{opacity:1 !important;transform:none !important;}
  html.motion .hero-center>*{opacity:0;animation:kc-rise .8s var(--ease-out) forwards;}
  html.motion .hero-center>*:nth-child(1){animation-delay:.10s}
  html.motion .hero-center>*:nth-child(2){animation-delay:.22s}
  html.motion .hero-center>*:nth-child(3){animation-delay:.34s}
  @keyframes kc-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}


/* === audit refinements 2026-06-03 · a11y + SEO + UX (additive overrides) === */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--bg-deep);color:var(--fg-primary);padding:var(--space-2) var(--space-4);font-family:var(--font-label);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid var(--accent-cool)}
.skip-link:focus{left:var(--space-3);top:var(--space-3)}
:focus-visible{outline:2px solid var(--accent-cool);outline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,.cta-button:focus-visible,.lab-card:focus-visible,.journal-card:focus-visible,.article-related-card:focus-visible{outline:2px solid var(--accent-cool);outline-offset:3px;border-radius:2px}
/* burgundy italics on DARK bg failed WCAG AA (2.4:1) — lighter warm only where bg is --bg-deep */
.cta-headline em,.about-cta-headline em,.studio-cta-headline em,.contact-headline em,.about-council-line em{color:#CE7B5F}
/* form inline status (contact + free-scene) */
.contact-status{margin-top:var(--space-3);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.5}
.contact-status--ok{color:var(--accent-cool)}
.contact-status--err,.contact-status--err a{color:#CE7B5F}
/* mobile tap target for hamburger >=44px */
.nav-toggle{min-width:44px;min-height:44px}
/* related-articles block (journal cross-linking) */
.article-related{max-width:760px;margin:var(--space-12) auto 0;padding-top:var(--space-6);border-top:1px solid var(--muted)}
.article-related .about-label{display:block;text-align:center;margin-bottom:var(--space-5)}
.article-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.article-related-card{display:flex;flex-direction:column;gap:var(--space-2);text-decoration:none;color:inherit;padding:var(--space-4);border-top:1px solid var(--muted);transition:background .3s ease-out,transform .4s cubic-bezier(.2,.7,.2,1)}
.article-related-card:hover{background:rgba(201,169,110,.05);transform:translateY(-3px)}
.article-related-cat{font-family:var(--font-label);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-cool);opacity:.85}
.article-related-title{font-family:var(--font-display);font-weight:300;font-size:var(--fs-body-lg);line-height:1.25}
@media (max-width:720px){.article-related-grid{grid-template-columns:1fr}}
/* nav: replace mix-blend-mode (muddy over light heroes) with cream text + subtle top scrim */
.nav{mix-blend-mode:normal;text-shadow:0 1px 12px rgba(46,31,15,.5)}
.nav::before{content:'';position:absolute;left:0;right:0;top:0;height:230%;background:linear-gradient(180deg,rgba(46,31,15,.6) 0%,rgba(46,31,15,.26) 45%,rgba(46,31,15,0) 100%);z-index:-1;pointer-events:none}
.nav--open{mix-blend-mode:normal}
.nav--open::before{display:none}
/* CTA primary: solid burgundy fill at rest so the primary action dominates */
.cta-button{background:var(--accent-warm);border-color:var(--accent-warm)}
.cta-button:hover{background:#74301F;border-color:var(--accent-cool)}
/* heroes Journal + Lab: foto bem evidente — gradiente IDÊNTICO ao About/Contact aprovado + sem dessaturação */
.journal-hero-bg::after,.labpage-hero-bg::after{background:linear-gradient(180deg, rgba(46,31,15,.60) 0%, rgba(46,31,15,.08) 20%, rgba(46,31,15,.16) 55%, rgba(46,31,15,.88) 100%), radial-gradient(ellipse at 50% 45%, rgba(46,31,15,.03) 0%, rgba(46,31,15,.24) 70%, rgba(46,31,15,.52) 100%)}
.journal-hero-bg img,.labpage-hero-bg img{filter:none}
.journal-hero .journal-headline,.journal-hero .journal-intro,.labpage-hero .lab-headline,.labpage-hero .labpage-intro{text-shadow:0 1px 2px rgba(46,31,15,.92),0 2px 38px rgba(46,31,15,.85)}
