/*
Theme Name: Kiros UK
Theme URI: https://kirosconsult.co.uk/
Author: Kirosconsult
Author URI: https://kirosconsult.co.uk/
Description: Bespoke theme for Kirosconsult .co.uk — "Studio Cobalt". Built for speed, WCAG 2.2 AA in both themes, and verified search indexing.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: Proprietary
Text Domain: kiros-uk
*/

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
body{margin:0;min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:999;padding:.85rem 1.25rem;background:var(--fg);color:var(--bg);font-weight:700;text-decoration:none}
.skip:focus{left:.5rem;top:.5rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:min(1200px,calc(100% - 2.5rem));margin-inline:auto}
.tabular{font-variant-numeric:tabular-nums}
/* Real button, fixed, never a bare anchor */
.to-top{position:fixed;right:1rem;bottom:1rem;z-index:80;width:46px;height:46px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.to-top[data-show="1"]{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--fg);color:var(--bg)}
.theme-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);
  background:transparent;color:var(--fg);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.theme-btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.theme-btn .i-sun{display:none}
[data-theme="dark"] .theme-btn .i-sun{display:block}
[data-theme="dark"] .theme-btn .i-moon{display:none}
[hidden]{display:none !important}
[data-reveal="on"] .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
[data-reveal="on"] .reveal[data-seen="1"]{opacity:1;transform:none}
:root{
  --bg:#FBFAF8; --surface:#FFFFFF; --surface-2:#F2F1ED; --fg:#0E0E12; --fg-2:#55555F;
  --line:#E2E0DA; --line-strong:#C8C5BD;
  --accent:#2438CE; --accent-fg:#FFFFFF; --accent-soft:#E8EAFB;
  --accent-2:#B0400A; --focus:#2438CE;
  --shadow:0 1px 2px rgba(14,14,18,.05), 0 18px 44px -22px rgba(14,14,18,.3);
  --radius:2px; --radius-lg:2px;
  --display:'Instrument Serif',Georgia,'Times New Roman',serif;
  --body:'Inter',ui-sans-serif,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
:root[data-theme="dark"]{
  --bg:#0A0A0F; --surface:#121220; --surface-2:#1A1A2B; --fg:#F5F4F1; --fg-2:#A4A4B4;
  --line:#25253A; --line-strong:#3A3A55;
  --accent:#93A2FF; --accent-fg:#0A0A0F; --accent-soft:#161B3A;
  --accent-2:#FDBA74; --focus:#93A2FF;
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 20px 48px -24px rgba(0,0,0,.85);
}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.68}
h1,h2,h3,h4{margin:0;font-weight:400}
h1,h2{font-family:var(--display);letter-spacing:-.02em;line-height:1.02}
h1{font-size:clamp(3rem,7.4vw,6rem)}
h2{font-size:clamp(2.2rem,4.8vw,3.9rem)}
h3{font-family:var(--body);font-weight:600;font-size:clamp(1.08rem,1.6vw,1.28rem);letter-spacing:-.01em;line-height:1.3}
em{font-family:var(--display);font-style:italic;color:var(--accent)}
p{margin:0 0 1.1em}
.kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);
  margin:0 0 1.4rem;display:block;padding-bottom:.7rem;border-bottom:1px solid var(--line-strong)}
.lede{font-size:clamp(1.08rem,1.55vw,1.3rem);color:var(--fg-2);max-width:60ch;line-height:1.62}
.sec{padding:clamp(4.5rem,9vw,8.5rem) 0}
.sec--line{border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.6rem;border-radius:var(--radius);
  font-weight:600;font-size:.93rem;text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;min-height:48px}
.btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.btn--primary:hover{transform:translateY(-2px)}
.btn--ghost{border-color:var(--fg);color:var(--fg);background:transparent}
.btn--ghost:hover{background:var(--fg);color:var(--bg)}
.card{background:var(--surface);border:1px solid var(--line);padding:1.8rem;
  transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,box-shadow .22s ease}
