/*
Theme Name: NovaSoft
Theme URI: https://example.com/novasoft
Author: Binyamin Mughal
Author URI: https://example.com
Description: A fast, minimalist and elegant WordPress theme for software companies. Showcase your services, offer software downloads, and present subscription packages — all built in, mobile-first, and dependency-light. Ships with a recommended plugin stack that installs on activation.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: novasoft
Tags: custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, blog, portfolio, two-columns, right-sidebar, full-width-template, block-styles, wide-blocks

NovaSoft, developed by Mr. Binyamin Mughal.
This theme, like WordPress, is licensed under the GPL.
*/

/* =========================================================================
   NovaSoft — Design tokens
   ========================================================================= */
:root {
  /* Palette — "engineered calm" */
  --paper:      #FBFBFD;
  --surface:    #FFFFFF;
  --ink:        #0E1726;
  --ink-soft:   #26324A;
  --muted:      #5B6676;
  --line:       #E6E8EE;
  --line-soft:  #F0F1F5;
  --brand:      #4338CA;  /* indigo */
  --brand-ink:  #3730A3;
  --brand-2:    #0EA5E9;  /* sky — used only in the hero gradient */
  --brand-tint: #EEF0FF;
  --ok:         #0F9D58;

  /* Type */
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Scale (Elements of Typographic Style-ish, fluid) */
  --step--1: clamp(0.83rem, 0.80rem + 0.15vw, 0.90rem);
  --step-0:  clamp(1.00rem, 0.96rem + 0.20vw, 1.10rem);
  --step-1:  clamp(1.20rem, 1.10rem + 0.50vw, 1.45rem);
  --step-2:  clamp(1.50rem, 1.30rem + 1.00vw, 2.05rem);
  --step-3:  clamp(1.95rem, 1.60rem + 1.80vw, 3.00rem);
  --step-4:  clamp(2.50rem, 1.90rem + 3.00vw, 4.25rem);

  /* Space & shape */
  --radius:   14px;
  --radius-s: 10px;
  --radius-l: 22px;
  --gutter:   clamp(1.1rem, 0.6rem + 2.4vw, 2rem);
  --maxw:     1180px;
  --shadow:   0 1px 2px rgba(14,23,38,.04), 0 12px 28px -14px rgba(14,23,38,.18);
  --shadow-s: 0 1px 2px rgba(14,23,38,.05), 0 6px 16px -10px rgba(14,23,38,.14);
  --ring:     0 0 0 3px rgba(67,56,202,.25);
  --t:        180ms cubic-bezier(.2,.6,.2,1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-force-light]) {
    --paper:     #0B0F1A;
    --surface:   #111726;
    --ink:       #EAEDF5;
    --ink-soft:  #C7CEDC;
    --muted:     #9AA4B6;
    --line:      #222B3D;
    --line-soft: #1A2131;
    --brand:     #7C83FF;
    --brand-ink: #9AA0FF;
    --brand-tint:#171B33;
    --shadow:    0 1px 2px rgba(0,0,0,.4), 0 18px 40px -18px rgba(0,0,0,.6);
    --shadow-s:  0 1px 2px rgba(0,0,0,.4), 0 10px 22px -14px rgba(0,0,0,.5);
  }
}

/* =========================================================================
   Reset / base
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *{ animation-duration:.001ms !important; transition-duration:.001ms !important; } }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,h2,h3,h4 { font-family: var(--font-display); color: var(--ink); line-height: 1.1; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 .5em; }
h1 { font-size: var(--step-4); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-1); }
p { margin: 0 0 1.1em; max-width: 68ch; }
a { color: var(--brand); text-decoration: none; transition: color var(--t); }
a:hover { color: var(--brand-ink); }
img, svg, video { max-width: 100%; height: auto; display: block; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.2em; }
hr { border: 0; border-top: 1px solid var(--line); margin: 2.5rem 0; }
code, kbd, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
:focus-visible { outline: none; box-shadow: var(--ring); border-radius: 6px; }
::selection { background: var(--brand); color: #fff; }

/* =========================================================================
   Layout helpers
   ========================================================================= */
