/*
Theme Name: Stella — Presença Digital
Description: Apresentação editorial da Stella com conteúdo editável em blocos nativos.
Version: 1.0.1
Text Domain: stella
*/
* { box-sizing:border-box; }
body { background:var(--background); color:var(--foreground); }
a { color:inherit; }
figure { margin:0; }
.wp-block-group { box-sizing:border-box; }
:root {
  --radius: .5rem;
  --background: oklch(.19 .053 311);
  --foreground: oklch(.97 .009 320);
  --card: oklch(.235 .057 310);
  --card-foreground: var(--foreground);
  --popover: var(--card);
  --popover-foreground: var(--foreground);
  --primary: oklch(.716 .145 336);
  --primary-foreground: var(--background);
  --secondary: oklch(.49 .142 310);
  --secondary-foreground: var(--foreground);
  --muted: oklch(.245 .05 310);
  --muted-foreground: oklch(.8 .019 303);
  --accent: oklch(.809 .085 330);
  --accent-foreground: var(--background);
  --border: oklch(.8 .019 303 / .17);
  --input: var(--border);
  --ring: var(--primary);
  --metal: oklch(.826 .013 299);
  --signature: oklch(.569 .224 318);
  --complement: oklch(.584 .135 310);
  --hero-shade: linear-gradient(90deg, var(--background) 0%, oklch(.19 .053 311 / .94) 23%, oklch(.19 .053 311 / .62) 46%, transparent 72%), linear-gradient(0deg, var(--background), transparent 25%);
}
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; font-family: "Barlow", sans-serif; letter-spacing: 0; }
::selection { background: var(--primary); color: var(--background); }
.presentation { overflow: clip; }
.wrap { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.topbar { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; border-bottom: 1px solid var(--border); }
.topbar-inner { height: 98px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.logo-slot { width: 144px; height: 46px; display:flex; align-items:center; gap:10px; color:var(--metal); }
.logo-slot span { font-size:12px; font-weight:600; text-transform:uppercase; }
.logo-slot svg { width:28px; height:28px; }
.nav-links { display:flex; gap:32px; }
.nav-links a { font-size:13px; color:var(--metal); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:var(--primary); }
.nav-note { font-size:11px; text-transform:uppercase; color:var(--metal); }
.hero { min-height:740px; height: min(850px, 93svh); position:relative; display:flex; align-items:center; }
.hero-photo { position:absolute; top:0; right:0; width:76%; height:100%; object-fit:cover; object-position:center 40%; }
.hero::after { content:""; position:absolute; inset:0; background:var(--hero-shade); }
.hero-content { position:relative; z-index:2; padding-top:96px; }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:11px; font-weight:600; text-transform:uppercase; color:var(--primary); }
.eyebrow::before { content:""; width:25px; height:1px; background:var(--primary); }
.hero h1 { font-family:"Barlow Condensed", sans-serif; font-size:140px; line-height:.9; font-weight:700; margin:30px 0 16px; }
.hero-subtitle { font-family:"Barlow Condensed", sans-serif; font-size:46px; font-weight:500; line-height:1.06; margin:0; }
.hero-subtitle span { color:var(--primary); }
.hero-copy { max-width:370px; font-size:16px; line-height:1.7; color:var(--metal); margin:24px 0 28px; }
.hero .hero-cta { height:48px; padding-inline:24px; font-size:13px; }
.hero-caption { position:absolute; bottom:36px; right:48px; z-index:3; color:var(--metal); text-transform:uppercase; font-size:10px; }
.hero-scroll { position:absolute; bottom:32px; left:48px; z-index:3; display:flex; gap:12px; align-items:center; color:var(--metal); font-size:10px; text-transform:uppercase; }
.identity-strip { border-block:1px solid var(--border); background:var(--background); }
.identity-strip .wrap { display:flex; justify-content:space-between; align-items:center; min-height:76px; gap:20px; font-family:"Barlow Condensed", sans-serif; font-size:22px; text-transform:uppercase; }
.identity-strip svg { color:var(--primary); width:18px; }
.chapter { padding-block:90px; border-bottom:1px solid var(--border); }
.chapter-header { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:42px; }
.section-label { font-size:11px; text-transform:uppercase; color:var(--primary); margin-bottom:18px; display:flex; gap:15px; align-items:center; }
.section-label span { color:var(--metal); }
h2 { font-family:"Barlow Condensed", sans-serif; font-size:52px; line-height:1.05; font-weight:600; margin:0; }
h2 em { color:var(--primary); font-style:normal; }
.chapter-intro { color:var(--metal); font-size:16px; line-height:1.8; margin:0; max-width:510px; }
.attribute-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:36px; }
.attribute { border-left:1px solid var(--border); padding:22px 25px; }
.attribute:first-child { padding-left:0; border-left:0; }
.attribute-index { color:var(--primary); font-size:11px; }
.attribute h3 { font-family:"Barlow Condensed", sans-serif; font-size:25px; font-weight:500; margin:12px 0; }
.attribute p { color:var(--metal); font-size:14px; line-height:1.65; margin:0; }
.source-text { border-top:1px solid var(--border); }
.source-text:last-child { border-bottom:1px solid var(--border); }
.source-text summary { list-style:none; cursor:pointer; min-height:65px; display:flex; align-items:center; gap:18px; font-size:15px; }
.source-text summary::-webkit-details-marker { display:none; }
.source-number { font-size:11px; color:var(--primary); width:22px; flex-shrink:0; }
.source-text summary .expand { width:18px; margin-left:auto; color:var(--metal); transition:transform .2s; }
.source-text[open] summary .expand { transform:rotate(45deg); color:var(--primary); }
.source-body { padding:0 40px 26px; max-width:900px; }
.source-body p { color:var(--metal); font-size:15px; line-height:1.8; margin:0 0 10px; }
.source-body h4 { font-size:13px; color:var(--primary); margin:24px 0 12px; }
.platform-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:35px; }
.platform { background:var(--card); border:1px solid var(--border); padding:30px; border-radius:8px; }
.platform-top { display:flex; justify-content:space-between; align-items:center; color:var(--primary); margin-bottom:30px; }
.platform-top span { font-size:10px; text-transform:uppercase; color:var(--metal); }
.platform h3 { font-family:"Barlow Condensed", sans-serif; font-size:32px; font-weight:500; margin:0 0 12px; }
.platform p { color:var(--metal); font-size:14px; line-height:1.7; margin:0 0 22px; }
.platform-format { color:var(--primary); font-size:11px; border-top:1px solid var(--border); padding-top:18px; line-height:1.8; }
.pillar-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; margin-bottom:38px; }
.pillar-photo { width:100%; height:580px; object-fit:cover; border-radius:4px; object-position:center; }
.pillar-item { padding:26px 0; border-top:1px solid var(--border); display:flex; gap:22px; }
.pillar-item:first-child { padding-top:0; border:0; }
.pillar-item>span { color:var(--primary); font-size:12px; padding-top:7px; }
.pillar-item h3 { font-family:"Barlow Condensed", sans-serif; font-size:32px; font-weight:500; margin:0 0 10px; }
.pillar-item p { color:var(--metal); line-height:1.7; font-size:14px; margin:0; }
.pillar-item .pillar-tags { color:var(--primary); font-size:12px; margin-top:12px; }
.quote-band { padding:65px 0; background:var(--card); border-bottom:1px solid var(--border); }
.quote-band .wrap { display:flex; align-items:center; gap:36px; }
.quote-band svg { width:50px; height:50px; color:var(--primary); flex-shrink:0; }
.quote-band p { font-family:"Barlow Condensed", sans-serif; font-size:39px; line-height:1.2; margin:0; }
.workflow { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-bottom:35px; }
.workflow-item { padding:24px 0; border-top:1px solid var(--primary); }
.workflow-item span { font-size:11px; color:var(--primary); }
.workflow-item h3 { font-family:"Barlow Condensed", sans-serif; font-size:28px; font-weight:500; margin:16px 0 12px; }
.workflow-item p { color:var(--metal); line-height:1.7; font-size:14px; }
.safety-note { display:flex; gap:22px; border-left:2px solid var(--primary); padding:22px 28px; background:var(--card); margin-bottom:35px; }
.safety-note svg { color:var(--primary); flex-shrink:0; }
.safety-note p { color:var(--metal); font-size:15px; line-height:1.75; margin:0; }
.metrics { display:flex; flex-wrap:wrap; gap:12px 30px; margin-bottom:38px; }
.metrics span { font-family:"Barlow Condensed", sans-serif; font-size:26px; color:var(--metal); }
.closing { padding:80px 0; text-align:center; }
.closing .eyebrow { justify-content:center; }
.closing h2 { font-size:64px; margin:24px 0; }
.closing p { color:var(--metal); font-size:15px; }
.footer { border-top:1px solid var(--border); padding:26px 0; }
.footer .wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--metal); font-size:11px; }
.footer-brand { font-family:"Barlow Condensed", sans-serif; font-size:24px; color:var(--foreground); }
@media(min-width:1600px) { .hero-photo { object-position:center 43%; } }
@media(max-width:900px) {
 .wrap { width:calc(100% - 48px); } .nav-links { gap:18px; } .nav-note { display:none; }
 .hero h1 { font-size:110px; } .hero-subtitle { font-size:38px; }
 .hero-photo { width:100%; } .hero-caption { right:24px; } .hero-scroll { left:24px; }
 .chapter-header { gap:30px; } .platform { padding:22px; } .pillar-layout { gap:30px; }
 .attribute { padding:20px 16px; } .pillar-photo { height:590px; }
}
@media(max-width:600px) {
 .wrap { width:calc(100% - 40px); } .topbar-inner { height:76px; } .logo-slot { width:105px; }
 .nav-links a { font-size:11px; } .nav-links a:nth-child(2), .nav-links a:nth-child(3) { display:none; }
 .hero { height:850px; min-height:0; max-height:96svh; align-items:flex-end; }
 .hero-photo { width:100%; object-position:60% 35%; }
 .hero::after { background:linear-gradient(0deg,var(--background) 0%, oklch(.19 .053 311 / .88) 27%, oklch(.19 .053 311 / .25) 65%, oklch(.19 .053 311 / .3)); }
 .hero-content { padding-top:0; padding-bottom:76px; } .hero h1 { font-size:96px; margin:20px 0 10px; }
 .hero-subtitle { font-size:34px; } .hero-copy { font-size:14px; max-width:320px; margin:18px 0 22px; }
 .hero-caption { display:none; } .hero-scroll { left:20px; bottom:22px; }
 .identity-strip .wrap { min-height:65px; gap:10px; font-size:15px; } .identity-strip svg { width:12px; }
 .chapter { padding-block:56px; } .chapter-header { grid-template-columns:1fr; gap:24px; margin-bottom:30px; }
 h2 { font-size:42px; } .chapter-intro { font-size:15px; }
 .attribute-grid { grid-template-columns:repeat(2,1fr); gap:20px 0; } .attribute { padding:12px 18px; } .attribute:nth-child(3) { border:0; padding-left:0; }
 .platform-grid { grid-template-columns:1fr; } .platform-top { margin-bottom:20px; }
 .pillar-layout { grid-template-columns:1fr; gap:32px; } .pillar-photo { height:460px; }
 .source-text summary { font-size:14px; gap:10px; } .source-body { padding:0 0 24px 32px; }
 .quote-band { padding:40px 0; } .quote-band .wrap { gap:20px; } .quote-band svg { width:30px; height:30px; } .quote-band p { font-size:29px; }
 .workflow { grid-template-columns:1fr; gap:8px; } .safety-note { padding:20px; gap:15px; }
 .closing { padding:56px 0; } .closing h2 { font-size:48px; } .footer .wrap { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

.hero-photo img,.pillar-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:inherit; border-radius:inherit; }
.hero-photo { margin:0; }
.hero h1 { color:var(--foreground); }
.hero-subtitle span { color:var(--primary); }
.hero-cta { display:inline-flex; align-items:center; justify-content:center; background:var(--primary); color:var(--background); border-radius:6px; text-decoration:none; font-weight:600; }
.hero-cta:hover { background:var(--accent); }
.cta-line { margin:0; }
.hero-scroll,.hero-caption { margin:0; }
.hero-scroll a { text-decoration:none; }
.identity-strip p { margin:0; }
.identity-strip p:nth-child(even) { color:var(--primary); font-size:18px; }
.attribute .attribute-index { color:var(--primary); font-size:11px; }
.platform-top p { margin:0; font-size:10px; text-transform:uppercase; }
.platform-top .platform-icon { color:var(--primary); font-size:13px; font-weight:600; }
.platform .platform-format { color:var(--primary); font-size:11px; margin-bottom:0; }
.pillar-item>.pillar-index { color:var(--primary); font-size:12px; padding-top:7px; }
.quote-band .quote-star { font-size:50px; color:var(--primary); }
.workflow-item .workflow-index { font-size:11px; color:var(--primary); }
.safety-note .safety-icon { color:var(--primary); font-size:26px; }
.metrics p { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:26px; color:var(--metal); }
.source-text summary::after { content:'+'; margin-left:auto; font-size:22px; color:var(--metal); }
.source-text[open] summary::after { content:'−'; color:var(--primary); }
.source-text summary { padding:16px 0; }
.source-body>:first-child { margin-top:0; }
.logo-slot { text-decoration:none; }
.custom-logo { max-width:144px; max-height:60px; width:auto; height:auto; object-fit:contain; }
.custom-logo-link { line-height:0; }
.footer-brand { text-decoration:none; }
.footer-back { text-decoration:none; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:1000; padding:12px; background:var(--primary); color:var(--background); }
.skip-link:focus { top:10px; }
:focus-visible { outline:2px solid var(--primary); outline-offset:5px; }
.admin-bar .topbar { top:32px; }
@media(max-width:782px){ .admin-bar .topbar { top:46px; } }
@media(max-width:600px){ .identity-strip p:nth-child(even){font-size:12px;} .hero { min-height:710px; max-height:none; height:94svh; } .quote-band .quote-star { font-size:30px; } }
@media(max-width:600px){
 .identity-strip .wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); text-align:center; padding-block:16px; gap:12px; }
 .identity-strip p:nth-child(even) { display:none; }
 .attribute-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .attribute h3 { font-size:22px; overflow-wrap:anywhere; }
}

.agency-signature { display:flex; flex-direction:column; align-items:center; gap:12px; margin:28px auto 0; padding:26px 20px 4px; border-top:1px solid var(--border); }
.agency-signature>span { color:var(--metal); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.agency-signature a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:4px 8px; }
.agency-signature img { display:block; width:100px; height:auto; }
