/*
Theme Name: Nyxr
Theme URI: https://akaccountancy.co.uk
Author: AK Accountancy
Description: Nyxr is a fast, fully customisable WordPress theme for payroll and accountancy practices. Astra-style Customizer panels for global typography, colours, layout, buttons, header, logo builder, hero and footer. Works with Elementor and the Nyxr Core plugin.
Version: 1.2.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neva
Tags: custom-colors, custom-logo, custom-menu, featured-images, full-width-template, theme-options, translation-ready, accessibility-ready
*/
:root{--or:#e8591a;--od:#c9480f;--ch:#3a3a38;--tx:#3a3a38;--hd:#3a3a38;--lk:#e8591a;--lu:none;--tint:#fdece3;--cr:#fbf7f3;--mut:#6b6865;--bd:#eadfd6;
--hb:#3a3a38;--fbg:#3a3a38;--ft:#d8d4d0;--fhc:#fff;--mc:#f1ede9;--mh:#ff8a52;--mfs:15px;--mgap:26px;--mw:600;--mtt:none;--mls:0;--hh:76px;
--pb:rgba(255,255,255,.08);--pt:#fff;--pbd:rgba(255,255,255,.4);
--fh:"Outfit",system-ui,sans-serif;--fb:"DM Sans",system-ui,sans-serif;--fs:16px;--lhg:1.7;--bw:400;--hw:600;--hls:-.02em;--htt:none;
--sw:1320px;--gut:clamp(18px,4vw,56px);--sp:96px;--br:999px;--bpy:13px;--bpx:26px;--bfw:700;
--lh0:30px;--lh:var(--lh0);--h1s:59px;--h2s:38px;--h3s:18px;--gap:22px;--mfm:17px;--hposy:100%;--hpy:64px;--hh1:59px;--fpy:64px;--flh:26px;--hfilter:none;--htint:#e8591a;--htinto:0;--lgap:12px;--lcap:.7;--lsz:1;--lls:.18em;--lw:600;--lf:var(--fh);--ltc:#fff;--lac:#fff;--lny:0px;
--hbg1:#fff;--hbg2:#fbf7f3;--hglow:rgba(232,89,26,.12);--hmh:640px;--hiw:60%;--his:1.14;--hpos:30%;--hfade:30%}
html{font-size:var(--fs);scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--tx);font:var(--bw) 1rem/var(--lhg) var(--fb);-webkit-font-smoothing:antialiased}
:where(a){color:inherit;text-decoration:none}:where(img){max-width:100%;height:auto}
.neva-entry a,.legal a{color:var(--lk);text-decoration:var(--lu)}
.w{width:100%;max-width:var(--sw);margin:auto;padding:0 var(--gut)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--hb);border-bottom:1px solid rgba(255,255,255,.08);z-index:50}
.nav{display:flex;align-items:center;gap:20px;height:var(--hh)}
.logo{display:inline-flex;align-items:center;gap:var(--lgap);flex:none;color:var(--ltc);line-height:1}
.lg-ic,.lgi{height:var(--lh);width:auto;max-width:none;display:block}
.lg-tx{font-family:var(--lf);font-weight:var(--lw);font-size:var(--lts,calc(var(--lh) * var(--lsz) / var(--lcap)));letter-spacing:var(--lls);margin-right:calc(var(--lls) * -1);color:var(--ltc);text-transform:uppercase;line-height:1;white-space:nowrap;transform:translateY(var(--lny))}
.lg-a{color:var(--lac)}
.custom-logo-link{display:block}.custom-logo{height:var(--lh);width:auto;display:block}
#nv{display:flex;align-items:center;flex:1 0 auto;justify-content:flex-end}
.nv-links{display:flex;align-items:center;gap:clamp(10px,1.8vw,var(--mgap));white-space:nowrap;margin-left:auto}
.neva-menu-center .nv-links{margin:0 auto}
.nv-actions{display:flex;align-items:center;gap:10px;margin-left:clamp(12px,1.8vw,28px)}
#nv a{color:var(--mc);font-weight:var(--mw);font-size:clamp(12px,calc(.85vw + 5px),var(--mfs));text-transform:var(--mtt);letter-spacing:var(--mls);padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
#nv .nv-links a:hover,#nv .nv-links a.on{color:var(--mh);border-color:var(--mh)}
#nv a.btn{padding:9px 20px;font-size:.85rem;text-transform:none;letter-spacing:0;border-width:2px;color:#fff}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);border-radius:12px;width:46px;height:46px;cursor:pointer;color:var(--mc);padding:0;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:.25s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:29px}
.burger[aria-expanded=true] span:nth-child(1){top:22px;transform:rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){top:22px;transform:rotate(-45deg)}
#nv a.nv-portal{display:inline-flex;align-items:center;gap:10px;padding:7px 20px 7px 7px;border:1.5px solid var(--pbd);border-radius:999px;background:var(--pb);color:var(--pt);font:600 .88rem var(--fb);letter-spacing:.03em;line-height:1;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
#nv a.nv-portal .pi{width:30px;height:30px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center;flex:none;transition:.25s}
#nv a.nv-portal .pi svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#nv a.nv-portal:hover{background:var(--or);border-color:var(--or);color:#fff;transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.28)}
#nv a.nv-portal:hover .pi{background:#fff;color:var(--or)}#nv a.nv-portal--filled .pi{background:#fff;color:var(--or)}
.neva-nosticky .site-header{position:relative}.neva-noborder .site-header{border-bottom:0}
body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--or);color:#fff!important;padding:var(--bpy) var(--bpx);border-radius:var(--br);font:var(--bfw) .95rem var(--fb);border:2px solid var(--or);cursor:pointer;transition:.2s;text-align:center}
.btn:hover{background:var(--od);border-color:var(--od)}.btn.o{background:none;color:var(--or)!important}.btn.o:hover{background:var(--tint)}
.btn.s{padding:9px 18px;font-size:.85rem}.btn.d{background:var(--ch);border-color:var(--ch)}

