*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--primary:224 64% 33%;--primary-fg:210 40% 98%;
--accent:38 92% 50%;--accent-fg:222 47% 11%;
--bg:210 20% 98%;--fg:222 47% 11%;
--muted:210 40% 96.1%;--muted-fg:215.4 16.3% 46.9%;
--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;
--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;
--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;
--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;
--amber-400:#fbbf24;--amber-500:#f59e0b;
--emerald-50:#ecfdf5;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;
--rose-50:#fff1f2;--rose-400:#fb7185;--rose-500:#f43f5e;--rose-600:#e11d48;
--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;
--indigo-600:#4f46e5;--cyan-400:#22d3ee;
--radius:0.25rem;
}
html{-webkit-text-size-adjust:100%;line-height:1.5;scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:hsl(var(--fg));background:hsl(var(--bg));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',system-ui,sans-serif;letter-spacing:-0.025em;line-height:1.1}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:768px){.container{padding:0 1.5rem}}

/* Grid & Flex */
.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}
.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:start}.items-end{align-items:end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,1fr)}
.grid-cols-2{grid-template-columns:repeat(2,1fr)}
.grid-cols-3{grid-template-columns:repeat(3,1fr)}
@media(min-width:768px){
.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}
.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}
.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}
.md\:flex-row{flex-direction:row}
.md\:w-1\/2{width:50%}
.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}
.md\:p-16{padding:4rem}
.md\:p-12{padding:3rem}
.md\:py-28{padding-top:7rem;padding-bottom:7rem}
.md\:py-32{padding-top:8rem;padding-bottom:8rem}
.md\:text-5xl{font-size:3rem}
.md\:text-6xl{font-size:3.75rem}
.md\:text-7xl{font-size:4.5rem}
.md\:text-xl{font-size:1.25rem}
.md\:text-2xl{font-size:1.5rem}
.md\:text-base{font-size:1rem}
.md\:block{display:block}
.md\:flex{display:flex}
.md\:hidden{display:none}
}
@media(min-width:1024px){
.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}
.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}
.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}
.lg\:col-span-2{grid-column:span 2}
.lg\:col-span-5{grid-column:span 5}
.lg\:col-span-7{grid-column:span 7}
.lg\:grid-cols-12{grid-template-columns:repeat(12,1fr)}
}

/* Spacing */
.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-28{padding-top:7rem;padding-bottom:7rem}
.pb-0{padding-bottom:0}.pb-24{padding-bottom:6rem}
.pt-16{padding-top:4rem}
.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}
.mb-20{margin-bottom:5rem}
.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}
.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.mx-auto{margin-left:auto;margin-right:auto}
.-mt-16{margin-top:-4rem}

/* Sizing */
.w-full{width:100%}.w-3{width:0.75rem}.w-8{width:2rem}.w-12{width:3rem}.w-16{width:4rem}
.h-3{height:0.75rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}
.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}
.min-h-screen{min-height:100vh}
.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}
.max-w-none{max-width:none}
.aspect-square{aspect-ratio:1/1}.aspect-3-4{aspect-ratio:3/4}

