/* /www/apply.altproductiongroup.com/public/assets/css/brands/mouw.css
 *
 * Brand: The Ministry of Ungentlemanly Warfare (MoUW)
 * Visual intent:
 * - Vintage ministry / wartime print aesthetic
 * - Parchment paper base, ink-stamped typography, restrained accent red
 * - Corporate-grade readability and layout, but unmistakably “Ministry”
 *
 * Integration contract:
 * - Your HTML should set either:
 *     <body data-brand="mouw"> ... OR ...
 *     <section class="brand brand--mouw" data-brand="mouw">
 *
 * Base stylesheet (global.css) supplies:
 * - grids, spacing scale, typography baseline
 * - shared components (cards, buttons, inputs)
 *
 * This file:
 * - overrides brand tokens (CSS variables)
 * - restyles key components to match MoUW tone (paper, ink, stamps)
 */

/* -------------------------------------------------------------------------- */
/* MoUW brand tokens                                                           */
/* -------------------------------------------------------------------------- */

:root {
  /* Paper + ink */
  --mouw-paper-0: #f2e6cf; /* warm parchment */
  --mouw-paper-1: #e9dcc3; /* slightly deeper parchment */
  --mouw-ink: #1e1b16;     /* near-black ink */
  --mouw-ink-dim: rgba(30, 27, 22, 0.78);
  --mouw-ink-muted: rgba(30, 27, 22, 0.62);

  /* Ministry accent red (matches your emblem accents) */
  --mouw-red: #b5452a;
  --mouw-red-2: #d0633f;

  /* Decorative line colour */
  --mouw-rule: rgba(30, 27, 22, 0.18);
  --mouw-rule-strong: rgba(30, 27, 22, 0.28);

  /* Surfaces */
  --mouw-surface: rgba(255, 255, 255, 0.55);
  --mouw-surface-2: rgba(255, 255, 255, 0.70);

  /* Borders + shadows */
  --mouw-border: rgba(30, 27, 22, 0.18);
  --mouw-border-strong: rgba(30, 27, 22, 0.26);

  /* Focus ring (restrained) */
  --mouw-focus: rgba(181, 69, 42, 0.35);

  /* “Print” shadow: subtle */
  --mouw-shadow: 0 10px 24px rgba(30, 27, 22, 0.18);
  --mouw-glow: none;

  /* Radius: less “tech” */
  --mouw-radius: 12px;

  /* Gradients (used sparingly, mostly as stamp/stripe) */
  --mouw-grad-primary: linear-gradient(90deg, var(--mouw-red), var(--mouw-red-2));
  --mouw-grad-soft: linear-gradient(135deg, rgba(181, 69, 42, 0.10), rgba(208, 99, 63, 0.08));
}

/* Apply tokens when MoUW is active */
body[data-brand="mouw"],
.brand--mouw,
section[data-brand="mouw"] {
  --brand-bg-0: var(--mouw-paper-0);
  --brand-bg-1: var(--mouw-paper-1);

  --brand-ink: var(--mouw-ink);
  --brand-ink-dim: var(--mouw-ink-dim);
  --brand-ink-muted: var(--mouw-ink-muted);

  --brand-accent-1: var(--mouw-red);
  --brand-accent-2: var(--mouw-red-2);
  --brand-accent-3: var(--mouw-red);

  --brand-gradient: var(--mouw-grad-primary);
  --brand-gradient-soft: var(--mouw-grad-soft);

  --brand-border: var(--mouw-border);
  --brand-border-strong: var(--mouw-border-strong);

  --brand-surface: var(--mouw-surface);
  --brand-surface-2: var(--mouw-surface-2);

  --brand-focus: var(--mouw-focus);
  --brand-shadow: var(--mouw-shadow);
  --brand-glow: var(--mouw-glow);

  --brand-radius: var(--mouw-radius);
}

/* -------------------------------------------------------------------------- */
/* MoUW background: parchment + subtle print texture                           */
/* -------------------------------------------------------------------------- */

body[data-brand="mouw"] {
  color: var(--brand-ink);
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(255,255,255,0.38), transparent 60%),
    radial-gradient(900px 520px at 82% 18%, rgba(255,255,255,0.25), transparent 62%),
    linear-gradient(180deg, var(--brand-bg-0), var(--brand-bg-1));
}

