/* ============================================================
   CUSTOM FONTS
   ============================================================ */
@font-face { font-family:'GTFlexa'; src:url('../fonts/GTFlexa-CompressedBlack.otf') format('opentype'); font-weight:900; }
@font-face { font-family:'GTFlexa'; src:url('../fonts/GTFlexa-CompressedBold.otf') format('opentype'); font-weight:700; }
@font-face { font-family:'FieldGothic'; src:url('../fonts/FieldGothic-No75.otf') format('opentype'); }
@font-face { font-family:'Clonoid'; src:url('../fonts/Clonoid-Regular.ttf') format('truetype'); }
@font-face { font-family:'Serena'; src:url('../fonts/Serena.otf') format('opentype'); }
@font-face { font-family:'Bicrode'; src:url('../fonts/Bicrode.ttf') format('truetype'); }

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --bg: #e7e7e3;
  --ink: #2b2925;
  --accent: #2f43d6;
  --border: rgba(43,41,37,0.16);
  --border-med: rgba(43,41,37,0.20);
  --grain: 0.5;
}

/* ============================================================
   RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Spectral', Georgia, serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes vb-drift1 {
  0%,100% { transform: translate(-3%,-2%) scale(1); }
  50%      { transform: translate(5%,4%) scale(1.09); }
}
@keyframes vb-drift2 {
  0%,100% { transform: translate(3%,2%) scale(1.05); }
  50%      { transform: translate(-5%,-3%) scale(0.95); }
}
@keyframes vb-breathe {
  0%,100% { opacity: .42; }
  50%      { opacity: .72; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   GRAIN OVERLAY
   ============================================================ */
.grain-overlay {
  position: fixed; inset: 0; z-index: 90; pointer-events: none;
  mix-blend-mode: multiply; opacity: var(--grain);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");
}

/* ============================================================
   RETICLE CURSOR
   ============================================================ */
[data-reticle] {
  position: fixed; left: 0; top: 0; z-index: 95;
  width: 30px; height: 30px; margin: -15px 0 0 -15px;
  pointer-events: none; opacity: 0; will-change: transform;
  transition: opacity .4s ease, width .35s ease, height .35s ease, margin .35s ease;
}
[data-reticle] .r-ring { position:absolute; inset:0; border:1px solid var(--accent); border-radius:50%; opacity:.7; }
[data-reticle] .r-h    { position:absolute; left:50%; top:50%; width:5px; height:1px; background:var(--accent); transform:translate(-50%,-50%); }
[data-reticle] .r-v    { position:absolute; left:50%; top:50%; width:1px; height:5px; background:var(--accent); transform:translate(-50%,-50%); }

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 80;
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px clamp(20px,4vw,56px);
  mix-blend-mode: multiply;
}
.nav-brand { display:flex; align-items:center; gap:11px; color:var(--ink); }
.nav-brand-text { font-family:'Spectral',serif; font-weight:400; font-size:1.16rem; letter-spacing:.14em; text-transform:uppercase; }
[data-navlinks] { list-style:none; display:flex; gap:30px; font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
[data-navlinks] a { color:var(--ink); opacity:.62; border-bottom:1px solid transparent; padding-bottom:3px; }
[data-navlinks] a[data-active] { opacity:1; border-bottom-color:var(--accent); }
[data-hamburger] { display:none; background:none; border:none; font-size:1.1rem; color:var(--ink); cursor:pointer; font-family:'IBM Plex Mono',monospace; }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative; min-height: 100vh; display: flex;
  flex-direction: column; justify-content: flex-end;
  padding: 0 clamp(20px,4vw,56px) clamp(40px,7vh,88px);
  overflow: hidden;
}
.hero-smokes { position:absolute; inset:0; pointer-events:none; mix-blend-mode:multiply; overflow:hidden; }
.hero-smoke-1 {
  position:absolute; top:10%; left:2%; width:52vw; height:52vw; max-width:660px; max-height:660px;
  border-radius:50%; filter:blur(64px);
  background:radial-gradient(circle at 50% 50%, rgba(206,138,164,0.34), rgba(206,138,164,0.10) 48%, transparent 70%);
  animation: vb-drift1 27s ease-in-out infinite;
}
.hero-smoke-2 {
  position:absolute; bottom:0; right:1%; width:46vw; height:46vw; max-width:560px; max-height:560px;
  border-radius:50%; filter:blur(70px);
  background:radial-gradient(circle at 50% 50%, rgba(126,170,196,0.32), transparent 68%);
  animation: vb-drift2 34s ease-in-out infinite;
}
.hero-smoke-3 {
  position:absolute; top:40%; left:38%; width:30vw; height:30vw; max-width:380px; max-height:380px;
  border-radius:50%; filter:blur(58px);
  background:radial-gradient(circle at 50% 50%, rgba(58,55,48,0.16), transparent 66%);
  animation: vb-drift1 41s ease-in-out infinite;
}
.hero-cymatics {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-54%);
  width:min(86vmin,860px); height:min(86vmin,860px);
}
.hero-cymatics svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; mix-blend-mode:multiply; }
.hero-tag {
  position:absolute; top:clamp(96px,15vh,150px); left:clamp(20px,4vw,56px);
  font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; opacity:.6;
}
.hero-content { position:relative; max-width:1280px; width:100%; margin:0 auto; }
.hero-title {
  font-family:'Spectral',serif; font-weight:300; font-size:clamp(2.6rem,7.2vw,6rem);
  line-height:1; letter-spacing:-0.018em; margin:0 0 1.4rem; max-width:16ch;
}
.hero-sub { font-family:'Spectral',serif; font-style:italic; font-weight:300; font-size:clamp(1.05rem,1.7vw,1.4rem); opacity:.78; margin:0 0 2.2rem; }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.hero-location {
  position:absolute; bottom:clamp(40px,7vh,88px); right:clamp(20px,4vw,56px);
  font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; opacity:.6; text-align:right;
}

