/* 15 zenitheventpartners.com — Interwoven Perspectives. Page-scoped under .ip */
:root{
  --ip-pale:#ECF3FA; --ip-petrol:#174D60; --ip-sky:#74A8C2; --ip-clay:#D29F9C;
  --ip-white:#FFFFFF;
  /* Signika is not installed on the build host. */
  --ip-face:"DejaVu Sans","Bitstream Vera Sans",Verdana,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.ip{margin:0;background:var(--ip-white);color:var(--ip-petrol);font-family:var(--ip-face);
  font-size:16px;line-height:1.72;-webkit-text-size-adjust:100%}
.ip h1,.ip h2,.ip h3{margin:0;line-height:1.16;font-weight:700}
.ip p{margin:0 0 1em}
.ip a{color:var(--ip-petrol)}
.ip :focus-visible{outline:3px solid var(--ip-petrol);outline-offset:3px}
.ip .ip-skip{position:absolute;left:-9999px;background:var(--ip-petrol);color:#fff;padding:14px}
.ip .ip-skip:focus{left:0;top:0;z-index:30}

.ip-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;
  justify-content:space-between;padding:12px clamp(16px,4vw,48px);
  border-bottom:1px solid var(--ip-pale)}
.ip-top img{width:126px;height:49px;object-fit:contain;background:#000;padding:4px 8px}
.ip-top nav{display:flex;flex-wrap:wrap}
.ip-top nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 13px;
  text-decoration:none;font-weight:700;font-size:15px}
.ip-top nav a:hover{text-decoration:underline}

/* the weave --------------------------------------------------------------- */
.ip-weave{display:grid;grid-template-columns:minmax(300px,38%) 1fr;
  gap:clamp(20px,4vw,60px);padding:clamp(26px,4.5vw,70px) clamp(16px,4vw,48px);
  max-width:1300px;margin:0 auto;align-items:start}
.ip-kick{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--ip-petrol)}
.ip-weave h1{font-size:clamp(34px,4.3vw,62px);margin-bottom:.4em}
.ip-lede{font-size:18px}
.ip-acts{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 24px}
.ip .ip-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 24px;
  background:var(--ip-petrol);color:#fff;text-decoration:none;font-weight:700}