/* Typography */
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem}
.font-light{font-weight:300}.font-medium{font-weight:500}
.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.tracking-tight{letter-spacing:-0.025em}
.tracking-wide{letter-spacing:0.025em}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.uppercase{text-transform:uppercase}
.text-center{text-align:center}.text-left{text-align:left}
.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.font-heading{font-family:'Montserrat',system-ui,sans-serif}
.font-mono{font-family:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* Colors */
.text-white{color:#fff}
.text-slate-300{color:var(--slate-300)}.text-slate-400{color:var(--slate-400)}
.text-slate-500{color:var(--slate-500)}.text-slate-600{color:var(--slate-600)}
.text-slate-700{color:var(--slate-700)}.text-slate-800{color:var(--slate-800)}
.text-slate-900{color:var(--slate-900)}
.text-primary{color:hsl(var(--primary))}.text-primary-fg{color:hsl(var(--primary-fg))}
.text-accent{color:hsl(var(--accent))}
.text-blue-400{color:var(--blue-400)}.text-blue-600{color:var(--blue-600)}
.text-amber-400{color:var(--amber-400)}
.text-emerald-400{color:var(--emerald-400)}.text-emerald-600{color:var(--emerald-600)}
.text-rose-400{color:var(--rose-400)}.text-rose-600{color:var(--rose-600)}
.text-violet-400{color:var(--violet-400)}.text-violet-600{color:var(--violet-600)}
.text-indigo-600{color:var(--indigo-600)}.text-cyan-400{color:var(--cyan-400)}
.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}
.text-green-500{color:#22c55e}
.text-muted{color:hsl(var(--muted-fg))}

.bg-white{background:white}.bg-transparent{background:transparent}
.bg-slate-50{background:var(--slate-50)}.bg-slate-100{background:var(--slate-100)}
.bg-slate-200{background:var(--slate-200)}.bg-slate-800{background:var(--slate-800)}
.bg-slate-900{background:var(--slate-900)}.bg-slate-950{background:var(--slate-950)}
.bg-primary{background:hsl(var(--primary))}
.bg-accent{background:hsl(var(--accent))}
.bg-blue-50{background:var(--blue-50)}.bg-emerald-50{background:var(--emerald-50)}
.bg-rose-50{background:var(--rose-50)}

/* Borders & Rounded */
.border{border:1px solid var(--slate-200)}
.border-b{border-bottom:1px solid var(--slate-200)}
.border-t{border-top:1px solid var(--slate-200)}
.border-slate-100{border-color:var(--slate-100)}.border-slate-200{border-color:var(--slate-200)}
.border-slate-700{border-color:var(--slate-700)}.border-slate-800{border-color:var(--slate-800)}
.border-accent{border-color:hsl(var(--accent))}
.border-b-8{border-bottom:8px solid}
.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}

/* Shadows */
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,0.05)}
.shadow{box-shadow:0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}

/* Positioning */
.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}
.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}

/* Display */
.block{display:block}.inline{display:inline}.inline-flex{display:inline-flex}
.hidden{display:none}
@media(max-width:767px){.mobile-hide{display:none}}

/* Misc */
.object-cover{object-fit:cover}
.transition-all{transition:all 150ms ease}
.transition-colors{transition:color 150ms,background-color 150ms,border-color 150ms}
.cursor-pointer{cursor:pointer}
.shrink-0{flex-shrink:0}
.opacity-0{opacity:0}.opacity-5{opacity:0.05}.opacity-10{opacity:0.1}
.opacity-15{opacity:0.15}.opacity-20{opacity:0.2}
.whitespace-nowrap{white-space:nowrap}
.resize-none{resize:none}

/* Feature cards */
.feature-card{position:relative;border-radius:1rem;border:1px solid;padding:2rem;transition:transform 200ms}
.feature-card:hover{transform:scale(1.02)}
.feature-card.blue{background:linear-gradient(to bottom,rgba(59,130,246,0.12),rgba(59,130,246,0.03));border-color:rgba(59,130,246,0.2)}
.feature-card.amber{background:linear-gradient(to bottom,rgba(245,158,11,0.12),rgba(245,158,11,0.03));border-color:rgba(245,158,11,0.2)}
.feature-card.emerald{background:linear-gradient(to bottom,rgba(16,185,129,0.12),rgba(16,185,129,0.03));border-color:rgba(16,185,129,0.2)}
.feature-card.violet{background:linear-gradient(to bottom,rgba(139,92,246,0.12),rgba(139,92,246,0.03));border-color:rgba(139,92,246,0.2)}
.feature-card.rose{background:linear-gradient(to bottom,rgba(244,63,94,0.12),rgba(244,63,94,0.03));border-color:rgba(244,63,94,0.2)}
.feature-card.cyan{background:linear-gradient(to bottom,rgba(34,211,238,0.12),rgba(34,211,238,0.03));border-color:rgba(34,211,238,0.2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border-radius:0.5rem;font-size:1rem;padding:0.75rem 2rem;transition:all 150ms;cursor:pointer;border:none;line-height:1.5;white-space:nowrap}
.btn-accent{background:hsl(var(--accent));color:var(--slate-950)}
.btn-accent:hover{opacity:0.9}
.btn-outline{background:transparent;border:1px solid var(--slate-700);color:white}
.btn-outline:hover{background:var(--slate-800)}
.btn-primary{background:hsl(var(--primary));color:white}
.btn-primary:hover{opacity:0.9}
.btn-outline-accent{background:transparent;border:1px solid hsl(var(--accent));color:hsl(var(--accent))}
.btn-outline-accent:hover{background:hsl(var(--accent));color:var(--slate-950)}
.btn-lg{padding:0.875rem 2rem;font-size:1.125rem;height:3.5rem}
.btn-sm{padding:0.5rem 1.25rem;font-size:0.875rem}

/* Forms */
.form-label{display:block;font-weight:600;color:var(--slate-700);margin-bottom:0.5rem;font-size:0.875rem}
.form-input{display:block;width:100%;padding:0.75rem 1rem;border:1px solid var(--slate-200);border-radius:0.75rem;background:var(--slate-50);font-size:1rem;font-family:inherit;color:var(--slate-900);transition:border-color 150ms}
.form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/0.1)}
.form-input-lg{height:3.5rem}
textarea.form-input{min-height:10rem;resize:none}
select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}

