/* ============================================================
   AI1DESIGN — £100 WEBSITE SIGNUP / ONBOARDING
   Namespace: ai1hundred-signup-* / ai1hundred-field / template cards
============================================================ */

.ai1hundred-signup{
  --green:#39ff14;
  --blue:#00c8ff;
  --orange:#ff9d00;
  --pink:#ff2e88;
  --purple:#9a4dff;
  --bg:#030708;
  --panel:rgba(9,16,16,.88);
  --border:rgba(255,255,255,.14);
  --muted:rgba(255,255,255,.68);
  color:#fff;
  background:
    radial-gradient(circle at 10% 15%,rgba(57,255,20,.08),transparent 26%),
    radial-gradient(circle at 90% 42%,rgba(0,200,255,.08),transparent 28%),
    var(--bg);
  overflow:hidden;
}

.ai1hundred-signup *,
.ai1hundred-signup *::before,
.ai1hundred-signup *::after{box-sizing:border-box}

.ai1hundred-signup-container{
  width:min(1180px,calc(100% - 3rem));
  margin-inline:auto;
  position:relative;
  z-index:2;
}

.ai1hundred-signup-hero{
  position:relative;
  min-height:620px;
  display:grid;
  place-items:center;
  padding:clamp(6rem,10vw,9rem) 0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.18),#030708),
    radial-gradient(circle at 50% 25%,rgba(57,255,20,.1),transparent 34%);
  isolation:isolate;
}

.ai1hundred-signup-orb{
  position:absolute;
  width:360px;height:360px;border-radius:50%;
  filter:blur(100px);opacity:.18;pointer-events:none;
}
.ai1hundred-signup-orb--one{left:-130px;top:20%;background:var(--green)}
.ai1hundred-signup-orb--two{right:-130px;bottom:10%;background:var(--blue)}

.ai1hundred-signup-hero-card{
  width:min(860px,100%);
  margin:auto;
  padding:clamp(2.2rem,5vw,4.5rem);
  text-align:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:36px;
  background:linear-gradient(145deg,rgba(8,14,14,.9),rgba(6,10,10,.68));
  box-shadow:0 40px 110px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(22px);
}

.ai1hundred-signup-kicker{
  margin:0 0 .8rem;color:var(--green);font-size:.8rem;font-weight:900;
  letter-spacing:.18em;text-transform:uppercase;
}

.ai1hundred-signup-hero h1{
  margin:0 0 1.4rem;font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.06em;
}
.ai1hundred-signup-hero h1 span{
  display:block;background:linear-gradient(90deg,var(--green),#76f6ff,var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ai1hundred-signup-hero-card>p:not(.ai1hundred-signup-kicker):not(.ai1hundred-signup-smallprint){
  width:min(700px,100%);margin:0 auto 1.8rem;color:rgba(255,255,255,.78);font-size:1.1rem;line-height:1.75;
}
.ai1hundred-signup-price{display:flex;justify-content:center;align-items:baseline;gap:.8rem;margin:1.4rem 0}
.ai1hundred-signup-price strong{font-size:clamp(3rem,7vw,5rem);color:var(--green);letter-spacing:-.06em}
.ai1hundred-signup-price span{color:var(--muted);font-weight:700}
.ai1hundred-signup-smallprint{margin:1.4rem auto 0!important;color:rgba(255,255,255,.58);font-size:.9rem;line-height:1.6}

.ai1hundred-signup-main{padding:clamp(4rem,8vw,7rem) 0 8rem}

/* Progress */
.ai1hundred-signup-progress{
  position:sticky;top:12px;z-index:20;margin-bottom:2rem;padding:1.2rem 1.4rem;
  border:1px solid var(--border);border-radius:24px;background:rgba(5,10,10,.88);
  box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(18px);
}
.ai1hundred-signup-progress-track{height:4px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden}
.ai1hundred-signup-progress-bar{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--blue));transition:width .4s ease}
.ai1hundred-signup-progress-steps{
  display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;list-style:none;padding:0;margin:1rem 0 0;
}
.ai1hundred-signup-progress-steps li{display:flex;align-items:center;justify-content:center;gap:.45rem;color:rgba(255,255,255,.42);font-size:.8rem}
.ai1hundred-signup-progress-steps span{
  display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid rgba(255,255,255,.15);
}
.ai1hundred-signup-progress-steps li.is-active,
.ai1hundred-signup-progress-steps li.is-complete{color:#fff}
.ai1hundred-signup-progress-steps li.is-active span{
  color:#001000;background:var(--green);border-color:var(--green);box-shadow:0 0 22px rgba(57,255,20,.25)
}
.ai1hundred-signup-progress-steps li.is-complete span{border-color:var(--blue);color:var(--blue)}

/* Panels */
.ai1hundred-signup-form{
  position:relative;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:32px;
  background:linear-gradient(145deg,rgba(10,17,17,.92),rgba(5,9,9,.94));
  box-shadow:0 35px 90px rgba(0,0,0,.35);
}
.ai1hundred-signup-panel{display:none;border:0;padding:0;margin:0;min-width:0}
.ai1hundred-signup-panel.is-active{display:block;animation:ai1signup-in .42s cubic-bezier(.16,1,.3,1)}
@keyframes ai1signup-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
.ai1hundred-signup-panel-heading{text-align:center;width:min(780px,100%);margin:0 auto 2.6rem}
.ai1hundred-signup-panel-heading h2{margin:.4rem 0 1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.045em}
.ai1hundred-signup-panel-heading>p:last-child{margin:0;color:var(--muted);line-height:1.7}

/* Fields */
.ai1hundred-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.ai1hundred-field{display:flex;flex-direction:column;gap:.55rem}
.ai1hundred-field--wide{grid-column:1/-1}
.ai1hundred-field label{font-weight:800;font-size:.9rem}
.ai1hundred-field label span,.ai1hundred-consents strong{color:var(--green)}
.ai1hundred-field input,
.ai1hundred-field select,
.ai1hundred-field textarea{
  width:100%;border:1px solid rgba(255,255,255,.14);border-radius:15px;
  background:rgba(255,255,255,.055);color:#fff;padding:.95rem 1rem;
  font:inherit;outline:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.ai1hundred-field textarea{resize:vertical;min-height:110px;line-height:1.55}
.ai1hundred-field select option{background:#0b1111;color:#fff}
.ai1hundred-field input:focus,
.ai1hundred-field select:focus,
.ai1hundred-field textarea:focus{
  border-color:rgba(57,255,20,.6);background:rgba(57,255,20,.045);
  box-shadow:0 0 0 4px rgba(57,255,20,.08),0 0 24px rgba(57,255,20,.06);
}
.ai1hundred-field small{color:rgba(255,255,255,.52);line-height:1.5}
.ai1hundred-field.is-invalid input,
.ai1hundred-field.is-invalid select,
.ai1hundred-field.is-invalid textarea{border-color:#ff5577;box-shadow:0 0 0 4px rgba(255,85,119,.08)}
.ai1hundred-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Templates */
.ai1hundred-template-note{
  display:flex;justify-content:space-between;gap:1rem;margin:0 0 1.4rem;padding:1rem 1.2rem;
  border:1px solid rgba(0,200,255,.22);border-radius:16px;background:rgba(0,200,255,.05);color:var(--muted)
}
.ai1hundred-template-note strong{color:#fff}
.ai1hundred-template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.ai1hundred-template-card{
  position:relative;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:22px;
  background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.ai1hundred-template-card:hover{transform:translateY(-7px);border-color:rgba(57,255,20,.38);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.ai1hundred-template-card.is-selected{
  border-color:var(--green);box-shadow:0 0 0 2px rgba(57,255,20,.13),0 25px 70px rgba(57,255,20,.1)
}
.ai1hundred-template-card.is-selected::after{
  content:"✓ SELECTED";position:absolute;top:12px;right:12px;z-index:4;padding:.45rem .65rem;border-radius:99px;
  background:var(--green);color:#031003;font-size:.68rem;font-weight:900;letter-spacing:.08em
}
.ai1hundred-template-preview{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#0d1815,#09111a);overflow:hidden}
.ai1hundred-template-preview img{display:block;width:100%;height:100%;object-fit:cover}
.ai1hundred-template-preview img:not([src]),.ai1hundred-template-preview img[src=""]{display:none}
.ai1hundred-template-placeholder{
  position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.4);font-weight:800;font-size:.8rem;
  background:radial-gradient(circle at 30% 20%,rgba(57,255,20,.13),transparent 30%),radial-gradient(circle at 70% 70%,rgba(0,200,255,.13),transparent 35%)
}
.ai1hundred-template-preview img[src]+.ai1hundred-template-placeholder{z-index:-1}
.ai1hundred-template-copy{display:flex;flex-direction:column;gap:.45rem;padding:1.2rem}
.ai1hundred-template-name{font-size:1.35rem;font-weight:900}
.ai1hundred-template-style{color:var(--green);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ai1hundred-template-best{min-height:42px;color:var(--muted);font-size:.85rem;line-height:1.5}
.ai1hundred-template-select{margin-top:.35rem;color:#fff;font-weight:900;font-size:.84rem}
.ai1hundred-template-auto{
  width:100%;margin-top:1.3rem;padding:1.25rem;border:1px dashed rgba(0,200,255,.42);border-radius:20px;
  display:flex;align-items:center;justify-content:center;gap:1rem;background:rgba(0,200,255,.055);color:#fff;cursor:pointer;text-align:left
}
.ai1hundred-template-auto.is-selected{border-style:solid;border-color:var(--blue);box-shadow:0 0 30px rgba(0,200,255,.1)}
.ai1hundred-template-auto-icon{
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#001015;font-size:1.35rem;font-weight:900
}
.ai1hundred-template-auto span:last-child{display:flex;flex-direction:column;gap:.25rem}
.ai1hundred-template-auto small{color:var(--muted)}
.ai1hundred-template-error{min-height:1.4em;margin:1rem 0 0;text-align:center;color:#ff7890;font-weight:800}

/* Extras */
.ai1hundred-extra-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.ai1hundred-extra-option{
  position:relative;display:flex;align-items:flex-start;gap:1rem;padding:1.2rem;border:1px solid var(--border);
  border-radius:18px;background:rgba(255,255,255,.04);cursor:pointer;transition:.25s ease
}
.ai1hundred-extra-option:has(input:checked){border-color:rgba(57,255,20,.48);background:rgba(57,255,20,.06);box-shadow:0 0 26px rgba(57,255,20,.06)}
.ai1hundred-extra-option input{margin-top:.25rem;accent-color:var(--green);transform:scale(1.25)}
.ai1hundred-extra-option span{display:flex;flex-direction:column;gap:.35rem}
.ai1hundred-extra-option small{color:var(--muted);line-height:1.5}
.ai1hundred-extra-comments{margin-top:1.3rem}

/* Review */
.ai1hundred-review{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.4rem}
.ai1hundred-review-card{padding:1.2rem;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.04)}
.ai1hundred-review-card strong{display:block;margin-bottom:.4rem;color:var(--green);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.ai1hundred-review-card span{display:block;white-space:pre-line;line-height:1.55;color:rgba(255,255,255,.86)}
.ai1hundred-review-card--wide{grid-column:1/-1}
.ai1hundred-package-summary{
  display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:1.4rem 0;padding:1.5rem;
  border:1px solid rgba(57,255,20,.32);border-radius:20px;background:linear-gradient(135deg,rgba(57,255,20,.07),rgba(0,200,255,.05))
}
.ai1hundred-package-summary strong{font-size:1.15rem}
.ai1hundred-package-summary p{margin:.4rem 0 0;color:var(--muted);line-height:1.6}
.ai1hundred-package-summary>span{font-size:2.4rem;font-weight:900;color:var(--green)}
.ai1hundred-consents{display:grid;gap:.85rem;margin:1.3rem 0}
.ai1hundred-consents label{display:flex;align-items:flex-start;gap:.8rem;color:rgba(255,255,255,.78);line-height:1.55}
.ai1hundred-consents input{margin-top:.3rem;accent-color:var(--green);transform:scale(1.2)}
.ai1hundred-submit-area{text-align:center;margin-top:2rem}
.ai1hundred-submit-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.85rem;min-height:64px;padding:1.05rem 1.8rem;
  border:1px solid rgba(57,255,20,.55);border-radius:999px;background:linear-gradient(110deg,#65ff2e,var(--green),var(--blue));
  color:#031003;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 18px 42px rgba(57,255,20,.15);transition:.25s ease
}
.ai1hundred-submit-button:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 24px 55px rgba(57,255,20,.22)}
.ai1hundred-submit-area p{color:var(--muted);font-size:.85rem}

/* Nav */
.ai1hundred-form-actions{
  display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)
}
.ai1hundred-nav-button{
  min-height:52px;padding:.85rem 1.3rem;border-radius:999px;border:1px solid var(--border);font:inherit;font-weight:900;cursor:pointer
}
.ai1hundred-nav-button--back{background:rgba(255,255,255,.055);color:#fff}
.ai1hundred-nav-button--next{margin-left:auto;background:linear-gradient(110deg,var(--green),var(--blue));color:#031003;border-color:rgba(57,255,20,.45)}

/* Accessibility */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media (max-width:900px){
  .ai1hundred-template-grid{grid-template-columns:repeat(2,1fr)}
  .ai1hundred-signup-progress-steps strong{display:none}
}
@media (max-width:700px){
  .ai1hundred-signup-container{width:min(100% - 1.5rem,1180px)}
  .ai1hundred-signup-form{padding:1.2rem;border-radius:24px}
  .ai1hundred-form-grid,.ai1hundred-extra-options,.ai1hundred-review{grid-template-columns:1fr}
  .ai1hundred-field--wide,.ai1hundred-review-card--wide{grid-column:auto}
  .ai1hundred-template-grid{grid-template-columns:1fr}
  .ai1hundred-template-note{flex-direction:column}
  .ai1hundred-signup-progress{top:6px;padding:.9rem}
  .ai1hundred-signup-progress-steps{gap:.2rem}
  .ai1hundred-signup-progress-steps li{font-size:.7rem}
  .ai1hundred-signup-progress-steps span{width:24px;height:24px}
  .ai1hundred-package-summary{align-items:flex-start;gap:1rem;flex-direction:column}
  .ai1hundred-form-actions{position:sticky;bottom:8px;z-index:10;padding:1rem;border-radius:18px;background:rgba(5,10,10,.93);backdrop-filter:blur(14px)}
  .ai1hundred-nav-button{flex:1}
}
@media (prefers-reduced-motion:reduce){
  .ai1hundred-signup *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}


/* ============================================================
   10) HERO VIDEO + CINEMATIC COLOUR LAYER
============================================================ */

.ai1hundred-signup-hero{
  overflow:hidden;
  background:#020606;
}

.ai1hundred-signup-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-5;
  opacity:.76;
  filter:saturate(1.2) contrast(1.04);
  transform:scale(1.03);
  animation:ai1signup-video-breathe 16s ease-in-out infinite alternate;
}

.ai1hundred-signup-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-4;
  background:
    linear-gradient(180deg,rgba(1,5,5,.36) 0%,rgba(2,8,8,.5) 50%,#030708 100%),
    radial-gradient(circle at 20% 20%,rgba(57,255,20,.18),transparent 32%),
    radial-gradient(circle at 82% 28%,rgba(0,200,255,.2),transparent 34%),
    radial-gradient(circle at 50% 90%,rgba(255,46,136,.09),transparent 28%);
}

.ai1hundred-signup-hero-noise{
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:.12;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}

.ai1hundred-signup-orb--three{
  left:48%;
  bottom:-180px;
  background:var(--pink);
  opacity:.12;
}

.ai1hundred-signup-colour-line{
  position:absolute;
  left:0;
  width:100%;
  height:4px;
  z-index:5;
  background:linear-gradient(
    90deg,
    var(--green),
    var(--blue),
    var(--purple),
    var(--pink),
    var(--orange),
    var(--green)
  );
  background-size:300% 100%;
  animation:ai1signup-colour-flow 8s linear infinite;
  box-shadow:0 0 22px rgba(57,255,20,.28);
}

.ai1hundred-signup-colour-line--top{top:0}
.ai1hundred-signup-colour-line--bottom{bottom:0}

/* ============================================================
   11) HERO CARD — STRONGER GLASS + DEPTH
============================================================ */

.ai1hundred-signup-hero-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.22);
  background:
    linear-gradient(145deg,rgba(6,13,13,.78),rgba(4,9,10,.63)),
    radial-gradient(circle at 15% 10%,rgba(57,255,20,.1),transparent 30%);
  box-shadow:
    0 45px 120px rgba(0,0,0,.58),
    0 0 70px rgba(0,200,255,.07),
    inset 0 1px 0 rgba(255,255,255,.09);
}

.ai1hundred-signup-hero-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  border-radius:inherit;
  background:
    conic-gradient(
      from 180deg,
      rgba(57,255,20,.46),
      rgba(0,200,255,.35),
      rgba(154,77,255,.28),
      rgba(255,46,136,.24),
      rgba(255,157,0,.28),
      rgba(57,255,20,.46)
    );
  filter:blur(28px);
  opacity:.38;
  animation:ai1signup-rotate-glow 14s linear infinite;
}

.ai1hundred-signup-hero-card::after{
  content:"";
  position:absolute;
  width:42%;
  height:180%;
  top:-40%;
  left:-60%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  animation:ai1signup-shimmer 9s ease-in-out infinite;
  pointer-events:none;
}

.ai1hundred-signup-hero h1{
  text-shadow:0 12px 42px rgba(0,0,0,.35);
}

.ai1hundred-signup-hero h1 span{
  background-size:200% 100%;
  animation:ai1signup-heading-flow 6s ease-in-out infinite alternate;
}

.ai1hundred-signup-price strong{
  text-shadow:0 0 32px rgba(57,255,20,.22);
  animation:ai1signup-price-pulse 3.5s ease-in-out infinite;
}

/* ============================================================
   12) COLOURFUL PANELS + FORMS
============================================================ */

.ai1hundred-signup-form{
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 0%,rgba(57,255,20,.045),transparent 26%),
    radial-gradient(circle at 100% 20%,rgba(0,200,255,.05),transparent 28%),
    radial-gradient(circle at 85% 100%,rgba(154,77,255,.04),transparent 24%),
    linear-gradient(145deg,rgba(10,17,17,.94),rgba(5,9,9,.96));
}

.ai1hundred-signup-form::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(
    135deg,
    rgba(57,255,20,.22),
    rgba(0,200,255,.16),
    rgba(154,77,255,.1),
    rgba(255,46,136,.12)
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.ai1hundred-signup-panel-heading h2{
  background:linear-gradient(90deg,#fff 0%,#fff 55%,#9aff8b 76%,#70e9ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.ai1hundred-field input:hover,
.ai1hundred-field select:hover,
.ai1hundred-field textarea:hover{
  border-color:rgba(0,200,255,.28);
  background:rgba(255,255,255,.07);
}

/* ============================================================
   13) TEMPLATE CARDS — MORE WOW
============================================================ */

.ai1hundred-template-card{
  isolation:isolate;
}

.ai1hundred-template-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  background:
    radial-gradient(circle at 10% 10%,rgba(57,255,20,.12),transparent 30%),
    radial-gradient(circle at 90% 80%,rgba(0,200,255,.12),transparent 34%);
  transition:opacity .35s ease;
}

.ai1hundred-template-card:hover::before,
.ai1hundred-template-card.is-selected::before{
  opacity:1;
}

.ai1hundred-template-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 15%,rgba(255,255,255,.08) 40%,transparent 65%);
  transform:translateX(-120%);
  transition:transform .8s cubic-bezier(.16,1,.3,1);
}

.ai1hundred-template-card:hover .ai1hundred-template-preview::after{
  transform:translateX(120%);
}

.ai1hundred-template-card:hover .ai1hundred-template-name{
  color:var(--green);
}

.ai1hundred-template-auto{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(0,200,255,.07),rgba(154,77,255,.06));
}

.ai1hundred-template-auto::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-70px;
  top:-80px;
  border-radius:50%;
  background:rgba(0,200,255,.08);
  filter:blur(8px);
  transition:transform .5s ease;
}

.ai1hundred-template-auto:hover::after{
  transform:scale(1.6);
}

/* ============================================================
   14) OPTIONAL EXTRAS — COLOUR RESPONSE
============================================================ */

.ai1hundred-extra-option{
  overflow:hidden;
  isolation:isolate;
}

.ai1hundred-extra-option::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:100%;
  background:linear-gradient(var(--green),var(--blue));
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .28s ease;
}

.ai1hundred-extra-option:hover::before,
.ai1hundred-extra-option:has(input:checked)::before{
  transform:scaleY(1);
}

.ai1hundred-extra-option:hover{
  transform:translateY(-4px);
  border-color:rgba(0,200,255,.28);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}

/* ============================================================
   15) BUTTONS — STRONGER MOTION
============================================================ */

.ai1hundred-nav-button--next,
.ai1hundred-submit-button{
  position:relative;
  overflow:hidden;
  background-size:180% 100%;
  animation:ai1signup-button-flow 5s ease-in-out infinite alternate;
}

.ai1hundred-nav-button--next::after,
.ai1hundred-submit-button::after{
  content:"";
  position:absolute;
  top:-80%;
  left:-35%;
  width:22%;
  height:260%;
  transform:rotate(20deg);
  background:rgba(255,255,255,.28);
  transition:left .55s ease;
}

.ai1hundred-nav-button--next:hover::after,
.ai1hundred-submit-button:hover::after{
  left:120%;
}

/* ============================================================
   16) SCROLL REVEALS
============================================================ */

.ai1hundred-reveal{
  opacity:0;
  transition:
    opacity .75s cubic-bezier(.16,1,.3,1),
    transform .75s cubic-bezier(.16,1,.3,1),
    filter .75s ease;
  filter:blur(5px);
  will-change:transform,opacity;
}

.ai1hundred-reveal--up{
  transform:translateY(36px);
}

.ai1hundred-reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

.ai1hundred-template-card:nth-child(2){transition-delay:.06s}
.ai1hundred-template-card:nth-child(3){transition-delay:.12s}
.ai1hundred-template-card:nth-child(4){transition-delay:.18s}
.ai1hundred-template-card:nth-child(5){transition-delay:.24s}
.ai1hundred-template-card:nth-child(6){transition-delay:.30s}

/* ============================================================
   17) ANIMATION KEYFRAMES
============================================================ */

@keyframes ai1signup-video-breathe{
  from{transform:scale(1.03)}
  to{transform:scale(1.09)}
}

@keyframes ai1signup-colour-flow{
  from{background-position:0% 50%}
  to{background-position:300% 50%}
}

@keyframes ai1signup-heading-flow{
  from{background-position:0% 50%}
  to{background-position:100% 50%}
}

@keyframes ai1signup-rotate-glow{
  to{transform:rotate(360deg)}
}

@keyframes ai1signup-shimmer{
  0%,65%{left:-60%;opacity:0}
  72%{opacity:1}
  86%{left:120%;opacity:.7}
  100%{left:120%;opacity:0}
}

@keyframes ai1signup-price-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

@keyframes ai1signup-button-flow{
  from{background-position:0% 50%}
  to{background-position:100% 50%}
}

/* ============================================================
   18) MOBILE MOTION TUNING
============================================================ */

@media (max-width:700px){
  .ai1hundred-signup-hero{
    min-height:560px;
  }

  .ai1hundred-signup-hero-video{
    opacity:.62;
  }

  .ai1hundred-signup-hero-card{
    padding:2rem 1.25rem;
  }

  .ai1hundred-signup-colour-line{
    height:3px;
  }

  .ai1hundred-template-card:hover,
  .ai1hundred-extra-option:hover{
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .ai1hundred-signup-hero-video,
  .ai1hundred-signup-colour-line,
  .ai1hundred-signup-hero-card::before,
  .ai1hundred-signup-hero-card::after,
  .ai1hundred-signup-hero h1 span,
  .ai1hundred-signup-price strong,
  .ai1hundred-nav-button--next,
  .ai1hundred-submit-button{
    animation:none!important;
  }

  .ai1hundred-reveal{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
}


/* ============================================================
   19) HERO SALES LAYOUT — BIGGER WOW
============================================================ */

.ai1hundred-signup-hero{
  min-height:760px;
  padding:clamp(7rem,10vw,10rem) 0;
}

.ai1hundred-signup-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:clamp(2rem,5vw,5rem);
}

.ai1hundred-signup-hero-card{
  width:100%;
  text-align:left;
  margin:0;
  padding:clamp(2rem,4vw,4rem);
}

.ai1hundred-signup-hero-card::before{
  opacity:.52;
}

.ai1hundred-hero-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-bottom:1.4rem;
}

.ai1hundred-hero-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.5rem .78rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.82);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  animation:ai1signup-badge-float 4.5s ease-in-out infinite;
}

