.tww-about-hero { align-items: stretch; background: #fff; display: grid; gap: 0; grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr); left: 50%; margin-inline: 0; max-width: 100vw !important; position: relative; transform: translateX(-50%); width: 100vw; }
.tww-about-hero__copy { align-self: center; max-width: 42rem; padding: clamp(2rem, 6vw, 6rem) clamp(1.25rem, 5vw, 5rem); }
.tww-about-hero__art { border-block: 1px solid var(--tww-color-brass); box-shadow: 0 1rem 3rem rgb(11 19 43 / 35%); min-height: clamp(28rem, 58vw, 46rem); overflow: hidden; position: relative; }
.tww-about-hero__art img { animation:tww-merlin-cast 9s ease-in-out infinite; display:block; height:100%; object-fit:cover; object-position:right center; width:100%; }
.tww-about-hero__art::after { background: radial-gradient(circle, rgb(242 169 59 / 22%), transparent 62%); content:""; inset:35% 8% 12% 35%; opacity:.35; pointer-events:none; position:absolute; transition:opacity .4s ease; }
.tww-about-hero.is-reading .tww-about-hero__art::after { animation:tww-spellbook-glow 1.8s ease-in-out infinite; opacity:.9; }
.tww-about-hero__narrate { background:var(--tww-color-amber); border:2px solid var(--tww-color-brass); border-radius:var(--tww-radius-control); color:var(--tww-color-ink); cursor:pointer; font-family:var(--tww-font-body); font-weight:var(--tww-font-weight-semibold); margin-block-start:1.5rem; min-block-size:var(--tww-target-min); padding:.7rem 1rem; }
.tww-about-hero__narrate:hover,.tww-about-hero__narrate:focus-visible { box-shadow:0 0 0 2px rgb(169 223 245 / 20%),0 0 1rem rgb(169 223 245 / 28%); }
@keyframes tww-spellbook-glow { 0%,100% { filter:brightness(1); transform:scale(1); } 50% { filter:brightness(1.12); transform:scale(1.012); } }
@keyframes tww-merlin-cast { 0%,100% { filter:brightness(1); transform:scale(1); } 50% { filter:brightness(1.08); transform:scale(1.022) translate3d(-0.35%, -0.2%, 0); } }\n@keyframes tww-merlin-breathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.018) translate3d(-0.35%, -0.2%, 0); } }\n.tww-about-hero.is-reading .tww-about-hero__art img { animation:tww-merlin-breathe 5s ease-in-out infinite; }\n@media (prefers-reduced-motion: reduce) { .tww-about-hero__art img { animation:none; } .tww-about-hero.is-reading .tww-about-hero__art::after { animation:none; } }\n@media (max-width:48rem) { .tww-about-hero { grid-template-columns:1fr; } .tww-about-hero__copy { padding:2rem 1.25rem; } .tww-about-hero__art { min-height:24rem; order:-1; } }
/* Escape the parent content-width constraint so the About scene is truly full-bleed. */
.tww-about-hero { max-width: 100vw !important; }
.tww-about-hero__copy { min-width: 0; overflow-wrap: break-word; }
.tww-about-hero__copy p,
.tww-about-hero__copy h2 { max-width: 42rem; }
/* Keep the scene aligned to its content box so no copy is pushed off-screen. */
.tww-about-hero { left: auto; margin-inline: 0; transform: none; width: 100%; }
/* Final render correction: use the article width and a wide art frame. */
.page-id-20 .entry-content { margin-inline: 0; max-width: none; width: 100%; }
.tww-about-hero { grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr); }
.tww-about-hero__art { align-self: start; min-height: 0; aspect-ratio: 16 / 9; }
.tww-about-hero__art img { aspect-ratio: 16 / 9; height: 100%; object-fit: cover; object-position: right center; }
@media (max-width: 48rem) { .tww-about-hero { grid-template-columns: 1fr; } .tww-about-hero__art { aspect-ratio: 16 / 9; min-height: 0; } }
/* Give the About scene the full site canvas; the generic sidebar is not used here. */
.page-id-20 .site-content { max-width: none; }
.page-id-20 .content-area { width: 100%; }
.page-id-20 .widget-area { display: none; }
.page-id-21 .tww-about-hero__copy { background: #fff; }
/* Give Request a Spell its larger welcoming workshop scene on desktop. */
.page-id-168 .tww-about-hero { grid-template-columns: minmax(0, 0.54fr) minmax(0, 0.46fr); }
/* Give Request a Spell the same wide white canvas as the other full-width pages. */
.page-id-168 .entry-content { margin-inline: 0; max-width: none; width: 100%; }
.page-id-168 .site-content { max-width: none; }
.page-id-168 .content-area { width: 100%; }
.page-id-168 .widget-area { display: none; }
@media (max-width: 48rem) { .page-id-168 .tww-about-hero { grid-template-columns: 1fr; } }
/* Extend the tested full-canvas scene to Contact as well. */
.page-id-20 .entry-content,
.page-id-21 .entry-content { margin-inline: 0; max-width: none; width: 100%; }
.page-id-20 .site-content,
.page-id-21 .site-content { max-width: none; }
.page-id-20 .content-area,
.page-id-21 .content-area { width: 100%; }
.page-id-20 .widget-area,
.page-id-21 .widget-area { display: none; }
/* Match the five category portals to the same wide canvas. */
.page-id-90 .entry-content,
.page-id-91 .entry-content,
.page-id-92 .entry-content,
.page-id-93 .entry-content,
.page-id-94 .entry-content { margin-inline: 0; max-width: none; width: 100%; }
.page-id-90 .site-content,
.page-id-91 .site-content,
.page-id-92 .site-content,
.page-id-93 .site-content,
.page-id-94 .site-content { max-width: none; }
.page-id-90 .content-area,
.page-id-91 .content-area,
.page-id-92 .content-area,
.page-id-93 .content-area,
.page-id-94 .content-area { width: 100%; }
.page-id-90 .widget-area,
.page-id-91 .widget-area,
.page-id-92 .widget-area,
.page-id-93 .widget-area,
.page-id-94 .widget-area { display: none; }
/* Compact the portal cards while preserving readable text and controls. */
.page-id-90 .entry-content,
.page-id-91 .entry-content,
.page-id-92 .entry-content,
.page-id-93 .entry-content,
.page-id-94 .entry-content { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.page-id-90 .entry-content > h2,
.page-id-91 .entry-content > h2,
.page-id-92 .entry-content > h2,
.page-id-93 .entry-content > h2,
.page-id-94 .entry-content > h2,
.page-id-90 .entry-content > p,
.page-id-91 .entry-content > p,
.page-id-92 .entry-content > p,
.page-id-93 .entry-content > p,
.page-id-94 .entry-content > p { grid-column: 1 / -1; }
.page-id-90 .tww-portal-product,
.page-id-91 .tww-portal-product,
.page-id-92 .tww-portal-product,
.page-id-93 .tww-portal-product,
.page-id-94 .tww-portal-product { width: 100%; max-width: none !important; margin: 0 !important; padding: .85rem !important; box-sizing: border-box; }
@media (max-width: 60rem) {
  .page-id-90 .entry-content,
  .page-id-91 .entry-content,
  .page-id-92 .entry-content,
  .page-id-93 .entry-content,
  .page-id-94 .entry-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .page-id-90 .entry-content,
  .page-id-91 .entry-content,
  .page-id-92 .entry-content,
  .page-id-93 .entry-content,
  .page-id-94 .entry-content { grid-template-columns: 1fr; }
}
/* Portal-specific wizard scene banners. */
.page-id-90 .tww-portal-scene,
.page-id-91 .tww-portal-scene,
.page-id-92 .tww-portal-scene,
.page-id-93 .tww-portal-scene,
.page-id-94 .tww-portal-scene { grid-column: 1 / -1; margin: 0 0 1rem; border: 1px solid #b88a3b; border-radius: 14px; overflow: hidden; background: #101a32; }
.page-id-90 .tww-portal-scene img,
.page-id-91 .tww-portal-scene img,
.page-id-92 .tww-portal-scene img,
.page-id-93 .tww-portal-scene img,
.page-id-94 .tww-portal-scene img { display: block; width: 100%; aspect-ratio: 21 / 7; object-fit: cover; object-position: center; }

/* Compact message form beneath the Contact-page wizard image. */
.page-id-21 .tww-about-hero__art { align-self: start; aspect-ratio: auto; overflow: visible; }
.page-id-21 .tww-about-hero__art > img { aspect-ratio: 16 / 9; display: block; height: auto; object-fit: cover; width: 100%; }
.tww-contact-form { background: #fff; border-top: 1px solid var(--tww-color-brass); box-shadow: 0 1rem 3rem rgb(11 19 43 / 18%); display: grid; gap: .7rem; padding: clamp(1rem, 2vw, 1.5rem); }
.tww-contact-form h3 { color: var(--tww-color-ink); font-family: var(--tww-font-display); font-size: clamp(1.35rem, 2vw, 1.8rem); margin: 0; }
.tww-contact-form__intro { font-size: .95rem; margin: 0 0 .25rem; }
.tww-contact-form label { color: var(--tww-color-ink); display: grid; font-weight: 600; gap: .3rem; }
.tww-contact-form input, .tww-contact-form textarea { border: 1px solid #b8a47c; border-radius: .35rem; box-sizing: border-box; font: inherit; padding: .6rem .7rem; width: 100%; }
.tww-contact-form textarea { min-height: 6rem; resize: vertical; }
.tww-contact-form button { background: var(--tww-color-ink); border: 2px solid var(--tww-color-brass); border-radius: var(--tww-radius-control); color: #fff; cursor: pointer; font-weight: 700; min-height: var(--tww-target-min); padding: .65rem 1rem; }
.tww-contact-form button:hover, .tww-contact-form button:focus-visible { background: #26385d; }



/* Give Request a Spell its own wizard-workshop form treatment. */
.page-id-168 .wpcf7 { background: linear-gradient(145deg, #fffdf6 0%, #f4ead2 100%); border: 1px solid #b88a3b; border-radius: 16px; box-shadow: 0 1.25rem 2.5rem rgb(11 19 43 / 18%), inset 0 0 0 5px rgb(255 255 255 / 55%); color: var(--tww-color-ink); padding: clamp(1.25rem, 3vw, 2.25rem); position: relative; }
.page-id-168 .wpcf7::before, .page-id-168 .wpcf7::after { border: 1px solid rgb(184 138 59 / 55%); border-radius: 50%; content: "✦"; color: #b88a3b; font-family: var(--tww-font-display); font-size: 1.1rem; line-height: 1; padding: .18rem .3rem; position: absolute; top: .75rem; }
.page-id-168 .wpcf7::before { left: .85rem; }
.page-id-168 .wpcf7::after { right: .85rem; }
.page-id-168 .wpcf7 form { display: grid; gap: 1rem; }
.page-id-168 .wpcf7 form > p { margin: 0; }
.page-id-168 .wpcf7 label { color: var(--tww-color-ink); display: grid; font-family: var(--tww-font-display); font-weight: 600; gap: .4rem; letter-spacing: .01em; }
.page-id-168 .wpcf7 input[type="text"], .page-id-168 .wpcf7 input[type="email"], .page-id-168 .wpcf7 input[type="tel"], .page-id-168 .wpcf7 textarea { background: #fff; border: 1px solid #b8a47c; border-radius: 8px; box-shadow: inset 0 1px 2px rgb(11 19 43 / 8%); box-sizing: border-box; color: var(--tww-color-ink); font: inherit; padding: .75rem .85rem; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; width: 100%; }
.page-id-168 .wpcf7 textarea { min-height: 10rem; resize: vertical; }
.page-id-168 .wpcf7 input[type="text"]:focus, .page-id-168 .wpcf7 input[type="email"]:focus, .page-id-168 .wpcf7 input[type="tel"]:focus, .page-id-168 .wpcf7 textarea:focus { background: #fffdf6; border-color: #8e6423; box-shadow: 0 0 0 3px rgb(184 138 59 / 26%), inset 0 1px 2px rgb(11 19 43 / 8%); outline: 0; }
.page-id-168 .wpcf7 input[type="submit"] { background: var(--tww-color-ink); border: 2px solid var(--tww-color-brass); border-radius: var(--tww-radius-control); box-shadow: 0 .35rem .75rem rgb(11 19 43 / 18%); color: #fff; cursor: pointer; font-family: var(--tww-font-display); font-weight: 700; letter-spacing: .02em; min-height: var(--tww-target-min); padding: .75rem 1.25rem; transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.page-id-168 .wpcf7 input[type="submit"]:hover, .page-id-168 .wpcf7 input[type="submit"]:focus-visible { background: #26385d; box-shadow: 0 .5rem 1rem rgb(11 19 43 / 24%); transform: translateY(-1px); }
.page-id-168 .wpcf7 input[type="submit"]:focus-visible { outline: 3px solid rgb(184 138 59 / 55%); outline-offset: 3px; }
.page-id-168 .wpcf7 .wpcf7-not-valid-tip { color: #8b2d24; font-family: var(--tww-font-body); font-size: .9rem; }
.page-id-168 .wpcf7 .wpcf7-response-output { border-color: #b88a3b; margin: .5rem 0 0; }
@media (max-width: 48rem) { .page-id-168 .wpcf7 { border-radius: 12px; padding: 1.25rem 1rem; } .page-id-168 .wpcf7::before, .page-id-168 .wpcf7::after { display: none; } }
/* Keep the Request a Spell inspiration canvas flowing above its mobile form. */
@media (max-width: 48rem) {
  .page-id-168 .tww-about-hero__art { aspect-ratio: auto; height: auto; overflow: visible; }
  .page-id-168 .tww-about-hero__copy { min-width: 0; }
}
/* request-spell-mobile-canvas-fix */
/* Request a Spell mobile stability fix: stack the inline inspiration columns. */
@media (max-width: 48rem) {
  .page-id-168 .tww-spell-ideas {
    grid-template-columns: 1fr !important;
  }

  .page-id-168 .tww-spell-ideas > div {
    min-width: 0;
  }
}
/* Align all five showcase card actions without changing content or responsive layout. */
.page-id-90 .tww-portal-product,
.page-id-91 .tww-portal-product,
.page-id-92 .tww-portal-product,
.page-id-93 .tww-portal-product,
.page-id-94 .tww-portal-product { align-self: stretch; display: flex; flex-direction: column; }
.page-id-90 .tww-portal-product > p:last-child,
.page-id-91 .tww-portal-product > p:last-child,
.page-id-92 .tww-portal-product > p:last-child,
.page-id-93 .tww-portal-product > p:last-child,
.page-id-94 .tww-portal-product > p:last-child { margin-top: auto; }
