/* ========================================================================
 * pages/enterprise.css
 *
 * Styles specific to the enterprise page.
 * Shared tokens, nav, footer, buttons, and animation primitives come from
 * static/css/public-shared.css (loaded before this file).
 * ======================================================================== */



/* HERO */
.hero{padding:148px 24px 80px;text-align:center;position:relative;overflow:hidden;}

.hero-glow{position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.07) 0%,rgba(13,148,136,.02) 40%,transparent 70%);pointer-events:none;}

.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(0,0,0,.014) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.014) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,black 0%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,black 0%,transparent 100%);}

[data-theme="dark"] .hero::after{background-image:linear-gradient(to right,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.018) 1px,transparent 1px);}

.hero-inner{position:relative;}

.badge{display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:var(--r-full);border:1px solid var(--bd);background:var(--surface);font-size:12px;font-weight:500;color:var(--t2);margin-bottom:28px;letter-spacing:.01em;}

.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 7px rgba(13,148,136,.5);animation:pdot 2.2s ease-in-out infinite;flex-shrink:0;}

@keyframes pdot{0%,100%{opacity:1;}50%{opacity:.25;}}

.hero h1{font-size:clamp(2.6rem,5.5vw,4.25rem);font-weight:700;letter-spacing:-.042em;line-height:1.04;max-width:740px;margin:0 auto 22px;text-wrap:pretty;}

.grad{background:linear-gradient(135deg,#0f766e 0%,var(--teal) 42%,#2dd4bf 72%,#10b981 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.hero p{font-size:16px;color:var(--t2);max-width:530px;margin:0 auto 38px;line-height:1.65;letter-spacing:-.01em;}

.hero-btns{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}

.hero-btns .btn{padding:12px 28px;font-size:15px;}


/* INDUSTRY BADGES */
.industries{text-align:center;padding:0 24px 56px;}

.ind-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.065em;color:var(--t3);margin-bottom:16px;}

.ind-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}

.ind-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:var(--r-full);border:1px solid var(--bd);background:var(--surface);font-size:12px;font-weight:500;color:var(--t2);transition:border-color var(--fast),color var(--fast);}

.ind-badge svg{width:13px;height:13px;color:var(--teal-text);}

.ind-badge:hover{border-color:var(--bd-h);color:var(--t1);}


/* SECTIONS */
.sec{padding:96px 24px;}

.sec-alt{background:var(--bg2);}

.sec-hd{text-align:center;max-width:620px;margin:0 auto 60px;}

.sec-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.065em;color:var(--teal-text);margin-bottom:12px;}

.sec-hd h2{font-size:clamp(1.75rem,3.5vw,2.25rem);font-weight:700;letter-spacing:-.027em;line-height:1.14;margin-bottom:13px;text-wrap:pretty;}

.sec-hd p{font-size:15px;color:var(--t2);line-height:1.65;}


/* FEATURE CARDS */
.grid-2{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}

.grid-3{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}

.fc{padding:26px 22px;border-radius:var(--r-lg);border:1px solid var(--bd);background:var(--surface);transition:border-color var(--base),transform var(--base),box-shadow var(--base);}

.fc:hover{border-color:var(--bd-h);transform:translateY(-2px);box-shadow:var(--sh-lg);}

.fc.wide{grid-column:span 2;}

.fi{width:38px;height:38px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:var(--teal-10);color:var(--teal-text);}

.fi svg{width:18px;height:18px;}

