/* ============================================================
   AI1HOST — CHARITY & NON-PROFIT CONCESSIONS
   Load after services.css
   ============================================================ */

.ai1-page--concessions{
  --concession-green:#65ef83;
  --concession-green-deep:#20b94d;
  --concession-lime:#a8ff65;
  --concession-blue:#5fdfff;
}

.ai1-page--concessions .ai1-btn--primary{
  background:linear-gradient(135deg,#eaffdf 0%,var(--concession-green) 48%,var(--concession-green-deep) 100%);
  box-shadow:0 18px 42px rgba(42,157,41,.36),0 0 26px rgba(101,239,131,.18);
}

.ai1-page--concessions .ai1-btn--primary:hover{
  box-shadow:0 24px 54px rgba(42,157,41,.5),0 0 38px rgba(101,239,131,.28);
}

/* HERO */
.ai1-page--concessions .ai1-concessions-hero-card{
  isolation:isolate;
  width:min(100%,960px);
  border-color:rgba(101,239,131,.42);
  background:
    radial-gradient(520px 240px at 12% 0%,rgba(0,140,255,.21),transparent 70%),
    radial-gradient(440px 230px at 90% 100%,rgba(42,157,41,.18),transparent 72%),
    linear-gradient(150deg,rgba(11,31,50,.96),rgba(2,8,18,.98));
}

.ai1-page--concessions .ai1-concessions-hero-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-45%;
  pointer-events:none;
  opacity:.58;
  background:conic-gradient(from 0deg,transparent 0 295deg,rgba(101,239,131,.36) 328deg,rgba(255,255,255,.52) 346deg,transparent 360deg);
  animation:ai1ConcessionHalo 12s linear infinite;
}

.ai1-page--concessions .ai1-concessions-hero-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:2px;
  border-radius:calc(var(--ai1-radius) - 3px);
  pointer-events:none;
  background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.02) 42%,rgba(101,239,131,.1) 50%,transparent 58%);
  transform:translateX(-120%);
  animation:ai1ConcessionSheen 5.8s ease-in-out infinite;
}

.ai1-page--concessions .ai1-concessions-hero-card__scan{
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:-28%;
  width:24%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(101,239,131,.07),rgba(255,255,255,.16),transparent);
  filter:blur(2px);
  transform:skewX(-18deg);
  animation:ai1ConcessionScan 5.1s ease-in-out infinite;
}

.ai1-page--concessions .ai1-concessions-hero-card>*:not(.ai1-concessions-hero-card__scan){position:relative;z-index:2;}

.ai1-page--concessions .ai1-concessions-hero-card__layout{
  display:grid;
  grid-template-columns:minmax(260px,.76fr) minmax(0,1.34fr);
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
  width:100%;
  text-align:left;
}

.ai1-page--concessions .ai1-concessions-hero-card__content{
  min-width:0;
}

.ai1-page--concessions .ai1-concessions-hero-card__content>strong{
  display:block;
  margin:0 0 .8rem;
  color:#fff;
  font-size:clamp(1.55rem,2.5vw,2rem);
  line-height:1.18;
}

.ai1-page--concessions .ai1-concessions-hero-card__content>p{
  margin:0;
}

.ai1-page--concessions .ai1-concessions-byte-stage{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  min-height:330px;
  padding:1rem 1rem 3.4rem;
  border:1px solid rgba(101,239,131,.24);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 42%,rgba(101,239,131,.2),transparent 38%),
    radial-gradient(circle at 50% 85%,rgba(0,140,255,.12),transparent 46%),
    rgba(0,0,0,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 22px 54px rgba(0,0,0,.3),
    0 0 34px rgba(101,239,131,.08);
  overflow:hidden;
}

.ai1-page--concessions .ai1-concessions-byte-stage__glow{
  position:absolute;
  z-index:-3;
  left:50%;
  top:46%;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(168,255,101,.3) 0%,rgba(101,239,131,.18) 34%,rgba(32,185,77,.07) 58%,transparent 74%);
  filter:blur(8px);
  transform:translate(-50%,-50%);
  animation:ai1ConcessionByteGlow 2.6s ease-in-out infinite;
}

.ai1-page--concessions .ai1-concessions-byte-stage__orbit{
  position:absolute;
  z-index:-2;
  left:50%;
  top:46%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.ai1-page--concessions .ai1-concessions-byte-stage__orbit--one{
  width:255px;
  height:255px;
  border:1px solid rgba(95,223,255,.35);
  animation:ai1ConcessionByteOrbit 9s linear infinite;
}

.ai1-page--concessions .ai1-concessions-byte-stage__orbit--two{
  width:205px;
  height:205px;
  border:1px dashed rgba(101,239,131,.42);
  animation:ai1ConcessionByteOrbitReverse 7s linear infinite;
}

.ai1-page--concessions .ai1-concessions-byte-stage__orbit::before{
  content:"";
  position:absolute;
  top:50%;
  left:-5px;
  width:10px;
  height:10px;
  margin-top:-5px;
  border-radius:50%;
  background:var(--concession-blue);
  box-shadow:0 0 16px var(--concession-blue),0 0 32px rgba(95,223,255,.42);
}

.ai1-page--concessions .ai1-concessions-byte-stage__orbit--two::before{
  background:var(--concession-green);
  box-shadow:0 0 16px var(--concession-green),0 0 32px rgba(101,239,131,.38);
}

.ai1-page--concessions .ai1-concessions-byte{
  position:relative;
  z-index:2;
  display:block;
  width:min(100%,290px);
  max-height:285px;
  object-fit:contain;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.5)) drop-shadow(0 0 24px rgba(101,239,131,.22));
  animation:ai1ConcessionByteFloat 4s ease-in-out infinite;
}

.ai1-page--concessions .ai1-concessions-byte-fallback{
  display:none;
  position:relative;
  z-index:2;
  place-items:center;
  width:116px;
  height:116px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 7%,#d8ffe1 18%,#65ef83 48%,#20b94d 72%,#06491a 100%);
  color:#fff;
  font-size:3.4rem;
  text-shadow:0 0 14px #fff;
  box-shadow:0 0 26px rgba(101,239,131,.9),0 0 62px rgba(32,185,77,.42);
}

.ai1-page--concessions .ai1-concessions-byte-stage__caption{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:1rem;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:calc(100% - 2rem);
  min-height:38px;
  padding:.55rem .9rem;
  border:1px solid rgba(101,239,131,.38);
  border-radius:999px;
  background:rgba(3,28,17,.82);
  color:#dfffe6;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.32),0 0 18px rgba(101,239,131,.12);
  backdrop-filter:blur(10px);
}

.ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  max-width:100%;
  margin:1.45rem auto 0;
  padding:0;
  background:none;
  border:0;
  text-align:left;
}

.ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero li{
  display:grid;
  grid-template-columns:1.4rem minmax(0,1fr);
  gap:.8rem;
  width:100%;
  padding:0;
}

.ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero li+li{margin-top:.85rem;}
.ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero li::before{
  position:static;
  display:grid;
  place-items:center;
  width:1.4rem;
  height:1.4rem;
  color:var(--concession-green);
  animation:ai1ConcessionTick 3.1s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero li:nth-child(2)::before{animation-delay:.38s;}
.ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero li:nth-child(3)::before{animation-delay:.76s;}

/* BENEFITS */
.ai1-page--concessions .ai1-concessions-benefits{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.35rem);
}

.ai1-page--concessions .ai1-concessions-benefit{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:300px;
  padding:clamp(1.4rem,2.5vw,1.9rem);
  border:2px solid rgba(121,221,255,.22);
  border-radius:28px;
  background:radial-gradient(360px 170px at 15% 0%,rgba(42,157,41,.16),transparent 70%),linear-gradient(150deg,rgba(11,31,50,.94),rgba(2,8,18,.97));
  box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.ai1-page--concessions .ai1-concessions-benefit::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.025) 43%,rgba(101,239,131,.13) 50%,transparent 57%);
  transform:translateX(-120%);
  animation:ai1ConcessionFeatureSheen 6s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-benefit:nth-child(2)::before{animation-delay:.5s;}
