/*
Theme Name: Astris PR
Theme URI: https://example.com/astris-pr
Author: OpenAI
Author URI: https://openai.com
Description: A bold, responsive WordPress theme for Astris PR, designed for modern public relations, communications strategy, media relations, reputation, and campaign launches.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
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: astris-pr
Tags: custom-logo, custom-menu, featured-images, blog, one-column, two-columns, accessibility-ready
*/

:root {
  --astris-yellow: #ffde00;
  --astris-black: #050505;
  --astris-ink: #101010;
  --astris-charcoal: #171717;
  --astris-grey: #646464;
  --astris-paper: #fff9d7;
  --astris-white: #ffffff;
  --astris-line: rgba(5,5,5,.16);
  --astris-radius: 26px;
  --astris-max: 1180px;
  --astris-shadow: 0 24px 70px rgba(0,0,0,.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--astris-yellow);
  color: var(--astris-ink);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}

a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { opacity: .76; }
img { max-width: 100%; height: auto; }
.container { width: min(calc(100% - 40px), var(--astris-max)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; top: 1rem; background: #fff; color: #000; padding: .75rem 1rem; z-index: 999; }
.skip-link:focus { left: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--astris-black);
  color: var(--astris-white);
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.header-inner {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) auto minmax(160px, .45fr);
  align-items: center;
  gap: 26px;
  min-height: 94px;
}
.site-branding { display: flex; align-items: center; gap: 14px; }
.site-branding a { color: #fff; text-decoration: none; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 58px; width: auto; }
.astris-wordmark {
  display: inline-grid;
  grid-template-columns: 58px auto;
  gap: 13px;
  align-items: center;
  text-decoration: none;
}
.logo-mark {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  background: var(--astris-yellow);
  color: var(--astris-black);
  border-radius: 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: -.08em;
  box-shadow: inset -8px -8px 0 rgba(0,0,0,.12);
}
.logo-type { display: grid; line-height: 1; }
.logo-type strong {
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 950;
  letter-spacing: -.07em;
  text-transform: uppercase;
}
.logo-type span {
  margin-top: .38rem;
  color: var(--astris-yellow);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.header-cta { justify-self: end; }
.header-cta .button { background: var(--astris-yellow); color: var(--astris-black); padding: .72rem 1rem; }
.main-navigation { justify-self: center; }
.main-navigation ul { list-style: none; display: flex; gap: 24px; margin: 0; padding: 0; align-items: center; }
.main-navigation a { text-decoration: none; font-weight: 800; color: #fff; font-size: .92rem; letter-spacing: -.02em; }
.main-navigation a:hover { color: var(--astris-yellow); opacity: 1; }
.menu-toggle { display: none; border: 1px solid rgba(255,255,255,.22); background: transparent; color: #fff; padding: .65rem .85rem; border-radius: 999px; font-weight: 800; }

.button, .wp-block-button__link, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 0;
  border-radius: 999px;
  background: var(--astris-black);
  color: var(--astris-yellow);
  padding: .9rem 1.25rem;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  letter-spacing: -.02em;
}
.button:hover, .wp-block-button__link:hover { opacity: 1; transform: translateY(-1px); }
.button.secondary { background: transparent; color: var(--astris-black); border: 2px solid var(--astris-black); }
.button.secondary:hover { background: var(--astris-black); color: var(--astris-yellow); }

.hero { padding: 92px 0 64px; position: relative; overflow: hidden; }
.hero::before {
  content: "ASTRIS PR";
  position: absolute;
  right: -3vw;
  top: 36px;
  font-size: clamp(5rem, 16vw, 15rem);
  line-height: .8;
  font-weight: 950;
  letter-spacing: -.12em;
  color: rgba(0,0,0,.06);
  pointer-events: none;
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr); gap: 48px; align-items: stretch; position: relative; }
.eyebrow { color: var(--astris-black); text-transform: uppercase; letter-spacing: .18em; font-size: .76rem; font-weight: 950; margin: 0 0 1rem; }
h1, h2, h3 { color: var(--astris-black); line-height: .94; letter-spacing: -.075em; margin: 0 0 1rem; }
h1 { font-size: clamp(4rem, 10vw, 9rem); max-width: 920px; }
h2 { font-size: clamp(2.8rem, 5.7vw, 6rem); }
h3 { font-size: clamp(1.42rem, 2.3vw, 2.3rem); }
.lede { font-size: clamp(1.15rem, 1.9vw, 1.48rem); color: rgba(0,0,0,.74); max-width: 760px; font-weight: 520; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.hero-card { background: var(--astris-black); color: #fff; border-radius: var(--astris-radius); padding: clamp(30px, 4vw, 48px); box-shadow: var(--astris-shadow); position: relative; overflow: hidden; }
.hero-card::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 210px; height: 210px; border: 32px solid var(--astris-yellow); border-radius: 50%; opacity: .95; }
.hero-card .eyebrow, .hero-card h3 { color: var(--astris-yellow); }
.hero-card p { color: rgba(255,255,255,.78); position: relative; z-index: 1; }
.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 28px; position: relative; z-index: 1; }
.stat { border-top: 1px solid rgba(255,255,255,.22); padding-top: 16px; }
.stat strong { display: block; font-size: 2rem; color: var(--astris-yellow); line-height: 1; letter-spacing: -.06em; }
.stat span { color: rgba(255,255,255,.76); font-size: .88rem; font-weight: 750; }

.section { padding: 76px 0; }
.section-header { max-width: 840px; margin-bottom: 36px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { background: rgba(255,255,255,.62); border: 2px solid var(--astris-black); border-radius: var(--astris-radius); padding: 30px; box-shadow: 10px 10px 0 var(--astris-black); }
.card h3 { font-size: clamp(1.55rem, 2.3vw, 2.35rem); }
.card p { color: rgba(0,0,0,.72); margin-bottom: 0; }
.band { background: var(--astris-black); color: #fff; border-radius: calc(var(--astris-radius) + 10px); padding: clamp(34px, 6vw, 76px); }
.band .eyebrow, .band h2, .band h3 { color: var(--astris-yellow); }
.band p { color: rgba(255,255,255,.78); }
.process { counter-reset: step; display: grid; gap: 16px; }
.process-item { position: relative; padding: 24px 24px 24px 82px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.15); border-radius: 22px; }
.process-item::before { counter-increment: step; content: counter(step); position: absolute; left: 24px; top: 24px; width: 40px; height: 40px; border-radius: 14px; background: var(--astris-yellow); color: var(--astris-black); display: grid; place-items: center; font-weight: 950; }
.logo-panel { display: grid; grid-template-columns: .7fr 1fr; gap: 26px; align-items: center; background: var(--astris-paper); border: 2px solid var(--astris-black); border-radius: var(--astris-radius); padding: clamp(24px, 5vw, 46px); }
.logo-panel .giant-mark { width: 180px; aspect-ratio: 1; border-radius: 34px; background: var(--astris-black); color: var(--astris-yellow); display: grid; place-items: center; font-size: 5.2rem; font-weight: 950; letter-spacing: -.1em; font-family: Georgia, "Times New Roman", serif; box-shadow: 14px 14px 0 var(--astris-yellow), 14px 14px 0 2px var(--astris-black); }
.type-sample { font-weight: 950; font-size: clamp(2.4rem, 6vw, 6.4rem); line-height: .85; letter-spacing: -.09em; text-transform: uppercase; }

.site-main { padding: 56px 0; }
.entry, .post-card { background: rgba(255,255,255,.72); border: 2px solid var(--astris-black); border-radius: var(--astris-radius); padding: clamp(24px, 5vw, 48px); margin-bottom: 28px; }
.entry-title a { text-decoration: none; }
.entry-meta, .entry-footer { color: rgba(0,0,0,.64); font-size: .95rem; }
.post-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.wp-post-image { border-radius: 18px; margin-bottom: 22px; }

.footer-cta { padding: 72px 0 0; }
.site-footer { margin-top: 72px; background: var(--astris-black); color: rgba(255,255,255,.76); padding: 50px 0; }
.site-footer a { color: #fff; }
.footer-inner { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.footer-brand { color: var(--astris-yellow); font-weight: 950; font-size: 1.35rem; letter-spacing: -.06em; text-transform: uppercase; }

input, textarea, select { width: 100%; border: 2px solid var(--astris-black); border-radius: 16px; padding: .85rem 1rem; font: inherit; background: #fff; }
label { font-weight: 900; color: var(--astris-black); }

@media (max-width: 920px) {
  .header-inner { grid-template-columns: 1fr auto; min-height: 78px; }
  .header-cta { display: none; }
  .main-navigation { justify-self: end; }
  .menu-toggle { display: inline-flex; }
  .main-navigation ul { display: none; position: absolute; left: 20px; right: 20px; top: 78px; background: var(--astris-black); border: 1px solid rgba(255,255,255,.18); border-radius: 20px; padding: 18px; flex-direction: column; align-items: flex-start; box-shadow: var(--astris-shadow); }
  .main-navigation.toggled ul { display: flex; }
  .hero-grid, .grid-3, .post-grid, .logo-panel { grid-template-columns: 1fr; }
  .hero { padding-top: 64px; }
  .stat-row { grid-template-columns: 1fr; }
  .logo-panel .giant-mark { width: 136px; font-size: 4rem; }
}

/* Astris PR v1.2: Elementor compatibility + interactive agency features */
.elementor-page .site-main, .elementor-full-width-template { padding: 0; }
.elementor-page .entry, .elementor-template-full-width .entry { background: transparent; border: 0; box-shadow: none; padding: 0; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--astris-max); }
.elementor-widget-button .elementor-button { border-radius: 999px; font-weight: 900; }
.astris-canvas { background: var(--astris-yellow); }

.astris-cursor-menu { position: relative; justify-self: end; }
.cursor-menu-toggle { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #fff; border-radius: 999px; padding: .7rem 1rem; font-weight: 900; cursor: pointer; }
.cursor-dropdown { position: fixed; left: var(--cursor-x, 50%); top: var(--cursor-y, 110px); transform: translate(-50%, 22px); width: min(620px, calc(100vw - 32px)); display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; padding: 24px; border: 2px solid var(--astris-black); border-radius: 28px; background: var(--astris-yellow); color: var(--astris-black); box-shadow: 18px 18px 0 var(--astris-black); z-index: 130; }
.cursor-dropdown[hidden] { display: none; }
.cursor-dropdown strong { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .16em; margin-bottom: 12px; }
.cursor-dropdown a { display: block; padding: 12px 0; color: var(--astris-black); text-decoration: none; font-weight: 950; font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1; letter-spacing: -.06em; border-top: 1px solid rgba(0,0,0,.16); }
.cursor-dropdown a:hover { opacity: 1; transform: translateX(6px); }

.astris-cursor { position: fixed; left: 0; top: 0; width: 76px; height: 76px; transform: translate(-50%, -50%) scale(.28); border-radius: 50%; pointer-events: none; z-index: 9999; background: var(--astris-yellow); color: var(--astris-black); mix-blend-mode: normal; display: grid; place-items: center; opacity: 0; transition: opacity .2s ease, transform .16s ease; border: 2px solid var(--astris-black); box-shadow: 6px 6px 0 var(--astris-black); }
.astris-cursor span { font-size: .66rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transition: opacity .16s ease; }
body.astris-cursor-ready .astris-cursor { opacity: 1; }
body.astris-cursor-active .astris-cursor { transform: translate(-50%, -50%) scale(1); }
body.astris-cursor-active .astris-cursor span { opacity: 1; }
.magnetic { transition: transform .16s ease, box-shadow .16s ease; }

.ticker { overflow: hidden; border-block: 2px solid var(--astris-black); background: var(--astris-black); color: var(--astris-yellow); }
.ticker-track { display: flex; gap: 42px; width: max-content; padding: 18px 0; animation: astrisTicker 28s linear infinite; font-weight: 950; text-transform: uppercase; letter-spacing: -.03em; font-size: clamp(1.2rem, 2.4vw, 2.25rem); }
.ticker-track span { white-space: nowrap; }
@keyframes astrisTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.mega-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.service-tile { min-height: 330px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; border: 2px solid var(--astris-black); border-radius: 28px; background: rgba(255,255,255,.64); color: var(--astris-black); text-decoration: none; box-shadow: 10px 10px 0 var(--astris-black); transition: transform .18s ease, background .18s ease; }
.service-tile span { font-weight: 950; opacity: .58; }
.service-tile h3 { margin-top: auto; margin-bottom: 12px; }
.service-tile p { margin: 0; color: rgba(0,0,0,.7); font-weight: 600; }
.service-tile:hover { opacity: 1; transform: translateY(-8px); background: var(--astris-black); color: var(--astris-yellow); }
.service-tile:hover h3, .service-tile:hover p { color: inherit; }
.split-band { display: grid; grid-template-columns: .85fr 1.15fr; gap: 42px; align-items: start; }
.astris-motion-grid::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(0,0,0,.18) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 70%, transparent); opacity: .38; }
.astris-help-dock { position: fixed; right: 22px; bottom: 22px; z-index: 150; }
.astris-help-toggle { width: 58px; height: 58px; border-radius: 50%; border: 2px solid var(--astris-black); background: var(--astris-yellow); color: var(--astris-black); font-weight: 950; font-size: 1.5rem; box-shadow: 7px 7px 0 var(--astris-black); cursor: pointer; }
.astris-help-menu { position: absolute; right: 0; bottom: 74px; width: 220px; background: var(--astris-black); color: #fff; border-radius: 20px; padding: 12px; box-shadow: var(--astris-shadow); }
.astris-help-menu a { display: block; color: #fff; text-decoration: none; font-weight: 850; padding: 10px; border-radius: 12px; }
.astris-help-menu a:hover { background: rgba(255,255,255,.1); opacity: 1; }

@media (max-width: 1100px) { .mega-service-grid { grid-template-columns: repeat(2, 1fr); } .split-band { grid-template-columns: 1fr; } }
@media (max-width: 920px) { .astris-cursor-menu { display: none; } .astris-cursor { display:none; } }
@media (max-width: 620px) { .mega-service-grid, .cursor-dropdown { grid-template-columns: 1fr; } .service-tile { min-height: 230px; } }
@media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; } .astris-cursor { display:none; } *, *::before, *::after { scroll-behavior: auto !important; } }

/* Astris PR v1.3 — Yellowball-style agency layout, rebuilt for Astris PR */
:root{
	--astris-black:#050505;
	--astris-yellow:#ffe100;
	--astris-cream:#fff8d6;
	--astris-text:#0d0d0d;
	--astris-muted:#5a5542;
	--astris-border:rgba(0,0,0,.14);
	--astris-radius:28px;
	--astris-font-display:"Inter Tight","Arial Narrow",Arial,sans-serif;
	--astris-font-body:Inter,Arial,sans-serif;
}
body{background:var(--astris-yellow); color:var(--astris-text); font-family:var(--astris-font-body);}
.container{width:min(1180px,calc(100% - 40px)); margin-inline:auto;}
.section-pad{padding:clamp(72px,9vw,140px) 0;}
.site-header{background:#000;color:#fff;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.12)}
.header-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto auto;gap:26px;align-items:center}
.astris-wordmark{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:-.02em}.logo-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--astris-yellow);color:#000;font-weight:950;font-size:32px}.logo-type strong{display:block;font-family:var(--astris-font-display);font-size:25px;line-height:.9}.logo-type span{font-size:10px;letter-spacing:.22em;color:#f8e666}.main-navigation ul{display:flex;gap:26px;align-items:center;justify-content:center;list-style:none;margin:0;padding:0}.main-navigation a{color:#fff;text-decoration:none;font-weight:800;font-size:14px}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;border:2px solid #000;background:#000;color:#fff!important;border-radius:999px;padding:14px 22px;font-weight:900;text-decoration:none;line-height:1}.button:hover{background:#fff;color:#000!important}.button.ghost{background:transparent;color:#000!important}.site-header .button{background:var(--astris-yellow);border-color:var(--astris-yellow);color:#000!important}.button-lg{font-size:18px;padding:20px 32px}.menu-toggle{display:none}.astris-cursor-menu{position:relative}.cursor-menu-toggle{background:#fff;color:#000;border:0;border-radius:999px;padding:13px 18px;font-weight:900}.cursor-dropdown{position:absolute;right:0;top:calc(100% + 16px);width:min(560px,90vw);background:#000;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.cursor-dropdown a{display:block;color:#fff;text-decoration:none;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.13)}.cursor-dropdown strong{color:var(--astris-yellow);display:block;margin-bottom:6px}.astris-help-dock{position:fixed;right:22px;bottom:22px;z-index:999}.astris-help-toggle{width:58px;height:58px;border-radius:50%;border:2px solid #000;background:#fff;font-weight:950;font-size:26px}.astris-help-menu{position:absolute;right:0;bottom:74px;background:#000;border-radius:22px;padding:16px;min-width:190px}.astris-help-menu a{display:block;color:#fff;text-decoration:none;padding:10px}.astris-cursor{position:fixed;pointer-events:none;z-index:9999;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:#000;color:#ffe100;display:grid;place-items:center;font-size:11px;font-weight:900;text-transform:uppercase;opacity:0;transform:scale(.7);transition:opacity .18s,transform .18s}.astris-cursor.is-visible{opacity:1;transform:scale(1)}
.yb-hero{overflow:hidden;min-height:calc(100vh - 82px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 70% 30%,#fff3a4 0 20%,transparent 42%),var(--astris-yellow)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:60px;align-items:center}.eyebrow{font-weight:950;text-transform:uppercase;letter-spacing:.16em;font-size:12px;margin:0 0 18px}.yb-hero h1,.page-hero h1{font-family:var(--astris-font-display);font-size:clamp(56px,9vw,132px);letter-spacing:-.075em;line-height:.82;margin:0 0 28px;max-width:900px}.yb-hero h1 span{display:block}.lede{font-size:clamp(20px,2vw,30px);line-height:1.2;max-width:720px;color:#221f12}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-orbit{height:520px;position:relative;border-radius:50%;background:#000;box-shadow:inset 0 0 0 22px rgba(255,255,255,.08),0 35px 90px rgba(0,0,0,.24)}.orbit-core{position:absolute;inset:50%;translate:-50% -50%;width:160px;height:160px;background:var(--astris-yellow);display:grid;place-items:center;border-radius:50%;font-size:96px;font-weight:950}.orbit-card{position:absolute;background:#fff;border:3px solid #000;border-radius:24px;padding:22px;font-weight:950;font-size:24px;line-height:1;box-shadow:9px 9px 0 #000}.card-one{left:-20px;top:75px}.card-two{right:-5px;top:180px}.card-three{left:80px;bottom:40px}.marquee{display:flex;gap:0;white-space:nowrap;overflow:hidden;border-block:2px solid #000;background:#000;color:var(--astris-yellow);font-weight:950;font-size:clamp(28px,4vw,64px);padding:18px 0;margin-top:70px}.marquee span{animation:astris-marquee 22s linear infinite}@keyframes astris-marquee{to{transform:translateX(-100%)}}
.logo-strip{border-block:2px solid #000;background:#fff}.logo-strip .container{display:flex;gap:34px;justify-content:space-between;flex-wrap:wrap;padding:20px 0;font-weight:900;text-transform:uppercase}.split-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,90px);align-items:start}.split-grid h2,.work-wall h2,.proof h2,.process h2,.contact-card h2{font-family:var(--astris-font-display);font-size:clamp(42px,6vw,86px);line-height:.9;letter-spacing:-.055em;margin:0 0 24px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-list.big{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile{display:flex;flex-direction:column;gap:16px;background:#fff;color:#000;text-decoration:none;border:2px solid #000;border-radius:var(--astris-radius);padding:30px;min-height:240px;box-shadow:8px 8px 0 #000;transition:transform .18s}.service-tile:hover{transform:translate(-4px,-4px)}.service-tile span{font-weight:950;color:#857200}.service-tile strong{font-family:var(--astris-font-display);font-size:clamp(30px,3vw,48px);letter-spacing:-.045em;line-height:.9}.service-tile em{font-style:normal;color:#3c3828;font-size:17px}.dark-band{background:#000;color:#fff}.case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.case-card{min-height:360px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,#191919,#050505);color:#fff;text-decoration:none;border-radius:32px;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.case-card span{font-family:var(--astris-font-display);font-size:34px;line-height:.95;letter-spacing:-.035em}.case-card small{color:var(--astris-yellow);font-weight:950}.proof-grid{display:grid;grid-template-columns:1fr 360px;gap:60px}.proof p{font-size:22px;line-height:1.35}.stats{background:#000;color:#fff;border-radius:32px;padding:30px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;align-items:end}.stats strong{font-family:var(--astris-font-display);font-size:58px;letter-spacing:-.05em;color:var(--astris-yellow)}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-steps div,.feature-stack div{background:#fff;border:2px solid #000;border-radius:26px;padding:24px}.process-steps b{font-size:44px;font-family:var(--astris-font-display)}.contact-panel{padding-top:0}.contact-card{background:#fff;border:2px solid #000;border-radius:38px;padding:clamp(34px,6vw,74px);box-shadow:10px 10px 0 #000}.page-hero{background:#000;color:#fff}.page-hero .lede{color:#f5e77e}.narrow{max-width:920px}.feature-stack{display:grid;gap:18px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.astris-form{background:#fff;border:2px solid #000;border-radius:32px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.astris-form label{display:grid;gap:8px;font-weight:900}.astris-form input,.astris-form select,.astris-form textarea{border:2px solid #000;border-radius:18px;padding:15px;background:#fff;font:inherit}.astris-form textarea{min-height:150px}.astris-form label:nth-child(5),.astris-form button{grid-column:1/-1}.text-link{font-weight:950;color:#000}.footer-widgets,.site-footer{background:#000;color:#fff}.site-footer a{color:#fff}
@media(max-width:900px){.header-inner{grid-template-columns:1fr auto}.main-navigation ul{display:none}.menu-toggle{display:inline-flex}.header-cta,.astris-cursor-menu{display:none}.hero-grid,.split-grid,.proof-grid,.contact-layout{grid-template-columns:1fr}.hero-orbit{height:360px}.case-grid,.process-steps,.service-list,.service-list.big{grid-template-columns:1fr}.yb-hero h1,.page-hero h1{font-size:clamp(54px,17vw,92px)}.astris-form{grid-template-columns:1fr}}