/* ============================================================
   BUTTONS
   ============================================================ */
[data-btn="fill"] {
  font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  background:#2b2925; color:#e7e3da; padding:14px 22px; border-radius:2px;
  border:none; cursor:pointer; transition:background .4s ease, color .4s ease;
}
[data-btn="ghost"] {
  font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink); padding:14px 22px; border:1px solid rgba(43,41,37,0.34); border-radius:2px;
  background:transparent; cursor:pointer; transition:border-color .4s ease, background .4s ease;
}
[data-tlink] { font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--accent); padding-bottom:3px; }

/* ============================================================
   SECTIONS
   ============================================================ */
.vb-section { border-top:1px solid var(--border); padding:clamp(64px,11vh,128px) clamp(20px,4vw,56px); }
.vb-section.pos-rel { position:relative; overflow:hidden; }
.vb-inner { max-width:1280px; margin:0 auto; }

.section-row {
  display:flex; justify-content:space-between;
  font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; opacity:.55;
  margin-bottom:clamp(40px,7vh,80px);
}

.s-heading {
  font-family:'Spectral',serif; font-weight:300;
  font-size:clamp(2rem,4.2vw,3.4rem); line-height:1.04; letter-spacing:-0.015em; margin:0;
}

/* gradient stripe decorators */
.stripe-blue {
  position:absolute; top:-6%; right:7%; width:clamp(70px,9vw,132px); height:112%;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(126,170,196,0) 0%,rgba(126,170,196,0.26) 38%,rgba(120,150,178,0.14) 100%);
  mix-blend-mode:multiply;
}
.stripe-rose {
  position:absolute; top:-4%; left:4%; width:clamp(60px,7vw,110px); height:108%;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(206,138,164,0) 0%,rgba(206,138,164,0.22) 44%,rgba(196,132,158,0.10) 100%);
  mix-blend-mode:multiply;
}

/* ============================================================
   WHAT IS IT
   ============================================================ */
.what-grid { display:grid; grid-template-columns:1fr; gap:clamp(28px,5vw,72px); }
.what-body { font-size:clamp(1.02rem,1.35vw,1.18rem); line-height:1.72; margin:0 0 1.2rem; max-width:60ch; }

/* ============================================================
   BENEFITS
   ============================================================ */
