:root {
  --paper:#FFFFFF; --surface:#FBF9F8; --raised:#F7F3F3; --line:#ECE8E6; --line-strong:#DED8D6;
  --body:#1A1C20; --muted:#5C5F66; --link:#AA0D13; --action:#D01018; --action-hover:#AA0D13;
  --brand:#ED1C24; --tint:#FCDEDF; --ink:#0E0F12; --focus:#D01018; --gradient:linear-gradient(120deg,#ED1C24,#F15A29);
  --max:1200px; --ease:cubic-bezier(.2,.6,.2,1);
}
@media (prefers-color-scheme: dark) {
  :root { --paper:#0E0F12; --surface:#17191D; --raised:#202327; --line:#2C2F34; --line-strong:#3C4046; --body:#ECEAE8; --muted:#A3A1A0; --link:#F2555B; --action:#D01018; --action-hover:#E8323A; --brand:#F2555B; --tint:#2A1416; --ink:#17191D; --focus:#F2555B; }
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:84px; }
body { margin:0; background:var(--paper); color:var(--body); font:400 16px/1.55 "IBM Plex Sans",sans-serif; overflow-x:hidden; }
button,input { font:inherit; }
button { cursor:pointer; }
a { color:var(--link); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--action-hover); }
a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Outfit,sans-serif; color:var(--body); }
h1 { max-width:900px; margin-bottom:28px; font-size:clamp(2.4rem,6vw,4.5rem); line-height:1.02; letter-spacing:-.035em; font-weight:700; }
h1 span { color:var(--brand); }
h2 { max-width:760px; margin-bottom:32px; font-size:clamp(1.8rem,3.6vw,2.75rem); line-height:1.1; letter-spacing:-.025em; font-weight:600; }
h3 { margin-bottom:8px; font-size:1.25rem; line-height:1.3; letter-spacing:-.015em; font-weight:600; }
.container { width:min(var(--max),calc(100% - 32px)); margin:0 auto; }
.skip-link { position:absolute; z-index:20; top:-60px; left:16px; padding:10px 14px; background:var(--action); color:#fff; font-weight:600; text-decoration:none; }
.skip-link:focus { top:16px; }
.site-header { position:sticky; z-index:10; top:0; background:color-mix(in srgb,var(--paper) 94%,transparent); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.header-inner { display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:block; line-height:0; text-decoration:none; }
.brand img { width:auto; height:30px; }
.primary-nav { display:flex; gap:28px; margin-left:auto; }
.primary-nav a { color:var(--body); font-weight:600; text-decoration:none; }
.primary-nav a:hover { color:var(--link); }
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:4px; padding:11px 16px; font:600 15px/1 "IBM Plex Sans",sans-serif; text-decoration:none; transition:background-color 150ms var(--ease),border-color 150ms var(--ease),color 150ms var(--ease),transform 200ms var(--ease); }
.button:hover { transform:translateY(-1px); }
.button-primary { background:var(--action); color:#fff; }
.button-primary:hover { background:var(--action-hover); color:#fff; }
.button-secondary { border-color:var(--line-strong); background:transparent; color:var(--body); }
.button-secondary:hover { background:var(--raised); color:var(--body); }
.header-cta { flex:none; }
.hero { position:relative; overflow:hidden; padding:128px 0 112px; }
.hero-wash { position:absolute; z-index:-1; right:-10%; bottom:-72%; width:min(650px,80vw); aspect-ratio:1; border-radius:50%; background:var(--gradient); opacity:.07; filter:blur(3px); }
.hero-content { position:relative; }
.kicker,.card-label { margin-bottom:12px; color:var(--link); font:500 13px/1.3 "IBM Plex Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
.hero-lead { max-width:750px; margin-bottom:32px; color:var(--muted); font-size:1.125rem; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; }
.stats-strip,.section-surface { background:var(--surface); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:38px 0; }
.stat { border-left:1px solid var(--line); padding-left:20px; }
.stat strong { display:block; font:700 clamp(1.65rem,3.2vw,2.35rem)/1.1 "IBM Plex Mono",monospace; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.stat span { display:block; margin-top:8px; color:var(--muted); }
.section { padding:96px 0; }
.split-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:64px; margin-bottom:48px; }
.split-heading h2 { margin-bottom:0; }
.split-heading > p { max-width:480px; margin:0; color:var(--muted); }
.role-category + .role-category { margin-top:56px; }
.category-title { margin:0 0 24px; padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--body); font:600 15px/1.3 Outfit,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.roles-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.role-card { scroll-margin-top:92px; border:1px solid var(--line); border-radius:10px; padding:28px; background:var(--paper); transition:border-color 150ms var(--ease),box-shadow 150ms var(--ease); }
.role-card.is-highlighted { border:2px solid var(--action); box-shadow:0 0 0 2px var(--tint); }
.role-top { display:flex; justify-content:space-between; gap:16px; }
.role-title { margin-bottom:4px; font-size:1.4rem; }
.role-level { margin:0; color:var(--muted); }
.role-actions { display:flex; flex:none; gap:8px; align-items:flex-start; }
.icon-button { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:4px; background:transparent; color:var(--body); }
.icon-button:hover { background:var(--raised); }
.icon { width:18px; height:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.75; }
.role-meta { display:flex; flex-wrap:wrap; gap:14px; margin:22px 0 16px; color:var(--link); font-size:.9375rem; }
.role-meta span { display:inline-flex; align-items:center; gap:6px; }
.meta-icon { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.role-summary { margin-bottom:18px; color:var(--muted); }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 20px; padding:0; list-style:none; }
.tags li,.chips li { border-radius:99px; background:var(--raised); padding:5px 9px; font:500 12px/1.2 "IBM Plex Mono",monospace; }
.role-expander { border:0; padding:3px 0; background:transparent; color:var(--link); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.role-details[hidden] { display:none; }
.role-details { margin-top:18px; padding-top:20px; border-top:1px solid var(--line); }
.role-details h4 { margin:20px 0 6px; font:600 1rem/1.3 Outfit,sans-serif; }
.role-details ul { margin:0; padding-left:20px; color:var(--muted); }
.role-details .button { margin-top:24px; }
.steps { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin:0 0 48px; padding:0; list-style:none; }
.steps li { min-width:0; }
.steps span { display:block; margin-bottom:16px; color:var(--link); font:500 1rem/1 "IBM Plex Mono",monospace; }
.steps p { margin:0; color:var(--muted); }
.source-row { display:flex; align-items:flex-start; gap:20px; border-top:1px solid var(--line); padding-top:24px; }
.source-row > span { flex:none; padding:5px 0; color:var(--muted); font-weight:600; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.chips li { background:var(--tint); color:var(--link); }
.table-scroll { overflow-x:auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
table { width:100%; min-width:680px; border-collapse:collapse; text-align:left; }
th,td { padding:17px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
thead th { color:var(--muted); font-weight:600; }
tbody th { font-weight:600; }
tbody tr:last-child > * { border-bottom:0; }
.mono,.price-card strong { font-family:"IBM Plex Mono",monospace; font-variant-numeric:tabular-nums; }
.amysa-column { font-weight:700; }
.fine-print { max-width:760px; margin:14px 0 0; color:var(--muted); font-size:.875rem; }
.pricing-grid { display:grid; grid-template-columns:1.45fr 1fr 1fr; gap:18px; }
.price-card { min-height:238px; border:1px solid var(--line); border-radius:6px; padding:28px; background:var(--paper); }
.price-card strong { display:block; margin:22px 0; color:var(--link); font-size:clamp(1.7rem,3vw,2.5rem); line-height:1; letter-spacing:-.06em; }
.price-main { background:var(--raised); }
.price-main strong { color:var(--body); }
.price-card p:last-child { margin-bottom:0; color:var(--muted); }
.guarantees-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.guarantees-grid article { border:1px solid var(--line); border-radius:6px; padding:24px; }
.guarantees-grid p { margin:0; color:var(--muted); }
.brief-section { padding:96px 0; background:var(--ink); color:#ECEAE8; }
.brief-section .brief-inner { display:flex; align-items:center; justify-content:space-between; gap:48px; }
.brief-section h2 { color:#fff; margin-bottom:16px; }
.brief-section .kicker { color:#F2555B; }
.brief-section p:not(.kicker) { max-width:600px; margin-bottom:0; color:#A3A1A0; }
.email-box { display:flex; min-width:min(100%,410px); flex-direction:column; gap:12px; border:1px solid #3C4046; border-radius:10px; padding:24px; background:#17191D; }
.email-address { color:#fff; font:500 1rem/1.4 "IBM Plex Mono",monospace; overflow-wrap:anywhere; }
.email-box .button-secondary { border-color:#3C4046; color:#ECEAE8; }
.email-box .button-secondary:hover { background:#202327; }
.site-footer { border-top:1px solid var(--line); padding:24px 0; color:var(--muted); font-size:.875rem; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }
.footer-inner p { margin:0; }
.footer-inner div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:16px; }
.footer-button { border:0; padding:0; background:transparent; color:var(--link); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.toast { position:fixed; z-index:30; left:50%; bottom:24px; transform:translate(-50%,80px); border-radius:4px; padding:10px 14px; background:var(--body); color:var(--paper); font-weight:600; opacity:0; pointer-events:none; transition:transform 200ms var(--ease),opacity 150ms var(--ease); }
.toast.show { transform:translate(-50%,0); opacity:1; }
.cookie-banner { position:fixed; z-index:25; right:16px; bottom:16px; left:16px; display:flex; max-width:1060px; margin:auto; align-items:center; justify-content:space-between; gap:24px; border:1px solid var(--line-strong); border-radius:10px; padding:22px; background:var(--paper); box-shadow:0 10px 35px rgba(14,15,18,.22); }
.cookie-banner[hidden] { display:none; }
.cookie-banner h2 { margin-bottom:6px; font-size:1.25rem; letter-spacing:-.015em; }
.cookie-banner p { max-width:650px; margin:0; color:var(--muted); font-size:.9375rem; }
.cookie-actions { display:flex; flex:none; flex-wrap:wrap; gap:9px; justify-content:flex-end; align-items:center; }
.text-button { border:0; padding:8px; background:transparent; color:var(--link); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cookie-dialog { width:min(620px,calc(100% - 32px)); max-height:calc(100vh - 32px); border:1px solid var(--line-strong); border-radius:10px; padding:28px; background:var(--paper); color:var(--body); }
.cookie-dialog::backdrop { background:rgba(14,15,18,.55); }
.cookie-dialog h2 { margin-bottom:24px; font-size:1.8rem; }
.dialog-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border:0; border-radius:4px; background:transparent; color:var(--body); font-size:1.75rem; line-height:1; }
.dialog-close:hover { background:var(--raised); }
.setting-row { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:20px 0; }
.setting-row h3 { margin-bottom:4px; font-size:1.1rem; }
.setting-row p { max-width:430px; margin:0; color:var(--muted); font-size:.9375rem; }
.setting-row strong { flex:none; color:var(--muted); font:500 .8125rem/1.2 "IBM Plex Mono",monospace; }
.switch { position:relative; flex:none; display:block; width:50px; height:28px; }
.switch input { position:absolute; opacity:0; }
.switch span { display:block; height:100%; overflow:hidden; border:1px solid var(--line-strong); border-radius:99px; background:var(--raised); color:transparent; }
.switch span::after { content:""; position:absolute; top:4px; left:4px; width:18px; height:18px; border-radius:50%; background:var(--muted); transition:transform 150ms var(--ease),background-color 150ms var(--ease); }
.switch input:checked + span { background:var(--tint); border-color:var(--link); }
.switch input:checked + span::after { transform:translateX(21px); background:var(--link); }
.switch input:focus-visible + span { outline:2px solid var(--focus); outline-offset:2px; }
.dialog-actions { display:flex; flex-wrap:wrap; gap:10px; padding-top:8px; }
.legal-main { padding:80px 0 96px; }
.legal-header { display:flex; min-height:76px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.legal-header .brand { margin-left:16px; }
.back-link { margin-right:16px; font-weight:600; }
.reading-column { width:min(760px,calc(100% - 32px)); margin:0 auto; }
.legal-heading { margin-bottom:36px; }
.legal-heading h1 { margin-bottom:10px; font-size:clamp(2.4rem,6vw,4rem); }
.legal-heading p { margin:0; color:var(--muted); }
.legal-content h2 { margin:46px 0 14px; font-size:1.55rem; letter-spacing:-.015em; }
.legal-content p { margin-bottom:18px; }
.legal-content ul { margin:0 0 18px; padding-left:22px; }
.legal-content li { margin-bottom:8px; }
.legal-content .table-scroll { margin:24px 0; }
.legal-footer { border-top:1px solid var(--line); padding:24px 16px; color:var(--muted); font-size:.875rem; text-align:center; }
.legal-footer p { margin:0; }
@media (max-width: 900px) { .steps { grid-template-columns:repeat(2,1fr); } .steps li:last-child { grid-column:span 2; max-width:50%; } .brief-section .brief-inner { align-items:flex-start; flex-direction:column; } .email-box { width:100%; } }
@media (max-width: 820px) { .roles-grid { grid-template-columns:1fr; } .pricing-grid { grid-template-columns:1fr; } .price-card { min-height:0; } .guarantees-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 700px) { .primary-nav { display:none; } .header-inner { min-height:68px; gap:12px; } .brand img { height:26px; } .header-cta { padding-right:12px; padding-left:12px; } .hero { padding:88px 0 76px; } .section { padding:64px 0; } .split-heading { display:block; margin-bottom:36px; } .split-heading > p { margin-top:18px; } .stats-grid { grid-template-columns:repeat(2,1fr); gap:24px 8px; } .stat { padding-left:12px; } .steps { grid-template-columns:1fr; } .steps li:last-child { grid-column:auto; max-width:none; } .source-row { display:block; } .source-row > span { display:block; margin-bottom:12px; } .footer-inner { flex-direction:column; } .footer-inner div { justify-content:flex-start; gap:10px 16px; } .cookie-banner { align-items:flex-start; flex-direction:column; } .cookie-actions { justify-content:flex-start; } }
@media (max-width: 500px) { .container,.reading-column { width:calc(100% - 32px); } h1 { font-size:2.4rem; } .role-card { padding:20px; } .role-top { flex-direction:column; } .role-actions { justify-content:space-between; } .role-actions .button { flex:1; } .guarantees-grid { grid-template-columns:1fr; } .cookie-banner { right:8px; bottom:8px; left:8px; padding:18px; } .cookie-actions .button { flex:1; min-width:calc(50% - 5px); } .setting-row { align-items:flex-start; flex-direction:column; } .dialog-actions .button { width:100%; } .legal-main { padding:56px 0 64px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:0ms !important; animation-duration:0ms !important; animation-iteration-count:1 !important; } }
