/*
 * All Zilla No Filler — WordPress brand foundations
 * For Astra Free + Elementor Free
 * Paste into Appearance → Customise → Additional CSS.
 */

:root {
  --aznf-navy: #072c59;
  --aznf-ink: #041d3a;
  --aznf-coral: #ff5945;
  --aznf-cream: #fff5e5;
  --aznf-paper: #fffdf7;
  --aznf-navy-soft: rgba(7, 44, 89, 0.12);
  --aznf-coral-soft: rgba(255, 89, 69, 0.16);
  --aznf-shadow: 7px 7px 0 var(--aznf-coral);
  --aznf-content-width: 1240px;
  --aznf-radius: 0px;
}

/* HOMEPAGE BLOCK 01 V2: EDITORIAL HERO */
.aznf-editorial-hero{width:100%;min-height:min(790px,calc(100svh - 78px));display:grid;grid-template-columns:minmax(0,57%) minmax(360px,43%);overflow:hidden;background:var(--aznf-cream);border-bottom:3px solid var(--aznf-navy)}
.aznf-editorial-copy{position:relative;z-index:2;align-self:center;width:min(780px,100%);margin-left:auto;padding:clamp(58px,6vw,92px) clamp(42px,5.5vw,86px)}
.aznf-editorial-kicker{margin:0 0 28px;display:flex;align-items:center;gap:14px;color:var(--aznf-navy);font:900 clamp(.67rem,.74vw,.76rem)/1.3 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.aznf-editorial-kicker>span{flex:0 0 42px;height:4px;background:var(--aznf-coral)}
.aznf-editorial-hero h1{width:100%;max-width:690px;margin:0;color:var(--aznf-navy);font-family:"Arial Black",Arial,Helvetica,sans-serif;font-size:clamp(3.55rem,5.35vw,5.85rem);font-weight:950;line-height:.86;letter-spacing:-.067em;text-transform:uppercase}
.aznf-editorial-hero h1 span,.aznf-editorial-hero h1 strong{display:block;width:max-content;max-width:100%;white-space:nowrap;font-weight:950}
.aznf-editorial-hero h1 span:nth-child(2){margin-left:.12em}
.aznf-editorial-hero h1 strong{position:relative;z-index:1;margin-top:.035em;color:var(--aznf-coral)}
.aznf-editorial-hero h1 strong:after{content:"";position:absolute;z-index:-1;left:.02em;right:-.05em;bottom:-.04em;height:.075em;background:var(--aznf-navy);transform:rotate(-1deg)}
.aznf-editorial-intro{max-width:650px;margin:clamp(30px,3vw,42px) 0 28px;color:var(--aznf-navy);font-size:clamp(1.05rem,1.35vw,1.3rem);font-weight:650;line-height:1.5}
.aznf-editorial-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.aznf-editorial-primary,.aznf-editorial-link{display:inline-flex;align-items:center;justify-content:center;gap:20px;color:var(--aznf-navy);font:900 .74rem/1 Arial,Helvetica,sans-serif;letter-spacing:.075em;text-transform:uppercase;text-decoration:none}
.aznf-editorial-primary{min-height:54px;padding:15px 20px;border:2px solid var(--aznf-navy);background:var(--aznf-navy);box-shadow:6px 6px 0 var(--aznf-coral);color:var(--aznf-cream);transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease}
.aznf-editorial-primary:hover,.aznf-editorial-primary:focus-visible{background:var(--aznf-coral);box-shadow:3px 3px 0 var(--aznf-navy);color:var(--aznf-ink);transform:translate(3px,3px)}
.aznf-editorial-link{padding:10px 2px 8px;border-bottom:3px solid var(--aznf-coral)}
.aznf-editorial-link:hover,.aznf-editorial-link:focus-visible{color:var(--aznf-coral)}
.aznf-editorial-primary span,.aznf-editorial-link span{font-size:1.08rem}
.aznf-editorial-proof{margin-top:clamp(34px,4vw,54px);display:flex;align-items:center;gap:16px;color:var(--aznf-navy)}
.aznf-editorial-proof strong{color:var(--aznf-coral);font-size:clamp(2rem,3vw,3rem);font-weight:950;line-height:.85;letter-spacing:-.06em}
.aznf-editorial-proof span{font:850 .67rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.aznf-editorial-proof i{width:1px;height:38px;margin-inline:4px;background:rgba(7,44,89,.3)}
.aznf-editorial-stage{position:relative;isolation:isolate;min-height:650px;overflow:hidden;display:grid;place-items:end center;background:var(--aznf-coral)}
.aznf-editorial-stage:before{content:"";position:absolute;z-index:-1;width:88%;aspect-ratio:1;left:6%;top:12%;border:3px solid var(--aznf-navy);border-radius:50%;opacity:.9}
.aznf-editorial-stage:after{content:"";position:absolute;z-index:-2;inset:0;background:repeating-linear-gradient(-11deg,transparent 0 34px,rgba(255,245,229,.11) 34px 36px)}
.aznf-editorial-stage img{position:relative;z-index:2;display:block;width:min(570px,92%);max-height:720px;object-fit:contain;object-position:bottom center;filter:drop-shadow(15px 17px 0 rgba(4,29,58,.15));animation:aznf-editorial-float 4.4s ease-in-out infinite}
.aznf-editorial-stage-label{position:absolute;z-index:0;left:-20px;top:12%;color:rgba(255,245,229,.17);font:950 clamp(4.5rem,8vw,9rem)/.75 "Arial Black",Arial,sans-serif;letter-spacing:-.07em;text-transform:uppercase;transform:rotate(-90deg) translateX(-100%);transform-origin:top left;white-space:nowrap}
.aznf-editorial-note{position:absolute;z-index:5;top:9%;right:7%;margin:0;padding:14px 17px;background:var(--aznf-navy);box-shadow:6px 6px 0 var(--aznf-cream);color:var(--aznf-cream);font:850 .72rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.055em;transform:rotate(2.5deg)}
.aznf-editorial-note strong{color:var(--aznf-coral)}
.aznf-editorial-stamp{position:absolute;z-index:6;right:7%;bottom:7%;padding:10px 13px;border:3px solid var(--aznf-cream);color:var(--aznf-cream);font:950 .72rem/1 Arial,Helvetica,sans-serif;letter-spacing:.13em;transform:rotate(-7deg)}
@keyframes aznf-editorial-float{50%{transform:translateY(-10px) rotate(.8deg)}}
@media(max-width:1100px){.aznf-editorial-hero{grid-template-columns:minmax(0,58%) minmax(340px,42%)}.aznf-editorial-copy{padding-inline:40px}.aznf-editorial-hero h1{font-size:clamp(3.3rem,5.5vw,4.75rem)}}
@media(max-width:820px){.aznf-editorial-hero{min-height:auto;grid-template-columns:1fr}.aznf-editorial-copy{width:100%;padding:54px 28px 62px}.aznf-editorial-hero h1{font-size:clamp(3.3rem,11.5vw,6rem)}.aznf-editorial-stage{min-height:560px}.aznf-editorial-stage img{width:min(520px,82%)}}
@media(max-width:520px){.aznf-editorial-copy{padding:42px 18px 52px}.aznf-editorial-kicker{align-items:flex-start;font-size:.63rem}.aznf-editorial-kicker>span{flex-basis:28px;margin-top:4px}.aznf-editorial-hero h1{font-size:clamp(2.75rem,13.2vw,4.25rem);letter-spacing:-.062em}.aznf-editorial-hero h1 span:nth-child(2){margin-left:.05em}.aznf-editorial-actions{align-items:flex-start;flex-direction:column}.aznf-editorial-primary{width:100%}.aznf-editorial-proof{align-items:flex-start;flex-wrap:wrap}.aznf-editorial-proof i{display:none}.aznf-editorial-stage{min-height:410px}.aznf-editorial-stage img{content:url("https://aznf.co.uk/wp-content/uploads/2026/08/zilla-mascot-head-transparent.png");width:min(350px,83%);max-height:370px}.aznf-editorial-note{top:7%;right:5%;font-size:.64rem}}

/* Base page */
html {
  scroll-behavior: smooth;
}

body,
.ast-separate-container,
.ast-page-builder-template {
  background: var(--aznf-cream);
  color: var(--aznf-navy);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--aznf-coral);
  color: var(--aznf-ink);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  color: var(--aznf-navy);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 0.95;
  text-wrap: balance;
}

h1,
.entry-content h1,
.elementor-widget-heading h1.elementor-heading-title {
  font-size: clamp(3.5rem, 8vw, 8.5rem);
  letter-spacing: -0.07em;
  line-height: 0.82;
}

h2,
.entry-content h2,
.elementor-widget-heading h2.elementor-heading-title {
  font-size: clamp(2.65rem, 5.5vw, 6rem);
  line-height: 0.88;
}

h3,
.entry-content h3,
.elementor-widget-heading h3.elementor-heading-title {
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  line-height: 1;
}

p:last-child {
  margin-bottom: 0;
}

/* Links */
a {
  color: var(--aznf-navy);
  text-decoration-color: var(--aznf-coral);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}

a:hover,
a:focus-visible {
  color: var(--aznf-coral);
}

:focus-visible {
  outline: 3px solid var(--aznf-coral);
  outline-offset: 4px;
}

/* Astra header and navigation */
.site-header,
.ast-primary-header-bar {
  background: var(--aznf-cream);
  border-bottom-color: var(--aznf-navy);
}

.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
  color: var(--aznf-navy);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link {
  color: var(--aznf-coral);
}

/* Buttons: WordPress, Astra, Elementor and forms */
button,
input[type="button"],
input[type="submit"],
.wp-element-button,
.wp-block-button__link,
.ast-button,
.elementor-button,
.elementor-widget-button .elementor-button {
  min-height: 52px;
  padding: 15px 22px;
  border: 2px solid var(--aznf-navy);
  border-radius: var(--aznf-radius);
  background: var(--aznf-navy);
  box-shadow: 6px 6px 0 var(--aznf-coral);
  color: var(--aznf-cream);
  font: 900 0.75rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease,
    background-color 160ms ease, color 160ms ease;
}

button:hover,
button:focus-visible,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.ast-button:hover,
.elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
  border-color: var(--aznf-navy);
  background: var(--aznf-coral);
  box-shadow: 3px 3px 0 var(--aznf-navy);
  color: var(--aznf-ink);
  transform: translate(3px, 3px);
}