/* Badge */
.badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:9999px;font-size:0.75rem;font-weight:600;letter-spacing:0.025em}
.badge-accent{border:1px solid hsl(var(--accent)/0.3);background:hsl(var(--accent)/0.1);color:hsl(var(--accent))}
.badge-blue{border:1px solid rgba(59,130,246,0.3);background:rgba(59,130,246,0.1);color:var(--blue-400)}
.badge-emerald{border:1px solid rgba(16,185,129,0.3);background:rgba(16,185,129,0.1);color:var(--emerald-400)}
.badge-secondary{background:var(--slate-100);color:var(--slate-700);padding:0.375rem 0.75rem;border-radius:0.375rem;font-weight:500}

/* Division icon box */
.icon-box{width:4rem;height:4rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid}
.icon-box.blue{background:var(--blue-50);color:var(--blue-600);border-color:rgba(59,130,246,0.2)}
.icon-box.slate{background:var(--slate-100);color:var(--slate-700);border-color:rgba(100,116,139,0.2)}
.icon-box.rose{background:var(--rose-50);color:var(--rose-600);border-color:rgba(244,63,94,0.2)}
.icon-box.emerald{background:var(--emerald-50);color:var(--emerald-600);border-color:rgba(16,185,129,0.2)}
.icon-box.indigo{background:#eef2ff;color:var(--indigo-600);border-color:rgba(79,70,229,0.2)}
.icon-box.violet{background:#f5f3ff;color:var(--violet-600);border-color:rgba(139,92,246,0.2)}
.icon-box.amber{background:#fffbeb;color:var(--amber-500);border-color:rgba(245,158,11,0.2)}

/* Vertical card */
.v-card{border:1px solid var(--slate-200);border-radius:1rem;background:white;padding:2rem;display:flex;flex-direction:column;height:100%;transition:all 200ms}
.v-card:hover{border-color:hsl(var(--primary)/0.3);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1)}

/* O&O site cards (dark bg) */
.oo-site-card{background:rgba(15,23,42,0.6);border:1px solid var(--slate-800);border-radius:1rem;padding:0;display:flex;flex-direction:column;height:100%;transition:all 200ms;overflow:hidden}
.oo-site-card:hover{border-color:hsl(var(--accent)/0.4);box-shadow:0 20px 25px -5px rgba(0,0,0,0.25);transform:translateY(-2px)}
.oo-site-header{display:flex;align-items:flex-start;gap:0.75rem;padding:0 1.25rem;min-width:0}
.oo-site-card > .oo-site-header:first-child{padding-top:1.25rem}
.oo-site-card > p{padding:0 1.25rem}
.oo-site-card > div:last-child{padding:0 1.25rem 1.25rem}
.oo-site-icon{width:2.25rem;height:2.25rem;border-radius:0.75rem;background:hsl(224 64% 33%);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:white;margin-top:0.1rem}
.oo-site-header > div:last-child{min-width:0;overflow:hidden}
.oo-site-header h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:0.95rem}
.oo-site-header span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:0.8rem}
.oo-site-thumb{width:100%;height:160px;overflow:hidden;border-bottom:1px solid var(--slate-800);margin-bottom:1rem}
.oo-site-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 300ms}
.oo-site-card:hover .oo-site-thumb img{transform:scale(1.03)}
.oo-card-btn{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.8125rem;font-weight:600;transition:all 150ms;cursor:pointer;text-decoration:none;line-height:1}
.oo-card-btn-primary{background:hsl(var(--accent));color:hsl(224 64% 13%);box-shadow:0 2px 8px hsl(var(--accent)/0.3)}
.oo-card-btn-primary:hover{background:hsl(38 92% 55%);box-shadow:0 4px 12px hsl(var(--accent)/0.4)}
.oo-card-btn-outline{background:transparent;border:1px solid rgba(148,163,184,0.3);color:var(--slate-300)}
.oo-card-btn-outline:hover{border-color:hsl(var(--accent)/0.5);color:hsl(var(--accent))}
.oo-site-card:hover .oo-card-btn-primary{background:hsl(38 92% 55%);transform:translateX(2px)}
.oo-card-btn:focus-visible,.oo-card-btn-primary:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}
a[data-testid^="card-portfolio-"]:focus-visible,a[data-testid^="card-oosite-"]:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px;border-radius:1rem}
.oo-card-btn-light{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.8125rem;font-weight:600;line-height:1;transition:all 150ms;cursor:pointer;text-decoration:none;background:hsl(224 64% 33%);color:white;box-shadow:0 2px 8px rgba(30,58,138,0.2)}
.oo-card-btn-light:hover{background:hsl(224 64% 40%);box-shadow:0 4px 12px rgba(30,58,138,0.3)}
.v-card:hover .oo-card-btn-light{background:hsl(224 64% 40%);transform:translateX(2px)}
.oo-card-btn-light:focus-visible{outline:2px solid hsl(224 64% 33%);outline-offset:2px}
.oo-visit-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.625rem 1.25rem;border-radius:0.5rem;border:1px solid rgba(255,255,255,0.25);color:white;font-size:0.875rem;font-weight:600;text-decoration:none;transition:all 150ms;background:rgba(255,255,255,0.06)}
.oo-visit-btn:hover,.oo-visit-btn:focus-visible{border-color:hsl(38 92% 50%);color:hsl(38 92% 60%);background:rgba(217,158,46,0.08)}
.oo-visit-btn:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}
.oo-site-thumb-light{width:100%;height:180px;overflow:hidden;border-bottom:1px solid var(--slate-200);margin-bottom:1rem;border-radius:0.75rem 0.75rem 0 0}
.oo-site-thumb-light img{width:100%;height:100%;object-fit:cover;object-position:top}

