/* Planefy — camada editorial (proporção áurea φ = 1,618)
   Escala tipográfica φ: 0.618 · 1 · 1.272(√φ) · 1.618 · 2.618 · 4.236 rem
   Espaçamento Fibonacci: 5 · 8 · 13 · 21 · 34 · 55 · 89 px
   Grade principal: 61,8% / 38,2% */
:root{
  --phi:1.618;
  --s1:5px;--s2:8px;--s3:13px;--s4:21px;--s5:34px;--s6:55px;--s7:89px;
  --t-sm:.786rem;--t-base:1rem;--t-md:1.272rem;--t-lg:1.618rem;--t-xl:2.618rem;--t-xxl:4.236rem;
  --r1:5px;--r2:8px;--r3:13px;--r4:21px;
  --bg:#F5F3EE;--surface:#FFFFFF;--sunk:#ECE9E1;--line:#DDD8CC;--hair:#E7E2D7;
  --ink:#0F2326;--muted:#5E6B6A;
  --deep:#0B2A28;--deep-ink:#EFE9DC;--deep-muted:#9FB3AE;--deep-line:rgba(239,233,220,.16);
  --gold:#B8912A;--gold-soft:#F3EAD2;
  --f-display:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --f-body:"Manrope","Segoe UI",system-ui,sans-serif;
  --f-num:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --shadow:0 1px 0 rgba(15,35,38,.04),0 13px 34px -21px rgba(15,35,38,.28);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C1617;--surface:#121F21;--sunk:#18282A;--line:#253A3C;--hair:#1E3133;--ink:#ECE7DB;--muted:#9AABA8;
  --deep:#071817;--deep-ink:#EFE9DC;--gold:#D9B45A;--gold-soft:#2F2814;--shadow:0 13px 34px -21px rgba(0,0,0,.6)}}
:root[data-theme="dark"]{
  --bg:#0C1617;--surface:#121F21;--sunk:#18282A;--line:#253A3C;--hair:#1E3133;--ink:#ECE7DB;--muted:#9AABA8;
  --deep:#071817;--deep-ink:#EFE9DC;--gold:#D9B45A;--gold-soft:#2F2814;--shadow:0 13px 34px -21px rgba(0,0,0,.6)}

body{font-family:var(--f-body);font-size:16px;line-height:1.618;letter-spacing:.005em;font-feature-settings:"ss01"}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;letter-spacing:-.018em;line-height:1.08;font-variation-settings:"opsz" 144,"SOFT" 30}
h1{font-size:clamp(2.618rem,5.2vw,4.236rem);font-weight:350}
h2{font-size:var(--t-lg);font-weight:420}
h3{font-size:var(--t-md);font-weight:500;letter-spacing:-.01em;font-variation-settings:"opsz" 36}
h4{font-size:var(--t-base);font-weight:600;font-variation-settings:"opsz" 24}
h1 em,h2 em,.hero h1 em{font-style:italic;color:var(--accent);font-weight:inherit;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}
.eyebrow{font-family:var(--f-body);font-size:.69rem;letter-spacing:.21em;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:var(--s3)}
.eyebrow::before{content:"";width:21px;height:1px;background:currentColor}
.num,td.n,.kpi .v,.stat .v{font-variant-numeric:tabular-nums lining-nums}
a{text-underline-offset:3px;text-decoration-thickness:1px}

/* botões: retângulos áureos, sem sombras pesadas */
button,.btn{border-width:1px;border-radius:var(--r2);font-weight:600;letter-spacing:.01em;padding:13px 21px;transition:background .2s,border-color .2s,color .2s,transform .2s}
button:active,.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bg);box-shadow:none}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:active{box-shadow:none}
.btn-primary::after{content:"→";font-family:var(--f-body);transition:transform .2s}
.btn-primary:hover::after{transform:translateX(3px)}
.btn-ghost{color:var(--accent)}
.btn-big{padding:21px 34px;font-size:var(--t-base)}
input,select,textarea{border-width:1px;border-radius:var(--r2);background:var(--surface);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,transparent)}
label{font-weight:600;font-size:.84rem;letter-spacing:.01em}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* superfícies */
.card{border:1px solid var(--hair);border-radius:var(--r3);padding:var(--s5) var(--s4);gap:var(--s3);box-shadow:var(--shadow)}
.card.soft{background:var(--sunk);box-shadow:none}
.card.gold{background:var(--gold-soft);box-shadow:none;border-color:color-mix(in srgb,var(--gold) 30%,transparent)}
.chip{font-weight:600;letter-spacing:.02em;border-radius:var(--r1)}
.tablewrap{border-width:1px;border-color:var(--hair);border-radius:var(--r3);box-shadow:var(--shadow)}
th{background:transparent;color:var(--gold);letter-spacing:.13em;font-weight:600;border-bottom:1px solid var(--line)}
td{border-bottom-color:var(--hair)}
.bar{height:5px;border-radius:0;background:var(--hair)}
.bar i{border-radius:0;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--gold)))}

/* ornamento: espiral áurea */
.phi{display:block;width:100%;height:auto;overflow:visible}
.phi .phi-g{stroke:currentColor;stroke-width:1;opacity:.28;vector-effect:non-scaling-stroke}
.phi .phi-s{stroke:var(--gold);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:phi-draw 3.4s cubic-bezier(.62,0,.38,1) .3s forwards}
@keyframes phi-draw{to{stroke-dashoffset:0}}
.mark{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--f-display);font-weight:400;font-size:1.45rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;font-variation-settings:"opsz" 72,"SOFT" 50}
.mark i{font-style:normal;color:var(--gold)}
@media (prefers-reduced-motion:reduce){.phi .phi-s{animation:none;stroke-dashoffset:0}}