/* MoUW section on a mixed-brand page */
.brand--mouw,
section[data-brand="mouw"] {
  position: relative;
  color: var(--brand-ink);
  background:
    radial-gradient(1000px 600px at 18% 12%, rgba(255,255,255,0.40), transparent 62%),
    linear-gradient(180deg, var(--brand-bg-0), var(--brand-bg-1));
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-radius);
  box-shadow: var(--brand-shadow);
  overflow: hidden;
}

/* Print texture overlay (paper grain) */
.brand--mouw::before,
section[data-brand="mouw"]::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.70;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(30,27,22,0.02) 0px,
      rgba(30,27,22,0.02) 1px,
      transparent 1px,
      transparent 6px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(30,27,22,0.015) 0px,
      rgba(30,27,22,0.015) 1px,
      transparent 1px,
      transparent 10px
    ),
    radial-gradient(2px 2px at 10% 20%, rgba(30,27,22,0.05) 50%, transparent 55%),
    radial-gradient(2px 2px at 65% 55%, rgba(30,27,22,0.04) 50%, transparent 55%),
    radial-gradient(1px 1px at 80% 25%, rgba(30,27,22,0.04) 50%, transparent 55%);
  mix-blend-mode: multiply;
}

/* Top “rule” (like a printed divider) */
.brand--mouw::after,
section[data-brand="mouw"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(30,27,22,0.25), transparent);
  pointer-events: none;
}

/* Raise content above overlays */
.brand--mouw > *,
section[data-brand="mouw"] > * {
  position: relative;
  z-index: 1;
}

/* -------------------------------------------------------------------------- */
/* MoUW typography tweaks (optional, safe)                                     */
/* -------------------------------------------------------------------------- */

/* If your global font is modern, this adds “print weight” without forcing fonts */
body[data-brand="mouw"] .page-title,
.brand--mouw .page-title,
section[data-brand="mouw"] .page-title {
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

/* Stamp-style title (use on small headings if desired) */
.stamp-title--mouw {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--brand-ink);
}

/* -------------------------------------------------------------------------- */
/* Logo lockup                                                                 */
/* -------------------------------------------------------------------------- */

/* Expected markup:
 * <div class="brand-lockup brand-lockup--mouw">
 *   <img class="brand-lockup__logo" src="/assets/img/brands/mouw/logo.png" alt="The Ministry of Ungentlemanly Warfare">
 * </div>
 */