/* Ping-post visual */
.pp-terminal{background:var(--slate-950);border-radius:1.5rem;border:1px solid var(--slate-800);padding:2rem;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.pp-dot{width:0.75rem;height:0.75rem;border-radius:50%}
.pp-step{background:rgba(15,23,42,0.8);border-radius:0.75rem;padding:1rem;border:1px solid var(--slate-800)}
.pp-bid{background:rgba(15,23,42,0.8);border-radius:0.5rem;padding:0.75rem;border:1px solid var(--slate-800)}
.pp-bid.winner{border-color:hsl(var(--accent)/0.5);box-shadow:0 10px 15px hsl(var(--accent)/0.1)}
.pp-divider{display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.5rem 0}
.pp-line{width:2rem;height:1px;background:var(--slate-700)}
.pp-result{background:rgba(16,185,129,0.1);border-radius:0.75rem;padding:1rem;border:1px solid rgba(16,185,129,0.2)}

/* IVR step */
.ivr-step{display:flex;align-items:center;gap:1rem;padding:0.25rem 0}
.ivr-icon{width:3rem;height:3rem;border-radius:0.75rem;display:flex;align-items:center;justify-content:center;border:1px solid;flex-shrink:0}
.ivr-icon.blue{background:rgba(59,130,246,0.1);border-color:rgba(59,130,246,0.3);color:var(--blue-400)}
.ivr-icon.violet{background:rgba(139,92,246,0.1);border-color:rgba(139,92,246,0.3);color:var(--violet-400)}
.ivr-icon.amber{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.3);color:var(--amber-400)}
.ivr-icon.emerald{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.3);color:var(--emerald-400)}
.ivr-icon.accent{background:hsl(var(--accent)/0.1);border-color:hsl(var(--accent)/0.3);color:hsl(var(--accent))}

