/* Arkitek Design System v2 — Editorial
   Caroline 01/06/2026
   Paleta: paper/ink/clay
   Fontes: Fraunces (serif) + Hanken Grotesk (sans) + IBM Plex Mono (labels)
   Light-mode only. Sem dark mode.
   USO: <link rel="stylesheet" href="/assets/arkitek-ds.css">
*/

:root{
 color-scheme:light;
 --paper:#FFFFFF;
 --paper-2:#F4F1EA;
 --ink:#19150F;
 --ink-soft:#3D362C;
 --text-3:#9A9A9A;
 --clay:#A8512A;
 --clay-deep:#8A3F1E;
 --line:rgba(25,21,15,0.14);
 --line-soft:rgba(25,21,15,0.07);
 --radius:3px;
 --radius-input:3px;
 --radius-btn:2px;
 --success:#2F6F4D;
 --success-bg:#F0F7F0;
 --success-border:#D4E8D4;
 --error:#8A3F1E;
 --error-bg:#FDF2EE;
 --error-border:#F5D6C8;
}
html{color-scheme:light;background:#FFFFFF;scroll-behavior:smooth}
@media (prefers-color-scheme:dark){:root{color-scheme:light;--paper:#FFFFFF !important;--paper-2:#F4F1EA !important;--ink:#19150F !important;--ink-soft:#3D362C !important;--clay:#A8512A !important}html,body{background:#FFFFFF !important;color:#19150F !important}}

*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'Hanken Grotesk',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;font-weight:400}
body{position:relative;min-height:100vh}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--clay)}
button,a{-webkit-tap-highlight-color:transparent}

/* tipografia */
.serif{font-family:'Fraunces',serif}
.mono{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.18em;font-size:0.7rem;font-weight:500}

/* eyebrow tag (linha + uppercase clay) */
.ds-eyebrow{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.18em;font-size:0.65rem;color:var(--clay);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.ds-eyebrow::before{content:"";width:24px;height:1px;background:var(--clay)}

/* títulos */
.ds-h1{font-family:'Fraunces',serif;font-weight:340;font-size:clamp(2rem,5vw,3rem);letter-spacing:-0.02em;line-height:1.05;margin-bottom:14px}
.ds-h2{font-family:'Fraunces',serif;font-weight:340;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-0.02em;line-height:1.1;margin-bottom:12px}
.ds-sub{font-size:1.05rem;color:var(--ink-soft);margin-bottom:28px;max-width:540px;font-weight:400}

/* top nav (logo + voltar) — usar em telas curtas/standalone */
.ds-topnav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.ds-topnav .ds-logo{display:flex;align-items:center;gap:10px}
.ds-topnav .ds-logo img{height:28px;width:auto;display:block}
.ds-topnav .ds-back{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.14em;font-size:0.7rem;color:var(--ink-soft);transition:color .25s}
.ds-topnav .ds-back:hover{color:var(--ink)}
.ds-shell{margin-top:80px;padding:32px 16px}
.ds-shell-narrow{max-width:680px;margin:80px auto 0;padding:32px 16px}
.ds-shell-wide{max-width:1080px;margin:80px auto 0;padding:32px 28px}
@media(max-width:640px){.ds-topnav{padding:14px 18px}.ds-shell,.ds-shell-narrow,.ds-shell-wide{margin-top:64px}}

/* card */
.ds-card{background:var(--paper);border-radius:var(--radius);padding:44px 38px;border:1px solid var(--line-soft);box-shadow:0 1px 3px rgba(0,0,0,0.02),0 8px 24px rgba(25,21,15,0.04);position:relative}
.ds-card--feature{border-color:var(--clay);border-width:2px}
.ds-card--feature::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:var(--clay)}
@media(max-width:640px){.ds-card{padding:32px 24px}}

/* inputs */
.ds-field{margin-bottom:16px}
.ds-label{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-soft);margin-bottom:8px;font-weight:500}
.ds-input,input[type="text"].ds-input,input[type="email"].ds-input,input[type="password"].ds-input,input[type="tel"].ds-input,input[type="url"].ds-input,input[type="number"].ds-input,select.ds-input,textarea.ds-input{font-family:'Hanken Grotesk',sans-serif;font-size:15px;padding:13px 14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-input);width:100%;outline:none;transition:border-color .15s;display:block}
.ds-input:focus{border-color:var(--ink)}
.ds-input::placeholder{color:var(--text-3)}
textarea.ds-input{min-height:80px;resize:vertical;line-height:1.5}
select.ds-input{cursor:pointer}