.ns-wrap { width: min(100% - (2 * var(--gutter)), var(--maxw)); margin-inline: auto; }
.ns-section { padding-block: clamp(3.5rem, 2rem + 7vw, 7rem); }
.ns-section--tight { padding-block: clamp(2.5rem, 1.5rem + 4vw, 4.5rem); }
.ns-eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family: var(--font-display); font-size: var(--step--1); font-weight: 600; color: var(--brand); letter-spacing: 0; margin: 0 0 .9rem; }
.ns-eyebrow::before { content:""; width: 22px; height: 2px; background: var(--brand); border-radius: 2px; }
.ns-lead { color: var(--muted); font-size: var(--step-1); max-width: 56ch; }
.ns-head { max-width: 62ch; margin-bottom: clamp(2rem, 1rem + 3vw, 3.25rem); }

.skip-link { position:absolute; left:-9999px; top:0; background:var(--ink); color:#fff; padding:.7rem 1rem; border-radius:0 0 8px 0; z-index:999; }
.skip-link:focus { left:0; color:#fff; }

/* =========================================================================
   Buttons
   ========================================================================= */
.ns-btn {
  --b: var(--brand);
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  font-family: var(--font-display); font-weight: 600; font-size: var(--step-0);
  line-height: 1; padding: .95rem 1.4rem; border-radius: var(--radius-s);
  background: var(--b); color: #fff; border: 1px solid var(--b);
  cursor: pointer; transition: transform var(--t), box-shadow var(--t), background var(--t), color var(--t);
  box-shadow: var(--shadow-s);
}
.ns-btn:hover { color:#fff; transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(67,56,202,.5); }
.ns-btn:active { transform: translateY(0); }
.ns-btn--ghost { background: transparent; color: var(--ink); border-color: var(--line); box-shadow: none; }
.ns-btn--ghost:hover { color: var(--ink); border-color: var(--ink); background: transparent; }
.ns-btn--sm { padding: .6rem .9rem; font-size: var(--step--1); }
.ns-btn--block { width: 100%; }

/* =========================================================================
   Header / Nav
   ========================================================================= */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--paper) 82%, transparent);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; height: 70px; }
.brand { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; letter-spacing: -0.02em; color: var(--ink); }
.brand:hover { color: var(--ink); }
.brand__mark { width: 28px; height: 28px; border-radius: 8px; background: linear-gradient(135deg, var(--brand), var(--brand-2)); display:grid; place-items:center; color:#fff; font-size: 15px; box-shadow: var(--shadow-s); flex: none; }
.brand__mark svg { width: 16px; height: 16px; }
.brand img { max-height: 36px; width: auto; }

.primary-nav { display: flex; align-items: center; gap: .3rem; }
.primary-nav ul { list-style: none; display: flex; align-items: center; gap: .3rem; margin: 0; padding: 0; }
.primary-nav a { color: var(--ink-soft); font-size: var(--step--1); font-weight: 500; padding: .5rem .8rem; border-radius: 8px; position: relative; }
.primary-nav a:hover { color: var(--ink); background: var(--line-soft); }
.primary-nav .current-menu-item > a { color: var(--brand); }

.header-cta { display: flex; align-items: center; gap: .6rem; }

.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); background: var(--surface); border-radius: 10px; cursor: pointer; align-items:center; justify-content:center; color: var(--ink); }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after { content:""; display:block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; position: relative; transition: transform var(--t), opacity var(--t); }
.nav-toggle span::before { position:absolute; top:-6px; } .nav-toggle span::after { position:absolute; top:6px; }
.nav-open .nav-toggle span { background: transparent; }
.nav-open .nav-toggle span::before { transform: translateY(6px) rotate(45deg); }
.nav-open .nav-toggle span::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 860px) {
  .nav-toggle { display: inline-flex; }
  .primary-nav { position: fixed; inset: 70px 0 auto 0; background: var(--surface); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; padding: 1rem var(--gutter) 1.5rem; gap: .2rem; transform: translateY(-120%); transition: transform var(--t); box-shadow: var(--shadow); }
  .nav-open .primary-nav { transform: translateY(0); }
  .primary-nav ul { flex-direction: column; align-items: stretch; gap: .1rem; }
  .primary-nav a { padding: .85rem 1rem; font-size: var(--step-0); }
  .header-cta .ns-btn { display:none; }
}

/* =========================================================================
   Hero
   ========================================================================= */