/* Infra card */
.infra-card{background:var(--slate-950);border-radius:1rem;border:1px solid var(--slate-800);padding:2rem;transition:border-color 150ms}
.infra-card:hover{border-color:var(--slate-700)}

/* Value card */
.value-card{padding:2rem;border-radius:1rem;border:1px solid var(--slate-800);background:var(--slate-900);transition:background 150ms}
.value-card:hover{background:rgba(30,41,59,0.8)}
.value-icon{background:var(--slate-950);display:inline-flex;padding:1rem;border-radius:0.75rem;margin-bottom:1.5rem}

/* Login split */
.login-split{display:flex;flex-direction:column;min-height:calc(100vh - 5rem)}
@media(min-width:768px){.login-split{flex-direction:row}}
.login-panel{padding:2rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
@media(min-width:768px){.login-panel{padding:4rem;width:50%}}
.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:1rem}
@media(min-width:768px){.login-form-wrap{padding:2rem;width:50%}}
.login-card{width:100%;max-width:28rem;background:white;border-radius:1.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);overflow:hidden}

/* Code block */
.code-block{background:var(--slate-900);color:var(--slate-300);padding:1rem;border-radius:0.5rem;overflow-x:auto;font-size:0.875rem;font-family:ui-monospace,SFMono-Regular,monospace;line-height:1.625;white-space:pre-wrap}

/* Endpoint card */
.ep-card{background:var(--slate-50);border-radius:0.75rem;border:1px solid var(--slate-200);overflow:hidden;margin-bottom:2.5rem}
.ep-header{padding:1rem 1.5rem;border-bottom:1px solid var(--slate-200);display:flex;align-items:center;gap:0.75rem}
.ep-method{padding:0.25rem 0.625rem;border-radius:0.25rem;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}
.ep-method.get{background:#dcfce7;color:#15803d}
.ep-method.post{background:#dbeafe;color:#1d4ed8}
.ep-body{padding:1.5rem}
.ep-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--slate-500);margin-bottom:0.5rem}

/* Table */
.data-table{width:100%}
.data-table th{padding:0.75rem 1.5rem;text-align:left;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--slate-500);border-bottom:1px solid var(--slate-200)}
.data-table td{padding:0.75rem 1.5rem;font-size:0.875rem;color:var(--slate-600);border-bottom:1px solid var(--slate-100)}
.data-table tr:last-child td{border-bottom:none}
code{background:var(--slate-200);padding:0.125rem 0.375rem;border-radius:0.25rem;font-size:0.875rem;font-family:ui-monospace,SFMono-Regular,monospace}

/* Radial gradient overlays */
.gradient-overlay-tr{position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(59,130,246,0.1),transparent 60%)}
.gradient-overlay-bl{position:absolute;inset:0;background:radial-gradient(ellipse at bottom left,rgba(234,179,8,0.06),transparent 60%)}
.gradient-overlay-center{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(59,130,246,0.05),transparent 70%)}
.gradient-overlay-center-gold{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(234,179,8,0.08),transparent 60%)}
.gradient-overlay-right{position:absolute;inset:0;background:radial-gradient(ellipse at right,rgba(234,179,8,0.06),transparent 60%)}
.gradient-overlay-left-green{position:absolute;inset:0;background:radial-gradient(ellipse at left,rgba(16,185,129,0.06),transparent 60%)}
.bg-grid{background-image:radial-gradient(hsl(var(--primary)/0.1) 1px,transparent 1px);background-size:32px 32px}

