:root{
  color-scheme:light;
  --ink:#152018;
  --paper:#F7F4EA;
  --surface:#FFFFFF;
  --primary:#182A21;
  --primary-2:#0F1913;
  --accent:#C99A44;
  --accent-ink:#241804;
  --muted:#5C6656;
  --line:rgba(21,32,24,0.13);
  --mono-tint:#EFECDF;
  --shadow-card:0 1px 2px rgba(21,32,24,.05), 0 16px 32px -18px rgba(21,32,24,.22);
  --novo-bg:#FBF0D9;--novo-border:#E7C77E;--novo-text:#8A5A20;
  --font-display:'Manrope',-apple-system,'Segoe UI',sans-serif;
  --font-body:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',Consolas,monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
a{color:inherit;}
h1,h2,h3{font-family:var(--font-display);font-weight:800;text-wrap:balance;margin:0;}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px;}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:var(--primary);color:#fff;border-bottom:1px solid rgba(0,0,0,.15);}
.nav-inner{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:18px;}
.nav-logo{font-family:var(--font-display);font-weight:800;font-size:15px;display:flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;color:#fff;}
.nav-logo .mark{width:28px;height:28px;border-radius:999px;background:var(--primary-2);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;flex:none;}
.nav-logo .mark svg{width:18px;height:18px;}
.nav-links{display:flex;gap:4px;flex:1;overflow-x:auto;}
.nav-links a{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.82);text-decoration:none;padding:8px 10px;border-radius:8px;white-space:nowrap;}
.nav-links a:hover{background:rgba(255,255,255,.1);color:#fff;}
.nav-links a[aria-current="page"]{background:rgba(255,255,255,.14);color:#fff;}
@media (max-width:640px){
  .nav-inner{flex-wrap:wrap;row-gap:6px;padding:10px 14px;}
  .nav-logo{font-size:14px;}
  .nav-logo .logo-full{display:none;}
  .nav-links{flex:1 1 100%;overflow-x:visible;flex-wrap:wrap;gap:2px;}
  .nav-links a{padding:7px 9px;font-size:13px;}
}
.alert-banner{display:flex;flex:none;align-items:center;gap:8px;background:rgba(201,154,68,.16);border:1px solid var(--accent);color:#fff;font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:999px;cursor:pointer;white-space:nowrap;}
.alert-banner .alert-icon{font-size:14px;}
.alert-banner .alert-cta{font-weight:700;color:var(--accent);white-space:nowrap;}
.alert-banner:hover{background:rgba(201,154,68,.26);}
@media (max-width:900px){ .alert-banner .alert-icon{margin:0;} .alert-banner span:not(.alert-icon):not(.alert-cta){display:none;} }
@media (max-width:640px){ .alert-banner{display:none;} }

/* small hero band used on sub-pages */
.pageband{background:var(--primary);color:#fff;padding:36px 0;}
.pageband .kicker-inv{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);background:rgba(255,255,255,.08);padding:4px 10px;border-radius:6px;margin-bottom:12px;}
.pageband h1{font-size:clamp(24px,4vw,34px);line-height:1.12;color:#fff;max-width:26ch;}
.pageband p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.8);max-width:60ch;margin:12px 0 0;}

section{padding:52px 0;}
.section-head{margin-bottom:24px;max-width:64ch;}
.kicker{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--primary);background:var(--mono-tint);padding:4px 10px;border-radius:6px;margin-bottom:10px;}
.section-head h2{font-size:26px;}
.section-head p{color:var(--muted);font-size:14.5px;margin:8px 0 0;line-height:1.55;}

.card{background:var(--surface);border:none;box-shadow:var(--shadow-card);border-radius:22px;padding:24px;}

.btn{font-family:var(--font-body);font-weight:700;font-size:14.5px;text-decoration:none;padding:13px 22px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;border:2px solid transparent;cursor:pointer;}
.btn-primary{background:var(--accent);color:var(--accent-ink);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-outline:hover{border-color:var(--primary);}
.btn-outline-inv{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.btn-outline-inv:hover{border-color:#fff;}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:760px){.steps{grid-template-columns:repeat(2,1fr);}}
.step{background:var(--surface);border:none;box-shadow:var(--shadow-card);border-radius:20px;padding:20px;}
.step-num{width:34px;height:34px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:15px;margin-bottom:12px;}
.step h3{font-size:14.5px;font-family:var(--font-body);font-weight:700;}
.step p{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.5;}

.method-card{background:var(--surface);border:none;box-shadow:var(--shadow-card);border-radius:20px;padding:22px;}
.method-icon{width:36px;height:36px;border-radius:10px;background:var(--mono-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:12px;}
.method-card .tag{display:inline-block;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-weight:600;}
.method-card h3{font-size:15px;font-family:var(--font-body);font-weight:700;}
.method-card pre{font-family:var(--font-mono);font-size:12px;background:var(--mono-tint);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto;margin:12px 0 0;line-height:1.55;}
.method-card p.desc{font-size:13px;color:var(--muted);margin:10px 0 0;line-height:1.55;}

footer{background:var(--primary);color:rgba(255,255,255,.8);padding:36px 0 48px;}
footer .wrap{display:flex;flex-direction:column;gap:8px;}
footer p{font-size:12.5px;line-height:1.65;margin:0;}

.spinner{display:inline-block;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--primary);border-radius:999px;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:6px;}
@keyframes spin{to{transform:rotate(360deg);}}
.error-box{padding:16px 18px;border-radius:14px;background:#FBEAEA;color:#7A2E2E;font-size:13.5px;border:1px solid #E7B9B9;}
