/* Elyown Blocks — portable base stylesheet.
   Re-theme on any site by overriding these --elb-* tokens (e.g. in the theme or a small site stylesheet).
   Defaults are brand-neutral so blocks still look sane before a site is themed. */
:root{
  --elb-accent:#2b6cb0;          /* primary brand colour (band fills, primary buttons, links) */
  --elb-accent-deep:#1a3f6b;     /* darker accent (headings on light, hero wash, dark buttons) */
  --elb-gold:#d69e2e;            /* secondary accent (eyebrows, stat numbers, underlines) */
  --elb-ink:#1a1a1a;             /* body text on light */
  --elb-surface:#faf7ee;         /* light band background */
  --elb-paper:#ffffff;           /* cards */
  --elb-muted:#5c564a;           /* captions, secondary text */
  --elb-on-accent:#eef3ec;       /* text on accent fill */
  --elb-flag-1:var(--elb-ink);   /* signature stripe colour 1 */
  --elb-flag-2:var(--elb-gold);  /* stripe colour 2 */
  --elb-flag-3:var(--elb-accent);/* stripe colour 3 */
  --elb-display:system-ui,-apple-system,"Segoe UI",sans-serif; /* headings + UI */
  --elb-body:Georgia,"Times New Roman",serif;                  /* body copy */
  --elb-maxw:1140px;             /* content max width */
  --elb-gutter:26px;             /* side padding */
  --elb-radius:12px;             /* corner radius */
}

/* ---- layout primitives ---- */
.elb-wrap{max-width:var(--elb-maxw);margin:0 auto;padding:0 var(--elb-gutter);box-sizing:border-box}
.elb-full{width:100vw;margin-left:calc(50% - 50vw)}
.elb-eyebrow{font-family:var(--elb-display);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--elb-gold);display:block}
.elb-flag{height:6px;display:grid;grid-template-columns:1fr 1fr 1fr}
.elb-flag i{display:block}
.elb-flag i:nth-child(1){background:var(--elb-flag-1)}
.elb-flag i:nth-child(2){background:var(--elb-flag-2)}
.elb-flag i:nth-child(3){background:var(--elb-flag-3)}