.ai1hundred-hero-badge:nth-child(2){animation-delay:.5s}
.ai1hundred-hero-badge:nth-child(3){animation-delay:1s}

.ai1hundred-signup-hero h1{
  max-width:760px;
  font-size:clamp(3.1rem,6.5vw,6.7rem);
}

.ai1hundred-hero-lead{
  width:min(690px,100%)!important;
  margin:0 0 1.8rem!important;
  font-size:clamp(1rem,1.4vw,1.18rem)!important;
}

.ai1hundred-hero-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
  margin:1.8rem 0;
}

.ai1hundred-hero-proof>div{
  position:relative;
  overflow:hidden;
  min-height:110px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.2rem;
  padding:1rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.ai1hundred-hero-proof>div::before{
  content:"";
  position:absolute;
  inset:auto -20% -65% -20%;
  height:100px;
  background:radial-gradient(circle,rgba(57,255,20,.16),transparent 70%);
  pointer-events:none;
}

.ai1hundred-hero-proof>div:nth-child(2)::before{
  background:radial-gradient(circle,rgba(0,200,255,.16),transparent 70%);
}

.ai1hundred-hero-proof>div:nth-child(3)::before{
  background:radial-gradient(circle,rgba(255,46,136,.13),transparent 70%);
}

.ai1hundred-hero-proof>div:hover{
  transform:translateY(-6px);
  border-color:rgba(57,255,20,.28);
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}

.ai1hundred-hero-proof strong{
  font-size:1.7rem;
  line-height:1;
  color:#fff;
}

.ai1hundred-hero-proof span{
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
}

.ai1hundred-hero-cta-strip{
  position:relative;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.6rem .85rem;
  padding:1rem 1.1rem 1rem 2.8rem;
  border:1px solid rgba(57,255,20,.22);
  border-radius:16px;
  background:linear-gradient(90deg,rgba(57,255,20,.07),rgba(0,200,255,.045));
}

.ai1hundred-hero-cta-strip strong{
  color:#fff;
}

.ai1hundred-hero-cta-strip span:last-child{
  color:var(--muted);
  font-size:.86rem;
}

.ai1hundred-hero-cta-pulse{
  position:absolute;
  left:1.1rem;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 0 rgba(57,255,20,.45);
  animation:ai1signup-live-pulse 2.2s infinite;
}

/* ============================================================
   20) HERO WEBSITE GRAPHIC
============================================================ */

.ai1hundred-hero-visual{
  position:relative;
  transition:transform .18s ease-out;
  min-height:520px;
  perspective:1200px;
}

.ai1hundred-browser-card{
  position:absolute;
  overflow:hidden;
  width:min(470px,92%);
  aspect-ratio:1.32/1;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:rgba(4,10,10,.86);
  box-shadow:
    0 35px 90px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}

.ai1hundred-browser-card--back{
  top:9%;
  right:-3%;
  opacity:.62;
  transform:rotateY(-13deg) rotateZ(5deg) scale(.88);
  animation:ai1signup-browser-back 8s ease-in-out infinite alternate;
}

.ai1hundred-browser-card--front{
  left:0;
  top:20%;
  z-index:3;
  transform:rotateY(10deg) rotateZ(-2.5deg);
  animation:ai1signup-browser-front 6s ease-in-out infinite alternate;
}

.ai1hundred-browser-top{
  display:flex;
  align-items:center;
  gap:6px;
  height:36px;
  padding:0 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}

.ai1hundred-browser-top span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}

.ai1hundred-browser-top span:nth-child(1){background:var(--pink)}
.ai1hundred-browser-top span:nth-child(2){background:var(--orange)}
.ai1hundred-browser-top span:nth-child(3){background:var(--green)}

.ai1hundred-browser-body{
  position:relative;
  height:calc(100% - 36px);
  padding:1.25rem;
  background:
    radial-gradient(circle at 10% 10%,rgba(57,255,20,.08),transparent 25%),
    radial-gradient(circle at 90% 70%,rgba(0,200,255,.09),transparent 30%),
    linear-gradient(145deg,#09100f,#050909);
}

.ai1hundred-browser-logo{
  display:flex;
  align-items:center;
  gap:2px;
  font-size:1.25rem;
  font-weight:900;
  margin-bottom:1.1rem;
}

.ai1hundred-browser-logo span:nth-child(1){color:var(--green)}
.ai1hundred-browser-logo span:nth-child(2){color:var(--blue)}
.ai1hundred-browser-logo span:nth-child(3){color:#fff}

.ai1hundred-browser-heading{
  width:72%;
  height:30px;
  border-radius:8px;
  background:linear-gradient(90deg,var(--green),var(--blue));
  opacity:.86;
  animation:ai1signup-ui-glow 3s ease-in-out infinite;
}

.ai1hundred-browser-copy{
  width:86%;
  height:10px;
  margin-top:14px;
  border-radius:99px;
  background:rgba(255,255,255,.18);
  box-shadow:0 18px 0 rgba(255,255,255,.1);
}

.ai1hundred-browser-buttons{
  display:flex;
  gap:10px;
  margin-top:42px;
}

.ai1hundred-browser-buttons span{
  width:90px;
  height:24px;
  border-radius:999px;
  background:var(--green);
}

.ai1hundred-browser-buttons span+span{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
}

.ai1hundred-browser-cards,
.ai1hundred-browser-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:24px;
}

.ai1hundred-browser-cards span,
.ai1hundred-browser-grid span{
  min-height:72px;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.08);
}

.ai1hundred-browser-nav{
  width:100%;
  height:10px;
  border-radius:99px;
  background:linear-gradient(90deg,rgba(57,255,20,.45),rgba(0,200,255,.35));
}

.ai1hundred-browser-hero{
  height:120px;
  margin-top:18px;
  border-radius:14px;
  background:
    radial-gradient(circle at 20% 20%,rgba(57,255,20,.25),transparent 30%),
    radial-gradient(circle at 80% 70%,rgba(0,200,255,.25),transparent 35%),
    rgba(255,255,255,.05);
}

/* Floating hero chips */

.ai1hundred-floating-chip{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.75rem .95rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
  background:rgba(5,11,11,.82);
  color:#fff;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
  font-size:.78rem;
  font-weight:800;
}

.ai1hundred-floating-chip--one{
  right:1%;
  top:10%;
  animation:ai1signup-chip-one 5s ease-in-out infinite;
}

.ai1hundred-floating-chip--one strong{
  color:var(--green);
  font-size:1.2rem;
}

.ai1hundred-floating-chip--one span{
  color:var(--muted);
}

.ai1hundred-floating-chip--two{
  left:-7%;
  bottom:12%;
  animation:ai1signup-chip-two 5.5s ease-in-out infinite;
}

.ai1hundred-floating-chip--three{
  right:-5%;
  bottom:3%;
  animation:ai1signup-chip-three 6.2s ease-in-out infinite;
}

.ai1hundred-floating-tick{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--green);
  color:#031003;
  font-weight:900;
}

.ai1hundred-floating-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 18px rgba(0,200,255,.6);
}