.ai1-page--concessions .ai1-concessions-benefit:nth-child(3)::before{animation-delay:1s;}
.ai1-page--concessions .ai1-concessions-benefit:nth-child(4)::before{animation-delay:1.5s;}
.ai1-page--concessions .ai1-concessions-benefit:hover{transform:translateY(-8px);border-color:rgba(101,239,131,.62);box-shadow:0 34px 78px rgba(0,0,0,.52),0 0 40px rgba(101,239,131,.16),inset 0 1px 0 rgba(255,255,255,.12);}
.ai1-page--concessions .ai1-concessions-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:1.25rem;border:1px solid rgba(101,239,131,.48);border-radius:50%;background:radial-gradient(circle,#fff 0 7%,var(--concession-lime) 16%,var(--concession-green-deep) 58%,rgba(42,157,41,.08) 62%);color:#03101b;font-size:1.25rem;font-weight:1000;box-shadow:0 0 18px rgba(101,239,131,.68),0 0 38px rgba(42,157,41,.28);animation:ai1ConcessionPulse 2.2s ease-in-out infinite;}
.ai1-page--concessions .ai1-concessions-benefit h3{margin:0 0 .75rem;color:#fff;font-size:clamp(1.3rem,2vw,1.65rem);}
.ai1-page--concessions .ai1-concessions-benefit p{margin:0;}
.ai1-page--concessions .ai1-concessions-benefit .ai1-list{margin-top:.6rem;}

/* ELIGIBILITY */
.ai1-page--concessions .ai1-concessions-eligibility{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(.9rem,2vw,1.2rem);
}

.ai1-page--concessions .ai1-concessions-eligibility-card{
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  border:1px solid rgba(101,239,131,.25);
  border-radius:24px;
  background:radial-gradient(220px 120px at 50% 0%,rgba(42,157,41,.14),transparent 70%),rgba(255,255,255,.04);
  box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
  text-align:center;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.ai1-page--concessions .ai1-concessions-eligibility-card:hover{transform:translateY(-6px);border-color:rgba(101,239,131,.62);box-shadow:0 26px 54px rgba(0,0,0,.38),0 0 28px rgba(101,239,131,.15);}
.ai1-page--concessions .ai1-concessions-eligibility-card>span{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1rem;border:1px solid rgba(101,239,131,.46);border-radius:20px;color:var(--concession-green);font-size:1.25rem;font-weight:1000;box-shadow:inset 0 0 22px rgba(42,157,41,.11),0 0 20px rgba(101,239,131,.12);}
.ai1-page--concessions .ai1-concessions-eligibility-card h3{margin:0;color:#fff;font-size:1.04rem;line-height:1.35;}
.ai1-page--concessions .ai1-concessions-note{margin-top:1.3rem;padding:1rem 1.15rem;border:1px solid rgba(101,239,131,.22);border-radius:18px;background:rgba(101,239,131,.065);color:rgba(255,255,255,.76)!important;}
.ai1-page--concessions .ai1-concessions-note--centre{max-width:980px;margin:1.6rem auto 0;text-align:center;}

/* STORY */
.ai1-page--concessions .ai1-concessions-story{display:grid;grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:clamp(1.3rem,3vw,2.5rem);align-items:center;}
.ai1-page--concessions .ai1-concessions-process,.ai1-page--concessions .ai1-concessions-giveback{height:100%;padding:clamp(1.6rem,3vw,2.3rem);}
.ai1-page--concessions .ai1-concessions-eyebrow{display:inline-flex;margin-bottom:.8rem;color:var(--concession-green);font-size:.78rem;font-weight:1000;letter-spacing:.15em;text-transform:uppercase;}
.ai1-page--concessions .ai1-concessions-process h2,.ai1-page--concessions .ai1-concessions-giveback h2{margin:0 0 1rem;color:#fff;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.045em;}
.ai1-page--concessions .ai1-concessions-steps{display:grid;gap:1rem;margin:1.4rem 0 0;padding:0;list-style:none;}
.ai1-page--concessions .ai1-concessions-steps li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1rem;align-items:start;padding:1.05rem;border:1px solid rgba(121,221,255,.18);border-radius:20px;background:rgba(255,255,255,.04);transition:transform .24s ease,border-color .24s ease,background .24s ease;}
.ai1-page--concessions .ai1-concessions-steps li:hover{transform:translateX(5px);border-color:rgba(101,239,131,.42);background:rgba(101,239,131,.07);}
.ai1-page--concessions .ai1-concessions-steps li>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(101,239,131,.52);border-radius:50%;background:linear-gradient(135deg,#d9ffd9,#65ef83,#20b94d);color:#03101b;font-weight:1000;box-shadow:0 0 20px rgba(101,239,131,.38);}
.ai1-page--concessions .ai1-concessions-steps strong{display:block;margin:.1rem 0 .25rem;color:#fff;font-size:1.04rem;}
.ai1-page--concessions .ai1-concessions-steps p{margin:0;}
.ai1-page--concessions .ai1-concessions-giveback .ai1-actions{justify-content:flex-start;}
.ai1-page--concessions .ai1-concessions-orb{position:relative;display:grid;place-items:center;width:210px;height:210px;margin:auto;filter:drop-shadow(0 0 26px rgba(101,239,131,.24));}
.ai1-page--concessions .ai1-concessions-orb__ring{position:absolute;border-radius:50%;border:2px solid rgba(95,223,255,.42);}
.ai1-page--concessions .ai1-concessions-orb__ring--one{inset:5px;animation:ai1ConcessionOrbit 8s linear infinite;}
.ai1-page--concessions .ai1-concessions-orb__ring--two{inset:34px;border-color:rgba(101,239,131,.5);animation:ai1ConcessionOrbitReverse 5.8s linear infinite;}
.ai1-page--concessions .ai1-concessions-orb__ring::before{content:"";position:absolute;top:50%;left:-5px;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--concession-blue);box-shadow:0 0 16px var(--concession-blue);}
.ai1-page--concessions .ai1-concessions-orb__ring--two::before{background:var(--concession-green);box-shadow:0 0 16px var(--concession-green);}
.ai1-page--concessions .ai1-concessions-orb__heart{display:grid;place-items:center;width:96px;height:96px;border:2px solid rgba(101,239,131,.66);border-radius:34% 34% 48% 48%;background:radial-gradient(circle at 35% 30%,#fff 0 6%,#a8ff65 16%,#20b94d 58%,#07551d 100%);color:#fff;font-size:2.6rem;text-shadow:0 0 12px #fff;box-shadow:0 0 26px rgba(101,239,131,.78),0 0 62px rgba(42,157,41,.4),inset 0 1px 4px rgba(255,255,255,.65);animation:ai1ConcessionHeartBeat 1.8s ease-in-out infinite;}

/* FORM */
.ai1-page--concessions .ai1-concessions-form-section{padding-top:clamp(4.5rem,8vw,7rem);}
.ai1-page--concessions .ai1-concessions-form-card{padding:clamp(1.4rem,3vw,2.5rem);border-color:rgba(101,239,131,.3);}
.ai1-page--concessions .ai1-concessions-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;}
.ai1-page--concessions .ai1-span-2{grid-column:1/-1;}
.ai1-page--concessions .ai1-concessions-form label{display:block;margin:0 0 .5rem;color:#dffbff;font-size:.9rem;font-weight:850;}
.ai1-page--concessions .ai1-concessions-form label>span{color:#9ff7ad;}
.ai1-page--concessions .ai1-concessions-form input:not([type="checkbox"]),.ai1-page--concessions .ai1-concessions-form select,.ai1-page--concessions .ai1-concessions-form textarea{width:100%;min-height:54px;padding:.9rem 1rem;border:1px solid rgba(121,221,255,.22);border-radius:15px;outline:0;background:rgba(0,0,0,.28);color:#fff;font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;}
.ai1-page--concessions .ai1-concessions-form input::placeholder,.ai1-page--concessions .ai1-concessions-form textarea::placeholder{color:rgba(255,255,255,.38);}
.ai1-page--concessions .ai1-concessions-form select option{color:#07111f;background:#fff;}
.ai1-page--concessions .ai1-concessions-form textarea{min-height:170px;resize:vertical;}
.ai1-page--concessions .ai1-concessions-form input:focus,.ai1-page--concessions .ai1-concessions-form select:focus,.ai1-page--concessions .ai1-concessions-form textarea:focus{border-color:var(--concession-green);background:rgba(42,157,41,.08);box-shadow:0 0 0 4px rgba(101,239,131,.11),0 0 24px rgba(42,157,41,.15);transform:translateY(-1px);}
.ai1-page--concessions .ai1-concessions-form input:user-invalid,.ai1-page--concessions .ai1-concessions-form select:user-invalid,.ai1-page--concessions .ai1-concessions-form textarea:user-invalid{border-color:rgba(255,102,116,.72);box-shadow:0 0 0 3px rgba(255,89,100,.1);}
.ai1-page--concessions .ai1-concessions-form-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);}
.ai1-page--concessions .ai1-check{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:.8rem;align-items:start;margin:0!important;color:rgba(255,255,255,.76)!important;font-weight:700!important;}
.ai1-page--concessions .ai1-check input{width:18px;height:18px;margin:.2rem 0 0;accent-color:#20b94d;}
.ai1-page--concessions .ai1-check a,.ai1-page--concessions .ai1-concessions-fineprint a{color:#9eefff!important;text-decoration:underline;}
.ai1-page--concessions .ai1-concessions-form-actions{display:flex;justify-content:center;margin-top:1.8rem;}
.ai1-page--concessions .ai1-concessions-form-actions .ai1-btn{width:min(100%,520px);border:0;cursor:pointer;}
.ai1-page--concessions .ai1-concessions-fineprint{max-width:900px;margin:1rem auto 0;color:rgba(255,255,255,.55)!important;font-size:.86rem;text-align:center;}
.ai1-page--concessions .ai1-hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

@keyframes ai1ConcessionByteFloat{
  0%,100%{transform:translateY(0) rotate(-.5deg);}
  50%{transform:translateY(-9px) rotate(.5deg);}
}
@keyframes ai1ConcessionByteGlow{
  0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(.92);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.08);}
}
@keyframes ai1ConcessionByteOrbit{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(360deg);}
}
@keyframes ai1ConcessionByteOrbitReverse{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(-360deg);}
}
@keyframes ai1ConcessionHalo{to{transform:rotate(360deg);}}
@keyframes ai1ConcessionSheen{0%,18%{transform:translateX(-120%);opacity:0;}38%{opacity:1;}65%,100%{transform:translateX(120%);opacity:0;}}
@keyframes ai1ConcessionScan{0%,14%{left:-28%;opacity:0;}28%{opacity:1;}72%{opacity:.8;}88%,100%{left:118%;opacity:0;}}
@keyframes ai1ConcessionTick{0%,72%,100%{filter:brightness(.85);transform:scale(.92);}12%,28%{filter:brightness(1.45);transform:scale(1.22);text-shadow:0 0 18px rgba(101,239,131,1),0 0 32px rgba(42,157,41,.68);}}
@keyframes ai1HeartFloat{0%,100%{transform:translateY(0) scale(.96);}50%{transform:translateY(-5px) scale(1.04);}}
@keyframes ai1ConcessionPulse{0%,100%{transform:scale(.92);filter:brightness(.9);}50%{transform:scale(1.08);filter:brightness(1.25);}}
@keyframes ai1ConcessionFeatureSheen{0%,24%{transform:translateX(-120%);opacity:0;}42%{opacity:1;}72%,100%{transform:translateX(120%);opacity:0;}}
@keyframes ai1ConcessionOrbit{to{transform:rotate(360deg);}}
@keyframes ai1ConcessionOrbitReverse{to{transform:rotate(-360deg);}}
@keyframes ai1ConcessionHeartBeat{0%,100%{transform:scale(.92);}45%{transform:scale(1.06);}60%{transform:scale(1);}}

@media(max-width:1100px){
  .ai1-page--concessions .ai1-concessions-benefits{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ai1-page--concessions .ai1-concessions-benefit{min-height:260px;}
  .ai1-page--concessions .ai1-concessions-eligibility{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:900px){
  .ai1-page--concessions .ai1-concessions-hero-card__layout{grid-template-columns:1fr;text-align:center;}
  .ai1-page--concessions .ai1-concessions-byte-stage{width:min(100%,520px);min-height:310px;margin:0 auto;}
  .ai1-page--concessions .ai1-concessions-hero-card__content>p{text-align:center;}
  .ai1-page--concessions .ai1-concessions-story{grid-template-columns:1fr;}
  .ai1-page--concessions .ai1-concessions-orb{order:2;width:170px;height:170px;}
  .ai1-page--concessions .ai1-concessions-giveback{order:3;text-align:center;}
  .ai1-page--concessions .ai1-concessions-giveback .ai1-actions{justify-content:center;}
}

@media(max-width:760px){
  .ai1-page--concessions .ai1-concessions-eligibility{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ai1-page--concessions .ai1-concessions-form-checks{grid-template-columns:1fr;}
}

@media(max-width:680px){
  .ai1-page--concessions .ai1-concessions-byte-stage{min-height:270px;padding:1rem .75rem 3.25rem;}
  .ai1-page--concessions .ai1-concessions-byte{width:min(100%,235px);max-height:225px;}
  .ai1-page--concessions .ai1-concessions-byte-stage__orbit--one{width:215px;height:215px;}
  .ai1-page--concessions .ai1-concessions-byte-stage__orbit--two{width:170px;height:170px;}
  .ai1-page--concessions .ai1-concessions-byte-stage__caption{font-size:.64rem;letter-spacing:.06em;white-space:normal;}
  .ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero{width:100%;}
  .ai1-page--concessions .ai1-concessions-benefits,
  .ai1-page--concessions .ai1-concessions-eligibility,
  .ai1-page--concessions .ai1-concessions-form-grid{grid-template-columns:1fr;}
  .ai1-page--concessions .ai1-concessions-benefit{min-height:0;}
  .ai1-page--concessions .ai1-span-2{grid-column:auto;}
  .ai1-page--concessions .ai1-concessions-steps li{grid-template-columns:44px minmax(0,1fr);padding:1rem;}
  .ai1-page--concessions .ai1-concessions-steps li>span{width:42px;height:42px;}
  .ai1-page--concessions .ai1-concessions-orb{width:145px;height:145px;}
  .ai1-page--concessions .ai1-concessions-orb__heart{width:76px;height:76px;font-size:2rem;}
  .ai1-page--concessions .ai1-concessions-form-actions .ai1-btn{width:100%;}
}

@media(prefers-reduced-motion:reduce){
  .ai1-page--concessions .ai1-concessions-hero-card::before,
  .ai1-page--concessions .ai1-concessions-hero-card::after,
  .ai1-page--concessions .ai1-concessions-hero-card__scan,
  .ai1-page--concessions .ai1-concessions-byte-stage__glow,
  .ai1-page--concessions .ai1-concessions-byte-stage__orbit,
  .ai1-page--concessions .ai1-concessions-byte,
  .ai1-page--concessions .ai1-concessions-hero-card .ai1-list--hero li::before,
  .ai1-page--concessions .ai1-concessions-icon,
  .ai1-page--concessions .ai1-concessions-benefit::before,
  .ai1-page--concessions .ai1-concessions-orb__ring,
  .ai1-page--concessions .ai1-concessions-orb__heart{animation:none!important;}
  .ai1-page--concessions .ai1-concessions-byte{display:none;}
  .ai1-page--concessions .ai1-concessions-byte-fallback{display:grid;}
}


/* ============================================================
   CHARITY FREE-HOSTING EMPHASIS
   Makes the £0 offer impossible to miss without becoming tacky.
   ============================================================ */
.ai1-page--concessions .ai1-concessions-free-badge{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:1rem;
  width:min(100%,720px);
  margin:1.7rem auto .25rem;
  padding:.9rem 1.2rem;
  border:2px solid rgba(125,255,154,.7);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(7,85,29,.82),rgba(3,32,20,.92));
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 36px rgba(101,239,131,.24),inset 0 1px 0 rgba(255,255,255,.12);
  text-align:left;
}
.ai1-page--concessions .ai1-concessions-free-badge::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.03) 42%,rgba(167,255,187,.22) 50%,transparent 58%);
  transform:translateX(-125%);
  animation:ai1ConcessionFreeSweep 4.8s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-free-badge__price{
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  border:2px solid rgba(255,255,255,.78);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 7%,#caffd5 18%,#65ef83 50%,#20b94d 74%,#07551d 100%);
  color:#04110a;
  font-size:2rem;
  font-weight:1000;
  letter-spacing:-.05em;
  box-shadow:0 0 20px rgba(101,239,131,.9),0 0 48px rgba(32,185,77,.48),inset 0 1px 5px rgba(255,255,255,.7);
  animation:ai1ConcessionFreePulse 1.9s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-free-badge__copy{display:grid;gap:.25rem;}
.ai1-page--concessions .ai1-concessions-free-badge__copy strong{color:#fff;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.15;}
.ai1-page--concessions .ai1-concessions-free-badge__copy small{color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.45;}

.ai1-page--concessions .ai1-concessions-benefit:first-child{
  border-color:rgba(125,255,154,.58);
  background:radial-gradient(360px 180px at 15% 0%,rgba(101,239,131,.22),transparent 70%),linear-gradient(150deg,rgba(7,55,30,.94),rgba(2,16,12,.98));
  box-shadow:0 26px 68px rgba(0,0,0,.44),0 0 38px rgba(101,239,131,.17),inset 0 1px 0 rgba(255,255,255,.1);
}
.ai1-page--concessions .ai1-concessions-benefit:first-child .ai1-concessions-icon{
  background:radial-gradient(circle at 35% 30%,#fff 0 8%,#caffd5 18%,#65ef83 52%,#20b94d 78%);
  color:#04110a;
  box-shadow:0 0 22px rgba(101,239,131,.8),0 0 48px rgba(32,185,77,.34);
}

.ai1-page--concessions .ai1-concessions-free-promise{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(1.2rem,3vw,2.4rem);
  margin:clamp(4rem,7vw,6rem) 0 0;
  padding:clamp(1.5rem,3vw,2.4rem);
  border:3px solid rgba(125,255,154,.58);
  border-radius:32px;
  background:radial-gradient(520px 220px at 8% 0%,rgba(101,239,131,.24),transparent 70%),radial-gradient(480px 220px at 96% 100%,rgba(0,140,255,.16),transparent 72%),linear-gradient(145deg,rgba(6,45,26,.96),rgba(2,10,18,.98));
  box-shadow:0 34px 90px rgba(0,0,0,.56),0 0 54px rgba(101,239,131,.2),inset 0 1px 0 rgba(255,255,255,.12);
}
.ai1-page--concessions .ai1-concessions-free-promise::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.025) 42%,rgba(101,239,131,.16) 50%,transparent 58%);
  transform:translateX(-125%);
  animation:ai1ConcessionFreeSweep 5.8s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-free-promise__orb{
  display:grid;
  place-items:center;
  width:126px;
  height:126px;
  border:2px solid rgba(255,255,255,.76);
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#fff 0 7%,#d8ffe1 18%,#65ef83 48%,#20b94d 72%,#06491a 100%);
  box-shadow:0 0 24px rgba(101,239,131,.95),0 0 68px rgba(32,185,77,.45),inset 0 1px 5px rgba(255,255,255,.75);
  animation:ai1ConcessionFreeFloat 2.5s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-free-promise__orb span{color:#031008;font-size:2.7rem;font-weight:1000;letter-spacing:-.07em;text-shadow:0 1px 0 rgba(255,255,255,.4);}
.ai1-page--concessions .ai1-concessions-free-promise__content h2{margin:0 0 .75rem;color:#fff;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.045em;}
.ai1-page--concessions .ai1-concessions-free-promise__content p{margin:0;max-width:760px;}
.ai1-page--concessions .ai1-concessions-free-promise .ai1-btn{min-width:210px;white-space:nowrap;}

@keyframes ai1ConcessionFreeSweep{
  0%,18%{transform:translateX(-125%);opacity:0;}
  38%{opacity:1;}
  68%,100%{transform:translateX(125%);opacity:0;}
}
@keyframes ai1ConcessionFreePulse{
  0%,100%{transform:scale(.94);filter:brightness(.95);}
  50%{transform:scale(1.07);filter:brightness(1.18);}
}
@keyframes ai1ConcessionFreeFloat{
  0%,100%{transform:translateY(0) rotate(-2deg);}
  50%{transform:translateY(-7px) rotate(2deg);}
}

@media(max-width:900px){
  .ai1-page--concessions .ai1-concessions-free-promise{grid-template-columns:auto minmax(0,1fr);}
  .ai1-page--concessions .ai1-concessions-free-promise .ai1-btn{grid-column:1/-1;width:100%;}
}
@media(max-width:680px){
  .ai1-page--concessions .ai1-concessions-free-badge{grid-template-columns:1fr;text-align:center;}
  .ai1-page--concessions .ai1-concessions-free-badge__price{margin:auto;}
  .ai1-page--concessions .ai1-concessions-free-promise{grid-template-columns:1fr;text-align:center;}
  .ai1-page--concessions .ai1-concessions-free-promise__orb{width:105px;height:105px;margin:auto;}
  .ai1-page--concessions .ai1-concessions-free-promise__orb span{font-size:2.25rem;}
}
@media(prefers-reduced-motion:reduce){
  .ai1-page--concessions .ai1-concessions-free-badge::before,
  .ai1-page--concessions .ai1-concessions-free-badge__price,
  .ai1-page--concessions .ai1-concessions-free-promise::before,
  .ai1-page--concessions .ai1-concessions-free-promise__orb{animation:none!important;}
}


/* ============================================================
   CHARITY APPLICATION — TRAFFIC-LIGHT SEQUENCE
   The three application cards illuminate red, amber and green.
   CSS-only, so no page script is required.
   ============================================================ */
.ai1-page--concessions .ai1-concessions-steps li{
  --step-rgb:95,223,255;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-width:2px;
  background:
    radial-gradient(420px 150px at 0% 0%,rgba(var(--step-rgb),.05),transparent 72%),
    rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  animation:ai1ConcessionTrafficCard 3.9s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-steps li:nth-child(1){--step-rgb:255,73,88;animation-delay:0s;}
.ai1-page--concessions .ai1-concessions-steps li:nth-child(2){--step-rgb:255,190,52;animation-delay:1.3s;}
.ai1-page--concessions .ai1-concessions-steps li:nth-child(3){--step-rgb:87,227,137;animation-delay:2.6s;}

.ai1-page--concessions .ai1-concessions-steps li::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.025) 42%,rgba(var(--step-rgb),.22) 50%,transparent 58%);
  transform:translateX(-125%);
  animation:ai1ConcessionTrafficSweep 3.9s ease-in-out infinite;
  animation-delay:inherit;
}

.ai1-page--concessions .ai1-concessions-steps li>span{
  border-color:rgba(var(--step-rgb),.62);
  background:radial-gradient(circle at 34% 28%,#fff 0 8%,rgba(var(--step-rgb),.95) 38%,rgba(var(--step-rgb),.58) 74%,rgba(2,12,20,.9) 100%);
  color:#061018;
  box-shadow:0 0 0 7px rgba(var(--step-rgb),.05),0 0 14px rgba(var(--step-rgb),.2),inset 0 1px 4px rgba(255,255,255,.65);
  animation:ai1ConcessionTrafficLight 3.9s ease-in-out infinite;
  animation-delay:inherit;
}

.ai1-page--concessions .ai1-concessions-steps li:hover{
  transform:translateX(5px);
  border-color:rgba(var(--step-rgb),.72);
  background:rgba(var(--step-rgb),.085);
}

@keyframes ai1ConcessionTrafficCard{
  0%,22%,100%{
    border-color:rgba(121,221,255,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.16);
    transform:translateX(0);
  }
  32%,58%{
    border-color:rgba(var(--step-rgb),.82);
    background:
      radial-gradient(520px 190px at 0% 0%,rgba(var(--step-rgb),.18),transparent 72%),
      rgba(var(--step-rgb),.065);
    box-shadow:0 18px 44px rgba(0,0,0,.3),0 0 22px rgba(var(--step-rgb),.25),inset 0 1px 0 rgba(255,255,255,.09);
    transform:translateX(6px);
  }
  68%{
    border-color:rgba(var(--step-rgb),.34);
    transform:translateX(0);
  }
}

@keyframes ai1ConcessionTrafficLight{
  0%,22%,100%{
    filter:saturate(.35) brightness(.58);
    transform:scale(.88);
    box-shadow:0 0 0 7px rgba(var(--step-rgb),.025),0 0 8px rgba(var(--step-rgb),.1),inset 0 1px 4px rgba(255,255,255,.35);
  }
  32%,58%{
    filter:saturate(1.25) brightness(1.24);
    transform:scale(1.09);
    box-shadow:0 0 0 8px rgba(var(--step-rgb),.12),0 0 24px rgba(var(--step-rgb),.95),0 0 48px rgba(var(--step-rgb),.48),inset 0 1px 5px rgba(255,255,255,.82);
  }
  68%{
    filter:saturate(.65) brightness(.78);
    transform:scale(.96);
  }
}

@keyframes ai1ConcessionTrafficSweep{
  0%,25%{transform:translateX(-125%);opacity:0;}
  35%{opacity:1;}
  62%{transform:translateX(125%);opacity:.7;}
  72%,100%{transform:translateX(125%);opacity:0;}
}

/* ============================================================
   WHY WE DO THIS — HONEST IMPACT FLOW
   Replaces testimonials until real supported organisations exist.
   ============================================================ */
.ai1-page--concessions .ai1-concessions-impact{
  padding-top:clamp(4.5rem,8vw,7rem);
}

.ai1-page--concessions .ai1-concessions-impact-flow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(.8rem,2vw,1.4rem);
  align-items:center;
}

.ai1-page--concessions .ai1-concessions-impact-step{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:245px;
  padding:clamp(1.4rem,3vw,2rem);
  border:2px solid rgba(121,221,255,.24);
  border-radius:28px;
  background:radial-gradient(350px 170px at 50% 0%,rgba(101,239,131,.12),transparent 70%),linear-gradient(150deg,rgba(11,31,50,.94),rgba(2,8,18,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);
  text-align:center;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.ai1-page--concessions .ai1-concessions-impact-step::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.025) 43%,rgba(101,239,131,.15) 50%,transparent 57%);
  transform:translateX(-120%);
  animation:ai1ConcessionImpactSheen 6s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-impact-step:nth-of-type(2)::before{animation-delay:.7s;}
.ai1-page--concessions .ai1-concessions-impact-step:nth-of-type(3)::before{animation-delay:1.4s;}

.ai1-page--concessions .ai1-concessions-impact-step:hover{
  transform:translateY(-8px);
  border-color:rgba(152,246,172,.66);
  box-shadow:0 34px 76px rgba(0,0,0,.52),0 0 38px rgba(101,239,131,.16),inset 0 1px 0 rgba(255,255,255,.12);
}

.ai1-page--concessions .ai1-concessions-impact-step__icon{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  margin:0 auto 1.25rem;
  border:2px solid rgba(143,255,166,.7);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 7%,#caffd5 18%,#65ef83 48%,#20b94d 74%,#07551d 100%);
  color:#04110a;
  font-size:1.55rem;
  font-weight:1000;
  box-shadow:0 0 20px rgba(101,239,131,.76),0 0 48px rgba(32,185,77,.32),inset 0 1px 4px rgba(255,255,255,.65);
  animation:ai1ConcessionImpactPulse 2.3s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-impact-step:nth-of-type(2) .ai1-concessions-impact-step__icon{animation-delay:.4s;}
.ai1-page--concessions .ai1-concessions-impact-step:nth-of-type(3) .ai1-concessions-impact-step__icon{animation-delay:.8s;}

.ai1-page--concessions .ai1-concessions-impact-step strong{
  display:block;
  margin-bottom:.7rem;
  color:#fff;
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.25;
}
.ai1-page--concessions .ai1-concessions-impact-step p{margin:0;}

.ai1-page--concessions .ai1-concessions-impact-arrow{
  color:#83f39a;
  font-size:2rem;
  font-weight:1000;
  text-shadow:0 0 16px rgba(101,239,131,.75);
  animation:ai1ConcessionImpactArrow 1.8s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-impact-arrow:nth-of-type(2){animation-delay:.45s;}

@keyframes ai1ConcessionImpactSheen{
  0%,24%{transform:translateX(-120%);opacity:0;}
  42%{opacity:1;}
  72%,100%{transform:translateX(120%);opacity:0;}
}
@keyframes ai1ConcessionImpactPulse{
  0%,100%{transform:scale(.94);filter:brightness(.92);}
  50%{transform:scale(1.08);filter:brightness(1.22);}
}
@keyframes ai1ConcessionImpactArrow{
  0%,100%{transform:translateX(-3px);opacity:.55;}
  50%{transform:translateX(5px);opacity:1;}
}

@media(max-width:900px){
  .ai1-page--concessions .ai1-concessions-impact-flow{grid-template-columns:1fr;}
  .ai1-page--concessions .ai1-concessions-impact-arrow{transform:rotate(90deg);text-align:center;}
  @keyframes ai1ConcessionImpactArrow{
    0%,100%{transform:rotate(90deg) translateX(-3px);opacity:.55;}
    50%{transform:rotate(90deg) translateX(5px);opacity:1;}
  }
}

@media(prefers-reduced-motion:reduce){
  .ai1-page--concessions .ai1-concessions-steps li,
  .ai1-page--concessions .ai1-concessions-steps li::before,
  .ai1-page--concessions .ai1-concessions-steps li>span,
  .ai1-page--concessions .ai1-concessions-impact-step::before,
  .ai1-page--concessions .ai1-concessions-impact-step__icon,
  .ai1-page--concessions .ai1-concessions-impact-arrow{
    animation:none!important;
  }
}

/* ============================================================
   BYTE — FINAL PLACEMENT
   Hero is text-only. Byte replaces the centre orbit between the
   application process and hosting-that-gives-back panels.
   ============================================================ */

/* Keep the hero summary clean and centred. */
.ai1-page--concessions .ai1-concessions-hero-card{
  width:min(100%,960px);
  text-align:center;
}
.ai1-page--concessions .ai1-concessions-hero-card>strong{
  display:block;
  margin:0 0 .8rem;
  color:#fff;
  font-size:clamp(1.5rem,2.6vw,2rem);
  line-height:1.15;
}
.ai1-page--concessions .ai1-concessions-hero-card>p{
  max-width:820px;
  margin:0 auto;
  text-align:center;
}

/* Byte now occupies the middle column of the story section. */
.ai1-page--concessions .ai1-concessions-story-byte{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:220px;
  min-height:420px;
  margin:auto;
  padding:1rem .35rem 3.3rem;
  overflow:visible;
}
.ai1-page--concessions .ai1-concessions-story-byte__glow{
  position:absolute;
  z-index:-2;
  top:46%;
  left:50%;
  width:200px;
  height:250px;
  border-radius:48%;
  background:
    radial-gradient(circle at 50% 38%,rgba(168,255,101,.34),rgba(101,239,131,.16) 38%,rgba(32,185,77,.07) 58%,transparent 74%);
  filter:blur(14px);
  transform:translate(-50%,-50%);
  animation:ai1ConcessionStoryByteGlow 2.8s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-story-byte::before,
.ai1-page--concessions .ai1-concessions-story-byte::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  border-radius:50%;
  transform:translateX(-50%);
  pointer-events:none;
}
.ai1-page--concessions .ai1-concessions-story-byte::before{
  top:12%;
  width:205px;
  height:205px;
  border:1px solid rgba(101,239,131,.24);
  box-shadow:0 0 34px rgba(101,239,131,.12),inset 0 0 34px rgba(42,157,41,.08);
}
.ai1-page--concessions .ai1-concessions-story-byte::after{
  bottom:3.2rem;
  width:145px;
  height:22px;
  background:radial-gradient(ellipse,rgba(0,0,0,.58),transparent 72%);
  filter:blur(5px);
  opacity:.72;
}
.ai1-page--concessions .ai1-concessions-story-byte__video{
  position:relative;
  z-index:2;
  display:block;
  width:min(100%,215px);
  max-height:330px;
  object-fit:contain;
  mix-blend-mode:screen;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.42)) drop-shadow(0 0 18px rgba(101,239,131,.24));
  animation:ai1ConcessionStoryByteFloat 3.8s ease-in-out infinite;
}
.ai1-page--concessions .ai1-concessions-story-byte__fallback{
  position:relative;
  z-index:2;
  display:none;
  place-items:center;
  width:126px;
  height:126px;
  border:2px solid rgba(168,255,101,.65);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 7%,#caffd5 18%,#65ef83 48%,#20b94d 74%,#07551d 100%);
  color:#fff;
  font-size:3.2rem;
  box-shadow:0 0 28px rgba(101,239,131,.76),0 0 64px rgba(32,185,77,.36);
}
.ai1-page--concessions .ai1-concessions-story-byte__caption{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:.65rem;
  width:max-content;
  max-width:220px;
  transform:translateX(-50%);
  padding:.62rem .9rem;
  border:1px solid rgba(101,239,131,.5);
  border-radius:999px;
  background:rgba(2,18,15,.84);
  color:#eaffee;
  box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 20px rgba(101,239,131,.12),inset 0 1px 0 rgba(255,255,255,.08);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1.25;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
}

@keyframes ai1ConcessionStoryByteFloat{
  0%,100%{transform:translateY(0) rotate(-.35deg);}
  50%{transform:translateY(-9px) rotate(.35deg);}
}
@keyframes ai1ConcessionStoryByteGlow{
  0%,100%{opacity:.68;transform:translate(-50%,-50%) scale(.94);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.07);}
}

@media(max-width:900px){
  .ai1-page--concessions .ai1-concessions-story-byte{
    order:2;
    width:min(100%,360px);
    min-height:350px;
    padding-bottom:3.5rem;
  }
  .ai1-page--concessions .ai1-concessions-story-byte__video{
    width:min(100%,260px);
    max-height:285px;
  }
  .ai1-page--concessions .ai1-concessions-giveback{order:3;}
}

@media(max-width:680px){
  .ai1-page--concessions .ai1-concessions-story-byte{
    min-height:315px;
    padding:0 .5rem 3.4rem;
  }
  .ai1-page--concessions .ai1-concessions-story-byte__video{
    width:min(100%,230px);
    max-height:250px;
  }
  .ai1-page--concessions .ai1-concessions-story-byte::before{
    top:10%;
    width:185px;
    height:185px;
  }
  .ai1-page--concessions .ai1-concessions-story-byte__caption{
    max-width:210px;
    font-size:.64rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .ai1-page--concessions .ai1-concessions-story-byte__glow,
  .ai1-page--concessions .ai1-concessions-story-byte__video{
    animation:none!important;
  }
}

/* ============================================================
   BYTE — HEART-SHAPED VIDEO FRAME
   Replaces the former circular surround in the centre story panel.
   ============================================================ */
.ai1-page--concessions .ai1-concessions-story-byte{
  width:250px;
  min-height:410px;
  padding:1rem .25rem 3.6rem;
}

/* Remove the old circular frame and floor shadow. */
.ai1-page--concessions .ai1-concessions-story-byte::before,
.ai1-page--concessions .ai1-concessions-story-byte::after{
  display:none;
}

.ai1-page--concessions .ai1-concessions-story-byte__glow{
  top:43%;
  width:245px;
  height:285px;
  border-radius:45%;
  background:
    radial-gradient(circle at 50% 42%,rgba(168,255,101,.42),rgba(101,239,131,.2) 36%,rgba(32,185,77,.08) 58%,transparent 75%);
  filter:blur(17px);
}

.ai1-page--concessions .ai1-concessions-story-byte__heart-frame{
  --ai1-heart-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath fill='black' d='M50 90C45 84 8 61 3 33C-1 10 25-5 43 13L50 21L57 13C75-5 101 10 97 33C92 61 55 84 50 90Z'/%3E%3C/svg%3E");
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:236px;
  height:218px;
  margin:0 auto;
  isolation:isolate;
  filter:
    drop-shadow(0 18px 24px rgba(0,0,0,.46))
    drop-shadow(0 0 18px rgba(101,239,131,.42))
    drop-shadow(0 0 38px rgba(32,185,77,.22));
  animation:ai1ConcessionStoryByteFloat 3.8s ease-in-out infinite;
}

/* Glowing heart outline. */
.ai1-page--concessions .ai1-concessions-story-byte__heart-frame::before{
  content:"";
  position:absolute;
  z-index:3;
  inset:-5px;
  pointer-events:none;
  background:linear-gradient(145deg,#d7ffe0 0%,#65ef83 38%,#20b94d 68%,#5fdfff 100%);
  -webkit-mask:var(--ai1-heart-mask) center/contain no-repeat;
  mask:var(--ai1-heart-mask) center/contain no-repeat;
  filter:drop-shadow(0 0 8px rgba(101,239,131,.9));
}

/* Dark inner heart creates a precise neon border. */
.ai1-page--concessions .ai1-concessions-story-byte__heart-frame::after{
  content:"";
  position:absolute;
  z-index:4;
  inset:1px;
  pointer-events:none;
  background:#061521;
  -webkit-mask:var(--ai1-heart-mask) center/contain no-repeat;
  mask:var(--ai1-heart-mask) center/contain no-repeat;
  transform:scale(.965);
}

.ai1-page--concessions .ai1-concessions-story-byte__video{
  z-index:5;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:50% 42%;
  mix-blend-mode:normal;
  filter:none;
  animation:none;
  -webkit-mask:var(--ai1-heart-mask) center/contain no-repeat;
  mask:var(--ai1-heart-mask) center/contain no-repeat;
  transform:scale(.94);
}

.ai1-page--concessions .ai1-concessions-story-byte__fallback{
  z-index:5;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  -webkit-mask:var(--ai1-heart-mask) center/contain no-repeat;
  mask:var(--ai1-heart-mask) center/contain no-repeat;
  transform:scale(.94);
}

.ai1-page--concessions .ai1-concessions-story-byte__caption{
  bottom:.45rem;
  max-width:245px;
  border-color:rgba(101,239,131,.62);
  background:linear-gradient(180deg,rgba(5,36,26,.92),rgba(2,18,15,.94));
  box-shadow:
    0 12px 28px rgba(0,0,0,.36),
    0 0 22px rgba(101,239,131,.18),
    inset 0 1px 0 rgba(255,255,255,.09);
}

@media(max-width:900px){
  .ai1-page--concessions .ai1-concessions-story-byte{
    width:min(100%,390px);
    min-height:385px;
  }
  .ai1-page--concessions .ai1-concessions-story-byte__heart-frame{
    width:270px;
    height:250px;
  }
}

@media(max-width:680px){
  .ai1-page--concessions .ai1-concessions-story-byte{
    min-height:345px;
    padding-bottom:3.5rem;
  }
  .ai1-page--concessions .ai1-concessions-story-byte__heart-frame{
    width:225px;
    height:208px;
  }
  .ai1-page--concessions .ai1-concessions-story-byte__caption{
    width:min(100%,225px);
    max-width:225px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ai1-page--concessions .ai1-concessions-story-byte__heart-frame{
    animation:none!important;
  }
}

/* ============================================================
   BYTE — FINAL IMPACT PLACEMENT
   Byte replaces the centre £0 impact icon. The story section uses
   the animated heart/orbit again. These final rules override the
   previous experimental Byte placements.
   ============================================================ */

/* The impact flow remains exactly three cards and two arrows. */
.ai1-page--concessions .ai1-concessions-impact-flow{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  width:100%;
  max-width:100%;
}

/* Centre Byte card. */
.ai1-page--concessions .ai1-concessions-impact-step--byte{
  min-width:0;
  border-color:rgba(101,239,131,.5);
  background:
    radial-gradient(330px 190px at 50% 0%,rgba(101,239,131,.18),transparent 70%),
    linear-gradient(150deg,rgba(7,39,25,.95),rgba(2,8,18,.98));
  box-shadow:
    0 24px 60px rgba(0,0,0,.42),
    0 0 34px rgba(101,239,131,.13),
    inset 0 1px 0 rgba(255,255,255,.09);
}

/* Snug portrait frame using Byte's actual 580 × 720 video ratio. */
.ai1-page--concessions .ai1-concessions-impact-byte-frame{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(100%,190px);
  aspect-ratio:580 / 720;
  margin:0 auto 1.25rem;
  padding:0;
  border:2px solid rgba(101,239,131,.82);
  border-radius:26px;
  background:#06131c;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 16px 34px rgba(0,0,0,.4),
    0 0 22px rgba(101,239,131,.4),
    0 0 48px rgba(32,185,77,.2),
    inset 0 1px 0 rgba(255,255,255,.12);
  animation:ai1ConcessionImpactByteBorder 3s ease-in-out infinite;
}

.ai1-page--concessions .ai1-concessions-impact-byte-frame::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(
      115deg,
      transparent 0%,
      rgba(255,255,255,.02) 42%,
      rgba(167,255,187,.18) 50%,
      transparent 58%
    );
  transform:translateX(-125%);
  animation:ai1ConcessionImpactByteSweep 5.2s ease-in-out infinite;
}

.ai1-page--concessions .ai1-concessions-impact-byte-video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  object-position:50% 50%;
  border:0;
  border-radius:calc(26px - 2px);
  background:#06131c;
  filter:none;
}

/* Keep the card wording aligned with the other impact cards. */
.ai1-page--concessions .ai1-concessions-impact-step--byte > strong{
  margin-top:0;
}

@keyframes ai1ConcessionImpactByteBorder{
  0%,100%{
    border-color:rgba(101,239,131,.56);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.05),
      0 16px 34px rgba(0,0,0,.4),
      0 0 16px rgba(101,239,131,.25),
      0 0 34px rgba(32,185,77,.13);
  }
  50%{
    border-color:rgba(184,255,199,.95);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.1),
      0 18px 38px rgba(0,0,0,.44),
      0 0 28px rgba(101,239,131,.66),
      0 0 58px rgba(32,185,77,.3);
  }
}

@keyframes ai1ConcessionImpactByteSweep{
  0%,24%{transform:translateX(-125%);opacity:0;}
  42%{opacity:1;}
  72%,100%{transform:translateX(125%);opacity:0;}
}

@media(max-width:900px){
  .ai1-page--concessions .ai1-concessions-impact-flow{
    grid-template-columns:1fr;
  }

  .ai1-page--concessions .ai1-concessions-impact-byte-frame{
    width:min(72vw,210px);
  }
}

@media(max-width:680px){
  .ai1-page--concessions .ai1-concessions-impact-byte-frame{
    width:min(70vw,185px);
    border-radius:22px;
  }

  .ai1-page--concessions .ai1-concessions-impact-byte-video{
    border-radius:calc(22px - 2px);
  }
}

@media(prefers-reduced-motion:reduce){
  .ai1-page--concessions .ai1-concessions-impact-byte-frame,
  .ai1-page--concessions .ai1-concessions-impact-byte-frame::before{
    animation:none!important;
  }
}