/* ======================================================================
   KINGDOM OF WEB 5.5.96 — FINAL HERO AUTHORITY
   Loaded AFTER every legacy/home/responsive stylesheet. Do not duplicate
   hero positioning anywhere else after this file.
   ====================================================================== */

/* ---------- Shared hero baseline ---------- */
body.home .kow-mina-hero{
  --hero-x:50%;
  --hero-y:50%;
  background:#050505!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
body.home .kow-mina-hero::before,
body.home .kow-mina-hero::after,
body.home .kow-hero-flag::before,
body.home .kow-hero-flag::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body.home .kow-topography{display:none!important;}

/* Fresh versioned logo. Keep the same asset on every viewport. */
body.home .kow-home-wordmark{
  display:block!important;
  width:82px!important;
  height:82px!important;
  left:28px!important;
  top:13px!important;
  z-index:1002!important;
}
body.home .kow-home-wordmark img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.36))!important;
}

/* True cropped ratio of the current supplied hero artwork. */
body.home .kow-hero-word-warp{
  aspect-ratio:1448/580!important;
  left:50%!important;
  transform:translate3d(-50%,0,0)!important;
  z-index:4!important;
  filter:drop-shadow(0 18px 34px rgba(105,0,12,.18))!important;
}
body.home .kow-hero-word-warp canvas,
body.home .kow-hero-word-warp .kow-hero-word-fallback{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body.home .kow-hero-word-warp canvas{opacity:0!important;}
body.home .kow-hero-word-warp.is-ready canvas{opacity:1!important;}
body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{opacity:0!important;}

/* ONE flag. Oversized beyond both edges, optically shifted LEFT, centred on
   the hero vertically. The local radial mask keeps the page mostly black. */
body.home .kow-hero-flag{
  display:block!important;
  position:absolute!important;
  left:-14%!important;
  right:auto!important;
  top:-5%!important;
  bottom:auto!important;
  width:132%!important;
  height:110%!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:0!important;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.30) 42%,rgba(0,0,0,.62) 100%),
    url('../img/union-jack-centered-5.5.97.png')!important;
  background-repeat:no-repeat!important;
  background-position:50% 50%!important;
  background-size:100% 100%!important;
  filter:saturate(1.12) contrast(1.04) brightness(.82)!important;
  transform:none!important;
  -webkit-mask-image:radial-gradient(circle 365px at var(--hero-x) var(--hero-y),
    #000 0 31%,rgba(0,0,0,.94) 48%,rgba(0,0,0,.52) 67%,rgba(0,0,0,.14) 83%,transparent 100%)!important;
  mask-image:radial-gradient(circle 365px at var(--hero-x) var(--hero-y),
    #000 0 31%,rgba(0,0,0,.94) 48%,rgba(0,0,0,.52) 67%,rgba(0,0,0,.14) 83%,transparent 100%)!important;
  transition:opacity .12s ease!important;
}

body.home .kow-hero-skyline{z-index:1!important;}
body.home .kow-hero-bull-stage{z-index:2!important;}
body.home .kow-hero-bottom-meta{z-index:7!important;}

/* ---------- Desktop ---------- */
html[data-kow-layout="desktop"] body.home .kow-hero-word-warp{
  top:23.5%!important;
  width:min(72vw,1280px)!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-bull{
  display:block!important;
  width:min(42vw,640px)!important;
  height:88vh!important;
  bottom:-10%!important;
  left:50%!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-bull-bronze{
  opacity:.80!important;
  filter:saturate(.85) brightness(.98) contrast(1.12) drop-shadow(0 28px 58px rgba(0,0,0,.46))!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-bull-mechanical{
  display:block!important;
  opacity:0!important;
}
html[data-kow-layout="desktop"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{opacity:.58!important;}
html[data-kow-layout="desktop"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.90!important;}
html[data-kow-layout="desktop"] body.home .kow-hero-skyline{
  display:block!important;
  width:118vw!important;
  height:70vh!important;
  left:50%!important;
  bottom:-5%!important;
  transform:translateX(-50%)!important;
  opacity:.46!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-subrotator{
  top:77.5%!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:6!important;
}
@media (hover:hover) and (pointer:fine){
  html[data-kow-layout="desktop"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag,
  html[data-kow-layout="narrow"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
    opacity:.34!important;
  }
}

/* ---------- Narrow / tablet ---------- */
html[data-kow-layout="narrow"] body.home .kow-hero-word-warp{
  top:22%!important;
  width:84vw!important;
}
html[data-kow-layout="narrow"] body.home .kow-hero-bull-bronze{opacity:.76!important;}
html[data-kow-layout="narrow"] body.home .kow-hero-bull-mechanical{display:block!important;opacity:0!important;}
html[data-kow-layout="narrow"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.86!important;}
html[data-kow-layout="narrow"] body.home .kow-hero-subrotator{top:74.5%!important;}

/* ---------- Mobile: current hero, not legacy fallback ---------- */
@media(max-width:768px){
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    height:100svh!important;
    min-height:700px!important;
    background:#050505!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-home-wordmark{
    width:78px!important;
    height:78px!important;
    top:max(10px,env(safe-area-inset-top))!important;
    left:16px!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    display:block!important;
    top:23.7%!important;
    width:96vw!important;
    opacity:1!important;
    z-index:5!important;
  }
  /* Critical: old home CSS hid this canvas. Turn the actual liquid artwork on. */
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp canvas{
    display:block!important;
    opacity:0!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp.is-ready canvas{opacity:1!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{opacity:0!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp:not(.is-ready) .kow-hero-word-fallback{opacity:1!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-bull-stage{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    overflow:hidden!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    display:block!important;
    width:76vw!important;
    max-width:600px!important;
    height:73svh!important;
    bottom:-3.5%!important;
    left:50%!important;
    transform:translate3d(-50%,0,0)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    display:block!important;
    opacity:.68!important;
    filter:saturate(.78) brightness(.88) contrast(1.10) drop-shadow(0 20px 42px rgba(0,0,0,.48))!important;
    transition:opacity .34s ease!important;
  }
  /* Critical: old CSS used display:none; keep the mechanical image mounted so
     touch can actually reveal it. */
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
    transition:opacity .32s ease!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{opacity:.45!important;}
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.78!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    display:block!important;
    width:166vw!important;
    height:34svh!important;
    left:50%!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    opacity:.20!important;
    z-index:1!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-base{opacity:.54!important;filter:grayscale(1) contrast(1.04) brightness(.48)!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-reveal{display:none!important;}

  /* Faint flag on mobile, local touch reveal only. Oversized and shifted left
     exactly like desktop so there is no left-edge seam. */
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    display:block!important;
    left:-25%!important;
    top:-3%!important;
    width:154%!important;
    height:106%!important;
    opacity:0!important;
    background-size:100% 100%!important;
    background-position:50% 50%!important;
    -webkit-mask-image:radial-gradient(circle 180px at var(--hero-x) var(--hero-y),#000 0 34%,rgba(0,0,0,.80) 54%,rgba(0,0,0,.28) 78%,transparent 100%)!important;
    mask-image:radial-gradient(circle 180px at var(--hero-x) var(--hero-y),#000 0 34%,rgba(0,0,0,.80) 54%,rgba(0,0,0,.28) 78%,transparent 100%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{opacity:.095!important;}

  /* The mobile line belongs just below the wordmark, not on the bull chest. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:43.5%!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:92vw!important;
    z-index:7!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    min-width:0!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.27em!important;
    color:rgba(242,237,229,.72)!important;
  }
}


/* KINGDOM OF WEB 5.5.96 — FINAL HERO AUTHORITY
   This file loads LAST. It deliberately overrides every historic hero/mobile rule. */

/* ---------- shared header / current logo ---------- */
.kow-home-wordmark{
  width:82px!important;
  height:82px!important;
  top:12px!important;
  left:28px!important;
  z-index:1002!important;
}
.kow-home-wordmark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.42))!important;
}

/* ---------- one flag. no pseudo duplicates. ---------- */
body.home .kow-mina-hero{
  --hero-x:50%;
  --hero-y:50%;
  background:#030303!important;
  isolation:isolate!important;
}
body.home .kow-mina-hero::before,
body.home .kow-mina-hero::after,
body.home .kow-hero-flag::before,
body.home .kow-hero-flag::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
body.home .kow-hero-flag{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:0!important;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.22) 42%,rgba(0,0,0,.58) 100%),
    url('../img/union-jack-texture-5596.png')!important;
  background-repeat:no-repeat!important;
  /* Oversized + pushed left: no seam can appear on the left or right. */
  background-size:160% 126%!important;
  background-position:38% 50%!important;
  filter:saturate(1.12) contrast(1.05) brightness(.78)!important;
  -webkit-mask-image:radial-gradient(circle 275px at var(--hero-x) var(--hero-y),#000 0 34%,rgba(0,0,0,.88) 50%,rgba(0,0,0,.44) 69%,rgba(0,0,0,.12) 84%,transparent 100%)!important;
  mask-image:radial-gradient(circle 275px at var(--hero-x) var(--hero-y),#000 0 34%,rgba(0,0,0,.88) 50%,rgba(0,0,0,.44) 69%,rgba(0,0,0,.12) 84%,transparent 100%)!important;
  transition:opacity .14s ease!important;
}
@media (hover:hover) and (pointer:fine){
  body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{opacity:.30!important;}
}

/* ---------- desktop hero ---------- */
html[data-kow-layout="desktop"] body.home .kow-mina-hero{
  height:100vh!important;
  min-height:690px!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-word-warp{
  display:block!important;
  left:50%!important;
  top:22.5%!important;
  width:min(72vw,1280px)!important;
  aspect-ratio:1448/580!important;
  transform:translate3d(-50%,0,0)!important;
  z-index:4!important;
  opacity:1!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-word-warp canvas,
html[data-kow-layout="desktop"] body.home .kow-hero-word-warp .kow-hero-word-fallback{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-bull-stage{display:block!important;z-index:2!important;}
html[data-kow-layout="desktop"] body.home .kow-hero-bull{
  display:block!important;
  width:min(43vw,650px)!important;
  height:88vh!important;
  left:50%!important;
  bottom:-10%!important;
  transform:translate3d(-50%,0,0)!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-bull-bronze{opacity:.64!important;filter:saturate(.8) brightness(.90) contrast(1.08)!important;}
html[data-kow-layout="desktop"] body.home .kow-hero-bull-mechanical{display:block!important;opacity:.78!important;}
html[data-kow-layout="desktop"] body.home .kow-hero-skyline{
  display:block!important;z-index:1!important;left:50%!important;bottom:-3%!important;
  width:126vw!important;height:69vh!important;transform:translateX(-50%)!important;opacity:.46!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-subrotator{
  display:block!important;
  left:50%!important;
  top:76.4%!important;
  transform:translateX(-50%)!important;
  z-index:6!important;
  width:min(90vw,760px)!important;
}

/* ---------- narrow/tablet ---------- */
html[data-kow-layout="narrow"] body.home .kow-hero-word-warp{
  left:50%!important;top:22.5%!important;width:84vw!important;aspect-ratio:1448/580!important;transform:translateX(-50%)!important;z-index:4!important;
}
html[data-kow-layout="narrow"] body.home .kow-hero-bull{width:min(60vw,620px)!important;height:82vh!important;bottom:-7%!important;}
html[data-kow-layout="narrow"] body.home .kow-hero-skyline{display:block!important;width:145vw!important;height:46vh!important;left:50%!important;bottom:0!important;transform:translateX(-50%)!important;opacity:.34!important;}
html[data-kow-layout="narrow"] body.home .kow-hero-subrotator{top:73.4%!important;}
html[data-kow-layout="narrow"] body.home .kow-hero-flag{background-size:168% 128%!important;background-position:37% 50%!important;}

/* ---------- PHONE: current hero only, no legacy branch ---------- */
@media(max-width:768px){
  .kow-home-wordmark{
    width:68px!important;height:68px!important;top:15px!important;left:18px!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    display:block!important;
    height:100svh!important;
    min-height:700px!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#020202!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-topography,
  html[data-kow-layout="mobile"] body.home .kow-hero-kingdom-arch,
  html[data-kow-layout="mobile"] body.home .kow-hero-bigword,
  html[data-kow-layout="mobile"] body.home .kow-hero-mask-lines,
  html[data-kow-layout="mobile"] body.home .kow-ribbon{
    display:none!important;
  }

  /* Current 3D KINGDOM OF WEB — same source and real aspect as desktop. */
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:22.5%!important;
    width:96vw!important;
    aspect-ratio:1448/580!important;
    height:auto!important;
    transform:translate3d(-50%,0,0)!important;
    z-index:5!important;
    opacity:1!important;
    filter:drop-shadow(0 10px 20px rgba(84,0,9,.15))!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp canvas,
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp .kow-hero-word-fallback{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp canvas{opacity:0!important;visibility:visible!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp .kow-hero-word-fallback{opacity:1!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp.is-ready canvas{opacity:1!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{opacity:0!important;}

  /* Bronze stays readable. Mechanical layer reveals locally on touch. */
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-stage{
    display:block!important;position:absolute!important;inset:0!important;z-index:2!important;overflow:hidden!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    width:92vw!important;
    max-width:500px!important;
    height:74svh!important;
    bottom:-4%!important;
    transform:translate3d(-50%,0,0)!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    opacity:.67!important;
    filter:saturate(.78) brightness(.86) contrast(1.10) drop-shadow(0 20px 38px rgba(0,0,0,.42))!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
    -webkit-mask-image:radial-gradient(circle 135px at var(--hero-x) var(--hero-y),#000 0 43%,rgba(0,0,0,.85) 61%,rgba(0,0,0,.28) 80%,transparent 100%)!important;
    mask-image:radial-gradient(circle 135px at var(--hero-x) var(--hero-y),#000 0 43%,rgba(0,0,0,.85) 61%,rgba(0,0,0,.28) 80%,transparent 100%)!important;
    transition:opacity .18s ease!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.90!important;}
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{opacity:.48!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    bottom:-1%!important;
    width:170vw!important;
    height:32svh!important;
    transform:translateX(-50%)!important;
    opacity:.22!important;
    z-index:1!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-base{opacity:.52!important;filter:grayscale(1) contrast(1.02) brightness(.52)!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-reveal{display:none!important;}

  /* Mobile flag is deliberately extremely faint and local to touch. */
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    display:block!important;
    background-size:188% 132%!important;
    background-position:38% 50%!important;
    -webkit-mask-image:radial-gradient(circle 150px at var(--hero-x) var(--hero-y),#000 0 38%,rgba(0,0,0,.72) 58%,rgba(0,0,0,.20) 80%,transparent 100%)!important;
    mask-image:radial-gradient(circle 150px at var(--hero-x) var(--hero-y),#000 0 38%,rgba(0,0,0,.72) 58%,rgba(0,0,0,.20) 80%,transparent 100%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{opacity:.075!important;}

  /* Move changing line up under the wordmark, not over the bull chest. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    display:block!important;
    left:50%!important;
    top:47.5%!important;
    transform:translateX(-50%)!important;
    width:92vw!important;
    z-index:7!important;
    text-align:center!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    display:inline-block!important;
    min-width:0!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.26em!important;
    color:rgba(242,237,229,.72)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bottom-meta{display:none!important;}
}

@media(max-width:430px){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{top:23.5%!important;width:98vw!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{width:98vw!important;height:73svh!important;bottom:-3%!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{top:48.5%!important;}
}


/* 5.5.96 FINAL OVERRIDE — these are intentionally the final declarations. */
html[data-kow-layout="desktop"] body.home .kow-hero-flag{
  background-size:160% 126%!important;
  background-position:38% 50%!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-subrotator{top:76.8%!important;}
html[data-kow-layout="narrow"] body.home .kow-hero-flag{
  background-size:168% 128%!important;
  background-position:37% 50%!important;
}
html[data-kow-layout="narrow"] body.home .kow-hero-subrotator{top:74.0%!important;}
@media(max-width:768px){
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    background-size:188% 132%!important;
    background-position:34% 50%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp canvas{display:block!important;visibility:visible!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{display:block!important;visibility:visible!important;}
  html[data-kow-layout="mobile"] body.home .kow-home-wordmark{display:block!important;visibility:visible!important;}
}


/* ======================================================================
   KINGDOM OF WEB 5.5.97 — FLAG GEOMETRY AUTHORITY
   The flag asset itself has been optically recentered. No overscan or offset
   hacks are needed now: one layer, exactly the hero size, dead centre.
   ====================================================================== */
body.home .kow-hero-flag{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.30) 42%,rgba(0,0,0,.62) 100%),
    url('../img/union-jack-centered-5.5.97.png')!important;
  background-repeat:no-repeat!important;
  background-position:50% 50%!important;
  background-size:100% 100%!important;
  filter:saturate(1.10) contrast(1.04) brightness(.82)!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-flag,
html[data-kow-layout="narrow"] body.home .kow-hero-flag,
html[data-kow-layout="mobile"] body.home .kow-hero-flag{
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  background-size:100% 100%!important;
  background-position:50% 50%!important;
}


/* ======================================================================
   KINGDOM OF WEB 5.5.98 — non-mirrored centred overscan flag
   One oversized hero-specific flag crop. No mirroring. No right-corner seam.
   The image is pre-cropped wide, so we can let it bleed off-screen cleanly.
   ====================================================================== */
body.home .kow-hero-flag::before,
body.home .kow-hero-flag::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
html[data-kow-layout="desktop"] body.home .kow-hero-flag,
html[data-kow-layout="narrow"] body.home .kow-hero-flag{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.30) 42%,rgba(0,0,0,.62) 100%),
    url('../img/union-jack-hero-wide-5.5.98.png')!important;
  background-repeat:no-repeat!important;
  background-position:49% 50%!important;
  background-size:104% 100%!important;
  filter:saturate(1.08) contrast(1.03) brightness(.80)!important;
}
html[data-kow-layout="desktop"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag,
html[data-kow-layout="narrow"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
  opacity:.29!important;
}
@media(max-width:1100px){
  html[data-kow-layout="narrow"] body.home .kow-hero-flag{
    background-position:48.6% 50%!important;
    background-size:108% 100%!important;
  }
}

/* ======================================================================
   KINGDOM OF WEB 5.5.99 — TRADEFORM-STYLE SCROLL REVEALS
   Sections no longer arrive pre-loaded. Content lifts and resolves into
   place as the visitor reaches it; cards cascade behind the section reveal.
   ====================================================================== */
html.kow-scroll-reveal-enabled [data-kow-sr-section]{
  --kow-sr-ease:cubic-bezier(.16,1,.3,1);
}
html.kow-scroll-reveal-enabled [data-kow-sr-section] > [data-kow-sr-item]{
  opacity:0;
  transform:translate3d(0,54px,0);
  filter:blur(5px);
  clip-path:inset(0 0 10% 0);
  transition:
    opacity .82s var(--kow-sr-ease),
    transform 1.05s var(--kow-sr-ease),
    filter .92s var(--kow-sr-ease),
    clip-path 1.08s var(--kow-sr-ease);
  transition-delay:calc(var(--kow-sr-i,0) * 55ms);
  will-change:transform,opacity,filter,clip-path;
}
html.kow-scroll-reveal-enabled [data-kow-sr-section].is-kow-sr-visible > [data-kow-sr-item]{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
  clip-path:inset(0 0 0 0);
}

/* Cards and repeated content get the small cascading lift seen on TradeForm. */
html.kow-scroll-reveal-enabled [data-kow-sr-card]{
  opacity:0;
  transform:translate3d(0,34px,0) scale(.985);
  filter:blur(3px);
  transition:
    opacity .70s var(--kow-sr-ease),
    transform .92s var(--kow-sr-ease),
    filter .78s var(--kow-sr-ease);
  transition-delay:calc(120ms + (var(--kow-sr-i,0) * 64ms));
  will-change:transform,opacity,filter;
}
html.kow-scroll-reveal-enabled [data-kow-sr-section].is-kow-sr-visible [data-kow-sr-card],
html.kow-scroll-reveal-enabled [data-kow-sr-card].is-kow-sr-card-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}

/* Image-led blocks settle in with a restrained scale rather than a plain fade. */
html.kow-scroll-reveal-enabled [data-kow-sr-card] img,
html.kow-scroll-reveal-enabled [data-kow-sr-section] > [data-kow-sr-item] figure img{
  transform:scale(1.035);
  transition:transform 1.35s var(--kow-sr-ease);
}
html.kow-scroll-reveal-enabled [data-kow-sr-section].is-kow-sr-visible [data-kow-sr-card] img,
html.kow-scroll-reveal-enabled [data-kow-sr-section].is-kow-sr-visible > [data-kow-sr-item] figure img{
  transform:scale(1);
}

/* Inner-page first frame still enters rather than appearing fully assembled. */
html.kow-scroll-reveal-enabled [data-kow-sr-hero] > [data-kow-sr-item]{
  transform:translate3d(0,38px,0);
  transition-duration:.95s,1.08s,.9s,1.05s;
}

/* Existing bespoke homepage chapters retain their own authored motion systems. */
body.home .kow-mina-hero,
body.home .kow-work,
body.home .kow-mina-about,
body.home .kow-sword-film{
  --kow-sr-ease:cubic-bezier(.16,1,.3,1);
}

@media(max-width:768px){
  html.kow-scroll-reveal-enabled [data-kow-sr-section] > [data-kow-sr-item]{
    transform:translate3d(0,34px,0);
    filter:blur(3px);
    clip-path:inset(0 0 6% 0);
    transition-duration:.70s,.88s,.75s,.90s;
    transition-delay:calc(var(--kow-sr-i,0) * 42ms);
  }
  html.kow-scroll-reveal-enabled [data-kow-sr-card]{
    transform:translate3d(0,26px,0) scale(.99);
    filter:blur(2px);
    transition-delay:calc(80ms + (var(--kow-sr-i,0) * 48ms));
  }
}

@media(prefers-reduced-motion:reduce){
  html.kow-scroll-reveal-enabled [data-kow-sr-item],
  html.kow-scroll-reveal-enabled [data-kow-sr-card]{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.00 — BUSINESS SUPPORT ANNOUNCEMENT
   Premium, compact and deliberately not styled like a discount/freebie bar.
   ====================================================================== */
.kow-support-banner{
  position:absolute;
  top:98px;
  left:50%;
  width:min(1180px,calc(100% - 96px));
  transform:translateX(-50%);
  z-index:32;
  pointer-events:none;
  opacity:0;
  animation:kowSupportBannerIn .85s cubic-bezier(.16,1,.3,1) .48s forwards;
}
.kow-support-banner__inner{
  position:relative;
  min-height:54px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(18px,2.2vw,34px);
  padding:10px 15px 10px 18px;
  overflow:hidden;
  pointer-events:auto;
  color:#f2eee7;
  background:linear-gradient(105deg,rgba(17,17,16,.88),rgba(8,8,8,.82));
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 36px rgba(0,0,0,.24),inset 0 0 0 1px rgba(197,46,50,.025);
}
.kow-support-banner__inner:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:#c91f32;
}
.kow-support-banner__status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
  font:750 8px/1 Manrope,Arial,sans-serif;
  letter-spacing:.18em;
  color:rgba(242,238,231,.66);
}
.kow-support-banner__status i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d41f33;
  box-shadow:0 0 0 4px rgba(212,31,51,.10);
  animation:kowSupportPulse 2.2s ease-in-out infinite;
}
.kow-support-banner__copy{
  min-width:0;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:12px;
  text-align:center;
  white-space:nowrap;
}
.kow-support-banner__copy strong{
  font:750 10px/1.15 Manrope,Arial,sans-serif;
  letter-spacing:.08em;
  color:#f5f1e9;
}
.kow-support-banner__copy em{
  font:500 10px/1.3 Manrope,Arial,sans-serif;
  font-style:normal;
  letter-spacing:.015em;
  color:rgba(242,238,231,.58);
}
.kow-support-banner__cta{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 14px;
  border-radius:999px;
  background:#f1eee8;
  color:#0b0b0b;
  white-space:nowrap;
  font:800 8px/1 Manrope,Arial,sans-serif;
  letter-spacing:.16em;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.kow-support-banner__cta b{font-size:12px;font-weight:500;transition:transform .22s ease;}
.kow-support-banner__inner:hover .kow-support-banner__cta{background:#c91f32;color:#fff;transform:translateX(2px);}
.kow-support-banner__inner:hover .kow-support-banner__cta b{transform:translate(2px,-2px);}
.kow-support-banner__sheen{
  position:absolute;
  top:-70%;
  bottom:-70%;
  left:-18%;
  width:16%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
  animation:kowSupportSheen 8s cubic-bezier(.5,0,.25,1) 1.3s infinite;
  pointer-events:none;
}
@keyframes kowSupportBannerIn{
  from{opacity:0;transform:translate(-50%,-12px);filter:blur(5px);}
  to{opacity:1;transform:translate(-50%,0);filter:blur(0);}
}
@keyframes kowSupportSheen{0%,68%{left:-18%;opacity:0}72%{opacity:1}88%{left:112%;opacity:0}100%{left:112%;opacity:0}}
@keyframes kowSupportPulse{0%,100%{opacity:.65;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}

/* Give the announcement slightly more breathing room on non-home conversion pages. */
body:not(.home) .kow-support-banner{top:104px;}

@media(max-width:980px){
  .kow-support-banner{width:calc(100% - 40px);}
  .kow-support-banner__inner{grid-template-columns:auto 1fr auto;gap:14px;}
  .kow-support-banner__copy em{display:none;}
}
@media(max-width:760px){
  .kow-support-banner{top:98px!important;width:calc(100% - 28px);}
  .kow-support-banner__inner{
    min-height:52px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    padding:8px 9px 8px 15px;
    border-radius:16px;
  }
  .kow-support-banner__status{display:none;}
  .kow-support-banner__copy{display:block;text-align:left;white-space:normal;}
  .kow-support-banner__copy strong{display:block;font-size:9px;line-height:1.25;letter-spacing:.07em;}
  .kow-support-banner__copy em{display:block;margin-top:3px;font-size:8px;line-height:1.3;color:rgba(242,238,231,.50);}
  .kow-support-banner__cta{min-height:34px;padding:0 12px;font-size:7px;}
}
@media(max-width:430px){
  .kow-support-banner{top:94px!important;width:calc(100% - 22px);}
  .kow-support-banner__copy em{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .kow-support-banner{opacity:1;animation:none;filter:none;}
  .kow-support-banner__status i,.kow-support-banner__sheen{animation:none;}
}


/* ======================================================================
   KINGDOM OF WEB 5.6.01 — mobile hero richness pass
   Make mobile feel authored: visible skyline, faint full Union Jack,
   stronger bronze/mechanical interaction and cleaner composition.
   ====================================================================== */
@media(max-width:768px){
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    background:radial-gradient(circle at 50% 38%, rgba(115,8,18,.16), rgba(5,5,5,0) 34%), #050505!important;
  }
  /* Bigger, clearer city skyline sitting behind the bull. */
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    display:block!important;
    width:194vw!important;
    height:44svh!important;
    left:50%!important;
    bottom:-2%!important;
    transform:translateX(-50%)!important;
    opacity:.34!important;
    z-index:1!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-base{
    opacity:.72!important;
    filter:grayscale(1) contrast(1.08) brightness(.56)!important;
  }
  /* The Union Jack should exist on mobile even without hover — very faint,
     full-width, centred, and still subtle. Touch simply strengthens it. */
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    display:block!important;
    left:-18%!important;
    top:-5%!important;
    width:136%!important;
    height:112%!important;
    opacity:.048!important;
    background-image:
      linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.52) 42%,rgba(0,0,0,.76) 100%),
      url('../img/union-jack-hero-wide-5.5.98.png')!important;
    background-repeat:no-repeat!important;
    background-position:49% 50%!important;
    background-size:100% 100%!important;
    filter:saturate(1.06) contrast(1.02) brightness(.68)!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
    opacity:.088!important;
  }
  /* Stronger bull readability and clearer mechanical reveal on touch. */
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    width:78vw!important;
    height:74svh!important;
    bottom:-2.8%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    opacity:.78!important;
    filter:saturate(.84) brightness(.96) contrast(1.14) drop-shadow(0 22px 46px rgba(0,0,0,.52))!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{
    opacity:.52!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{
    opacity:.86!important;
  }
  /* Move the changing service line up a touch so it sits as part of the title,
     not floating in the middle of the bull. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:42.1%!important;
    width:94vw!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:10px!important;
    letter-spacing:.30em!important;
    color:rgba(242,237,229,.78)!important;
    text-shadow:0 1px 10px rgba(0,0,0,.28)!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.02 — banner repair + slightly brighter flag
   ====================================================================== */
/* Premium announcement: below the 94px desktop header, never through the nav. */
.kow-support-banner{
  position:absolute!important;
  top:106px!important;
  left:50%!important;
  width:min(1040px,calc(100% - 112px))!important;
  transform:translateX(-50%)!important;
  z-index:500!important;
  pointer-events:none!important;
  opacity:0;
  animation:kowSupportBannerIn .72s cubic-bezier(.16,1,.3,1) .34s forwards!important;
}
.kow-support-banner__inner{
  position:relative!important;
  min-height:48px!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  padding:7px 9px 7px 16px!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  color:#f2eee7!important;
  background:linear-gradient(105deg,rgba(17,17,17,.94),rgba(7,7,7,.91))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.34),inset 0 0 0 1px rgba(201,31,50,.035)!important;
}
.kow-support-banner__inner::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:8px!important;
  bottom:8px!important;
  width:2px!important;
  background:#c91f32!important;
  border-radius:2px!important;
}
.kow-support-banner__status{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  font:750 8px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.16em!important;
  color:rgba(242,238,231,.58)!important;
}
.kow-support-banner__status i{
  display:block!important;
  flex:0 0 auto!important;
  width:6px!important;
  height:6px!important;
  border-radius:50%!important;
  background:#d51e34!important;
  box-shadow:0 0 0 4px rgba(213,30,52,.09)!important;
}
.kow-support-banner__copy{
  min-width:0!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-align:center!important;
}
.kow-support-banner__copy strong{
  flex:0 0 auto!important;
  font:750 10px/1.2 Manrope,Arial,sans-serif!important;
  letter-spacing:.065em!important;
  color:#f5f1e9!important;
}
.kow-support-banner__copy em{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font:500 10px/1.25 Manrope,Arial,sans-serif!important;
  font-style:normal!important;
  letter-spacing:0!important;
  color:rgba(242,238,231,.56)!important;
}
.kow-support-banner__cta{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#f1eee8!important;
  color:#0b0b0b!important;
  white-space:nowrap!important;
  font:800 8px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.14em!important;
}
.kow-support-banner__sheen{pointer-events:none!important;}
body:not(.home) .kow-support-banner{top:106px!important;}

@media(max-width:980px){
  .kow-support-banner{width:calc(100% - 34px)!important;top:94px!important;}
  .kow-support-banner__inner{gap:12px!important;}
  .kow-support-banner__copy em{display:none!important;}
}
@media(max-width:760px){
  .kow-support-banner{top:92px!important;width:calc(100% - 24px)!important;}
  .kow-support-banner__inner{
    min-height:48px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:7px 8px 7px 13px!important;
    gap:10px!important;
    border-radius:14px!important;
  }
  .kow-support-banner__status{display:none!important;}
  .kow-support-banner__copy{display:block!important;text-align:left!important;white-space:normal!important;overflow:visible!important;}
  .kow-support-banner__copy strong{display:block!important;font-size:9px!important;line-height:1.2!important;}
  .kow-support-banner__copy em{display:none!important;}
  .kow-support-banner__cta{min-height:32px!important;padding:0 11px!important;font-size:7px!important;}
}

/* Slightly brighter flag — still restrained, just easier to read. */
html[data-kow-layout="desktop"] body.home .kow-hero-flag,
html[data-kow-layout="narrow"] body.home .kow-hero-flag{
  filter:saturate(1.10) contrast(1.035) brightness(.86)!important;
}
@media (hover:hover) and (pointer:fine){
  html[data-kow-layout="desktop"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag,
  html[data-kow-layout="narrow"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
    opacity:.34!important;
  }
}
@media(max-width:768px){
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    opacity:.058!important;
    filter:saturate(1.08) contrast(1.025) brightness(.72)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
    opacity:.10!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.04 — mobile auto-reveal hero pass
   Mobile gets a constant moving reveal spotlight so the flag, skyline,
   and mechanical bull are visible without hover.
   ====================================================================== */
@media(max-width:768px){
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    overflow:hidden!important;
    background:radial-gradient(circle at 50% 34%, rgba(96,10,18,.14), rgba(0,0,0,0) 36%), #050505!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:18.8%!important;
    width:88vw!important;
    z-index:4!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-stage{
    z-index:2!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    width:80vw!important;
    max-width:520px!important;
    height:73svh!important;
    bottom:-2.4%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    display:block!important;
    opacity:.74!important;
    filter:saturate(.84) brightness(.96) contrast(1.15) drop-shadow(0 22px 48px rgba(0,0,0,.54))!important;
    transition:opacity .24s ease!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
    -webkit-mask-image:radial-gradient(circle 150px at var(--hero-x) var(--hero-y),#000 0 42%,rgba(0,0,0,.88) 60%,rgba(0,0,0,.34) 79%,transparent 100%)!important;
    mask-image:radial-gradient(circle 150px at var(--hero-x) var(--hero-y),#000 0 42%,rgba(0,0,0,.88) 60%,rgba(0,0,0,.34) 79%,transparent 100%)!important;
    transition:opacity .2s ease!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{opacity:.56!important;}
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.92!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    display:block!important;
    left:50%!important;
    bottom:-1%!important;
    width:188vw!important;
    height:41svh!important;
    transform:translateX(-50%)!important;
    opacity:.28!important;
    z-index:1!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-base{
    opacity:.66!important;
    filter:grayscale(1) contrast(1.06) brightness(.58)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-reveal{
    display:block!important;
    opacity:0!important;
    clip-path:none!important;
    -webkit-mask-image:radial-gradient(circle 180px at var(--hero-x) var(--hero-y),#000 0 46%,rgba(0,0,0,.88) 63%,rgba(0,0,0,.30) 81%,transparent 100%)!important;
    mask-image:radial-gradient(circle 180px at var(--hero-x) var(--hero-y),#000 0 46%,rgba(0,0,0,.88) 63%,rgba(0,0,0,.30) 81%,transparent 100%)!important;
    filter:saturate(1.08) contrast(1.08) brightness(.94)!important;
    transition:opacity .2s ease!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-skyline-reveal{opacity:.92!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    display:block!important;
    left:-17%!important;
    top:-4%!important;
    width:134%!important;
    height:108%!important;
    background-image:
      linear-gradient(180deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.57) 42%,rgba(0,0,0,.78) 100%),
      url('../img/union-jack-hero-wide-5.5.98.png')!important;
    background-repeat:no-repeat!important;
    background-position:49% 50%!important;
    background-size:100% 100%!important;
    opacity:0!important;
    filter:saturate(1.18) contrast(1.05) brightness(.80)!important;
    -webkit-mask-image:radial-gradient(circle 185px at var(--hero-x) var(--hero-y),#000 0 41%,rgba(0,0,0,.84) 58%,rgba(0,0,0,.26) 79%,transparent 100%)!important;
    mask-image:radial-gradient(circle 185px at var(--hero-x) var(--hero-y),#000 0 41%,rgba(0,0,0,.84) 58%,rgba(0,0,0,.26) 79%,transparent 100%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{opacity:.12!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:46.6%!important;
    width:94vw!important;
    z-index:5!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:10px!important;
    letter-spacing:.30em!important;
    color:rgba(242,237,229,.84)!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.05 — mobile banner visibility + larger hero subline
   Final mobile authority: banner must render above the hero and the rotating
   service line must be legible on phone screens.
   ====================================================================== */
@media(max-width:768px){
  body.home .kow-support-banner,
  body.page-template-page-services .kow-support-banner,
  body.page-template-page-contact .kow-support-banner,
  .kow-support-banner{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    animation:none!important;
    filter:none!important;
    position:absolute!important;
    top:96px!important;
    left:50%!important;
    right:auto!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    transform:translateX(-50%)!important;
    z-index:2000!important;
    pointer-events:none!important;
  }
  .kow-support-banner__inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:7px 8px 7px 13px!important;
    gap:10px!important;
    border-radius:14px!important;
    pointer-events:auto!important;
    background:linear-gradient(105deg,rgba(18,18,18,.96),rgba(7,7,7,.94))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.38)!important;
  }
  .kow-support-banner__status{display:none!important;}
  .kow-support-banner__copy{
    display:block!important;
    min-width:0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .kow-support-banner__copy strong{
    display:block!important;
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.065em!important;
  }
  .kow-support-banner__copy em{display:none!important;}
  .kow-support-banner__cta{
    display:inline-flex!important;
    min-height:32px!important;
    padding:0 11px!important;
    font-size:7px!important;
    flex:0 0 auto!important;
  }
  .kow-support-banner__sheen{display:none!important;}

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:46.2%!important;
    width:96vw!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:12px!important;
    line-height:1.05!important;
    letter-spacing:.235em!important;
    font-weight:700!important;
    color:rgba(245,241,234,.88)!important;
    text-shadow:0 2px 12px rgba(0,0,0,.46)!important;
  }
}
@media(max-width:390px){
  .kow-support-banner{top:92px!important;width:calc(100% - 18px)!important;}
  .kow-support-banner__copy strong{font-size:8.5px!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:11.5px!important;
    letter-spacing:.21em!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.06 — mobile spotlight hero + svg arrows
   ====================================================================== */
:root{
  --kow-arrow-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.75 14.25 14.25 5.75M7.25 5.75h7v7' stroke='currentColor' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.kow-icon-arrow,
.kow-link-arrow,
.kow-privacy-cookie-button .kow-icon-arrow,
.kow-privacy-email .kow-icon-arrow,
.kow-detail-plan-price + ul + a .kow-icon-arrow,
.kow-support-banner__cta .kow-icon-arrow,
.kow-home-project-link .kow-icon-arrow,
.kow-positioning-primary .kow-icon-arrow,
.kow-referral-button .kow-icon-arrow,
.kow-match-service-cta .kow-icon-arrow,
.kow-uow-final-cta a .kow-icon-arrow,
.kow-contact-end-submit .kow-icon-arrow,
.kow-project-link .kow-icon-arrow,
.kow-uow-home-service-cta .kow-icon-arrow,
.kow-home-services-all .kow-icon-arrow,
.kow-portfolio-uow-arrow,
.kow-case-next .kow-icon-arrow,
.kow-uow-footer-col.is-cta .kow-icon-arrow{
  display:inline-block!important;
  width:1.05em!important;
  height:1.05em!important;
  margin-left:.32em!important;
  vertical-align:-.12em!important;
  background-color:currentColor!important;
  -webkit-mask-image:var(--kow-arrow-svg)!important;
  mask-image:var(--kow-arrow-svg)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
  font-size:1em!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
.kow-support-banner__cta .kow-icon-arrow{width:.95em!important;height:.95em!important;margin-left:.28em!important;}
.kow-portfolio-uow-arrow{color:inherit!important;font-size:1em!important;}
.kow-detail-feature-grid li:before{
  content:''!important;
  display:inline-block!important;
  width:12px!important;
  height:12px!important;
  margin-right:9px!important;
  vertical-align:-1px!important;
  background-color:#c91f32!important;
  -webkit-mask-image:var(--kow-arrow-svg)!important;
  mask-image:var(--kow-arrow-svg)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
}

@media(max-width:768px){
  /* Lower + larger rotating hero subheading on mobile. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:51.4%!important;
    width:96vw!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:14px!important;
    letter-spacing:.22em!important;
    color:rgba(244,239,230,.90)!important;
    text-shadow:0 1px 12px rgba(0,0,0,.34)!important;
  }
  /* Mobile hero spotlight: bigger and more visible. */
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{opacity:.17!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    opacity:0!important;
    filter:saturate(1.22) contrast(1.07) brightness(.86)!important;
    -webkit-mask-image:radial-gradient(circle 245px at var(--hero-x) var(--hero-y),#000 0 40%,rgba(0,0,0,.88) 58%,rgba(0,0,0,.33) 80%,transparent 100%)!important;
    mask-image:radial-gradient(circle 245px at var(--hero-x) var(--hero-y),#000 0 40%,rgba(0,0,0,.88) 58%,rgba(0,0,0,.33) 80%,transparent 100%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    width:196vw!important;
    height:43svh!important;
    bottom:-1%!important;
    opacity:.30!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-reveal{
    opacity:0!important;
    -webkit-mask-image:radial-gradient(circle 235px at var(--hero-x) var(--hero-y),#000 0 44%,rgba(0,0,0,.88) 62%,rgba(0,0,0,.34) 81%,transparent 100%)!important;
    mask-image:radial-gradient(circle 235px at var(--hero-x) var(--hero-y),#000 0 44%,rgba(0,0,0,.88) 62%,rgba(0,0,0,.34) 81%,transparent 100%)!important;
    filter:saturate(1.14) contrast(1.12) brightness(1.02)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-skyline-reveal{opacity:.98!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{
    -webkit-mask-image:radial-gradient(circle 205px at var(--hero-x) var(--hero-y),#000 0 40%,rgba(0,0,0,.89) 60%,rgba(0,0,0,.36) 80%,transparent 100%)!important;
    mask-image:radial-gradient(circle 205px at var(--hero-x) var(--hero-y),#000 0 40%,rgba(0,0,0,.89) 60%,rgba(0,0,0,.36) 80%,transparent 100%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.96!important;}
}


/* ======================================================================
   KINGDOM OF WEB 5.6.08 — mobile hero spacing / faint flag base / bull drop
   This is now the authoritative final-pass CSS file.
   ====================================================================== */
@media(max-width:768px){
  /* Always show a very faint full-width Union Jack tint behind the hero,
     while the moving spotlight still reveals stronger colour. */
  html[data-kow-layout="mobile"] body.home .kow-mina-hero::before{
    content:''!important;
    position:absolute!important;
    inset:-3% -8% 0 -8%!important;
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.84) 36%, rgba(0,0,0,.88) 100%),
      url('../img/union-jack-hero-wide-5.5.98.png')!important;
    background-repeat:no-repeat!important;
    background-position:48% 50%!important;
    background-size:125% 106%!important;
    opacity:.065!important;
    pointer-events:none!important;
    z-index:0!important;
  }

  /* Drop the bull lower so the legs crop off and the title has breathing room. */
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    width:79vw!important;
    max-width:520px!important;
    height:68svh!important;
    bottom:-11.5%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-stage{z-index:2!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    opacity:.78!important;
  }

  /* Keep the skyline where it already works. */
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    width:196vw!important;
    height:43svh!important;
    bottom:-1%!important;
  }

  /* Stronger spotlight reveal for the flag/smaller overall footprint. */
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    left:-17%!important;
    top:-4%!important;
    width:134%!important;
    height:108%!important;
    background-position:48% 50%!important;
    background-size:100% 100%!important;
    opacity:.035!important;
    filter:saturate(1.24) contrast(1.08) brightness(.88)!important;
    -webkit-mask-image:radial-gradient(circle 230px at var(--hero-x) var(--hero-y), #000 0 41%, rgba(0,0,0,.89) 58%, rgba(0,0,0,.35) 80%, transparent 100%)!important;
    mask-image:radial-gradient(circle 230px at var(--hero-x) var(--hero-y), #000 0 41%, rgba(0,0,0,.89) 58%, rgba(0,0,0,.35) 80%, transparent 100%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
    opacity:.19!important;
  }

  /* Put the rotating line in the gap between OF WEB and the bull head. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:49.2%!important;
    width:96vw!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    line-height:1.05!important;
    letter-spacing:.19em!important;
    font-weight:700!important;
    color:rgba(246,241,233,.92)!important;
    text-shadow:0 2px 14px rgba(0,0,0,.48)!important;
  }
}

@media(max-width:430px){
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    width:80vw!important;
    height:67.5svh!important;
    bottom:-12.5%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:49.8%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:14px!important;
    letter-spacing:.18em!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.09 — mobile hero vertical balance
   Pull the main title lower, lift the rotating subheading, and nudge the bull
   down so the three layers sit together more cleanly on phones.
   ====================================================================== */
@media(max-width:768px){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:21.6%!important;
    width:88vw!important;
    z-index:4!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    width:79vw!important;
    max-width:520px!important;
    height:68svh!important;
    bottom:-13.3%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:46.8%!important;
    width:96vw!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    letter-spacing:.19em!important;
  }
}
@media(max-width:430px){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:22.2%!important;
    width:89vw!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    width:80vw!important;
    height:67.5svh!important;
    bottom:-14.2%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:47.2%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:14px!important;
    letter-spacing:.18em!important;
  }
}

/* ======================================================================
   KINGDOM OF WEB 5.6.12 — launch polish: support form + web heading
   ====================================================================== */

/* Website Development hero must fit within the viewport on every desktop size. */
body[data-page-key="website-builds"] .kow-detail-hero h1,
.kow-detail-page[data-detail-page="website-builds"] .kow-detail-hero h1{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(64px,8.7vw,136px)!important;
  line-height:.82!important;
  letter-spacing:-.072em!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
}
@media(max-width:980px){
  body[data-page-key="website-builds"] .kow-detail-hero h1,
  .kow-detail-page[data-detail-page="website-builds"] .kow-detail-hero h1{
    font-size:clamp(58px,11.2vw,104px)!important;
  }
}
@media(max-width:680px){
  body[data-page-key="website-builds"] .kow-detail-hero h1,
  .kow-detail-page[data-detail-page="website-builds"] .kow-detail-hero h1{
    font-size:clamp(43px,13.4vw,72px)!important;
    letter-spacing:-.065em!important;
  }
}

/* Business Support application — give both columns enough room and turn the
   form into the same deliberate, premium panel language as the main contact form. */
.kow-detail-page[data-detail-page="business-support"] .kow-support-match-apply{
  padding:clamp(88px,11vh,148px) 0!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-support-match-apply-grid{
  grid-template-columns:minmax(300px,.82fr) minmax(520px,1.18fr)!important;
  gap:clamp(48px,6vw,82px)!important;
  align-items:start!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-support-match-copy{
  position:sticky!important;
  top:130px!important;
  min-width:0!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-support-match-copy h2{
  max-width:520px!important;
  margin:20px 0 20px!important;
  font-size:clamp(42px,4.15vw,62px)!important;
  line-height:.94!important;
  letter-spacing:-.052em!important;
  text-wrap:balance!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-support-form{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:clamp(26px,3vw,42px)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,#101010,#090909)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.24)!important;
  overflow:hidden!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-form-title{
  margin:0 0 20px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-form-title span{
  font:800 9px/1 var(--f-mono)!important;
  letter-spacing:.19em!important;
  color:#f0ebe3!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:0!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields label{
  min-width:0!important;
  min-height:82px!important;
  padding:15px 16px 13px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:15px!important;
  background:#121212!important;
  transition:border-color .2s ease,background .2s ease!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields label.wide{
  grid-column:1/-1!important;
  min-height:154px!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields label:focus-within{
  border-color:rgba(201,31,50,.58)!important;
  background:#151313!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields label span,
.kow-detail-page[data-detail-page="business-support"] .kow-contact-choice legend{
  color:#8d8780!important;
  font-size:8px!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields input,
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin-top:8px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#f1ece4!important;
  font:500 15px/1.45 var(--f-body)!important;
  box-shadow:none!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields textarea{
  min-height:102px!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-choice{
  margin:20px 0 0!important;
  padding:18px 0 0!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-choice>div{
  gap:8px!important;
  margin-top:12px!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-choice label span{
  min-height:38px!important;
  padding:9px 13px!important;
  background:#111!important;
  border:1px solid rgba(255,255,255,.11)!important;
  color:#aaa39c!important;
  font-size:10px!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-choice input:checked+span{
  background:#c91f32!important;
  border-color:#c91f32!important;
  color:#fff!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-contact-end-submit{
  width:100%!important;
  min-height:58px!important;
  margin-top:24px!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f0ece4!important;
  color:#090909!important;
}
.kow-detail-page[data-detail-page="business-support"] .kow-support-match-apply-grid>.kow-contact-direct{
  grid-column:2!important;
  margin-top:-20px!important;
}

@media(max-width:1050px){
  .kow-detail-page[data-detail-page="business-support"] .kow-support-match-apply-grid{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-support-match-copy{
    position:static!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-support-match-copy h2{
    max-width:680px!important;
    font-size:clamp(42px,7vw,64px)!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-support-match-apply-grid>.kow-contact-direct{
    grid-column:1!important;
    margin-top:-10px!important;
  }
}
@media(max-width:680px){
  .kow-detail-page[data-detail-page="business-support"] .kow-support-match-apply{
    padding:72px 0 88px!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-support-match-copy h2{
    font-size:clamp(38px,11vw,52px)!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-support-form{
    padding:18px!important;
    border-radius:20px!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .kow-detail-page[data-detail-page="business-support"] .kow-contact-end-fields label.wide{
    grid-column:1!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.14 — portrait hero desktop-match implemented
   Add the portrait homepage hero treatment from the approved portrait pass,
   while keeping the 5.6.09 mobile hero baseline and the later favicon/form/
   web-development heading fixes.
   ====================================================================== */
@media(max-width:900px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    min-height:100svh!important;
    background:#050505!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-home-wordmark{
    width:58px!important;
    height:58px!important;
    top:10px!important;
    left:12px!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:23.6%!important;
    width:min(92vw,720px)!important;
    z-index:4!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-stage{z-index:2!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    display:block!important;
    width:min(70vw,500px)!important;
    height:72svh!important;
    left:50%!important;
    bottom:-11.4%!important;
    transform:translateX(-50%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    opacity:.80!important;
    filter:saturate(.86) brightness(.98) contrast(1.12) drop-shadow(0 22px 44px rgba(0,0,0,.42))!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{opacity:.58!important;}
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{opacity:.90!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    display:block!important;
    width:156vw!important;
    height:47svh!important;
    left:50%!important;
    bottom:-4%!important;
    transform:translateX(-50%)!important;
    opacity:.44!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-reveal{
    display:block!important;
    opacity:0!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-skyline-reveal{opacity:.96!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    left:-12%!important;
    top:-4%!important;
    width:124%!important;
    height:108%!important;
    background-position:50% 50%!important;
    background-size:cover!important;
    opacity:.04!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{opacity:.18!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:69.8%!important;
    left:50%!important;
    width:94vw!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:14px!important;
    letter-spacing:.19em!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.15 — banner click position lock
   Keep the support banner completely stationary while soft navigation starts.
   ====================================================================== */
.kow-support-banner__inner:active,
.kow-support-banner__inner:focus,
.kow-support-banner__inner:focus-visible{
  transform:none!important;
}
body.is-soft-transitioning .kow-support-banner{
  top:98px!important;
  transform:translateX(-50%)!important;
  animation:none!important;
  opacity:1!important;
  filter:none!important;
  transition:none!important;
}
body.is-soft-transitioning .kow-support-banner__inner,
body.is-soft-transitioning .kow-support-banner__cta{
  transform:none!important;
  transition:none!important;
}
@media(max-width:760px){
  body.is-soft-transitioning .kow-support-banner{top:98px!important;}
}


/* ======================================================================
   KINGDOM OF WEB 5.6.16 — banner transition no-nudge fix
   The previous transition lock changed the banner's top value from its normal
   106px to 98px as soon as navigation started. Keep the exact resting position
   through the whole cover/reveal sequence instead.
   ====================================================================== */
body.is-soft-transitioning .kow-support-banner{
  top:106px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  animation:none!important;
  opacity:1!important;
  filter:none!important;
  transition:none!important;
}
body.is-soft-transitioning .kow-support-banner__inner,
body.is-soft-transitioning .kow-support-banner__inner:active,
body.is-soft-transitioning .kow-support-banner__inner:focus,
body.is-soft-transitioning .kow-support-banner__inner:focus-visible,
body.is-soft-transitioning .kow-support-banner__cta{
  transform:none!important;
  transition:none!important;
}
@media(max-width:980px){
  body.is-soft-transitioning .kow-support-banner{top:94px!important;}
}
@media(max-width:760px){
  body.is-soft-transitioning .kow-support-banner{top:92px!important;}
}


/* ======================================================================
   KINGDOM OF WEB 5.6.17 — selected-work typography + banner visual lock
   ====================================================================== */
body.home #work .kow-work-head h2{
  font-family:Manrope,Arial,sans-serif!important;
  font-weight:500!important;
  letter-spacing:-.065em!important;
  line-height:.88!important;
  font-size:clamp(58px,6.7vw,104px)!important;
}
@media(max-width:768px){
  body.home #work .kow-work-head h2{
    font-size:clamp(46px,12.6vw,64px)!important;
    letter-spacing:-.06em!important;
  }
}

/* The live banner never animates/presses vertically on interaction. The route
   script creates an exact fixed visual snapshot during navigation, so this
   element can disappear with the old page without any visible jump. */
.kow-support-banner,
.kow-support-banner__inner,
.kow-support-banner__inner:active,
.kow-support-banner__inner:focus,
.kow-support-banner__inner:focus-visible{
  translate:none!important;
}
.kow-support-banner__inner:active,
.kow-support-banner__inner:focus,
.kow-support-banner__inner:focus-visible{
  top:auto!important;
  margin-top:0!important;
}
.kow-support-banner--transition-ghost{
  position:fixed!important;
  margin:0!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  opacity:1!important;
  filter:none!important;
  pointer-events:none!important;
  z-index:9997!important;
}
.kow-support-banner--transition-ghost .kow-support-banner__inner,
.kow-support-banner--transition-ghost .kow-support-banner__cta,
.kow-support-banner--transition-ghost .kow-support-banner__status i,
.kow-support-banner--transition-ghost .kow-support-banner__sheen{
  animation:none!important;
  transition:none!important;
  transform:none!important;
}


/* ======================================================================
   KINGDOM OF WEB 5.6.18 — mobile hero portrait balance
   - Move the bull lower so the legs crop off on mobile portrait
   - Move the rotating subheading lower and make it slightly larger
   - Re-apply the portrait desktop-style hero authority more strongly
   ====================================================================== */
@media (max-width: 900px) and (orientation: portrait){
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    min-height:100svh!important;
    background:#050505!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:25.9%!important;
    width:min(94vw,760px)!important;
    z-index:4!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-stage{
    z-index:2!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    display:block!important;
    width:min(75vw,540px)!important;
    height:79svh!important;
    left:50%!important;
    bottom:-18.8%!important;
    transform:translateX(-50%)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze{
    opacity:.82!important;
    filter:saturate(.86) brightness(.99) contrast(1.12) drop-shadow(0 22px 44px rgba(0,0,0,.42))!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{
    opacity:.58!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{
    opacity:.90!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    display:block!important;
    width:160vw!important;
    height:48svh!important;
    left:50%!important;
    bottom:-4%!important;
    transform:translateX(-50%)!important;
    opacity:.44!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline-reveal{
    display:block!important;
    opacity:0!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-skyline-reveal{
    opacity:.96!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-flag{
    left:-12%!important;
    top:-4%!important;
    width:124%!important;
    height:108%!important;
    background-position:50% 50%!important;
    background-size:cover!important;
    opacity:.05!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-flag{
    opacity:.18!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:71.2%!important;
    left:50%!important;
    width:96vw!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    letter-spacing:.19em!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.19 — mobile subheading gap adjustment
   Move the rotating subheading slightly upward so it sits in the gap between
   the logo lockup and the top of the bull's head on mobile portrait.
   ====================================================================== */
@media (max-width: 900px) and (orientation: portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:69.5%!important;
    left:50%!important;
    width:94vw!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    letter-spacing:.19em!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.22 — Services / Contact hero lift
   Slightly raise the desktop hero compositions without touching mobile.
   ====================================================================== */
@media (min-width:901px){
  .kow-services-uow-hero,
  .kow-contact-match-hero{
    padding-top:clamp(132px,15.5vh,190px)!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.23 — clean mobile homepage composition
   Stop portrait inheriting the desktop-match positioning. The title, rotating
   line and bull now share one mobile geometry so they stay locked together.
   ====================================================================== */
@media (max-width:768px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-mina-hero{
    min-height:100svh!important;
    height:100svh!important;
  }

  /* Put the supplied KINGDOM OF WEB artwork back down where it sat before the
     portrait desktop-match experiment. */
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:27.2%!important;
    left:50%!important;
    width:92vw!important;
    max-width:none!important;
    transform:translate3d(-50%,0,0)!important;
    z-index:4!important;
  }

  /* Anchor the rotating line to the actual bottom of the wordmark instead of
     an unrelated hero percentage. 1448x580 artwork = ~36.85vw high at 92vw. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(27.2% + 36.85vw + 14px)!important;
    left:50%!important;
    width:94vw!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:.18em!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }

  /* Bull begins beneath that title/subheading group and runs off the bottom of
     the hero so the legs crop naturally instead of fighting the logo. */
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    display:block!important;
    top:calc(27.2% + 36.85vw + 58px)!important;
    bottom:auto!important;
    left:50%!important;
    width:80vw!important;
    max-width:520px!important;
    height:76svh!important;
    transform:translate3d(-50%,0,0)!important;
    object-fit:contain!important;
    object-position:center top!important;
  }

  /* Preserve the mobile skyline / flag / reveal treatment from the good mobile
     build; only the composition above is being corrected here. */
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline{
    width:196vw!important;
    height:43svh!important;
    left:50%!important;
    bottom:-1%!important;
    transform:translateX(-50%)!important;
  }
}

@media (max-width:430px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:27.8%!important;
    width:93vw!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(27.8% + 37.25vw + 13px)!important;
    width:96vw!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:14.5px!important;
    letter-spacing:.17em!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(27.8% + 37.25vw + 55px)!important;
    width:82vw!important;
    height:77svh!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.24 — mobile title/subheading lock
   Lower the KINGDOM OF WEB artwork and pin the rotating service line directly
   underneath it. The bull follows that group instead of overlapping it.
   ====================================================================== */
@media (max-width:768px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:30.0%!important;
    width:92vw!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(30.0% + 36.85vw + 1px)!important;
    width:95vw!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    letter-spacing:.18em!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(30.0% + 36.85vw + 48px)!important;
    width:80vw!important;
    height:76svh!important;
  }
}

@media (max-width:430px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:30.5%!important;
    width:93vw!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(30.5% + 37.25vw + 1px)!important;
    width:96vw!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:14.5px!important;
    letter-spacing:.17em!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(30.5% + 37.25vw + 46px)!important;
    width:82vw!important;
    height:77svh!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.25 — mobile stack safe defaults
   JS measures the exact positions; these are only the no-JS / first-paint
   fallback so the title is not glued to the banner while the script boots.
   ====================================================================== */
@media(max-width:768px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:31.5%!important;
    width:92vw!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:15px!important;
    letter-spacing:.18em!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.26 — mobile hero correction
   Keep the measured title/subheading placement, but do NOT let it pull the
   bull upward. The bull is pushed back down, the rotating line is a touch
   lower, and the type is materially larger on mobile.
   ====================================================================== */
@media(max-width:768px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:17px!important;
    line-height:1!important;
    letter-spacing:.15em!important;
    font-weight:700!important;
  }

  /* JS owns the exact top, this is the first-paint fallback. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(31.5% + 36.85vw + 12px)!important;
    width:96vw!important;
  }

  /* Safe fallback if JS is delayed: keep the animal visibly lower. */
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(31.5% + 36.85vw + 126px)!important;
    bottom:auto!important;
    width:80vw!important;
    height:76svh!important;
  }
}

@media(max-width:430px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text{
    font-size:16px!important;
    letter-spacing:.145em!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(31.5% + 37.25vw + 11px)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(31.5% + 37.25vw + 122px)!important;
    width:82vw!important;
    height:77svh!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.27 — phone landscape = desktop presentation
   IMPORTANT: the 5.6.26 portrait layout is frozen. These rules only execute
   when a phone is physically landscape.
   ====================================================================== */
@media (orientation:landscape) and (min-width:600px) and (max-height:540px){

  /* Make the phone's top-level shell present like desktop. */
  .kow-home-header{
    height:72px!important;
    min-height:72px!important;
  }
  .kow-home-wordmark{
    width:62px!important;
    height:62px!important;
    top:6px!important;
    left:24px!important;
  }
  .kow-home-desktop-nav{
    display:flex!important;
    top:17px!important;
    right:24px!important;
    gap:clamp(15px,2.2vw,24px)!important;
    font-size:7.5px!important;
    letter-spacing:.14em!important;
  }
  .kow-home-mobile-menu{
    display:none!important;
  }

  /* Desktop-style announcement proportions in landscape. */
  body.home .kow-support-banner{
    top:76px!important;
    width:min(78vw,1040px)!important;
    max-width:1040px!important;
  }
  body.home .kow-support-banner__inner{
    min-height:42px!important;
    padding:5px 7px 5px 12px!important;
    border-radius:999px!important;
  }
  body.home .kow-support-banner__status{
    display:inline-flex!important;
  }
  body.home .kow-support-banner__copy em{
    display:inline!important;
  }
  body.home .kow-support-banner__copy strong{
    font-size:7.5px!important;
  }
  body.home .kow-support-banner__copy em{
    font-size:7.2px!important;
  }
  body.home .kow-support-banner__cta{
    min-height:32px!important;
    padding:0 12px!important;
    font-size:7px!important;
  }

  /* Hero is the desktop composition, scaled to a landscape phone viewport. */
  body.home .kow-mina-hero{
    height:100svh!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#050505!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp,
  html[data-kow-layout="narrow"] body.home .kow-hero-word-warp,
  body.home .kow-hero-word-warp{
    display:block!important;
    left:50%!important;
    top:20.5%!important;
    width:min(72vw,900px)!important;
    aspect-ratio:1448/580!important;
    transform:translate3d(-50%,0,0)!important;
    z-index:4!important;
    opacity:1!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-bull,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull,
  body.home .kow-hero-bull{
    display:block!important;
    width:min(43vw,430px)!important;
    height:88svh!important;
    left:50%!important;
    top:auto!important;
    bottom:-10%!important;
    transform:translate3d(-50%,0,0)!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull-bronze{
    opacity:.80!important;
    filter:saturate(.85) brightness(.98) contrast(1.12) drop-shadow(0 22px 46px rgba(0,0,0,.44))!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze,
  html[data-kow-layout="narrow"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{
    opacity:.58!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical,
  html[data-kow-layout="narrow"] body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{
    opacity:.90!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-skyline,
  html[data-kow-layout="narrow"] body.home .kow-hero-skyline,
  body.home .kow-hero-skyline{
    display:block!important;
    width:126vw!important;
    height:69svh!important;
    left:50%!important;
    bottom:-3%!important;
    transform:translateX(-50%)!important;
    opacity:.46!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-flag,
  html[data-kow-layout="narrow"] body.home .kow-hero-flag{
    left:0!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    background-position:50% 50%!important;
    background-size:cover!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator,
  html[data-kow-layout="narrow"] body.home .kow-hero-subrotator,
  body.home .kow-hero-subrotator{
    display:block!important;
    left:50%!important;
    top:76.8%!important;
    width:min(90vw,760px)!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text,
  html[data-kow-layout="narrow"] body.home .kow-hero-subrotator-text{
    font-size:10px!important;
    letter-spacing:.26em!important;
  }

  body.home .kow-hero-bottom-meta{
    display:flex!important;
    z-index:7!important;
  }
}

/* Shorter landscape phones need the same desktop composition, just fractionally
   tighter vertically. Portrait is intentionally untouched. */
@media (orientation:landscape) and (min-width:600px) and (max-height:400px){
  body.home .kow-support-banner{top:70px!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp,
  html[data-kow-layout="narrow"] body.home .kow-hero-word-warp,
  body.home .kow-hero-word-warp{top:18.5%!important;width:69vw!important;}
  html[data-kow-layout="mobile"] body.home .kow-hero-bull,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull,
  body.home .kow-hero-bull{height:90svh!important;bottom:-13%!important;}
}


/* ======================================================================
   KINGDOM OF WEB 5.6.28 — portrait bull gap + landscape wordmark reliability
   PORTRAIT FREEZE: KINGDOM OF WEB and rotating subheading are untouched.
   ====================================================================== */

/* First-paint portrait fallback only: bull sits directly under the rotating line.
   The measured JS then locks the same relationship after layout settles. */
@media (max-width:768px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(31.5% + 36.85vw + 52px)!important;
    bottom:auto!important;
  }
}
@media (max-width:430px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(31.5% + 37.25vw + 50px)!important;
    bottom:auto!important;
  }
}

/* iOS landscape can leave the WebGL hero-word canvas blank after rotation while
   the stage remains .is-ready. In landscape use the exact supplied artwork as a
   guaranteed desktop-looking fallback instead of risking an invisible wordmark. */
@media (orientation:landscape) and (min-width:600px) and (max-height:540px){
  body.home .kow-hero-word-warp{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.home .kow-hero-word-warp canvas,
  body.home .kow-hero-word-warp.is-ready canvas{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  body.home .kow-hero-word-warp .kow-hero-word-fallback,
  body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.29 — frozen hero group lifted as one unit
   Keep the approved spacing between KINGDOM OF WEB, rotating line and bull.
   Only move that whole portrait composition upward toward the support banner.
   ====================================================================== */
@media(max-width:768px) and (orientation:portrait){
  /* First-paint fallback. Measured JS takes over immediately after layout. */
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:26.5%!important;
  }

  /* Internal spacing remains the approved 5.6.28 spacing. */
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(26.5% + 36.85vw + 12px)!important;
  }

  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(26.5% + 36.85vw + 50px)!important;
    bottom:auto!important;
  }
}

@media(max-width:430px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:27%!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(27% + 37.25vw + 12px)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(27% + 37.25vw + 50px)!important;
    bottom:auto!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.30 — landscape hero = desktop composition
   Portrait 5.6.29 is frozen.
   Landscape gets a reliable static wordmark layer, then the rotating line
   directly below it, with the bull sitting behind them like desktop.
   ====================================================================== */
@media (orientation:landscape) and (min-width:600px) and (max-height:540px){

  /* Guarantee the KINGDOM OF WEB artwork loads after rotation.
     Do not depend on the WebGL canvas or image decode state in landscape. */
  body.home .kow-hero-word-warp,
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp,
  html[data-kow-layout="narrow"] body.home .kow-hero-word-warp{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:20.5%!important;
    width:56vw!important;
    max-width:none!important;
    aspect-ratio:1448/580!important;
    height:auto!important;
    transform:translate3d(-50%,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:4!important;
    background-image:url('../img/hero-kingdom-of-web-5.5.96.png')!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:contain!important;
  }

  body.home .kow-hero-word-warp canvas,
  body.home .kow-hero-word-warp .kow-hero-word-fallback,
  body.home .kow-hero-word-warp.is-ready canvas,
  body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  /* Put the rotating line directly beneath the actual wordmark footprint. */
  body.home .kow-hero-subrotator,
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator,
  html[data-kow-layout="narrow"] body.home .kow-hero-subrotator{
    display:block!important;
    left:50%!important;
    top:calc(20.5% + 22.45vw + 8px)!important;
    width:72vw!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }

  body.home .kow-hero-subrotator-text,
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator-text,
  html[data-kow-layout="narrow"] body.home .kow-hero-subrotator-text{
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.24em!important;
  }

  /* Desktop-style bull: centred behind the title stack, not driving layout. */
  body.home .kow-hero-bull,
  html[data-kow-layout="mobile"] body.home .kow-hero-bull,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:auto!important;
    bottom:-13%!important;
    width:40vw!important;
    max-width:440px!important;
    height:90svh!important;
    transform:translate3d(-50%,0,0)!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }

  body.home .kow-hero-bull-bronze,
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-bronze,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull-bronze{
    opacity:.80!important;
  }

  body.home .kow-hero-bull-mechanical,
  html[data-kow-layout="mobile"] body.home .kow-hero-bull-mechanical,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull-mechanical{
    display:block!important;
    opacity:0!important;
  }

  body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-bronze{
    opacity:.58!important;
  }
  body.home .kow-mina-hero.is-hero-revealing .kow-hero-bull-mechanical{
    opacity:.90!important;
  }

  /* Keep the desktop skyline/reveal layering. */
  body.home .kow-hero-skyline,
  html[data-kow-layout="mobile"] body.home .kow-hero-skyline,
  html[data-kow-layout="narrow"] body.home .kow-hero-skyline{
    display:block!important;
    width:122vw!important;
    height:70svh!important;
    left:50%!important;
    bottom:-5%!important;
    transform:translateX(-50%)!important;
    opacity:.46!important;
  }
}

/* Extra-short iPhone landscape: same desktop look, slightly tighter. */
@media (orientation:landscape) and (min-width:600px) and (max-height:410px){
  body.home .kow-hero-word-warp,
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp,
  html[data-kow-layout="narrow"] body.home .kow-hero-word-warp{
    top:18%!important;
    width:54vw!important;
  }

  body.home .kow-hero-subrotator,
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator,
  html[data-kow-layout="narrow"] body.home .kow-hero-subrotator{
    top:calc(18% + 21.65vw + 7px)!important;
  }

  body.home .kow-hero-bull,
  html[data-kow-layout="mobile"] body.home .kow-hero-bull,
  html[data-kow-layout="narrow"] body.home .kow-hero-bull{
    width:39vw!important;
    height:92svh!important;
    bottom:-16%!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.33 — desktop-emulation persistence + mobile group lift
   Phone portrait spacing remains identical; the whole stack is simply closer
   to the banner. iPad/landscape desktop-emulation no longer hides chrome/hero
   layers as scroll state changes.
   ====================================================================== */

/* Desktop-emulation only: don't let the normal desktop hide-on-scroll behavior
   remove the nav/header on iPad or phone landscape. */
html[data-kow-desktop-emulation="1"] body .kow-home-header.is-hidden,
html[data-kow-desktop-emulation="1"] body .kow-global-header.is-hidden,
html[data-kow-desktop-emulation="1"] body #kow-header.is-hidden{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Keep the announcement and primary hero composition rendered while the hero
   itself is on screen. This does NOT pin the hero over later sections. */
html[data-kow-desktop-emulation="1"] body.home .kow-support-banner,
html[data-kow-desktop-emulation="1"] body.home .kow-mina-hero,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-bull-stage,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-bull,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-skyline,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-subrotator,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-bottom-meta{
  visibility:visible!important;
}

/* Wordmark stage/subheading must not be faded by stale rotation/scroll state. */
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-subrotator{
  opacity:1!important;
}

/* First-paint portrait fallback mirrors the measured JS lift. Internal spacing
   below the title remains unchanged from the approved build. */
@media(max-width:768px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:calc(26.5% - 58px)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(26.5% - 58px + 36.85vw + 12px)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(26.5% - 58px + 36.85vw + 50px)!important;
    bottom:auto!important;
  }
}
@media(max-width:430px) and (orientation:portrait){
  html[data-kow-layout="mobile"] body.home .kow-hero-word-warp{
    top:calc(27% - 58px)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-subrotator{
    top:calc(27% - 58px + 37.25vw + 12px)!important;
  }
  html[data-kow-layout="mobile"] body.home .kow-hero-bull{
    top:calc(27% - 58px + 37.25vw + 50px)!important;
    bottom:auto!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.34 — reliable wordmark in forced desktop view
   PHONE PORTRAIT: untouched.
   REAL DESKTOP: untouched.
   Only iPad/tablet + phone-landscape desktop-emulation uses this fallback.
   ====================================================================== */

/* iOS can keep the WebGL canvas in a blank/stale state after viewport
   emulation/rotation. In forced-desktop mode, use the exact supplied PNG
   inside the existing desktop wordmark box instead. No special landscape
   geometry: it inherits the REAL desktop wordmark size/position. */
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background:none!important;
}

html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp canvas,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp.is-ready canvas{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp .kow-hero-word-fallback,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* Do not allow stale load/transition classes to fade the main desktop-emulation
   hero stack after rotation or while scrolling inside the hero. */
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-fallback,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-subrotator,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-bull-stage,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-skyline{
  opacity:1!important;
  visibility:visible!important;
}


/* ======================================================================
   KINGDOM OF WEB 5.6.36 — FINAL BUSINESS SUPPORT BANNER AUTHORITY
   Scope: Home, Services, Contact only.
   No hero/mobile/desktop composition changes.
   ====================================================================== */

/* Restore the approved premium banner treatment and kill any inherited press/
   transition movement. The link already uses data-no-soft-nav, so navigation
   is a normal browser page load and the banner cannot jump during a soft nav. */
body.home .kow-support-banner,
body.page-template-page-services .kow-support-banner,
body.page-template-page-contact .kow-support-banner{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  filter:none!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  width:min(1040px,calc(100% - 112px))!important;
  max-width:1040px!important;
  transform:translateX(-50%)!important;
  translate:none!important;
  z-index:2000!important;
  pointer-events:none!important;
  animation:none!important;
  transition:none!important;
}

/* Homepage stays at the approved resting position. */
body.home .kow-support-banner{
  top:106px!important;
}

/* Services + Contact sit slightly higher so the pill clears the huge page
   heading instead of visually touching it. */
body.page-template-page-services .kow-support-banner,
body.page-template-page-contact .kow-support-banner{
  top:34px!important;
}

body.home .kow-support-banner__inner,
body.page-template-page-services .kow-support-banner__inner,
body.page-template-page-contact .kow-support-banner__inner{
  position:relative!important;
  width:100%!important;
  min-height:48px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  padding:7px 9px 7px 16px!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  color:#f2eee7!important;
  background:linear-gradient(105deg,rgba(17,17,17,.94),rgba(7,7,7,.91))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.34),inset 0 0 0 1px rgba(201,31,50,.035)!important;
  transform:none!important;
  translate:none!important;
  transition:none!important;
}

body.home .kow-support-banner__inner:active,
body.home .kow-support-banner__inner:focus,
body.home .kow-support-banner__inner:focus-visible,
body.page-template-page-services .kow-support-banner__inner:active,
body.page-template-page-services .kow-support-banner__inner:focus,
body.page-template-page-services .kow-support-banner__inner:focus-visible,
body.page-template-page-contact .kow-support-banner__inner:active,
body.page-template-page-contact .kow-support-banner__inner:focus,
body.page-template-page-contact .kow-support-banner__inner:focus-visible{
  transform:none!important;
  translate:none!important;
  top:auto!important;
  margin-top:0!important;
  outline:none!important;
}

body.home .kow-support-banner__cta,
body.page-template-page-services .kow-support-banner__cta,
body.page-template-page-contact .kow-support-banner__cta{
  transform:none!important;
  translate:none!important;
}

/* Tablet / compact desktop */
@media(max-width:980px){
  body.home .kow-support-banner{
    top:94px!important;
    width:calc(100% - 34px)!important;
  }
  body.page-template-page-services .kow-support-banner,
  body.page-template-page-contact .kow-support-banner{
    top:34px!important;
    width:calc(100% - 34px)!important;
  }
}

/* Phone portrait keeps the existing approved compact design; only route
   placement differs slightly so Services/Contact stay clear of their headings. */
@media(max-width:768px){
  body.home .kow-support-banner{
    top:96px!important;
    width:calc(100% - 24px)!important;
  }
  body.page-template-page-services .kow-support-banner,
  body.page-template-page-contact .kow-support-banner{
    top:76px!important;
    width:calc(100% - 24px)!important;
  }

  body.home .kow-support-banner__inner,
  body.page-template-page-services .kow-support-banner__inner,
  body.page-template-page-contact .kow-support-banner__inner{
    min-height:48px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    padding:7px 8px 7px 13px!important;
    border-radius:14px!important;
  }

  body.home .kow-support-banner__status,
  body.page-template-page-services .kow-support-banner__status,
  body.page-template-page-contact .kow-support-banner__status{
    display:none!important;
  }

  body.home .kow-support-banner__copy,
  body.page-template-page-services .kow-support-banner__copy,
  body.page-template-page-contact .kow-support-banner__copy{
    display:block!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  body.home .kow-support-banner__copy em,
  body.page-template-page-services .kow-support-banner__copy em,
  body.page-template-page-contact .kow-support-banner__copy em{
    display:none!important;
  }
}

@media(max-width:390px){
  body.home .kow-support-banner{top:92px!important;width:calc(100% - 18px)!important;}
  body.page-template-page-services .kow-support-banner,
  body.page-template-page-contact .kow-support-banner{
    top:72px!important;
    width:calc(100% - 18px)!important;
  }
}

/* Old transition-era top overrides are never allowed to move these banners. */
body.is-soft-transitioning.home .kow-support-banner{top:106px!important;}
body.is-soft-transitioning.page-template-page-services .kow-support-banner,
body.is-soft-transitioning.page-template-page-contact .kow-support-banner{top:34px!important;}


/* ======================================================================
   KINGDOM OF WEB 5.6.41 — TRUE ROUTE BANNER LOCK
   page-services.php and page-contact.php are WP hierarchy templates, not
   assigned Page Templates, so old body.page-template-* selectors could miss.
   Explicit banner context classes now own the geometry.
   ====================================================================== */

.kow-support-banner--services,
.kow-support-banner--contact{
  position:absolute!important;
  top:60px!important;
  left:50%!important;
  right:auto!important;
  width:min(1040px,calc(100% - 112px))!important;
  max-width:1040px!important;
  transform:translateX(-50%)!important;
  translate:none!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
  z-index:2000!important;
  pointer-events:none!important;
}

.kow-support-banner--services .kow-support-banner__inner,
.kow-support-banner--contact .kow-support-banner__inner,
.kow-support-banner--services .kow-support-banner__inner:active,
.kow-support-banner--services .kow-support-banner__inner:focus,
.kow-support-banner--services .kow-support-banner__inner:focus-visible,
.kow-support-banner--contact .kow-support-banner__inner:active,
.kow-support-banner--contact .kow-support-banner__inner:focus,
.kow-support-banner--contact .kow-support-banner__inner:focus-visible{
  transform:none!important;
  translate:none!important;
  top:auto!important;
  margin-top:0!important;
  transition:none!important;
}

body.is-soft-transitioning .kow-support-banner--services,
body.is-soft-transitioning .kow-support-banner--contact{
  top:60px!important;
  transform:translateX(-50%)!important;
  animation:none!important;
  transition:none!important;
}

/* Tablet/compact viewport keeps the same final vertical position. */
@media(max-width:980px){
  .kow-support-banner--services,
  .kow-support-banner--contact{
    top:60px!important;
    width:calc(100% - 34px)!important;
  }
}

/* Mobile route position remains deliberately lower; explicit class still means
   it is in the final position from first paint rather than snapping later. */
@media(max-width:768px){
  .kow-support-banner--services,
  .kow-support-banner--contact{
    top:76px!important;
    width:calc(100% - 24px)!important;
  }
}

@media(max-width:390px){
  .kow-support-banner--services,
  .kow-support-banner--contact{
    top:72px!important;
    width:calc(100% - 18px)!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.42 — TRADEFORM FLOATING CALL CTA
   Reproduces the actual TradeForm mobile phone CTA behaviour:
   - hidden on normal desktop
   - white fixed circular button on phones
   - also visible on short tablet/phone landscape
   ====================================================================== */

.kow-mobile-call{
  display:none;
}

/* Kingdom: keep the TradeForm visual CTA but make it available on the homepage
   at every viewport size, including desktop. */
body.home .kow-mobile-call{
  box-sizing:border-box!important;
  display:flex!important;
  position:fixed!important;
  z-index:10030!important;
  right:30px!important;
  bottom:30px!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#050607!important;
  text-decoration:none!important;
  box-shadow:0 0 0 10px rgba(255,255,255,.10),
             0 14px 32px rgba(0,0,0,.26)!important;
  transform:none!important;
  translate:none!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-tap-highlight-color:transparent!important;
  transition:transform .25s cubic-bezier(.22,1,.36,1),
             box-shadow .25s ease!important;
}
body.home .kow-mobile-call svg{
  display:block!important;
  width:23px!important;
  height:23px!important;
  flex:0 0 auto!important;
}
@media (hover:hover) and (pointer:fine){
  body.home .kow-mobile-call:hover{
    transform:translateY(-3px)!important;
    box-shadow:0 0 0 10px rgba(255,255,255,.12),
               0 18px 38px rgba(0,0,0,.32)!important;
  }
}
body.home .kow-mobile-call:active{
  transform:scale(.94)!important;
}

/* TradeForm's original phone / compact-landscape geometry refinements. */
@media (max-width:767px),
       (min-width:768px) and (max-width:1000px) and (max-height:600px){
  body.home .kow-mobile-call{
    box-sizing:border-box!important;
    display:flex!important;
    position:fixed!important;
    z-index:10030!important;
    right:28px!important;
    bottom:28px!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#050607!important;
    text-decoration:none!important;
    box-shadow:0 0 0 10px rgba(255,255,255,.10),
               0 14px 32px rgba(0,0,0,.26)!important;
    transform:none!important;
    translate:none!important;
    opacity:1!important;
    visibility:visible!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:transform .25s cubic-bezier(.22,1,.36,1),
               box-shadow .25s ease!important;
  }

  body.home .kow-mobile-call svg{
    display:block!important;
    width:23px!important;
    height:23px!important;
    flex:0 0 auto!important;
  }

  body.home .kow-mobile-call:active{
    transform:scale(.94)!important;
  }
}

/* Match the captured TradeForm phone geometry at <=600px. */
@media (max-width:600px){
  body.home .kow-mobile-call{
    right:32px!important;
    bottom:32px!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
  }
}

/* Match the narrow-phone TradeForm override. */
@media (max-width:390px){
  body.home .kow-mobile-call{
    right:24px!important;
    bottom:24px!important;
    width:56px!important;
    height:56px!important;
  }
}

/* Never leak onto another route after Kingdom's soft navigation updates body class. */
body:not(.home) .kow-mobile-call{
  display:none!important;
}


/* ======================================================================
   KINGDOM OF WEB 5.6.46 — SIMPLE FULL-WIDTH COOKIE BAR
   Inspired by a conventional single-line website cookie notice.
   Full-width at the bottom, restrained, no card/popup styling.
   The detailed Settings modal remains unchanged.
   ====================================================================== */

.kow-cookie-consent{
  z-index:2147481000!important;
}

/* Banner only — do not affect the settings modal. */
.kow-cookie-consent:not(.is-managing) .kow-cookie-banner{
  box-sizing:border-box!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:52px!important;
  margin:0!important;
  padding:9px clamp(18px,3vw,46px)!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;

  border:0!important;
  border-top:1px solid rgba(0,0,0,.12)!important;
  border-radius:0!important;
  background:#f6f4ef!important;
  box-shadow:0 -6px 22px rgba(0,0,0,.10)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;

  color:#111!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-width:0!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy h2,
.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-links{
  display:none!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy p{
  max-width:none!important;
  margin:0!important;
  color:#171717!important;
  font:500 12px/1.35 Manrope,Arial,sans-serif!important;
  letter-spacing:0!important;
  white-space:normal!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-privacy-link{
  flex:0 0 auto!important;
  color:#5b5b5b!important;
  font:600 11px/1 Manrope,Arial,sans-serif!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  transition:color .18s ease!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-privacy-link:hover{
  color:#111!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  min-width:0!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions button{
  appearance:none!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 14px!important;
  margin:0!important;
  border:1px solid #c9c7c2!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#111!important;
  font:700 10px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  transform:none!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions button:hover{
  transform:none!important;
  border-color:#111!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions .is-primary{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions .is-primary:hover{
  background:#c91f32!important;
  border-color:#c91f32!important;
  color:#fff!important;
}

.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions .is-text{
  min-height:34px!important;
  height:34px!important;
  padding:0 10px!important;
  border:0!important;
  background:transparent!important;
  color:#555!important;
}

/* Mobile: still full-width at the bottom. Copy sits above one compact row
   of controls rather than turning back into a floating card. */
@media(max-width:700px){
  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:0!important;
    padding:12px 14px max(12px,env(safe-area-inset-bottom))!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    border-radius:0!important;
  }

  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:8px!important;
  }

  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy p{
    font-size:11px!important;
    line-height:1.4!important;
  }

  .kow-cookie-consent:not(.is-managing) .kow-cookie-privacy-link{
    font-size:10px!important;
    margin-top:2px!important;
  }

  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr auto!important;
    gap:7px!important;
  }

  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions button,
  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions .is-text{
    width:100%!important;
    min-height:36px!important;
    height:36px!important;
    padding:0 10px!important;
    font-size:9px!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.47 — THIN DISMISSIBLE COOKIE STRIP
   ====================================================================== */
.kow-cookie-consent:not(.is-managing) .kow-cookie-banner{
  box-sizing:border-box!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:34px!important;
  height:auto!important;
  margin:0!important;
  padding:7px 42px 7px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-top:1px solid rgba(0,0,0,.10)!important;
  border-radius:0!important;
  background:#f7f7f5!important;
  box-shadow:0 -2px 10px rgba(0,0,0,.06)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#111!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy{
  display:block!important;
  min-width:0!important;
  margin:0!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy p{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  color:#171717!important;
  font:500 11px/1.3 Manrope,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-align:center!important;
  white-space:normal!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-privacy-link{
  display:inline!important;
  margin-left:4px!important;
  color:#555!important;
  font:600 11px/1.3 Manrope,Arial,sans-serif!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-banner-actions{
  display:none!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-close{
  appearance:none!important;
  position:absolute!important;
  top:50%!important;
  right:15px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
  color:#444!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:background .15s ease,color .15s ease!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-close:hover{
  transform:translateY(-50%)!important;
  background:rgba(0,0,0,.06)!important;
  color:#000!important;
}
.kow-cookie-consent:not(.is-managing) .kow-cookie-close svg{
  display:block!important;
  width:14px!important;
  height:14px!important;
}
@media(max-width:700px){
  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:38px!important;
    padding:7px 40px 7px 12px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    border-radius:0!important;
  }
  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy{
    display:block!important;
    width:100%!important;
  }
  .kow-cookie-consent:not(.is-managing) .kow-cookie-banner-copy p{
    font-size:10px!important;
    line-height:1.35!important;
    text-align:center!important;
  }
  .kow-cookie-consent:not(.is-managing) .kow-cookie-privacy-link{
    font-size:10px!important;
  }
  .kow-cookie-consent:not(.is-managing) .kow-cookie-close{
    right:10px!important;
  }
}


/* ======================================================================
   KINGDOM OF WEB 5.6.48 — RESPONSIVE PREVIEW / DEVICE PARITY
   Desktop: liquid WebGL wordmark remains.
   Phone + tablet + forced desktop emulation: exact static hero PNG.
   This makes physical devices, Chrome DevTools and WP Customizer deterministic.
   ====================================================================== */

/* Phone / narrow tablet: never let stale WebGL readiness hide the real asset. */
html[data-kow-layout="mobile"] body.home .kow-hero-word-warp canvas,
html[data-kow-layout="narrow"] body.home .kow-hero-word-warp canvas,
html[data-kow-layout="mobile"] body.home .kow-hero-word-warp.is-ready canvas,
html[data-kow-layout="narrow"] body.home .kow-hero-word-warp.is-ready canvas{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

html[data-kow-layout="mobile"] body.home .kow-hero-word-warp .kow-hero-word-fallback,
html[data-kow-layout="narrow"] body.home .kow-hero-word-warp .kow-hero-word-fallback,
html[data-kow-layout="mobile"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback,
html[data-kow-layout="narrow"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* iPad / compact-tablet desktop emulation gets the same guaranteed PNG. */
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp canvas,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp.is-ready canvas{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp .kow-hero-word-fallback,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}



/* ======================================================================
   KINGDOM OF WEB 5.6.49 — MOBILE GEOMETRY FROZEN
   No mobile hero height/position/spacing overrides are introduced here.
   5.6.48's preview-only min-height experiment was removed because it could
   affect real phones as well as the WordPress Customizer.
   ====================================================================== */


/* ======================================================================
   KINGDOM OF WEB 5.6.51 — HERO EFFECTS RESTORED ON EVERY CAPABLE DEVICE
   NO layout/geometry changes.
   Phone = approved mobile layout.
   iPad/tablet = desktop composition.
   Desktop = desktop composition.
   The liquid KINGDOM OF WEB canvas now runs on all of them.
   ====================================================================== */

/* Default progressive state: image is immediately visible while WebGL loads. */
html[data-kow-layout] body.home .kow-hero-word-warp canvas,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp canvas{
  display:block!important;
  visibility:visible!important;
  opacity:0!important;
}

html[data-kow-layout] body.home .kow-hero-word-warp .kow-hero-word-fallback,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp .kow-hero-word-fallback{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Once the WebGL texture/program is actually ready, reveal the effect.
   These selectors deliberately outrank the old phone/iPad static-fallback
   safeguards without changing any hero dimensions or placement. */
html[data-kow-layout] body.home .kow-hero-word-warp.is-ready canvas,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp.is-ready canvas{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

html[data-kow-layout] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback,
html[data-kow-desktop-emulation="1"] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
  display:block!important;
  visibility:visible!important;
  opacity:0!important;
}

/* Old short-landscape fallback rules must not disable the effect either. */
@media (orientation:landscape) and (min-width:600px) and (max-height:540px){
  html[data-kow-layout] body.home .kow-hero-word-warp canvas{
    display:block!important;
    visibility:visible!important;
    opacity:0!important;
  }
  html[data-kow-layout] body.home .kow-hero-word-warp.is-ready canvas{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  html[data-kow-layout] body.home .kow-hero-word-warp .kow-hero-word-fallback{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  html[data-kow-layout] body.home .kow-hero-word-warp.is-ready .kow-hero-word-fallback{
    opacity:0!important;
  }
}


/* 5.6.54 — force Website Development onto two lines on phones only. */
.kow-webdev-mobile-break{display:none;}
@media(max-width:680px){
  .kow-detail-page[data-detail-page="website-builds"] .kow-detail-hero h1{
    white-space:normal!important;
    text-wrap:wrap!important;
    font-size:clamp(43px,13.4vw,72px)!important;
    line-height:.82!important;
  }
  .kow-detail-page[data-detail-page="website-builds"] .kow-webdev-space{display:none!important;}
  .kow-detail-page[data-detail-page="website-builds"] .kow-webdev-mobile-break{display:block!important;}
}
