
:root{
  --tw-navy:#071827;
  --tw-navy-2:#0b2b43;
  --tw-blue:#1769ff;
  --tw-cyan:#23b7df;
  --tw-aqua:#8cece9;
  --tw-ink:#102a43;
  --tw-muted:#6b8296;
  --tw-line:#dce7ef;
  --tw-soft:#f3f7fa;
  --tw-white:#fff;
  --tw-shadow:0 18px 48px rgba(7,24,39,.10);
  --tw-container:min(1180px,calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.public-body{margin:0;background:#fff;color:var(--tw-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input{font:inherit}
.public-shell{min-height:100vh;overflow:hidden}
.pub-container{width:var(--tw-container);margin:0 auto}
.public-shell .t-icon{display:block!important;width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px!important;overflow:visible!important}
.public-shell .t-icon *{vector-effect:non-scaling-stroke}

/* header */
.pub-nav{position:sticky;top:0;z-index:50;background:rgba(7,24,39,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 12px 32px rgba(4,14,24,.12)}
.pub-nav-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.pub-brand{display:flex;align-items:center;gap:12px;min-width:220px}
.pub-brand img{width:42px;height:42px;object-fit:contain}
.pub-brand strong{display:block;color:#fff!important;font-size:1.08rem;line-height:1.05;font-weight:900}
.pub-brand span{display:block;color:#9cb4c6!important;font-size:.78rem;margin-top:4px}
.pub-menu{display:flex;align-items:center;justify-content:center;gap:30px}
.pub-menu a{position:relative;color:#dce8f1!important;font-size:.9rem;font-weight:800;white-space:nowrap}
.pub-menu a:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--tw-aqua),var(--tw-cyan));transform:scaleX(0);transition:.2s ease}
.pub-menu a:hover{color:#fff!important}.pub-menu a:hover:after{transform:scaleX(1)}
.pub-nav-actions{display:flex;align-items:center;gap:10px}

/* buttons */
.pub-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 18px;border-radius:14px;border:1px solid transparent;font-weight:900;font-size:.86rem;white-space:nowrap;transition:.2s ease}
.pub-btn:hover{transform:translateY(-1px)}
.pub-btn-primary,.pub-btn-primary:visited{background:linear-gradient(135deg,var(--tw-blue),var(--tw-cyan));color:#fff!important;box-shadow:0 12px 28px rgba(23,105,255,.25)}
.pub-btn-primary *{color:#fff!important;stroke:#fff!important}
.pub-btn-glass,.pub-btn-glass:visited{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff!important}
.pub-btn-glass *{color:#fff!important;stroke:#fff!important}
.pub-btn-light,.pub-btn-light:visited{background:#fff;color:#0d3551!important;box-shadow:0 12px 28px rgba(7,24,39,.12)}
.pub-btn-light *{color:#0d3551!important;stroke:#0d3551!important}
.pub-btn-soft,.pub-btn-soft:visited{background:#edf4fa;border-color:#d8e5ef;color:#123e5f!important}
.pub-btn-soft *{color:#123e5f!important;stroke:#123e5f!important}
.pub-btn-soft-light,.pub-btn-soft-light:visited{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff!important}

/* homepage hero */
.pub-hero{position:relative;overflow:hidden;padding:66px 0 58px;background:linear-gradient(125deg,#061522 0%,#08263b 42%,#0c3454 70%,#155f93 100%);color:#fff}
.pub-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;opacity:.35;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 68%,transparent 100%)}
.pub-hero:after{content:"";position:absolute;right:-190px;top:-190px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(57,213,216,.18),rgba(23,105,255,.08) 42%,transparent 70%)}
.pub-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);gap:44px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border-radius:999px;background:rgba(140,236,233,.09);border:1px solid rgba(140,236,233,.18);color:#a2f4f0;font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;font-weight:900}
.hero-eyebrow i{display:block;width:8px;height:8px;border-radius:50%;background:#8cece9;box-shadow:0 0 0 5px rgba(140,236,233,.10)}
.pub-hero h1{margin:20px 0 18px;max-width:760px;font-size:clamp(3rem,5.4vw,5.25rem);line-height:.94;letter-spacing:-.058em;color:#fff}
.pub-hero h1 em{font-style:normal;background:linear-gradient(90deg,#8cece9,#79baff);-webkit-background-clip:text;background-clip:text;color:transparent}
.pub-hero-copy>p{max-width:660px;margin:0;color:#d0dfE9;font-size:1.06rem;line-height:1.78}
.pub-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pub-proof-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);max-width:760px}
.pub-proof{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.pub-proof .t-icon{color:#84e7e4!important}
.pub-proof strong{display:block;color:#fff;font-size:.86rem}.pub-proof span{display:block;color:#a9c0d0;font-size:.72rem;margin-top:3px}

/* dashboard mockup */
.pub-product-window{position:relative}
.pub-product-window:before{content:"";position:absolute;inset:28px -14px -14px 28px;border-radius:28px;background:linear-gradient(135deg,rgba(23,105,255,.24),rgba(57,213,216,.10));filter:blur(10px)}
.pub-window{position:relative;border-radius:26px;overflow:hidden;background:#081b2c;border:1px solid rgba(255,255,255,.11);box-shadow:0 32px 70px rgba(0,0,0,.30)}
.pub-window-top{height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}
.pub-window-dots{display:flex;gap:6px}.pub-window-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#39556b}.pub-window-title{color:#9fb5c5;font-size:.68rem;font-weight:900;letter-spacing:.05em}
.pub-window-body{padding:18px}
.pub-window-hero{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;padding:20px;border-radius:18px;background:linear-gradient(135deg,#124a87,#1769ff);min-height:136px}
.pub-window-hero small{display:block;color:#b9d8ff;font-size:.58rem;text-transform:uppercase;font-weight:900;letter-spacing:.1em}.pub-window-hero h3{margin:7px 0 8px;color:#fff;font-size:1.35rem}.pub-window-hero p{margin:0;color:#dce8f0;font-size:.7rem;line-height:1.55}
.pub-ring{position:relative;width:80px;height:80px;border-radius:50%;background:conic-gradient(#5ce2de 0 82%,rgba(255,255,255,.14) 82%)}.pub-ring:after{content:"82%";position:absolute;inset:11px;border-radius:50%;display:grid;place-items:center;background:#103b5b;color:#fff;font-weight:900;font-size:.92rem}
.pub-window-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.pub-window-kpi,.pub-window-card{padding:12px;border-radius:14px;background:#0a2539;border:1px solid rgba(255,255,255,.07)}.pub-window-kpi span,.pub-window-card span{display:block;color:#7f9bb0;font-size:.57rem;text-transform:uppercase;font-weight:900}.pub-window-kpi strong{display:block;color:#fff;font-size:1rem;margin-top:6px}.pub-window-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.pub-window-card{min-height:80px;background:linear-gradient(135deg,#113b5b,#155a7f)}.pub-window-card:last-child{background:linear-gradient(135deg,#263d94,#4e3fc8)}.pub-window-card strong{display:block;color:#fff;font-size:.78rem;line-height:1.35;margin-top:7px}

/* stats + generic sections */
.pub-stat-strip{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-30px}.pub-stat{padding:20px;border-radius:20px;background:#fff;border:1px solid #e3ebf1;box-shadow:0 14px 34px rgba(15,43,66,.08)}.pub-stat strong{display:block;color:#103450;font-size:1.35rem}.pub-stat span{display:block;color:#73899b;font-size:.76rem;line-height:1.5;margin-top:5px}
.pub-section{padding:80px 0}.pub-section-soft{background:linear-gradient(180deg,#f8fbfd,#f1f6fa)}.pub-section-dark{background:linear-gradient(135deg,#071827,#0b2b43);color:#fff}.pub-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.pub-heading-copy{max-width:760px}.pub-overline{display:block;color:#1769ff;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:900;margin-bottom:10px}.pub-section-dark .pub-overline{color:#79e6e2}.pub-heading h2{margin:0;color:#10293e;font-size:clamp(2rem,3.6vw,3.15rem);line-height:1.04;letter-spacing:-.045em}.pub-section-dark .pub-heading h2{color:#fff}.pub-heading p{margin:12px 0 0;color:#6f8496;font-size:.96rem;line-height:1.72}.pub-section-dark .pub-heading p{color:#a8c0d0}

/* feature cards */
.pub-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pub-feature-card{position:relative;overflow:hidden;min-height:242px;border-radius:22px;background:#0e2e46;color:#fff;box-shadow:0 14px 32px rgba(10,34,52,.12)}.pub-feature-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,39,.02),rgba(7,24,39,.92));z-index:1}.pub-feature-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}.pub-feature-card-content{position:absolute;z-index:2;left:18px;right:18px;bottom:18px}.pub-feature-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#8ff0ee;margin-bottom:11px}.pub-feature-icon .t-icon{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important}.pub-feature-card small{display:block;color:#a9c4d6;text-transform:uppercase;font-size:.58rem;font-weight:900;letter-spacing:.09em}.pub-feature-card strong{display:block;color:#fff;font-size:1.02rem;margin-top:5px}.pub-feature-card p{margin:7px 0 0;color:#d0dee8;font-size:.72rem;line-height:1.48}

/* journey */
.pub-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.pub-step{padding:20px;border-radius:20px;background:#fff;border:1px solid #e1eaf0;box-shadow:0 10px 24px rgba(15,43,66,.055)}.pub-step-index{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#daf8f5);color:#1769ff;font-weight:900;margin-bottom:13px}.pub-step strong{display:block;color:#173a55}.pub-step p{margin:8px 0 0;color:#73899b;font-size:.75rem;line-height:1.55}

/* showcases */
.pub-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pub-showcase{padding:30px;border-radius:26px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.pub-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(57,213,216,.08);border:1px solid rgba(79,222,223,.16);color:#9ef6f5;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:900}.pub-kicker .t-icon{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important}.pub-showcase h3{margin:16px 0 12px;color:#fff;font-size:1.9rem;line-height:1.07;letter-spacing:-.04em}.pub-showcase>p{margin:0;color:#bfd2df;font-size:.9rem;line-height:1.68}.pub-showcase-list{display:grid;gap:10px;margin-top:20px}.pub-showcase-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.06)}.pub-showcase-item .t-icon{color:#69e1de!important}.pub-showcase-item strong{display:block;color:#fff;font-size:.82rem}.pub-showcase-item span{display:block;color:#9fb8c8;font-size:.7rem;line-height:1.45;margin-top:3px}

/* opportunities / roles */
.pub-opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pub-opportunity{padding:24px;border-radius:22px;background:#fff;border:1px solid #e0e9ef;box-shadow:0 10px 26px rgba(15,43,66,.06)}.pub-opportunity-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e8f4ff,#d9f7f5);color:#1769ff}.pub-opportunity h3{margin:16px 0 8px;color:#153b58}.pub-opportunity p{margin:0;color:#708697;font-size:.78rem;line-height:1.6}.pub-role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pub-role{padding:22px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}.pub-role>.t-icon{color:#73e3df!important;margin-bottom:14px}.pub-role strong{display:block;color:#fff}.pub-role p{margin:8px 0 0;color:#9fb8c9;font-size:.74rem;line-height:1.55}

/* CTA */
.pub-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px;border-radius:28px;background:linear-gradient(135deg,#0d3453,#1769ff 66%,#25b1d8);color:#fff;box-shadow:0 20px 50px rgba(10,34,52,.13)}.pub-cta-copy{max-width:700px}.pub-cta h2{margin:12px 0;color:#fff;font-size:2.25rem;line-height:1.04;letter-spacing:-.045em}.pub-cta p{margin:0;color:#e1eef6;line-height:1.65}.pub-cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* footer */
.pub-footer{background:#05131f;color:#91aabc;padding:42px 0 24px}.pub-footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:34px}.pub-footer-brand p{font-size:.74rem;line-height:1.65}.pub-footer h4{color:#fff;font-size:.8rem;margin:4px 0 14px}.pub-footer-links{display:grid;gap:9px;font-size:.73rem}.pub-footer-links a{color:#a9bfce}.pub-footer-links a:hover{color:#fff}.pub-footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;gap:18px;font-size:.68rem}

/* directory page */
.directory-stage{position:relative;overflow:hidden;padding:62px 0 48px;background:linear-gradient(125deg,#061522,#0a2b44 52%,#1769ff);color:#fff}.directory-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;opacity:.24}.directory-stage-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);gap:28px;align-items:center}.directory-stage-copy h1{margin:18px 0 14px;color:#fff;font-size:clamp(2.55rem,4.3vw,4.2rem);line-height:.99;letter-spacing:-.05em}.directory-stage-copy p{margin:0;max-width:700px;color:#d2e2ec;font-size:.98rem;line-height:1.75}.directory-search{display:flex;gap:10px}.directory-search-pro{margin-top:24px;padding:12px;border-radius:20px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12)}.directory-search-pro input{flex:1;min-width:0;height:50px;padding:0 15px;border-radius:13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;outline:none}.directory-search-pro input::placeholder{color:#bed1df}.directory-stage-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.directory-stage-badges span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);color:#dce9f1;font-size:.68rem;font-weight:800}.directory-stage-badges .t-icon{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;color:#7ee8e4!important}.directory-stage-panel{padding:22px;border-radius:24px;background:rgba(5,19,31,.22);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(14px)}.directory-mini-overline{display:block;color:#8ff0ef;font-size:.62rem;letter-spacing:.12em;font-weight:900;margin-bottom:8px}.directory-stage-panel h3{margin:0;color:#fff;font-size:1.5rem}.directory-stage-panel p{margin:10px 0 0;color:#bfd3e1;font-size:.78rem;line-height:1.55}.directory-panel-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.directory-metric{padding:13px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}.directory-metric strong{display:block;color:#fff;font-size:1.1rem}.directory-metric span{display:block;color:#9fb7c7;font-size:.62rem;margin-top:4px}.directory-panel-note{display:flex;gap:8px;margin-top:13px;padding:11px;border-radius:14px;background:rgba(255,255,255,.05);font-size:.68rem;line-height:1.45;color:#cadce7}.directory-panel-note strong{color:#fff}.directory-results-section{padding-top:60px}.directory-results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.directory-results-head h2{margin:0;color:#10293e;font-size:clamp(1.9rem,2.8vw,2.7rem);letter-spacing:-.04em}.directory-results-head p{margin:10px 0 0;color:#708697;max-width:720px;line-height:1.65}.directory-results-legend{display:flex;gap:10px}.directory-results-legend div{min-width:125px;padding:14px 15px;border-radius:17px;background:#fff;border:1px solid #dce7ef}.directory-results-legend strong{display:block;color:#103450}.directory-results-legend span{display:block;color:#7b90a1;font-size:.66rem;margin-top:3px}.directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.directory-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid #dde7ee;box-shadow:0 16px 38px rgba(10,34,52,.08)}.directory-cover{position:relative;height:215px;overflow:hidden;background:linear-gradient(135deg,#0a2d45,#1769ff)}.directory-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}.directory-cover-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,39,.03),rgba(7,24,39,.8))}.directory-card-chip{position:absolute;z-index:3;left:16px;top:16px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.directory-logo{position:absolute;z-index:3;top:16px;right:16px;width:60px;height:60px;border-radius:17px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;overflow:hidden}.directory-logo img{width:46px;height:46px;object-fit:contain}.directory-logo-fallback{width:46px;height:46px;border-radius:14px;background:#fff;display:grid;place-items:center;color:#153d5b;font-weight:900}.directory-cover-copy{position:absolute;z-index:3;left:18px;right:18px;bottom:17px;color:#fff}.directory-cover-copy small{display:block;color:#b9d6e8;text-transform:uppercase;font-size:.57rem;font-weight:900;letter-spacing:.09em}.directory-cover-copy h3{margin:7px 0 5px;color:#fff;font-size:1.25rem}.directory-cover-copy p{margin:0;color:#dce6ee;font-size:.68rem;line-height:1.45;max-width:90%}.directory-card-body{padding:18px}.directory-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.directory-card-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f0f6fa;color:#38566b;font-size:.62rem;font-weight:800}.directory-card-meta .t-icon{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;color:#1769ff!important}.directory-card-body>p{margin:0;color:#708697;font-size:.72rem;line-height:1.55;min-height:44px}.directory-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.directory-card-actions .pub-btn{flex:1 1 180px;min-height:42px;font-size:.72rem}.directory-empty{text-align:center;padding:48px 24px;border:1px dashed #cedce5;border-radius:22px;background:#fff}.directory-empty strong{display:block;color:#123d5b;font-size:1rem}.directory-empty p{color:#7b8e9d;font-size:.75rem;line-height:1.55}.directory-empty-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:14px}

@media(max-width:1040px){.pub-menu{display:none}.pub-hero-grid,.directory-stage-grid{grid-template-columns:1fr}.pub-product-window{max-width:700px}.pub-feature-grid,.pub-role-grid,.directory-grid{grid-template-columns:repeat(2,1fr)}.pub-journey{grid-template-columns:repeat(3,1fr)}.pub-footer-grid{grid-template-columns:1fr 1fr}.pub-footer-brand{grid-column:1/-1}.directory-stage-panel{max-width:760px}}
@media(max-width:720px){:root{--tw-container:min(100vw - 28px,100vw - 28px)}.pub-nav-inner{min-height:70px;grid-template-columns:1fr auto;gap:10px}.pub-brand{min-width:0}.pub-brand span{display:none}.pub-nav-actions .pub-btn-glass{display:none}.pub-nav-actions .pub-btn{min-width:auto;padding:0 13px}.pub-hero{padding:46px 0 42px}.pub-hero h1{font-size:2.55rem}.pub-product-window{display:none}.pub-proof-row,.pub-stat-strip,.pub-feature-grid,.pub-journey,.pub-split,.pub-opportunity-grid,.pub-role-grid,.directory-grid,.directory-panel-metrics,.pub-footer-grid{grid-template-columns:1fr}.pub-stat-strip{margin-top:-18px}.pub-section{padding:60px 0}.pub-heading,.directory-results-head,.pub-cta{display:block}.pub-heading .pub-btn{margin-top:16px}.pub-cta-actions{justify-content:flex-start;margin-top:20px}.pub-cta-actions .pub-btn{width:100%}.pub-footer-brand{grid-column:auto}.pub-footer-bottom{display:block}.pub-footer-bottom span{display:block;margin-top:6px}.directory-stage{padding:48px 0 38px}.directory-stage-copy h1{font-size:2.3rem}.directory-search{display:grid}.directory-search-pro{padding:10px}.directory-search-pro .pub-btn{width:100%}.directory-stage-badges{display:none}.directory-results-legend{margin-top:15px}.directory-card-actions .pub-btn{flex:1 1 100%}.directory-cover{height:195px}}


/* =========================================================
   TROWEL v2.1.5 · LOGIN CORPORATIVO PREMIUM
   ========================================================= */
.public-alert{padding:14px 16px;border-radius:16px;background:#fff2f2;border:1px solid #ffd6d6;color:#9d2b2b;font-size:.88rem;line-height:1.55;margin-bottom:18px}

.tenant-login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);background:#071827}
.tenant-login-visual{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:42px 46px;color:#fff;background:linear-gradient(140deg,#071827 0%,#0a2e48 55%,#155f8d 100%)}
.tenant-login-visual::before{content:"";position:absolute;inset:0;background-image:var(--tenant-image);background-size:cover;background-position:center;opacity:.24;transform:scale(1.02)}
.tenant-login-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,30,.96) 0%,rgba(7,24,39,.72) 52%,rgba(7,24,39,.36) 100%),linear-gradient(180deg,rgba(7,24,39,.12),rgba(7,24,39,.78));pointer-events:none}
.tenant-login-visual .tenant-visual-content{position:relative;z-index:2;max-width:690px}
.tenant-login-visual .pub-brand strong{font-size:1.12rem}
.tenant-login-visual .pub-brand span{display:block!important}
.tenant-company-logo{display:block;max-width:190px;max-height:88px;object-fit:contain;margin:0 0 28px;filter:drop-shadow(0 12px 26px rgba(0,0,0,.24))}
.tenant-login-visual .pub-kicker{background:rgba(143,240,239,.10);border-color:rgba(143,240,239,.17);color:#98f2ef}
.tenant-login-visual h1{margin:18px 0 18px;font-size:clamp(2.8rem,5vw,5rem);line-height:.96;letter-spacing:-.055em;color:#fff;max-width:760px}
.tenant-login-visual p{margin:0;max-width:650px;color:#d4e4ee;font-size:1.05rem;line-height:1.78}
.tenant-login-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tenant-login-badges span{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:#dceaf2;font-size:.76rem;font-weight:700}
.tenant-login-visual .tenant-visual-content:last-child{font-size:.72rem!important;color:#88a9bd!important;letter-spacing:.08em;text-transform:uppercase;font-weight:700}

.tenant-login-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:54px 38px;background:linear-gradient(180deg,#f8fbfd 0%,#eef4f8 100%)}
.tenant-login-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(11,42,64,.08)}
.tenant-login-card{width:min(470px,100%);padding:34px;border-radius:30px;background:rgba(255,255,255,.96);border:1px solid #e1eaf0;box-shadow:0 24px 60px rgba(7,24,39,.10)}
.tenant-login-back{display:inline-flex;align-items:center;gap:8px;color:#718697;font-size:.78rem;font-weight:800;margin-bottom:28px}
.tenant-login-back:hover{color:var(--tenant-primary,#1769ff)}
.tenant-login-heading{margin-bottom:24px}
.tenant-login-heading small{display:block;text-transform:uppercase;letter-spacing:.11em;color:var(--tenant-primary,#1769ff);font-weight:900;font-size:.68rem;margin-bottom:8px}
.tenant-login-heading h2{font-size:2.25rem;line-height:1.02;letter-spacing:-.04em;margin:0 0 10px;color:#102a43}
.tenant-login-heading p{color:#718697;font-size:.9rem;line-height:1.65;margin:0}
.tenant-field{margin-top:16px}
.tenant-field label{display:block;color:#2e4b62;font-size:.78rem;font-weight:800;margin-bottom:7px}
.tenant-input{width:100%;height:54px;border:1px solid #d8e4ec;border-radius:16px;background:#fff;padding:0 15px;color:#102a43;font-size:.9rem;outline:none;transition:.2s ease}
.tenant-input::placeholder{color:#9aacb9}
.tenant-input:focus{border-color:var(--tenant-primary,#1769ff);box-shadow:0 0 0 4px rgba(23,105,255,.10)}
.tenant-submit{width:100%;min-height:56px;margin-top:22px;border:0;background:linear-gradient(135deg,var(--tenant-primary,#1769ff),#24b6e0)!important;color:#fff!important;font-size:.9rem}
.tenant-submit,.tenant-submit *{color:#fff!important}
.tenant-trust{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:15px 16px;border-radius:18px;background:#f3f8fb;border:1px solid #e3edf3;color:#688095;font-size:.76rem;line-height:1.55}
.tenant-trust svg{width:20px;height:20px;color:var(--tenant-primary,#1769ff);flex:0 0 auto;margin-top:1px}
.tenant-footer{display:flex;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid #e7eef3;color:#8a9eac;font-size:.72rem}
.tenant-footer a{color:#41627a;font-weight:700}
.tenant-footer a:hover{color:var(--tenant-primary,#1769ff)}

/* selector multiempresa */
.company-select-page{min-height:100vh;padding:56px 20px;background:linear-gradient(180deg,#071827 0 280px,#f2f7fa 280px 100%)}
.company-select-wrap{width:min(1040px,100%);margin:0 auto}
.company-select-top{text-align:center;color:#fff;margin-bottom:34px}
.company-select-top img{width:54px;height:54px;margin:0 auto}
.company-select-top h1{margin:14px 0 8px;font-size:2.35rem;letter-spacing:-.04em}
.company-select-top p{margin:0;color:#adc2d1}
.company-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.company-select-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:24px;background:#fff;border:1px solid #dfe9f0;box-shadow:0 14px 34px rgba(7,24,39,.08);transition:.2s ease}
.company-select-card:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(7,24,39,.11)}
.company-select-logo{width:64px;height:64px;display:grid;place-items:center;flex:0 0 auto}
.company-select-logo img{max-width:62px;max-height:62px;object-fit:contain}
.company-select-logo span{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#edf5ff;color:#1769ff;font-weight:900;font-size:1.2rem}
.company-select-copy{min-width:0;flex:1}
.company-select-copy small{display:block;text-transform:uppercase;font-size:.62rem;color:#879aaa;font-weight:900;letter-spacing:.08em}
.company-select-copy strong{display:block;font-size:1rem;margin-top:5px;color:#102a43}
.company-select-copy span{display:block;font-size:.72rem;color:#778c9d;margin-top:5px}
.company-select-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eff5fa;color:#1769ff;flex:0 0 auto}
.company-select-arrow svg{width:18px;height:18px}

@media(max-width:980px){
  .tenant-login-page{grid-template-columns:1fr}
  .tenant-login-visual{min-height:470px;padding:34px}
  .tenant-login-panel{padding:42px 24px}
  .tenant-login-card{width:min(560px,100%)}
}
@media(max-width:720px){
  .tenant-login-visual{min-height:380px;padding:26px 22px}
  .tenant-company-logo{max-width:150px;max-height:70px;margin-bottom:20px}
  .tenant-login-visual h1{font-size:2.45rem}
  .tenant-login-visual p{font-size:.93rem}
  .tenant-login-badges{display:none}
  .tenant-login-panel{padding:30px 14px 38px}
  .tenant-login-card{padding:24px;border-radius:24px}
  .tenant-login-heading h2{font-size:1.9rem}
  .tenant-footer{display:grid}
  .company-select-page{padding:38px 14px;background:linear-gradient(180deg,#071827 0 240px,#f2f7fa 240px 100%)}
  .company-select-grid{grid-template-columns:1fr}
}


/* =========================================================
   TROWEL v2.1.6 · PORTAL CON IMÁGENES PREMIUM
   ========================================================= */
.pub-hero{
  background-color:#061522!important;
  background-image:
    linear-gradient(90deg,rgba(3,16,28,.98) 0%,rgba(4,21,35,.94) 35%,rgba(4,24,40,.76) 57%,rgba(4,25,42,.42) 78%,rgba(4,25,42,.28) 100%),
    var(--pub-hero-image)!important;
  background-size:cover!important;
  background-position:center right!important;
  background-repeat:no-repeat!important;
  min-height:690px;
  display:flex;
  align-items:center;
}
.pub-hero:before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:44px 44px!important;opacity:.20!important;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.75) 54%,transparent 90%)!important}
.pub-hero:after{background:radial-gradient(circle,rgba(66,218,232,.12),rgba(23,105,255,.04) 44%,transparent 72%)!important;opacity:.9}
.pub-hero-grid{align-items:center!important}
.pub-product-window{justify-self:end;max-width:515px;filter:drop-shadow(0 28px 42px rgba(0,0,0,.24))}
.pub-window{background:rgba(5,23,38,.86)!important;backdrop-filter:blur(14px);border-color:rgba(255,255,255,.13)!important}
.pub-window-top{background:rgba(5,22,36,.28)}
.pub-window-body{background:linear-gradient(180deg,rgba(5,24,40,.12),rgba(5,24,40,.26))}
.hero-eyebrow{background:rgba(4,25,40,.52)!important;backdrop-filter:blur(10px);border-color:rgba(143,240,239,.25)!important}

.pub-feature-card{min-height:290px!important;background:#061827!important;border:1px solid rgba(255,255,255,.04);box-shadow:0 18px 42px rgba(7,24,39,.13)!important}
.pub-feature-card>img{opacity:.76!important;filter:saturate(.92) contrast(1.04)}
.pub-feature-card:after{background:linear-gradient(180deg,rgba(4,20,34,.05) 10%,rgba(4,20,34,.46) 50%,rgba(4,20,34,.96) 100%)!important}
.pub-feature-card-content{padding:22px!important}
.pub-feature-card-content p{color:#e1edf5!important;text-shadow:0 1px 2px rgba(0,0,0,.28)}
.pub-feature-card-content strong{text-shadow:0 2px 8px rgba(0,0,0,.28)}
.pub-feature-icon{background:rgba(4,24,39,.54)!important;border:1px solid rgba(255,255,255,.12)}

.directory-stage{
  background-color:#061522!important;
  background-image:
    linear-gradient(90deg,rgba(3,16,28,.98) 0%,rgba(4,22,37,.94) 38%,rgba(4,24,41,.70) 61%,rgba(5,28,46,.34) 100%),
    var(--directory-hero-image)!important;
  background-size:cover!important;
  background-position:center right!important;
  background-repeat:no-repeat!important;
  min-height:650px;
  display:flex;
  align-items:center;
}
.directory-stage:before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:44px 44px!important;opacity:.17!important;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.68) 58%,transparent 94%)!important}
.directory-stage:after{display:none!important}
.directory-stage-panel{background:rgba(5,23,38,.72)!important;border-color:rgba(255,255,255,.14)!important;box-shadow:0 24px 56px rgba(0,0,0,.18)!important;backdrop-filter:blur(15px)!important}
.directory-search-pro{background:rgba(5,23,38,.54)!important;border-color:rgba(255,255,255,.13)!important;backdrop-filter:blur(12px)!important}
.directory-card{box-shadow:0 18px 42px rgba(7,24,39,.11)!important}
.directory-cover>img{opacity:.72!important;filter:saturate(.94) contrast(1.02)}
.directory-cover-overlay{background:linear-gradient(180deg,rgba(4,20,34,.08),rgba(4,20,34,.88))!important}

.tenant-login-visual::before{opacity:.72!important;transform:scale(1.01)!important;background-position:center!important}
.tenant-login-visual::after{background:linear-gradient(90deg,rgba(3,16,28,.96) 0%,rgba(4,22,37,.84) 45%,rgba(4,24,41,.45) 76%,rgba(4,24,41,.28) 100%),linear-gradient(180deg,rgba(7,24,39,.06),rgba(7,24,39,.64))!important}
.tenant-login-visual{background:#061522!important}
.tenant-login-card{box-shadow:0 28px 70px rgba(7,24,39,.14)!important}

@media(max-width:1040px){
 .pub-hero{min-height:auto;background-position:68% center!important}
 .directory-stage{min-height:auto;background-position:68% center!important}
}
@media(max-width:720px){
 .pub-hero{background-position:72% center!important;padding-top:52px!important;padding-bottom:48px!important}
 .directory-stage{background-position:72% center!important}
 .pub-feature-card{min-height:255px!important}
 .tenant-login-visual::before{background-position:66% center!important}
}


/* v2.1.7 · fondos administrables desde Super Administrador */
.pub-hero{background-image:linear-gradient(90deg,rgba(3,17,29,var(--pub-hero-overlay,.64)) 0%,rgba(4,23,39,calc(var(--pub-hero-overlay,.64) - .12)) 48%,rgba(4,26,44,.28) 100%),var(--pub-hero-image)!important;background-size:cover!important;background-position:var(--pub-hero-position,center right)!important;background-repeat:no-repeat!important}
.pub-hero:before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:44px 44px!important;opacity:.14!important}
.pub-feature-card{background-image:linear-gradient(180deg,rgba(4,18,30,.05),rgba(4,18,30,var(--card-overlay,.58))),var(--card-image)!important;background-size:cover!important;background-position:var(--card-position,center)!important;background-repeat:no-repeat!important}
.pub-feature-card:before{background:linear-gradient(180deg,rgba(4,18,30,.04) 10%,rgba(4,18,30,.28) 46%,rgba(4,18,30,.92) 100%)!important}
.pub-feature-card>img{display:none!important}
.pub-showcase-visual{position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(5,20,34,calc(var(--showcase-overlay,.76) - .12)),rgba(5,20,34,var(--showcase-overlay,.76))),var(--showcase-image)!important;background-size:cover!important;background-position:var(--showcase-position,center)!important;background-repeat:no-repeat!important;box-shadow:0 20px 42px rgba(0,0,0,.12)}
.pub-showcase-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,34,.08),rgba(5,20,34,.42));pointer-events:none}.pub-showcase-visual>*{position:relative;z-index:2}.pub-showcase-visual .pub-showcase-item{background:rgba(8,29,46,.72)!important;border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.pub-role-visual{position:relative;overflow:hidden;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;background-image:linear-gradient(180deg,rgba(5,20,34,.16),rgba(5,20,34,var(--role-overlay,.72))),var(--role-image)!important;background-size:cover!important;background-position:var(--role-position,center)!important;background-repeat:no-repeat!important;box-shadow:0 16px 34px rgba(0,0,0,.12)}.pub-role-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,34,.06),rgba(5,20,34,.34));pointer-events:none}.pub-role-visual>*{position:relative;z-index:2}.pub-role-visual p{color:#d6e6ef!important}.pub-role-visual strong{font-size:1rem}
.directory-stage{background-image:linear-gradient(90deg,rgba(3,17,29,var(--directory-hero-overlay,.66)) 0%,rgba(4,22,38,.70) 50%,rgba(7,36,67,.40) 100%),var(--directory-hero-image)!important;background-size:cover!important;background-position:var(--directory-hero-position,center right)!important;background-repeat:no-repeat!important}
.tenant-login-visual::before{background-image:var(--tenant-image)!important;background-position:var(--tenant-position,center right)!important;opacity:1!important}.tenant-login-visual::after{background:linear-gradient(90deg,rgba(3,16,28,var(--tenant-overlay,.62)) 0%,rgba(4,22,37,.78) 48%,rgba(4,24,41,.34) 100%),linear-gradient(180deg,rgba(7,24,39,.08),rgba(7,24,39,.58))!important}
@media(max-width:720px){.pub-hero{background-position:72% center!important}.pub-showcase-visual,.pub-role-visual{background-position:center!important}.directory-stage{background-position:74% center!important}.tenant-login-visual::before{background-position:68% center!important}}