/* ---- buttons ---- */
.elb-cta{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
.elb-btn{display:inline-block;font-family:var(--elb-display);font-weight:700;text-decoration:none;padding:14px 26px;border-radius:34px;font-size:1rem;cursor:pointer;border:0}
.elb-btn--gold{background:var(--elb-gold);color:var(--elb-ink)}
.elb-btn--accent{background:var(--elb-accent);color:#fff}
.elb-btn--accent-deep{background:var(--elb-accent-deep);color:#fff}
.elb-btn--line{border:2px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.elb-btn--dark{border:2px solid var(--elb-accent-deep);color:var(--elb-accent-deep);background:transparent}

/* ---- hero ---- */
.elb-hero{min-height:74vh;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;background-color:var(--elb-accent-deep)}
.elb-hero .elb-wrap{width:100%;padding-top:120px;padding-bottom:60px}
.elb-hero .elb-eyebrow{color:var(--elb-flag-2)}
.elb-hero__title{font-family:var(--elb-display);font-weight:800;line-height:1.08;letter-spacing:-.01em;font-size:clamp(2.2rem,5.5vw,4.1rem);color:#fff;margin:14px 0 16px;max-width:18ch;text-shadow:0 2px 26px rgba(0,0,0,.45)}
.elb-hero__lead{font-family:var(--elb-body);font-size:clamp(1.05rem,2.2vw,1.32rem);max-width:54ch;text-shadow:0 1px 14px rgba(0,0,0,.45)}

/* ---- feature band (text + media, alternating) ---- */
.elb-band{padding:80px 0;font-family:var(--elb-body);color:var(--elb-ink);line-height:1.6;font-size:18px}
.elb-band--accent{background:var(--elb-accent);color:var(--elb-on-accent)}
.elb-band--surface{background:var(--elb-surface)}
.elb-band__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.elb-band__grid--flip .elb-band__media{order:-1}
.elb-band__h2{font-family:var(--elb-display);font-weight:800;line-height:1.08;letter-spacing:-.01em;font-size:clamp(1.9rem,4vw,2.9rem);color:var(--elb-accent-deep);max-width:20ch;margin:.2em 0}
.elb-band--accent .elb-band__h2{color:#fff}
.elb-band__body{max-width:62ch}
.elb-band__body p{margin:0 0 14px}
.elb-band__stat{font-family:var(--elb-body);font-weight:600;color:var(--elb-accent);font-size:clamp(2.6rem,7vw,4.4rem);line-height:1}
.elb-band--accent .elb-band__stat{color:var(--elb-flag-2)}
.elb-band__statlabel{display:block;font-family:var(--elb-display);font-weight:700;font-size:.8rem;letter-spacing:.04em;color:var(--elb-muted);margin-top:6px}
.elb-band--accent .elb-eyebrow,.elb-band--accent .elb-band__statlabel{color:var(--elb-flag-2)}
.elb-more{display:inline-block;font-family:var(--elb-display);margin-top:16px;font-weight:700;color:var(--elb-accent);text-decoration:none;border-bottom:3px solid var(--elb-gold)}
.elb-band--accent .elb-more{color:var(--elb-flag-2);border-color:var(--elb-flag-2)}
.elb-media{background:#eee7d6;border-radius:var(--elb-radius);min-height:280px;display:block;overflow:hidden;position:relative}
.elb-band--accent .elb-media{background:rgba(255,255,255,.12)}
.elb-media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.elb-caption{font-size:.9rem;color:var(--elb-muted);margin-top:10px}
.elb-band--accent .elb-caption{color:#d8e2d2}

/* ---- card grid ---- */
.elb-cards{padding:0}
.elb-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.elb-card{display:block;background:var(--elb-paper);border-radius:var(--elb-radius);overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.08);border-top:4px solid var(--elb-gold);color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s}
a.elb-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.16)}
.elb-card__media{min-height:170px;position:relative;overflow:hidden;background:#eee7d6}
.elb-card__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.elb-card__b{padding:16px 18px 20px}
.elb-card__title{font-family:var(--elb-display);font-weight:800;font-size:1.08rem;color:var(--elb-accent-deep);margin:0}
.elb-card__text{font-family:var(--elb-body);font-size:.9rem;color:var(--elb-muted);margin:4px 0 0}

/* ---- doors (compact link grid) ---- */
.elb-doors__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.elb-door{display:block;background:var(--elb-paper);border-radius:10px;padding:18px 16px;text-decoration:none;color:var(--elb-accent-deep);font-family:var(--elb-display);font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.06);border-bottom:4px solid var(--elb-gold)}
.elb-door span{display:block;font-family:var(--elb-body);font-weight:500;font-size:.82rem;color:var(--elb-muted);margin-top:5px}

/* ---- invite (centred CTA band) ---- */
.elb-invite{background:var(--elb-gold);color:var(--elb-ink);text-align:center;padding:80px 0}
.elb-invite__h2{font-family:var(--elb-display);font-weight:800;font-size:clamp(2rem,5vw,3.1rem);max-width:18ch;margin:0 auto;color:var(--elb-accent-deep);line-height:1.08}
.elb-invite__body{font-family:var(--elb-body);max-width:50ch;margin:14px auto 0;font-size:1.12rem;color:#3a3208}
.elb-invite .elb-cta{justify-content:center}

/* ---- responsive ---- */
@media(max-width:860px){
  .elb-band__grid,.elb-band__grid--flip{grid-template-columns:1fr}
  .elb-band__grid--flip .elb-band__media{order:0}
  .elb-cards__grid{grid-template-columns:1fr}
  .elb-doors__grid{grid-template-columns:1fr 1fr}
  .elb-band{padding:56px 0}
}

/* ---- editor niceties ---- */
.elb-edit .elb-media{min-height:170px}