.benefits-grid { display:grid; grid-template-columns:1fr; gap:clamp(36px,5vw,72px); align-items:start; }
.benefit-panel {
  position:relative; width:100%; aspect-ratio:1/1; max-width:420px;
  border:1px solid rgba(43,41,37,0.16);
}
.benefit-panel-lbl {
  position:absolute; left:11px; bottom:9px;
  font-family:'IBM Plex Mono',monospace; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; opacity:.5; z-index:1;
}
.benefit-panel-tag {
  position:absolute; right:10px; top:9px; text-align:right;
  font-family:'IBM Plex Mono',monospace; font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; opacity:.46; line-height:1.6; z-index:1;
}
.benefit-dot-corner {
  position:absolute; right:-14px; top:-14px; width:62px; height:62px;
  border:1px solid rgba(43,41,37,0.3);
  background-image:radial-gradient(rgba(43,41,37,0.5) 0.9px,transparent 1.3px);
  background-size:5px 5px; background-color:#dad6cd;
}
.benefits-list { list-style:none; }
.benefits-list li {
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:baseline;
  padding:16px 0; border-top:1px solid rgba(43,41,37,0.14);
  font-size:clamp(1rem,1.3vw,1.16rem); line-height:1.5;
}
.benefits-list li:last-child { border-bottom:1px solid rgba(43,41,37,0.14); }
.benefit-num { font-family:'IBM Plex Mono',monospace; font-size:.74rem; opacity:.5; }

/* ============================================================
   SESSIONS
   ============================================================ */
.sessions-grid { display:grid; grid-template-columns:1fr; gap:clamp(20px,3vw,40px); }
[data-card] {
  border:1px solid rgba(43,41,37,0.18); padding:clamp(28px,3vw,40px);
  display:flex; flex-direction:column; transition:background .5s ease;
}
.card-tag { font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; opacity:.5; margin-bottom:18px; }
.card-title { font-family:'Spectral',serif; font-weight:400; font-size:clamp(1.5rem,2.4vw,2rem); margin:0 0 1rem; }
.card-desc { font-size:1.04rem; line-height:1.66; margin:0 0 1.6rem; opacity:.86; }
.card-duration { font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.08em; opacity:.6; margin:0 0 1.8rem; }

/* ============================================================
   ENDORSEMENTS
   ============================================================ */
.endorsements-grid { display:grid; grid-template-columns:1fr; gap:clamp(32px,3vw,48px); }
.endorsement-col { border-top:1px solid rgba(43,41,37,0.2); padding-top:22px; }
.endorsement-quote { font-family:'Spectral',serif; font-style:italic; font-weight:300; font-size:clamp(1.18rem,1.6vw,1.4rem); line-height:1.5; margin:0 0 1.6rem; }
.endorsement-name { font-family:'IBM Plex Mono',monospace; font-size:.78rem; letter-spacing:.06em; margin:0 0 .3rem; }
.endorsement-role { font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.05em; opacity:.55; }

/* ============================================================
   LOCATIONS
   ============================================================ */
.locations-grid { display:grid; grid-template-columns:1fr; gap:clamp(32px,3vw,48px); }
.location-name { font-family:'Spectral',serif; font-weight:300; font-size:clamp(2rem,3.4vw,2.8rem); margin:0 0 1rem; letter-spacing:-0.01em; }
.location-desc { font-size:1.04rem; line-height:1.66; margin:0 0 1.4rem; opacity:.86; max-width:34ch; }

/* ============================================================
   PULL QUOTE
   ============================================================ */
.pull-quote-section { position:relative; overflow:hidden; padding:clamp(96px,18vh,200px) clamp(20px,4vw,56px); }
.pq-smokes { position:absolute; inset:0; pointer-events:none; mix-blend-mode:multiply; overflow:hidden; }
.pq-smoke-1 {
  position:absolute; top:6%; left:12%; width:46vw; height:46vw; max-width:560px; max-height:560px;
  border-radius:50%; filter:blur(74px);
  background:radial-gradient(circle at 50%,rgba(206,138,164,0.22),transparent 66%);
  animation:vb-drift2 38s ease-in-out infinite;
}
.pq-smoke-2 {
  position:absolute; bottom:6%; right:14%; width:42vw; height:42vw; max-width:520px; max-height:520px;
  border-radius:50%; filter:blur(74px);
  background:radial-gradient(circle at 50%,rgba(126,170,196,0.22),transparent 66%);
  animation:vb-drift1 46s ease-in-out infinite;
}
.pull-quote-cymatics {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(70vmin,640px); height:min(70vmin,640px); opacity:.6;
}
.pull-quote-inner { position:relative; max-width:900px; margin:0 auto; text-align:center; }
.pull-quote-text {
  font-family:'Spectral',serif; font-style:italic; font-weight:300;
  font-size:clamp(1.7rem,3.6vw,3rem); line-height:1.28; margin:0 0 2rem;
  letter-spacing:-0.01em;
}

