.dad-gift-guide {
  --dad-ink: #292b4a;
  --dad-paper: #ede4cf;
  --dad-paper-light: #fffaf2;
  --dad-red: #ef4050;
  --dad-pink: #ef0b68;
  --dad-teal: #35a7a9;
  --dad-gold: #ffc33d;
  overflow: hidden;
  background: var(--dad-paper-light);
  color: var(--dad-ink);
  font-family: "Poppins", ui-sans-serif, system-ui, sans-serif;
}

.dad-gift-guide * { box-sizing: border-box; }
.dad-gift-guide__inner { width: min(100% - 80px, 1120px); margin-inline: auto; }
.dad-gift-guide a:not(.button) { color: #8f1646; font-weight: 700; text-decoration-thickness: 2px; }
.dad-gift-guide a:not(.button):hover { color: var(--dad-pink); }
.dad-gift-guide h1,
.dad-gift-guide h2 { color: var(--dad-ink); letter-spacing: -0.04em; }

.dad-gift-guide__hero { position: relative; padding: clamp(3.5rem, 7vw, 7rem) 0 clamp(4.5rem, 8vw, 7.5rem); border-block-end: 4px solid var(--dad-ink); background: var(--dad-paper); }
.dad-gift-guide__hero::before,
.dad-gift-guide__hero::after { position: absolute; width: 120px; height: 18px; background: var(--dad-red); content: ""; transform: rotate(-4deg); }
.dad-gift-guide__hero::before { inset: 2.2rem auto auto -1rem; }
.dad-gift-guide__hero::after { inset: auto -1.2rem 2.5rem auto; background: var(--dad-teal); transform: rotate(6deg); }
.dad-gift-guide__hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr); align-items: center; gap: clamp(2rem, 6vw, 5.5rem); }
.dad-gift-guide__issue,
.dad-gift-guide__kicker,
.dad-gift-guide__label { width: fit-content; margin: 0 0 1rem; color: var(--dad-ink); font-family: "Courier New", ui-monospace, monospace; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.09em; line-height: 1.25; text-transform: uppercase; }
.dad-gift-guide__issue { padding: 0.45rem 0.7rem; border: 2px solid var(--dad-ink); background: var(--dad-gold); box-shadow: 4px 4px 0 var(--dad-ink); transform: rotate(-1deg); }
.dad-gift-guide__hero h1 { max-width: 12ch; margin: 0 0 1.4rem; font-size: clamp(3rem, 7vw, 6.6rem); font-weight: 800; line-height: 0.92; }
.dad-gift-guide__hero h1 span { display: block; color: var(--dad-pink); font-family: "brushberry-script", "Dancing Script", cursive; font-size: 0.86em; font-weight: 500; letter-spacing: 0; line-height: 1; transform: rotate(-2deg); }
.dad-gift-guide__hero-copy > p:not(.dad-gift-guide__issue) { max-width: 58ch; margin: 0 0 0.9rem; font-size: 1rem; line-height: 1.72; }
.dad-gift-guide__hero .dad-gift-guide__standfirst { font-size: clamp(1.2rem, 2vw, 1.45rem); font-weight: 700; line-height: 1.45; }
.dad-gift-guide__no-list { display: inline-block; padding: 0.55rem 0.8rem; border-inline-start: 5px solid var(--dad-red); background: #fff; font-family: "Courier New", ui-monospace, monospace; font-weight: 700; transform: rotate(-0.5deg); }
.dad-gift-guide__hero-art { position: relative; margin: 0; padding: 1.2rem 1.2rem 3.5rem; border: 3px solid var(--dad-ink); background: #fff; box-shadow: 12px 12px 0 var(--dad-teal); transform: rotate(2deg); }
.dad-gift-guide__hero-art img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.dad-gift-guide__hero-art figcaption { position: absolute; inset: auto 1.25rem 1rem; margin: 0; font-family: "Courier New", ui-monospace, monospace; font-size: 0.82rem; font-weight: 700; text-align: center; text-transform: uppercase; }
.dad-gift-guide__tape { position: absolute; z-index: 1; inset: -15px auto auto 50%; width: 112px; height: 30px; background: rgba(255, 195, 61, 0.86); transform: translateX(-50%) rotate(-3deg); }

.dad-gift-guide__decoder { padding: clamp(4rem, 7vw, 6.5rem) 0; background: var(--dad-teal); }
.dad-gift-guide__decoder h2 { max-width: 15ch; margin: 0 0 2rem; font-size: clamp(2.2rem, 4.5vw, 4rem); line-height: 1; }
.dad-gift-guide__label { padding: 0.4rem 0.75rem; border: 2px solid var(--dad-ink); background: #fff; box-shadow: 4px 4px 0 var(--dad-ink); }
.dad-gift-guide__decoder dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.dad-gift-guide__decoder dl > div { padding: 1.35rem; border: 2px solid var(--dad-ink); background: var(--dad-paper-light); box-shadow: 5px 5px 0 var(--dad-ink); }
.dad-gift-guide__decoder dl > div:nth-child(2),
.dad-gift-guide__decoder dl > div:nth-child(3) { background: #fff; }
.dad-gift-guide__decoder dt { margin-block-end: 0.45rem; font-weight: 800; line-height: 1.35; }
.dad-gift-guide__decoder dd { margin: 0; line-height: 1.55; }

.dad-gift-guide__ideas { padding-block: clamp(4rem, 8vw, 8rem); }
.dad-gift-guide__idea { position: relative; display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: clamp(1.3rem, 4vw, 3.5rem); padding: clamp(3rem, 6vw, 5.5rem) 0; border-block-end: 2px dashed var(--dad-ink); }
.dad-gift-guide__number { color: var(--dad-red); font-family: "Courier New", ui-monospace, monospace; font-size: clamp(2.4rem, 5vw, 4.3rem); font-weight: 800; line-height: 1; }
.dad-gift-guide__idea-copy { max-width: 760px; }
.dad-gift-guide__idea h2,
.dad-gift-guide__budget h2,
.dad-gift-guide__choosing h2,
.dad-gift-guide__faq h2 { max-width: 18ch; margin: 0 0 1.5rem; font-size: clamp(2.05rem, 4vw, 3.65rem); font-weight: 800; line-height: 1.02; }
.dad-gift-guide__idea-copy > p { margin: 0 0 1rem; line-height: 1.75; }
.dad-gift-guide__idea-copy ul { display: grid; gap: 0.65rem; margin: 1.2rem 0 1.5rem; padding: 0; list-style: none; }
.dad-gift-guide__idea-copy li { position: relative; padding-inline-start: 1.6rem; line-height: 1.55; }
.dad-gift-guide__idea-copy li::before { position: absolute; inset: 0.58em auto auto 0; width: 10px; height: 10px; border: 2px solid var(--dad-ink); background: var(--dad-gold); content: ""; transform: rotate(12deg); }
.dad-gift-guide__idea--featured { grid-template-columns: 82px minmax(0, 1fr) minmax(240px, 0.58fr); align-items: center; margin-block-start: 0; }
.dad-gift-guide__idea--featured figure { margin: 0; padding: 0.8rem 0.8rem 2.8rem; border: 2px solid var(--dad-ink); background: #fff; box-shadow: 8px 8px 0 var(--dad-gold); transform: rotate(2deg); }
.dad-gift-guide__idea--featured figure picture { display: block; }
.dad-gift-guide__idea--featured figure img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.dad-gift-guide__idea--featured figcaption { margin: 0.7rem 0 0; font-family: "Courier New", ui-monospace, monospace; font-size: 0.75rem; font-weight: 700; text-align: center; text-transform: uppercase; }
.dad-gift-guide__idea--with-image { grid-template-columns: 82px minmax(0, 1fr) minmax(260px, 0.48fr); align-items: center; }
.dad-gift-guide__idea--image-left { grid-template-columns: 82px minmax(260px, 0.48fr) minmax(0, 1fr); }
.dad-gift-guide__supporting-photo { margin: 0; padding: 0.65rem 0.65rem 2.35rem; border: 2px solid var(--dad-ink); background: #fff; box-shadow: 7px 7px 0 var(--dad-teal); transform: rotate(1deg); }
.dad-gift-guide__idea--image-left .dad-gift-guide__supporting-photo { grid-column: 2; grid-row: 1; box-shadow: 7px 7px 0 var(--dad-red); transform: rotate(-1deg); }
.dad-gift-guide__idea--image-left .dad-gift-guide__idea-copy { grid-column: 3; }
.dad-gift-guide__supporting-photo picture { display: block; }
.dad-gift-guide__supporting-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.dad-gift-guide__supporting-photo figcaption { margin: 0.65rem 0 0; font-family: "Courier New", ui-monospace, monospace; font-size: 0.72rem; font-weight: 700; line-height: 1.35; text-align: center; text-transform: uppercase; }
.public-shell .dad-gift-guide__cta { display: inline-flex; min-height: 54px; margin-block-start: 0.65rem; padding: 0.85rem 1.35rem; border: 2px solid var(--dad-ink); border-radius: 4px; background: var(--dad-pink); box-shadow: 5px 5px 0 var(--dad-ink); color: #fff; font-weight: 800; text-decoration: none; transform: rotate(-0.5deg); transition: transform 120ms ease, box-shadow 120ms ease; }
.public-shell .dad-gift-guide__cta:hover { color: #fff; transform: translate(2px, 2px) rotate(-0.5deg); box-shadow: 3px 3px 0 var(--dad-ink); }
.dad-gift-guide__pullquote { position: relative; max-width: 880px; margin: clamp(4rem, 8vw, 7rem) auto 0; padding: clamp(2rem, 5vw, 4rem); border: 3px solid var(--dad-ink); background: var(--dad-gold); box-shadow: 10px 10px 0 var(--dad-red); transform: rotate(-1deg); }
.dad-gift-guide__pullquote p { max-width: 18ch; margin: 0 auto; font-family: "brushberry-script", "Dancing Script", cursive; font-size: clamp(2.3rem, 5vw, 4.5rem); font-weight: 500; line-height: 1.02; text-align: center; }

.dad-gift-guide__budget { padding: clamp(4rem, 7vw, 6.5rem) 0; border-block: 4px solid var(--dad-ink); background: var(--dad-gold); }
.dad-gift-guide__budget-grid { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); }
.dad-gift-guide__budget p { line-height: 1.7; }
.dad-gift-guide__budget ul { margin: 0 0 1.5rem; padding: 0; list-style: none; }
.dad-gift-guide__budget li { padding: 0.85rem 0; border-block-end: 2px solid rgba(41, 43, 74, 0.45); font-weight: 700; line-height: 1.45; }
.dad-gift-guide__budget li::before { margin-inline-end: 0.65rem; content: "✓"; }

.dad-gift-guide__choosing { padding: clamp(4.5rem, 9vw, 8rem) 0; background: var(--dad-paper); text-align: center; }
.dad-gift-guide__choosing .dad-gift-guide__inner { display: grid; justify-items: center; }
.dad-gift-guide__choosing p { max-width: 720px; margin: 0 0 1rem; line-height: 1.75; }
.dad-gift-guide__handwritten { padding: 0.4rem 1rem; color: var(--dad-pink); font-family: "brushberry-script", "Dancing Script", cursive; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1 !important; transform: rotate(-1deg); }

.dad-gift-guide__faq { padding: clamp(4rem, 7vw, 6.5rem) 0; background: var(--dad-paper-light); }
.dad-gift-guide__faq-grid { display: grid; grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1fr); align-items: start; gap: clamp(2rem, 6vw, 5rem); }
.dad-gift-guide__faq-grid > div { display: grid; gap: 0.8rem; }
.dad-gift-guide__faq details { border: 2px solid var(--dad-ink); background: #fff; box-shadow: 4px 4px 0 var(--dad-teal); }
.dad-gift-guide__faq summary { position: relative; padding: 1.1rem 3rem 1.1rem 1.2rem; cursor: pointer; font-weight: 800; line-height: 1.4; list-style: none; }
.dad-gift-guide__faq summary::-webkit-details-marker { display: none; }
.dad-gift-guide__faq summary::after { position: absolute; inset: 50% 1rem auto auto; color: var(--dad-pink); content: "+"; font-family: "Courier New", ui-monospace, monospace; font-size: 1.5rem; transform: translateY(-50%); }
.dad-gift-guide__faq details[open] summary::after { content: "−"; }
.dad-gift-guide__faq details p { margin: 0; padding: 0 1.2rem 1.2rem; line-height: 1.7; }

.dad-gift-guide__final { padding: clamp(4.5rem, 9vw, 8rem) 0; border-block-start: 12px solid var(--dad-teal); background: var(--dad-ink); color: #fff; text-align: center; }
.dad-gift-guide__final .dad-gift-guide__inner { display: grid; justify-items: center; }
.dad-gift-guide__final .dad-gift-guide__kicker { color: var(--dad-gold); }
.dad-gift-guide__final h2 { max-width: 16ch; margin: 0 0 1.4rem; color: #fff; font-size: clamp(2.5rem, 6vw, 5.5rem); font-weight: 800; line-height: 0.98; }
.dad-gift-guide__final h2 span { display: block; color: #ff8aaf; font-family: "brushberry-script", "Dancing Script", cursive; font-size: 0.95em; font-weight: 500; letter-spacing: 0; }
.dad-gift-guide__final > .dad-gift-guide__inner > p:not(.dad-gift-guide__kicker) { max-width: 650px; margin: 0 0 0.9rem; color: rgba(255,255,255,0.86); line-height: 1.7; }
.dad-gift-guide__final small { margin-block-start: 2rem; color: rgba(255,255,255,0.66); font-family: "Courier New", ui-monospace, monospace; font-size: 0.74rem; }

@media (max-width: 900px) {
  .dad-gift-guide__hero-grid,
  .dad-gift-guide__budget-grid,
  .dad-gift-guide__faq-grid { grid-template-columns: 1fr; }
  .dad-gift-guide__hero-art { width: min(100%, 520px); margin-inline: auto; }
  .dad-gift-guide__idea--featured,
  .dad-gift-guide__idea--with-image { grid-template-columns: 80px minmax(0, 1fr); }
  .dad-gift-guide__idea--featured figure { grid-column: 2; width: min(100%, 440px); }
  .dad-gift-guide__idea--with-image .dad-gift-guide__supporting-photo,
  .dad-gift-guide__idea--image-left .dad-gift-guide__supporting-photo { grid-column: 2; grid-row: auto; width: min(100%, 520px); }
  .dad-gift-guide__idea--image-left .dad-gift-guide__idea-copy { grid-column: 2; }
}

@media (max-width: 640px) {
  .dad-gift-guide__inner { width: min(100% - 36px, 1120px); }
  .dad-gift-guide__hero { padding-block-start: 3rem; }
  .dad-gift-guide__hero h1 { font-size: clamp(2.8rem, 15vw, 4.2rem); }
  .dad-gift-guide__decoder dl { grid-template-columns: 1fr; }
  .dad-gift-guide__idea,
  .dad-gift-guide__idea--featured,
  .dad-gift-guide__idea--with-image { grid-template-columns: 1fr; gap: 1rem; }
  .dad-gift-guide__number { font-size: 2rem; }
  .dad-gift-guide__idea--featured figure { grid-column: 1; }
  .dad-gift-guide__idea--with-image .dad-gift-guide__supporting-photo,
  .dad-gift-guide__idea--image-left .dad-gift-guide__supporting-photo,
  .dad-gift-guide__idea--image-left .dad-gift-guide__idea-copy { grid-column: 1; }
  .public-shell .dad-gift-guide__cta { width: 100%; justify-content: center; }
  .dad-gift-guide__pullquote { margin-inline: 0.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .public-shell .dad-gift-guide__cta { transition: none; }
}