/* Gradient text */
.gradient-text{-webkit-background-clip:text;background-clip:text;color:transparent}
.gradient-text-gold{background-image:linear-gradient(to right,hsl(var(--accent)),#fde68a)}
.gradient-text-blue{background-image:linear-gradient(to right,var(--blue-400),hsl(var(--accent)),#fde68a)}
.gradient-text-white{background-image:linear-gradient(to bottom right,white,var(--slate-400))}

/* Hero specific */
.hero{position:relative;background:var(--slate-950);color:white;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:85vh}
.hero-sm{min-height:70vh}
.hero-bg{position:absolute;inset:0;opacity:0.15}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(to right,var(--slate-950),rgba(2,6,23,0.9),rgba(2,6,23,0.6))}

/* CTA section */
.cta-section{position:relative;padding:7rem 0;background:var(--slate-950);color:white;overflow:hidden}

/* Navbar */
.navbar{position:sticky;top:0;z-index:50;width:100%;border-bottom:1px solid var(--slate-200);background:rgba(255,255,255,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;height:5rem}
.nav-logo{display:flex;align-items:center;gap:0.5rem;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.25rem;color:hsl(var(--fg));letter-spacing:-0.025em}
.nav-logo svg{color:hsl(var(--primary))}
.nav-links{display:none;align-items:center;gap:1.5rem}
@media(min-width:768px){.nav-links{display:flex}}
.nav-links a{font-size:0.875rem;font-weight:500;color:var(--slate-600);transition:color 150ms}
.nav-links a:hover,.nav-links a.active{color:hsl(var(--primary));font-weight:600}
.nav-dropdown{position:relative}
.nav-dropdown>a{display:inline-flex;align-items:center}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:200px;background:white;border:1px solid var(--slate-200);border-radius:0.75rem;box-shadow:0 10px 25px rgba(0,0,0,0.1);padding:0.5rem;padding-top:0.75rem;z-index:60}
.nav-dropdown::after{content:'';position:absolute;top:100%;left:0;right:0;height:1rem}
.nav-dropdown:hover .nav-dropdown-menu{display:flex;flex-direction:column}
.nav-dropdown-menu a{display:block;padding:0.5rem 0.75rem;border-radius:0.5rem;font-size:0.8125rem;font-weight:500;color:var(--slate-600);transition:all 150ms;white-space:nowrap}
.nav-dropdown-menu a:hover{background:var(--slate-50);color:hsl(var(--primary))}
.nav-actions{display:none;align-items:center;gap:0.75rem}
@media(min-width:768px){.nav-actions{display:flex}}
.nav-mobile-toggle{display:flex;align-items:center;padding:0.5rem;background:none;border:none;cursor:pointer;color:var(--slate-600)}
@media(min-width:768px){.nav-mobile-toggle{display:none}}
.nav-mobile{display:none;flex-direction:column;padding:1rem;background:white;border-bottom:1px solid var(--slate-200)}
.nav-mobile.open{display:flex}
.nav-mobile a{padding:0.75rem 0;font-size:0.875rem;font-weight:500;color:var(--slate-600);border-bottom:1px solid var(--slate-100)}
.nav-mobile a:last-child{border:none}

/* Footer */
.site-footer{background:var(--slate-950);color:var(--slate-300);padding:4rem 0 0}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-brand{display:flex;align-items:center;gap:0.5rem;margin-bottom:1.5rem;color:white;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.25rem}
.footer-brand svg{color:hsl(var(--accent))}
.footer-heading{color:white;font-family:'Montserrat',sans-serif;font-weight:600;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1.25rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.75rem}
.footer-links a{font-size:0.875rem;color:var(--slate-400);transition:color 150ms}
.footer-links a:hover{color:hsl(var(--accent))}
.footer-bottom{margin-top:3rem;border-top:1px solid var(--slate-800);padding:2rem 0;display:flex;flex-direction:column;gap:1rem;align-items:center}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.75rem;color:var(--slate-500);transition:color 150ms}
.footer-legal a:hover{color:var(--slate-300)}

/* Alert banner */
.alert-success{background:#dcfce7;border:1px solid #86efac;color:#166534;padding:1rem 1.5rem;border-radius:0.75rem;margin-bottom:1.5rem;font-size:0.875rem;font-weight:500}
.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:1rem 1.5rem;border-radius:0.75rem;margin-bottom:1.5rem;font-size:0.875rem;font-weight:500}

/* SVG icon sizing inside components */
.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}.icon-lg{width:1.5rem;height:1.5rem}
.icon-xl{width:2rem;height:2rem}.icon-2xl{width:2.5rem;height:2.5rem}

/* Check icon for lists */
.check-list{list-style:none;display:flex;flex-direction:column;gap:1rem}
.check-list li{display:flex;align-items:flex-start;gap:0.75rem;color:var(--slate-300)}
.check-list li svg{flex-shrink:0;margin-top:0.125rem}

/* Contact info section */
.contact-info-item{display:flex;align-items:flex-start;gap:1.25rem}
.contact-info-icon{background:white;padding:1rem;border-radius:1rem;color:hsl(var(--primary));box-shadow:0 1px 2px rgba(0,0,0,0.05);border:1px solid var(--slate-100)}

/* FAQ accordion */
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item[open] summary svg{transform:rotate(180deg)}
details.faq-item summary:hover{background:var(--slate-50)}

/* Signup/Wizard */
.signup-hero{padding:4rem 0 5rem;position:relative;overflow:hidden}
.signup-layout{display:grid;gap:4rem;align-items:start}
@media(min-width:1024px){.signup-layout{grid-template-columns:1fr 1fr}}
.signup-value-side{padding-top:1rem}
.signup-form-side{position:relative}
.signup-card{background:white;border-radius:1.5rem;box-shadow:0 25px 50px rgba(0,0,0,0.25);overflow:hidden}
.signup-stats-strip{display:flex;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap}
.signup-stat-number{font-family:'Montserrat',system-ui,sans-serif;font-size:1.75rem;font-weight:800;color:hsl(var(--accent))}
.signup-stat-label{font-size:0.8125rem;color:var(--slate-400);margin-top:0.125rem}
.signup-benefits{display:flex;flex-direction:column;gap:0.75rem}
.signup-benefit-item{display:flex;align-items:center;gap:0.75rem}
.wizard-progress{display:flex;align-items:center;justify-content:center;gap:0;padding:1.5rem 2rem;background:var(--slate-50);border-bottom:1px solid var(--slate-200)}
.wizard-step-indicator{display:flex;flex-direction:column;align-items:center;gap:0.25rem;position:relative;z-index:2}
.wizard-step-indicator span{width:2.25rem;height:2.25rem;border-radius:50%;background:var(--slate-200);color:var(--slate-500);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.875rem;transition:all 200ms}
.wizard-step-indicator small{font-size:0.6875rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.05em}
.wizard-step-indicator.active span{background:hsl(var(--primary));color:white;box-shadow:0 4px 12px hsl(var(--primary)/0.3)}
.wizard-step-indicator.active small{color:hsl(var(--primary))}
.wizard-step-indicator.completed span{background:hsl(var(--accent));color:white}
.wizard-step-indicator.completed small{color:hsl(var(--accent))}
.wizard-step-connector{width:3rem;height:2px;background:var(--slate-200);margin-bottom:1rem}
.wizard-step{display:none;padding:1.5rem 2rem}
.wizard-step.active{display:block}
.wizard-step-header{margin-bottom:1.5rem}
.wizard-fields{display:flex;flex-direction:column;gap:1.25rem}
.wizard-field-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(max-width:600px){.wizard-field-row{grid-template-columns:1fr}}
.wizard-field{display:flex;flex-direction:column}
.wizard-nav{display:flex;justify-content:flex-end;gap:0.75rem;padding:1.25rem 2rem;border-top:1px solid var(--slate-100);background:var(--slate-50)}
.wizard-footer{text-align:center;padding:1rem 2rem 1.5rem;font-size:0.875rem;color:var(--slate-500)}
.wizard-footer p{margin-bottom:0.25rem}
.wizard-radio-card{display:flex;align-items:flex-start;gap:0.75rem;padding:1rem;border:2px solid var(--slate-200);border-radius:0.75rem;cursor:pointer;flex:1;transition:all 150ms}
.wizard-radio-card:has(input:checked){border-color:hsl(var(--primary));background:hsl(var(--primary)/0.04)}
.wizard-radio-card input{margin-top:0.25rem;accent-color:hsl(var(--primary))}
.wizard-radio-content{display:flex;flex-direction:column}
.wizard-radio-content strong{font-size:0.9375rem;color:hsl(var(--fg))}
.wizard-radio-content span{font-size:0.8125rem;color:var(--slate-500)}
.wizard-checkbox{display:flex;align-items:flex-start;gap:0.75rem;cursor:pointer;font-size:0.875rem;color:var(--slate-600);line-height:1.5}
.wizard-checkbox input{margin-top:0.25rem;accent-color:hsl(var(--primary))}
.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Portfolio detail responsive */
@media(max-width:767px){
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  details summary svg{flex-shrink:0}
}

/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}
