/*
Theme Name: Skyward Shift
Theme URI: https://skywardshift.com
Description: Brutalist single-page pitch theme for Skyward Shift. Snap-scroll landing page, sticky header, real footer — every headline, bullet, and CTA editable from the WordPress Customizer. Acid-terminal palette, Space Grotesk + JetBrains Mono + Archivo Black. Standalone parent theme — no dependencies.
Author: Skyward Shift
Author URI: https://skywardshift.com
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: MIT
License URI: https://opensource.org/licenses/MIT
Text Domain: skyward-shift
Tags: one-column, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ═══════════════════════════════════════════════════════════════
   TOKENS
   ═══════════════════════════════════════════════════════════ */
:root{
  --paper:#F0F6F7;
  --paper-2:#DDECEE;
  --ink:#0A0A0A;
  --ink-2:#2a2a2a;
  --accent:#00E0D5;      /* plasma teal */
  --accent-2:#FF6A00;    /* warning orange */
  --accent-3:#C6F53C;    /* lime */
  --brd:4px solid var(--ink);
  --brd-3:3px solid var(--ink);
  --brd-2:2px solid var(--ink);
  --pad-x: clamp(24px, 5vw, 90px);
  --pad-y: clamp(60px, 10vh, 130px);
}

/* ═══════════════════════════════════════════════════════════════
   BASE RESETS (override GP defaults to match deck)
   ═══════════════════════════════════════════════════════════ */
html, body{
  margin:0; padding:0;
  background:var(--paper);
  color:var(--ink);
  scroll-behavior:smooth;
}
body.skyward-snap{
  scroll-snap-type:y mandatory;
  font-family:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
}
body.skyward-snap .site-content{ padding:0 !important; margin:0 !important; max-width:none !important; }
body.skyward-snap .inside-article,
body.skyward-snap .entry-content{ margin:0 !important; padding:0 !important; }
body.skyward-snap .entry-header{ display:none; }
body.skyward-snap #primary{ margin:0; width:100%; }
body.skyward-snap .site-main{ padding:0 !important; }

/* tame GP containers on our landing page */
body.skyward-snap .site-content .content-area{ padding:0; }

*{ box-sizing:border-box; }

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════════════════════ */
.ss-display{
  font-family:"Space Grotesk",sans-serif;
  font-weight:600;
  line-height:0.98;
  letter-spacing:-0.025em;
  font-size:clamp(48px, 7vw, 128px);
  margin:0;
}
.ss-title{
  font-family:"Space Grotesk",sans-serif;
  font-weight:600;
  line-height:1.0;
  letter-spacing:-0.02em;
  font-size:clamp(40px, 5.5vw, 88px);
  margin:0;
}
.ss-kicker{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:clamp(14px, 1.1vw, 20px);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink);
}
.ss-sub{
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(18px, 1.6vw, 26px);
  line-height:1.4;
  font-weight:400;
  max-width:60ch;
}
.ss-sub strong{ font-weight:700; background:var(--accent); padding:0 6px; }

/* Highlighted inline em (acid chip) */
.ss-hl{
  font-style:normal;
  background:var(--accent);
  padding:0 10px;
  border:var(--brd-3);
  box-shadow:6px 6px 0 var(--ink);
  display:inline-block;
}

/* ═══════════════════════════════════════════════════════════════
   HEADER (sticky, brutalist nav)
   ═══════════════════════════════════════════════════════════ */
.ss-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  background:var(--paper);
  border-bottom:var(--brd-2);
  padding:14px clamp(20px, 4vw, 56px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-family:"Space Grotesk",sans-serif;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:14px;
  font-weight:500;
}
.ss-header .ss-brand{
  display:flex; align-items:center; gap:10px;
  font-family:"Archivo Black",sans-serif;
  letter-spacing:0.02em;
  font-size:17px;
  text-transform:none;
  color:var(--ink);
  text-decoration:none;
}
.ss-header .ss-brand .ss-ast{
  font-size:22px; line-height:1; transform:translateY(-2px);
}
.ss-nav{ display:flex; gap:28px; align-items:center; }
.ss-nav a{
  color:var(--ink); text-decoration:none; position:relative;
}
.ss-nav a:hover::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:3px; background:var(--accent);
}
.ss-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--accent);
  color:var(--ink);
  padding:10px 18px;
  border:var(--brd-2);
  box-shadow:4px 4px 0 var(--ink);
  text-decoration:none;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:14px;
  transition:transform .08s ease, box-shadow .08s ease;
}
.ss-cta:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink); }
.ss-cta:active{ transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink); }
.ss-cta--ghost{
  background:transparent; box-shadow:none; border:var(--brd-2);
}
.ss-cta--ghost:hover{ background:var(--accent); box-shadow:4px 4px 0 var(--ink); transform:translate(-2px,-2px); }