/* ============================================================
   FOOTER
   ============================================================ */
footer {
  border-top:1px solid var(--border);
  padding:clamp(36px,5vh,56px) clamp(20px,4vw,56px);
  display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between;
}
.footer-copy { font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.1em; opacity:.55; }
.footer-links { list-style:none; display:flex; gap:26px; font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-links a { color:var(--ink); opacity:.7; }
.footer-links a:hover { opacity:1; }

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero { padding:10rem clamp(20px,4vw,56px) clamp(56px,8vh,96px); border-bottom:1px solid var(--border); }
.page-title { font-family:'Spectral',serif; font-weight:300; font-size:clamp(3rem,8vw,7rem); line-height:1; letter-spacing:-0.02em; margin-bottom:1rem; }
.page-sub { font-family:'Spectral',serif; font-style:italic; font-weight:300; font-size:clamp(1rem,1.6vw,1.3rem); opacity:.7; }

/* ============================================================
   BOOKING
   ============================================================ */
.booking-wrap { padding:4rem clamp(20px,4vw,56px); max-width:1280px; margin:0 auto; }
.booking-step { display:none; }
.booking-step.active { display:block; }
.step-label { font-family:'IBM Plex Mono',monospace; font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; opacity:.5; margin-bottom:1.5rem; }
.step-heading { font-family:'Spectral',serif; font-weight:300; font-size:clamp(1.8rem,3.5vw,2.8rem); letter-spacing:-0.015em; margin-bottom:2.5rem; }

.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--border); margin-bottom:2rem; }
.choice-grid-2 { grid-template-columns:repeat(2,1fr); }
.choice-box { padding:3rem 2rem; border:none; background:rgba(43,41,37,0.03); color:var(--ink); cursor:pointer; text-align:left; font-family:inherit; outline:none; transition:background .2s; }
.choice-box:hover { background:rgba(43,41,37,0.06); }
.choice-box.selected { outline:2px solid var(--accent); outline-offset:-2px; }
.choice-title { font-family:'Spectral',serif; font-weight:300; font-size:2rem; display:block; margin-bottom:.5rem; }
.choice-sub { font-family:'IBM Plex Mono',monospace; font-size:.65rem; letter-spacing:.15em; opacity:.55; text-transform:uppercase; }

.date-group { margin-bottom:2rem; }
.date-group label { display:block; font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; opacity:.6; margin-bottom:.75rem; }
.date-input { background:rgba(43,41,37,0.04); border:1px solid var(--border); color:var(--ink); font-family:'IBM Plex Mono',monospace; font-size:1rem; padding:.85rem 1rem; width:100%; max-width:300px; border-radius:2px; -webkit-appearance:none; }
.date-input:focus { outline:1px solid var(--accent); }

.time-slots { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0 2rem; }
.time-btn { font-family:'IBM Plex Mono',monospace; font-size:.75rem; letter-spacing:.15em; padding:.75rem 1.5rem; background:rgba(43,41,37,0.04); border:1px solid var(--border); color:var(--ink); border-radius:2px; cursor:pointer; transition:border-color .2s,color .2s; }
.time-btn:hover,.time-btn.selected { border-color:var(--accent); color:var(--accent); }
.no-slots { font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.15em; opacity:.5; text-transform:uppercase; }

.form-group { margin-bottom:1.5rem; }
.form-group label { display:block; font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; opacity:.6; margin-bottom:.5rem; }
.form-input,.form-select,.form-textarea { width:100%; background:rgba(43,41,37,0.04); border:1px solid var(--border); color:var(--ink); font-family:'Spectral',serif; font-size:1rem; padding:.85rem 1rem; border-radius:2px; }
.form-input:focus,.form-select:focus,.form-textarea:focus { outline:1px solid var(--accent); }
.form-select { -webkit-appearance:none; cursor:pointer; }
.form-textarea { resize:vertical; min-height:130px; }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.step-nav { display:flex; gap:1rem; margin-top:2rem; }

