.ec25-shell{--ec-ink:#111827;--ec-muted:#64748b;--ec-line:#e5e7eb;--ec-bg:#f6f7fb;--ec-card:#fff;--ec-accent:#6d28d9;max-width:1200px;margin:0 auto;padding:42px 22px 72px;color:var(--ec-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.ec25-index-hero{position:relative;overflow:hidden;padding:56px;border-radius:28px;background:linear-gradient(125deg,#111827,#312e81);color:#fff;box-shadow:0 24px 55px rgba(15,23,42,.17);margin-bottom:34px}
.ec25-index-hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-80px;top:-160px;background:#8b5cf6;opacity:.32}
.ec25-index-hero>span,.ec25-profile-copy>span,.ec25-heading>span,.ec25-side>span{font-size:12px;font-weight:900;letter-spacing:.13em}
.ec25-index-hero h1{max-width:760px;margin:12px 0;font-size:clamp(34px,6vw,66px);line-height:1.02;color:#fff}
.ec25-index-hero p{max-width:650px;color:#e5e7eb;font-size:18px;line-height:1.7}
.ec25-index-hero div{margin-top:22px;color:#ddd6fe}
.ec25-index-hero b{font-size:24px;color:#fff}
.ec25-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ec25-card{overflow:hidden;border:1px solid var(--ec-line);border-radius:22px;background:#fff;color:var(--ec-ink);text-decoration:none;box-shadow:0 12px 34px rgba(15,23,42,.07);transition:.2s transform,.2s box-shadow}
.ec25-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(15,23,42,.13)}
.ec25-card-media{position:relative;height:205px;background:#e5e7eb}
.ec25-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.ec25-card-media:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:var(--ec-accent)}
.ec25-card-media span{position:absolute;left:16px;top:16px;padding:7px 10px;border-radius:999px;background:#fff;color:#111827;font-size:11px;font-weight:900}
.ec25-card-body{padding:22px}
.ec25-card h2{margin:0 0 9px;font-size:24px;color:#111827}
.ec25-card p{min-height:66px;margin:0;color:#64748b;line-height:1.55}
.ec25-card dl{display:flex;gap:20px;margin:19px 0}
.ec25-card dl div{display:flex;flex-direction:column}
.ec25-card dt,.ec25-card small{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.ec25-card dd{margin:3px 0;font-weight:900;color:#111827}
.ec25-card strong{display:block;margin-top:5px;color:#334155;line-height:1.35}
.ec25-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:20px;color:#64748b;font-size:13px}
.ec25-breadcrumb a{color:#5b21b6;text-decoration:none}
.ec25-profile-hero{position:relative;min-height:480px;border-radius:28px;overflow:hidden;background:#111827;box-shadow:0 25px 60px rgba(15,23,42,.19)}
.ec25-profile-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ec25-profile-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,20,.95),rgba(9,9,20,.58) 55%,rgba(9,9,20,.18))}
.ec25-profile-copy{position:relative;z-index:1;display:flex;min-height:480px;max-width:700px;padding:60px;flex-direction:column;justify-content:flex-end;color:#fff}
.ec25-profile-copy>span{color:#ddd6fe}
.ec25-profile-copy h1{margin:10px 0;font-size:clamp(42px,7vw,78px);line-height:1;color:#fff}
.ec25-profile-copy p{font-size:19px;line-height:1.6;color:#f1f5f9}
.ec25-profile-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.ec25-profile-actions b{color:#fff}
.ec25-profile-actions form{margin:0}
.ec25-follow{border:0;border-radius:999px;padding:12px 20px;background:var(--ec-accent);color:#fff;font-weight:900;cursor:pointer}
.ec25-follow.is-following{background:#fff;color:#312e81}
.ec25-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin-top:34px}
.ec25-heading{margin-bottom:18px}
.ec25-heading>span,.ec25-side>span{color:var(--ec-accent)}
.ec25-heading h2,.ec25-side h2{margin:6px 0 0;color:#111827}
.ec25-posts{display:grid;gap:16px}
.ec25-post{display:grid;grid-template-columns:230px 1fr;gap:20px;padding:14px;border:1px solid var(--ec-line);border-radius:18px;background:#fff}
.ec25-post-img{min-height:160px;border-radius:13px;overflow:hidden;background:#e5e7eb}
.ec25-post-img img{width:100%;height:100%;object-fit:cover}
.ec25-post small{color:#64748b;font-size:11px;text-transform:uppercase;font-weight:800}
.ec25-post h3{margin:8px 0;font-size:21px;line-height:1.25}
.ec25-post h3 a{color:#111827;text-decoration:none}
.ec25-post p{margin:0 0 12px;color:#64748b;line-height:1.5}
.ec25-read{color:var(--ec-accent);font-weight:900;text-decoration:none}
.ec25-side{padding:23px;border:1px solid var(--ec-line);border-radius:20px;background:#fff;margin-bottom:18px}
.ec25-side p{color:#475569;line-height:1.65}
.ec25-side>small{display:block;margin-top:17px;color:#64748b;text-transform:uppercase;font-weight:800}
.ec25-side>b{display:block;margin-top:3px;color:#111827}
.ec25-team{display:grid;gap:12px;margin-top:17px}
.ec25-team a{display:flex;align-items:center;gap:11px;text-decoration:none;color:#111827}
.ec25-team img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#e5e7eb}
.ec25-team span{display:flex;flex-direction:column}
.ec25-team small{color:#64748b}
.ec25-team a{padding:9px;border-radius:12px}.ec25-team a.is-featured{background:color-mix(in srgb,var(--ec-accent) 7%,#fff);box-shadow:inset 3px 0 var(--ec-accent)}.ec25-team em{margin-top:4px;color:#64748b;font-size:12px;font-style:normal;line-height:1.35}.ec25-team i{margin-top:5px;color:var(--ec-accent);font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase}.ec25-follow-settings form{display:grid;gap:10px;margin-top:15px}.ec25-follow-settings label{display:flex;align-items:center;gap:8px;color:#334155;font-weight:700}.ec25-follow-settings label:last-of-type{display:block}.ec25-follow-settings input{width:auto}.ec25-follow-settings select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#111827}.ec25-follow-settings button{padding:11px 14px;border:0;border-radius:9px;background:var(--ec-accent);color:#fff;font-weight:900;cursor:pointer}
.ec25-owner{position:relative;overflow:hidden;margin-bottom:18px;padding:24px;border:1px solid color-mix(in srgb,var(--ec-accent) 24%,#e5e7eb);border-radius:20px;background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--ec-accent) 7%,#fff) 100%);box-shadow:0 14px 34px rgba(15,23,42,.08)}
.ec25-owner:before{content:"";position:absolute;right:-45px;top:-55px;width:140px;height:140px;border-radius:50%;background:var(--ec-accent);opacity:.08}
.ec25-owner>span{position:relative;color:var(--ec-accent);font-size:11px;font-weight:900;letter-spacing:.13em}
.ec25-owner-profile{position:relative;display:flex;align-items:center;gap:15px;margin-top:15px}
.ec25-owner-profile img{width:76px;height:76px;flex:0 0 76px;border:3px solid #fff;border-radius:50%;object-fit:cover;background:#e5e7eb;box-shadow:0 8px 22px rgba(15,23,42,.13)}
.ec25-owner-profile small{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase}
.ec25-owner-profile h2{margin:3px 0 5px;color:#111827;font-size:21px;line-height:1.15}
.ec25-owner-profile p{margin:0;color:#64748b;font-size:13px;line-height:1.45}
.ec25-owner>a{position:relative;display:inline-flex;margin-top:17px;color:var(--ec-accent);font-size:13px;font-weight:900;text-decoration:none}
.ec25-pages{display:flex;gap:8px;margin-top:24px}
.ec25-pages a{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--ec-line);color:#334155;text-decoration:none;font-weight:800}
.ec25-pages a.is-current{background:var(--ec-accent);color:#fff;border-color:var(--ec-accent)}
.ec25-empty{grid-column:1/-1;padding:45px;text-align:center;border:1px dashed #cbd5e1;border-radius:20px;background:#fff;color:#475569}
.ec25-empty h2,.ec25-empty h3{color:#111827}
.ec25-empty a{color:#5b21b6;font-weight:900}
@media(max-width:950px){.ec25-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ec25-layout{grid-template-columns:1fr}
.ec25-layout aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ec25-side{margin:0}
}
@media(max-width:650px){.ec25-shell{padding:24px 14px 52px}
.ec25-index-hero{padding:35px 25px;border-radius:20px}
.ec25-grid{grid-template-columns:1fr}
.ec25-card p{min-height:0}
.ec25-profile-hero,.ec25-profile-copy{min-height:430px}
.ec25-profile-copy{padding:30px 24px}
.ec25-profile-shade{background:linear-gradient(0deg,rgba(9,9,20,.98),rgba(9,9,20,.48))}
.ec25-post{grid-template-columns:1fr}
.ec25-post-img{height:200px}
.ec25-layout aside{grid-template-columns:1fr}
}