.ai1hundred-hero-orbit{
  position:absolute;
  border:1px solid rgba(57,255,20,.13);
  border-radius:50%;
  pointer-events:none;
}

.ai1hundred-hero-orbit--one{
  width:430px;
  height:430px;
  right:0;
  top:6%;
  animation:ai1signup-orbit-spin 20s linear infinite;
}

.ai1hundred-hero-orbit--two{
  width:340px;
  height:340px;
  left:6%;
  bottom:3%;
  border-color:rgba(0,200,255,.11);
  animation:ai1signup-orbit-spin 14s linear infinite reverse;
}

/* ============================================================
   21) DIRECTIONAL REVEALS
============================================================ */

.ai1hundred-reveal--left{
  transform:translateX(-70px) scale(.985);
}

.ai1hundred-reveal--right{
  transform:translateX(70px) scale(.985);
}

.ai1hundred-reveal--up{
  transform:translateY(44px) scale(.985);
}

.ai1hundred-panel-motion{
  position:relative;
}

.ai1hundred-panel-motion.is-active .ai1hundred-signup-panel-heading,
.ai1hundred-panel-motion.is-active .ai1hundred-form-grid,
.ai1hundred-panel-motion.is-active .ai1hundred-template-grid,
.ai1hundred-panel-motion.is-active .ai1hundred-template-auto,
.ai1hundred-panel-motion.is-active .ai1hundred-extra-options,
.ai1hundred-panel-motion.is-active .ai1hundred-review,
.ai1hundred-panel-motion.is-active .ai1hundred-package-summary,
.ai1hundred-panel-motion.is-active .ai1hundred-consents{
  animation-duration:.72s;
  animation-fill-mode:both;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
}

.ai1hundred-panel-motion--left.is-active .ai1hundred-signup-panel-heading,
.ai1hundred-panel-motion--left.is-active .ai1hundred-template-grid,
.ai1hundred-panel-motion--left.is-active .ai1hundred-review{
  animation-name:ai1signup-panel-left;
}

.ai1hundred-panel-motion--left.is-active .ai1hundred-form-grid,
.ai1hundred-panel-motion--left.is-active .ai1hundred-template-auto,
.ai1hundred-panel-motion--left.is-active .ai1hundred-extra-options,
.ai1hundred-panel-motion--left.is-active .ai1hundred-package-summary,
.ai1hundred-panel-motion--left.is-active .ai1hundred-consents{
  animation-name:ai1signup-panel-right;
}

.ai1hundred-panel-motion--right.is-active .ai1hundred-signup-panel-heading,
.ai1hundred-panel-motion--right.is-active .ai1hundred-template-grid,
.ai1hundred-panel-motion--right.is-active .ai1hundred-review{
  animation-name:ai1signup-panel-right;
}

.ai1hundred-panel-motion--right.is-active .ai1hundred-form-grid,
.ai1hundred-panel-motion--right.is-active .ai1hundred-template-auto,
.ai1hundred-panel-motion--right.is-active .ai1hundred-extra-options,
.ai1hundred-panel-motion--right.is-active .ai1hundred-package-summary,
.ai1hundred-panel-motion--right.is-active .ai1hundred-consents{
  animation-name:ai1signup-panel-left;
}

.ai1hundred-panel-motion.is-active .ai1hundred-form-grid,
.ai1hundred-panel-motion.is-active .ai1hundred-template-auto,
.ai1hundred-panel-motion.is-active .ai1hundred-extra-options,
.ai1hundred-panel-motion.is-active .ai1hundred-package-summary{
  animation-delay:.08s;
}

.ai1hundred-panel-motion.is-active .ai1hundred-consents{
  animation-delay:.14s;
}

/* ============================================================
   22) MORE CARD MOVEMENT
============================================================ */

.ai1hundred-template-card:hover{
  transform:translateY(-9px) rotateX(1.5deg) rotateY(-1.5deg);
}

.ai1hundred-template-card:nth-child(even):hover{
  transform:translateY(-9px) rotateX(1.5deg) rotateY(1.5deg);
}