/* Form controls */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
select,
textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 16px;
  border: 2px solid var(--aznf-navy);
  border-radius: var(--aznf-radius);
  background: var(--aznf-paper);
  box-shadow: none;
  color: var(--aznf-ink);
  font: 700 1rem/1.35 Arial, Helvetica, sans-serif;
}

textarea {
  min-height: 150px;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: rgba(4, 29, 58, 0.58);
  opacity: 1;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--aznf-coral);
  outline: 3px solid var(--aznf-coral-soft);
  outline-offset: 0;
}

label {
  color: var(--aznf-navy);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Footer */
.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap {
  background: var(--aznf-navy);
  color: var(--aznf-cream);
}

.site-footer a,
.site-footer h2,
.site-footer h3,
.site-footer .widget-title {
  color: var(--aznf-cream);
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: var(--aznf-coral);
}

/* Reusable AZNF utility classes for Elementor Advanced → CSS Classes */
.aznf-coral,
.aznf-coral .elementor-heading-title {
  color: var(--aznf-coral) !important;
}

.aznf-navy-section {
  background: var(--aznf-navy) !important;
  color: var(--aznf-cream);
}

.aznf-navy-section h1,
.aznf-navy-section h2,
.aznf-navy-section h3,
.aznf-navy-section h4,
.aznf-navy-section .elementor-heading-title {
  color: var(--aznf-cream);
}

.aznf-eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
  color: var(--aznf-navy);
  font: 900 0.72rem/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.aznf-eyebrow::before {
  content: "";
  flex: 0 0 40px;
  height: 4px;
  background: var(--aznf-coral);
}

.aznf-card {
  border: 2px solid var(--aznf-navy);
  border-radius: var(--aznf-radius);
  background: var(--aznf-paper);
  box-shadow: var(--aznf-shadow);
}

.aznf-sticker {
  display: inline-block;
  padding: 10px 14px;
  background: var(--aznf-coral);
  color: var(--aznf-ink);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: rotate(-2deg);
}

.aznf-monster-float img {
  filter: drop-shadow(14px 16px 0 var(--aznf-navy-soft));
  animation: aznf-monster-float 4.2s ease-in-out infinite;
}

.aznf-wide {
  width: min(var(--aznf-content-width), calc(100% - 44px));
  margin-inline: auto;
}

@keyframes aznf-monster-float {
  50% {
    transform: translateY(-12px) rotate(1deg);
  }
}

@media (max-width: 767px) {
  body {
    font-size: 16px;
  }

  .aznf-wide {
    width: min(100% - 32px, var(--aznf-content-width));
  }

  button,
  input[type="submit"],
  .wp-element-button,
  .wp-block-button__link,
  .ast-button,
  .elementor-button {
    min-height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* ================================================================
   HOMEPAGE BLOCK 01: HERO
   ================================================================ */
.aznf-home-hero {
  position: relative;
  isolation: isolate;
  min-height: min(820px, calc(100svh - 78px));
  overflow: hidden;
  display: grid;
  align-items: center;
  padding: clamp(48px, 5vw, 76px) clamp(24px, 5vw, 76px) 60px;
  background: var(--aznf-cream);
  border-bottom: 3px solid var(--aznf-navy);
}

.aznf-home-hero::before {
  content: "";
  position: absolute;
  z-index: -3;
  width: min(680px, 58vw);
  aspect-ratio: 1;
  right: -18%;
  top: -32%;
  border-radius: 50%;
  background: var(--aznf-coral-soft);
}

.aznf-hero-grid {
  width: min(1380px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(620px, 1.08fr) minmax(420px, .92fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}

.aznf-hero-copy {
  position: relative;
  z-index: 5;
}

.aznf-hero-eyebrow {
  margin: 0 0 24px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--aznf-navy);
  font: 900 clamp(.68rem, .8vw, .78rem)/1.25 Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.aznf-hero-eyebrow::before {
  content: "";
  flex: 0 0 42px;
  height: 4px;
  background: var(--aznf-coral);
}

.aznf-home-hero h1 {
  max-width: 780px;
  margin: 0;
  color: var(--aznf-navy);
  font-size: clamp(4.25rem, 6.35vw, 6.9rem);
  font-weight: 950;
  line-height: .79;
  letter-spacing: -.072em;
  text-transform: uppercase;
}

.aznf-home-hero h1 span,
.aznf-home-hero h1 strong {
  display: block;
  width: max-content;
  max-width: 100%;
}

.aznf-home-hero h1 span {
  margin-left: 0;
}

.aznf-home-hero h1 span:nth-child(2) {
  margin-left: .16em;
}

.aznf-home-hero h1 strong {
  width: max-content;
  position: relative;
  margin-left: .035em;
  color: var(--aznf-coral);
  font-weight: 950;
}

.aznf-home-hero h1 strong::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -.015em;
  right: -.06em;
  bottom: -.06em;
  height: .09em;
  background: var(--aznf-navy);
  transform: rotate(-1deg);
}

.aznf-hero-intro {
  max-width: 690px;
  margin: clamp(30px, 3.5vw, 46px) 0 28px;
  color: var(--aznf-navy);
  font-size: clamp(1.08rem, 1.65vw, 1.42rem);
  font-weight: 650;
  line-height: 1.48;
}

.aznf-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  align-items: center;
}

.aznf-hero-primary,
.aznf-hero-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 56px;
  padding: 16px 22px;
  font: 900 .76rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
  text-decoration: none;
}

.aznf-hero-primary {
  border: 2px solid var(--aznf-navy);
  background: var(--aznf-navy);
  box-shadow: 7px 7px 0 var(--aznf-coral);
  color: var(--aznf-cream);
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.aznf-hero-primary:hover,
.aznf-hero-primary:focus-visible {
  background: var(--aznf-coral);
  box-shadow: 3px 3px 0 var(--aznf-navy);
  color: var(--aznf-ink);
  transform: translate(4px, 4px);
}

.aznf-hero-secondary {
  min-height: auto;
  padding-inline: 3px;
  border-bottom: 3px solid var(--aznf-coral);
  color: var(--aznf-navy);
}

.aznf-hero-secondary:hover,
.aznf-hero-secondary:focus-visible {
  color: var(--aznf-coral);
}

.aznf-hero-primary span,
.aznf-hero-secondary span {
  font-size: 1.12rem;
  line-height: .7;
}

.aznf-hero-trust {
  max-width: 670px;
  margin: 24px 0 0;
  color: rgba(7, 44, 89, .72);
  font: 750 .72rem/1.45 Arial, Helvetica, sans-serif;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.aznf-hero-trust span {
  margin-right: 8px;
  color: var(--aznf-coral);
}

.aznf-hero-visual {
  position: relative;
  min-height: clamp(500px, 45vw, 640px);
  display: grid;
  place-items: center;
}

.aznf-hero-visual img {
  position: relative;
  z-index: 3;
  width: min(560px, 104%);
  max-height: 620px;
  object-fit: contain;
  filter: drop-shadow(17px 18px 0 var(--aznf-navy-soft));
  animation: aznf-hero-float 4.3s ease-in-out infinite;
}

.aznf-hero-orbit {
  position: absolute;
  z-index: 1;
  border-radius: 50%;
  pointer-events: none;
}

.aznf-hero-orbit-one {
  width: 100%;
  height: 55%;
  border: 3px solid var(--aznf-coral);
  transform: rotate(-14deg);
  animation: aznf-hero-orbit 15s linear infinite;
}

.aznf-hero-orbit-two {
  width: 70%;
  height: 104%;
  border: 3px solid rgba(7, 44, 89, .18);
  transform: rotate(17deg);
  animation: aznf-hero-orbit-reverse 18s linear infinite;
}

.aznf-hero-speech {
  position: absolute;
  z-index: 5;
  top: 12%;
  right: 2%;
  margin: 0;
  padding: 15px 18px;
  background: var(--aznf-navy);
  box-shadow: 6px 6px 0 var(--aznf-coral);
  color: var(--aznf-cream);
  font: 750 .8rem/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: .025em;
  transform: rotate(3deg);
}

.aznf-hero-speech strong {
  color: var(--aznf-coral);
}

.aznf-hero-speech::after {
  content: "";
  position: absolute;
  left: 26px;
  bottom: -14px;
  border: 15px solid transparent;
  border-top-color: var(--aznf-navy);
  border-left: 0;
}

.aznf-hero-stamp {
  position: absolute;
  z-index: 5;
  right: 5%;
  bottom: 12%;
  padding: 10px 14px;
  border: 3px solid var(--aznf-navy);
  background: var(--aznf-coral);
  color: var(--aznf-ink);
  font: 950 .72rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
  transform: rotate(-8deg);
}

.aznf-hero-noise span {
  position: absolute;
  z-index: 0;
  left: var(--x);
  top: var(--y);
  padding: 7px 9px;
  border: 1px solid rgba(7, 44, 89, .25);
  background: rgba(255, 253, 247, .7);
  color: rgba(7, 44, 89, .25);
  font: 850 .58rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: .11em;
  transform: rotate(var(--r));
  animation: aznf-noise-drift 5s ease-in-out var(--d) infinite;
}

.aznf-scroll-cue {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--aznf-navy);
  font: 850 .6rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-decoration: none;
  transform: translateX(-50%);
}

.aznf-scroll-cue i {
  color: var(--aznf-coral);
  font-size: 1rem;
  font-style: normal;
  animation: aznf-cue-bounce 1.8s ease-in-out infinite;
}

@keyframes aznf-hero-float {
  50% { transform: translateY(-14px) rotate(1deg); }
}

@keyframes aznf-hero-orbit {
  to { transform: rotate(346deg); }
}

@keyframes aznf-hero-orbit-reverse {
  to { transform: rotate(-343deg); }
}

@keyframes aznf-noise-drift {
  50% { translate: 0 -10px; opacity: .58; }
}

@keyframes aznf-cue-bounce {
  50% { transform: translateY(5px); }
}

@media (max-width: 1180px) {
  .aznf-hero-grid {
    grid-template-columns: minmax(520px, 1.05fr) minmax(360px, .95fr);
  }

  .aznf-home-hero h1 {
    font-size: clamp(4rem, 7vw, 5.8rem);
  }
}

@media (max-width: 980px) {
  .aznf-home-hero {
    min-height: auto;
  }

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

  .aznf-hero-visual {
    min-height: 480px;
    order: -1;
  }

  .aznf-hero-visual img {
    width: min(500px, 82vw);
  }

  .aznf-home-hero h1 { font-size: clamp(4rem, 12vw, 6.8rem); }
}

@media (max-width: 580px) {
  .aznf-home-hero {
    padding: 34px 18px 66px;
  }

  .aznf-hero-visual {
    min-height: 330px;
  }

  .aznf-hero-visual img {
    content: url("https://aznf.co.uk/wp-content/uploads/2026/08/zilla-mascot-head-transparent.png");
    width: min(340px, 82vw);
    max-height: 325px;
  }

  .aznf-hero-speech {
    top: 0;
    right: 0;
    font-size: .68rem;
  }

  .aznf-hero-stamp {
    right: 0;
    bottom: 5%;
  }

  .aznf-hero-noise span:nth-child(n+3) {
    display: none;
  }

  .aznf-home-hero h1 {
    font-size: clamp(3.4rem, 17.4vw, 5.6rem);
  }

  .aznf-home-hero h1 span {
    margin-left: .08em;
  }

  .aznf-hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .aznf-hero-primary {
    width: 100%;
  }

.aznf-scroll-cue span {
    display: none;
  }
}

/* Keep the editorial hero heading independent from Astra and Elementor heading sizes. */
body .aznf-editorial-hero h1 {
  font-size: clamp(3.55rem, 5.35vw, 5.85rem);
  line-height: .86;
}

@media (max-width: 1100px) {
  body .aznf-editorial-hero h1 { font-size: clamp(3.3rem, 5.5vw, 4.75rem); }
}

@media (max-width: 820px) {
  body .aznf-editorial-hero h1 { font-size: clamp(3.3rem, 11.5vw, 6rem); }
}

@media (max-width: 520px) {
  body .aznf-editorial-hero h1 { font-size: clamp(2.75rem, 13.2vw, 4.25rem); }
}