.card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}
.num{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--accent);display:block;margin-bottom:.6rem}
.rule{height:1px;background:var(--line);border:0;margin:0}
.spec{width:100%;border-collapse:collapse;font-size:.92rem}
.spec th{text-align:left;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-2);font-weight:500;padding:.7rem 1rem;border-bottom:1px solid var(--fg);white-space:nowrap}
.spec td{padding:.95rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.spec tr:hover td{background:var(--surface-2)}
.site-head{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:1.2rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;letter-spacing:-.02em;font-size:1.06rem;margin-right:auto}
.brand-mark{width:30px;height:30px;border-radius:6px;background:var(--fg);color:var(--bg);display:grid;place-items:center;
  font-family:var(--display);font-weight:800;font-size:1rem}
.brand-tld{font-family:var(--mono);font-size:.66rem;color:var(--fg-2);letter-spacing:.06em;
  border:1px solid var(--line-strong);padding:.16rem .4rem;border-radius:3px}
#primary-nav{display:flex;align-items:center;gap:.35rem}
#primary-nav a{padding:.55rem .7rem;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--fg-2);
  border-radius:var(--radius);transition:color .18s ease,background .18s ease}
#primary-nav a:hover{color:var(--fg);background:var(--surface-2)}
#primary-nav a[aria-current="page"]{color:var(--fg);font-weight:600}
.head-cta{display:flex;align-items:center;gap:.6rem}
.nav-toggle{display:none;width:44px;height:44px;place-items:center;border:1px solid var(--line);background:transparent;
  border-radius:var(--radius);cursor:pointer;color:var(--fg)}
@media (max-width:1000px){
  .nav-toggle{display:grid}
  #primary-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1.25rem;display:none}
  #primary-nav[data-open="true"]{display:flex}
  #primary-nav a{padding:.9rem .4rem;border-bottom:1px solid var(--line);border-radius:0}
  .head-cta .btn{display:none}
}
.grid{display:grid;gap:1.25rem}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:940px){.g-3,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.hd{max-width:70ch;margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.ico{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);
  color:var(--accent);margin-bottom:1.1rem;background:var(--accent-soft)}
.pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.4rem .7rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--fg-2)}
.chk{list-style:none;padding:0;margin:0;display:grid;gap:.72rem}
.chk li{display:grid;grid-template-columns:20px 1fr;gap:.7rem;align-items:start;font-size:.94rem;line-height:1.5}
.chk li svg{color:var(--accent);margin-top:.24rem}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start}
@media (max-width:940px){.price-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
.plan{background:var(--surface);border:1px solid var(--line);padding:1.9rem;display:flex;flex-direction:column;gap:1.1rem;
  border-radius:var(--radius-lg)}
.plan-tag{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-2);font-weight:500}
.plan--pop{border-color:var(--accent);border-width:2px;position:relative}
.plan--pop::before{content:"Most chosen";position:absolute;top:-.75rem;left:1.9rem;background:var(--accent);color:var(--accent-fg);
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.28rem .6rem;border-radius:3px}
.plan-price{font-family:var(--display);font-size:clamp(2.5rem,5vw,3.4rem);line-height:1;letter-spacing:-.03em}
.plan-price small{font-family:var(--body);font-size:.9rem;font-weight:500;color:var(--fg-2);letter-spacing:0}
.plan .btn{width:100%;justify-content:center}
.stat{border-left:2px solid var(--accent);padding-left:1.1rem}
.stat b{display:block;font-family:var(--display);font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1;letter-spacing:-.03em}
.stat span{font-size:.86rem;color:var(--fg-2)}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:.9rem 0;background:var(--surface-2)}
.marquee-in{display:flex;gap:2.6rem;width:max-content;animation:slide 42s linear infinite}
.marquee span{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);white-space:nowrap}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee-in{animation:none;flex-wrap:wrap;width:auto}}
details{border-bottom:1px solid var(--line)}
details summary{cursor:pointer;padding:1.25rem 2.5rem 1.25rem 0;font-weight:600;font-size:1.02rem;position:relative;list-style:none;min-height:48px;display:flex;align-items:center}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";position:absolute;right:.4rem;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:1.4rem;color:var(--accent);line-height:1}
details[open] summary::after{content:"\2212"}
details .ans{padding:0 2.5rem 1.4rem 0;color:var(--fg-2);max-width:76ch;font-size:.96rem}
.tabl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg)}
.site-foot{border-top:1px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem;background:var(--surface-2)}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2.2rem}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);margin:0 0 1rem;font-weight:500}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;font-size:.9rem}
.foot-grid a{color:var(--fg-2);text-decoration:none}
.foot-grid a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.foot-bot{margin-top:2.8rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem;
  justify-content:space-between;align-items:center;font-size:.82rem;color:var(--fg-2)}