.ai1hundred-review-card{
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.ai1hundred-review-card:hover{
  transform:translateY(-5px);
  border-color:rgba(0,200,255,.28);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

/* ============================================================
   23) NEW KEYFRAMES
============================================================ */

@keyframes ai1signup-panel-left{
  from{opacity:0;transform:translateX(-55px);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}

@keyframes ai1signup-panel-right{
  from{opacity:0;transform:translateX(55px);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}

@keyframes ai1signup-badge-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@keyframes ai1signup-live-pulse{
  0%{box-shadow:0 0 0 0 rgba(57,255,20,.45)}
  70%{box-shadow:0 0 0 11px rgba(57,255,20,0)}
  100%{box-shadow:0 0 0 0 rgba(57,255,20,0)}
}

@keyframes ai1signup-browser-front{
  from{transform:rotateY(10deg) rotateZ(-2.5deg) translateY(0)}
  to{transform:rotateY(5deg) rotateZ(-1deg) translateY(-13px)}
}

@keyframes ai1signup-browser-back{
  from{transform:rotateY(-13deg) rotateZ(5deg) scale(.88) translateY(0)}
  to{transform:rotateY(-8deg) rotateZ(3deg) scale(.9) translateY(12px)}
}

@keyframes ai1signup-chip-one{
  0%,100%{transform:translate(0,0) rotate(0)}
  50%{transform:translate(-8px,-12px) rotate(-2deg)}
}

@keyframes ai1signup-chip-two{
  0%,100%{transform:translate(0,0) rotate(0)}
  50%{transform:translate(10px,-10px) rotate(2deg)}
}

@keyframes ai1signup-chip-three{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-12px,-8px)}
}

@keyframes ai1signup-orbit-spin{
  to{transform:rotate(360deg)}
}

@keyframes ai1signup-ui-glow{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 rgba(57,255,20,0)}
  50%{filter:brightness(1.16);box-shadow:0 0 28px rgba(57,255,20,.12)}
}

/* ============================================================
   24) RESPONSIVE HERO
============================================================ */

@media (max-width:980px){
  .ai1hundred-signup-hero-layout{
    grid-template-columns:1fr;
  }

  .ai1hundred-signup-hero-card{
    text-align:center;
  }

  .ai1hundred-hero-badge-row,
  .ai1hundred-hero-proof,
  .ai1hundred-hero-cta-strip{
    justify-content:center;
  }

  .ai1hundred-signup-hero h1,
  .ai1hundred-hero-lead{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ai1hundred-hero-visual{
    width:min(650px,100%);
    margin:0 auto;
    min-height:470px;
  }
}

@media (max-width:700px){
  .ai1hundred-signup-hero{
    min-height:auto;
  }

  .ai1hundred-hero-proof{
    grid-template-columns:1fr;
  }

  .ai1hundred-hero-proof>div{
    min-height:86px;
  }

  .ai1hundred-hero-visual{
    min-height:390px;
  }

  .ai1hundred-browser-card{
    width:88%;
  }

  .ai1hundred-floating-chip--two{
    left:0;
  }

  .ai1hundred-floating-chip--three{
    right:0;
  }

  .ai1hundred-reveal--left,
  .ai1hundred-reveal--right{
    transform:translateY(34px);
  }
}

@media (prefers-reduced-motion:reduce){
  .ai1hundred-hero-badge,
  .ai1hundred-hero-cta-pulse,
  .ai1hundred-browser-card,
  .ai1hundred-floating-chip,
  .ai1hundred-hero-orbit,
  .ai1hundred-browser-heading{
    animation:none!important;
  }

  .ai1hundred-panel-motion.is-active .ai1hundred-signup-panel-heading,
  .ai1hundred-panel-motion.is-active .ai1hundred-form-grid,
  .ai1hundred-panel-motion.is-active .ai1hundred-template-grid,
  .ai1hundred-panel-motion.is-active .ai1hundred-template-auto,
  .ai1hundred-panel-motion.is-active .ai1hundred-extra-options,
  .ai1hundred-panel-motion.is-active .ai1hundred-review,
  .ai1hundred-panel-motion.is-active .ai1hundred-package-summary,
  .ai1hundred-panel-motion.is-active .ai1hundred-consents{
    animation:none!important;
  }
}



/* ============================================================
   HERO — SPACING & COMPOSITION REFINEMENT
============================================================ */

.ai1hundred-signup-hero{
  min-height: 820px;

  padding-top: clamp(7rem, 9vw, 10rem);
  padding-bottom: clamp(7rem, 9vw, 10rem);

  padding-left: clamp(2rem, 5vw, 6rem);
  padding-right: clamp(2rem, 5vw, 6rem);
}


/* Give the whole composition breathing room */
.ai1hundred-signup-hero .ai1hundred-signup-container{
  width: min(1380px, 100%);
  margin-inline: auto;
}


/* More deliberate separation between sales pitch + graphic */
.ai1hundred-signup-hero-layout{
  grid-template-columns:
    minmax(420px, .92fr)
    minmax(440px, 1.08fr);

  gap: clamp(4rem, 7vw, 8rem);
}


/* Slightly tighter sales card */
.ai1hundred-signup-hero-card{
  max-width: 610px;
  margin-left: auto;

  padding:
    clamp(2.5rem, 4vw, 4rem)
    clamp(2.4rem, 3.5vw, 3.6rem);
}


/* Give the giant headline a little more control */
.ai1hundred-signup-hero h1{
  font-size: clamp(3.3rem, 5.4vw, 6rem);
  line-height: .98;

  margin-top: 1.2rem;
  margin-bottom: 1.8rem;
}


/* More breathing room below the badges */
.ai1hundred-hero-badge-row{
  margin-bottom: 1.7rem;
}


/* Separate the description from the stats */
.ai1hundred-hero-lead{
  margin-bottom: 2.2rem !important;
}


/* Stats need room to breathe too */
.ai1hundred-hero-proof{
  gap: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}


/* More separation before the final CTA strip */
.ai1hundred-hero-cta-strip{
  margin-top: 1.5rem;
}


/* ============================================================
   WEBSITE GRAPHIC — POSITIONING
============================================================ */

.ai1hundred-hero-visual{
  min-height: 560px;

  display: flex;
  align-items: center;
  justify-content: center;
}


/* Pull the browser composition away from the sales card */
.ai1hundred-browser-card--front{
  left: 5%;
  top: 20%;
}

.ai1hundred-browser-card--back{
  right: 1%;
  top: 10%;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1100px){

  .ai1hundred-signup-hero{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .ai1hundred-signup-hero-layout{
    gap: 3rem;

    grid-template-columns:
      minmax(380px, 1fr)
      minmax(380px, 1fr);
  }

  .ai1hundred-signup-hero-card{
    margin-inline: auto;
  }

}


/* ============================================================
   STACK HERO
============================================================ */

@media (max-width: 980px){

  .ai1hundred-signup-hero{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .ai1hundred-signup-hero-layout{
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .ai1hundred-signup-hero-card{
    width: min(680px, 100%);
    max-width: 680px;

    margin-inline: auto;
  }

  .ai1hundred-hero-visual{
    width: min(650px, 100%);
    min-height: 500px;

    margin-inline: auto;
  }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 700px){

  .ai1hundred-signup-hero{
    padding:
      3.5rem
      1rem
      4.5rem;
  }

  .ai1hundred-signup-hero-card{
    padding: 2rem 1.4rem;
  }

  .ai1hundred-signup-hero h1{
    font-size: clamp(2.7rem, 13vw, 4.2rem);
  }

  .ai1hundred-hero-visual{
    min-height: 410px;
  }

}

/* ============================================================
   25) CANONICAL LAYOUT CORRECTIONS
   ------------------------------------------------------------
   Final authoritative layout rules for the onboarding page.
   These override earlier experimental hero spacing values.
============================================================ */

/* Keep the component self-contained inside Joomla's main area. */
.ai1hundred-signup{
  width:100%;
  min-width:0;
}

/* ------------------------------------------------------------
   HERO — BALANCED DESKTOP COMPOSITION
------------------------------------------------------------ */
.ai1hundred-signup-hero{
  min-height:auto;
  padding:
    clamp(4.75rem,7vw,7.5rem)
    clamp(1.5rem,4vw,4rem)
    clamp(5.25rem,7.5vw,8rem);
}

.ai1hundred-signup-hero .ai1hundred-signup-container{
  width:min(1320px,100%);
}

.ai1hundred-signup-hero-layout{
  grid-template-columns:minmax(460px,.96fr) minmax(470px,1.04fr);
  gap:clamp(3.5rem,6vw,6.5rem);
  align-items:center;
}

.ai1hundred-signup-hero-card{
  width:100%;
  max-width:620px;
  margin:0;
  padding:clamp(2.35rem,3.4vw,3.6rem);
  border-radius:34px;
}

.ai1hundred-signup-hero h1{
  max-width:590px;
  margin:1rem 0 1.55rem;
  font-size:clamp(3.25rem,5.25vw,5.75rem);
  line-height:.96;
}

.ai1hundred-hero-badge-row{
  margin-bottom:1.45rem;
}

.ai1hundred-hero-lead{
  margin-bottom:1.8rem!important;
  max-width:570px;
}

.ai1hundred-hero-proof{
  gap:.85rem;
  margin:1.65rem 0;
}

.ai1hundred-hero-proof>div{
  min-height:100px;
}

.ai1hundred-hero-cta-strip{
  margin-top:1.25rem;
}

/* ------------------------------------------------------------
   HERO VISUAL — CENTRED, LARGE, BUT NOT CROWDING THE CARD
------------------------------------------------------------ */
.ai1hundred-hero-visual{
  width:100%;
  min-height:540px;
  display:block;
  margin:0;
}

.ai1hundred-browser-card{
  width:min(500px,90%);
}

.ai1hundred-browser-card--front{
  left:3%;
  top:19%;
}

.ai1hundred-browser-card--back{
  right:0;
  top:9%;
}

.ai1hundred-floating-chip--one{
  right:0;
  top:7%;
}

.ai1hundred-floating-chip--two{
  left:0;
  bottom:13%;
}

.ai1hundred-floating-chip--three{
  right:0;
  bottom:4%;
}

/* ------------------------------------------------------------
   WIZARD — PULL IT CLOSER TO THE HERO AND REMOVE DEAD SPACE
------------------------------------------------------------ */
.ai1hundred-signup-main{
  padding:clamp(3rem,5vw,4.75rem) 0 clamp(4rem,6vw,6rem);
}

.ai1hundred-signup-main>.ai1hundred-signup-container{
  width:min(1180px,calc(100% - 3rem));
}

.ai1hundred-signup-progress{
  margin-bottom:1.5rem;
}

.ai1hundred-signup-form{
  min-height:0;
  height:auto;
}

.ai1hundred-signup-panel,
.ai1hundred-signup-panel.is-active{
  min-height:0;
  height:auto;
}

.ai1hundred-signup-panel-heading{
  margin-bottom:2rem;
}

.ai1hundred-form-actions{
  margin-top:1.6rem;
  padding-top:1.25rem;
}

/* Prevent hidden wizard steps from reserving space under any theme CSS. */
.ai1hundred-signup-panel:not(.is-active){
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  pointer-events:none!important;
}

.ai1hundred-signup-panel.is-active{
  display:block!important;
  visibility:visible!important;
  position:relative!important;
  pointer-events:auto!important;
}

/* ------------------------------------------------------------
   LARGE TABLET / SMALL DESKTOP
------------------------------------------------------------ */
@media (max-width:1180px){
  .ai1hundred-signup-hero{
    padding-left:2rem;
    padding-right:2rem;
  }

  .ai1hundred-signup-hero-layout{
    grid-template-columns:minmax(390px,.95fr) minmax(410px,1.05fr);
    gap:3rem;
  }

  .ai1hundred-signup-hero h1{
    font-size:clamp(3rem,5vw,5rem);
  }

  .ai1hundred-hero-visual{
    min-height:500px;
  }
}

/* ------------------------------------------------------------
   STACKED HERO
------------------------------------------------------------ */
@media (max-width:980px){
  .ai1hundred-signup-hero{
    padding:4.5rem 1.5rem 5rem;
  }

  .ai1hundred-signup-hero-layout{
    grid-template-columns:1fr;
    gap:3.5rem;
  }

  .ai1hundred-signup-hero-card{
    width:min(680px,100%);
    max-width:680px;
    margin-inline:auto;
    text-align:center;
  }

  .ai1hundred-hero-lead{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ai1hundred-hero-visual{
    width:min(650px,100%);
    min-height:480px;
    margin-inline:auto;
  }
}

/* ------------------------------------------------------------
   MOBILE
------------------------------------------------------------ */
@media (max-width:700px){
  .ai1hundred-signup-hero{
    padding:3.25rem 1rem 4rem;
  }

  .ai1hundred-signup-hero-card{
    padding:1.8rem 1.25rem;
    border-radius:26px;
  }

  .ai1hundred-signup-hero h1{
    margin-top:.8rem;
    font-size:clamp(2.55rem,12vw,4rem);
  }

  .ai1hundred-hero-visual{
    min-height:390px;
  }

  .ai1hundred-signup-main{
    padding:2.75rem 0 4rem;
  }

  .ai1hundred-signup-main>.ai1hundred-signup-container{
    width:min(100% - 1.25rem,1180px);
  }
}


/* ============================================================
   26) HERO STATS — FINAL LARGE COUNTER DESIGN
   ------------------------------------------------------------
   Canonical override for the three hero sales cards.
   Keeps the original/right-hand browser graphic design.
============================================================ */

.ai1hundred-hero-price-line .ai1hundred-count{
  display:inline;
  font:inherit;
  font-weight:inherit;
  color:inherit;
  letter-spacing:inherit;
}

.ai1hundred-hero-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin:2rem 0;
}

.ai1hundred-hero-proof > .ai1hundred-stat-card{
  --ai1-stat-rgb:57,255,20;

  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-width:0;
  min-height:176px;
  padding:1rem 1rem 1.05rem;

  display:grid;
  grid-template-rows:auto 1fr auto;
  align-items:start;

  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;

  background:
    radial-gradient(circle at 50% 78%,rgba(var(--ai1-stat-rgb),.18),transparent 52%),
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 34px rgba(0,0,0,.18);

  transition:
    transform .35s cubic-bezier(.16,1,.3,1),
    border-color .35s ease,
    box-shadow .35s ease;
}

.ai1hundred-stat-card--price{--ai1-stat-rgb:57,255,20}
.ai1hundred-stat-card--steps{--ai1-stat-rgb:0,200,255}
.ai1hundred-stat-card--personal{--ai1-stat-rgb:255,46,136}

.ai1hundred-stat-card::before{
  content:"";
  position:absolute;
  inset:auto -25% -70% -25%;
  height:145px;
  z-index:-1;
  border-radius:50%;
  background:rgba(var(--ai1-stat-rgb),.2);
  filter:blur(28px);
  pointer-events:none;
  transition:transform .45s ease,opacity .45s ease;
}

.ai1hundred-stat-kicker{
  display:block;
  position:relative;
  z-index:2;

  margin:0;
  min-height:2.1em;

  color:rgba(255,255,255,.67);
  font-size:.62rem;
  font-weight:900;
  line-height:1.05;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.ai1hundred-hero-proof .ai1hundred-stat-value{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:flex-start;

  min-height:86px;
  margin:0;

  font-size:clamp(3.15rem,4.9vw,5.25rem);
  font-weight:900;
  line-height:.82;
  letter-spacing:-.075em;

  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.ai1hundred-stat-value .ai1hundred-count{
  display:inline-block;
  transform-origin:left center;
}

.ai1hundred-stat-card--price .ai1hundred-stat-value{
  color:#65ff45;
  text-shadow:0 0 28px rgba(57,255,20,.19);
}

.ai1hundred-stat-card--steps .ai1hundred-stat-value{
  color:#68e9ff;
  text-shadow:0 0 28px rgba(0,200,255,.18);
}

.ai1hundred-stat-card--personal .ai1hundred-stat-value{
  color:#ff71ad;
  text-shadow:0 0 28px rgba(255,46,136,.17);
}

.ai1hundred-stat-label{
  position:relative;
  z-index:2;

  display:block;
  align-self:end;

  min-height:2.5em;
  margin-top:.2rem;

  color:rgba(255,255,255,.76)!important;
  font-size:.75rem!important;
  font-weight:800!important;
  line-height:1.25;
}

.ai1hundred-stat-accent{
  position:absolute;
  left:0;
  bottom:0;
  z-index:3;

  width:100%;
  height:3px;

  background:linear-gradient(90deg,rgb(var(--ai1-stat-rgb)),transparent);

  transform:scaleX(.2);
  transform-origin:left;
  transition:transform .65s cubic-bezier(.16,1,.3,1);
}

.ai1hundred-stat-card:hover{
  transform:translateY(-7px);
  border-color:rgba(var(--ai1-stat-rgb),.42);
  box-shadow:
    0 22px 48px rgba(0,0,0,.28),
    0 0 34px rgba(var(--ai1-stat-rgb),.08);
}

.ai1hundred-stat-card:hover::before{
  transform:scale(1.25);
}

.ai1hundred-stat-card:hover .ai1hundred-stat-accent,
.ai1hundred-stat-card.is-counted .ai1hundred-stat-accent{
  transform:scaleX(1);
}

.ai1hundred-stat-card.is-counting .ai1hundred-count{
  animation:ai1hundred-count-breathe .36s ease-in-out infinite alternate;
}

.ai1hundred-stat-card.is-counted .ai1hundred-count{
  animation:ai1hundred-count-land .52s cubic-bezier(.16,1,.3,1);
}

.ai1hundred-floating-chip--one .ai1hundred-count{
  display:inline-block;
  min-width:4ch;
  font-variant-numeric:tabular-nums;
}

@keyframes ai1hundred-count-breathe{
  from{transform:scale(1);filter:brightness(1)}
  to{transform:scale(1.045);filter:brightness(1.2)}
}

@keyframes ai1hundred-count-land{
  0%{transform:scale(.9)}
  62%{transform:scale(1.09)}
  100%{transform:scale(1)}
}

@media (max-width:1100px){
  .ai1hundred-hero-proof .ai1hundred-stat-value{
    font-size:clamp(2.8rem,4.5vw,4.45rem);
  }
}

@media (max-width:700px){
  .ai1hundred-hero-proof{
    grid-template-columns:1fr;
  }

  .ai1hundred-hero-proof > .ai1hundred-stat-card{
    min-height:142px;
  }

  .ai1hundred-hero-proof .ai1hundred-stat-value{
    min-height:68px;
    font-size:clamp(3.5rem,15vw,5rem);
  }

  .ai1hundred-stat-kicker,
  .ai1hundred-stat-label{
    min-height:auto;
  }
}

@media (prefers-reduced-motion:reduce){
  .ai1hundred-stat-card.is-counting .ai1hundred-count,
  .ai1hundred-stat-card.is-counted .ai1hundred-count{
    animation:none!important;
  }
}

/* ============================================================
   27) FINAL HERO FIX — AUTHORITATIVE OVERRIDES
   ------------------------------------------------------------
   This is the single final source of truth for:
   - Hero two-column balance
   - Right-hand browser graphic scale/position
   - Hero stat card layout
   - Large counter typography
============================================================ */

/* ------------------------------------------------------------
   HERO BALANCE
------------------------------------------------------------ */

.ai1hundred-signup-hero .ai1hundred-signup-container{
  width:min(1380px,100%);
}

.ai1hundred-signup-hero-layout{
  display:grid;
  grid-template-columns:minmax(450px,.9fr) minmax(520px,1.1fr);
  align-items:center;
  gap:clamp(4rem,6vw,7rem);
}

.ai1hundred-signup-hero-card{
  max-width:620px;
  margin:0;
}


/* ------------------------------------------------------------
   RIGHT-HAND HERO — RESTORED LARGE BROWSER PRESENTATION
------------------------------------------------------------ */

.ai1hundred-hero-visual{
  position:relative;
  display:block;
  width:100%;
  min-height:600px;
  margin:0;
  perspective:1300px;
  overflow:visible;
}

.ai1hundred-browser-card{
  width:min(560px,92%);
  border-radius:25px;
}

.ai1hundred-browser-card--front{
  left:0;
  top:20%;
  z-index:4;
  transform:rotateY(8deg) rotateZ(-2deg);
  animation:ai1signup-browser-front 6s ease-in-out infinite alternate;
}

.ai1hundred-browser-card--back{
  right:-1%;
  top:8%;
  z-index:2;
  opacity:.58;
  transform:rotateY(-12deg) rotateZ(4deg) scale(.9);
  animation:ai1signup-browser-back 8s ease-in-out infinite alternate;
}

.ai1hundred-floating-chip--one{
  right:1%;
  top:6%;
  z-index:7;
}

.ai1hundred-floating-chip--two{
  left:-2%;
  bottom:13%;
  z-index:7;
}

.ai1hundred-floating-chip--three{
  right:0;
  bottom:4%;
  z-index:7;
}

.ai1hundred-hero-orbit--one{
  width:500px;
  height:500px;
  right:1%;
  top:3%;
}

.ai1hundred-hero-orbit--two{
  width:370px;
  height:370px;
  left:2%;
  bottom:0;
}


/* ------------------------------------------------------------
   STAT CARDS — REBUILT
------------------------------------------------------------ */

.ai1hundred-hero-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin:1.8rem 0 1.9rem;
}

.ai1hundred-hero-proof > .ai1hundred-stat-card{
  --ai1-stat-rgb:57,255,20;

  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-width:0;
  min-height:190px;

  display:grid;
  grid-template-rows:auto minmax(92px,1fr) auto;
  align-items:center;

  padding:1rem 1rem 1.1rem;

  border:1px solid rgba(255,255,255,.16);
  border-radius:21px;

  background:
    radial-gradient(
      circle at 50% 68%,
      rgba(var(--ai1-stat-rgb),.22),
      transparent 55%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 16px 36px rgba(0,0,0,.2);
}

.ai1hundred-stat-card--price{
  --ai1-stat-rgb:57,255,20;
}

.ai1hundred-stat-card--steps{
  --ai1-stat-rgb:0,200,255;
}

.ai1hundred-stat-card--personal{
  --ai1-stat-rgb:255,46,136;
}


/* Small heading at the top */
.ai1hundred-hero-proof .ai1hundred-stat-kicker{
  position:relative;
  z-index:3;

  display:block;

  width:100%;
  min-height:0;
  margin:0;

  color:rgba(255,255,255,.68)!important;

  font-size:.62rem!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:.15em!important;
  text-transform:uppercase;
}


/* Number area fills the middle of each card */
.ai1hundred-hero-proof .ai1hundred-stat-value{
  position:relative;
  z-index:3;

  display:flex;
  align-items:center;
  justify-content:flex-start;

  width:100%;
  min-width:0;
  min-height:92px;

  margin:0;
  padding:.25rem 0;

  line-height:.78;
}


/*
   CRITICAL FIX:
   Older CSS contains:
       .ai1hundred-hero-proof span { font-size:.78rem; }
   which was shrinking the count span itself.

   This explicit rule wins the cascade and makes the number
   inherit the large font size from its value container.
*/
.ai1hundred-hero-proof
.ai1hundred-stat-value
.ai1hundred-stat-count{
  display:block!important;

  width:auto;
  min-width:0;

  margin:0!important;
  padding:0!important;

  font-size:clamp(3.8rem,5.7vw,6.2rem)!important;
  font-weight:900!important;
  line-height:.78!important;
  letter-spacing:-.085em!important;

  white-space:nowrap;

  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";

  transform-origin:left center;
}


/* Individual number colours */
.ai1hundred-stat-card--price
.ai1hundred-stat-count{
  color:#64ff52!important;
  text-shadow:
    0 0 18px rgba(57,255,20,.2),
    0 0 44px rgba(57,255,20,.12);
}

.ai1hundred-stat-card--steps
.ai1hundred-stat-count{
  color:#65eaff!important;
  text-shadow:
    0 0 18px rgba(0,200,255,.2),
    0 0 44px rgba(0,200,255,.11);
}

.ai1hundred-stat-card--personal
.ai1hundred-stat-count{
  color:#ff72ad!important;
  text-shadow:
    0 0 18px rgba(255,46,136,.2),
    0 0 44px rgba(255,46,136,.1);
}


/* Card description */
.ai1hundred-hero-proof .ai1hundred-stat-label{
  position:relative;
  z-index:3;

  display:block;

  width:100%;
  min-height:0;
  margin:0;

  color:rgba(255,255,255,.77)!important;

  font-size:.74rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}


/* Strong coloured floor to each card */
.ai1hundred-stat-accent{
  position:absolute;
  z-index:4;

  left:0;
  bottom:0;

  width:100%;
  height:4px;

  background:
    linear-gradient(
      90deg,
      rgb(var(--ai1-stat-rgb)),
      rgba(var(--ai1-stat-rgb),.72),
      transparent
    );

  transform:scaleX(.18);
  transform-origin:left;

  transition:
    transform .7s cubic-bezier(.16,1,.3,1);
}


/* Animated glow behind the number */
.ai1hundred-stat-card::after{
  content:"";

  position:absolute;
  z-index:1;

  left:12%;
  right:12%;
  top:38%;

  height:80px;

  border-radius:50%;

  background:
    rgba(var(--ai1-stat-rgb),.14);

  filter:blur(30px);

  opacity:.55;

  pointer-events:none;

  animation:
    ai1hundred-stat-glow 3.4s ease-in-out infinite;
}


/* Hover */
.ai1hundred-hero-proof > .ai1hundred-stat-card:hover{
  transform:translateY(-7px);

  border-color:
    rgba(var(--ai1-stat-rgb),.45);

  box-shadow:
    0 22px 50px rgba(0,0,0,.3),
    0 0 34px rgba(var(--ai1-stat-rgb),.09);
}

.ai1hundred-stat-card:hover .ai1hundred-stat-accent,
.ai1hundred-stat-card.is-counted .ai1hundred-stat-accent{
  transform:scaleX(1);
}


/* Counting state */
.ai1hundred-stat-card.is-counting
.ai1hundred-stat-count{
  animation:
    ai1hundred-stat-count-live .28s ease-in-out infinite alternate;
}


/* Final landing punch */
.ai1hundred-stat-card.is-counted
.ai1hundred-stat-count{
  animation:
    ai1hundred-stat-count-land .62s cubic-bezier(.16,1,.3,1);
}


/* Also keep headline/floating £100 tabular during count */
.ai1hundred-hero-price-line .ai1hundred-count,
.ai1hundred-floating-chip--one .ai1hundred-count{
  font-variant-numeric:tabular-nums;
}


/* ------------------------------------------------------------
   COUNTER KEYFRAMES
------------------------------------------------------------ */

@keyframes ai1hundred-stat-count-live{
  from{
    transform:scale(1);
    filter:brightness(1);
  }

  to{
    transform:scale(1.035);
    filter:brightness(1.22);
  }
}

@keyframes ai1hundred-stat-count-land{
  0%{
    transform:scale(.88);
  }

  58%{
    transform:scale(1.1);
  }

  100%{
    transform:scale(1);
  }
}

@keyframes ai1hundred-stat-glow{
  0%,100%{
    transform:scale(.82);
    opacity:.36;
  }

  50%{
    transform:scale(1.18);
    opacity:.72;
  }
}


/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */

@media (max-width:1180px){

  .ai1hundred-signup-hero-layout{
    grid-template-columns:minmax(390px,.92fr) minmax(440px,1.08fr);
    gap:3rem;
  }

  .ai1hundred-hero-visual{
    min-height:540px;
  }

  .ai1hundred-browser-card{
    width:min(500px,90%);
  }

  .ai1hundred-hero-proof
  .ai1hundred-stat-value
  .ai1hundred-stat-count{
    font-size:clamp(3.2rem,5vw,5.25rem)!important;
  }
}


@media (max-width:980px){

  .ai1hundred-signup-hero-layout{
    grid-template-columns:1fr;
  }

  .ai1hundred-hero-visual{
    width:min(690px,100%);
    min-height:560px;
    margin-inline:auto;
  }

  .ai1hundred-browser-card{
    width:min(540px,86%);
  }

  .ai1hundred-browser-card--front{
    left:5%;
  }

  .ai1hundred-browser-card--back{
    right:3%;
  }
}


@media (max-width:700px){

  .ai1hundred-hero-proof{
    grid-template-columns:1fr;
  }

  .ai1hundred-hero-proof > .ai1hundred-stat-card{
    min-height:155px;
    grid-template-rows:auto minmax(72px,1fr) auto;
  }

  .ai1hundred-hero-proof
  .ai1hundred-stat-value
  .ai1hundred-stat-count{
    font-size:clamp(4rem,17vw,6rem)!important;
  }

  .ai1hundred-hero-visual{
    min-height:410px;
  }

  .ai1hundred-browser-card{
    width:88%;
  }
}


@media (prefers-reduced-motion:reduce){

  .ai1hundred-stat-card::after,
  .ai1hundred-stat-card.is-counting .ai1hundred-stat-count,
  .ai1hundred-stat-card.is-counted .ai1hundred-stat-count{
    animation:none!important;
  }

}

/* ============================================================
   28) RESPONSIVE DEVICE HERO — DESKTOP + TABLET + MOBILE
   ------------------------------------------------------------
   Final right-hand hero visual.
============================================================ */

.ai1hundred-hero-visual{
  position:relative;
  width:100%;
  min-height:610px;
  overflow:visible;
  perspective:1500px;
  transform-style:preserve-3d;
}

/* Remove the old browser-card presentation if any older markup survives. */
.ai1hundred-hero-visual .ai1hundred-browser-card,
.ai1hundred-hero-visual .ai1hundred-floating-chip,
.ai1hundred-hero-visual .ai1hundred-hero-orbit{
  display:none!important;
}

/* Ambient effects */
.ai1hundred-device-glow{
  position:absolute;
  z-index:0;
  border-radius:50%;
  filter:blur(75px);
  pointer-events:none;
}

.ai1hundred-device-glow--green{
  width:300px;
  height:300px;
  left:7%;
  top:19%;
  background:rgba(57,255,20,.16);
}

.ai1hundred-device-glow--blue{
  width:280px;
  height:280px;
  right:3%;
  bottom:8%;
  background:rgba(0,200,255,.16);
}

.ai1hundred-device-orbit{
  position:absolute;
  z-index:0;
  border-radius:50%;
  pointer-events:none;
}

.ai1hundred-device-orbit--one{
  width:510px;
  height:510px;
  right:2%;
  top:4%;
  border:1px solid rgba(57,255,20,.12);
  animation:ai1device-orbit 22s linear infinite;
}

.ai1hundred-device-orbit--two{
  width:365px;
  height:365px;
  left:2%;
  bottom:1%;
  border:1px dashed rgba(0,200,255,.11);
  animation:ai1device-orbit 16s linear infinite reverse;
}

/* Shared device styling */
.ai1hundred-device{
  position:absolute;
  z-index:3;
  border:1px solid rgba(255,255,255,.2);
  background:#050909;
  box-shadow:
    0 38px 90px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(15px);
}

.ai1hundred-device-screen{
  position:relative;
  overflow:hidden;
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 15% 12%,rgba(57,255,20,.1),transparent 25%),
    radial-gradient(circle at 90% 78%,rgba(0,200,255,.11),transparent 28%),
    linear-gradient(145deg,#091210,#040808);
}

/* Desktop monitor */
.ai1hundred-device--desktop{
  left:0;
  top:15%;
  width:min(535px,83%);
  height:335px;
  overflow:visible;
  border-radius:24px;
  transform:rotateY(7deg) rotateZ(-1.4deg);
  animation:ai1device-desktop-float 6.4s ease-in-out infinite alternate;
}

.ai1hundred-device-browserbar{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  top:0;
  height:39px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 13px;
  border-bottom:1px solid rgba(255,255,255,.075);
  border-radius:24px 24px 0 0;
  background:rgba(255,255,255,.035);
}

.ai1hundred-device-browserbar>span{
  width:8px;
  height:8px;
  border-radius:50%;
}
.ai1hundred-device-browserbar>span:nth-child(1){background:var(--pink)}
.ai1hundred-device-browserbar>span:nth-child(2){background:var(--orange)}
.ai1hundred-device-browserbar>span:nth-child(3){background:var(--green)}

.ai1hundred-device-url{
  width:42%;
  height:20px;
  margin-left:auto;
  padding:4px 9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  color:rgba(255,255,255,.27);
  background:rgba(255,255,255,.028);
  font-size:.52rem;
}

.ai1hundred-device--desktop>.ai1hundred-device-screen{
  height:296px;
  margin-top:39px;
  padding:1rem;
  border-radius:0 0 23px 23px;
}

.ai1hundred-device-site-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.85rem;
}

.ai1hundred-device-logo{
  display:flex;
  gap:1px;
  font-size:1rem;
  line-height:1;
  font-weight:900;
}
.ai1hundred-device-logo span:nth-child(1){color:var(--green)}
.ai1hundred-device-logo span:nth-child(2){color:var(--blue)}
.ai1hundred-device-logo span:nth-child(3){color:#fff}

.ai1hundred-device-menu{
  display:flex;
  gap:7px;
}
.ai1hundred-device-menu span{
  display:block;
  width:25px;
  height:5px;
  border-radius:99px;
  background:rgba(255,255,255,.12);
}

.ai1hundred-device-site-hero{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:.85rem;
  align-items:center;
  min-height:157px;
  padding:.9rem;
  border:1px solid rgba(255,255,255,.065);
  border-radius:15px;
  background:rgba(255,255,255,.022);
}

.ai1hundred-device-eyebrow{
  display:block;
  margin-bottom:.55rem;
  color:var(--green);
  font-size:.47rem;
  font-weight:900;
  letter-spacing:.12em;
}

.ai1hundred-device-heading{
  width:90%;
  height:20px;
  border-radius:6px;
  background:rgba(255,255,255,.82);
}

.ai1hundred-device-heading--accent{
  width:68%;
  margin-top:7px;
  background:linear-gradient(90deg,var(--green),var(--blue));
  box-shadow:0 0 20px rgba(57,255,20,.08);
}

.ai1hundred-device-text{
  width:88%;
  height:6px;
  margin-top:12px;
  border-radius:99px;
  background:rgba(255,255,255,.14);
}
.ai1hundred-device-text--short{
  width:64%;
  margin-top:6px;
  background:rgba(255,255,255,.09);
}

.ai1hundred-device-buttons{
  display:flex;
  gap:7px;
  margin-top:15px;
}
.ai1hundred-device-buttons span{
  width:67px;
  height:20px;
  border-radius:999px;
  background:var(--green);
}
.ai1hundred-device-buttons span+span{
  width:54px;
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
}

.ai1hundred-device-art{
  position:relative;
  min-height:120px;
}

.ai1hundred-device-art::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:112px;
  height:112px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(57,255,20,.22);
  border-radius:50%;
  box-shadow:0 0 35px rgba(0,200,255,.06);
  animation:ai1device-art-ring 4s ease-in-out infinite;
}

.ai1hundred-device-art-card{
  position:absolute;
  display:block;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:
    linear-gradient(145deg,rgba(57,255,20,.13),rgba(0,200,255,.08)),
    rgba(6,13,12,.9);
  box-shadow:0 12px 28px rgba(0,0,0,.26);
}

.ai1hundred-device-art-card--one{
  width:78px;height:58px;left:8%;top:13%;transform:rotate(-7deg);
}
.ai1hundred-device-art-card--two{
  width:92px;height:70px;right:1%;top:26%;transform:rotate(6deg);
}
.ai1hundred-device-art-card--three{
  width:96px;height:50px;left:26%;bottom:0;transform:rotate(2deg);
  background:
    linear-gradient(145deg,rgba(154,77,255,.14),rgba(255,46,136,.08)),
    rgba(6,13,12,.9);
}

.ai1hundred-device-services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:9px;
}
.ai1hundred-device-services span{
  display:block;
  height:38px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:10px;
  background:rgba(255,255,255,.035);
}

/* Desktop stand */
.ai1hundred-desktop-neck{
  position:absolute;
  z-index:-1;
  left:50%;
  bottom:-66px;
  width:76px;
  height:72px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,#090e0d,#17201e,#090e0d);
  border-left:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.08);
}

.ai1hundred-desktop-base{
  position:absolute;
  z-index:-1;
  left:50%;
  bottom:-82px;
  width:205px;
  height:24px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  background:linear-gradient(180deg,#1a2321,#070b0a);
  box-shadow:0 15px 28px rgba(0,0,0,.35);
}

/* Tablet */
.ai1hundred-device--tablet{
  z-index:5;
  right:7%;
  top:31%;
  width:205px;
  height:285px;
  padding:8px;
  border-radius:25px;
  transform:rotate(4deg);
  animation:ai1device-tablet-float 5.8s ease-in-out infinite alternate;
}

.ai1hundred-device--tablet>.ai1hundred-device-screen{
  padding:1.1rem .8rem .8rem;
  border-radius:18px;
}

.ai1hundred-tablet-camera{
  position:absolute;
  z-index:6;
  left:50%;
  top:12px;
  width:5px;
  height:5px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#151c1b;
}

.ai1hundred-tablet-hero{
  height:103px;
  margin:.7rem 0 .8rem;
  border-radius:12px;
  background:
    radial-gradient(circle at 23% 22%,rgba(57,255,20,.27),transparent 28%),
    radial-gradient(circle at 72% 68%,rgba(0,200,255,.3),transparent 32%),
    rgba(255,255,255,.04);
}

.ai1hundred-tablet-heading{
  width:82%;
  height:14px;
  border-radius:5px;
  background:linear-gradient(90deg,var(--green),var(--blue));
}

.ai1hundred-tablet-text{
  width:70%;
  height:6px;
  margin-top:9px;
  border-radius:99px;
  background:rgba(255,255,255,.13);
}

.ai1hundred-tablet-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:7px;
  margin-top:15px;
}
.ai1hundred-tablet-cards span{
  height:49px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  background:rgba(255,255,255,.035);
}

/* Mobile */
.ai1hundred-device--mobile{
  z-index:7;
  right:-2%;
  bottom:3%;
  width:118px;
  height:238px;
  padding:7px;
  border-radius:27px;
  transform:rotate(-4deg);
  animation:ai1device-mobile-float 5.2s ease-in-out infinite alternate;
}

.ai1hundred-device--mobile>.ai1hundred-device-screen{
  padding:1.55rem .58rem .6rem;
  border-radius:20px;
}

.ai1hundred-mobile-speaker{
  position:absolute;
  z-index:8;
  left:50%;
  top:12px;
  width:34px;
  height:5px;
  transform:translateX(-50%);
  border-radius:99px;
  background:#020303;
}

.ai1hundred-mobile-hero{
  height:78px;
  margin:.65rem 0 .7rem;
  border-radius:10px;
  background:
    radial-gradient(circle at 28% 20%,rgba(57,255,20,.3),transparent 27%),
    radial-gradient(circle at 75% 72%,rgba(0,200,255,.3),transparent 30%),
    rgba(255,255,255,.045);
}

.ai1hundred-mobile-heading{
  width:86%;
  height:10px;
  border-radius:4px;
  background:linear-gradient(90deg,var(--green),var(--blue));
}

.ai1hundred-mobile-text{
  width:82%;
  height:5px;
  margin-top:8px;
  border-radius:99px;
  background:rgba(255,255,255,.14);
}
.ai1hundred-mobile-text--short{
  width:58%;
  margin-top:5px;
  background:rgba(255,255,255,.08);
}

.ai1hundred-mobile-button{
  width:70%;
  height:19px;
  margin-top:12px;
  border-radius:999px;
  background:var(--green);
}

/* Floating captions */
.ai1hundred-device-caption{
  position:absolute;
  z-index:12;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.7rem .9rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:15px;
  background:rgba(4,10,10,.9);
  color:#fff;
  box-shadow:0 16px 38px rgba(0,0,0,.32);
  backdrop-filter:blur(16px);
  font-size:.74rem;
  font-weight:900;
  white-space:nowrap;
}

.ai1hundred-device-caption--price{
  right:1%;
  top:3%;
  animation:ai1device-caption-one 5s ease-in-out infinite;
}
.ai1hundred-device-caption--price strong{
  color:var(--green);
  font-size:1.15rem;
}

.ai1hundred-device-caption--desktop{
  left:-2%;
  bottom:14%;
  animation:ai1device-caption-two 5.6s ease-in-out infinite;
}

.ai1hundred-device-caption--tablet{
  right:17%;
  top:22%;
  animation:ai1device-caption-three 6s ease-in-out infinite;
}

.ai1hundred-device-caption--mobile{
  right:0;
  bottom:-2%;
  animation:ai1device-caption-four 6.4s ease-in-out infinite;
}

.ai1hundred-device-caption-dot{
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
}
.ai1hundred-device-caption-dot--green{
  background:var(--green);
  box-shadow:0 0 16px rgba(57,255,20,.55);
}
.ai1hundred-device-caption-dot--blue{
  background:var(--blue);
  box-shadow:0 0 16px rgba(0,200,255,.55);
}

.ai1hundred-device-caption-tick{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:var(--green);
  color:#021002;
  font-weight:900;
}

/* Device animations */
@keyframes ai1device-desktop-float{
  from{transform:rotateY(7deg) rotateZ(-1.4deg) translateY(0)}
  to{transform:rotateY(3deg) rotateZ(-.5deg) translateY(-12px)}
}

@keyframes ai1device-tablet-float{
  from{transform:rotate(4deg) translateY(0)}
  to{transform:rotate(1deg) translateY(-14px)}
}

@keyframes ai1device-mobile-float{
  from{transform:rotate(-4deg) translateY(0)}
  to{transform:rotate(-1deg) translateY(-16px)}
}

@keyframes ai1device-art-ring{
  0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.55}
  50%{transform:translate(-50%,-50%) scale(1.06);opacity:1}
}

@keyframes ai1device-orbit{
  to{transform:rotate(360deg)}
}

@keyframes ai1device-caption-one{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-8px,-10px)}
}
@keyframes ai1device-caption-two{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(10px,-8px)}
}
@keyframes ai1device-caption-three{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-9px,9px)}
}
@keyframes ai1device-caption-four{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-11px,-8px)}
}