/* ---------- Hero ---------- */
.hero{background:radial-gradient(900px 480px at 6% 15%,var(--hglow),transparent 60%),linear-gradient(180deg,var(--hbg1),var(--hbg2));overflow:hidden}
.hh{position:relative;min-height:var(--hmh);display:flex;align-items:center;isolation:isolate}
.hh .w{position:relative;z-index:3}.ht{max-width:min(580px,46%);padding:var(--hpy) 0}
.hh h1{font-size:var(--hh1)}
.hp{position:absolute;right:0;top:0;bottom:0;width:var(--hiw);z-index:1;overflow:hidden}
.hp img{width:100%;height:100%;object-fit:cover;object-position:var(--hpos) var(--hposy);filter:var(--hfilter);mix-blend-mode:multiply;transform:scale(var(--his));transform-origin:var(--hpos) var(--hposy);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--hfade));mask-image:linear-gradient(90deg,transparent 0,#000 var(--hfade))}
.hp:after{content:"";position:absolute;inset:0;background:var(--htint);opacity:var(--htinto);mix-blend-mode:color;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--hfade));mask-image:linear-gradient(90deg,transparent 0,#000 var(--hfade))}
/* layouts */
.hero--left .hp{right:auto;left:0}.hero--left .ht{margin-left:auto}
.hero--left .hp img,.hero--left .hp:after{-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 var(--hfade));mask-image:linear-gradient(270deg,transparent 0,#000 var(--hfade))}
.hero--left .hp img{transform-origin:calc(100% - var(--hpos)) var(--hposy)}
.hero--center .ht{margin:0 auto;text-align:center;max-width:780px}.hero--center .row,.hero--center .stats{justify-content:center}
.hero--center .hp{width:100%;opacity:.4}.hero--center .hp img,.hero--center .hp:after{-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent);mask-image:linear-gradient(180deg,#000 30%,transparent)}
.hero--bg .hp{width:100%}.hero--bg .hp img,.hero--bg .hp:after{-webkit-mask-image:none;mask-image:none}
.hero--bg:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--hbg2) 28%,transparent 78%)}
.hero--stack{display:block;min-height:0}.hero--stack .ht{margin:0 auto;text-align:center;max-width:780px}.hero--stack .row,.hero--stack .stats{justify-content:center}
.hero--stack .hp{position:relative;width:100%;height:auto}.hero--stack .hp img{height:auto;transform:none;object-fit:initial;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 20%);mask-image:linear-gradient(180deg,transparent 0,#000 20%)}
.g2{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,4vw,64px);align-items:center}
@media(max-width:900px){.g2{grid-template-columns:1fr}.rev>:first-child{order:2}}
.hero .g2{padding:clamp(36px,6vw,80px) 0}
.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(14px,3vw,34px);margin-top:28px}
.stats b{display:block;font-size:1.7rem;color:var(--or);font-weight:800;line-height:1.2;font-family:var(--fh)}.stats span{font-size:.82rem;color:var(--mut)}
@media(max-width:560px){.stats{gap:12px;justify-content:space-between}.stats b{font-size:1.3rem}.stats span{font-size:.7rem;display:block;line-height:1.3}}

/* ---------- Typography ---------- */
:where(h1,h2,h3,h4){font-family:var(--fh);color:var(--hd);font-weight:var(--hw);letter-spacing:var(--hls);text-transform:var(--htt)}
:where(h1){font-size:var(--h1s);line-height:1.08;margin:0 0 18px}h1 span,h2 span{color:var(--or)}
:where(h2){font-size:var(--h2s);line-height:1.2;margin:0 0 12px}:where(h3){margin:0 0 6px;font-size:var(--h3s)}:where(p){margin:0 0 14px}
.mut{color:var(--mut)}.lead{font-size:1.12rem;color:var(--mut)}.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.eyebrow{display:inline-block;color:var(--or);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}