.foot-bot a{color:var(--fg-2)}
.credit{font-weight:600;color:var(--fg)}
.form-row{display:grid;gap:.4rem;margin-bottom:1.1rem}
.form-row label{font-size:.84rem;font-weight:600}
.form-row .hint{font-size:.78rem;color:var(--fg-2)}
.form-row input,.form-row select,.form-row textarea{padding:.8rem .9rem;border:1px solid var(--line-strong);
  border-radius:var(--radius);background:var(--surface);min-height:48px;width:100%}
.form-row textarea{min-height:130px;resize:vertical}
.note{background:var(--accent-soft);border:1px solid var(--accent);padding:1rem 1.1rem;border-radius:var(--radius);font-size:.9rem}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.bento > *{grid-column:span 1}
.bento .b-2{grid-column:span 2}
.bento .b-3{grid-column:span 3}
@media (max-width:940px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento .b-3,.bento .b-2{grid-column:span 2}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bento .b-3,.bento .b-2{grid-column:span 1}}
.hl{color:var(--accent)}
.hero-za h1{margin-bottom:2.6rem}
.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:start;
  border-top:1px solid var(--line);padding-top:2.2rem}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-side{display:grid;gap:1.6rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem}
.hero-uk-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media (max-width:900px){.hero-uk-grid{grid-template-columns:1fr}}
.hero-uk h1{margin-bottom:1.6rem}
.hero-card{background:var(--surface);border:1px solid var(--line);padding:2rem;display:grid;gap:1rem;box-shadow:var(--shadow)}
.hero-card .plan-price{margin:0}
.svc-list{display:grid;gap:0;border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:auto 1fr 1.3fr;gap:clamp(1rem,3vw,2.5rem);padding:2rem 0;
  border-bottom:1px solid var(--line);align-items:start;transition:background .2s ease}
.svc-row:hover{background:var(--surface-2)}
@media (max-width:800px){.svc-row{grid-template-columns:1fr;gap:.8rem}}
.svc-row .ico{margin:0}
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
@media (max-width:820px){.proof{grid-template-columns:repeat(2,1fr);gap:2rem}}
@media (max-width:460px){.proof{grid-template-columns:1fr}}
.cta-band{background:var(--fg);color:var(--bg);padding:clamp(3rem,7vw,5.5rem) 0;text-align:center}
.cta-band h2{color:var(--bg)}
.cta-band p{color:var(--bg);opacity:.82;max-width:56ch;margin-inline:auto}
.cta-band .btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.cta-band .btn--ghost{border-color:var(--bg);color:var(--bg)}
.cta-band .btn--ghost:hover{background:var(--bg);color:var(--fg)}
.deep{display:grid;gap:1.25rem}
.deep-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(2rem,4vw,3rem);
  border:1px solid var(--line);background:var(--surface);align-items:start;border-radius:var(--radius-lg)}
@media (max-width:840px){.deep-row{grid-template-columns:1fr}}
.deep-row:nth-child(even){background:var(--surface-2)}
.cta-band{background:var(--fg);color:var(--bg);padding:clamp(3rem,7vw,5rem) 0;text-align:center}
.cta-band p{color:var(--bg);opacity:.82;max-width:58ch;margin-inline:auto}
.dns{font-family:var(--mono);font-size:.8rem;background:var(--surface-2);border:1px solid var(--line);
  padding:1rem 1.1rem;border-radius:var(--radius);overflow-x:auto;white-space:pre;line-height:1.7;margin:0}
.win{color:var(--accent);font-weight:700}
.plan{min-height:100%}
.flag{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.c-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:880px){.c-grid{grid-template-columns:1fr}}
.c-line{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.94rem}
.c-line svg{color:var(--accent);margin-top:.2rem;flex:none}
.legal{max-width:74ch}
.legal h2{font-size:clamp(1.3rem,2.4vw,1.75rem);margin:2.6rem 0 .8rem}
.legal p{color:var(--fg-2)}