/* ============================================================
   29) HERO STATS — REFINED SIZE
   ------------------------------------------------------------
   Keep the working count animation, but reduce the figures so
   £100 and 100% fit comfortably without clipping.
============================================================ */

.ai1hundred-hero-proof > .ai1hundred-stat-card{
  min-height:178px;
  grid-template-rows:auto minmax(82px,1fr) auto;
}

.ai1hundred-hero-proof
.ai1hundred-stat-value
.ai1hundred-stat-count{
  font-size:clamp(2.8rem,3.65vw,3rem)!important;
  line-height:.84!important;
  letter-spacing:-.07em!important;
}

.ai1hundred-stat-card--steps
.ai1hundred-stat-count{
  font-size:clamp(3rem,4vw,4.25rem)!important;
}


/* Responsive device layout */
@media (max-width:1180px){
  .ai1hundred-hero-visual{
    min-height:560px;
  }

  .ai1hundred-device--desktop{
    width:min(485px,82%);
    height:305px;
  }

  .ai1hundred-device--desktop>.ai1hundred-device-screen{
    height:266px;
  }

  .ai1hundred-device--tablet{
    width:185px;
    height:257px;
  }

  .ai1hundred-device--mobile{
    width:105px;
    height:214px;
  }
}

@media (max-width:980px){
  .ai1hundred-hero-visual{
    width:min(690px,100%);
    min-height:575px;
    margin-inline:auto;
  }

  .ai1hundred-device--desktop{
    left:4%;
  }

  .ai1hundred-device--tablet{
    right:10%;
  }

  .ai1hundred-device--mobile{
    right:2%;
  }
}