/* botões */
.ds-btn{display:inline-block;padding:13px 24px;border-radius:var(--radius-btn);font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.2,.7,.3,1);border:1px solid transparent;text-align:center;line-height:1.2}
.ds-btn--primary{background:var(--ink);color:var(--paper)}
.ds-btn--primary:hover{background:var(--clay);transform:translateY(-1px)}
.ds-btn--primary:active{transform:translateY(0)}
.ds-btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ds-btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.ds-btn--line:hover{background:var(--ink);color:var(--paper)}
.ds-btn--ghost{border-color:var(--line);color:var(--ink-soft);background:transparent}
.ds-btn--ghost:hover{border-color:var(--ink);color:var(--ink)}
.ds-btn--clay{background:var(--clay);color:var(--paper)}
.ds-btn--clay:hover{background:var(--clay-deep)}
.ds-btn--block{width:100%}

/* messages */
.ds-msg{padding:11px 14px;border-radius:var(--radius-input);font-size:13px;margin-bottom:14px}
.ds-msg--error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}
.ds-msg--success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}
.ds-msg--info{background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--line)}
.ds-msg.hidden{display:none}

/* checkboxes / radios */
.ds-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);cursor:pointer;user-select:none}
.ds-check input[type="checkbox"],.ds-check input[type="radio"]{accent-color:var(--clay);width:14px;height:14px}

/* divider */
.ds-divider{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--ink-soft)}
.ds-divider::before,.ds-divider::after{content:"";flex:1;height:1px;background:var(--line-soft)}
.ds-divider span{font-family:'IBM Plex Mono',monospace;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.18em}

/* helper bottom */
.ds-helper{font-size:13px;color:var(--ink-soft);text-align:center;margin-top:22px}
.ds-helper a{color:var(--clay);border-bottom:1px solid transparent;transition:border .2s}
.ds-helper a:hover{border-color:var(--clay)}

/* checklist (em-breve, features) */
.ds-checklist{margin:24px 0 8px;padding:20px 22px;background:var(--paper-2);border-radius:var(--radius);border-left:2px solid var(--clay)}
.ds-checklist h3{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.14em;font-size:0.7rem;color:var(--ink-soft);margin-bottom:10px;font-weight:500}
.ds-checklist ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ds-checklist li{font-size:0.95rem;color:var(--ink-soft);padding-left:22px;position:relative;line-height:1.5}
.ds-checklist li::before{content:"—";position:absolute;left:0;color:var(--clay)}

/* tables (admin/dashboard) */
.ds-table{width:100%;border-collapse:collapse;font-size:14px}
.ds-table th{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.12em;font-size:0.65rem;color:var(--ink-soft);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:500}
.ds-table td{padding:14px;border-bottom:1px solid var(--line-soft);color:var(--ink)}
.ds-table tr:hover td{background:var(--paper-2)}

/* badge / tag */
.ds-badge{display:inline-block;padding:4px 10px;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--line-soft)}
.ds-badge--clay{background:transparent;color:var(--clay);border-color:var(--clay)}
.ds-badge--success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}
.ds-badge--error{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}

/* hr clay accent */
.ds-hr{border:none;height:1px;background:var(--line-soft);margin:32px 0}
.ds-hr--clay{height:2px;background:var(--clay);width:48px;margin:24px 0}

/* swap link (criar conta / já tenho conta) */
.ds-swap{margin-top:22px;text-align:center;font-size:13px;color:var(--ink-soft)}
.ds-swap a{color:var(--clay);font-weight:500;border-bottom:1px solid transparent;transition:border .2s}
.ds-swap a:hover{border-color:var(--clay)}

/* prose (termos, em-breve content) */
.ds-prose{max-width:680px;color:var(--ink)}
.ds-prose h2{font-family:'Fraunces',serif;font-weight:400;font-size:1.6rem;letter-spacing:-0.01em;margin:32px 0 12px;color:var(--ink)}
.ds-prose h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.2rem;margin:24px 0 10px;color:var(--ink)}
.ds-prose p{margin-bottom:14px;color:var(--ink-soft);line-height:1.65}
.ds-prose ul,.ds-prose ol{margin:12px 0 16px 24px;color:var(--ink-soft)}
.ds-prose li{margin-bottom:6px;line-height:1.65}
.ds-prose strong{color:var(--ink);font-weight:600}
.ds-prose a{color:var(--clay);border-bottom:1px solid transparent;transition:border .2s}
.ds-prose a:hover{border-color:var(--clay)}

/* legacy compat: tokens antigos pra páginas que ainda usam --bg, --text etc */
:root{
 --bg:var(--paper);
 --card:var(--paper);
 --text:var(--ink);
 --text-2:var(--ink-soft);
 --link:var(--clay);
 --border:var(--line);
 --border-strong:var(--line);
 --arkitek-bg-page:var(--paper);
 --arkitek-bg-card:var(--paper);
 --arkitek-bg-soft:var(--paper-2);
 --arkitek-text:var(--ink);
 --arkitek-text-2:var(--ink-soft);
 --arkitek-text-info:var(--clay);
 --arkitek-border:var(--line);
 --arkitek-border-strong:var(--line);
}
