/* BASE — design tokens, reset, typography, buttons, forms, notices.  Change brand colours here. */
:root{
 --o:#f97316;--o2:#ea580c;--o3:#fff7ed;--t:#14b8a6;--ink:#111827;--mu:#6b7280;--bg:#fafaf9;--dark:#0c0a09;--line:#e5e7eb;
 --h:64px;--wrap:1120px;--ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--h) + 12px)}
body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);overflow-x:clip}
h1,h2,h3,.logo{font-family:Sora,sans-serif;margin:0;line-height:1.2}
[hidden]{display:none!important}
img{max-width:100%}a{color:inherit;text-decoration:none}p{margin:0 0 10px}
.wrap{max-width:var(--wrap);margin:auto;padding:0 20px}.mu{color:var(--mu);font-size:14px}
h2{font-size:26px;margin:28px 0 18px}
input,select,textarea,button{font-family:inherit}
code{background:#f3f4f6;padding:1px 6px;border-radius:6px;font-size:13px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.center{text-align:center}.mt{margin-top:30px}.empty{text-align:center;padding:30px 10px;color:var(--mu)}
:focus-visible{outline:3px solid #f9731666;outline-offset:2px}

/* scroll-reveal (core.js adds .in) */
@keyframes up{from{opacity:0;transform:translateY(26px)}}@keyframes pu{50%{transform:scale(1.06)}}@keyframes fl{50%{transform:translate(40px,-40px) scale(1.15)}}@keyframes gt{to{background-position:-300% 0}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s var(--ease)}.rv.in{opacity:1;transform:none}

/* buttons */
.btn{display:inline-block;border:0;cursor:pointer;background:var(--o);color:#fff;padding:12px 22px;border-radius:14px;font:600 15px Inter,sans-serif;text-align:center;transition:.25s;box-shadow:0 8px 20px #f9731640}
.btn:hover{background:var(--o2);transform:translateY(-2px)}.btn.sm{padding:8px 16px;font-size:14px}.btn.big{padding:15px 28px;font-size:16px}
.btn.dk{background:var(--ink);box-shadow:none}.btn.wa{background:#25d366;box-shadow:none}.btn.wa:hover{background:#1ebe5b}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid #d1d5db;box-shadow:none}.btn.ghost:hover{background:#f9fafb}
.btn.ad.on{background:var(--t)}.btn:disabled{opacity:.6;cursor:wait}form.in{display:inline-block}
.btn.line{background:#ffffff1f;color:#fff;border:1.5px solid #ffffff80;box-shadow:none}.btn.line:hover{background:#fff;color:var(--ink)}

/* forms */
label{font-size:13px;font-weight:600;color:var(--mu)}
label input,.box input,.box select,.box textarea,.af input:not([type=checkbox]),.af select,.af textarea{display:block;width:100%;max-width:100%;padding:12px;border:1.5px solid var(--line);border-radius:12px;font-size:16px;margin-top:4px;background:#fff;outline:0}
label input:focus,.box input:focus,.af input:focus{border-color:var(--o);box-shadow:0 0 0 4px #f9731622}

/* notices */
.ok{background:#ecfdf5;color:#047857;padding:10px 14px;border-radius:12px;margin:12px 0;font-size:14px}.err{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:12px;margin:12px 0;font-size:14px}

@media(max-width:700px){:root{--h:58px}.wrap{padding:0 16px}h2{font-size:22px;margin:22px 0 14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