@media (max-width:700px){
  .ai1hundred-hero-visual{
    min-height:430px;
  }

  .ai1hundred-device--desktop{
    left:0;
    top:17%;
    width:82%;
    height:235px;
    border-radius:18px;
  }

  .ai1hundred-device-browserbar{
    height:31px;
    border-radius:18px 18px 0 0;
  }

  .ai1hundred-device--desktop>.ai1hundred-device-screen{
    height:204px;
    margin-top:31px;
    padding:.7rem;
    border-radius:0 0 17px 17px;
  }

  .ai1hundred-device-site-hero{
    min-height:105px;
    padding:.55rem;
  }

  .ai1hundred-device-services span{
    height:28px;
  }

  .ai1hundred-desktop-neck,
  .ai1hundred-desktop-base{
    display:none;
  }

  .ai1hundred-device--tablet{
    right:7%;
    top:35%;
    width:125px;
    height:178px;
    padding:6px;
    border-radius:19px;
  }

  .ai1hundred-tablet-hero{
    height:58px;
  }

  .ai1hundred-tablet-cards span{
    height:26px;
  }

  .ai1hundred-device--mobile{
    right:-1%;
    bottom:5%;
    width:77px;
    height:155px;
    padding:5px;
    border-radius:19px;
  }

  .ai1hundred-mobile-hero{
    height:43px;
  }

  .ai1hundred-device-caption{
    padding:.5rem .62rem;
    font-size:.58rem;
  }

  .ai1hundred-device-caption--tablet{
    right:2%;
    top:22%;
  }

  .ai1hundred-device-caption--desktop{
    left:0;
    bottom:6%;
  }

  .ai1hundred-device-caption--mobile{
    right:0;
    bottom:-1%;
  }

  .ai1hundred-hero-proof
  .ai1hundred-stat-value
  .ai1hundred-stat-count{
    font-size:clamp(3rem,13vw,4.25rem)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ai1hundred-device,
  .ai1hundred-device-orbit,
  .ai1hundred-device-art::before,
  .ai1hundred-device-caption{
    animation:none!important;
  }
}

/* ============================================================
   AI1DESIGN — £100 WEBSITE THANK YOU PAGE
============================================================ */

.ai1hundred-thanks{
  --green:#39ff14;
  --blue:#00c8ff;
  --pink:#ff2e88;

  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-height:720px;

  display:grid;
  place-items:center;

  padding:clamp(5rem,9vw,9rem) 1.5rem;

  color:#fff;

  background:
    radial-gradient(circle at 12% 18%,rgba(57,255,20,.11),transparent 28%),
    radial-gradient(circle at 88% 25%,rgba(0,200,255,.12),transparent 30%),
    radial-gradient(circle at 78% 90%,rgba(255,46,136,.08),transparent 25%),
    #030708;
}


.ai1hundred-thanks *,
.ai1hundred-thanks *::before,
.ai1hundred-thanks *::after{
  box-sizing:border-box;
}


.ai1hundred-thanks-inner{
  position:relative;
  z-index:2;

  width:min(920px,100%);
}


.ai1hundred-thanks-card{
  position:relative;
  overflow:hidden;

  padding:clamp(2rem,5vw,4.5rem);

  text-align:center;

  border:1px solid rgba(255,255,255,.16);
  border-radius:34px;

  background:
    radial-gradient(circle at 15% 10%,rgba(57,255,20,.07),transparent 28%),
    radial-gradient(circle at 90% 80%,rgba(0,200,255,.07),transparent 30%),
    linear-gradient(
      145deg,
      rgba(8,14,14,.93),
      rgba(4,9,9,.9)
    );

  box-shadow:
    0 40px 110px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.07);

  backdrop-filter:blur(20px);
}


.ai1hundred-thanks-card::before{
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      120deg,
      transparent 20%,
      rgba(255,255,255,.055) 42%,
      transparent 65%
    );

  transform:translateX(-120%);

  animation:
    ai1thanks-shimmer
    8s
    ease-in-out
    infinite;
}


/* ============================================================
   SUCCESS HERO — BYTE HOLDING AI1DESIGN LOGO
============================================================ */

.ai1hundred-thanks-success-logo{
  position:relative;
  isolation:isolate;

  display:flex;
  align-items:center;
  justify-content:center;

  width:min(300px,72vw);

  margin:
    0
    auto
    1.25rem;
}


/* Soft branded glow behind Byte */
.ai1hundred-thanks-success-logo::before{
  content:"";

  position:absolute;
  z-index:-1;

  left:50%;
  top:50%;

  width:78%;
  aspect-ratio:1;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(57,255,20,.22) 0%,
      rgba(0,200,255,.14) 36%,
      rgba(154,77,255,.07) 56%,
      transparent 74%
    );

  filter:blur(28px);

  transform:
    translate(-50%,-50%)
    scale(.95);

  animation:
    ai1thanks-byte-glow
    4s
    ease-in-out
    infinite;
}


.ai1hundred-thanks-success-logo img{
  display:block;

  width:100%;
  height:auto;

  object-fit:contain;
  object-position:center;

  user-select:none;
  -webkit-user-drag:none;

  filter:
    drop-shadow(
      0 22px 34px
      rgba(0,0,0,.36)
    )
    drop-shadow(
      0 0 22px
      rgba(57,255,20,.08)
    );
}


/* ============================================================
   THANK-YOU TEXT
============================================================ */

.ai1hundred-thanks-kicker{
  margin:0 0 .8rem;

  color:var(--green);

  font-size:.78rem;
  font-weight:900;

  letter-spacing:.18em;

  text-transform:uppercase;
}


.ai1hundred-thanks h1{
  margin:0;

  font-size:clamp(2.6rem,6vw,5rem);

  line-height:.98;
  letter-spacing:-.055em;
}


.ai1hundred-thanks h1 span{
  display:block;

  background:
    linear-gradient(
      90deg,
      var(--green),
      #73ecff,
      var(--blue)
    );

  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;
}


.ai1hundred-thanks-lead{
  width:min(700px,100%);

  margin:
    1.4rem
    auto
    0;

  color:
    rgba(255,255,255,.72);

  font-size:1.05rem;
  line-height:1.75;
}


/* ============================================================
   PROJECT REFERENCE
============================================================ */

.ai1hundred-thanks-reference{
  width:min(520px,100%);

  margin:
    2rem
    auto;

  padding:
    1.1rem
    1.3rem;

  border:
    1px solid
    rgba(57,255,20,.3);

  border-radius:17px;

  background:
    rgba(57,255,20,.055);
}


.ai1hundred-thanks-reference small{
  display:block;

  margin-bottom:.35rem;

  color:
    rgba(255,255,255,.5);

  font-size:.7rem;
  font-weight:900;

  letter-spacing:.12em;

  text-transform:uppercase;
}


.ai1hundred-thanks-reference strong{
  display:block;

  color:var(--green);

  font-size:
    clamp(
      1.3rem,
      3vw,
      2rem
    );

  letter-spacing:.04em;
}


/* ============================================================
   WHAT HAPPENS NEXT
============================================================ */

.ai1hundred-thanks-steps{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:1rem;

  margin:
    2.25rem
    0
    0;

  text-align:left;
}


.ai1hundred-thanks-steps article{
  display:flex;

  align-items:flex-start;

  gap:1rem;

  padding:1.25rem;

  border:
    1px solid
    rgba(255,255,255,.11);

  border-radius:18px;

  background:
    rgba(255,255,255,.035);

  transition:
    transform .3s ease,
    border-color .3s ease;
}


.ai1hundred-thanks-steps article:hover{
  transform:translateY(-5px);

  border-color:
    rgba(0,200,255,.26);
}


.ai1hundred-thanks-steps article > span{
  flex:0 0 34px;

  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--green);

  color:#021002;

  font-weight:900;
}


.ai1hundred-thanks-steps strong{
  display:block;

  margin-bottom:.35rem;
}


.ai1hundred-thanks-steps p{
  margin:0;

  color:
    rgba(255,255,255,.58);

  font-size:.85rem;
  line-height:1.55;
}


/* ============================================================
   ACTION BUTTONS
============================================================ */

.ai1hundred-thanks-actions{
  display:flex;

  justify-content:center;

  flex-wrap:wrap;

  gap:.8rem;

  margin-top:2.3rem;
}