.hero { position: relative; overflow: clip; }
.hero__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 1rem + 4vw, 4rem); align-items: center; padding-block: clamp(3.5rem, 2rem + 6vw, 6.5rem); }
.hero h1 { margin-bottom: 1rem; }
.hero__lead { font-size: var(--step-1); color: var(--muted); max-width: 44ch; margin-bottom: 1.8rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2.4rem; }
.hero__stats { display: grid; grid-template-columns: repeat(3, auto); gap: clamp(1.2rem, .5rem + 2vw, 2.6rem); border-top: 1px solid var(--line); padding-top: 1.5rem; }
.hero__stat .n { font-family: var(--font-display); font-weight: 600; font-size: var(--step-2); color: var(--ink); display:block; line-height: 1; }
.hero__stat .l { font-size: var(--step--1); color: var(--muted); margin-top: .35rem; display:block; }

.hero__panel { position: relative; aspect-ratio: 4 / 4.4; border-radius: var(--radius-l); background: linear-gradient(150deg, var(--brand) 0%, #5b4fe0 45%, var(--brand-2) 100%); box-shadow: var(--shadow); overflow: hidden; }
.hero__panel::after { content:""; position:absolute; inset:0; background: radial-gradient(120% 90% at 85% 15%, rgba(255,255,255,.28), transparent 55%); mix-blend-mode: screen; }
.hero__panel-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(120% 100% at 50% 0%, #000 55%, transparent); }
.hero__window { position:absolute; left: 7%; right: 7%; bottom: 8%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); border-radius: 12px; backdrop-filter: blur(8px); padding: .9rem 1rem; color:#fff; box-shadow: 0 20px 40px -20px rgba(0,0,0,.5); }
.hero__window .dots { display:flex; gap:.4rem; margin-bottom:.7rem; }
.hero__window .dots i { width:9px; height:9px; border-radius:50%; background: rgba(255,255,255,.55); }
.hero__window pre { margin:0; font-size: .8rem; line-height: 1.6; color: rgba(255,255,255,.92); white-space: pre-wrap; }
.hero__window .k { color: #C7F9FF; } .hero__window .s { color: #FFE7B3; }

@media (max-width: 820px) {
  .hero__inner { grid-template-columns: 1fr; }
  .hero__panel { display: none; }
}

/* reveal on load (single orchestrated moment) */
.reveal { opacity: 0; transform: translateY(14px); }
.is-ready .reveal { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.is-ready .reveal:nth-child(2){ transition-delay:.06s; }
.is-ready .reveal:nth-child(3){ transition-delay:.12s; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1 !important; transform:none !important; } }

/* =========================================================================
   Services — bordered list, not identical cards
   ========================================================================= */
.services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.service { padding: clamp(1.4rem, 1rem + 1.5vw, 2rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; transition: background var(--t); }
.service:hover { background: var(--line-soft); }
.service__icon { width: 42px; height: 42px; border-radius: 11px; background: var(--brand-tint); color: var(--brand); display:grid; place-items:center; margin-bottom: 1rem; }
.service__icon svg { width: 22px; height: 22px; }
.service h3 { font-size: var(--step-1); margin-bottom: .4rem; }
.service p { color: var(--muted); font-size: var(--step-0); margin: 0; }
.service__more { display:inline-block; margin-top: 1rem; font-family: var(--font-display); font-weight:600; font-size: var(--step--1); color: var(--brand); }
.service__more span { border-bottom: 2px solid transparent; transition: border-color var(--t); }
.service:hover .service__more span { border-color: var(--brand); }

/* =========================================================================
   Downloads — row list with version + meta
   ========================================================================= */
.downloads { display: grid; gap: .8rem; }
.download { display: grid; grid-template-columns: auto 1fr auto; gap: 1.2rem; align-items: center; padding: 1.1rem 1.3rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: border-color var(--t), box-shadow var(--t); }
.download:hover { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); box-shadow: var(--shadow-s); }
.download__badge { width: 46px; height: 46px; border-radius: 12px; background: var(--ink); color: #fff; display:grid; place-items:center; font-family: var(--font-display); font-weight: 700; flex:none; }
.download__badge svg { width: 22px; height: 22px; }
.download__body h3 { font-size: var(--step-0); margin: 0 0 .2rem; }
.download__meta { display:flex; flex-wrap:wrap; gap: .4rem .9rem; color: var(--muted); font-size: var(--step--1); }
.download__meta b { color: var(--ink-soft); font-weight: 600; }
.download__meta .tag { background: var(--line-soft); padding: .1rem .5rem; border-radius: 6px; color: var(--ink-soft); }
@media (max-width: 620px){ .download{ grid-template-columns: auto 1fr; } .download .ns-btn{ grid-column: 1 / -1; } }

/* =========================================================================
   Packages — pricing cards (card treatment genuinely fits here)
   ========================================================================= */
.packages { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1.2rem; align-items: stretch; }
.package { display:flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-l); padding: 1.8rem 1.6rem; position: relative; transition: transform var(--t), box-shadow var(--t); }
.package:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.package--featured { border-color: transparent; box-shadow: var(--shadow); outline: 2px solid var(--brand); }
.package__flag { position:absolute; top: -12px; left: 1.6rem; background: var(--brand); color:#fff; font-family: var(--font-display); font-weight:600; font-size: var(--step--1); padding: .25rem .7rem; border-radius: 999px; box-shadow: var(--shadow-s); }
.package__name { font-family: var(--font-display); font-weight: 600; font-size: var(--step-1); margin: 0 0 .2rem; }
.package__desc { color: var(--muted); font-size: var(--step--1); margin: 0 0 1.2rem; min-height: 2.4em; }
.package__price { display:flex; align-items: baseline; gap:.35rem; margin-bottom: .3rem; }
.package__price .amt { font-family: var(--font-display); font-weight: 700; font-size: var(--step-3); color: var(--ink); line-height: 1; }
.package__price .cur { font-family: var(--font-display); font-weight: 600; font-size: var(--step-1); color: var(--ink); align-self: flex-start; margin-top: .2rem; }
.package__price .cyc { color: var(--muted); font-size: var(--step--1); }
.package__features { list-style: none; margin: 1.3rem 0; padding: 0; display: grid; gap: .6rem; border-top: 1px solid var(--line); padding-top: 1.3rem; }
.package__features li { display:flex; gap: .6rem; align-items: flex-start; font-size: var(--step-0); color: var(--ink-soft); }
.package__features li svg { flex: none; width: 18px; height: 18px; color: var(--ok); margin-top: 3px; }
.package__cta { margin-top: auto; }

/* =========================================================================
   Process / about strip
   ========================================================================= */
.strip { background: var(--ink); color: #fff; border-radius: var(--radius-l); padding: clamp(2rem,1.2rem+3vw,3.5rem); }
.strip h2, .strip h3 { color: #fff; }
.strip__grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap: 1.6rem; margin-top: 2rem; }
.strip__item { }
.strip__item .num { font-family: var(--font-display); font-weight:700; font-size: var(--step-2); color: var(--brand-2); display:block; margin-bottom:.3rem; }
.strip__item h3 { font-size: var(--step-0); margin-bottom:.3rem; }
.strip__item p { color: rgba(255,255,255,.72); font-size: var(--step--1); margin:0; }

/* =========================================================================
   CTA band
   ========================================================================= */
.cta-band { text-align: center; }
.cta-band .inner { background: linear-gradient(135deg, var(--brand), #5b4fe0 55%, var(--brand-2)); color:#fff; border-radius: var(--radius-l); padding: clamp(2.5rem,1.5rem+4vw,4.5rem); box-shadow: var(--shadow); }
.cta-band h2 { color:#fff; }
.cta-band p { color: rgba(255,255,255,.85); margin-inline:auto; }
.cta-band .ns-btn { background:#fff; color: var(--brand-ink); border-color:#fff; margin-top: 1.2rem; }
.cta-band .ns-btn:hover { background:#fff; color: var(--brand-ink); }

/* =========================================================================
   Generic content (pages / posts / archives)
   ========================================================================= */
.content-area { padding-block: clamp(2.5rem, 1.5rem + 4vw, 4.5rem); }
.content-area.has-sidebar .ns-wrap { display:grid; grid-template-columns: minmax(0,1fr) 300px; gap: clamp(1.5rem,1rem+3vw,3rem); }
@media (max-width: 880px){ .content-area.has-sidebar .ns-wrap { grid-template-columns: 1fr; } }
.entry { background: var(--surface); border:1px solid var(--line); border-radius: var(--radius); padding: clamp(1.4rem,1rem+2vw,2.6rem); }
.entry__header { margin-bottom: 1.5rem; }
.entry__title { margin:0 0 .4rem; }
.entry__meta { color: var(--muted); font-size: var(--step--1); display:flex; flex-wrap:wrap; gap:.3rem 1rem; }
.entry__thumb { border-radius: var(--radius); overflow:hidden; margin-bottom: 1.5rem; }
.entry-content > *:first-child { margin-top:0; }
.entry-content h2 { font-size: var(--step-2); margin-top: 1.6em; }
.entry-content h3 { margin-top: 1.4em; }
.entry-content img { border-radius: var(--radius-s); }
.entry-content blockquote { margin: 1.5rem 0; padding: .4rem 0 .4rem 1.3rem; border-left: 3px solid var(--brand); color: var(--ink-soft); font-size: var(--step-1); }
.entry-content a { text-decoration: underline; text-underline-offset: 2px; }

.post-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow:hidden; display:flex; flex-direction: column; transition: box-shadow var(--t), transform var(--t); }
.post-card:hover { box-shadow: var(--shadow-s); transform: translateY(-2px); }
.post-card .thumb { aspect-ratio: 16/9; overflow:hidden; background: var(--line-soft); }
.post-card .thumb img { width:100%; height:100%; object-fit: cover; }
.post-card .body { padding: 1.2rem 1.3rem 1.4rem; }
.post-card h3 { font-size: var(--step-1); margin-bottom:.3rem; }
.post-card .excerpt { color: var(--muted); font-size: var(--step-0); }
.posts-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 1.4rem; }

.widget { margin-bottom: 1.8rem; background: var(--surface); border:1px solid var(--line); border-radius: var(--radius); padding: 1.3rem 1.4rem; }
.widget-title { font-size: var(--step-0); margin-bottom: .8rem; }
.widget ul { list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.widget a { color: var(--ink-soft); }

/* pagination */
.ns-pagination { display:flex; gap:.4rem; flex-wrap:wrap; justify-content:center; margin-top: 2.5rem; }
.ns-pagination .page-numbers { display:inline-grid; place-items:center; min-width: 42px; height: 42px; padding: 0 .6rem; border:1px solid var(--line); border-radius: 10px; color: var(--ink-soft); font-family: var(--font-display); font-weight:600; }
.ns-pagination .current { background: var(--brand); border-color: var(--brand); color:#fff; }
.ns-pagination a:hover { border-color: var(--brand); color: var(--brand); }

/* forms */
input[type=text], input[type=email], input[type=url], input[type=search], input[type=tel], input[type=password], textarea, select {
  width:100%; font: inherit; color: var(--ink); background: var(--surface);
  border:1px solid var(--line); border-radius: var(--radius-s); padding: .75rem .9rem; transition: border-color var(--t), box-shadow var(--t);
}
input:focus, textarea:focus, select:focus { border-color: var(--brand); box-shadow: var(--ring); outline: none; }
label { font-size: var(--step--1); font-weight:600; color: var(--ink-soft); display:block; margin-bottom:.35rem; }

/* =========================================================================
   Footer
   ========================================================================= */
.site-footer { background: var(--surface); border-top: 1px solid var(--line); margin-top: 2rem; }
.site-footer__main { display:grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 2rem; padding-block: clamp(2.5rem,1.5rem+3vw,4rem); }
.site-footer__brand p { color: var(--muted); font-size: var(--step--1); max-width: 34ch; }
.footer-col h4 { font-family: var(--font-display); font-size: var(--step--1); letter-spacing: .02em; color: var(--muted); margin:0 0 .9rem; text-transform: none; }
.footer-col ul { list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.footer-col a { color: var(--ink-soft); font-size: var(--step-0); }
.footer-col a:hover { color: var(--brand); }
.site-footer__bar { border-top:1px solid var(--line); padding-block: 1.3rem; display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; align-items:center; justify-content:space-between; }
.site-footer__bar p { margin:0; color: var(--muted); font-size: var(--step--1); }
.dev-credit { color: var(--ink-soft); }
.dev-credit b { color: var(--brand); font-weight:600; }
@media (max-width: 760px){ .site-footer__main { grid-template-columns: 1fr 1fr; } .site-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 480px){ .site-footer__main { grid-template-columns: 1fr; } }

/* a11y */
.screen-reader-text { position:absolute !important; width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px; }
.alignwide{} .alignfull{}
.wp-caption-text, .gallery-caption { font-size: var(--step--1); color: var(--muted); }
.sticky, .bypostauthor { }
