:root {
  --pou-design-ink: #101713;
  --pou-design-gold: #cbb071;
  --pou-design-paper: #f4f0e7;
}

.pou-design-page {
  background: var(--pou-design-paper);
}

.pou-design-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.055) 47%, transparent 68%);
  background-size: 220% 100%;
  animation: pouDesignHeroGlow 9s ease-in-out infinite;
}

.pou-design-gallery {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(203,176,113,.13), transparent 24%),
    radial-gradient(circle at 92% 82%, rgba(43,79,63,.09), transparent 28%),
    linear-gradient(180deg, #f7f4ed 0%, #ece7dc 100%);
}

.pou-design-gallery::before {
  content: "PAUL OAK  /  DESIGN ARCHIVE";
  position: absolute;
  right: -2vw;
  top: 42px;
  color: rgba(20,31,25,.035);
  font: 500 clamp(45px,8vw,130px)/1 var(--pou-serif,serif);
  letter-spacing: .02em;
  white-space: nowrap;
  pointer-events: none;
}

.pou-design-grid {
  position: relative;
  gap: clamp(14px,1.7vw,28px);
}

.pou-design-card {
  --mx: 50%;
  --my: 50%;
  position: relative;
  isolation: isolate;
  margin: 0;
  padding: 7px;
  border: 1px solid rgba(31,45,37,.12);
  border-radius: 3px;
  background: rgba(255,255,255,.5);
  box-shadow: 0 12px 30px rgba(19,29,24,.06);
  overflow: hidden;
  opacity: 0;
  transform: translateY(34px) scale(.98);
  transition: opacity .75s ease, transform .75s cubic-bezier(.2,.75,.2,1), box-shadow .5s ease, border-color .5s ease;
  transition-delay: calc(var(--pou-index, 0) * 55ms);
}

.pou-design-card.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.pou-design-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(320px circle at var(--mx) var(--my), rgba(255,244,207,.42), transparent 44%);
  transition: opacity .35s ease;
}

.pou-design-card::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -35%;
  bottom: -35%;
  left: -75%;
  width: 36%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.68), rgba(255,235,181,.22), transparent);
  transform: skewX(-18deg);
  transition: left .85s cubic-bezier(.2,.7,.2,1);
}

.pou-design-card:hover {
  transform: translateY(-9px) scale(1.012);
  border-color: rgba(173,140,71,.45);
  box-shadow: 0 28px 60px rgba(14,26,20,.18), 0 0 0 1px rgba(255,255,255,.7) inset;
}

.pou-design-card:hover::before { opacity: 1; }
.pou-design-card:hover::after { left: 145%; }

.pou-design-image {
  position: relative;
  z-index: 1;
  border-radius: 1px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(229,224,213,.84)),
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(0,0,0,.018) 14px 15px);
  box-shadow: 0 0 0 1px rgba(25,38,31,.08) inset;
}

.pou-design-image img {
  filter: saturate(.96) contrast(1.01);
  transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .6s ease;
}

.pou-design-card:hover .pou-design-image img {
  transform: scale(1.055);
  filter: saturate(1.08) contrast(1.035);
}

.pou-design-process {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(189,158,91,.13), transparent 25%),
    linear-gradient(145deg, #0a100d, #122119 54%, #0b120e);
}

.pou-design-process::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -260px;
  bottom: -300px;
  border: 1px solid rgba(211,183,116,.25);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(211,183,116,.025), 0 0 0 140px rgba(211,183,116,.018);
}

.pou-design-principles {
  gap: 1px;
  border: 1px solid rgba(211,183,116,.18);
  background: rgba(211,183,116,.18);
  box-shadow: 0 35px 80px rgba(0,0,0,.22);
}

.pou-design-principles article {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(28px);
  background: linear-gradient(145deg, rgba(19,32,25,.97), rgba(11,20,15,.97));
  transition: opacity .7s ease, transform .7s ease, background .45s ease;
}

.pou-design-principles article.is-visible { opacity: 1; transform: none; }
.pou-design-principles article:nth-child(2) { transition-delay: 100ms; }
.pou-design-principles article:nth-child(3) { transition-delay: 200ms; }
.pou-design-principles article:hover { background: linear-gradient(145deg, #1b3025, #101e17); }
.pou-design-principles article::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,transparent,var(--pou-design-gold),transparent); transform:scaleX(0); transition:transform .5s ease; }
.pou-design-principles article:hover::after { transform:scaleX(1); }

@keyframes pouDesignHeroGlow {
  0%,100% { background-position: 120% 0; }
  50% { background-position: -80% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pou-design-card,
  .pou-design-principles article { opacity: 1; transform: none; transition: none; }
  .pou-design-hero::after { animation: none; }
}

@media (max-width: 560px) {
  .pou-design-card { padding: 5px; }
  .pou-design-card:hover { transform: translateY(-4px); }
}