.ai1hundred-thanks-button{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  min-height:52px;

  padding:
    .85rem
    1.35rem;

  border:
    1px solid
    rgba(57,255,20,.5);

  border-radius:999px;

  background:
    linear-gradient(
      110deg,
      var(--green),
      var(--blue)
    );

  color:#031003;

  text-decoration:none;

  font-weight:900;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


.ai1hundred-thanks-button:hover{
  transform:translateY(-4px);

  box-shadow:
    0 18px 40px
    rgba(57,255,20,.15);
}


.ai1hundred-thanks-button--ghost{
  border-color:
    rgba(255,255,255,.15);

  background:
    rgba(255,255,255,.045);

  color:#fff;
}


/* ============================================================
   AMBIENT ORBS
============================================================ */

.ai1hundred-thanks-orb{
  position:absolute;

  width:320px;
  height:320px;

  border-radius:50%;

  filter:blur(95px);

  opacity:.13;

  pointer-events:none;
}


.ai1hundred-thanks-orb--one{
  left:-100px;
  top:18%;

  background:var(--green);
}


.ai1hundred-thanks-orb--two{
  right:-120px;
  bottom:10%;

  background:var(--blue);
}


/* ============================================================
   ANIMATIONS
============================================================ */

@keyframes ai1thanks-byte-glow{

  0%,
  100%{
    transform:
      translate(-50%,-50%)
      scale(.92);

    opacity:.64;
  }

  50%{
    transform:
      translate(-50%,-50%)
      scale(1.08);

    opacity:1;
  }

}


@keyframes ai1thanks-shimmer{

  0%,
  65%{
    transform:translateX(-120%);
    opacity:0;
  }

  72%{
    opacity:1;
  }

  88%{
    transform:translateX(120%);
    opacity:.7;
  }

  100%{
    transform:translateX(120%);
    opacity:0;
  }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width:700px){

  .ai1hundred-thanks{
    padding:
      4rem
      1rem;
  }


  .ai1hundred-thanks-card{
    padding:
      2rem
      1.2rem;

    border-radius:26px;
  }


  .ai1hundred-thanks-success-logo{
    width:min(235px,68vw);

    margin-bottom:1rem;
  }


  .ai1hundred-thanks-steps{
    grid-template-columns:1fr;
  }


  .ai1hundred-thanks-actions{
    flex-direction:column;
  }


  .ai1hundred-thanks-button{
    width:100%;
  }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion:reduce){

  .ai1hundred-thanks-success-logo::before,
  .ai1hundred-thanks-card::before{
    animation:none!important;
  }

}


/* ============================================================
   £100 WEBSITE THANK-YOU — JOOMLA ARTICLE SUPPORT
============================================================ */

.ai1hundred-thanks-view[hidden]{
  display:none!important;
}


/* ============================================================
   ERROR VIEW
============================================================ */

.ai1hundred-thanks-error-icon{
  width:86px;
  height:86px;

  display:grid;
  place-items:center;

  margin:
    0
    auto
    1.5rem;

  border-radius:50%;

  background:
    linear-gradient(
      135deg,
      var(--pink,#ff2e88),
      var(--orange,#ff9d00)
    );

  color:#fff;

  font-size:2.5rem;
  font-weight:900;

  box-shadow:
    0 0 0 9px
    rgba(255,46,136,.055),
    0 0 45px
    rgba(255,46,136,.14);
}


.ai1hundred-thanks-card--error
.ai1hundred-thanks-kicker{
  color:
    var(--pink,#ff2e88);
}


.ai1hundred-thanks-card--error
.ai1hundred-thanks-reference{
  border-color:
    rgba(255,46,136,.3);

  background:
    rgba(255,46,136,.055);
}


.ai1hundred-thanks-card--error
.ai1hundred-thanks-reference strong{
  color:#ff74ae;
}


/* ============================================================
   INBOX / CONFIRMATION NOTE
============================================================ */

.ai1hundred-thanks-note{
  display:flex;

  align-items:flex-start;

  gap:1rem;

  width:min(720px,100%);

  margin:
    1.5rem
    auto
    0;

  padding:
    1.15rem
    1.25rem;

  text-align:left;

  border:
    1px solid
    rgba(0,200,255,.2);

  border-radius:17px;

  background:
    linear-gradient(
      135deg,
      rgba(57,255,20,.04),
      rgba(0,200,255,.055)
    );
}


.ai1hundred-thanks-note-dot{
  flex:0 0 11px;

  width:11px;
  height:11px;

  margin-top:.35rem;

  border-radius:50%;

  background:
    var(--green,#39ff14);

  box-shadow:
    0 0 18px
    rgba(57,255,20,.5);
}


.ai1hundred-thanks-note strong{
  display:block;

  margin-bottom:.3rem;
}


.ai1hundred-thanks-note p{
  margin:0;

  color:
    rgba(255,255,255,.6);

  font-size:.86rem;
  line-height:1.55;
}


@media (max-width:700px){

  .ai1hundred-thanks-note{
    padding:1rem;
  }

}

/* ============================================================
   FINAL DESKTOP STAT SIZE
============================================================ */
@media (min-width:701px){
  .ai1hundred-hero-proof
  .ai1hundred-stat-value
  .ai1hundred-stat-count,
  .ai1hundred-stat-card--steps
  .ai1hundred-stat-count{
    font-size:clamp(2.8rem,3.65vw,3rem)!important;
  }
}

/* ============================================================
   30) BYTE — £100 WEBSITE ONBOARDING ASSISTANT
   ------------------------------------------------------------
   Floating contextual helper for the six-step signup wizard.

   Final behaviour:
   - Uses lightweight PNG instead of looping video
   - Fixed bottom-left of the viewport
   - Deliberately sits above all normal page/template content
   - Speech panel opens to Byte's right on desktop/tablet
   - Speech panel opens above Byte on mobile
   - Mobile position clears the sticky Back / Continue controls
============================================================ */


/* ============================================================
   30.1) ASSISTANT WRAPPER
============================================================ */

.ai1hundred-byte{
  --byte-green:#39ff14;
  --byte-blue:#00c8ff;
  --byte-pink:#ff2e88;
  --byte-orange:#ff9d00;

  position:fixed;

  left:26px;
  right:auto;
  bottom:32px;

  /*
   * Intentionally enormous.
   * Byte should sit above the form, sticky controls,
   * dividers, menu effects and ordinary template content.
   */
  z-index:2147483000;

  display:flex;
  flex-direction:row-reverse;
  align-items:flex-end;
  gap:14px;

  pointer-events:none;

  opacity:0;
  visibility:hidden;

  transform:
    translateY(24px)
    scale(.96);

  transition:
    opacity .35s ease,
    visibility .35s ease,
    transform .45s cubic-bezier(.16,1,.3,1);
}


.ai1hundred-byte.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}


/* ============================================================
   30.2) BYTE TOGGLE
============================================================ */

.ai1hundred-byte-toggle{
  position:relative;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;

  width:132px;

  margin:0;
  padding:0;

  border:0;
  background:none;

  color:#fff;

  font:inherit;

  cursor:pointer;
  pointer-events:auto;

  filter:
    drop-shadow(0 22px 30px rgba(0,0,0,.42));
}


.ai1hundred-byte-robot{
  position:relative;

  display:grid;
  place-items:center;

  width:122px;
  height:122px;

  overflow:hidden;

  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;

  background:
    radial-gradient(circle at 48% 40%,rgba(57,255,20,.13),transparent 46%),
    radial-gradient(circle at 72% 78%,rgba(0,200,255,.12),transparent 42%),
    rgba(4,10,10,.88);

  box-shadow:
    0 0 0 6px rgba(57,255,20,.035),
    0 0 38px rgba(57,255,20,.11),
    0 18px 42px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.09);

  backdrop-filter:blur(16px);

  transition:
    transform .3s cubic-bezier(.16,1,.3,1),
    border-color .3s ease,
    box-shadow .3s ease;
}


/* ============================================================
   30.3) BYTE IMAGE
============================================================ */

.ai1hundred-byte-image{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center bottom;

  user-select:none;
  -webkit-user-drag:none;

  pointer-events:none;

  transform:scale(.96);

  transition:
    transform .35s cubic-bezier(.16,1,.3,1);
}


.ai1hundred-byte-toggle:hover
.ai1hundred-byte-robot,
.ai1hundred-byte-toggle:focus-visible
.ai1hundred-byte-robot,
.ai1hundred-byte.is-open
.ai1hundred-byte-robot{
  transform:
    translateY(-5px)
    scale(1.035);

  border-color:rgba(57,255,20,.42);

  box-shadow:
    0 0 0 7px rgba(57,255,20,.045),
    0 0 42px rgba(57,255,20,.16),
    0 20px 45px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.11);
}


.ai1hundred-byte-toggle:hover
.ai1hundred-byte-image,
.ai1hundred-byte.is-open
.ai1hundred-byte-image{
  transform:scale(1.02);
}


.ai1hundred-byte-toggle:focus-visible{
  outline:2px solid var(--byte-green);
  outline-offset:6px;
  border-radius:24px;
}


/* ============================================================
   30.4) NEED HELP LABEL
============================================================ */

.ai1hundred-byte-label{
  position:relative;
  z-index:3;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:30px;

  margin-top:-9px;
  padding:.42rem .7rem;

  border:1px solid rgba(57,255,20,.36);
  border-radius:999px;

  background:rgba(4,10,10,.96);

  color:#fff;

  font-size:.68rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.035em;

  box-shadow:
    0 10px 26px rgba(0,0,0,.3),
    0 0 18px rgba(57,255,20,.09);

  backdrop-filter:blur(14px);
}


/* ============================================================
   30.5) NOTIFICATION DOT
============================================================ */

.ai1hundred-byte-notification{
  position:absolute;
  z-index:8;

  top:3px;
  right:7px;

  width:15px;
  height:15px;

  border:3px solid #07100f;
  border-radius:50%;

  background:var(--byte-green);

  box-shadow:
    0 0 0 0 rgba(57,255,20,.5),
    0 0 16px rgba(57,255,20,.45);

  animation:
    ai1hundred-byte-notification 2.2s ease-out infinite;
}


.ai1hundred-byte.is-open
.ai1hundred-byte-notification{
  opacity:.35;
  animation:none;
}


/* ============================================================
   30.6) SPEECH PANEL
============================================================ */

.ai1hundred-byte-panel{
  position:relative;

  width:min(340px,calc(100vw - 190px));

  padding:1.15rem 1.2rem 1.05rem;

  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;

  background:
    radial-gradient(circle at 15% 12%,rgba(57,255,20,.08),transparent 30%),
    radial-gradient(circle at 90% 88%,rgba(0,200,255,.07),transparent 34%),
    linear-gradient(145deg,rgba(7,14,14,.97),rgba(3,8,9,.97));

  box-shadow:
    0 24px 60px rgba(0,0,0,.46),
    0 0 38px rgba(0,200,255,.06),
    inset 0 1px 0 rgba(255,255,255,.07);

  backdrop-filter:blur(20px);

  pointer-events:none;

  opacity:0;
  visibility:hidden;

  transform:
    translateX(-18px)
    translateY(8px)
    scale(.96);

  transform-origin:bottom left;

  transition:
    opacity .26s ease,
    visibility .26s ease,
    transform .34s cubic-bezier(.16,1,.3,1);
}


/* Pointer points back towards Byte on the left. */
.ai1hundred-byte-panel::after{
  content:"";

  position:absolute;

  left:-8px;
  right:auto;
  bottom:37px;

  width:16px;
  height:16px;

  border-left:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);

  background:#07100f;

  transform:rotate(45deg);
}


.ai1hundred-byte.is-open
.ai1hundred-byte-panel{
  opacity:1;
  visibility:visible;

  pointer-events:auto;

  transform:none;
}


/* ============================================================
   30.7) SPEECH CONTENT
============================================================ */

.ai1hundred-byte-kicker{
  margin:0 0 .4rem;

  color:var(--byte-green);

  font-size:.62rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}


.ai1hundred-byte-title{
  display:block;

  margin:0;
  padding-right:1.8rem;

  color:#fff;

  font-size:1.05rem;
  font-weight:900;
  line-height:1.25;
}


.ai1hundred-byte-message{
  margin:.55rem 0 0;

  color:rgba(255,255,255,.68);

  font-size:.84rem;
  line-height:1.6;
}


.ai1hundred-byte-close{
  position:absolute;

  top:9px;
  right:10px;

  display:grid;
  place-items:center;

  width:29px;
  height:29px;

  margin:0;
  padding:0;

  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;

  background:rgba(255,255,255,.045);

  color:rgba(255,255,255,.72);

  font:inherit;
  font-size:1.15rem;
  line-height:1;

  cursor:pointer;

  transition:
    color .2s ease,
    border-color .2s ease,
    background .2s ease,
    transform .2s ease;
}


.ai1hundred-byte-close:hover,
.ai1hundred-byte-close:focus-visible{
  color:#fff;

  border-color:rgba(255,46,136,.42);

  background:rgba(255,46,136,.1);

  transform:rotate(5deg);

  outline:none;
}


/* ============================================================
   30.8) BYTE STEP PROGRESS
============================================================ */

.ai1hundred-byte-progress{
  height:3px;

  margin-top:.9rem;

  overflow:hidden;

  border-radius:999px;

  background:rgba(255,255,255,.08);
}


.ai1hundred-byte-progress span{
  display:block;

  width:16.666%;
  height:100%;

  border-radius:inherit;

  background:
    linear-gradient(
      90deg,
      var(--byte-green),
      var(--byte-blue)
    );

  box-shadow:
    0 0 12px rgba(57,255,20,.14);

  transition:
    width .4s cubic-bezier(.16,1,.3,1);
}


/* ============================================================
   30.9) ATTENTION / VALIDATION STATE
============================================================ */

.ai1hundred-byte.is-alert
.ai1hundred-byte-panel{
  border-color:rgba(255,157,0,.42);

  box-shadow:
    0 24px 60px rgba(0,0,0,.46),
    0 0 34px rgba(255,157,0,.1),
    inset 0 1px 0 rgba(255,255,255,.07);
}


.ai1hundred-byte.is-alert
.ai1hundred-byte-kicker{
  color:var(--byte-orange);
}


.ai1hundred-byte.is-alert
.ai1hundred-byte-notification{
  background:var(--byte-orange);

  box-shadow:
    0 0 16px rgba(255,157,0,.5);
}


/* ============================================================
   30.10) BYTE ANIMATION
============================================================ */

@keyframes ai1hundred-byte-notification{
  0%{
    box-shadow:
      0 0 0 0 rgba(57,255,20,.5),
      0 0 16px rgba(57,255,20,.45);
  }

  70%{
    box-shadow:
      0 0 0 10px rgba(57,255,20,0),
      0 0 16px rgba(57,255,20,.35);
  }

  100%{
    box-shadow:
      0 0 0 0 rgba(57,255,20,0),
      0 0 16px rgba(57,255,20,.45);
  }
}


/* ============================================================
   30.11) TABLET
============================================================ */

@media (max-width:980px){

  .ai1hundred-byte{
    left:18px;
    right:auto;
    bottom:22px;

    gap:10px;
  }


  .ai1hundred-byte-toggle{
    width:112px;
  }


  .ai1hundred-byte-robot{
    width:104px;
    height:104px;
  }


  .ai1hundred-byte-panel{
    width:min(310px,calc(100vw - 155px));
  }

}


/* ============================================================
   30.12) MOBILE
   ------------------------------------------------------------
   The form navigation is sticky at the bottom, so Byte sits
   safely above it and the speech panel opens upwards.
============================================================ */

@media (max-width:700px){

  .ai1hundred-byte{
    left:10px;
    right:auto;
    bottom:96px;

    flex-direction:column;
    align-items:flex-start;

    gap:8px;
  }


  .ai1hundred-byte-toggle{
    width:86px;
  }


  .ai1hundred-byte-robot{
    width:78px;
    height:78px;
  }


  .ai1hundred-byte-label{
    min-height:26px;

    margin-top:-7px;
    padding:.36rem .55rem;

    font-size:.58rem;
  }


  .ai1hundred-byte-notification{
    top:1px;
    right:3px;

    width:13px;
    height:13px;
  }


  .ai1hundred-byte-panel{
    order:-1;

    width:min(310px,calc(100vw - 20px));

    transform:
      translateY(12px)
      scale(.97);

    transform-origin:bottom left;
  }


  .ai1hundred-byte-panel::after{
    left:29px;
    right:auto;
    bottom:-8px;

    border-left:0;
    border-top:0;
    border-right:1px solid rgba(255,255,255,.13);
    border-bottom:1px solid rgba(255,255,255,.13);
  }


  .ai1hundred-byte-title{
    font-size:.95rem;
  }


  .ai1hundred-byte-message{
    font-size:.78rem;
  }

}


/* ============================================================
   30.13) REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion:reduce){

  .ai1hundred-byte,
  .ai1hundred-byte-panel,
  .ai1hundred-byte-robot,
  .ai1hundred-byte-image,
  .ai1hundred-byte-progress span,
  .ai1hundred-byte-notification{
    animation:none!important;
    transition:none!important;
  }

}

/* ============================================================
   31) BYTE — FINAL VIEWPORT / STACKING FIX
============================================================ */

body > .ai1hundred-byte{
  position:fixed !important;

  left:26px !important;
  right:auto !important;
  bottom:32px !important;

  z-index:2147483646 !important;

  isolation:isolate;

  margin:0 !important;

  pointer-events:none;
}

body > .ai1hundred-byte
.ai1hundred-byte-toggle,

body > .ai1hundred-byte
.ai1hundred-byte-panel{
  pointer-events:auto;
}


/* ============================================================
   32) FORM VALIDATION — VISUAL ERROR STATES
============================================================ */

.ai1hundred-field.is-invalid{
  position:relative;

  padding:.75rem;
  margin:-.75rem;

  border:1px solid rgba(255,82,105,.62);
  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      rgba(255,46,136,.07),
      rgba(255,157,0,.035)
    );

  box-shadow:
    0 0 0 3px rgba(255,70,98,.055),
    0 0 28px rgba(255,46,136,.09);

  animation:
    ai1hundred-invalid-shake .38s ease both;
}


.ai1hundred-field.is-invalid input,
.ai1hundred-field.is-invalid select,
.ai1hundred-field.is-invalid textarea{
  border-color:#ff5269 !important;

  box-shadow:
    0 0 0 4px rgba(255,82,105,.12),
    0 0 24px rgba(255,46,136,.12) !important;
}


.ai1hundred-field.is-invalid > label{
  color:#ff9b73;
}


.ai1hundred-field.is-invalid > label::after{
  content:" — please check this";

  color:#ff738f;

  font-size:.72rem;
  font-weight:800;
}


/* Required consent rows */

.ai1hundred-consents label.is-invalid{
  position:relative;

  padding:1rem 4.8rem 1rem 1rem;

  border:1px solid rgba(255,82,105,.62);
  border-radius:16px;

  background:
    linear-gradient(
      135deg,
      rgba(255,46,136,.08),
      rgba(255,157,0,.04)
    );

  color:#fff;

  box-shadow:
    0 0 0 3px rgba(255,70,98,.055),
    0 0 28px rgba(255,46,136,.09);

  animation:
    ai1hundred-invalid-shake .38s ease both;
}


.ai1hundred-consents label.is-invalid::after{
  content:"Required";

  position:absolute;

  top:9px;
  right:10px;

  padding:.28rem .5rem;

  border:1px solid rgba(255,157,0,.48);
  border-radius:999px;

  background:rgba(5,10,10,.94);

  color:#ffc35c;

  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}


.ai1hundred-consents
label.is-invalid
input[type="checkbox"]{
  outline:3px solid rgba(255,82,105,.24);
  outline-offset:3px;

  accent-color:#ff5269;
}


/* Corrected required fields */

.ai1hundred-field.is-valid input[required],
.ai1hundred-field.is-valid select[required],
.ai1hundred-field.is-valid textarea[required]{
  border-color:rgba(57,255,20,.24);
}


/* Template chooser */

.ai1hundred-signup-panel.is-template-invalid
.ai1hundred-template-grid{
  padding:1rem;
  margin:-1rem;

  border:1px solid rgba(255,82,105,.6);
  border-radius:26px;

  background:
    radial-gradient(
      circle at 50% 8%,
      rgba(255,46,136,.07),
      transparent 46%
    );

  box-shadow:
    0 0 0 3px rgba(255,70,98,.05),
    0 0 32px rgba(255,46,136,.08);

  animation:
    ai1hundred-invalid-shake .38s ease both;
}


.ai1hundred-signup-panel.is-template-invalid
.ai1hundred-template-error{
  margin-top:1.2rem;
  padding:.8rem 1rem;

  border:1px solid rgba(255,82,105,.42);
  border-radius:14px;

  background:rgba(255,46,136,.075);

  color:#ff8ca2;
}


@keyframes ai1hundred-invalid-shake{

  0%,
  100%{
    transform:translateX(0);
  }

  30%{
    transform:translateX(-5px);
  }

  60%{
    transform:translateX(5px);
  }

}


/* ============================================================
   33) RESPONSIVE SAFEGUARDS
============================================================ */

@media (max-width:980px){

  body > .ai1hundred-byte{
    left:18px !important;
    bottom:22px !important;
  }

}


@media (max-width:700px){

  body > .ai1hundred-byte{
    left:10px !important;
    bottom:96px !important;
  }


  .ai1hundred-field.is-invalid{
    padding:.65rem;
    margin:-.65rem;
  }


  .ai1hundred-consents
  label.is-invalid{
    padding:
      2.25rem
      .9rem
      .9rem;
  }

}


@media (prefers-reduced-motion:reduce){

  .ai1hundred-field.is-invalid,
  .ai1hundred-consents label.is-invalid,
  .ai1hundred-signup-panel.is-template-invalid
  .ai1hundred-template-grid{
    animation:none !important;
  }

}

/* ============================================================
   34) REQUIRED HOSTING + MINIMUM TERM
   ------------------------------------------------------------
   Commercial terms panel for Step Five. Kept separate from the
   optional extras so compulsory hosting cannot be mistaken for an
   optional add-on.
============================================================ */

.ai1hundred-required-hosting{
  position:relative;
  overflow:hidden;

  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1rem;
  align-items:start;

  margin:0 0 1.6rem;
  padding:1.45rem;

  border:1px solid rgba(255,157,0,.42);
  border-radius:22px;

  background:
    radial-gradient(circle at 8% 20%,rgba(255,157,0,.13),transparent 30%),
    radial-gradient(circle at 90% 80%,rgba(57,255,20,.07),transparent 34%),
    linear-gradient(145deg,rgba(18,15,8,.94),rgba(7,12,11,.96));

  box-shadow:
    0 24px 60px rgba(0,0,0,.3),
    0 0 32px rgba(255,157,0,.07),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.ai1hundred-required-hosting::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--orange),var(--green),var(--blue));
  background-size:200% 100%;
  animation:ai1signup-button-flow 5s linear infinite alternate;
}

.ai1hundred-required-hosting-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:34px;
  padding:.48rem .72rem;

  border:1px solid rgba(255,157,0,.55);
  border-radius:999px;

  background:rgba(255,157,0,.11);
  color:#ffc45f;

  font-size:.66rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;

  box-shadow:0 0 20px rgba(255,157,0,.09);
}

.ai1hundred-required-hosting-copy h3{
  margin:.1rem 0 .7rem;
  color:#fff;
  font-size:1.35rem;
}

