/* Page-level layout for block pages (hubs, home, team, legal). Scoped under .ess-page. */
.ess-page .ess-hero__text .ess-lead{font-size:17px;line-height:1.7;max-width:560px;margin:0}
.ess-page .ess-lead--center{margin:0 auto;text-align:center}
.ess-page .ess-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.ess-page .ess-rule--center{margin:0 auto}
.ess-page .ess-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.ess-page .ess-actions--center{justify-content:center;margin-top:22px}
.ess-page .ess-lockup{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-bottom:6px}
.ess-page .ess-lockup__bar{width:1px;height:36px;background:var(--ess-charcoal);display:block}
.ess-page .ess-lockup__word{font-size:clamp(30px,5vw,46px);letter-spacing:.38em;padding-left:.38em}
.ess-page .ess-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:28px}
.ess-page .ess-pillar{display:flex;flex-direction:column;gap:10px;padding:8px 4px}
.ess-page .ess-pillar h2{font-size:24px;margin:0}
.ess-page .ess-rank{font-family:var(--ess-serif);font-size:30px;color:var(--ess-gold);line-height:1}
.ess-page .ess-split{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.ess-page .ess-split h2{margin:0}
.ess-page .ess-note-text{font-size:13px;color:#55585D;line-height:1.6;max-width:380px;margin:0}
.ess-page h3{margin:28px 0 12px}
.ess-page .ess-hero--dark{background:var(--ess-ink);color:#F0EEEA}
.ess-page .ess-hero--dark h1{color:#fff}
.ess-page .ess-hero--dark .ess-lead{color:#F0EEEA}
.ess-page .ess-eyebrow--gold{color:var(--ess-gold-light)}
.ess-page .ess-twocol{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch}
.ess-page .ess-twocol>*{flex:1 1 320px}
.ess-page .ess-dark-card{background:var(--ess-ink);color:#F0EEEA;padding:34px;border-radius:10px;display:flex;flex-direction:column;gap:14px}
.ess-page .ess-dark-card h2{color:#fff;margin:0}
.ess-page .ess-dark-card a{color:var(--ess-gold-light)}
.ess-page .ess-dark-card ol{margin:0;padding-left:1.2em}
.ess-page .ess-gallery2{flex:1 1 460px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ess-page .ess-gallery2 img,.ess-page .ess-gallery2 .ess-ph{height:420px;width:100%;object-fit:cover;border-radius:12px}
.ess-page .ess-photo{width:100%;height:auto;border-radius:12px;display:block}
/* device tiles (home + devices hub) */
.ess-devgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:36px 20px;width:100%;margin-top:18px}
.ess-devtile{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;text-decoration:none;color:var(--ess-ink)}
.ess-devtile__img{height:230px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.ess-devtile__img .ess-ph{height:200px;width:140px;background:#fff;border:1px dashed #D3D2CE;color:#9A9DA2}
.ess-devtile__img img{max-height:200px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(26,27,29,.16))}
.ess-devtile__name{font-family:var(--ess-head);font-size:19px}
.ess-devtile:hover .ess-devtile__name{color:var(--ess-gold-dark)}
.ess-devtile__use{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#55585D}
/* concern cards */
.ess-ccard{display:flex;flex-direction:column;gap:8px;padding:18px 20px;background:#fff;border:1px solid var(--ess-line);border-radius:10px;text-decoration:none;color:var(--ess-charcoal-dark);min-height:44px}
.ess-ccard:hover{border-color:var(--ess-gold)}
.ess-ccard__t{font-family:var(--ess-head);font-size:19px;color:var(--ess-ink)}
.ess-ccard__l{font-size:14px;line-height:1.6;color:var(--ess-charcoal)}
.ess-ccard__d{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ess-gold-dark);font-weight:600}
/* ranked device cards on hubs */
.ess-ranked{position:relative}
.ess-ranked .ess-rank{position:absolute;top:14px;right:18px;z-index:1}
@media (max-width:760px){.ess-page .ess-gallery2 img,.ess-page .ess-gallery2 .ess-ph{height:260px}.ess-page .ess-dark-card{padding:24px}}

.ess-home .ess-grid,.ess-hub .ess-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