.ip .ip-btn:hover{background:#0f3a49}
.ip .ip-btn--line{background:transparent;color:var(--ip-petrol);
  box-shadow:inset 0 0 0 2px var(--ip-petrol)}
.ip-themelist{margin:0;padding-left:22px}
.ip-themelist li{margin-bottom:8px;font-size:15px}
.ip-loom{position:relative;display:grid;gap:0;min-height:360px;padding:22px 0}
.ip-strip{position:absolute;top:0;bottom:0;width:52px;z-index:0}
.ip-strip--1{left:8%;background:var(--ip-sky)}
.ip-strip--2{left:44%;background:var(--ip-clay)}
.ip-strip--3{left:78%;background:var(--ip-pale)}
.ip-weft{position:relative;z-index:1;padding:26px clamp(18px,3vw,40px);margin-bottom:24px}
.ip-weft--a{background:var(--ip-petrol);color:#fff;margin-right:12%}
.ip-weft--b{background:var(--ip-white);box-shadow:inset 0 0 0 3px var(--ip-petrol);
  margin-left:10%}
.ip-weftlab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  margin-bottom:.6em}
.ip-weft--a .ip-weftlab{color:#a9cfdd}
.ip-wefttext{font-size:18px;margin:0}
.ip-loomnote{position:relative;z-index:1;font-size:14px;background:var(--ip-white);
  padding:12px 14px;margin:0}

/* sections ------------------------------------------------------------------ */
.ip-perspectives,.ip-pairings,.ip-agenda,.ip-attend,.ip-partner,.ip-venue,.ip-organiser{
  max-width:1300px;margin:0 auto;padding:clamp(32px,5vw,80px) clamp(16px,4vw,48px)}
.ip-perspectives h2,.ip-pairings h2,.ip-agenda h2,.ip-attend h2,.ip-partner h2,
.ip-venue h2,.ip-organiser h2{font-size:clamp(26px,3.3vw,44px);margin-bottom:.5em}
.ip-wide{max-width:80ch;font-size:17px}
.ip-cross{margin:20px 0 0;padding-left:22px;max-width:96ch}
.ip-cross li{margin-bottom:10px}

.ip-pairings{background:var(--ip-pale);max-width:none}
.ip-pairings>*{max-width:1300px;margin-left:auto;margin-right:auto}
.ip-pairing{display:grid;grid-template-columns:minmax(260px,34%) 1fr;
  gap:clamp(18px,3vw,48px);padding:26px 0;border-top:2px solid var(--ip-sky)}
.ip-pairing:nth-child(even){grid-template-columns:1fr minmax(260px,34%)}
.ip-pairing:nth-child(even) .ip-pairhead{order:2}
.ip-pairdate{font-size:14px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
  margin-bottom:.4em}
.ip-pairing h3{font-size:clamp(20px,2.4vw,29px);margin-bottom:.5em}
.ip-pairlist{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.ip-pairlist li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;
  background:var(--ip-white);padding:10px 12px}
.ip-pairlist img{display:block;width:72px;height:auto;object-fit:cover}
.ip-mini{display:grid;place-items:center;width:72px;height:72px;background:var(--ip-petrol);
  color:#fff;font-size:22px;font-weight:700}
.ip-pairlist b{display:block;font-size:16px}
.ip-pairlist span{display:block;font-size:13px;line-height:1.4}
.ip-link{font-weight:700;margin-top:20px}

.ip-agrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;
  margin-top:22px}
.ip-arow{background:var(--ip-pale);padding:20px 18px;border-top:6px solid var(--ip-petrol)}
.ip-arow:nth-child(2){border-top-color:var(--ip-sky)}
.ip-arow:nth-child(4){border-top-color:var(--ip-clay)}
.ip-adate{font-weight:700;margin-bottom:.3em}
.ip-atheme{font-size:19px;font-weight:700;line-height:1.25}
.ip-ameta{font-size:14px;margin:0}

.ip-attend{background:var(--ip-petrol);color:#fff;max-width:none}
.ip-attend h2{color:#fff}
.ip-attend a{color:#bcdae5}
.ip-attend>*{max-width:1300px;margin-left:auto;margin-right:auto}
.ip-spec{margin:0;border-top:2px solid #3a7086}
.ip-spec>div{display:grid;grid-template-columns:minmax(230px,30%) 1fr;
  gap:clamp(14px,3vw,42px);padding:20px 0;border-bottom:1px solid #3a7086}
.ip-spec dt{font-weight:700;font-size:17px}
.ip-spec dd{margin:0}

.ip-logos{list-style:none;margin:24px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px}
.ip-logos li{display:flex;align-items:center;gap:12px;background:var(--ip-pale);padding:13px;
  min-height:72px}
.ip-logos img{width:46px;height:auto;object-fit:contain}
.ip-logos span{font-size:13px;font-weight:700}

.ip-venue{background:var(--ip-pale);max-width:none}
.ip-venue>*{max-width:1300px;margin-left:auto;margin-right:auto}
.ip-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,54px);align-items:start}
.ip-dl{margin:0;background:var(--ip-white);padding:6px 22px}
.ip-dl>div{display:grid;grid-template-columns:minmax(130px,32%) 1fr;gap:12px;padding:11px 0;
  border-bottom:1px solid var(--ip-pale)}
.ip-dl dt{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.ip-dl dd{margin:0}
.ip-map{margin:0 0 20px}
.ip-map img{width:100%;height:auto;display:block}
.ip-map figcaption{font-size:14px;padding-top:10px}
.ip-venue details{border-top:1px solid var(--ip-sky);background:var(--ip-white);padding:0 16px}
.ip-venue summary{cursor:pointer;padding:14px 0;font-weight:700;min-height:44px;display:flex;
  align-items:center}
.ip-venue details p,.ip-venue details ul{margin:0 0 14px}

.ip-organiser{max-width:none;background:var(--ip-white)}
.ip-organiser>*{max-width:1300px;margin-left:auto;margin-right:auto}
.ip-ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,54px);margin-bottom:20px}
.ip-organiser h3{font-size:13px;text-transform:uppercase;letter-spacing:.09em;
  margin-bottom:.9em}
.ip-links{list-style:none;margin:0;padding:0}
.ip-links li{padding:3px 0}
.ip-links a{display:inline-flex;min-height:34px;align-items:center}
.ip-fine{font-size:15px;max-width:88ch}
.ip-foot{background:var(--ip-petrol);color:#d6e8ef;font-size:14px;
  padding:20px clamp(16px,4vw,48px)}
.ip-foot a{color:#bcdae5}
.ip-foot p{margin:0}

@media (max-width:980px){
  /* mobile: one horizontal band interrupted by one narrow strip */
  .ip-weave{grid-template-columns:1fr}
  .ip-strip--2,.ip-strip--3{display:none}
  .ip-strip--1{left:auto;right:6%;width:32px}
  .ip-weft--a{margin-right:0}
  .ip-weft--b{margin-left:0}
  .ip-pairing,.ip-pairing:nth-child(even){grid-template-columns:1fr}
  .ip-pairing:nth-child(even) .ip-pairhead{order:0}
  .ip-vgrid{grid-template-columns:1fr}
  .ip-spec>div{grid-template-columns:1fr;gap:6px}
}
@media (prefers-reduced-motion:reduce){.ip *{transition:none!important;animation:none!important}}