.brand-lockup--mouw {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-lockup--mouw .brand-lockup__logo {
  height: 48px;
  width: auto;
  filter: drop-shadow(0 8px 14px rgba(30,27,22,0.18));
}

/* If you render text instead of an image */
.brand-title--mouw {
  color: var(--brand-ink);
  letter-spacing: 0.9px;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------- */
/* Lane cards (skills/domains)                                                 */
/* -------------------------------------------------------------------------- */

.brand--mouw .lane-grid,
section[data-brand="mouw"] .lane-grid {
  display: grid;
  gap: 14px;
}

.brand--mouw .lane-card,
section[data-brand="mouw"] .lane-card {
  border: 1px solid var(--brand-border);
  background: linear-gradient(180deg, rgba(255,255,255,0.68), rgba(255,255,255,0.54));
  border-radius: calc(var(--brand-radius) - 2px);
  box-shadow: 0 10px 18px rgba(30,27,22,0.12);
  position: relative;
  overflow: hidden;
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

/* Ink wash behind cards */
.brand--mouw .lane-card::before,
section[data-brand="mouw"] .lane-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 300px at 20% 20%, rgba(181,69,42,0.07), transparent 60%),
              radial-gradient(520px 280px at 80% 60%, rgba(30,27,22,0.05), transparent 65%);
  opacity: 0.90;
  pointer-events: none;
  mix-blend-mode: multiply;
}

/* Hover: feels like paper lifting */
.brand--mouw .lane-card:hover,
section[data-brand="mouw"] .lane-card:hover {
  transform: translateY(-2px);
  border-color: var(--brand-border-strong);
  box-shadow: 0 14px 26px rgba(30,27,22,0.16);
}

.brand--mouw .lane-card__title,
section[data-brand="mouw"] .lane-card__title {
  margin: 0 0 6px 0;
  font-weight: 800;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.brand--mouw .lane-card__desc,
section[data-brand="mouw"] .lane-card__desc {
  margin: 0;
  color: var(--brand-ink-dim);
}

.brand--mouw .lane-card__cta,
section[data-brand="mouw"] .lane-card__cta {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* -------------------------------------------------------------------------- */
/* Buttons: printed + stamped                                                   */
/* -------------------------------------------------------------------------- */

.brand--mouw .btn,
section[data-brand="mouw"] .btn {
  border-radius: 10px; /* more “print” than pill */
  border: 1px solid var(--brand-border);
  background: rgba(255,255,255,0.70);
  color: var(--brand-ink);
  padding: 10px 14px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  user-select: none;
}

.brand--mouw .btn:hover,
section[data-brand="mouw"] .btn:hover {
  transform: translateY(-1px);
  border-color: var(--brand-border-strong);
  background: rgba(255,255,255,0.80);
  box-shadow: 0 10px 18px rgba(30,27,22,0.10);
}

.brand--mouw .btn:focus-visible,
section[data-brand="mouw"] .btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px var(--brand-focus);
}

/* Primary: stamp red */
.brand--mouw .btn--primary,
section[data-brand="mouw"] .btn--primary {
  border-color: rgba(181,69,42,0.55);
  background: linear-gradient(180deg, rgba(181,69,42,0.14), rgba(181,69,42,0.10));
  color: var(--brand-ink);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  box-shadow: 0 10px 18px rgba(30,27,22,0.12);
}

.brand--mouw .btn--primary:hover,
section[data-brand="mouw"] .btn--primary:hover {
  background: linear-gradient(180deg, rgba(181,69,42,0.18), rgba(181,69,42,0.12));
}

/* Outline */
.brand--mouw .btn--outline,
section[data-brand="mouw"] .btn--outline {
  background: transparent;
  border-color: rgba(30,27,22,0.26);
}

/* -------------------------------------------------------------------------- */
/* Forms: paper fields                                                         */
/* -------------------------------------------------------------------------- */

.brand--mouw .form-shell,
section[data-brand="mouw"] .form-shell {
  border: 1px solid var(--brand-border);
  background: rgba(255,255,255,0.60);
  border-radius: var(--brand-radius);
  box-shadow: 0 10px 20px rgba(30,27,22,0.14);
}

.brand--mouw input[type="text"],
.brand--mouw input[type="email"],
.brand--mouw input[type="url"],
.brand--mouw textarea,
.brand--mouw select,
section[data-brand="mouw"] input[type="text"],
section[data-brand="mouw"] input[type="email"],
section[data-brand="mouw"] input[type="url"],
section[data-brand="mouw"] textarea,
section[data-brand="mouw"] select {
  background: rgba(255,255,255,0.76);
  border: 1px solid rgba(30,27,22,0.20);
  color: var(--brand-ink);
  border-radius: 10px;
}

.brand--mouw input:focus,
.brand--mouw textarea:focus,
.brand--mouw select:focus,
section[data-brand="mouw"] input:focus,
section[data-brand="mouw"] textarea:focus,
section[data-brand="mouw"] select:focus {
  outline: 0;
  border-color: rgba(181,69,42,0.40);
  box-shadow: 0 0 0 3px rgba(181,69,42,0.12);
}

.brand--mouw .help-text,
section[data-brand="mouw"] .help-text {
  color: var(--brand-ink-muted);
}

/* -------------------------------------------------------------------------- */
/* Brandstripe: vintage divider                                                */
/* -------------------------------------------------------------------------- */

.brand--mouw .brandstripe,
section[data-brand="mouw"] .brandstripe {
  height: 3px;
  border-radius: 2px;
  background:
    linear-gradient(90deg, transparent, rgba(181,69,42,0.85), transparent);
}

/* Optional decorative rule (if used beneath headings) */
.brand--mouw .rule,
section[data-brand="mouw"] .rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mouw-rule-strong), transparent);
  margin: 10px 0;
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                  */
/* -------------------------------------------------------------------------- */

@media (max-width: 760px) {
  .brand-lockup--mouw .brand-lockup__logo {
    height: 42px;
  }

  .brand--mouw .btn,
  section[data-brand="mouw"] .btn {
    width: 100%;
  }
}