.confirmation-msg { display:none; text-align:center; padding:6rem 0; }
.confirmation-msg h2 { font-family:'Spectral',serif; font-weight:300; font-size:2rem; margin-bottom:1rem; }
.confirmation-msg p { font-size:1rem; opacity:.7; }

/* ============================================================
   ACCORDION
   ============================================================ */
.accordion { margin-top:2rem; }
.accordion-item { border-top:1px solid var(--border); }
.accordion-item:last-child { border-bottom:1px solid var(--border); }
.accordion-trigger { width:100%; text-align:left; background:none; border:none; color:var(--ink); font-family:'Spectral',serif; font-weight:300; font-size:clamp(1.1rem,1.8vw,1.4rem); padding:1.75rem 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center; transition:opacity .2s; }
.accordion-trigger:hover { opacity:.7; }
.accordion-trigger::after { content:'+'; font-family:'IBM Plex Mono',monospace; font-size:1rem; opacity:.5; flex-shrink:0; transition:transform .25s; }
.accordion-item.open .accordion-trigger::after { transform:rotate(45deg); color:var(--accent); opacity:1; }
.accordion-body { display:none; padding-bottom:2rem; font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.75; opacity:.82; max-width:720px; }
.accordion-body p+p { margin-top:1rem; }
.accordion-item.open .accordion-body { display:block; }

/* ============================================================
   ENDORSEMENTS PAGE
   ============================================================ */
.endorsement-full { padding:5rem 0; border-top:1px solid var(--border); display:grid; grid-template-columns:1fr 2.5fr; gap:4rem; align-items:start; }
.endorsement-full:last-child { border-bottom:1px solid var(--border); }
.photo-placeholder { width:100%; aspect-ratio:3/4; background:rgba(43,41,37,0.07); border:1px solid var(--border); }
.endorsement-full-name { font-family:'Spectral',serif; font-weight:300; font-size:clamp(2.2rem,4.5vw,4.5rem); letter-spacing:-0.015em; line-height:1; margin-bottom:.5rem; }
.endorsement-full-role { font-family:'IBM Plex Mono',monospace; font-size:.65rem; letter-spacing:.18em; opacity:.55; text-transform:uppercase; margin-bottom:2rem; }
.endorsement-full-body { font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.78; opacity:.82; }
.endorsement-full-body p+p { margin-top:1rem; }

/* ============================================================
   TRAINING
   ============================================================ */
.training-section { padding:5rem 0; border-top:1px solid var(--border); }
.training-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; margin-top:2rem; }
.training-included { list-style:none; margin:2rem 0; }
.training-included li { font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; opacity:.6; padding:.75rem 0; border-top:1px solid var(--border); }
.training-included li::before { content:'— '; color:var(--accent); }

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:5rem; align-items:start; padding:5rem 0; }
.contact-locations { list-style:none; margin-top:2rem; }
.contact-locations li { padding:1.5rem 0; border-top:1px solid var(--border); }
.contact-location-name { font-family:'Spectral',serif; font-weight:400; font-size:1rem; margin-bottom:.3rem; }
.contact-location-email { font-family:'IBM Plex Mono',monospace; font-size:.65rem; letter-spacing:.12em; opacity:.55; }
.apply-confirm { display:none; padding:3rem 0; }
.apply-confirm p:first-child { font-family:'Spectral',serif; font-size:1.4rem; margin-bottom:.75rem; }
.contact-page-confirm { display:none; padding:3rem 0; }
.contact-page-confirm p:first-child { font-family:'Spectral',serif; font-size:1.4rem; margin-bottom:.75rem; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:879px) {
  [data-hamburger] { display:block; }
  .endorsement-full,.training-grid,.contact-grid { grid-template-columns:1fr; }
  .endorsement-full .photo-placeholder { max-width:200px; }
  .choice-grid,.choice-grid-2 { grid-template-columns:1fr; }
  .form-grid-2 { grid-template-columns:1fr; }
  footer { flex-direction:column; text-align:center; }
}