/* ---------- Sections and grids ---------- */
.neva-sec{padding:var(--sp) 0}.alt{background:var(--cr)}
.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}
@media(max-width:639px){.grid{grid-template-columns:1fr}}
@media(min-width:640px){.grid:has(>:nth-child(2):last-child),.grid:has(>:nth-child(4):last-child),.grid:has(>:nth-child(6):last-child),.grid:has(>:nth-child(8):last-child){grid-template-columns:repeat(2,1fr)}}
@media(min-width:640px) and (max-width:899px){.grid:has(>:nth-child(3):last-child){grid-template-columns:1fr}}
@media(min-width:900px){.grid:has(>:nth-child(3):last-child),.grid:has(>:nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.grid:has(>:nth-child(4):last-child),.grid:has(>:nth-child(8):last-child){grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid var(--bd);border-radius:20px;padding:26px;transition:.25s}
a.card:hover,.card:hover{box-shadow:0 14px 34px rgba(58,58,56,.09);transform:translateY(-3px)}
.card p{margin:0;color:var(--mut);font-size:.95rem}
.ic{width:46px;height:46px;border-radius:14px;background:var(--tint);color:var(--or);display:grid;place-items:center;margin-bottom:14px}.ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.chips span{border:1px solid var(--bd);background:#fff;border-radius:999px;padding:8px 18px;font-weight:600;font-size:.9rem}
.strip{background:var(--ch);color:#fff;padding:26px 0}.strip .w{display:flex;gap:14px 30px;flex-wrap:wrap;justify-content:center;align-items:center;font-weight:600;font-size:.92rem}.strip i{font-style:normal;color:#f7a47c}
.art{width:100%;border-radius:24px;background:var(--cr)}
.steps{counter-reset:s}.step:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--or);color:#fff;font-weight:800;margin-bottom:14px}
.price{background:linear-gradient(135deg,var(--or),var(--od));color:#fff;border-radius:28px;padding:clamp(28px,4vw,48px);text-align:center}.price b{font-size:clamp(3.4rem,8vw,5rem);display:block;line-height:1.05;font-weight:800;font-family:var(--fh)}.price .btn{background:#fff;color:var(--od)!important;border-color:#fff;margin-top:18px}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:7px 0 7px 32px;position:relative}.ticks li:before{content:"";position:absolute;left:0;top:13px;width:18px;height:18px;border-radius:50%;background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9 3 3 5-6' fill='none' stroke='%23e8591a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
details{border:1px solid var(--bd);border-radius:14px;padding:16px 20px;margin-bottom:12px;background:#fff}summary{font-weight:700;cursor:pointer}details p{margin:10px 0 0;color:var(--mut)}
.band{background:linear-gradient(135deg,var(--or),var(--od));color:#fff;padding:clamp(40px,5vw,64px) 0}.band .w{display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}.band h2{margin:0 0 6px;color:#fff}.band p{margin:0;opacity:.92}.band .btn{background:#fff;color:var(--od)!important;border-color:#fff}
form{display:grid;gap:14px}input,textarea,select{width:100%;padding:14px 16px;border:1px solid var(--bd);border-radius:12px;background:#fff;color:var(--tx);font:inherit}input:focus,textarea:focus{outline:2px solid var(--or);border-color:transparent}
.ci{display:flex;gap:14px;align-items:center;margin:14px 0}.ci .ic{margin:0}
.legal h3{margin-top:22px}.legal li{margin-bottom:6px}

/* ---------- Footer ---------- */
.site-footer{background:var(--fbg);color:var(--ft);padding:var(--fpy) 0 28px;font-size:.92rem}
.fg{display:grid;gap:34px;grid-template-columns:1fr}
@media(min-width:560px){.fg:has(>:nth-child(2):last-child),.fg:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}}
@media(min-width:760px){.fg:has(>:nth-child(3):last-child){grid-template-columns:1.4fr 1fr 1fr}}
@media(min-width:1000px){.fg:has(>:nth-child(4):last-child){grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.site-footer h4{color:var(--fhc);margin:0 0 12px;font-size:.95rem;letter-spacing:0;text-transform:none}.site-footer a{display:block;padding:3px 0}.site-footer a:hover{color:var(--mh)}
.site-footer .logo{display:inline-flex;--lh:var(--flh);--ltc:var(--flc,#fff);--lac:var(--flc,#fff);margin-bottom:16px;padding:0}
.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.social a{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 14px;font-size:.8rem}
.copy{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem}

/* ---------- Misc ---------- */
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px 14px;z-index:999}
.neva-main{min-height:50vh}.neva-entry{max-width:860px;margin:auto;padding:60px 20px}.neva-entry .wp-block-image img{border-radius:16px}
.neva-posts{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.alignwide{max-width:var(--sw)}.alignfull{width:100%}

.site-footer .custom-logo{height:var(--flh,26px)}