.ai1hundred-required-hosting-copy p{
  margin:0 0 .65rem;
  color:rgba(255,255,255,.72);
  line-height:1.7;
}

.ai1hundred-required-hosting-copy p:last-child{
  margin-bottom:0;
}

.ai1hundred-required-hosting-copy strong{
  color:#fff;
}

.ai1hundred-optional-extras-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 1rem;
}

.ai1hundred-optional-extras-heading strong{
  color:#fff;
  font-size:1rem;
}

.ai1hundred-optional-extras-heading span{
  color:var(--muted);
  font-size:.82rem;
}

.ai1hundred-hosting-consent{
  padding:1rem;
  border:1px solid rgba(255,157,0,.3);
  border-radius:16px;
  background:rgba(255,157,0,.045);
}

@media (max-width:700px){
  .ai1hundred-required-hosting{
    grid-template-columns:1fr;
    padding:1.15rem;
  }

  .ai1hundred-required-hosting-badge{
    justify-self:start;
  }

  .ai1hundred-optional-extras-heading{
    flex-direction:column;
    align-items:flex-start;
    gap:.3rem;
  }
}

/* ============================================================
   35) THANK-YOU PAGE — PARALLAX BACKGROUND + REVEALS + BYTE
   ------------------------------------------------------------
   Background image:
   /templates/ai1design/images/100-website/100-website-thank-you.jpg
============================================================ */

.ai1hundred-thanks{
  min-height:clamp(760px,88vh,980px);
  background-color:#030708;
  background-image:
    linear-gradient(180deg,rgba(1,6,10,.58),rgba(1,7,9,.76)),
    radial-gradient(circle at 50% 35%,rgba(0,0,0,.04),rgba(0,0,0,.5) 78%),
    url('/templates/ai1design/images/100-website/100-website-thank-you.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,center;
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-attachment:fixed,fixed,fixed;
}

/* Keep the glass panel readable while allowing the artwork to show through. */
.ai1hundred-thanks-card{
  background:
    radial-gradient(circle at 15% 10%,rgba(57,255,20,.075),transparent 28%),
    radial-gradient(circle at 90% 80%,rgba(0,200,255,.075),transparent 30%),
    linear-gradient(145deg,rgba(4,11,13,.87),rgba(2,8,10,.82));
  box-shadow:
    0 45px 120px rgba(0,0,0,.58),
    0 0 65px rgba(0,200,255,.06),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(16px) saturate(1.14);
}

/* Directional scroll reveals. JavaScript adds .is-motion-ready so
   content remains visible if scripting is unavailable. */
.ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal{
  opacity:0;
  filter:blur(6px);
  transition:
    opacity .78s cubic-bezier(.16,1,.3,1),
    transform .78s cubic-bezier(.16,1,.3,1),
    filter .78s ease;
  will-change:transform,opacity;
}

.ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal--left{transform:translate3d(-72px,0,0) scale(.985)}
.ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal--right{transform:translate3d(72px,0,0) scale(.985)}
.ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal--up{transform:translate3d(0,42px,0) scale(.985)}
.ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal--zoom{transform:scale(.78) rotate(-4deg)}

.ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal.is-visible{
  opacity:1;
  filter:none;
  transform:none;
}

.ai1hundred-thanks.is-motion-ready [data-thanks-delay="1"]{transition-delay:.08s}
.ai1hundred-thanks.is-motion-ready [data-thanks-delay="2"]{transition-delay:.16s}
.ai1hundred-thanks.is-motion-ready [data-thanks-delay="3"]{transition-delay:.24s}
.ai1hundred-thanks.is-motion-ready [data-thanks-delay="4"]{transition-delay:.32s}

/* ============================================================
   THANK-YOU BYTE
============================================================ */

.ai1hundred-thanks-byte{
  --byte-green:#39ff14;
  --byte-blue:#00c8ff;
  position:fixed;
  left:26px;
  bottom:28px;
  z-index:2147483646;
  display:flex;
  flex-direction:row-reverse;
  align-items:flex-end;
  gap:14px;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-24px,22px,0) scale(.94);
  transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);
}

.ai1hundred-thanks-byte.is-visible{
  opacity:1;
  transform:none;
}

.ai1hundred-thanks-byte-robot{
  width:126px;
  height:126px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.17);
  border-radius:50%;
  background:
    radial-gradient(circle at 48% 38%,rgba(57,255,20,.14),transparent 45%),
    radial-gradient(circle at 72% 80%,rgba(0,200,255,.13),transparent 42%),
    rgba(4,10,10,.9);
  box-shadow:
    0 0 0 7px rgba(57,255,20,.035),
    0 0 42px rgba(57,255,20,.12),
    0 22px 48px rgba(0,0,0,.42);
  animation:ai1thanks-byte-float 4.8s ease-in-out infinite;
}

.ai1hundred-thanks-byte-robot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  transform:scale(.97);
}

.ai1hundred-thanks-byte-bubble{
  position:relative;
  width:min(340px,calc(100vw - 190px));
  padding:1.05rem 1.15rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:21px;
  background:
    radial-gradient(circle at 10% 10%,rgba(57,255,20,.08),transparent 32%),
    radial-gradient(circle at 90% 90%,rgba(0,200,255,.07),transparent 35%),
    rgba(3,10,12,.94);
  color:#fff;
  box-shadow:0 24px 58px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(18px);
}

.ai1hundred-thanks-byte-bubble::after{
  content:"";
  position:absolute;
  left:-8px;
  bottom:35px;
  width:16px;
  height:16px;
  border-left:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
  background:#071012;
  transform:rotate(45deg);
}

.ai1hundred-thanks-byte-bubble p{
  margin:0 0 .35rem;
  color:var(--byte-green);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.ai1hundred-thanks-byte-bubble strong{
  display:block;
  margin:0 0 .42rem;
  font-size:1rem;
  line-height:1.28;
}

.ai1hundred-thanks-byte-bubble span{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:.82rem;
  line-height:1.55;
}

@keyframes ai1thanks-byte-float{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-10px) rotate(1deg)}
}

@media (max-width:700px){
  .ai1hundred-thanks{
    background-attachment:scroll,scroll,scroll;
    background-position:center,center,center top;
  }

  .ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal--left,
  .ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal--right{
    transform:translate3d(0,34px,0) scale(.985);
  }

  .ai1hundred-thanks-byte{
    left:10px;
    bottom:14px;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .ai1hundred-thanks-byte-robot{
    width:82px;
    height:82px;
  }

  .ai1hundred-thanks-byte-bubble{
    order:-1;
    width:min(310px,calc(100vw - 20px));
    padding:.95rem 1rem;
  }

  .ai1hundred-thanks-byte-bubble::after{
    left:27px;
    bottom:-8px;
    border-left:0;
    border-top:0;
    border-right:1px solid rgba(255,255,255,.13);
    border-bottom:1px solid rgba(255,255,255,.13);
  }
}

@media (prefers-reduced-motion:reduce){
  .ai1hundred-thanks.is-motion-ready .ai1hundred-thanks-reveal{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }

  .ai1hundred-thanks-byte,
  .ai1hundred-thanks-byte-robot{
    animation:none!important;
    transition:none!important;
  }
}

/* ============================================================
   36) STEP THREE — TEMPLATE MOCK-UPS + LARGE PREVIEW LIGHTBOX
   ------------------------------------------------------------
   Preview images:
   /templates/ai1design/images/100-website/templates/

   Behaviour:
   - Full mock-up visible inside each card without cropping
   - Dedicated View larger control
   - Full-screen responsive lightbox
   - Template selection remains independent from previewing
============================================================ */

/* The template cards are now semantic article containers rather
   than one giant button, so preview and selection can be separate. */
.ai1hundred-template-card{
  cursor:default;
}

.ai1hundred-template-preview{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 20% 20%,rgba(57,255,20,.08),transparent 30%),
    radial-gradient(circle at 80% 80%,rgba(0,200,255,.08),transparent 34%),
    #050a0c;
  color:#fff;
  cursor:zoom-in;
  font:inherit;
  text-align:left;
}

.ai1hundred-template-preview:focus-visible{
  outline:3px solid var(--green);
  outline-offset:-5px;
}

.ai1hundred-template-preview img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#030708;
  transform:scale(1);
  transition:
    transform .55s cubic-bezier(.16,1,.3,1),
    filter .4s ease;
}

.ai1hundred-template-card:hover .ai1hundred-template-preview img,
.ai1hundred-template-preview:focus-visible img{
  transform:scale(1.025);
  filter:brightness(.82);
}

/* Existing shimmer stays above the image but below the preview badge. */
.ai1hundred-template-preview::after{
  z-index:2;
  pointer-events:none;
}

.ai1hundred-template-placeholder{
  z-index:0;
}

.ai1hundred-template-preview img[src] + .ai1hundred-template-placeholder{
  z-index:0;
}

.ai1hundred-template-preview-badge{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:38px;
  padding:.58rem .82rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(3,8,9,.88);
  color:#fff;
  box-shadow:
    0 12px 34px rgba(0,0,0,.34),
    0 0 22px rgba(57,255,20,.07);
  backdrop-filter:blur(14px);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
  opacity:0;
  transform:translate(-50%,10px) scale(.96);
  transition:
    opacity .28s ease,
    transform .35s cubic-bezier(.16,1,.3,1),
    border-color .28s ease;
}

.ai1hundred-template-preview-badge > span{
  color:var(--green);
  font-size:1rem;
  line-height:1;
}

.ai1hundred-template-card:hover .ai1hundred-template-preview-badge,
.ai1hundred-template-preview:focus-visible .ai1hundred-template-preview-badge{
  opacity:1;
  transform:translate(-50%,0) scale(1);
  border-color:rgba(57,255,20,.42);
}

/* Dedicated choice button inside each card. */
.ai1hundred-template-select{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin-top:.45rem;
  padding:.55rem .78rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    color .25s ease,
    box-shadow .25s ease;
}

.ai1hundred-template-select:hover,
.ai1hundred-template-select:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(57,255,20,.5);
  background:rgba(57,255,20,.09);
  outline:none;
  box-shadow:0 10px 28px rgba(57,255,20,.08);
}

.ai1hundred-template-card.is-selected .ai1hundred-template-select{
  border-color:var(--green);
  background:var(--green);
  color:#031003;
}

/* ------------------------------------------------------------
   LIGHTBOX
------------------------------------------------------------ */

.ai1hundred-template-lightbox[hidden]{
  display:none!important;
}

.ai1hundred-template-lightbox{
  --lightbox-green:#39ff14;
  --lightbox-blue:#00c8ff;
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  place-items:center;
  padding:clamp(.75rem,2.5vw,2rem);
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}

.ai1hundred-template-lightbox.is-open{
  opacity:1;
  visibility:visible;
}

.ai1hundred-template-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 18%,rgba(57,255,20,.08),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(0,200,255,.09),transparent 30%),
    rgba(0,3,5,.91);
  backdrop-filter:blur(14px);
  cursor:zoom-out;
}

.ai1hundred-template-lightbox-dialog{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  width:min(1450px,96vw);
  max-height:94vh;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 10% 0%,rgba(57,255,20,.06),transparent 26%),
    radial-gradient(circle at 100% 100%,rgba(0,200,255,.07),transparent 28%),
    #050a0c;
  box-shadow:
    0 45px 140px rgba(0,0,0,.7),
    0 0 65px rgba(0,200,255,.07),
    inset 0 1px 0 rgba(255,255,255,.07);
  transform:translateY(24px) scale(.975);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}

.ai1hundred-template-lightbox.is-open .ai1hundred-template-lightbox-dialog{
  transform:none;
}

.ai1hundred-template-lightbox-topbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.15rem;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.025);
}

.ai1hundred-template-lightbox-topbar > div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.25rem;
}

.ai1hundred-template-lightbox-kicker{
  color:var(--lightbox-green);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ai1hundred-template-lightbox-topbar strong{
  color:#fff;
  font-size:clamp(1rem,2vw,1.35rem);
}

.ai1hundred-template-lightbox-close{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:#fff;
  font:inherit;
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.ai1hundred-template-lightbox-close:hover,
.ai1hundred-template-lightbox-close:focus-visible{
  transform:rotate(7deg) scale(1.04);
  border-color:rgba(57,255,20,.52);
  background:rgba(57,255,20,.08);
  outline:none;
}

.ai1hundred-template-lightbox-image-wrap{
  min-height:0;
  flex:1 1 auto;
  display:grid;
  place-items:center;
  overflow:auto;
  padding:clamp(.6rem,1.5vw,1rem);
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    #020607;
  background-size:32px 32px;
  overscroll-behavior:contain;
}

.ai1hundred-template-lightbox-image{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:calc(94vh - 145px);
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 24px 75px rgba(0,0,0,.46);
}

.ai1hundred-template-lightbox-hint{
  flex:0 0 auto;
  margin:0;
  padding:.8rem 1.15rem 1rem;
  border-top:1px solid rgba(255,255,255,.075);
  color:rgba(255,255,255,.58);
  font-size:.76rem;
  line-height:1.5;
  text-align:center;
}

body.ai1hundred-template-lightbox-open{
  overflow:hidden!important;
}

/* Byte deliberately steps behind the curtain while a design
   preview is open, avoiding a z-index scrap at the pub. */
body.ai1hundred-template-lightbox-open > .ai1hundred-byte{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (max-width:700px){
  .ai1hundred-template-preview-badge{
    opacity:1;
    bottom:10px;
    min-height:34px;
    padding:.48rem .68rem;
    transform:translate(-50%,0);
    font-size:.64rem;
  }

  .ai1hundred-template-lightbox{
    padding:.5rem;
  }

  .ai1hundred-template-lightbox-dialog{
    width:100%;
    max-height:96vh;
    border-radius:19px;
  }

  .ai1hundred-template-lightbox-topbar{
    padding:.8rem .85rem;
  }

  .ai1hundred-template-lightbox-close{
    width:38px;
    height:38px;
  }

  .ai1hundred-template-lightbox-image-wrap{
    padding:.45rem;
  }

  .ai1hundred-template-lightbox-image{
    max-height:calc(96vh - 145px);
    border-radius:10px;
  }

  .ai1hundred-template-lightbox-hint{
    padding:.7rem .8rem .85rem;
    font-size:.7rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .ai1hundred-template-preview img,
  .ai1hundred-template-preview-badge,
  .ai1hundred-template-lightbox,
  .ai1hundred-template-lightbox-dialog,
  .ai1hundred-template-select{
    transition:none!important;
  }
}



/* ============================================================
   37) TEMPLATE PREVIEW — JOOMLA VIEWPORT FIX
   ------------------------------------------------------------
   Canonical lightbox overrides.
   JavaScript moves the lightbox directly under <body> so fixed
   positioning cannot be trapped by Joomla/template wrappers.
============================================================ */

body > .ai1hundred-template-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  width:100vw !important;
  height:100vh !important;
  margin:0 !important;
  pointer-events:none;
  isolation:isolate;
}

body > .ai1hundred-template-lightbox.is-open{
  pointer-events:auto;
}

body > .ai1hundred-template-lightbox[hidden]{
  display:none !important;
}

/* Make it completely obvious that the mock-up itself is clickable. */
.ai1hundred-template-preview{
  isolation:isolate;
}

.ai1hundred-template-preview-badge{
  opacity:.94;
  transform:translate(-50%,0) scale(1);
}

.ai1hundred-template-preview:hover .ai1hundred-template-preview-badge,
.ai1hundred-template-preview:focus-visible .ai1hundred-template-preview-badge{
  opacity:1;
  border-color:rgba(57,255,20,.55);
  box-shadow:
    0 12px 34px rgba(0,0,0,.38),
    0 0 26px rgba(57,255,20,.1);
}

/* The image should be shown in full in the card and in the modal. */
.ai1hundred-template-preview img,
.ai1hundred-template-lightbox-image{
  object-fit:contain !important;
  object-position:center !important;
}

@media (max-width:700px){
  body > .ai1hundred-template-lightbox{
    width:100vw !important;
    height:100dvh !important;
  }
}