.fi.re{background:rgba(244,63,94,.1);color:#f43f5e;}

.fi.gr{background:rgba(34,197,94,.1);color:#22c55e;}

.fi.am{background:rgba(245,158,11,.1);color:#f59e0b;}

.fi.cy{background:rgba(6,182,212,.1);color:#06b6d4;}

.fi.vl{background:rgba(139,92,246,.1);color:#8b5cf6;}

.fi.sl{background:rgba(100,116,139,.1);color:#64748b;}

.fi.ro{background:rgba(239,68,68,.1);color:#ef4444;}

.fc h3{font-size:15px;font-weight:600;margin-bottom:7px;letter-spacing:-.012em;}

.fc p{font-size:13px;color:var(--t2);line-height:1.62;}

code{font-family:'SF Mono','Fira Code',monospace;font-size:11px;padding:2px 5px;background:var(--bg2);border-radius:4px;color:var(--teal-text);}


/* ARCHITECTURE MOCKUP */
.arch-wrap{max-width:1040px;margin:48px auto 0;border-radius:var(--r-xl);border:1px solid var(--bd);box-shadow:0 24px 64px -16px rgba(0,0,0,.1);overflow:hidden;background:#0e0d0c;}

.arch-chrome{height:32px;background:#161412;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:6px;padding:0 14px;}

.arch-dot{width:8px;height:8px;border-radius:50%;}

.arch-url{flex:1;text-align:center;font-size:9.5px;font-family:var(--font);color:rgba(255,255,255,.2);letter-spacing:.02em;}

.arch-body{padding:32px;display:flex;flex-direction:column;gap:16px;background:#0e0d0c;}

.arch-tenant{border:1.5px dashed rgba(13,148,136,.4);border-radius:12px;padding:20px;position:relative;}

.arch-tenant-label{position:absolute;top:-10px;left:16px;background:#0e0d0c;padding:0 8px;font-size:10px;font-weight:600;color:rgba(13,148,136,.8);font-family:var(--font);letter-spacing:.04em;text-transform:uppercase;}

.arch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}

.arch-node{background:#1c1a18;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}

.arch-node-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;}

.arch-node-icon svg{width:14px;height:14px;}

.arch-node-label{font-size:9px;font-weight:600;color:rgba(255,255,255,.7);font-family:var(--font);letter-spacing:.02em;}

.arch-node-sub{font-size:8px;color:rgba(255,255,255,.3);font-family:var(--font);}

.arch-flow{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 16px;}

.arch-ext-node{background:#1c1a18;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:8px;}

.arch-ext-label{font-size:10px;font-weight:500;color:rgba(255,255,255,.6);font-family:var(--font);}

.arch-arrow{color:rgba(13,148,136,.6);font-size:14px;font-family:var(--font);}

.arch-arrow-labeled{display:flex;flex-direction:column;align-items:center;gap:2px;}

.arch-arrow-txt{font-size:8px;color:rgba(255,255,255,.25);font-family:var(--font);letter-spacing:.03em;}


/* COMPLIANCE BADGES */
.comp-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:48px;}

.comp-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-full);border:1px solid var(--bd);background:var(--surface);font-size:12px;font-weight:500;color:var(--t2);transition:border-color var(--fast),color var(--fast);}

.comp-badge svg{width:13px;height:13px;color:var(--teal-text);stroke:var(--teal);}

.comp-badge:hover{border-color:var(--teal-text);color:var(--t1);}


/* DEPLOY STEPS */
.steps{max-width:720px;margin:0 auto;}

.step{display:flex;gap:18px;padding:24px 0;}

.step:not(:last-child){border-bottom:1px solid var(--bd);}

.step-n{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--teal-10);color:var(--teal-text);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:1px solid color-mix(in srgb,var(--teal) 22%,var(--bd));margin-top:1px;}

.step h3{font-size:15px;font-weight:600;margin-bottom:6px;letter-spacing:-.01em;}

.step p{font-size:13px;color:var(--t2);line-height:1.62;}


/* ENV TABLE */
.env-table{max-width:720px;margin:40px auto 0;border-radius:var(--r-lg);border:1px solid var(--bd);overflow:hidden;background:var(--surface);}

.env-table table{width:100%;border-collapse:collapse;font-size:13px;}

.env-table thead{background:var(--bg2);}

.env-table th{text-align:left;padding:10px 16px;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--t3);border-bottom:1px solid var(--bd);}

.env-table td{padding:10px 16px;border-bottom:1px solid var(--bd);color:var(--t2);}

.env-table tr:last-child td{border-bottom:none;}


/* CTA */
.cta{padding:112px 24px;text-align:center;position:relative;overflow:hidden;}

.cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.05) 0%,transparent 70%);pointer-events:none;}

.cta-in{max-width:520px;margin:0 auto;position:relative;}

.cta h2{font-size:clamp(1.75rem,3.5vw,2.2rem);font-weight:700;letter-spacing:-.028em;line-height:1.14;margin-bottom:14px;}

.cta p{font-size:15px;color:var(--t2);line-height:1.65;margin-bottom:34px;}

.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.cta-btns .btn{padding:12px 28px;font-size:15px;}


/* RESP */
@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr);}.arch-grid{grid-template-columns:repeat(2,1fr);}}

@media(max-width:768px){
  .nav-link{display:none;}.nav-ham{display:inline-flex;}
  .hero{padding:122px 20px 56px;}.sec{padding:64px 16px;}
  .grid-2{grid-template-columns:1fr;}.fc.wide{grid-column:span 1;}
  .grid-3{grid-template-columns:1fr;}
  .arch-grid{grid-template-columns:repeat(2,1fr);}
  .arch-flow{flex-wrap:wrap;}
  .footer-in{justify-content:center;text-align:center;flex-direction:column;}
}

@media(max-width:480px){
  .hero-btns{flex-direction:column;width:100%;}.hero-btns .btn{width:100%;}
  .hero h1{font-size:2.2rem;}.arch-grid{grid-template-columns:repeat(2,1fr);}
}