.ss-burger{ display:none; background:none; border:var(--brd-2); width:44px; height:44px; cursor:pointer; align-items:center; justify-content:center; }
.ss-burger span{ width:22px; height:3px; background:var(--ink); display:block; position:relative; }
.ss-burger span::before,
.ss-burger span::after{ content:""; position:absolute; left:0; width:22px; height:3px; background:var(--ink); }
.ss-burger span::before{ top:-7px; }
.ss-burger span::after{ top:7px; }

/* ═══════════════════════════════════════════════════════════════
   SECTION SHELL (one per "slide")
   ═══════════════════════════════════════════════════════════ */
.ss-section{
  min-height:100vh;
  scroll-snap-align:start;
  position:relative;
  background:var(--paper);
  color:var(--ink);
  /* top padding clears sticky header (~72px) + top rail; bottom clears bottom rail */
  padding:clamp(150px, 16vh, 200px) var(--pad-x) clamp(100px, 10vh, 150px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.ss-section + .ss-section{ border-top:var(--brd); }

/* top + bottom rails (structural chrome) */
.ss-rail{
  position:absolute;
  left:0; right:0;
  padding:0 var(--pad-x);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(12px, 1vw, 16px);
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  white-space:nowrap;
  gap:20px;
  z-index:5;
}
.ss-rail--top{ top:clamp(84px, 9vh, 104px); }
.ss-rail--bot{ bottom:clamp(24px, 3vh, 40px); }
.ss-rail__left, .ss-rail__right{ display:flex; align-items:center; gap:14px; }
.ss-rail__num{
  background:var(--ink); color:var(--paper);
  padding:4px 10px 3px;
  font-weight:700;
}
.ss-ast{
  font-family:"Archivo Black",sans-serif;
  font-size:22px; line-height:1;
}

/* Flourishes */
.ss-flourish{ position:absolute; pointer-events:none; z-index:0; }
.ss-fl-mag{ background:var(--accent-2); border:var(--brd); }
.ss-fl-cyan{ background:var(--accent-3); border:var(--brd); }

/* Content frame sits above flourishes */
.ss-frame{ position:relative; z-index:2; width:100%; max-width:1600px; margin:0 auto; }

/* ═══════════════════════════════════════════════════════════════
   SECTION 01 — HERO / TITLE
   ═══════════════════════════════════════════════════════════ */
.ss-hero{ background:var(--paper); }
.ss-hero .ss-frame{ display:grid; grid-template-columns:1fr; gap:clamp(20px, 3vh, 40px); }
.ss-hero .ss-display em{
  font-style:normal;
  background:var(--accent);
  padding:0 10px;
  border:var(--brd-3);
  box-shadow:10px 10px 0 var(--ink);
  display:inline-block;
  transform:rotate(-1deg);
}
.ss-hero .ss-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; }
.ss-hero .ss-fl-mag{ right:6vw; top:20vh; width:140px; height:140px; border-radius:50%; }
.ss-hero .ss-fl-cyan{ right:18vw; bottom:18vh; width:90px; height:90px; }

/* ═══════════════════════════════════════════════════════════════
   SECTION 02 — PROBLEM
   ═══════════════════════════════════════════════════════════ */
.ss-problem{ background:var(--paper-2); }
.ss-problem .ss-frame{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(30px, 5vw, 80px); align-items:center; padding-top:clamp(12px, 2vh, 24px); }
.ss-problem .ss-mega{
  font-family:"Archivo Black",sans-serif;
  font-size:clamp(160px, 22vw, 380px);
  line-height:0.85;
  letter-spacing:-0.03em;
  color:var(--ink);
}
.ss-problem .ss-mega sup{
  font-size:0.35em;
  vertical-align:top;
  display:inline-block;
  transform:translateY(0.3em);
  color:var(--accent-2);
}
.ss-problem .ss-source{
  font-family:"JetBrains Mono",monospace;
  font-size:13px; letter-spacing:0.1em; text-transform:uppercase;
  opacity:0.7; margin-top:20px;
}
@media (max-width:900px){
  .ss-problem .ss-frame{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 03 — TEAM
   ═══════════════════════════════════════════════════════════ */
.ss-team{ background:var(--paper); }
.ss-team .ss-row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:clamp(24px, 4vh, 40px); }
.ss-card{
  border:var(--brd); background:var(--paper);
  box-shadow:10px 10px 0 var(--ink);
  display:flex; flex-direction:column;
}
.ss-card__head{
  background:var(--ink); color:var(--paper);
  padding:14px 22px 16px;
  display:flex; justify-content:space-between; align-items:flex-end; gap:14px;
}
.ss-card__head .hnum{
  font-family:"Archivo Black",sans-serif; font-size:13px; letter-spacing:0.14em; color:var(--accent); margin-bottom:4px;
}
.ss-card__head .hlabel{
  font-family:"JetBrains Mono",monospace; font-size:15px; letter-spacing:0.08em; text-transform:uppercase;
}
.ss-card__head .hyrs{
  font-family:"Archivo Black",sans-serif; font-size:28px; line-height:0.9; white-space:nowrap;
}
.ss-card:nth-child(2) .ss-card__head{ background:var(--accent); color:var(--ink); }
.ss-card:nth-child(2) .ss-card__head .hnum{ color:var(--ink); opacity:0.7; }
.ss-card:nth-child(2) .ss-card__head .hyrs{ color:var(--ink); }
.ss-card__avatar{
  height:150px;
  border-bottom:var(--brd);
  display:flex; align-items:flex-end;
  padding:20px 28px;
  background:
    repeating-linear-gradient(45deg, var(--ink) 0 2px, transparent 2px 14px),
    var(--paper-2);
  overflow:hidden;
}
.ss-card:nth-child(2) .ss-card__avatar{
  background:
    repeating-linear-gradient(45deg, var(--ink) 0 2px, transparent 2px 14px),
    var(--accent-3);
}
.ss-card__avatar .name{
  font-family:"Archivo Black",sans-serif;
  font-size:clamp(48px, 5vw, 78px);
  line-height:0.85;
  text-transform:uppercase;
  background:var(--paper);
  padding:6px 14px 4px;
  border:var(--brd-3);
  box-shadow:6px 6px 0 var(--ink);
}
.ss-card__body{
  padding:20px 26px 24px;
  display:flex; flex-direction:column; gap:12px;
}
.ss-card__body p{
  margin:0; font-size:clamp(16px,1.2vw,19px); line-height:1.35; font-weight:500;
}
.ss-card__body p.lead{
  font-size:clamp(18px,1.4vw,22px); line-height:1.3; font-weight:700;
  padding-bottom:12px; border-bottom:var(--brd-2);
}
.ss-team .ss-joint{
  margin-top:clamp(20px,3vh,28px);
  border:var(--brd); background:var(--ink); color:var(--paper);
  padding:18px 24px;
  font-size:clamp(16px,1.3vw,20px);
  line-height:1.4;
  display:flex; align-items:center; gap:16px;
  flex-wrap:wrap;
}
.ss-team .ss-joint .plus{
  width:40px; height:40px; background:var(--accent); color:var(--ink);
  border:var(--brd-2); display:grid; place-items:center;
  font-family:"Archivo Black",sans-serif; font-size:24px; flex-shrink:0;
}
.ss-team .ss-joint strong{ color:var(--accent); font-weight:700; }

@media (max-width:900px){
  .ss-team .ss-row{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 04 — OFFER
   ═══════════════════════════════════════════════════════════ */
.ss-offer{ background:var(--paper-2); }
.ss-offer .ss-title em{
  font-style:normal;
  background:var(--accent);
  padding:0 10px;
  border:var(--brd-3);
  box-shadow:6px 6px 0 var(--ink);
  display:inline-block;
}
.ss-offer .ss-two{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
  margin-top:clamp(24px,4vh,40px);
}
.ss-col{
  border:var(--brd); background:var(--paper);
  box-shadow:10px 10px 0 var(--ink);
  display:flex; flex-direction:column;
}
.ss-col__head{
  background:var(--ink); color:var(--paper);
  padding:16px 24px;
  display:flex; align-items:center; gap:18px;
}
.ss-col--b .ss-col__head{ background:var(--accent); color:var(--ink); }
.ss-col__num{
  font-family:"Archivo Black",sans-serif; font-size:clamp(28px,2.5vw,40px); line-height:0.9; flex-shrink:0;
}
.ss-col__title{
  font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:clamp(20px,1.6vw,26px);
  display:flex; flex-direction:column;
}
.ss-col__tag{
  font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:0.08em; text-transform:none;
  opacity:0.75; margin-top:2px; font-weight:500;
}
.ss-col--b .ss-col__tag{ opacity:0.8; }
.ss-col__body{
  padding:20px 26px 24px;
  display:flex; flex-direction:column; gap:12px;
}
.ss-col__body .lead{
  font-family:"Space Grotesk",sans-serif; font-weight:700;
  font-size:clamp(18px,1.4vw,22px); line-height:1.3;
  padding-bottom:12px; border-bottom:var(--brd-2);
}
.ss-col__body ul{
  margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:8px;
}
.ss-col__body li{
  font-size:clamp(15px,1.1vw,18px); line-height:1.35;
  padding-left:18px; position:relative;
}
.ss-col__body li::before{ content:"→"; position:absolute; left:0; font-weight:700; }

.ss-offer .ss-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:clamp(24px,4vh,40px); justify-content:center; }
.ss-offer .ss-fl-mag{ left:-40px; bottom:-40px; width:140px; height:140px; border-radius:50%; }

@media (max-width:900px){
  .ss-offer .ss-two{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 05 — CLOSE / CTA
   ═══════════════════════════════════════════════════════════ */
.ss-close{
  background:var(--ink);
  color:var(--paper);
  text-align:center;
  align-items:center;
  justify-content:center;
}
.ss-close .ss-rail{ color:var(--paper); }
.ss-close .ss-rail__num{ background:var(--accent); color:var(--ink); }
.ss-close .ss-frame{ display:flex; flex-direction:column; align-items:center; gap:clamp(20px,3vh,28px); }
.ss-close .ss-ws{
  font-family:"JetBrains Mono",monospace;
  font-size:clamp(14px,1.3vw,22px);
  letter-spacing:0.4em; text-transform:uppercase;
  color:var(--accent);
  white-space:nowrap;
}
.ss-close .ss-big{
  font-family:"Space Grotesk",sans-serif;
  font-weight:600;
  font-size:clamp(56px,10vw,140px);
  line-height:0.95;
  letter-spacing:-0.03em;
  margin:0;
  max-width:1500px;
}
.ss-close .ss-big em{
  font-style:normal;
  background:var(--accent); color:var(--ink);
  padding:0 16px;
  border:var(--brd);
  display:inline-block;
  transform:rotate(-1deg);
}
.ss-close .ss-duo{
  margin-top:10px;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px);
}
.ss-close .ss-who{
  font-family:"Archivo Black",sans-serif;
  font-size:clamp(26px,3vw,40px);
  letter-spacing:-0.01em;
}
.ss-close .ss-role{
  font-family:"JetBrains Mono",monospace; font-size:13px;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--accent); margin-top:6px;
}
.ss-close .ss-actions{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:12px; }
.ss-close .ss-cta{ background:var(--accent); color:var(--ink); }
.ss-close .ss-cta--ghost{ background:transparent; color:var(--accent); border-color:var(--accent); }
.ss-close .ss-cta--ghost:hover{ background:var(--accent); color:var(--ink); }
.ss-close .ss-fl-mag{ right:-80px; bottom:-80px; width:clamp(180px,22vw,320px); height:clamp(180px,22vw,320px); border-radius:50%; }
.ss-close .ss-fl-cyan{ left:-60px; top:-60px; width:clamp(140px,16vw,220px); height:clamp(140px,16vw,220px); }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.ss-footer{
  background:var(--paper);
  border-top:var(--brd);
  padding:40px clamp(20px, 4vw, 56px) 30px;
  font-family:"Space Grotesk",sans-serif;
  color:var(--ink);
}
.ss-footer .ss-foot-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:30px;
  border-bottom:var(--brd-2);
}
.ss-footer h4{
  font-family:"JetBrains Mono",monospace;
  font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
  margin:0 0 14px; opacity:0.65; font-weight:700;
}
.ss-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.ss-footer a{ color:var(--ink); text-decoration:none; font-size:16px; }
.ss-footer a:hover{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.ss-footer .ss-brand{ font-family:"Archivo Black",sans-serif; font-size:26px; display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.ss-footer .ss-bio{ font-size:16px; line-height:1.45; max-width:40ch; opacity:0.8; }
.ss-footer .ss-foot-bar{
  padding-top:22px;
  display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
  font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; opacity:0.6;
}

@media (max-width:900px){
  .ss-footer .ss-foot-grid{ grid-template-columns:1fr 1fr; gap:30px; }
}
@media (max-width:560px){
  .ss-footer .ss-foot-grid{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — disable snap + shrink chrome on mobile
   ═══════════════════════════════════════════════════════════ */
@media (max-width:900px){
  body.skyward-snap{ scroll-snap-type:none; }
  .ss-section{ min-height:auto; padding-top:clamp(100px,16vh,140px); padding-bottom:80px; }
  .ss-rail{ font-size:11px; }
  .ss-rail--top{ top:84px; }
  .ss-nav{ display:none; }
  .ss-burger{ display:flex; }
  body.ss-nav-open .ss-nav{
    display:flex; flex-direction:column;
    position:fixed; top:72px; left:0; right:0;
    background:var(--paper); border-bottom:var(--brd);
    padding:24px var(--pad-x); gap:18px;
    font-size:18px;
  }
}

/* ═══════════════════════════════════════════════════════════════
   STANDALONE THEME — no parent chrome to hide
   ═══════════════════════════════════════════════════════════ */

/* Small polish */
::selection{ background:var(--accent); color:var(--ink); }
