/* Base de implementação; combinar com a referência e os componentes reais. */
:root {
 --truna-bg:#141916; --truna-panel:#1b201c; --truna-ink:#f1e7ce;
 --truna-muted:#bcb7a7; --truna-accent:#e9ae3e; --truna-moss:#778267;
 --truna-line:#655d43; --truna-paper:#e8dcc0;
 --truna-display:Impact,'Arial Narrow',sans-serif;
 --truna-body:Georgia,'Times New Roman',serif;
 --truna-container:1440px; --truna-sidebar:270px; --truna-hero-height:600px;
}
*{box-sizing:border-box}
body{margin:0;color:var(--truna-ink);background:var(--truna-bg);font-family:var(--truna-body);line-height:1.5}
.truna-shell{max-width:var(--truna-container);margin-inline:auto}
.truna-hero{height:var(--truna-hero-height);position:relative;isolation:isolate;overflow:hidden}
.truna-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;z-index:-2}
.truna-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,16,.85),rgba(12,20,16,.15) 75%);z-index:-1}
.truna-hero__copy{max-width:680px;padding:130px 48px 32px}
.truna-hero h1{font-family:var(--truna-display);font-size:clamp(48px,6vw,88px);line-height:1.02;letter-spacing:-.02em;margin:12px 0 20px}
.truna-layout{display:grid;grid-template-columns:var(--truna-sidebar) minmax(0,1fr);gap:32px;padding:32px}
.truna-sidebar{align-self:start;position:sticky;top:24px;padding:12px 20px 28px 0;border-right:1px solid var(--truna-line)}
.truna-menu-item{display:flex;gap:14px;align-items:center;width:100%;padding:14px 16px;color:var(--truna-ink);background:transparent;border:0;text-align:left;font:inherit;text-decoration:none;cursor:pointer}
.truna-menu-item[aria-current='page']{color:var(--truna-bg);background:var(--truna-paper);clip-path:polygon(0 0,96% 0,100% 18%,100% 100%,0 100%);font-weight:bold;border-left:5px solid var(--truna-accent)}
.truna-panel{min-width:0;min-height:1040px;padding:20px 24px 36px}
.truna-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;background:var(--truna-accent);color:#131812;border:0;font:700 18px var(--truna-body);text-decoration:none;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.truna-illustration{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;clip-path:polygon(2% 0,100% 0,100% 96%,98% 100%,0 100%,0 4%)}
.truna-map-divider{height:110px;position:relative;overflow:hidden;margin-top:-45px;pointer-events:none}
.truna-map-divider img{position:absolute;width:100%;height:auto;top:50%;transform:translateY(-50%)}
.truna-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
:where(a,button,summary):focus-visible{outline:3px solid var(--truna-accent);outline-offset:5px}
@media(max-width:900px){:root{--truna-sidebar:220px}.truna-layout{gap:20px;padding:20px}.truna-panel{padding:16px}.truna-hero__copy{padding-inline:28px}}
@media(max-width:700px){:root{--truna-hero-height:520px}.truna-layout{display:block;padding:16px}.truna-sidebar{position:static;border-right:0;padding:0}.truna-panel{min-height:0;padding:24px 0}.truna-principles{grid-template-columns:1fr}.truna-hero__copy{padding:110px 24px 24px}.truna-hero h1{font-size:clamp(38px,10vw,52px)}.truna-map-divider{height:70px;margin-top:-24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
