/*
 * CLARIX · Página provisória (clarix.solutions)
 * Estilos de produção derivados do protótipo aprovado e do Design System CLARIX v1.1.
 * Tokens de superfície: [data-surface="dark|light|paper"] redefinem as variáveis semânticas.
 * Fontes servidas pelo próprio site (Outfit variável + IBM Plex Mono 400/500, licença OFL).
 */
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/outfit-latin-wght-normal.woff2) format('woff2-variations'),url(../fonts/outfit-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/outfit-latin-ext-wght-normal.woff2) format('woff2-variations'),url(../fonts/outfit-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}


:root{
--clx-gold:#C9933A;--clx-blue:#4350E3;--clx-blue-700:#3540C2;--clx-blue-300:#9BA3F2;
--clx-black:#000000;--clx-white:#FFFFFF;--clx-gray:#727272;--clx-gray-light:#CACACA;--clx-ink-2:#45454A;
--clx-paper:#F7F6F3;--clx-line:#E3E2DF;--clx-graphite:#0D0D0F;--clx-graphite-2:#17171B;--clx-graphite-3:#1C1C21;--clx-graphite-line:#2A2A30;
--font-sans:'Outfit',system-ui,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,monospace;
--text-display:clamp(44px,5.6vw,80px);--text-h1:clamp(36px,4.4vw,60px);--text-h2:clamp(28px,2.8vw,40px);--text-lead:clamp(18px,1.5vw,21px);
--tracking-display:-0.03em;--tracking-h1:-0.028em;--tracking-h2:-0.025em;
--section-y:clamp(72px,11vw,140px);--gutter:clamp(20px,5vw,56px);--container:1280px;
--radius-lg:20px;--radius-pill:999px;--control-h:44px;--control-h-lg:52px;
--ease:cubic-bezier(.2,.7,.2,1);--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--dur-4:600ms;
}
[data-surface="light"],[data-surface="paper"]{
--bg:var(--clx-white);--surface:var(--clx-paper);--ink:var(--clx-black);--ink-2:var(--clx-ink-2);--muted:var(--clx-gray);
--line:var(--clx-line);--line-strong:#C9C8C4;--seg:var(--clx-black);--accent:var(--clx-blue);--accent-ink:var(--clx-white);
--accent-hover:var(--clx-blue-700);--link:var(--clx-blue);--link-hover:var(--clx-blue-700);--focus:var(--clx-blue);color-scheme:light;
}
[data-surface="paper"]{--bg:var(--clx-paper);--surface:var(--clx-white)}
[data-surface="dark"]{
--bg:var(--clx-graphite);--surface:var(--clx-graphite-2);--ink:var(--clx-white);--ink-2:var(--clx-gray-light);--muted:var(--clx-gray-light);
--line:var(--clx-graphite-line);--line-strong:#3A3A42;--seg:var(--clx-white);--accent:var(--clx-blue);--accent-ink:var(--clx-white);
--accent-hover:#5A66F0;--link:#9BA3F2;--link-hover:#C3C8F7;--focus:#9BA3F2;color-scheme:dark;
}
a{color:var(--link);text-underline-offset:3px}
a:hover{color:var(--link-hover)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
::selection{background:var(--clx-gold);color:var(--clx-black)}
.clx-btn{text-decoration:none;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}
.clx-btn:active{transform:scale(.98)}
.clx-btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-pill)}
.clx-btn--primary{background:var(--accent);color:var(--accent-ink);border:1px solid transparent}
.clx-btn--primary:hover{background:var(--accent-hover);color:var(--accent-ink)}
.clx-btn--secondary{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}
.clx-btn--secondary:hover{background:var(--surface);color:var(--ink)}
.clx-contact{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}
.clx-contact:hover{color:var(--link-hover);border-bottom-color:currentColor}
.clx-rise{animation:clx-rise var(--dur-4) var(--ease) both}
.clx-rise-2{animation:clx-rise var(--dur-4) var(--ease) 120ms both}
.clx-pulse{animation:clx-seg 1.8s var(--ease) infinite}
@keyframes clx-seg{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes clx-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
.clx-rise,.clx-rise-2,.clx-pulse{animation:none}
.clx-btn,.clx-contact{transition:none}
.clx-btn:active{transform:none}
}

/* ---- Base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#0D0D0F}
img,svg{max-width:100%}
.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}
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:999px;background:#FFFFFF;color:#000000;font:500 15px var(--font-sans);text-decoration:none;transition:top var(--dur-2) var(--ease)}
.skip-link:focus{top:16px}
/* Link de texto secundário (e-mail na seção de contato) */
.clx-alt a{font-weight:500}
